From ebf5ff7b20ba9beddc28147522946b0528cfe268 Mon Sep 17 00:00:00 2001 From: linning Date: Sat, 9 Mar 2024 04:03:19 +0800 Subject: [PATCH] Update and apply pallet-domains benchmarking result Signed-off-by: linning --- crates/pallet-domains/src/lib.rs | 181 +++- crates/pallet-domains/src/weights.rs | 1238 +++++++++++++++++--------- 2 files changed, 948 insertions(+), 471 deletions(-) diff --git a/crates/pallet-domains/src/lib.rs b/crates/pallet-domains/src/lib.rs index 3992777d6e..f7ff7bc19e 100644 --- a/crates/pallet-domains/src/lib.rs +++ b/crates/pallet-domains/src/lib.rs @@ -36,6 +36,8 @@ extern crate alloc; use crate::block_tree::verify_execution_receipt; use crate::staking::OperatorStatus; +use crate::staking_epoch::EpochTransitionResult; +use crate::weights::WeightInfo; #[cfg(not(feature = "std"))] use alloc::boxed::Box; use alloc::collections::btree_map::BTreeMap; @@ -46,6 +48,7 @@ use frame_support::ensure; use frame_support::pallet_prelude::StorageVersion; use frame_support::traits::fungible::{Inspect, InspectHold}; use frame_support::traits::{Get, Randomness as RandomnessT}; +use frame_support::weights::Weight; use frame_system::offchain::SubmitTransaction; use frame_system::pallet_prelude::*; pub use pallet::*; @@ -129,15 +132,22 @@ pub type BlockTreeNodeFor = crate::block_tree::BlockTreeNode< /// The current storage version. const STORAGE_VERSION: StorageVersion = StorageVersion::new(0); +/// The number of bundle of a particular domain to be included in the block is probabilistic +/// and based on the consensus chain slot probability and domain bundle slot probability, usually +/// the value is 6 on average, smaller/bigger value with less probability, we hypocritically use +/// 100 as the maximum number of bundle per block for benchmarking. +const MAX_BUNLDE_PER_BLOCK: u32 = 100; + #[frame_support::pallet] mod pallet { #![allow(clippy::large_enum_variant)] use crate::block_tree::{ - execution_receipt_type, process_execution_receipt, prune_receipt, AcceptedReceiptType, - Error as BlockTreeError, ReceiptType, + execution_receipt_type, process_execution_receipt, Error as BlockTreeError, ReceiptType, }; #[cfg(not(feature = "runtime-benchmarks"))] + use crate::block_tree::{prune_receipt, AcceptedReceiptType}; + #[cfg(not(feature = "runtime-benchmarks"))] use crate::bundle_storage_fund::refund_storage_fee; use crate::bundle_storage_fund::{charge_bundle_storage_fee, Error as BundleStorageFundError}; use crate::domain_registry::{ @@ -158,9 +168,11 @@ mod pallet { }; use crate::staking_epoch::{do_finalize_domain_current_epoch, Error as StakingEpochError}; use crate::weights::WeightInfo; + #[cfg(not(feature = "runtime-benchmarks"))] + use crate::DomainHashingFor; use crate::{ - BalanceOf, BlockSlot, BlockTreeNodeFor, DomainBlockNumberFor, DomainHashingFor, - ElectionVerificationParams, HoldIdentifier, NominatorId, OpaqueBundleOf, ReceiptHashFor, + BalanceOf, BlockSlot, BlockTreeNodeFor, DomainBlockNumberFor, ElectionVerificationParams, + HoldIdentifier, NominatorId, OpaqueBundleOf, ReceiptHashFor, MAX_BUNLDE_PER_BLOCK, STORAGE_VERSION, }; #[cfg(not(feature = "std"))] @@ -858,7 +870,7 @@ mod pallet { #[pallet::call] impl Pallet { #[pallet::call_index(0)] - #[pallet::weight(T::WeightInfo::submit_bundle().saturating_add(T::WeightInfo::pending_staking_operation()))] + #[pallet::weight(Pallet::::max_submit_bundle_weight())] pub fn submit_bundle( origin: OriginFor, opaque_bundle: OpaqueBundleOf, @@ -874,12 +886,13 @@ mod pallet { let operator_id = opaque_bundle.operator_id(); let bundle_size = opaque_bundle.size(); let receipt = opaque_bundle.into_receipt(); + #[cfg_attr(feature = "runtime-benchmarks", allow(unused_variables))] let receipt_block_number = receipt.domain_block_number; #[cfg(not(feature = "runtime-benchmarks"))] - let mut epoch_transitted = false; + let mut actual_weight = T::WeightInfo::submit_bundle(); #[cfg(feature = "runtime-benchmarks")] - let epoch_transitted = false; + let actual_weight = T::WeightInfo::submit_bundle(); match execution_receipt_type::(domain_id, &receipt) { ReceiptType::Rejected(rejected_receipt_type) => { @@ -889,11 +902,20 @@ mod pallet { ReceiptType::Accepted(accepted_receipt_type) => { // Before adding the new head receipt to the block tree, try to prune any previous // bad ER at the same domain block and slash the submitter. + // + // NOTE: Skip the following staking related operations when benchmarking the + // `submit_bundle` call, these operations will be benchmarked separately. + #[cfg(not(feature = "runtime-benchmarks"))] if accepted_receipt_type == AcceptedReceiptType::NewHead { if let Some(block_tree_node) = prune_receipt::(domain_id, receipt_block_number) .map_err(Error::::from)? { + actual_weight = + actual_weight.saturating_add(T::WeightInfo::handle_bad_receipt( + block_tree_node.operator_ids.len() as u32, + )); + let bad_receipt_hash = block_tree_node .execution_receipt .hash::>(); @@ -919,11 +941,14 @@ mod pallet { // // NOTE: Skip the following staking related operations when benchmarking the // `submit_bundle` call, these operations will be benchmarked separately. - // TODO: in order to get a more accurate actual weight, separately benchmark: - // - `do_reward_operators`,`do_slash_operators`,`do_unlock_pending_withdrawals` - // - `do_finalize_domain_current_epoch` #[cfg(not(feature = "runtime-benchmarks"))] if let Some(confirmed_block_info) = maybe_confirmed_domain_block_info { + actual_weight = + actual_weight.saturating_add(T::WeightInfo::confirm_domain_block( + confirmed_block_info.operator_ids.len() as u32, + confirmed_block_info.invalid_bundle_authors.len() as u32, + )); + refund_storage_fee::( confirmed_block_info.total_storage_fee, confirmed_block_info.paid_bundle_storage_fees, @@ -954,7 +979,10 @@ mod pallet { domain_id, completed_epoch_index: epoch_transition_res.completed_epoch_index, }); - epoch_transitted = true; + + actual_weight = actual_weight.saturating_add( + Self::actual_epoch_transition_weight(epoch_transition_res), + ); } } } @@ -992,28 +1020,27 @@ mod pallet { bundle_author: operator_id, }); - let actual_weight = if !epoch_transitted { - Some(T::WeightInfo::submit_bundle()) - } else { - Some( - T::WeightInfo::submit_bundle() - .saturating_add(T::WeightInfo::pending_staking_operation()), - ) - }; - Ok(actual_weight.into()) + // Ensure the returned weight not exceed the maximum weight in the `pallet::weight` + Ok(Some(actual_weight.min(Self::max_submit_bundle_weight())).into()) } #[pallet::call_index(1)] - // TODO: proper weight - #[pallet::weight((Weight::from_all(10_000), DispatchClass::Operational, Pays::No))] + #[pallet::weight(( + T::WeightInfo::submit_fraud_proof().saturating_add( + T::WeightInfo::handle_bad_receipt(MAX_BUNLDE_PER_BLOCK) + ), + DispatchClass::Operational, + Pays::No + ))] pub fn submit_fraud_proof( origin: OriginFor, fraud_proof: Box, T::Hash, T::DomainHeader>>, - ) -> DispatchResult { + ) -> DispatchResultWithPostInfo { ensure_none(origin)?; log::trace!(target: "runtime::domains", "Processing fraud proof: {fraud_proof:?}"); let domain_id = fraud_proof.domain_id(); + let mut actual_weight = T::WeightInfo::submit_fraud_proof(); if let Some(bad_receipt_hash) = fraud_proof.targeted_bad_receipt_hash() { let head_receipt_number = HeadReceiptNumber::::get(domain_id); @@ -1032,14 +1059,26 @@ mod pallet { // Prune the bad ER and slash the submitter, the descendants of the bad ER (i.e. all ERs in // `[bad_receipt_number + 1..head_receipt_number]` ) and the corresponding submitter will be // pruned/slashed lazily as the domain progressed. - let block_tree_node = prune_receipt::(domain_id, bad_receipt_number) - .map_err(Error::::from)? - .ok_or::>(FraudProofError::BadReceiptNotFound.into())?; - do_slash_operators::( - block_tree_node.operator_ids.into_iter(), - SlashedReason::BadExecutionReceipt(bad_receipt_hash), - ) - .map_err(Error::::from)?; + // + // NOTE: Skip the following staking related operations when benchmarking the + // `submit_fraud_proof` call, these operations will be benchmarked separately. + #[cfg(not(feature = "runtime-benchmarks"))] + { + let block_tree_node = prune_receipt::(domain_id, bad_receipt_number) + .map_err(Error::::from)? + .ok_or::>(FraudProofError::BadReceiptNotFound.into())?; + + actual_weight = + actual_weight.saturating_add(T::WeightInfo::handle_bad_receipt( + (block_tree_node.operator_ids.len() as u32).min(MAX_BUNLDE_PER_BLOCK), + )); + + do_slash_operators::( + block_tree_node.operator_ids.into_iter(), + SlashedReason::BadExecutionReceipt(bad_receipt_hash), + ) + .map_err(Error::::from)?; + } // Update the head receipt number to `bad_receipt_number - 1` let new_head_receipt_number = bad_receipt_number.saturating_sub(One::one()); @@ -1062,11 +1101,13 @@ mod pallet { SlashedReason::BundleEquivocation(slot), ) .map_err(Error::::from)?; + + actual_weight = actual_weight.saturating_add(T::WeightInfo::handle_bad_receipt(1)); } SuccessfulFraudProofs::::append(domain_id, fraud_proof.hash()); - Ok(()) + Ok(Some(actual_weight).into()) } #[pallet::call_index(2)] @@ -1227,7 +1268,7 @@ mod pallet { /// Even if rest of the withdrawals are out of unlocking period, nominator /// should call this extrinsic to unlock each withdrawal #[pallet::call_index(10)] - #[pallet::weight(Weight::from_all(10_000))] + #[pallet::weight(T::WeightInfo::unlock_funds())] pub fn unlock_funds(origin: OriginFor, operator_id: OperatorId) -> DispatchResult { let nominator_id = ensure_signed(origin)?; let unlocked_funds = do_unlock_funds::(operator_id, nominator_id.clone()) @@ -1243,12 +1284,22 @@ mod pallet { /// Unlocks the operator given the unlocking period is complete. /// Anyone can initiate the operator unlock. #[pallet::call_index(11)] - #[pallet::weight(Weight::from_all(10_000))] - pub fn unlock_operator(origin: OriginFor, operator_id: OperatorId) -> DispatchResult { + #[pallet::weight(T::WeightInfo::unlock_operator(T::MaxNominators::get()))] + pub fn unlock_operator( + origin: OriginFor, + operator_id: OperatorId, + ) -> DispatchResultWithPostInfo { ensure_signed(origin)?; - do_unlock_operator::(operator_id).map_err(crate::pallet::Error::::from)?; + + let nominator_count = + do_unlock_operator::(operator_id).map_err(crate::pallet::Error::::from)?; + Self::deposit_event(Event::OperatorUnlocked { operator_id }); - Ok(()) + + Ok(Some(T::WeightInfo::unlock_operator( + (nominator_count as u32).min(T::MaxNominators::get()), + )) + .into()) } /// Extrinsic to update domain's operator allow list. @@ -1259,7 +1310,7 @@ mod pallet { /// allow list is set to specific operators, then all the registered not allowed operators /// will continue to operate until they de-register themselves. #[pallet::call_index(12)] - #[pallet::weight(Weight::from_all(10_000))] + #[pallet::weight(T::WeightInfo::update_domain_operator_allow_list())] pub fn update_domain_operator_allow_list( origin: OriginFor, domain_id: DomainId, @@ -1274,11 +1325,11 @@ mod pallet { /// Force staking epoch transition for a given domain #[pallet::call_index(13)] - #[pallet::weight(T::WeightInfo::pending_staking_operation())] + #[pallet::weight(Pallet::::max_staking_epoch_transition())] pub fn force_staking_epoch_transition( origin: OriginFor, domain_id: DomainId, - ) -> DispatchResult { + ) -> DispatchResultWithPostInfo { ensure_root(origin)?; let epoch_transition_res = @@ -1288,7 +1339,12 @@ mod pallet { domain_id, completed_epoch_index: epoch_transition_res.completed_epoch_index, }); - Ok(()) + + // Ensure the returned weight not exceed the maximum weight in the `pallet::weight` + let actual_weight = Self::actual_epoch_transition_weight(epoch_transition_res) + .min(Self::max_staking_epoch_transition()); + + Ok(Some(actual_weight).into()) } } @@ -2082,6 +2138,49 @@ impl Pallet { // a fraud proof head_receipt_number < latest_submitted_er } + + pub fn max_submit_bundle_weight() -> Weight { + T::WeightInfo::submit_bundle() + .saturating_add( + // NOTE: within `submit_bundle`, only one of (or none) `handle_bad_receipt` and + // `confirm_domain_block` can happen, thus we use the `max` of them + T::WeightInfo::handle_bad_receipt(T::MaxNominators::get()).max( + T::WeightInfo::confirm_domain_block(MAX_BUNLDE_PER_BLOCK, MAX_BUNLDE_PER_BLOCK), + ), + ) + .saturating_add(Self::max_staking_epoch_transition()) + } + + pub fn max_staking_epoch_transition() -> Weight { + T::WeightInfo::operator_reward_tax_and_restake(MAX_BUNLDE_PER_BLOCK) + .saturating_add(T::WeightInfo::finalize_slashed_operators( + // FIXME: the actual value should be `N * T::MaxNominators` where `N` is the number of + // submitter of the bad ER, which is probabilistically bounded by `bundle_slot_probability` + // we use `N = 1` here because `finalize_slashed_operators` is expensive and can consume + // more weight than the max block weight + T::MaxNominators::get(), + )) + .saturating_add(T::WeightInfo::finalize_domain_epoch_staking( + T::MaxPendingStakingOperation::get(), + )) + } + + fn actual_epoch_transition_weight(epoch_transition_res: EpochTransitionResult) -> Weight { + let EpochTransitionResult { + rewarded_operator_count, + slashed_nominator_count, + finalized_operator_count, + .. + } = epoch_transition_res; + + T::WeightInfo::operator_reward_tax_and_restake(rewarded_operator_count) + .saturating_add(T::WeightInfo::finalize_slashed_operators( + slashed_nominator_count, + )) + .saturating_add(T::WeightInfo::finalize_domain_epoch_staking( + finalized_operator_count, + )) + } } impl Pallet diff --git a/crates/pallet-domains/src/weights.rs b/crates/pallet-domains/src/weights.rs index bcb8288a40..fb1ada99af 100644 --- a/crates/pallet-domains/src/weights.rs +++ b/crates/pallet-domains/src/weights.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for pallet_domains //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-08-10, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-03-08, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `MacBook-Pro.local`, CPU: `` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 @@ -32,509 +32,887 @@ use core::marker::PhantomData; /// Weight functions needed for pallet_domains. pub trait WeightInfo { fn submit_bundle() -> Weight; - fn pending_staking_operation() -> Weight; + fn submit_fraud_proof() -> Weight; + fn handle_bad_receipt(n: u32, ) -> Weight; + fn confirm_domain_block(n: u32, s: u32, ) -> Weight; + fn operator_reward_tax_and_restake(n: u32, ) -> Weight; + fn finalize_slashed_operators(n: u32, ) -> Weight; + fn finalize_domain_epoch_staking(p: u32, ) -> Weight; fn register_domain_runtime() -> Weight; fn upgrade_domain_runtime() -> Weight; fn instantiate_domain() -> Weight; fn register_operator() -> Weight; fn nominate_operator() -> Weight; - fn switch_domain() -> Weight; fn deregister_operator() -> Weight; fn withdraw_stake() -> Weight; - fn auto_stake_block_rewards() -> Weight; + fn unlock_funds() -> Weight; + fn unlock_operator(n: u32, ) -> Weight; + fn update_domain_operator_allow_list() -> Weight; } /// Weights for pallet_domains using the Substrate node and recommended hardware. pub struct SubstrateWeight(PhantomData); impl WeightInfo for SubstrateWeight { - /// Storage: Domains HeadReceiptNumber (r:1 w:1) - /// Proof Skipped: Domains HeadReceiptNumber (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains BlockTree (r:2 w:2) - /// Proof Skipped: Domains BlockTree (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains DomainBlocks (r:1 w:2) - /// Proof Skipped: Domains DomainBlocks (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains ExecutionInbox (r:3 w:2) - /// Proof Skipped: Domains ExecutionInbox (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains SuccessfulBundles (r:1 w:1) - /// Proof Skipped: Domains SuccessfulBundles (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains HeadDomainNumber (r:1 w:1) - /// Proof Skipped: Domains HeadDomainNumber (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains DomainTxRangeState (r:1 w:1) - /// Proof Skipped: Domains DomainTxRangeState (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains InboxedBundle (r:0 w:2) - /// Proof Skipped: Domains InboxedBundle (max_values: None, max_size: None, mode: Measured) + /// Storage: `Domains::HeadReceiptNumber` (r:1 w:1) + /// Proof: `Domains::HeadReceiptNumber` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestConfirmedDomainBlock` (r:1 w:1) + /// Proof: `Domains::LatestConfirmedDomainBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::BlockTree` (r:2 w:2) + /// Proof: `Domains::BlockTree` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::BlockTreeNodes` (r:1 w:2) + /// Proof: `Domains::BlockTreeNodes` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestSubmittedER` (r:1 w:0) + /// Proof: `Domains::LatestSubmittedER` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::ExecutionInbox` (r:2 w:1) + /// Proof: `Domains::ExecutionInbox` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Transporter::DomainBalances` (r:1 w:1) + /// Proof: `Transporter::DomainBalances` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::SuccessfulBundles` (r:1 w:1) + /// Proof: `Domains::SuccessfulBundles` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::HeadDomainNumber` (r:1 w:1) + /// Proof: `Domains::HeadDomainNumber` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::InboxedBundleAuthor` (r:0 w:1) + /// Proof: `Domains::InboxedBundleAuthor` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::HeadReceiptExtended` (r:0 w:1) + /// Proof: `Domains::HeadReceiptExtended` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::ConsensusBlockHash` (r:0 w:1) + /// Proof: `Domains::ConsensusBlockHash` (`max_values`: None, `max_size`: None, mode: `Measured`) fn submit_bundle() -> Weight { // Proof Size summary in bytes: - // Measured: `3952` - // Estimated: `12367` - // Minimum execution time: 102_000_000 picoseconds. - Weight::from_parts(118_000_000, 12367) - .saturating_add(T::DbWeight::get().reads(10_u64)) - .saturating_add(T::DbWeight::get().writes(12_u64)) + // Measured: `1609` + // Estimated: `7549` + // Minimum execution time: 82_000_000 picoseconds. + Weight::from_parts(86_000_000, 7549) + .saturating_add(T::DbWeight::get().reads(11_u64)) + .saturating_add(T::DbWeight::get().writes(13_u64)) + } + /// Storage: `Domains::HeadReceiptNumber` (r:1 w:1) + /// Proof: `Domains::HeadReceiptNumber` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::BlockTreeNodes` (r:1 w:0) + /// Proof: `Domains::BlockTreeNodes` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::SuccessfulFraudProofs` (r:1 w:1) + /// Proof: `Domains::SuccessfulFraudProofs` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn submit_fraud_proof() -> Weight { + // Proof Size summary in bytes: + // Measured: `1000` + // Estimated: `4465` + // Minimum execution time: 25_000_000 picoseconds. + Weight::from_parts(29_000_000, 4465) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `Domains::BlockTree` (r:1 w:1) + /// Proof: `Domains::BlockTree` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::BlockTreeNodes` (r:1 w:1) + /// Proof: `Domains::BlockTreeNodes` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestSubmittedER` (r:100 w:0) + /// Proof: `Domains::LatestSubmittedER` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::Operators` (r:100 w:100) + /// Proof: `Domains::Operators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::PendingSlashes` (r:1 w:1) + /// Proof: `Domains::PendingSlashes` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::DomainStakingSummary` (r:1 w:1) + /// Proof: `Domains::DomainStakingSummary` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::PendingOperatorSwitches` (r:1 w:1) + /// Proof: `Domains::PendingOperatorSwitches` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `n` is `[1, 100]`. + fn handle_bad_receipt(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1062 + n * (208 ±0)` + // Estimated: `4527 + n * (2683 ±0)` + // Minimum execution time: 36_000_000 picoseconds. + Weight::from_parts(37_000_000, 4527) + // Standard Error: 69_114 + .saturating_add(Weight::from_parts(18_092_085, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(5_u64)) + .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(n.into()))) + .saturating_add(T::DbWeight::get().writes(5_u64)) + .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into()))) + .saturating_add(Weight::from_parts(0, 2683).saturating_mul(n.into())) } - /// Storage: Domains DomainStakingSummary (r:1 w:1) - /// Proof Skipped: Domains DomainStakingSummary (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingSlashes (r:1 w:0) - /// Proof Skipped: Domains PendingSlashes (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains Operators (r:1 w:1) - /// Proof Skipped: Domains Operators (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingOperatorSwitches (r:1 w:0) - /// Proof Skipped: Domains PendingOperatorSwitches (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingOperatorDeregistrations (r:1 w:0) - /// Proof Skipped: Domains PendingOperatorDeregistrations (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingWithdrawals (r:101 w:100) - /// Proof Skipped: Domains PendingWithdrawals (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains Nominators (r:100 w:100) - /// Proof Skipped: Domains Nominators (max_values: None, max_size: None, mode: Measured) - /// Storage: Balances Holds (r:100 w:100) - /// Proof: Balances Holds (max_values: None, max_size: Some(2750), added: 5225, mode: MaxEncodedLen) - /// Storage: System Account (r:100 w:100) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Domains PendingNominatorUnlocks (r:1 w:1) - /// Proof Skipped: Domains PendingNominatorUnlocks (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingUnlocks (r:1 w:1) - /// Proof Skipped: Domains PendingUnlocks (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingDeposits (r:1 w:0) - /// Proof Skipped: Domains PendingDeposits (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains LastEpochStakingDistribution (r:0 w:1) - /// Proof Skipped: Domains LastEpochStakingDistribution (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingStakingOperationCount (r:0 w:1) - /// Proof Skipped: Domains PendingStakingOperationCount (max_values: None, max_size: None, mode: Measured) - fn pending_staking_operation() -> Weight { - // Proof Size summary in bytes: - // Measured: `32723` - // Estimated: `523490` - // Minimum execution time: 12_571_000_000 picoseconds. - Weight::from_parts(12_688_000_000, 523490) - .saturating_add(T::DbWeight::get().reads(409_u64)) - .saturating_add(T::DbWeight::get().writes(406_u64)) - } - /// Storage: Domains NextRuntimeId (r:1 w:1) - /// Proof Skipped: Domains NextRuntimeId (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Domains RuntimeRegistry (r:0 w:1) - /// Proof Skipped: Domains RuntimeRegistry (max_values: None, max_size: None, mode: Measured) + /// Storage: `Domains::Operators` (r:200 w:100) + /// Proof: `Domains::Operators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:100 w:100) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Domains::DomainStakingSummary` (r:1 w:1) + /// Proof: `Domains::DomainStakingSummary` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::PendingSlashes` (r:1 w:1) + /// Proof: `Domains::PendingSlashes` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::PendingOperatorSwitches` (r:1 w:1) + /// Proof: `Domains::PendingOperatorSwitches` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `n` is `[1, 100]`. + /// The range of component `s` is `[0, 100]`. + fn confirm_domain_block(n: u32, s: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0 + n * (377 ±0) + s * (238 ±0)` + // Estimated: `272098 + n * (2588 ±30) + s * (978 ±30)` + // Minimum execution time: 1_769_000_000 picoseconds. + Weight::from_parts(1_800_000_000, 272098) + // Standard Error: 355_370 + .saturating_add(Weight::from_parts(9_600_004, 0).saturating_mul(n.into())) + // Standard Error: 355_697 + .saturating_add(Weight::from_parts(13_568_927, 0).saturating_mul(s.into())) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(n.into()))) + .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(s.into()))) + .saturating_add(T::DbWeight::get().writes(3_u64)) + .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into()))) + .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into()))) + .saturating_add(Weight::from_parts(0, 2588).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(0, 978).saturating_mul(s.into())) + } + /// Storage: `Domains::DomainStakingSummary` (r:1 w:1) + /// Proof: `Domains::DomainStakingSummary` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::Operators` (r:100 w:100) + /// Proof: `Domains::Operators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `n` is `[1, 100]`. + fn operator_reward_tax_and_restake(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `417 + n * (224 ±0)` + // Estimated: `3882 + n * (2699 ±0)` + // Minimum execution time: 14_000_000 picoseconds. + Weight::from_parts(22_123_780, 3882) + // Standard Error: 11_945 + .saturating_add(Weight::from_parts(2_897_925, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) + .saturating_add(T::DbWeight::get().writes(1_u64)) + .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into()))) + .saturating_add(Weight::from_parts(0, 2699).saturating_mul(n.into())) + } + /// Storage: `Domains::PendingSlashes` (r:1 w:1) + /// Proof: `Domains::PendingSlashes` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::Operators` (r:100 w:100) + /// Proof: `Domains::Operators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:25701 w:25701) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Domains::Deposits` (r:25700 w:25600) + /// Proof: `Domains::Deposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Balances::Holds` (r:25600 w:25600) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(2750), added: 5225, mode: `MaxEncodedLen`) + /// Storage: `Domains::OperatorEpochSharePrice` (r:200 w:0) + /// Proof: `Domains::OperatorEpochSharePrice` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::Withdrawals` (r:25600 w:0) + /// Proof: `Domains::Withdrawals` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorIdOwner` (r:0 w:100) + /// Proof: `Domains::OperatorIdOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `n` is `[1, 25600]`. + fn finalize_slashed_operators(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `60223 + n * (329 ±0)` + // Estimated: `513821 + n * (5223 ±0)` + // Minimum execution time: 141_000_000 picoseconds. + Weight::from_parts(144_000_000, 513821) + // Standard Error: 120_663 + .saturating_add(Weight::from_parts(81_434_735, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(670_u64)) + .saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(n.into()))) + .saturating_add(T::DbWeight::get().writes(434_u64)) + .saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(n.into()))) + .saturating_add(Weight::from_parts(0, 5223).saturating_mul(n.into())) + } + /// Storage: `Domains::DomainStakingSummary` (r:1 w:1) + /// Proof: `Domains::DomainStakingSummary` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestSubmittedER` (r:1000 w:0) + /// Proof: `Domains::LatestSubmittedER` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::Operators` (r:1000 w:1000) + /// Proof: `Domains::Operators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LastEpochStakingDistribution` (r:0 w:1) + /// Proof: `Domains::LastEpochStakingDistribution` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorEpochSharePrice` (r:0 w:1000) + /// Proof: `Domains::OperatorEpochSharePrice` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `p` is `[0, 1000]`. + fn finalize_domain_epoch_staking(p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `225040` + // Estimated: `2701030` + // Minimum execution time: 5_201_000_000 picoseconds. + Weight::from_parts(5_387_893_148, 2701030) + // Standard Error: 22_716 + .saturating_add(Weight::from_parts(2_502_115, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(2001_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(p.into()))) + } + /// Storage: `Domains::NextRuntimeId` (r:1 w:1) + /// Proof: `Domains::NextRuntimeId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Domains::RuntimeRegistry` (r:0 w:1) + /// Proof: `Domains::RuntimeRegistry` (`max_values`: None, `max_size`: None, mode: `Measured`) fn register_domain_runtime() -> Weight { // Proof Size summary in bytes: - // Measured: `43` - // Estimated: `1528` - // Minimum execution time: 14_372_000_000 picoseconds. - Weight::from_parts(14_986_000_000, 1528) + // Measured: `297` + // Estimated: `1782` + // Minimum execution time: 19_240_000_000 picoseconds. + Weight::from_parts(20_604_000_000, 1782) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } - /// Storage: Domains RuntimeRegistry (r:1 w:0) - /// Proof Skipped: Domains RuntimeRegistry (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains ScheduledRuntimeUpgrades (r:0 w:1) - /// Proof Skipped: Domains ScheduledRuntimeUpgrades (max_values: None, max_size: None, mode: Measured) + /// Storage: `Domains::RuntimeRegistry` (r:1 w:0) + /// Proof: `Domains::RuntimeRegistry` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::ScheduledRuntimeUpgrades` (r:0 w:1) + /// Proof: `Domains::ScheduledRuntimeUpgrades` (`max_values`: None, `max_size`: None, mode: `Measured`) fn upgrade_domain_runtime() -> Weight { // Proof Size summary in bytes: - // Measured: `438682` - // Estimated: `442147` - // Minimum execution time: 25_485_000_000 picoseconds. - Weight::from_parts(26_355_000_000, 442147) + // Measured: `2481404` + // Estimated: `2484869` + // Minimum execution time: 19_355_000_000 picoseconds. + Weight::from_parts(19_883_000_000, 2484869) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } - /// Storage: Domains RuntimeRegistry (r:1 w:0) - /// Proof Skipped: Domains RuntimeRegistry (max_values: None, max_size: None, mode: Measured) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Domains NextDomainId (r:1 w:1) - /// Proof Skipped: Domains NextDomainId (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: System BlockHash (r:1 w:0) - /// Proof: System BlockHash (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen) - /// Storage: Balances Holds (r:1 w:1) - /// Proof: Balances Holds (max_values: None, max_size: Some(2750), added: 5225, mode: MaxEncodedLen) - /// Storage: Domains BlockTree (r:1 w:1) - /// Proof Skipped: Domains BlockTree (max_values: None, max_size: None, mode: Measured) - /// Storage: System Digest (r:1 w:1) - /// Proof Skipped: System Digest (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Domains DomainBlocks (r:0 w:1) - /// Proof Skipped: Domains DomainBlocks (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains DomainRegistry (r:0 w:1) - /// Proof Skipped: Domains DomainRegistry (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains DomainStakingSummary (r:0 w:1) - /// Proof Skipped: Domains DomainStakingSummary (max_values: None, max_size: None, mode: Measured) + /// Storage: `Sudo::Key` (r:1 w:0) + /// Proof: `Sudo::Key` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `Domains::RuntimeRegistry` (r:1 w:0) + /// Proof: `Domains::RuntimeRegistry` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Domains::NextDomainId` (r:1 w:1) + /// Proof: `Domains::NextDomainId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Domains::NextEVMChainId` (r:1 w:1) + /// Proof: `Domains::NextEVMChainId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Transporter::DomainBalances` (r:1 w:1) + /// Proof: `Transporter::DomainBalances` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(2750), added: 5225, mode: `MaxEncodedLen`) + /// Storage: `System::Digest` (r:1 w:1) + /// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Domains::DomainRegistry` (r:0 w:1) + /// Proof: `Domains::DomainRegistry` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::BlockTreeNodes` (r:0 w:1) + /// Proof: `Domains::BlockTreeNodes` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::DomainStakingSummary` (r:0 w:1) + /// Proof: `Domains::DomainStakingSummary` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestConfirmedDomainBlock` (r:0 w:1) + /// Proof: `Domains::LatestConfirmedDomainBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::BlockTree` (r:0 w:1) + /// Proof: `Domains::BlockTree` (`max_values`: None, `max_size`: None, mode: `Measured`) fn instantiate_domain() -> Weight { // Proof Size summary in bytes: - // Measured: `438839` - // Estimated: `442304` - // Minimum execution time: 228_000_000 picoseconds. - Weight::from_parts(247_000_000, 442304) - .saturating_add(T::DbWeight::get().reads(7_u64)) - .saturating_add(T::DbWeight::get().writes(8_u64)) - } - /// Storage: Domains PendingStakingOperationCount (r:1 w:1) - /// Proof Skipped: Domains PendingStakingOperationCount (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains DomainStakingSummary (r:1 w:1) - /// Proof Skipped: Domains DomainStakingSummary (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains NextOperatorId (r:1 w:1) - /// Proof Skipped: Domains NextOperatorId (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Balances Holds (r:1 w:1) - /// Proof: Balances Holds (max_values: None, max_size: Some(2750), added: 5225, mode: MaxEncodedLen) - /// Storage: Domains Operators (r:0 w:1) - /// Proof Skipped: Domains Operators (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingDeposits (r:0 w:1) - /// Proof Skipped: Domains PendingDeposits (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains OperatorIdOwner (r:0 w:1) - /// Proof Skipped: Domains OperatorIdOwner (max_values: None, max_size: None, mode: Measured) + // Measured: `2481830` + // Estimated: `2485295` + // Minimum execution time: 4_861_000_000 picoseconds. + Weight::from_parts(5_260_000_000, 2485295) + .saturating_add(T::DbWeight::get().reads(8_u64)) + .saturating_add(T::DbWeight::get().writes(11_u64)) + } + /// Storage: `Domains::PendingStakingOperationCount` (r:1 w:1) + /// Proof: `Domains::PendingStakingOperationCount` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::DomainStakingSummary` (r:1 w:1) + /// Proof: `Domains::DomainStakingSummary` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorSigningKey` (r:1 w:1) + /// Proof: `Domains::OperatorSigningKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::DomainRegistry` (r:1 w:0) + /// Proof: `Domains::DomainRegistry` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::NextOperatorId` (r:1 w:1) + /// Proof: `Domains::NextOperatorId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(2750), added: 5225, mode: `MaxEncodedLen`) + /// Storage: `Domains::Deposits` (r:1 w:1) + /// Proof: `Domains::Deposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::PendingSlashes` (r:1 w:0) + /// Proof: `Domains::PendingSlashes` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::PendingOperatorSwitches` (r:1 w:0) + /// Proof: `Domains::PendingOperatorSwitches` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestSubmittedER` (r:1 w:0) + /// Proof: `Domains::LatestSubmittedER` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::Operators` (r:0 w:1) + /// Proof: `Domains::Operators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LastEpochStakingDistribution` (r:0 w:1) + /// Proof: `Domains::LastEpochStakingDistribution` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorIdOwner` (r:0 w:1) + /// Proof: `Domains::OperatorIdOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorEpochSharePrice` (r:0 w:1) + /// Proof: `Domains::OperatorEpochSharePrice` (`max_values`: None, `max_size`: None, mode: `Measured`) fn register_operator() -> Weight { // Proof Size summary in bytes: - // Measured: `427` + // Measured: `880` // Estimated: `6215` - // Minimum execution time: 66_000_000 picoseconds. - Weight::from_parts(70_000_000, 6215) - .saturating_add(T::DbWeight::get().reads(5_u64)) - .saturating_add(T::DbWeight::get().writes(8_u64)) - } - /// Storage: Domains Operators (r:1 w:0) - /// Proof Skipped: Domains Operators (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingStakingOperationCount (r:1 w:1) - /// Proof Skipped: Domains PendingStakingOperationCount (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingWithdrawals (r:1 w:0) - /// Proof Skipped: Domains PendingWithdrawals (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingDeposits (r:1 w:1) - /// Proof Skipped: Domains PendingDeposits (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains Nominators (r:1 w:0) - /// Proof Skipped: Domains Nominators (max_values: None, max_size: None, mode: Measured) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Balances Holds (r:1 w:1) - /// Proof: Balances Holds (max_values: None, max_size: Some(2750), added: 5225, mode: MaxEncodedLen) + // Minimum execution time: 129_000_000 picoseconds. + Weight::from_parts(144_000_000, 6215) + .saturating_add(T::DbWeight::get().reads(12_u64)) + .saturating_add(T::DbWeight::get().writes(12_u64)) + } + /// Storage: `Domains::Operators` (r:1 w:1) + /// Proof: `Domains::Operators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestSubmittedER` (r:1 w:0) + /// Proof: `Domains::LatestSubmittedER` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::PendingStakingOperationCount` (r:1 w:1) + /// Proof: `Domains::PendingStakingOperationCount` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::DomainStakingSummary` (r:1 w:0) + /// Proof: `Domains::DomainStakingSummary` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(2750), added: 5225, mode: `MaxEncodedLen`) + /// Storage: `Domains::Deposits` (r:1 w:1) + /// Proof: `Domains::Deposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorEpochSharePrice` (r:1 w:0) + /// Proof: `Domains::OperatorEpochSharePrice` (`max_values`: None, `max_size`: None, mode: `Measured`) fn nominate_operator() -> Weight { // Proof Size summary in bytes: - // Measured: `789` + // Measured: `1291` // Estimated: `6215` - // Minimum execution time: 65_000_000 picoseconds. - Weight::from_parts(69_000_000, 6215) - .saturating_add(T::DbWeight::get().reads(7_u64)) - .saturating_add(T::DbWeight::get().writes(4_u64)) - } - /// Storage: Domains OperatorIdOwner (r:1 w:0) - /// Proof Skipped: Domains OperatorIdOwner (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains DomainStakingSummary (r:2 w:1) - /// Proof Skipped: Domains DomainStakingSummary (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains Operators (r:1 w:1) - /// Proof Skipped: Domains Operators (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingStakingOperationCount (r:1 w:1) - /// Proof Skipped: Domains PendingStakingOperationCount (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingOperatorSwitches (r:1 w:1) - /// Proof Skipped: Domains PendingOperatorSwitches (max_values: None, max_size: None, mode: Measured) - fn switch_domain() -> Weight { - // Proof Size summary in bytes: - // Measured: `577` - // Estimated: `6517` - // Minimum execution time: 35_000_000 picoseconds. - Weight::from_parts(38_000_000, 6517) - .saturating_add(T::DbWeight::get().reads(6_u64)) - .saturating_add(T::DbWeight::get().writes(4_u64)) + // Minimum execution time: 111_000_000 picoseconds. + Weight::from_parts(131_000_000, 6215) + .saturating_add(T::DbWeight::get().reads(9_u64)) + .saturating_add(T::DbWeight::get().writes(6_u64)) } - /// Storage: Domains OperatorIdOwner (r:1 w:0) - /// Proof Skipped: Domains OperatorIdOwner (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains Operators (r:1 w:1) - /// Proof Skipped: Domains Operators (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingStakingOperationCount (r:1 w:1) - /// Proof Skipped: Domains PendingStakingOperationCount (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingOperatorDeregistrations (r:1 w:1) - /// Proof Skipped: Domains PendingOperatorDeregistrations (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains DomainStakingSummary (r:1 w:1) - /// Proof Skipped: Domains DomainStakingSummary (max_values: None, max_size: None, mode: Measured) + /// Storage: `Domains::OperatorIdOwner` (r:1 w:0) + /// Proof: `Domains::OperatorIdOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::Operators` (r:1 w:1) + /// Proof: `Domains::Operators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestSubmittedER` (r:1 w:0) + /// Proof: `Domains::LatestSubmittedER` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::DomainStakingSummary` (r:1 w:1) + /// Proof: `Domains::DomainStakingSummary` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestConfirmedDomainBlock` (r:1 w:0) + /// Proof: `Domains::LatestConfirmedDomainBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) fn deregister_operator() -> Weight { // Proof Size summary in bytes: - // Measured: `543` - // Estimated: `4008` - // Minimum execution time: 30_000_000 picoseconds. - Weight::from_parts(33_000_000, 4008) + // Measured: `949` + // Estimated: `4414` + // Minimum execution time: 32_000_000 picoseconds. + Weight::from_parts(34_000_000, 4414) .saturating_add(T::DbWeight::get().reads(5_u64)) - .saturating_add(T::DbWeight::get().writes(4_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) } - /// Storage: Domains PendingDeposits (r:1 w:0) - /// Proof Skipped: Domains PendingDeposits (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains Operators (r:1 w:1) - /// Proof Skipped: Domains Operators (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingStakingOperationCount (r:1 w:1) - /// Proof Skipped: Domains PendingStakingOperationCount (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains Nominators (r:1 w:0) - /// Proof Skipped: Domains Nominators (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains OperatorIdOwner (r:1 w:0) - /// Proof Skipped: Domains OperatorIdOwner (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingWithdrawals (r:1 w:1) - /// Proof Skipped: Domains PendingWithdrawals (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains DomainStakingSummary (r:1 w:0) - /// Proof Skipped: Domains DomainStakingSummary (max_values: None, max_size: None, mode: Measured) + /// Storage: `Domains::Operators` (r:1 w:1) + /// Proof: `Domains::Operators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestSubmittedER` (r:1 w:0) + /// Proof: `Domains::LatestSubmittedER` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::PendingStakingOperationCount` (r:1 w:1) + /// Proof: `Domains::PendingStakingOperationCount` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::DomainStakingSummary` (r:1 w:0) + /// Proof: `Domains::DomainStakingSummary` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::Deposits` (r:1 w:1) + /// Proof: `Domains::Deposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorEpochSharePrice` (r:1 w:0) + /// Proof: `Domains::OperatorEpochSharePrice` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::Withdrawals` (r:1 w:1) + /// Proof: `Domains::Withdrawals` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorIdOwner` (r:1 w:0) + /// Proof: `Domains::OperatorIdOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(2750), added: 5225, mode: `MaxEncodedLen`) + /// Storage: `Domains::LatestConfirmedDomainBlock` (r:1 w:0) + /// Proof: `Domains::LatestConfirmedDomainBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) fn withdraw_stake() -> Weight { // Proof Size summary in bytes: - // Measured: `788` - // Estimated: `4253` - // Minimum execution time: 36_000_000 picoseconds. - Weight::from_parts(38_000_000, 4253) - .saturating_add(T::DbWeight::get().reads(7_u64)) - .saturating_add(T::DbWeight::get().writes(3_u64)) + // Measured: `1785` + // Estimated: `6215` + // Minimum execution time: 103_000_000 picoseconds. + Weight::from_parts(106_000_000, 6215) + .saturating_add(T::DbWeight::get().reads(12_u64)) + .saturating_add(T::DbWeight::get().writes(7_u64)) } - /// Storage: Domains Nominators (r:1 w:0) - /// Proof Skipped: Domains Nominators (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains Operators (r:1 w:0) - /// Proof Skipped: Domains Operators (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingStakingOperationCount (r:1 w:1) - /// Proof Skipped: Domains PendingStakingOperationCount (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PreferredOperator (r:0 w:1) - /// Proof Skipped: Domains PreferredOperator (max_values: None, max_size: None, mode: Measured) - fn auto_stake_block_rewards() -> Weight { - // Proof Size summary in bytes: - // Measured: `514` - // Estimated: `3979` - // Minimum execution time: 24_000_000 picoseconds. - Weight::from_parts(26_000_000, 3979) - .saturating_add(T::DbWeight::get().reads(3_u64)) - .saturating_add(T::DbWeight::get().writes(2_u64)) + /// Storage: `Domains::Operators` (r:1 w:0) + /// Proof: `Domains::Operators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestSubmittedER` (r:1 w:0) + /// Proof: `Domains::LatestSubmittedER` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::Withdrawals` (r:1 w:1) + /// Proof: `Domains::Withdrawals` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorEpochSharePrice` (r:1 w:0) + /// Proof: `Domains::OperatorEpochSharePrice` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestConfirmedDomainBlock` (r:1 w:0) + /// Proof: `Domains::LatestConfirmedDomainBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(2750), added: 5225, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Domains::Deposits` (r:1 w:1) + /// Proof: `Domains::Deposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn unlock_funds() -> Weight { + // Proof Size summary in bytes: + // Measured: `1390` + // Estimated: `6215` + // Minimum execution time: 89_000_000 picoseconds. + Weight::from_parts(93_000_000, 6215) + .saturating_add(T::DbWeight::get().reads(8_u64)) + .saturating_add(T::DbWeight::get().writes(4_u64)) + } + /// Storage: `Domains::Operators` (r:1 w:1) + /// Proof: `Domains::Operators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestSubmittedER` (r:1 w:0) + /// Proof: `Domains::LatestSubmittedER` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestConfirmedDomainBlock` (r:1 w:0) + /// Proof: `Domains::LatestConfirmedDomainBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:259 w:258) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Domains::Deposits` (r:258 w:257) + /// Proof: `Domains::Deposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorEpochSharePrice` (r:2 w:2) + /// Proof: `Domains::OperatorEpochSharePrice` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Balances::Holds` (r:257 w:257) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(2750), added: 5225, mode: `MaxEncodedLen`) + /// Storage: `Domains::Withdrawals` (r:257 w:0) + /// Proof: `Domains::Withdrawals` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorSigningKey` (r:0 w:1) + /// Proof: `Domains::OperatorSigningKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorIdOwner` (r:0 w:1) + /// Proof: `Domains::OperatorIdOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::NominatorCount` (r:0 w:1) + /// Proof: `Domains::NominatorCount` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `n` is `[0, 256]`. + fn unlock_operator(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1160 + n * (330 ±0)` + // Estimated: `8799 + n * (5225 ±0)` + // Minimum execution time: 168_000_000 picoseconds. + Weight::from_parts(56_673_368, 8799) + // Standard Error: 401_978 + .saturating_add(Weight::from_parts(91_340_500, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(12_u64)) + .saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(n.into()))) + .saturating_add(T::DbWeight::get().writes(10_u64)) + .saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(n.into()))) + .saturating_add(Weight::from_parts(0, 5225).saturating_mul(n.into())) + } + /// Storage: `Domains::DomainRegistry` (r:1 w:1) + /// Proof: `Domains::DomainRegistry` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn update_domain_operator_allow_list() -> Weight { + // Proof Size summary in bytes: + // Measured: `432` + // Estimated: `3897` + // Minimum execution time: 15_000_000 picoseconds. + Weight::from_parts(16_000_000, 3897) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) } } // For backwards compatibility and tests impl WeightInfo for () { - /// Storage: Domains HeadReceiptNumber (r:1 w:1) - /// Proof Skipped: Domains HeadReceiptNumber (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains BlockTree (r:2 w:2) - /// Proof Skipped: Domains BlockTree (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains DomainBlocks (r:1 w:2) - /// Proof Skipped: Domains DomainBlocks (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains ExecutionInbox (r:3 w:2) - /// Proof Skipped: Domains ExecutionInbox (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains SuccessfulBundles (r:1 w:1) - /// Proof Skipped: Domains SuccessfulBundles (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains HeadDomainNumber (r:1 w:1) - /// Proof Skipped: Domains HeadDomainNumber (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains DomainTxRangeState (r:1 w:1) - /// Proof Skipped: Domains DomainTxRangeState (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains InboxedBundle (r:0 w:2) - /// Proof Skipped: Domains InboxedBundle (max_values: None, max_size: None, mode: Measured) + /// Storage: `Domains::HeadReceiptNumber` (r:1 w:1) + /// Proof: `Domains::HeadReceiptNumber` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestConfirmedDomainBlock` (r:1 w:1) + /// Proof: `Domains::LatestConfirmedDomainBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::BlockTree` (r:2 w:2) + /// Proof: `Domains::BlockTree` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::BlockTreeNodes` (r:1 w:2) + /// Proof: `Domains::BlockTreeNodes` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestSubmittedER` (r:1 w:0) + /// Proof: `Domains::LatestSubmittedER` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::ExecutionInbox` (r:2 w:1) + /// Proof: `Domains::ExecutionInbox` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Transporter::DomainBalances` (r:1 w:1) + /// Proof: `Transporter::DomainBalances` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::SuccessfulBundles` (r:1 w:1) + /// Proof: `Domains::SuccessfulBundles` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::HeadDomainNumber` (r:1 w:1) + /// Proof: `Domains::HeadDomainNumber` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::InboxedBundleAuthor` (r:0 w:1) + /// Proof: `Domains::InboxedBundleAuthor` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::HeadReceiptExtended` (r:0 w:1) + /// Proof: `Domains::HeadReceiptExtended` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::ConsensusBlockHash` (r:0 w:1) + /// Proof: `Domains::ConsensusBlockHash` (`max_values`: None, `max_size`: None, mode: `Measured`) fn submit_bundle() -> Weight { // Proof Size summary in bytes: - // Measured: `3952` - // Estimated: `12367` - // Minimum execution time: 102_000_000 picoseconds. - Weight::from_parts(118_000_000, 12367) - .saturating_add(ParityDbWeight::get().reads(10_u64)) - .saturating_add(ParityDbWeight::get().writes(12_u64)) + // Measured: `1609` + // Estimated: `7549` + // Minimum execution time: 82_000_000 picoseconds. + Weight::from_parts(86_000_000, 7549) + .saturating_add(ParityDbWeight::get().reads(11_u64)) + .saturating_add(ParityDbWeight::get().writes(13_u64)) + } + /// Storage: `Domains::HeadReceiptNumber` (r:1 w:1) + /// Proof: `Domains::HeadReceiptNumber` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::BlockTreeNodes` (r:1 w:0) + /// Proof: `Domains::BlockTreeNodes` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::SuccessfulFraudProofs` (r:1 w:1) + /// Proof: `Domains::SuccessfulFraudProofs` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn submit_fraud_proof() -> Weight { + // Proof Size summary in bytes: + // Measured: `1000` + // Estimated: `4465` + // Minimum execution time: 25_000_000 picoseconds. + Weight::from_parts(29_000_000, 4465) + .saturating_add(ParityDbWeight::get().reads(3_u64)) + .saturating_add(ParityDbWeight::get().writes(2_u64)) + } + /// Storage: `Domains::BlockTree` (r:1 w:1) + /// Proof: `Domains::BlockTree` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::BlockTreeNodes` (r:1 w:1) + /// Proof: `Domains::BlockTreeNodes` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestSubmittedER` (r:100 w:0) + /// Proof: `Domains::LatestSubmittedER` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::Operators` (r:100 w:100) + /// Proof: `Domains::Operators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::PendingSlashes` (r:1 w:1) + /// Proof: `Domains::PendingSlashes` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::DomainStakingSummary` (r:1 w:1) + /// Proof: `Domains::DomainStakingSummary` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::PendingOperatorSwitches` (r:1 w:1) + /// Proof: `Domains::PendingOperatorSwitches` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `n` is `[1, 100]`. + fn handle_bad_receipt(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1062 + n * (208 ±0)` + // Estimated: `4527 + n * (2683 ±0)` + // Minimum execution time: 36_000_000 picoseconds. + Weight::from_parts(37_000_000, 4527) + // Standard Error: 69_114 + .saturating_add(Weight::from_parts(18_092_085, 0).saturating_mul(n.into())) + .saturating_add(ParityDbWeight::get().reads(5_u64)) + .saturating_add(ParityDbWeight::get().reads((2_u64).saturating_mul(n.into()))) + .saturating_add(ParityDbWeight::get().writes(5_u64)) + .saturating_add(ParityDbWeight::get().writes((1_u64).saturating_mul(n.into()))) + .saturating_add(Weight::from_parts(0, 2683).saturating_mul(n.into())) } - /// Storage: Domains DomainStakingSummary (r:1 w:1) - /// Proof Skipped: Domains DomainStakingSummary (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingSlashes (r:1 w:0) - /// Proof Skipped: Domains PendingSlashes (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains Operators (r:1 w:1) - /// Proof Skipped: Domains Operators (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingOperatorSwitches (r:1 w:0) - /// Proof Skipped: Domains PendingOperatorSwitches (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingOperatorDeregistrations (r:1 w:0) - /// Proof Skipped: Domains PendingOperatorDeregistrations (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingWithdrawals (r:101 w:100) - /// Proof Skipped: Domains PendingWithdrawals (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains Nominators (r:100 w:100) - /// Proof Skipped: Domains Nominators (max_values: None, max_size: None, mode: Measured) - /// Storage: Balances Holds (r:100 w:100) - /// Proof: Balances Holds (max_values: None, max_size: Some(2750), added: 5225, mode: MaxEncodedLen) - /// Storage: System Account (r:100 w:100) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Domains PendingNominatorUnlocks (r:1 w:1) - /// Proof Skipped: Domains PendingNominatorUnlocks (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingUnlocks (r:1 w:1) - /// Proof Skipped: Domains PendingUnlocks (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingDeposits (r:1 w:0) - /// Proof Skipped: Domains PendingDeposits (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains LastEpochStakingDistribution (r:0 w:1) - /// Proof Skipped: Domains LastEpochStakingDistribution (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingStakingOperationCount (r:0 w:1) - /// Proof Skipped: Domains PendingStakingOperationCount (max_values: None, max_size: None, mode: Measured) - fn pending_staking_operation() -> Weight { - // Proof Size summary in bytes: - // Measured: `32723` - // Estimated: `523490` - // Minimum execution time: 12_571_000_000 picoseconds. - Weight::from_parts(12_688_000_000, 523490) - .saturating_add(ParityDbWeight::get().reads(409_u64)) - .saturating_add(ParityDbWeight::get().writes(406_u64)) - } - /// Storage: Domains NextRuntimeId (r:1 w:1) - /// Proof Skipped: Domains NextRuntimeId (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Domains RuntimeRegistry (r:0 w:1) - /// Proof Skipped: Domains RuntimeRegistry (max_values: None, max_size: None, mode: Measured) + /// Storage: `Domains::Operators` (r:200 w:100) + /// Proof: `Domains::Operators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:100 w:100) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Domains::DomainStakingSummary` (r:1 w:1) + /// Proof: `Domains::DomainStakingSummary` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::PendingSlashes` (r:1 w:1) + /// Proof: `Domains::PendingSlashes` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::PendingOperatorSwitches` (r:1 w:1) + /// Proof: `Domains::PendingOperatorSwitches` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `n` is `[1, 100]`. + /// The range of component `s` is `[0, 100]`. + fn confirm_domain_block(n: u32, s: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0 + n * (377 ±0) + s * (238 ±0)` + // Estimated: `272098 + n * (2588 ±30) + s * (978 ±30)` + // Minimum execution time: 1_769_000_000 picoseconds. + Weight::from_parts(1_800_000_000, 272098) + // Standard Error: 355_370 + .saturating_add(Weight::from_parts(9_600_004, 0).saturating_mul(n.into())) + // Standard Error: 355_697 + .saturating_add(Weight::from_parts(13_568_927, 0).saturating_mul(s.into())) + .saturating_add(ParityDbWeight::get().reads(3_u64)) + .saturating_add(ParityDbWeight::get().reads((2_u64).saturating_mul(n.into()))) + .saturating_add(ParityDbWeight::get().reads((1_u64).saturating_mul(s.into()))) + .saturating_add(ParityDbWeight::get().writes(3_u64)) + .saturating_add(ParityDbWeight::get().writes((1_u64).saturating_mul(n.into()))) + .saturating_add(ParityDbWeight::get().writes((1_u64).saturating_mul(s.into()))) + .saturating_add(Weight::from_parts(0, 2588).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(0, 978).saturating_mul(s.into())) + } + /// Storage: `Domains::DomainStakingSummary` (r:1 w:1) + /// Proof: `Domains::DomainStakingSummary` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::Operators` (r:100 w:100) + /// Proof: `Domains::Operators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `n` is `[1, 100]`. + fn operator_reward_tax_and_restake(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `417 + n * (224 ±0)` + // Estimated: `3882 + n * (2699 ±0)` + // Minimum execution time: 14_000_000 picoseconds. + Weight::from_parts(22_123_780, 3882) + // Standard Error: 11_945 + .saturating_add(Weight::from_parts(2_897_925, 0).saturating_mul(n.into())) + .saturating_add(ParityDbWeight::get().reads(1_u64)) + .saturating_add(ParityDbWeight::get().reads((1_u64).saturating_mul(n.into()))) + .saturating_add(ParityDbWeight::get().writes(1_u64)) + .saturating_add(ParityDbWeight::get().writes((1_u64).saturating_mul(n.into()))) + .saturating_add(Weight::from_parts(0, 2699).saturating_mul(n.into())) + } + /// Storage: `Domains::PendingSlashes` (r:1 w:1) + /// Proof: `Domains::PendingSlashes` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::Operators` (r:100 w:100) + /// Proof: `Domains::Operators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:25701 w:25701) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Domains::Deposits` (r:25700 w:25600) + /// Proof: `Domains::Deposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Balances::Holds` (r:25600 w:25600) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(2750), added: 5225, mode: `MaxEncodedLen`) + /// Storage: `Domains::OperatorEpochSharePrice` (r:200 w:0) + /// Proof: `Domains::OperatorEpochSharePrice` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::Withdrawals` (r:25600 w:0) + /// Proof: `Domains::Withdrawals` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorIdOwner` (r:0 w:100) + /// Proof: `Domains::OperatorIdOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `n` is `[1, 25600]`. + fn finalize_slashed_operators(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `60223 + n * (329 ±0)` + // Estimated: `513821 + n * (5223 ±0)` + // Minimum execution time: 141_000_000 picoseconds. + Weight::from_parts(144_000_000, 513821) + // Standard Error: 120_663 + .saturating_add(Weight::from_parts(81_434_735, 0).saturating_mul(n.into())) + .saturating_add(ParityDbWeight::get().reads(670_u64)) + .saturating_add(ParityDbWeight::get().reads((4_u64).saturating_mul(n.into()))) + .saturating_add(ParityDbWeight::get().writes(434_u64)) + .saturating_add(ParityDbWeight::get().writes((3_u64).saturating_mul(n.into()))) + .saturating_add(Weight::from_parts(0, 5223).saturating_mul(n.into())) + } + /// Storage: `Domains::DomainStakingSummary` (r:1 w:1) + /// Proof: `Domains::DomainStakingSummary` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestSubmittedER` (r:1000 w:0) + /// Proof: `Domains::LatestSubmittedER` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::Operators` (r:1000 w:1000) + /// Proof: `Domains::Operators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LastEpochStakingDistribution` (r:0 w:1) + /// Proof: `Domains::LastEpochStakingDistribution` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorEpochSharePrice` (r:0 w:1000) + /// Proof: `Domains::OperatorEpochSharePrice` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `p` is `[0, 1000]`. + fn finalize_domain_epoch_staking(p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `225040` + // Estimated: `2701030` + // Minimum execution time: 5_201_000_000 picoseconds. + Weight::from_parts(5_387_893_148, 2701030) + // Standard Error: 22_716 + .saturating_add(Weight::from_parts(2_502_115, 0).saturating_mul(p.into())) + .saturating_add(ParityDbWeight::get().reads(2001_u64)) + .saturating_add(ParityDbWeight::get().writes(2_u64)) + .saturating_add(ParityDbWeight::get().writes((2_u64).saturating_mul(p.into()))) + } + /// Storage: `Domains::NextRuntimeId` (r:1 w:1) + /// Proof: `Domains::NextRuntimeId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Domains::RuntimeRegistry` (r:0 w:1) + /// Proof: `Domains::RuntimeRegistry` (`max_values`: None, `max_size`: None, mode: `Measured`) fn register_domain_runtime() -> Weight { // Proof Size summary in bytes: - // Measured: `43` - // Estimated: `1528` - // Minimum execution time: 14_372_000_000 picoseconds. - Weight::from_parts(14_986_000_000, 1528) + // Measured: `297` + // Estimated: `1782` + // Minimum execution time: 19_240_000_000 picoseconds. + Weight::from_parts(20_604_000_000, 1782) .saturating_add(ParityDbWeight::get().reads(1_u64)) .saturating_add(ParityDbWeight::get().writes(2_u64)) } - /// Storage: Domains RuntimeRegistry (r:1 w:0) - /// Proof Skipped: Domains RuntimeRegistry (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains ScheduledRuntimeUpgrades (r:0 w:1) - /// Proof Skipped: Domains ScheduledRuntimeUpgrades (max_values: None, max_size: None, mode: Measured) + /// Storage: `Domains::RuntimeRegistry` (r:1 w:0) + /// Proof: `Domains::RuntimeRegistry` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::ScheduledRuntimeUpgrades` (r:0 w:1) + /// Proof: `Domains::ScheduledRuntimeUpgrades` (`max_values`: None, `max_size`: None, mode: `Measured`) fn upgrade_domain_runtime() -> Weight { // Proof Size summary in bytes: - // Measured: `438682` - // Estimated: `442147` - // Minimum execution time: 25_485_000_000 picoseconds. - Weight::from_parts(26_355_000_000, 442147) + // Measured: `2481404` + // Estimated: `2484869` + // Minimum execution time: 19_355_000_000 picoseconds. + Weight::from_parts(19_883_000_000, 2484869) .saturating_add(ParityDbWeight::get().reads(1_u64)) .saturating_add(ParityDbWeight::get().writes(1_u64)) } - /// Storage: Domains RuntimeRegistry (r:1 w:0) - /// Proof Skipped: Domains RuntimeRegistry (max_values: None, max_size: None, mode: Measured) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Domains NextDomainId (r:1 w:1) - /// Proof Skipped: Domains NextDomainId (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: System BlockHash (r:1 w:0) - /// Proof: System BlockHash (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen) - /// Storage: Balances Holds (r:1 w:1) - /// Proof: Balances Holds (max_values: None, max_size: Some(2750), added: 5225, mode: MaxEncodedLen) - /// Storage: Domains BlockTree (r:1 w:1) - /// Proof Skipped: Domains BlockTree (max_values: None, max_size: None, mode: Measured) - /// Storage: System Digest (r:1 w:1) - /// Proof Skipped: System Digest (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Domains DomainBlocks (r:0 w:1) - /// Proof Skipped: Domains DomainBlocks (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains DomainRegistry (r:0 w:1) - /// Proof Skipped: Domains DomainRegistry (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains DomainStakingSummary (r:0 w:1) - /// Proof Skipped: Domains DomainStakingSummary (max_values: None, max_size: None, mode: Measured) + /// Storage: `Sudo::Key` (r:1 w:0) + /// Proof: `Sudo::Key` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `Domains::RuntimeRegistry` (r:1 w:0) + /// Proof: `Domains::RuntimeRegistry` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Domains::NextDomainId` (r:1 w:1) + /// Proof: `Domains::NextDomainId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Domains::NextEVMChainId` (r:1 w:1) + /// Proof: `Domains::NextEVMChainId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Transporter::DomainBalances` (r:1 w:1) + /// Proof: `Transporter::DomainBalances` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(2750), added: 5225, mode: `MaxEncodedLen`) + /// Storage: `System::Digest` (r:1 w:1) + /// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Domains::DomainRegistry` (r:0 w:1) + /// Proof: `Domains::DomainRegistry` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::BlockTreeNodes` (r:0 w:1) + /// Proof: `Domains::BlockTreeNodes` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::DomainStakingSummary` (r:0 w:1) + /// Proof: `Domains::DomainStakingSummary` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestConfirmedDomainBlock` (r:0 w:1) + /// Proof: `Domains::LatestConfirmedDomainBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::BlockTree` (r:0 w:1) + /// Proof: `Domains::BlockTree` (`max_values`: None, `max_size`: None, mode: `Measured`) fn instantiate_domain() -> Weight { // Proof Size summary in bytes: - // Measured: `438839` - // Estimated: `442304` - // Minimum execution time: 228_000_000 picoseconds. - Weight::from_parts(247_000_000, 442304) - .saturating_add(ParityDbWeight::get().reads(7_u64)) - .saturating_add(ParityDbWeight::get().writes(8_u64)) - } - /// Storage: Domains PendingStakingOperationCount (r:1 w:1) - /// Proof Skipped: Domains PendingStakingOperationCount (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains DomainStakingSummary (r:1 w:1) - /// Proof Skipped: Domains DomainStakingSummary (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains NextOperatorId (r:1 w:1) - /// Proof Skipped: Domains NextOperatorId (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Balances Holds (r:1 w:1) - /// Proof: Balances Holds (max_values: None, max_size: Some(2750), added: 5225, mode: MaxEncodedLen) - /// Storage: Domains Operators (r:0 w:1) - /// Proof Skipped: Domains Operators (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingDeposits (r:0 w:1) - /// Proof Skipped: Domains PendingDeposits (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains OperatorIdOwner (r:0 w:1) - /// Proof Skipped: Domains OperatorIdOwner (max_values: None, max_size: None, mode: Measured) + // Measured: `2481830` + // Estimated: `2485295` + // Minimum execution time: 4_861_000_000 picoseconds. + Weight::from_parts(5_260_000_000, 2485295) + .saturating_add(ParityDbWeight::get().reads(8_u64)) + .saturating_add(ParityDbWeight::get().writes(11_u64)) + } + /// Storage: `Domains::PendingStakingOperationCount` (r:1 w:1) + /// Proof: `Domains::PendingStakingOperationCount` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::DomainStakingSummary` (r:1 w:1) + /// Proof: `Domains::DomainStakingSummary` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorSigningKey` (r:1 w:1) + /// Proof: `Domains::OperatorSigningKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::DomainRegistry` (r:1 w:0) + /// Proof: `Domains::DomainRegistry` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::NextOperatorId` (r:1 w:1) + /// Proof: `Domains::NextOperatorId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(2750), added: 5225, mode: `MaxEncodedLen`) + /// Storage: `Domains::Deposits` (r:1 w:1) + /// Proof: `Domains::Deposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::PendingSlashes` (r:1 w:0) + /// Proof: `Domains::PendingSlashes` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::PendingOperatorSwitches` (r:1 w:0) + /// Proof: `Domains::PendingOperatorSwitches` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestSubmittedER` (r:1 w:0) + /// Proof: `Domains::LatestSubmittedER` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::Operators` (r:0 w:1) + /// Proof: `Domains::Operators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LastEpochStakingDistribution` (r:0 w:1) + /// Proof: `Domains::LastEpochStakingDistribution` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorIdOwner` (r:0 w:1) + /// Proof: `Domains::OperatorIdOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorEpochSharePrice` (r:0 w:1) + /// Proof: `Domains::OperatorEpochSharePrice` (`max_values`: None, `max_size`: None, mode: `Measured`) fn register_operator() -> Weight { // Proof Size summary in bytes: - // Measured: `427` + // Measured: `880` // Estimated: `6215` - // Minimum execution time: 66_000_000 picoseconds. - Weight::from_parts(70_000_000, 6215) - .saturating_add(ParityDbWeight::get().reads(5_u64)) - .saturating_add(ParityDbWeight::get().writes(8_u64)) - } - /// Storage: Domains Operators (r:1 w:0) - /// Proof Skipped: Domains Operators (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingStakingOperationCount (r:1 w:1) - /// Proof Skipped: Domains PendingStakingOperationCount (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingWithdrawals (r:1 w:0) - /// Proof Skipped: Domains PendingWithdrawals (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingDeposits (r:1 w:1) - /// Proof Skipped: Domains PendingDeposits (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains Nominators (r:1 w:0) - /// Proof Skipped: Domains Nominators (max_values: None, max_size: None, mode: Measured) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Balances Holds (r:1 w:1) - /// Proof: Balances Holds (max_values: None, max_size: Some(2750), added: 5225, mode: MaxEncodedLen) + // Minimum execution time: 129_000_000 picoseconds. + Weight::from_parts(144_000_000, 6215) + .saturating_add(ParityDbWeight::get().reads(12_u64)) + .saturating_add(ParityDbWeight::get().writes(12_u64)) + } + /// Storage: `Domains::Operators` (r:1 w:1) + /// Proof: `Domains::Operators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestSubmittedER` (r:1 w:0) + /// Proof: `Domains::LatestSubmittedER` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::PendingStakingOperationCount` (r:1 w:1) + /// Proof: `Domains::PendingStakingOperationCount` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::DomainStakingSummary` (r:1 w:0) + /// Proof: `Domains::DomainStakingSummary` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(2750), added: 5225, mode: `MaxEncodedLen`) + /// Storage: `Domains::Deposits` (r:1 w:1) + /// Proof: `Domains::Deposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorEpochSharePrice` (r:1 w:0) + /// Proof: `Domains::OperatorEpochSharePrice` (`max_values`: None, `max_size`: None, mode: `Measured`) fn nominate_operator() -> Weight { // Proof Size summary in bytes: - // Measured: `789` + // Measured: `1291` // Estimated: `6215` - // Minimum execution time: 65_000_000 picoseconds. - Weight::from_parts(69_000_000, 6215) - .saturating_add(ParityDbWeight::get().reads(7_u64)) - .saturating_add(ParityDbWeight::get().writes(4_u64)) - } - /// Storage: Domains OperatorIdOwner (r:1 w:0) - /// Proof Skipped: Domains OperatorIdOwner (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains DomainStakingSummary (r:2 w:1) - /// Proof Skipped: Domains DomainStakingSummary (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains Operators (r:1 w:1) - /// Proof Skipped: Domains Operators (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingStakingOperationCount (r:1 w:1) - /// Proof Skipped: Domains PendingStakingOperationCount (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingOperatorSwitches (r:1 w:1) - /// Proof Skipped: Domains PendingOperatorSwitches (max_values: None, max_size: None, mode: Measured) - fn switch_domain() -> Weight { - // Proof Size summary in bytes: - // Measured: `577` - // Estimated: `6517` - // Minimum execution time: 35_000_000 picoseconds. - Weight::from_parts(38_000_000, 6517) - .saturating_add(ParityDbWeight::get().reads(6_u64)) - .saturating_add(ParityDbWeight::get().writes(4_u64)) + // Minimum execution time: 111_000_000 picoseconds. + Weight::from_parts(131_000_000, 6215) + .saturating_add(ParityDbWeight::get().reads(9_u64)) + .saturating_add(ParityDbWeight::get().writes(6_u64)) } - /// Storage: Domains OperatorIdOwner (r:1 w:0) - /// Proof Skipped: Domains OperatorIdOwner (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains Operators (r:1 w:1) - /// Proof Skipped: Domains Operators (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingStakingOperationCount (r:1 w:1) - /// Proof Skipped: Domains PendingStakingOperationCount (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingOperatorDeregistrations (r:1 w:1) - /// Proof Skipped: Domains PendingOperatorDeregistrations (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains DomainStakingSummary (r:1 w:1) - /// Proof Skipped: Domains DomainStakingSummary (max_values: None, max_size: None, mode: Measured) + /// Storage: `Domains::OperatorIdOwner` (r:1 w:0) + /// Proof: `Domains::OperatorIdOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::Operators` (r:1 w:1) + /// Proof: `Domains::Operators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestSubmittedER` (r:1 w:0) + /// Proof: `Domains::LatestSubmittedER` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::DomainStakingSummary` (r:1 w:1) + /// Proof: `Domains::DomainStakingSummary` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestConfirmedDomainBlock` (r:1 w:0) + /// Proof: `Domains::LatestConfirmedDomainBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) fn deregister_operator() -> Weight { // Proof Size summary in bytes: - // Measured: `543` - // Estimated: `4008` - // Minimum execution time: 30_000_000 picoseconds. - Weight::from_parts(33_000_000, 4008) + // Measured: `949` + // Estimated: `4414` + // Minimum execution time: 32_000_000 picoseconds. + Weight::from_parts(34_000_000, 4414) .saturating_add(ParityDbWeight::get().reads(5_u64)) - .saturating_add(ParityDbWeight::get().writes(4_u64)) + .saturating_add(ParityDbWeight::get().writes(2_u64)) } - /// Storage: Domains PendingDeposits (r:1 w:0) - /// Proof Skipped: Domains PendingDeposits (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains Operators (r:1 w:1) - /// Proof Skipped: Domains Operators (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingStakingOperationCount (r:1 w:1) - /// Proof Skipped: Domains PendingStakingOperationCount (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains Nominators (r:1 w:0) - /// Proof Skipped: Domains Nominators (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains OperatorIdOwner (r:1 w:0) - /// Proof Skipped: Domains OperatorIdOwner (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingWithdrawals (r:1 w:1) - /// Proof Skipped: Domains PendingWithdrawals (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains DomainStakingSummary (r:1 w:0) - /// Proof Skipped: Domains DomainStakingSummary (max_values: None, max_size: None, mode: Measured) + /// Storage: `Domains::Operators` (r:1 w:1) + /// Proof: `Domains::Operators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestSubmittedER` (r:1 w:0) + /// Proof: `Domains::LatestSubmittedER` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::PendingStakingOperationCount` (r:1 w:1) + /// Proof: `Domains::PendingStakingOperationCount` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::DomainStakingSummary` (r:1 w:0) + /// Proof: `Domains::DomainStakingSummary` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::Deposits` (r:1 w:1) + /// Proof: `Domains::Deposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorEpochSharePrice` (r:1 w:0) + /// Proof: `Domains::OperatorEpochSharePrice` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::Withdrawals` (r:1 w:1) + /// Proof: `Domains::Withdrawals` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorIdOwner` (r:1 w:0) + /// Proof: `Domains::OperatorIdOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(2750), added: 5225, mode: `MaxEncodedLen`) + /// Storage: `Domains::LatestConfirmedDomainBlock` (r:1 w:0) + /// Proof: `Domains::LatestConfirmedDomainBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) fn withdraw_stake() -> Weight { // Proof Size summary in bytes: - // Measured: `788` - // Estimated: `4253` - // Minimum execution time: 36_000_000 picoseconds. - Weight::from_parts(38_000_000, 4253) - .saturating_add(ParityDbWeight::get().reads(7_u64)) - .saturating_add(ParityDbWeight::get().writes(3_u64)) + // Measured: `1785` + // Estimated: `6215` + // Minimum execution time: 103_000_000 picoseconds. + Weight::from_parts(106_000_000, 6215) + .saturating_add(ParityDbWeight::get().reads(12_u64)) + .saturating_add(ParityDbWeight::get().writes(7_u64)) } - /// Storage: Domains Nominators (r:1 w:0) - /// Proof Skipped: Domains Nominators (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains Operators (r:1 w:0) - /// Proof Skipped: Domains Operators (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PendingStakingOperationCount (r:1 w:1) - /// Proof Skipped: Domains PendingStakingOperationCount (max_values: None, max_size: None, mode: Measured) - /// Storage: Domains PreferredOperator (r:0 w:1) - /// Proof Skipped: Domains PreferredOperator (max_values: None, max_size: None, mode: Measured) - fn auto_stake_block_rewards() -> Weight { - // Proof Size summary in bytes: - // Measured: `514` - // Estimated: `3979` - // Minimum execution time: 24_000_000 picoseconds. - Weight::from_parts(26_000_000, 3979) - .saturating_add(ParityDbWeight::get().reads(3_u64)) - .saturating_add(ParityDbWeight::get().writes(2_u64)) + /// Storage: `Domains::Operators` (r:1 w:0) + /// Proof: `Domains::Operators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestSubmittedER` (r:1 w:0) + /// Proof: `Domains::LatestSubmittedER` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::Withdrawals` (r:1 w:1) + /// Proof: `Domains::Withdrawals` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorEpochSharePrice` (r:1 w:0) + /// Proof: `Domains::OperatorEpochSharePrice` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestConfirmedDomainBlock` (r:1 w:0) + /// Proof: `Domains::LatestConfirmedDomainBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(2750), added: 5225, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Domains::Deposits` (r:1 w:1) + /// Proof: `Domains::Deposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn unlock_funds() -> Weight { + // Proof Size summary in bytes: + // Measured: `1390` + // Estimated: `6215` + // Minimum execution time: 89_000_000 picoseconds. + Weight::from_parts(93_000_000, 6215) + .saturating_add(ParityDbWeight::get().reads(8_u64)) + .saturating_add(ParityDbWeight::get().writes(4_u64)) + } + /// Storage: `Domains::Operators` (r:1 w:1) + /// Proof: `Domains::Operators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestSubmittedER` (r:1 w:0) + /// Proof: `Domains::LatestSubmittedER` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::LatestConfirmedDomainBlock` (r:1 w:0) + /// Proof: `Domains::LatestConfirmedDomainBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:259 w:258) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Domains::Deposits` (r:258 w:257) + /// Proof: `Domains::Deposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorEpochSharePrice` (r:2 w:2) + /// Proof: `Domains::OperatorEpochSharePrice` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Balances::Holds` (r:257 w:257) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(2750), added: 5225, mode: `MaxEncodedLen`) + /// Storage: `Domains::Withdrawals` (r:257 w:0) + /// Proof: `Domains::Withdrawals` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorSigningKey` (r:0 w:1) + /// Proof: `Domains::OperatorSigningKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::OperatorIdOwner` (r:0 w:1) + /// Proof: `Domains::OperatorIdOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Domains::NominatorCount` (r:0 w:1) + /// Proof: `Domains::NominatorCount` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `n` is `[0, 256]`. + fn unlock_operator(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1160 + n * (330 ±0)` + // Estimated: `8799 + n * (5225 ±0)` + // Minimum execution time: 168_000_000 picoseconds. + Weight::from_parts(56_673_368, 8799) + // Standard Error: 401_978 + .saturating_add(Weight::from_parts(91_340_500, 0).saturating_mul(n.into())) + .saturating_add(ParityDbWeight::get().reads(12_u64)) + .saturating_add(ParityDbWeight::get().reads((4_u64).saturating_mul(n.into()))) + .saturating_add(ParityDbWeight::get().writes(10_u64)) + .saturating_add(ParityDbWeight::get().writes((3_u64).saturating_mul(n.into()))) + .saturating_add(Weight::from_parts(0, 5225).saturating_mul(n.into())) + } + /// Storage: `Domains::DomainRegistry` (r:1 w:1) + /// Proof: `Domains::DomainRegistry` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn update_domain_operator_allow_list() -> Weight { + // Proof Size summary in bytes: + // Measured: `432` + // Estimated: `3897` + // Minimum execution time: 15_000_000 picoseconds. + Weight::from_parts(16_000_000, 3897) + .saturating_add(ParityDbWeight::get().reads(1_u64)) + .saturating_add(ParityDbWeight::get().writes(1_u64)) } }