diff --git a/build.rs b/build.rs index f382604525..ad7675f8b2 100644 --- a/build.rs +++ b/build.rs @@ -24,7 +24,9 @@ fn main() { // Collect all Rust source files in the workspace let rust_files = collect_rust_files(workspace_root); - + for error in RequireExtrinsicBenchmarks::lint_workspace(workspace_root) { + println!("cargo:warning={error}"); + } // Channel used to communicate errors back to the main thread from the parallel processing // as we process each Rust file let (tx, rx) = channel(); diff --git a/pallets/admin-utils/src/benchmarking.rs b/pallets/admin-utils/src/benchmarking.rs index d1a373d791..f139d7a3a6 100644 --- a/pallets/admin-utils/src/benchmarking.rs +++ b/pallets/admin-utils/src/benchmarking.rs @@ -1,6 +1,7 @@ //! Benchmarking setup #![cfg(feature = "runtime-benchmarks")] #![allow(clippy::arithmetic_side_effects)] +#![allow(clippy::unwrap_used)] extern crate alloc; use alloc::vec::Vec; @@ -9,10 +10,11 @@ use alloc::vec::Vec; use crate::Pallet as AdminUtils; use frame_benchmarking::v1::account; use frame_benchmarking::v2::*; -use frame_support::dispatch::UnfilteredDispatchable; -use frame_support::{BoundedVec, assert_noop}; +use frame_support::{BoundedVec, assert_noop, dispatch::UnfilteredDispatchable}; use frame_system::RawOrigin; use pallet_subtensor::SubnetworkN; +use scale_info::prelude::vec; +use sp_runtime::traits::Get; use super::*; @@ -21,7 +23,8 @@ mod benchmarks { use super::*; #[cfg(test)] use crate::tests::mock; - use subtensor_runtime_common::NetUid; + use substrate_fixed::types::{I64F64, U64F64}; + use subtensor_runtime_common::{NetUid, TaoBalance}; #[benchmark] fn swap_authorities(a: Linear<0, 32>) { @@ -700,5 +703,202 @@ mod benchmarks { ); } + fn setup_worst_case_admin_subnet(netuid: NetUid) -> T::AccountId { + let owner: T::AccountId = whitelisted_caller(); + pallet_subtensor::Pallet::::set_admin_freeze_window(0); + pallet_subtensor::Pallet::::init_new_network(netuid, 1u16); + pallet_subtensor::Pallet::::set_max_allowed_uids(netuid, 1); + pallet_subtensor::SubnetOwner::::insert(netuid, owner.clone()); + owner + } + + fn max_emission_split() -> Vec { + let mut split = vec![4096u16; 15]; + split.push(4095u16); + split + } + + #[benchmark] + fn sudo_set_adjustment_alpha() { + let netuid = NetUid::from(1); + let owner = setup_worst_case_admin_subnet::(netuid); + + #[extrinsic_call] + _(RawOrigin::Signed(owner), netuid, u64::MAX); + } + + #[benchmark] + fn sudo_set_network_pow_registration_allowed() { + #[block] + { + assert!( + AdminUtils::::sudo_set_network_pow_registration_allowed( + RawOrigin::Root.into(), + NetUid::from(u16::MAX), + true, + ) + .is_err() + ); + } + } + + #[benchmark] + fn sudo_set_subnet_owner_cut() { + #[extrinsic_call] + _(RawOrigin::Root, u16::MAX); + } + + #[benchmark] + fn sudo_set_network_rate_limit() { + #[extrinsic_call] + _(RawOrigin::Root, u64::MAX); + } + + #[benchmark] + fn sudo_set_network_immunity_period() { + #[extrinsic_call] + _(RawOrigin::Root, u64::MAX); + } + + #[benchmark] + fn sudo_set_network_min_lock_cost() { + #[extrinsic_call] + _(RawOrigin::Root, TaoBalance::from(u64::MAX)); + } + + #[benchmark] + fn sudo_set_subnet_limit() { + #[extrinsic_call] + _(RawOrigin::Root, u16::MAX); + } + + #[benchmark] + fn sudo_set_lock_reduction_interval() { + #[extrinsic_call] + _(RawOrigin::Root, u64::MAX); + } + + #[benchmark] + fn sudo_set_evm_chain_id() { + #[extrinsic_call] + _(RawOrigin::Root, u64::MAX); + } + + #[benchmark] + fn sudo_set_recycle_or_burn() { + let netuid = NetUid::from(1); + let owner = setup_worst_case_admin_subnet::(netuid); + + #[extrinsic_call] + _( + RawOrigin::Signed(owner), + netuid, + pallet_subtensor::RecycleOrBurnEnum::Burn, + ); + } + + #[benchmark] + fn sudo_set_ck_burn() { + #[extrinsic_call] + _(RawOrigin::Root, u64::MAX); + } + #[benchmark] + fn sudo_set_mechanism_count() { + let netuid = NetUid::from(1); + let owner = setup_worst_case_admin_subnet::(netuid); + let mechanism_count = 16u8.into(); + assert!(pallet_subtensor::Pallet::::do_set_max_mechanism_count(mechanism_count).is_ok()); + + #[extrinsic_call] + _(RawOrigin::Signed(owner), netuid, mechanism_count); + } + + #[benchmark] + fn sudo_set_mechanism_emission_split() { + let netuid = NetUid::from(1); + let owner = setup_worst_case_admin_subnet::(netuid); + let mechanism_count = 16u8.into(); + assert!(pallet_subtensor::Pallet::::do_set_max_mechanism_count(mechanism_count).is_ok()); + assert!( + pallet_subtensor::Pallet::::do_set_mechanism_count(netuid, mechanism_count).is_ok() + ); + + #[extrinsic_call] + _(RawOrigin::Signed(owner), netuid, Some(max_emission_split())); + } + + #[benchmark] + fn sudo_set_tao_flow_cutoff() { + #[extrinsic_call] + _(RawOrigin::Root, I64F64::from_num(i64::MAX)); + } + + #[benchmark] + fn sudo_set_tao_flow_normalization_exponent() { + #[extrinsic_call] + _(RawOrigin::Root, U64F64::from_num(2)); + } + + #[benchmark] + fn sudo_set_tao_flow_smoothing_factor() { + #[extrinsic_call] + _(RawOrigin::Root, u64::MAX); + } + + #[benchmark] + fn sudo_set_net_tao_flow_enabled() { + #[extrinsic_call] + _(RawOrigin::Root, true); + } + + #[benchmark] + fn sudo_set_max_mechanism_count() { + #[extrinsic_call] + _(RawOrigin::Root, 16u8.into()); + } + + #[benchmark] + fn sudo_set_start_call_delay() { + #[extrinsic_call] + _(RawOrigin::Root, u64::MAX); + } + + #[benchmark] + fn sudo_set_burn_half_life() { + let netuid = NetUid::from(1); + let owner = setup_worst_case_admin_subnet::(netuid); + let max_half_life = pallet_subtensor::MaxBurnHalfLife::::get(); + + #[extrinsic_call] + _(RawOrigin::Signed(owner), netuid, max_half_life); + } + + #[benchmark] + fn sudo_set_burn_increase_mult() { + let netuid = NetUid::from(1); + let owner = setup_worst_case_admin_subnet::(netuid); + + #[extrinsic_call] + _(RawOrigin::Signed(owner), netuid, U64F64::from_num(3)); + } + + #[benchmark] + fn sudo_set_owner_cut_enabled() { + let netuid = NetUid::from(1); + let owner = setup_worst_case_admin_subnet::(netuid); + + #[extrinsic_call] + _(RawOrigin::Signed(owner), netuid, true); + } + + #[benchmark] + fn sudo_set_owner_cut_auto_lock_enabled() { + let netuid = NetUid::from(1); + let owner = setup_worst_case_admin_subnet::(netuid); + + #[extrinsic_call] + _(RawOrigin::Signed(owner), netuid, true); + } + impl_benchmark_test_suite!(AdminUtils, mock::new_test_ext(), mock::Test); } diff --git a/pallets/admin-utils/src/lib.rs b/pallets/admin-utils/src/lib.rs index 23df61e05c..723909e8ef 100644 --- a/pallets/admin-utils/src/lib.rs +++ b/pallets/admin-utils/src/lib.rs @@ -419,10 +419,7 @@ pub mod pallet { /// It is only callable by the root account or subnet owner. /// The extrinsic will call the Subtensor pallet to set the adjustment alpha. #[pallet::call_index(9)] - #[pallet::weight(Weight::from_parts(14_000_000, 0) - .saturating_add(::DbWeight::get().writes(1)) - .saturating_add(::DbWeight::get().reads(1)) - )] + #[pallet::weight(::WeightInfo::sudo_set_adjustment_alpha())] pub fn sudo_set_adjustment_alpha( origin: OriginFor, netuid: NetUid, @@ -675,10 +672,7 @@ pub mod pallet { /// It is only callable by the root account or subnet owner. /// The extrinsic will call the Subtensor pallet to set the network PoW registration allowed. #[pallet::call_index(20)] - #[pallet::weight( - Weight::from_parts(14_000_000, 0) - .saturating_add(::DbWeight::get().writes(1)) - )] + #[pallet::weight(::WeightInfo::sudo_set_network_pow_registration_allowed())] pub fn sudo_set_network_pow_registration_allowed( _origin: OriginFor, _netuid: NetUid, @@ -946,8 +940,7 @@ pub mod pallet { /// It is only callable by the root account. /// The extrinsic will call the Subtensor pallet to set the subnet owner cut. #[pallet::call_index(28)] - #[pallet::weight(Weight::from_parts(14_000_000, 0) - .saturating_add(::DbWeight::get().writes(1)))] + #[pallet::weight(::WeightInfo::sudo_set_subnet_owner_cut())] pub fn sudo_set_subnet_owner_cut( origin: OriginFor, subnet_owner_cut: u16, @@ -962,8 +955,7 @@ pub mod pallet { /// It is only callable by the root account. /// The extrinsic will call the Subtensor pallet to set the network rate limit. #[pallet::call_index(29)] - #[pallet::weight(Weight::from_parts(14_000_000, 0) - .saturating_add(::DbWeight::get().writes(1)))] + #[pallet::weight(::WeightInfo::sudo_set_network_rate_limit())] pub fn sudo_set_network_rate_limit( origin: OriginFor, rate_limit: u64, @@ -1005,8 +997,7 @@ pub mod pallet { /// It is only callable by the root account. /// The extrinsic will call the Subtensor pallet to set the immunity period for the network. #[pallet::call_index(35)] - #[pallet::weight(Weight::from_parts(14_000_000, 0) - .saturating_add(::DbWeight::get().writes(1)))] + #[pallet::weight(::WeightInfo::sudo_set_network_immunity_period())] pub fn sudo_set_network_immunity_period( origin: OriginFor, immunity_period: u64, @@ -1024,8 +1015,7 @@ pub mod pallet { /// It is only callable by the root account. /// The extrinsic will call the Subtensor pallet to set the min lock cost for the network. #[pallet::call_index(36)] - #[pallet::weight(Weight::from_parts(14_000_000, 0) - .saturating_add(::DbWeight::get().writes(1)))] + #[pallet::weight(::WeightInfo::sudo_set_network_min_lock_cost())] pub fn sudo_set_network_min_lock_cost( origin: OriginFor, lock_cost: TaoBalance, @@ -1043,8 +1033,7 @@ pub mod pallet { /// It is only callable by the root account. /// The extrinsic will call the Subtensor pallet to set the subnet limit. #[pallet::call_index(37)] - #[pallet::weight(Weight::from_parts(14_000_000, 0) - .saturating_add(::DbWeight::get().writes(1)))] + #[pallet::weight(::WeightInfo::sudo_set_subnet_limit())] pub fn sudo_set_subnet_limit(origin: OriginFor, max_subnets: u16) -> DispatchResult { ensure_root(origin)?; pallet_subtensor::Pallet::::set_max_subnets(max_subnets); @@ -1056,8 +1045,7 @@ pub mod pallet { /// It is only callable by the root account. /// The extrinsic will call the Subtensor pallet to set the lock reduction interval. #[pallet::call_index(38)] - #[pallet::weight(Weight::from_parts(14_000_000, 0) - .saturating_add(::DbWeight::get().writes(1)))] + #[pallet::weight(::WeightInfo::sudo_set_lock_reduction_interval())] pub fn sudo_set_lock_reduction_interval( origin: OriginFor, interval: u64, @@ -1374,9 +1362,7 @@ pub mod pallet { /// # Weight /// Weight is handled by the `#[pallet::weight]` attribute. #[pallet::call_index(58)] - #[pallet::weight(Weight::from_parts(27_199_000, 0) - .saturating_add(::DbWeight::get().reads(1_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_evm_chain_id())] pub fn sudo_set_evm_chain_id(origin: OriginFor, chain_id: u64) -> DispatchResult { // Ensure the call is made by the root account ensure_root(origin)?; @@ -1456,9 +1442,7 @@ pub mod pallet { /// - `recycle_or_burn`: The desired behaviour of the "burn" UID(s) for the subnet. /// #[pallet::call_index(80)] - #[pallet::weight(Weight::from_parts(20_000_000, 0) - .saturating_add(T::DbWeight::get().reads(2_u64)) - .saturating_add(T::DbWeight::get().writes(2_u64)))] // TODO: add benchmarks + #[pallet::weight(::WeightInfo::sudo_set_recycle_or_burn())] // TODO: add benchmarks pub fn sudo_set_recycle_or_burn( origin: OriginFor, netuid: NetUid, @@ -1798,9 +1782,7 @@ pub mod pallet { /// It is only callable by the root account. /// The extrinsic will call the Subtensor pallet to set the childkey burn. #[pallet::call_index(73)] - #[pallet::weight(Weight::from_parts(15_650_000, 0) - .saturating_add(::DbWeight::get().reads(1_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_ck_burn())] pub fn sudo_set_ck_burn(origin: OriginFor, burn: u64) -> DispatchResult { ensure_root(origin)?; pallet_subtensor::Pallet::::set_ck_burn(burn); @@ -1835,9 +1817,7 @@ pub mod pallet { /// Sets the desired number of mechanisms in a subnet #[pallet::call_index(76)] - #[pallet::weight(Weight::from_parts(15_000_000, 0) - .saturating_add(::DbWeight::get().reads(1_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_mechanism_count())] pub fn sudo_set_mechanism_count( origin: OriginFor, netuid: NetUid, @@ -1862,9 +1842,7 @@ pub mod pallet { /// Sets the emission split between mechanisms in a subnet #[pallet::call_index(77)] - #[pallet::weight(Weight::from_parts(15_000_000, 0) - .saturating_add(::DbWeight::get().reads(1_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_mechanism_emission_split())] pub fn sudo_set_mechanism_emission_split( origin: OriginFor, netuid: NetUid, @@ -1951,9 +1929,7 @@ pub mod pallet { /// Sets TAO flow cutoff value (A) #[pallet::call_index(81)] - #[pallet::weight(Weight::from_parts(7_343_000, 0) - .saturating_add(::DbWeight::get().reads(0)) - .saturating_add(::DbWeight::get().writes(1)))] + #[pallet::weight(::WeightInfo::sudo_set_tao_flow_cutoff())] pub fn sudo_set_tao_flow_cutoff( origin: OriginFor, flow_cutoff: I64F64, @@ -1966,9 +1942,7 @@ pub mod pallet { /// Sets TAO flow normalization exponent (p) #[pallet::call_index(82)] - #[pallet::weight(Weight::from_parts(7_343_000, 0) - .saturating_add(::DbWeight::get().reads(0)) - .saturating_add(::DbWeight::get().writes(1)))] + #[pallet::weight(::WeightInfo::sudo_set_tao_flow_normalization_exponent())] pub fn sudo_set_tao_flow_normalization_exponent( origin: OriginFor, exponent: U64F64, @@ -1989,9 +1963,7 @@ pub mod pallet { /// Sets TAO flow smoothing factor (alpha) #[pallet::call_index(83)] - #[pallet::weight(Weight::from_parts(7_343_000, 0) - .saturating_add(::DbWeight::get().reads(0)) - .saturating_add(::DbWeight::get().writes(1)))] + #[pallet::weight(::WeightInfo::sudo_set_tao_flow_smoothing_factor())] pub fn sudo_set_tao_flow_smoothing_factor( origin: OriginFor, smoothing_factor: u64, @@ -2006,9 +1978,7 @@ pub mod pallet { /// When enabled, emission shares use net flow = user flow - protocol cost. /// When disabled, emission shares use gross user flow only (current behavior). #[pallet::call_index(91)] - #[pallet::weight(Weight::from_parts(7_343_000, 0) - .saturating_add(::DbWeight::get().reads(0)) - .saturating_add(::DbWeight::get().writes(1)))] + #[pallet::weight(::WeightInfo::sudo_set_net_tao_flow_enabled())] pub fn sudo_set_net_tao_flow_enabled( origin: OriginFor, enabled: bool, @@ -2021,9 +1991,7 @@ pub mod pallet { /// Sets the global maximum number of mechanisms in a subnet #[pallet::call_index(88)] - #[pallet::weight(Weight::from_parts(15_000_000, 0) - .saturating_add(::DbWeight::get().reads(1_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_max_mechanism_count())] pub fn sudo_set_max_mechanism_count( origin: OriginFor, max_mechanism_count: MechId, @@ -2048,8 +2016,7 @@ pub mod pallet { /// Sets the delay before a subnet can call start #[pallet::call_index(85)] - #[pallet::weight(Weight::from_parts(14_000_000, 0) - .saturating_add(::DbWeight::get().writes(1)))] + #[pallet::weight(::WeightInfo::sudo_set_start_call_delay())] pub fn sudo_set_start_call_delay(origin: OriginFor, delay: u64) -> DispatchResult { ensure_root(origin)?; pallet_subtensor::Pallet::::set_start_call_delay(delay); @@ -2086,13 +2053,7 @@ pub mod pallet { /// Set BurnHalfLife for a subnet. /// It is only callable by root and subnet owner. #[pallet::call_index(89)] - #[pallet::weight(( - Weight::from_parts(25_000_000, 0) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(1)), - DispatchClass::Operational, - Pays::Yes, - ))] + #[pallet::weight((::WeightInfo::sudo_set_burn_half_life(), DispatchClass::Operational, Pays::Yes))] pub fn sudo_set_burn_half_life( origin: OriginFor, netuid: NetUid, @@ -2134,13 +2095,7 @@ pub mod pallet { /// Set BurnIncreaseMult for a subnet. /// It is only callable by root and subnet owner. #[pallet::call_index(90)] - #[pallet::weight(( - Weight::from_parts(25_000_000, 0) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(1)), - DispatchClass::Operational, - Pays::Yes, - ))] + #[pallet::weight((::WeightInfo::sudo_set_burn_increase_mult(), DispatchClass::Operational, Pays::Yes))] pub fn sudo_set_burn_increase_mult( origin: OriginFor, netuid: NetUid, @@ -2184,13 +2139,7 @@ pub mod pallet { /// Set whether the subnet owner cut is enabled for a subnet. /// It is only callable by root and subnet owner. #[pallet::call_index(92)] - #[pallet::weight(( - Weight::from_parts(25_000_000, 0) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(1)), - DispatchClass::Operational, - Pays::Yes, - ))] + #[pallet::weight((::WeightInfo::sudo_set_owner_cut_enabled(), DispatchClass::Operational, Pays::Yes))] pub fn sudo_set_owner_cut_enabled( origin: OriginFor, netuid: NetUid, @@ -2214,13 +2163,7 @@ pub mod pallet { /// Set whether subnet owner cut is auto-locked for a subnet. /// It is only callable by root and subnet owner. #[pallet::call_index(95)] - #[pallet::weight(( - Weight::from_parts(25_000_000, 0) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(1)), - DispatchClass::Operational, - Pays::Yes, - ))] + #[pallet::weight((::WeightInfo::sudo_set_owner_cut_auto_lock_enabled(), DispatchClass::Operational, Pays::Yes))] pub fn sudo_set_owner_cut_auto_lock_enabled( origin: OriginFor, netuid: NetUid, diff --git a/pallets/admin-utils/src/weights.rs b/pallets/admin-utils/src/weights.rs index 26b4a52fe0..b0802aee7a 100644 --- a/pallets/admin-utils/src/weights.rs +++ b/pallets/admin-utils/src/weights.rs @@ -94,6 +94,29 @@ pub trait WeightInfo { fn sudo_trim_to_max_allowed_uids() -> Weight; fn sudo_set_min_non_immune_uids() -> Weight; fn sudo_set_max_epochs_per_block() -> Weight; + fn sudo_set_adjustment_alpha() -> Weight; + fn sudo_set_network_pow_registration_allowed() -> Weight; + fn sudo_set_subnet_owner_cut() -> Weight; + fn sudo_set_network_rate_limit() -> Weight; + fn sudo_set_network_immunity_period() -> Weight; + fn sudo_set_network_min_lock_cost() -> Weight; + fn sudo_set_subnet_limit() -> Weight; + fn sudo_set_lock_reduction_interval() -> Weight; + fn sudo_set_evm_chain_id() -> Weight; + fn sudo_set_recycle_or_burn() -> Weight; + fn sudo_set_ck_burn() -> Weight; + fn sudo_set_mechanism_count() -> Weight; + fn sudo_set_mechanism_emission_split() -> Weight; + fn sudo_set_tao_flow_cutoff() -> Weight; + fn sudo_set_tao_flow_normalization_exponent() -> Weight; + fn sudo_set_tao_flow_smoothing_factor() -> Weight; + fn sudo_set_net_tao_flow_enabled() -> Weight; + fn sudo_set_max_mechanism_count() -> Weight; + fn sudo_set_start_call_delay() -> Weight; + fn sudo_set_burn_half_life() -> Weight; + fn sudo_set_burn_increase_mult() -> Weight; + fn sudo_set_owner_cut_enabled() -> Weight; + fn sudo_set_owner_cut_auto_lock_enabled() -> Weight; } /// Weights for `pallet_admin_utils` using the Substrate node and recommended hardware. @@ -1061,6 +1084,363 @@ impl WeightInfo for SubstrateWeight { Weight::from_parts(5_530_000, 0) .saturating_add(T::DbWeight::get().writes(1_u64)) } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerHyperparamRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::OwnerHyperparamRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdjustmentAlpha` (r:0 w:1) + /// Proof: `SubtensorModule::AdjustmentAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_adjustment_alpha() -> Weight { + // Proof Size summary in bytes: + // Measured: `1002` + // Estimated: `4467` + // Minimum execution time: 41_231_000 picoseconds. + Weight::from_parts(42_292_000, 4467) + .saturating_add(T::DbWeight::get().reads(8_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + fn sudo_set_network_pow_registration_allowed() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_692_000 picoseconds. + Weight::from_parts(1_913_000, 0) + } + /// Storage: `SubtensorModule::SubnetOwnerCut` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwnerCut` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_subnet_owner_cut() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_996_000 picoseconds. + Weight::from_parts(4_416_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworkRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_network_rate_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_996_000 picoseconds. + Weight::from_parts(4_267_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworkImmunityPeriod` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkImmunityPeriod` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_network_immunity_period() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_996_000 picoseconds. + Weight::from_parts(4_347_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworkMinLockCost` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkMinLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_network_min_lock_cost() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_896_000 picoseconds. + Weight::from_parts(4_166_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::SubnetLimit` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_subnet_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_896_000 picoseconds. + Weight::from_parts(4_246_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworkLockReductionInterval` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkLockReductionInterval` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_lock_reduction_interval() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_925_000 picoseconds. + Weight::from_parts(4_257_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `EVMChainId::ChainId` (r:0 w:1) + /// Proof: `EVMChainId::ChainId` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + fn sudo_set_evm_chain_id() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_655_000 picoseconds. + Weight::from_parts(2_875_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerHyperparamRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::OwnerHyperparamRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RecycleOrBurn` (r:0 w:1) + /// Proof: `SubtensorModule::RecycleOrBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_recycle_or_burn() -> Weight { + // Proof Size summary in bytes: + // Measured: `899` + // Estimated: `4364` + // Minimum execution time: 32_888_000 picoseconds. + Weight::from_parts(33_720_000, 4364) + .saturating_add(T::DbWeight::get().reads(7_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::CKBurn` (r:0 w:1) + /// Proof: `SubtensorModule::CKBurn` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_ck_burn() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_903_000 picoseconds. + Weight::from_parts(2_083_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TransactionKeyLastBlock` (r:1 w:1) + /// Proof: `SubtensorModule::TransactionKeyLastBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxMechanismCount` (r:1 w:0) + /// Proof: `SubtensorModule::MaxMechanismCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:1 w:0) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:1) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismEmissionSplit` (r:0 w:1) + /// Proof: `SubtensorModule::MechanismEmissionSplit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_mechanism_count() -> Weight { + // Proof Size summary in bytes: + // Measured: `1132` + // Estimated: `4597` + // Minimum execution time: 51_307_000 picoseconds. + Weight::from_parts(52_768_000, 4597) + .saturating_add(T::DbWeight::get().reads(10_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TransactionKeyLastBlock` (r:1 w:1) + /// Proof: `SubtensorModule::TransactionKeyLastBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismEmissionSplit` (r:0 w:1) + /// Proof: `SubtensorModule::MechanismEmissionSplit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_mechanism_emission_split() -> Weight { + // Proof Size summary in bytes: + // Measured: `1039` + // Estimated: `4504` + // Minimum execution time: 44_135_000 picoseconds. + Weight::from_parts(45_668_000, 4504) + .saturating_add(T::DbWeight::get().reads(8_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::TaoFlowCutoff` (r:0 w:1) + /// Proof: `SubtensorModule::TaoFlowCutoff` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_tao_flow_cutoff() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_993_000 picoseconds. + Weight::from_parts(2_173_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::FlowNormExponent` (r:0 w:1) + /// Proof: `SubtensorModule::FlowNormExponent` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_tao_flow_normalization_exponent() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_083_000 picoseconds. + Weight::from_parts(2_204_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::FlowEmaSmoothingFactor` (r:0 w:1) + /// Proof: `SubtensorModule::FlowEmaSmoothingFactor` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_tao_flow_smoothing_factor() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_943_000 picoseconds. + Weight::from_parts(2_093_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetTaoFlowEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::NetTaoFlowEnabled` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_net_tao_flow_enabled() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_952_000 picoseconds. + Weight::from_parts(2_073_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::MaxMechanismCount` (r:0 w:1) + /// Proof: `SubtensorModule::MaxMechanismCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_max_mechanism_count() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_674_000 picoseconds. + Weight::from_parts(2_835_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::StartCallDelay` (r:0 w:1) + /// Proof: `SubtensorModule::StartCallDelay` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_start_call_delay() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 4_026_000 picoseconds. + Weight::from_parts(4_166_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerHyperparamRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::OwnerHyperparamRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnHalfLife` (r:0 w:1) + /// Proof: `SubtensorModule::BurnHalfLife` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_burn_half_life() -> Weight { + // Proof Size summary in bytes: + // Measured: `1002` + // Estimated: `4467` + // Minimum execution time: 41_282_000 picoseconds. + Weight::from_parts(42_653_000, 4467) + .saturating_add(T::DbWeight::get().reads(8_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerHyperparamRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::OwnerHyperparamRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnIncreaseMult` (r:0 w:1) + /// Proof: `SubtensorModule::BurnIncreaseMult` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_burn_increase_mult() -> Weight { + // Proof Size summary in bytes: + // Measured: `1002` + // Estimated: `4467` + // Minimum execution time: 41_972_000 picoseconds. + Weight::from_parts(42_884_000, 4467) + .saturating_add(T::DbWeight::get().reads(8_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerCutEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::OwnerCutEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_owner_cut_enabled() -> Weight { + // Proof Size summary in bytes: + // Measured: `975` + // Estimated: `4440` + // Minimum execution time: 31_937_000 picoseconds. + Weight::from_parts(32_729_000, 4440) + .saturating_add(T::DbWeight::get().reads(6_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerCutAutoLockEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::OwnerCutAutoLockEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_owner_cut_auto_lock_enabled() -> Weight { + // Proof Size summary in bytes: + // Measured: `975` + // Estimated: `4440` + // Minimum execution time: 31_918_000 picoseconds. + Weight::from_parts(32_919_000, 4440) + .saturating_add(T::DbWeight::get().reads(6_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } } // For backwards compatibility and tests. @@ -2027,4 +2407,361 @@ impl WeightInfo for () { Weight::from_parts(5_530_000, 0) .saturating_add(RocksDbWeight::get().writes(1_u64)) } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerHyperparamRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::OwnerHyperparamRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdjustmentAlpha` (r:0 w:1) + /// Proof: `SubtensorModule::AdjustmentAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_adjustment_alpha() -> Weight { + // Proof Size summary in bytes: + // Measured: `1002` + // Estimated: `4467` + // Minimum execution time: 41_231_000 picoseconds. + Weight::from_parts(42_292_000, 4467) + .saturating_add(RocksDbWeight::get().reads(8_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + fn sudo_set_network_pow_registration_allowed() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_692_000 picoseconds. + Weight::from_parts(1_913_000, 0) + } + /// Storage: `SubtensorModule::SubnetOwnerCut` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwnerCut` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_subnet_owner_cut() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_996_000 picoseconds. + Weight::from_parts(4_416_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworkRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_network_rate_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_996_000 picoseconds. + Weight::from_parts(4_267_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworkImmunityPeriod` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkImmunityPeriod` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_network_immunity_period() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_996_000 picoseconds. + Weight::from_parts(4_347_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworkMinLockCost` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkMinLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_network_min_lock_cost() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_896_000 picoseconds. + Weight::from_parts(4_166_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::SubnetLimit` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_subnet_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_896_000 picoseconds. + Weight::from_parts(4_246_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworkLockReductionInterval` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkLockReductionInterval` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_lock_reduction_interval() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_925_000 picoseconds. + Weight::from_parts(4_257_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `EVMChainId::ChainId` (r:0 w:1) + /// Proof: `EVMChainId::ChainId` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + fn sudo_set_evm_chain_id() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_655_000 picoseconds. + Weight::from_parts(2_875_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerHyperparamRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::OwnerHyperparamRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RecycleOrBurn` (r:0 w:1) + /// Proof: `SubtensorModule::RecycleOrBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_recycle_or_burn() -> Weight { + // Proof Size summary in bytes: + // Measured: `899` + // Estimated: `4364` + // Minimum execution time: 32_888_000 picoseconds. + Weight::from_parts(33_720_000, 4364) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::CKBurn` (r:0 w:1) + /// Proof: `SubtensorModule::CKBurn` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_ck_burn() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_903_000 picoseconds. + Weight::from_parts(2_083_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TransactionKeyLastBlock` (r:1 w:1) + /// Proof: `SubtensorModule::TransactionKeyLastBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxMechanismCount` (r:1 w:0) + /// Proof: `SubtensorModule::MaxMechanismCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:1 w:0) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:1) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismEmissionSplit` (r:0 w:1) + /// Proof: `SubtensorModule::MechanismEmissionSplit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_mechanism_count() -> Weight { + // Proof Size summary in bytes: + // Measured: `1132` + // Estimated: `4597` + // Minimum execution time: 51_307_000 picoseconds. + Weight::from_parts(52_768_000, 4597) + .saturating_add(RocksDbWeight::get().reads(10_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TransactionKeyLastBlock` (r:1 w:1) + /// Proof: `SubtensorModule::TransactionKeyLastBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismEmissionSplit` (r:0 w:1) + /// Proof: `SubtensorModule::MechanismEmissionSplit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_mechanism_emission_split() -> Weight { + // Proof Size summary in bytes: + // Measured: `1039` + // Estimated: `4504` + // Minimum execution time: 44_135_000 picoseconds. + Weight::from_parts(45_668_000, 4504) + .saturating_add(RocksDbWeight::get().reads(8_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::TaoFlowCutoff` (r:0 w:1) + /// Proof: `SubtensorModule::TaoFlowCutoff` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_tao_flow_cutoff() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_993_000 picoseconds. + Weight::from_parts(2_173_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::FlowNormExponent` (r:0 w:1) + /// Proof: `SubtensorModule::FlowNormExponent` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_tao_flow_normalization_exponent() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_083_000 picoseconds. + Weight::from_parts(2_204_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::FlowEmaSmoothingFactor` (r:0 w:1) + /// Proof: `SubtensorModule::FlowEmaSmoothingFactor` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_tao_flow_smoothing_factor() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_943_000 picoseconds. + Weight::from_parts(2_093_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetTaoFlowEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::NetTaoFlowEnabled` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_net_tao_flow_enabled() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_952_000 picoseconds. + Weight::from_parts(2_073_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::MaxMechanismCount` (r:0 w:1) + /// Proof: `SubtensorModule::MaxMechanismCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_max_mechanism_count() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_674_000 picoseconds. + Weight::from_parts(2_835_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::StartCallDelay` (r:0 w:1) + /// Proof: `SubtensorModule::StartCallDelay` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_start_call_delay() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 4_026_000 picoseconds. + Weight::from_parts(4_166_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerHyperparamRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::OwnerHyperparamRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnHalfLife` (r:0 w:1) + /// Proof: `SubtensorModule::BurnHalfLife` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_burn_half_life() -> Weight { + // Proof Size summary in bytes: + // Measured: `1002` + // Estimated: `4467` + // Minimum execution time: 41_282_000 picoseconds. + Weight::from_parts(42_653_000, 4467) + .saturating_add(RocksDbWeight::get().reads(8_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerHyperparamRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::OwnerHyperparamRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnIncreaseMult` (r:0 w:1) + /// Proof: `SubtensorModule::BurnIncreaseMult` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_burn_increase_mult() -> Weight { + // Proof Size summary in bytes: + // Measured: `1002` + // Estimated: `4467` + // Minimum execution time: 41_972_000 picoseconds. + Weight::from_parts(42_884_000, 4467) + .saturating_add(RocksDbWeight::get().reads(8_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerCutEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::OwnerCutEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_owner_cut_enabled() -> Weight { + // Proof Size summary in bytes: + // Measured: `975` + // Estimated: `4440` + // Minimum execution time: 31_937_000 picoseconds. + Weight::from_parts(32_729_000, 4440) + .saturating_add(RocksDbWeight::get().reads(6_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerCutAutoLockEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::OwnerCutAutoLockEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_owner_cut_auto_lock_enabled() -> Weight { + // Proof Size summary in bytes: + // Measured: `975` + // Estimated: `4440` + // Minimum execution time: 31_918_000 picoseconds. + Weight::from_parts(32_919_000, 4440) + .saturating_add(RocksDbWeight::get().reads(6_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } } diff --git a/pallets/commitments/src/weights.rs b/pallets/commitments/src/weights.rs index bd36d96e2b..9dc13428ae 100644 --- a/pallets/commitments/src/weights.rs +++ b/pallets/commitments/src/weights.rs @@ -36,8 +36,24 @@ pub trait WeightInfo { /// Weights for `pallet_commitments` using the Substrate node and recommended hardware. pub struct SubstrateWeight(PhantomData); impl WeightInfo for SubstrateWeight { + /// Storage: `Commitments::UsedSpaceOf` (r:1 w:1) + /// Proof: `Commitments::UsedSpaceOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEpochIndex` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Commitments::MaxSpace` (r:1 w:0) + /// Proof: `Commitments::MaxSpace` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Commitments::CommitmentOf` (r:1 w:1) + /// Proof: `Commitments::CommitmentOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Commitments::TimelockedIndex` (r:1 w:1) + /// Proof: `Commitments::TimelockedIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Commitments::LastCommitment` (r:0 w:1) + /// Proof: `Commitments::LastCommitment` (`max_values`: None, `max_size`: None, mode: `Measured`) fn set_commitment() -> Weight { - Weight::from_parts(33_480_000, 0) + // Proof Size summary in bytes: + // Measured: `504` + // Estimated: `3969` + // Minimum execution time: 25_938_000 picoseconds. + Weight::from_parts(26_900_000, 3969) .saturating_add(T::DbWeight::get().reads(5_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } @@ -49,8 +65,24 @@ impl WeightInfo for SubstrateWeight { // For backwards compatibility and tests. impl WeightInfo for () { + /// Storage: `Commitments::UsedSpaceOf` (r:1 w:1) + /// Proof: `Commitments::UsedSpaceOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEpochIndex` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Commitments::MaxSpace` (r:1 w:0) + /// Proof: `Commitments::MaxSpace` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Commitments::CommitmentOf` (r:1 w:1) + /// Proof: `Commitments::CommitmentOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Commitments::TimelockedIndex` (r:1 w:1) + /// Proof: `Commitments::TimelockedIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Commitments::LastCommitment` (r:0 w:1) + /// Proof: `Commitments::LastCommitment` (`max_values`: None, `max_size`: None, mode: `Measured`) fn set_commitment() -> Weight { - Weight::from_parts(33_480_000, 0) + // Proof Size summary in bytes: + // Measured: `504` + // Estimated: `3969` + // Minimum execution time: 25_938_000 picoseconds. + Weight::from_parts(26_900_000, 3969) .saturating_add(RocksDbWeight::get().reads(5_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } diff --git a/pallets/drand/src/weights.rs b/pallets/drand/src/weights.rs index 5ee76f7263..666e733a61 100644 --- a/pallets/drand/src/weights.rs +++ b/pallets/drand/src/weights.rs @@ -27,8 +27,22 @@ impl WeightInfo for SubstrateWeight { Weight::from_parts(8_766_000, 0) .saturating_add(T::DbWeight::get().writes(2_u64)) } + /// Storage: `Drand::BeaconConfig` (r:1 w:0) + /// Proof: `Drand::BeaconConfig` (`max_values`: Some(1), `max_size`: Some(238), added: 733, mode: `MaxEncodedLen`) + /// Storage: `Drand::LastStoredRound` (r:1 w:1) + /// Proof: `Drand::LastStoredRound` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `Drand::OldestStoredRound` (r:1 w:1) + /// Proof: `Drand::OldestStoredRound` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `Drand::Pulses` (r:0 w:1) + /// Proof: `Drand::Pulses` (`max_values`: None, `max_size`: Some(211), added: 2686, mode: `MaxEncodedLen`) + /// Storage: `Drand::NextUnsignedAt` (r:0 w:1) + /// Proof: `Drand::NextUnsignedAt` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) fn write_pulse() -> Weight { - Weight::from_parts(4_294_000_000, 0) + // Proof Size summary in bytes: + // Measured: `238` + // Estimated: `1723` + // Minimum execution time: 5_040_693_000 picoseconds. + Weight::from_parts(5_051_984_000, 1723) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } @@ -44,8 +58,22 @@ impl WeightInfo for () { Weight::from_parts(8_766_000, 0) .saturating_add(RocksDbWeight::get().writes(2_u64)) } + /// Storage: `Drand::BeaconConfig` (r:1 w:0) + /// Proof: `Drand::BeaconConfig` (`max_values`: Some(1), `max_size`: Some(238), added: 733, mode: `MaxEncodedLen`) + /// Storage: `Drand::LastStoredRound` (r:1 w:1) + /// Proof: `Drand::LastStoredRound` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `Drand::OldestStoredRound` (r:1 w:1) + /// Proof: `Drand::OldestStoredRound` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `Drand::Pulses` (r:0 w:1) + /// Proof: `Drand::Pulses` (`max_values`: None, `max_size`: Some(211), added: 2686, mode: `MaxEncodedLen`) + /// Storage: `Drand::NextUnsignedAt` (r:0 w:1) + /// Proof: `Drand::NextUnsignedAt` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) fn write_pulse() -> Weight { - Weight::from_parts(4_294_000_000, 0) + // Proof Size summary in bytes: + // Measured: `238` + // Estimated: `1723` + // Minimum execution time: 5_040_693_000 picoseconds. + Weight::from_parts(5_051_984_000, 1723) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } diff --git a/pallets/limit-orders/src/benchmarking.rs b/pallets/limit-orders/src/benchmarking.rs index 79bc60f516..0d07254190 100644 --- a/pallets/limit-orders/src/benchmarking.rs +++ b/pallets/limit-orders/src/benchmarking.rs @@ -56,6 +56,11 @@ pub fn order_id(order: &crate::VersionedOrder) - /// - constructs a worst-case `LimitBuy` order (amount = 1 TAO, price = u64::MAX, /// expiry = u64::MAX, fee 1 %, distinct fee recipient), and /// - signs it with the generated key. +// Keep per-order execution stable across benchmark repeats. The amount +// is small but non-zero so each valid buy follows the same pool and +// non-zero-fee path without pushing reserves into edge cases. +const BENCHMARK_ORDER_AMOUNT: u64 = 1_000_000; + fn make_benchmark_orders( n: u32, netuid: NetUid, @@ -70,13 +75,14 @@ fn make_benchmark_orders( let fee_recipient: T::AccountId = frame_benchmarking::account("fee_recipient", i, 0); T::SwapInterface::set_up_acc_for_benchmark(&account, &account); + T::SwapInterface::set_up_acc_for_benchmark(&fee_recipient, &fee_recipient); let order = crate::VersionedOrder::V1(crate::Order { signer: account.clone(), hotkey: account.clone(), netuid, order_type: OrderType::LimitBuy, - amount: 1_000_000_000u64, + amount: BENCHMARK_ORDER_AMOUNT, limit_price: u64::MAX, expiry: u64::MAX, fee_rate: Perbill::from_percent(1), @@ -135,8 +141,10 @@ mod benchmarks { assert_eq!(crate::LimitOrdersEnabled::::get(), false); } - /// Worst case: `n` orders each with a distinct signer (coldkey/hotkey) and a - /// distinct fee recipient, maximising per-order storage reads and fee transfers. + /// Worst case: `n` valid orders each with a distinct signer (coldkey/hotkey) + /// and a distinct fee recipient. The benchmark runs in all-or-nothing mode + /// and verifies every order is fulfilled, so silently skipped or stale orders + /// cannot produce cheaper/noisy measurements across repeats. #[benchmark] fn execute_orders(n: Linear<1, { T::MaxOrdersPerBatch::get() }>) { let netuid = NetUid::from(1u16); @@ -144,13 +152,30 @@ mod benchmarks { T::SwapInterface::set_up_netuid_for_benchmark(netuid); let orders = make_benchmark_orders::(n, netuid); + let order_ids = orders + .iter() + .map(|signed| order_id::(&signed.order)) + .collect::>(); + + // Benchmark externalities are reused across samples/repeats. Remove any + // terminal status left by an earlier run so every sample measures the same + // successful execution path, rather than the cheaper already-processed path. + for id in &order_ids { + Orders::::remove(id); + } let bounded_orders: frame_support::BoundedVec<_, T::MaxOrdersPerBatch> = frame_support::BoundedVec::try_from(orders).unwrap(); let caller: T::AccountId = frame_benchmarking::account("caller", 0, 0); + frame_system::Pallet::::reset_events(); + #[extrinsic_call] - _(RawOrigin::Signed(caller), bounded_orders, false); + _(RawOrigin::Signed(caller), bounded_orders, true); + + for id in order_ids { + assert_eq!(Orders::::get(id), Some(crate::OrderStatus::Fulfilled)); + } } /// Worst case: `n` buy orders each with a distinct signer and fee recipient, diff --git a/pallets/limit-orders/src/weights.rs b/pallets/limit-orders/src/weights.rs index cb643485ce..c7027218f3 100644 --- a/pallets/limit-orders/src/weights.rs +++ b/pallets/limit-orders/src/weights.rs @@ -123,10 +123,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1134 + n * (283 ±0)` // Estimated: `6148 + n * (5158 ±0)` - // Minimum execution time: 573_493_000 picoseconds. - Weight::from_parts(37_709_904, 6148) - // Standard Error: 196_193 - .saturating_add(Weight::from_parts(499_740_014, 0).saturating_mul(n.into())) + // Minimum execution time: 616_055_000 picoseconds. + Weight::from_parts(58_211_144, 6148) + // Standard Error: 183_264 + .saturating_add(Weight::from_parts(539_638_749, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(17_u64)) .saturating_add(T::DbWeight::get().reads((11_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(10_u64)) @@ -190,10 +190,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1263 + n * (283 ±0)` // Estimated: `8727 + n * (5158 ±0)` - // Minimum execution time: 717_240_000 picoseconds. - Weight::from_parts(552_675_417, 8727) - // Standard Error: 110_663 - .saturating_add(Weight::from_parts(241_301_726, 0).saturating_mul(n.into())) + // Minimum execution time: 1_033_784_000 picoseconds. + Weight::from_parts(663_963_130, 8727) + // Standard Error: 122_392 + .saturating_add(Weight::from_parts(363_899_902, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(25_u64)) .saturating_add(T::DbWeight::get().reads((10_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(15_u64)) @@ -282,10 +282,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1134 + n * (283 ±0)` // Estimated: `6148 + n * (5158 ±0)` - // Minimum execution time: 573_493_000 picoseconds. - Weight::from_parts(37_709_904, 6148) - // Standard Error: 196_193 - .saturating_add(Weight::from_parts(499_740_014, 0).saturating_mul(n.into())) + // Minimum execution time: 616_055_000 picoseconds. + Weight::from_parts(58_211_144, 6148) + // Standard Error: 183_264 + .saturating_add(Weight::from_parts(539_638_749, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(17_u64)) .saturating_add(RocksDbWeight::get().reads((11_u64).saturating_mul(n.into()))) .saturating_add(RocksDbWeight::get().writes(10_u64)) @@ -349,10 +349,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1263 + n * (283 ±0)` // Estimated: `8727 + n * (5158 ±0)` - // Minimum execution time: 717_240_000 picoseconds. - Weight::from_parts(552_675_417, 8727) - // Standard Error: 110_663 - .saturating_add(Weight::from_parts(241_301_726, 0).saturating_mul(n.into())) + // Minimum execution time: 1_033_784_000 picoseconds. + Weight::from_parts(663_963_130, 8727) + // Standard Error: 122_392 + .saturating_add(Weight::from_parts(363_899_902, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(25_u64)) .saturating_add(RocksDbWeight::get().reads((10_u64).saturating_mul(n.into()))) .saturating_add(RocksDbWeight::get().writes(15_u64)) diff --git a/pallets/proxy/src/weights.rs b/pallets/proxy/src/weights.rs index d965e56124..edc184b4b2 100644 --- a/pallets/proxy/src/weights.rs +++ b/pallets/proxy/src/weights.rs @@ -92,12 +92,12 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `894 + a * (68 ±0) + p * (37 ±0)` // Estimated: `8615 + a * (68 ±0) + p * (37 ±0)` - // Minimum execution time: 48_461_000 picoseconds. - Weight::from_parts(50_907_754, 8615) - // Standard Error: 1_796 - .saturating_add(Weight::from_parts(193_963, 0).saturating_mul(a.into())) - // Standard Error: 7_193 - .saturating_add(Weight::from_parts(31_645, 0).saturating_mul(p.into())) + // Minimum execution time: 46_980_000 picoseconds. + Weight::from_parts(47_891_858, 8615) + // Standard Error: 1_571 + .saturating_add(Weight::from_parts(228_235, 0).saturating_mul(a.into())) + // Standard Error: 6_293 + .saturating_add(Weight::from_parts(76_402, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(5_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 68).saturating_mul(a.into())) @@ -128,16 +128,14 @@ impl WeightInfo for SubstrateWeight { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) /// The range of component `a` is `[0, 74]`. /// The range of component `p` is `[1, 19]`. - fn reject_announcement(a: u32, p: u32, ) -> Weight { + fn reject_announcement(a: u32, _p: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `299 + a * (68 ±0)` // Estimated: `8615` - // Minimum execution time: 23_735_000 picoseconds. - Weight::from_parts(24_366_666, 8615) - // Standard Error: 1_017 - .saturating_add(Weight::from_parts(180_283, 0).saturating_mul(a.into())) - // Standard Error: 4_075 - .saturating_add(Weight::from_parts(57_043, 0).saturating_mul(p.into())) + // Minimum execution time: 22_834_000 picoseconds. + Weight::from_parts(24_388_003, 8615) + // Standard Error: 1_290 + .saturating_add(Weight::from_parts(194_107, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -308,12 +306,12 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `894 + a * (68 ±0) + p * (37 ±0)` // Estimated: `8615 + a * (68 ±0) + p * (37 ±0)` - // Minimum execution time: 48_461_000 picoseconds. - Weight::from_parts(50_907_754, 8615) - // Standard Error: 1_796 - .saturating_add(Weight::from_parts(193_963, 0).saturating_mul(a.into())) - // Standard Error: 7_193 - .saturating_add(Weight::from_parts(31_645, 0).saturating_mul(p.into())) + // Minimum execution time: 46_980_000 picoseconds. + Weight::from_parts(47_891_858, 8615) + // Standard Error: 1_571 + .saturating_add(Weight::from_parts(228_235, 0).saturating_mul(a.into())) + // Standard Error: 6_293 + .saturating_add(Weight::from_parts(76_402, 0).saturating_mul(p.into())) .saturating_add(RocksDbWeight::get().reads(5_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 68).saturating_mul(a.into())) @@ -344,16 +342,14 @@ impl WeightInfo for () { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) /// The range of component `a` is `[0, 74]`. /// The range of component `p` is `[1, 19]`. - fn reject_announcement(a: u32, p: u32, ) -> Weight { + fn reject_announcement(a: u32, _p: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `299 + a * (68 ±0)` // Estimated: `8615` - // Minimum execution time: 23_735_000 picoseconds. - Weight::from_parts(24_366_666, 8615) - // Standard Error: 1_017 - .saturating_add(Weight::from_parts(180_283, 0).saturating_mul(a.into())) - // Standard Error: 4_075 - .saturating_add(Weight::from_parts(57_043, 0).saturating_mul(p.into())) + // Minimum execution time: 22_834_000 picoseconds. + Weight::from_parts(24_388_003, 8615) + // Standard Error: 1_290 + .saturating_add(Weight::from_parts(194_107, 0).saturating_mul(a.into())) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index f96374590e..6fa5ab5e39 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -363,6 +363,7 @@ pub mod pallet { } /// Store an encrypted extrinsic for later execution in on_initialize. + #[allow(unknown_lints, benchmarked_weight_not_plugged)] #[pallet::call_index(2)] #[pallet::weight(store_encrypted_weight())] pub fn store_encrypted( diff --git a/pallets/subtensor/src/benchmarks.rs b/pallets/subtensor/src/benchmarks.rs index 809babaae9..0a05a1cb17 100644 --- a/pallets/subtensor/src/benchmarks.rs +++ b/pallets/subtensor/src/benchmarks.rs @@ -1,6 +1,11 @@ //! Subtensor pallet benchmarking. -#![allow(clippy::arithmetic_side_effects, clippy::unwrap_used)] +#![allow( + clippy::arithmetic_side_effects, + clippy::unwrap_used, + clippy::expect_used +)] #![cfg(feature = "runtime-benchmarks")] +#![allow(deprecated)] use crate::Pallet as Subtensor; use crate::staking::lock::LockState; @@ -104,6 +109,150 @@ mod pallet_benchmarks { frame_system::Pallet::::set_block_number(block_number); } + /// Seed a mainnet-like block_step state without measuring registration costs. + /// + /// The measured block_step path iterates over subnets repeatedly: burn-price + /// updates, coinbase, moving prices, root proportion, pending children, + /// root dividend auto-claims, and root coldkey map population. Keep the setup + /// intentionally large so this hook benchmark reflects a 128-subnet mainnet + /// state instead of a one-subnet toy state. + /// + /// Only the runtime-capped number of subnet epochs are made due in the measured + /// block. The remaining subnets are fully populated and live, but not eligible + /// for epoch execution in this block. This mirrors production behavior where + /// `MaxEpochsPerBlock` bounds the number of Yuma epochs that can execute in a + /// single block. + fn setup_block_step_benchmark() { + const MAINNET_SUBNETS: u16 = 128; + const MAINNET_NEURONS_PER_SUBNET: u16 = 256; + const MAINNET_VALIDATORS_PER_SUBNET: u16 = 128; + const TEMPO: u16 = 360; + const CURRENT_BLOCK: u64 = 7_000; + const SUBNET_TAO_RESERVE: u64 = 1_000_000_000_000_000; + const SUBNET_ALPHA_RESERVE: u64 = 1_000_000_000_000_000_000; + const VALIDATOR_ALPHA_STAKE: u64 = 1_000_000_000; + + set_benchmark_block_number::(CURRENT_BLOCK); + + let max_epochs_this_block = + u16::from(Subtensor::::get_max_epochs_per_block()).min(MAINNET_SUBNETS); + assert!( + max_epochs_this_block > 0, + "block_step benchmark requires MaxEpochsPerBlock > 0" + ); + + let dense_weights = (0..MAINNET_NEURONS_PER_SUBNET) + .map(|dest_uid| (dest_uid, u16::MAX)) + .collect::>(); + + Subtensor::::init_new_network(NetUid::ROOT, TEMPO); + Subtensor::::set_network_registration_allowed(NetUid::ROOT, true); + Subtensor::::set_max_allowed_uids(NetUid::ROOT, MAINNET_NEURONS_PER_SUBNET); + FirstEmissionBlockNumber::::insert(NetUid::ROOT, CURRENT_BLOCK); + LastEpochBlock::::insert(NetUid::ROOT, CURRENT_BLOCK); + LastMechansimStepBlock::::insert(NetUid::ROOT, CURRENT_BLOCK); + BlocksSinceLastStep::::insert(NetUid::ROOT, 0); + PendingEpochAt::::insert(NetUid::ROOT, 0); + SubtokenEnabled::::insert(NetUid::ROOT, true); + SubnetEmissionEnabled::::insert(NetUid::ROOT, true); + set_reserves::( + NetUid::ROOT, + TaoBalance::from(SUBNET_TAO_RESERVE), + AlphaBalance::from(SUBNET_ALPHA_RESERVE), + ); + SubnetAlphaOut::::insert(NetUid::ROOT, AlphaBalance::from(SUBNET_ALPHA_RESERVE)); + + // Root is also populated because block_step ends by rebuilding root coldkey + // staking maps. These root neurons mirror the high-cardinality account map + // shape seen on a populated mainnet chain. + let root_index = NetUidStorageIndex::from(NetUid::ROOT); + for uid in 0..MAINNET_NEURONS_PER_SUBNET { + let hotkey: T::AccountId = account("block_step_root_hot", 0, u32::from(uid)); + let coldkey: T::AccountId = account("block_step_root_cold", 0, u32::from(uid)); + + Owner::::insert(&hotkey, &coldkey); + Subtensor::::append_neuron(NetUid::ROOT, &hotkey, 0); + Subtensor::::set_validator_permit_for_uid(NetUid::ROOT, uid, true); + Subtensor::::increase_stake_for_hotkey_and_coldkey_on_subnet( + &hotkey, + &coldkey, + NetUid::ROOT, + AlphaBalance::from(VALIDATOR_ALPHA_STAKE), + ); + + if uid < MAINNET_VALIDATORS_PER_SUBNET { + Weights::::insert(root_index, uid, dense_weights.clone()); + Bonds::::insert(root_index, uid, dense_weights.clone()); + } + } + + // 128 live non-root subnets, each with 256 registered neurons. The first 128 + // neurons per subnet are validator-permit neurons with dense weight and bond + // rows. Only the first `MaxEpochsPerBlock` subnets are scheduled to run their + // epoch in this measured block; the rest remain live ambient state. + for subnet_index in 1..=MAINNET_SUBNETS { + let netuid = NetUid::from(subnet_index); + let netuid_index = NetUidStorageIndex::from(netuid); + let subnet_owner: T::AccountId = + account("block_step_subnet_owner", u32::from(subnet_index), 0); + let epoch_is_due_this_block = subnet_index <= max_epochs_this_block; + + Subtensor::::init_new_network(netuid, TEMPO); + SubtokenEnabled::::insert(netuid, true); + SubnetEmissionEnabled::::insert(netuid, true); + SubnetOwner::::insert(netuid, subnet_owner); + Subtensor::::set_network_registration_allowed(netuid, true); + Subtensor::::set_max_allowed_uids(netuid, MAINNET_NEURONS_PER_SUBNET); + Subtensor::::set_max_registrations_per_block(netuid, MAINNET_NEURONS_PER_SUBNET); + Subtensor::::set_target_registrations_per_interval( + netuid, + MAINNET_NEURONS_PER_SUBNET, + ); + Subtensor::::set_burn(netuid, benchmark_registration_burn()); + set_reserves::( + netuid, + TaoBalance::from(SUBNET_TAO_RESERVE), + AlphaBalance::from(SUBNET_ALPHA_RESERVE), + ); + SubnetAlphaOut::::insert(netuid, AlphaBalance::from(SUBNET_ALPHA_RESERVE)); + FirstEmissionBlockNumber::::insert(netuid, CURRENT_BLOCK); + + if epoch_is_due_this_block { + PendingEpochAt::::insert(netuid, CURRENT_BLOCK); + LastEpochBlock::::insert(netuid, 0); + LastMechansimStepBlock::::insert(netuid, 0); + BlocksSinceLastStep::::insert(netuid, CURRENT_BLOCK); + } else { + PendingEpochAt::::insert(netuid, 0); + LastEpochBlock::::insert(netuid, CURRENT_BLOCK); + LastMechansimStepBlock::::insert(netuid, CURRENT_BLOCK); + BlocksSinceLastStep::::insert(netuid, 0); + } + + for uid in 0..MAINNET_NEURONS_PER_SUBNET { + let hotkey: T::AccountId = + account("block_step_hot", u32::from(subnet_index), u32::from(uid)); + let coldkey: T::AccountId = + account("block_step_cold", u32::from(subnet_index), u32::from(uid)); + + Owner::::insert(&hotkey, &coldkey); + Subtensor::::append_neuron(netuid, &hotkey, 0); + Subtensor::::increase_stake_for_hotkey_and_coldkey_on_subnet( + &hotkey, + &coldkey, + netuid, + AlphaBalance::from(VALIDATOR_ALPHA_STAKE), + ); + + if uid < MAINNET_VALIDATORS_PER_SUBNET { + Subtensor::::set_validator_permit_for_uid(netuid, uid, true); + Weights::::insert(netuid_index, uid, dense_weights.clone()); + Bonds::::insert(netuid_index, uid, dense_weights.clone()); + } + } + } + } + fn runtime_call(call: Call) -> ::RuntimeCall { ::RuntimeCall::from(call).into() } @@ -890,6 +1039,15 @@ mod pallet_benchmarks { ); } + #[benchmark] + fn block_step() { + setup_block_step_benchmark::(); + + #[block] + { + assert_ok!(Subtensor::::block_step()); + } + } #[benchmark] fn start_call() { let netuid = NetUid::from(1); @@ -2478,6 +2636,491 @@ mod pallet_benchmarks { } } + fn setup_worst_case_registered_subnet( + label: &'static str, + netuid: NetUid, + uid_count: u32, + ) -> (T::AccountId, T::AccountId, Vec, Vec) { + let uid_count = uid_count.clamp(1, 4096); + let mut uids = Vec::with_capacity(uid_count as usize); + let mut weights = Vec::with_capacity(uid_count as usize); + let mut signer_hotkey: Option = None; + let mut signer_coldkey: Option = None; + + Subtensor::::init_new_network(netuid, 1); + SubtokenEnabled::::insert(netuid, true); + Subtensor::::set_network_registration_allowed(netuid, true); + Subtensor::::set_max_allowed_uids(netuid, 4096); + Subtensor::::set_max_registrations_per_block(netuid, 4096); + Subtensor::::set_target_registrations_per_interval(netuid, 4096); + Subtensor::::set_difficulty(netuid, 1); + Subtensor::::set_weights_set_rate_limit(netuid, 0); + Subtensor::::set_stake_threshold(0); + set_reserves::( + netuid, + TaoBalance::from(1_000_000_000_000_u64), + AlphaBalance::from(1_000_000_000_000_000_u64), + ); + + for seed in 0..uid_count { + let hotkey: T::AccountId = account(label, seed, 1); + let coldkey: T::AccountId = account(label, seed, 2); + Burn::::insert(netuid, benchmark_registration_burn()); + RegistrationsThisInterval::::insert(netuid, 0); + fund_for_registration::(netuid, &coldkey); + + assert_ok!(Subtensor::::burned_register( + RawOrigin::Signed(coldkey.clone()).into(), + netuid, + hotkey.clone(), + )); + + let uid = Subtensor::::get_uid_for_net_and_hotkey(netuid, &hotkey).unwrap(); + Subtensor::::set_validator_permit_for_uid(netuid, uid, true); + uids.push(uid); + weights.push(uid.saturating_add(1)); + + if signer_hotkey.is_none() { + signer_hotkey = Some(hotkey); + signer_coldkey = Some(coldkey); + } + } + + ( + signer_hotkey.unwrap(), + signer_coldkey.unwrap(), + uids, + weights, + ) + } + + fn setup_mechanism_weight_benchmark( + _mecid: subtensor_runtime_common::MechId, + uid_count: u32, + ) -> (NetUid, T::AccountId, Vec, Vec, Vec, u64) { + let netuid = NetUid::from(1); + let version_key: u64 = 0; + let (hotkey, _coldkey, uids, weight_values) = + setup_worst_case_registered_subnet::("mechanism", netuid, uid_count); + let salt: Vec = vec![u16::MAX; uid_count.clamp(1, 4096) as usize]; + Subtensor::::set_commit_reveal_weights_enabled(netuid, true); + + (netuid, hotkey, uids, weight_values, salt, version_key) + } + + #[benchmark] + fn set_mechanism_weights(n: Linear<1, 4096>) { + let mecid = subtensor_runtime_common::MechId::MAIN; + let (netuid, hotkey, uids, weight_values, _salt, version_key) = + setup_mechanism_weight_benchmark::(mecid, n); + Subtensor::::set_commit_reveal_weights_enabled(netuid, false); + + #[extrinsic_call] + _( + RawOrigin::Signed(hotkey.clone()), + netuid, + mecid, + uids, + weight_values, + version_key, + ); + } + + #[benchmark] + fn commit_mechanism_weights() { + let mecid = subtensor_runtime_common::MechId::MAIN; + let (netuid, hotkey, uids, weight_values, _salt, version_key) = + setup_mechanism_weight_benchmark::(mecid, 4096); + let commit_hash: H256 = + BlakeTwo256::hash_of(&(hotkey.clone(), netuid, uids, weight_values, version_key)); + let netuid_index = Subtensor::::get_mechanism_storage_index(netuid, mecid); + let mut commits = VecDeque::new(); + for i in 0..9u8 { + commits.push_back((H256::repeat_byte(i + 1), 0, 0, 0)); + } + WeightCommits::::insert(netuid_index, &hotkey, commits); + + #[extrinsic_call] + _( + RawOrigin::Signed(hotkey.clone()), + netuid, + mecid, + commit_hash, + ); + } + #[benchmark] + fn reveal_mechanism_weights(n: Linear<1, 4096>) { + let mecid = subtensor_runtime_common::MechId::MAIN; + let netuid = NetUid::from(1); + let netuid_index = Subtensor::::get_mechanism_storage_index(netuid, mecid); + let version_key: u64 = 0; + let uid_count = n.clamp(1, 4096); + + // Use a non-firing benchmark subnet. This mirrors the existing + // `reveal_weights` benchmark and removes the stateful scheduler + // look-ahead from this extrinsic benchmark's setup. The measured code is + // still the real reveal dispatch below; tempo is only used here to keep + // current_epoch_with_lookahead() pinned to SubnetEpochIndex. + Subtensor::::init_new_network(netuid, 0); + SubtokenEnabled::::insert(netuid, true); + Subtensor::::set_network_registration_allowed(netuid, true); + Subtensor::::set_max_allowed_uids(netuid, 4096); + Subtensor::::set_max_registrations_per_block(netuid, 4096); + Subtensor::::set_target_registrations_per_interval(netuid, 4096); + Subtensor::::set_weights_set_rate_limit(netuid, 0); + Subtensor::::set_stake_threshold(0); + Subtensor::::set_commit_reveal_weights_enabled(netuid, true); + Subtensor::::set_burn(netuid, benchmark_registration_burn()); + set_reserves::( + netuid, + TaoBalance::from(1_000_000_000_000_u64), + AlphaBalance::from(1_000_000_000_000_000_u64), + ); + + let reveal_period = core::cmp::max(MIN_COMMIT_REVEAL_PEROIDS, 1_u64); + assert_ok!(Subtensor::::set_reveal_period(netuid, reveal_period)); + + let mut uids = Vec::with_capacity(uid_count as usize); + let mut weight_values = Vec::with_capacity(uid_count as usize); + let mut signer_hotkey: Option = None; + + for seed in 0..uid_count { + let hotkey: T::AccountId = account("mechanism_reveal_hot", seed, 1); + let coldkey: T::AccountId = account("mechanism_reveal_cold", seed, 2); + + Burn::::insert(netuid, benchmark_registration_burn()); + RegistrationsThisInterval::::insert(netuid, 0); + fund_for_registration::(netuid, &coldkey); + + assert_ok!(Subtensor::::burned_register( + RawOrigin::Signed(coldkey.clone()).into(), + netuid, + hotkey.clone(), + )); + + let uid = Subtensor::::get_uid_for_net_and_hotkey(netuid, &hotkey).unwrap(); + Subtensor::::set_validator_permit_for_uid(netuid, uid, true); + + if signer_hotkey.is_none() { + signer_hotkey = Some(hotkey.clone()); + } + uids.push(uid); + weight_values.push(uid.saturating_add(1)); + } + + let hotkey = signer_hotkey.expect("at least one benchmark neuron is registered"); + let salt: Vec = vec![u16::MAX; uid_count as usize]; + let commit_hash = Subtensor::::get_commit_hash( + &hotkey, + netuid_index, + &uids, + &weight_values, + &salt, + version_key, + ); + + // Worst-case the successful CR-v2 reveal queue. The valid commit is at + // the back of the bounded 10-entry queue, so reveal scans and drains the + // maximum prefix. These commits are intentionally non-expired: expired + // front entries are a failure path for this dispatch when the provided + // hash is among the drained hashes. + let commit_epoch = 0_u64; + let commit_block = Subtensor::::get_current_block_as_u64(); + let mut commits = VecDeque::new(); + for i in 0..9_u8 { + let mut dummy_hash = H256::repeat_byte(i.saturating_add(1)); + if dummy_hash == commit_hash { + dummy_hash = H256::repeat_byte(i.saturating_add(11)); + } + commits.push_back((dummy_hash, commit_epoch, commit_block, 0)); + } + commits.push_back((commit_hash, commit_epoch, commit_block, 0)); + WeightCommits::::insert(netuid_index, &hotkey, commits); + + // With tempo 0, should_run_epoch() is false and current_epoch_with_lookahead() + // equals SubnetEpochIndex. Put the subnet exactly in the reveal epoch. + LastEpochBlock::::insert(netuid, 0); + BlocksSinceLastStep::::insert(netuid, 0); + PendingEpochAt::::insert(netuid, 0); + SubnetEpochIndex::::insert(netuid, reveal_period); + + assert_eq!( + Subtensor::::current_epoch_with_lookahead(netuid), + reveal_period + ); + assert!(Subtensor::::is_reveal_block_range(netuid, commit_epoch)); + assert!(!Subtensor::::is_commit_expired(netuid, commit_epoch)); + + #[extrinsic_call] + _( + RawOrigin::Signed(hotkey.clone()), + netuid, + mecid, + uids, + weight_values, + salt, + version_key, + ); + } + + #[benchmark] + fn commit_crv3_mechanism_weights() { + let mecid = subtensor_runtime_common::MechId::MAIN; + let (netuid, hotkey, _uids, _weight_values, _salt, _version_key) = + setup_mechanism_weight_benchmark::(mecid, 4096); + let vec_commit: Vec = vec![u8::MAX; MAX_CRV3_COMMIT_SIZE_BYTES as usize]; + let commit: BoundedVec<_, _> = vec_commit.try_into().unwrap(); + let netuid_index = Subtensor::::get_mechanism_storage_index(netuid, mecid); + let epoch = Subtensor::::current_epoch_with_lookahead(netuid); + let mut existing = VecDeque::new(); + for i in 0..9u64 { + existing.push_back((hotkey.clone(), 0, commit.clone(), i)); + } + TimelockedWeightCommits::::insert(netuid_index, epoch, existing); + + #[extrinsic_call] + _( + RawOrigin::Signed(hotkey.clone()), + netuid, + mecid, + commit, + u64::MAX, + ); + } + + #[benchmark] + fn commit_timelocked_mechanism_weights() { + let mecid = subtensor_runtime_common::MechId::MAIN; + let (netuid, hotkey, _uids, _weight_values, _salt, _version_key) = + setup_mechanism_weight_benchmark::(mecid, 4096); + let vec_commit: Vec = vec![u8::MAX; MAX_CRV3_COMMIT_SIZE_BYTES as usize]; + let commit: BoundedVec<_, _> = vec_commit.try_into().unwrap(); + let netuid_index = Subtensor::::get_mechanism_storage_index(netuid, mecid); + let epoch = Subtensor::::current_epoch_with_lookahead(netuid); + let mut existing = VecDeque::new(); + for i in 0..9u64 { + existing.push_back((hotkey.clone(), 0, commit.clone(), i)); + } + TimelockedWeightCommits::::insert(netuid_index, epoch, existing); + let version = Subtensor::::get_commit_reveal_weights_version(); + + #[extrinsic_call] + _( + RawOrigin::Signed(hotkey.clone()), + netuid, + mecid, + commit, + u64::MAX, + version, + ); + } + + #[benchmark] + fn swap_hotkey_v2() { + let coldkey: T::AccountId = whitelisted_caller(); + let old_hotkey: T::AccountId = account("old_hotkey", 0, 1); + let new_hotkey: T::AccountId = account("new_hotkey", 0, 1); + + for netuid_raw in 1..=GLOBAL_MAX_SUBNET_COUNT { + let netuid = NetUid::from(netuid_raw); + Subtensor::::init_new_network(netuid, 1); + SubtokenEnabled::::insert(netuid, true); + Subtensor::::set_network_registration_allowed(netuid, true); + Burn::::insert(netuid, benchmark_registration_burn()); + seed_swap_reserves::(netuid); + fund_for_registration::(netuid, &coldkey); + + assert_ok!(Subtensor::::burned_register( + RawOrigin::Signed(coldkey.clone()).into(), + netuid, + old_hotkey.clone(), + )); + + let alpha_amount = AlphaBalance::from(1_000_000_u64); + SubnetAlphaOut::::insert(netuid, alpha_amount * 2.into()); + Subtensor::::increase_stake_for_hotkey_and_coldkey_on_subnet( + &old_hotkey, + &coldkey, + netuid, + alpha_amount, + ); + } + + Owner::::insert(&old_hotkey, &coldkey); + let cost = Subtensor::::get_key_swap_cost(); + add_balance_to_coldkey_account::(&coldkey, cost.into()); + + #[extrinsic_call] + _( + RawOrigin::Signed(coldkey.clone()), + old_hotkey, + new_hotkey, + None, + false, + ); + } + + #[benchmark] + fn sudo_set_min_childkey_take() { + #[extrinsic_call] + _(RawOrigin::Root, u16::MIN); + } + + #[benchmark] + fn sudo_set_max_childkey_take() { + #[extrinsic_call] + _(RawOrigin::Root, u16::MAX); + } + + #[benchmark] + fn dissolve_network() { + let netuid = NetUid::from(1); + let (_hotkey, coldkey, _uids, _weights) = + setup_worst_case_registered_subnet::("dissolve", netuid, 4096); + SubnetOwner::::insert(netuid, coldkey.clone()); + + #[extrinsic_call] + _(RawOrigin::Root, coldkey.clone(), netuid); + } + + #[benchmark] + fn root_dissolve_network() { + let netuid = NetUid::from(1); + let (_hotkey, _coldkey, _uids, _weights) = + setup_worst_case_registered_subnet::("root_dissolve", netuid, 4096); + + #[extrinsic_call] + _(RawOrigin::Root, netuid); + } + + #[benchmark] + fn set_children(c: Linear<1, 5>) { + let netuid = NetUid::from(1); + let coldkey: T::AccountId = account("children_cold", 0, 1); + let hotkey: T::AccountId = account("children_hot", 0, 1); + let mut children = Vec::with_capacity(c as usize); + + Subtensor::::init_new_network(netuid, 1); + Subtensor::::set_network_registration_allowed(netuid, true); + SubtokenEnabled::::insert(netuid, true); + Burn::::insert(netuid, benchmark_registration_burn()); + seed_swap_reserves::(netuid); + fund_for_registration::(netuid, &coldkey); + + assert_ok!(Subtensor::::burned_register( + RawOrigin::Signed(coldkey.clone()).into(), + netuid, + hotkey.clone(), + )); + + for seed in 0..c { + let child: T::AccountId = account("children_child", seed, 1); + children.push((u64::MAX / c as u64, child)); + } + + #[extrinsic_call] + _(RawOrigin::Signed(coldkey.clone()), hotkey, netuid, children); + } + + #[allow(deprecated)] + #[benchmark] + fn schedule_swap_coldkey() { + let new_coldkey: T::AccountId = account("new_coldkey", 0, u32::MAX); + + #[block] + { + assert!( + Subtensor::::schedule_swap_coldkey(RawOrigin::Root.into(), new_coldkey).is_err() + ); + } + } + + #[benchmark] + fn enable_voting_power_tracking() { + let netuid = NetUid::from(1); + let owner: T::AccountId = whitelisted_caller(); + Subtensor::::init_new_network(netuid, 1); + SubnetOwner::::insert(netuid, owner.clone()); + + #[extrinsic_call] + _(RawOrigin::Signed(owner.clone()), netuid); + } + + #[benchmark] + fn disable_voting_power_tracking() { + let netuid = NetUid::from(1); + let owner: T::AccountId = whitelisted_caller(); + Subtensor::::init_new_network(netuid, 1); + SubnetOwner::::insert(netuid, owner.clone()); + assert_ok!(Subtensor::::enable_voting_power_tracking( + RawOrigin::Signed(owner.clone()).into(), + netuid + )); + + #[extrinsic_call] + _(RawOrigin::Signed(owner.clone()), netuid); + } + + #[benchmark] + fn sudo_set_voting_power_ema_alpha() { + let netuid = NetUid::from(1); + Subtensor::::init_new_network(netuid, 1); + + #[extrinsic_call] + _(RawOrigin::Root, netuid, 1_000_000_000_000_000_000u64); + } + + #[benchmark] + fn register_limit() { + let netuid = NetUid::from(1); + let coldkey: T::AccountId = account("register_limit_cold", 0, 1); + let hotkey: T::AccountId = account("register_limit_hot", 0, 1); + + Subtensor::::init_new_network(netuid, 1); + Subtensor::::set_max_allowed_uids(netuid, 4096); + Subtensor::::set_network_registration_allowed(netuid, true); + SubtokenEnabled::::insert(netuid, true); + Burn::::insert(netuid, benchmark_registration_burn()); + seed_swap_reserves::(netuid); + fund_for_registration::(netuid, &coldkey); + + #[extrinsic_call] + _(RawOrigin::Signed(coldkey.clone()), netuid, hotkey, u64::MAX); + } + + #[benchmark] + fn set_perpetual_lock() { + let netuid = NetUid::from(1); + let coldkey: T::AccountId = account("perpetual_cold", 0, 1); + let hotkey: T::AccountId = account("perpetual_hot", 0, 1); + + Subtensor::::init_new_network(netuid, 1); + Subtensor::::set_network_registration_allowed(netuid, true); + SubtokenEnabled::::insert(netuid, true); + Burn::::insert(netuid, benchmark_registration_burn()); + seed_swap_reserves::(netuid); + fund_for_registration::(netuid, &coldkey); + + assert_ok!(Subtensor::::burned_register( + RawOrigin::Signed(coldkey.clone()).into(), + netuid, + hotkey.clone(), + )); + add_lock::(&coldkey, netuid); + + #[extrinsic_call] + _(RawOrigin::Signed(coldkey.clone()), netuid, true); + } + + #[benchmark] + fn set_reject_locked_alpha() { + let coldkey: T::AccountId = whitelisted_caller(); + AccountFlags::::insert(&coldkey, crate::ACCOUNT_FLAGS_ACCEPT_LOCKED_ALPHA); + + #[extrinsic_call] + _(RawOrigin::Signed(coldkey.clone()), true); + } + impl_benchmark_test_suite!( Subtensor, crate::tests::mock::new_test_ext(1), diff --git a/pallets/subtensor/src/macros/dispatches.rs b/pallets/subtensor/src/macros/dispatches.rs index 08e5bb8fdf..aaf4207c85 100644 --- a/pallets/subtensor/src/macros/dispatches.rs +++ b/pallets/subtensor/src/macros/dispatches.rs @@ -159,9 +159,7 @@ mod dispatches { /// * 'MaxWeightExceeded': /// - Attempting to set weights with max value exceeding limit. #[pallet::call_index(119)] - #[pallet::weight((Weight::from_parts(15_540_000_000, 0) - .saturating_add(T::DbWeight::get().reads(4111)) - .saturating_add(T::DbWeight::get().writes(2)), DispatchClass::Normal, Pays::No))] + #[pallet::weight((::WeightInfo::set_mechanism_weights(dests.len() as u32), DispatchClass::Normal, Pays::No))] pub fn set_mechanism_weights( origin: OriginFor, netuid: NetUid, @@ -265,9 +263,7 @@ mod dispatches { /// - Attempting to commit when the user has more than the allowed limit of unrevealed commits. /// #[pallet::call_index(115)] - #[pallet::weight((Weight::from_parts(55_130_000, 0) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(2)), DispatchClass::Normal, Pays::No))] + #[pallet::weight((::WeightInfo::commit_mechanism_weights(), DispatchClass::Normal, Pays::No))] pub fn commit_mechanism_weights( origin: OriginFor, netuid: NetUid, @@ -400,9 +396,7 @@ mod dispatches { /// - The revealed hash does not match any committed hash. /// #[pallet::call_index(116)] - #[pallet::weight((Weight::from_parts(122_000_000, 0) - .saturating_add(T::DbWeight::get().reads(16)) - .saturating_add(T::DbWeight::get().writes(2)), DispatchClass::Normal, Pays::No))] + #[pallet::weight((::WeightInfo::reveal_mechanism_weights(uids.len() as u32), DispatchClass::Normal, Pays::No))] pub fn reveal_mechanism_weights( origin: OriginFor, netuid: NetUid, @@ -498,9 +492,7 @@ mod dispatches { /// - Attempting to commit when the user has more than the allowed limit of unrevealed commits. /// #[pallet::call_index(117)] - #[pallet::weight((Weight::from_parts(77_750_000, 0) - .saturating_add(T::DbWeight::get().reads(7_u64)) - .saturating_add(T::DbWeight::get().writes(2)), DispatchClass::Normal, Pays::No))] + #[pallet::weight((::WeightInfo::commit_crv3_mechanism_weights(), DispatchClass::Normal, Pays::No))] pub fn commit_crv3_mechanism_weights( origin: OriginFor, netuid: NetUid, @@ -1053,9 +1045,7 @@ mod dispatches { /// * `keep_stake` - If `true`, stake remains on the old hotkey and the rest metadata /// is transferred to the new hotkey. #[pallet::call_index(72)] - #[pallet::weight((Weight::from_parts(275_300_000, 0) - .saturating_add(T::DbWeight::get().reads(52_u64)) - .saturating_add(T::DbWeight::get().writes(35_u64)), DispatchClass::Normal, Pays::Yes))] + #[pallet::weight((::WeightInfo::swap_hotkey_v2(), DispatchClass::Normal, Pays::Yes))] pub fn swap_hotkey_v2( origin: OriginFor, hotkey: T::AccountId, @@ -1170,9 +1160,7 @@ mod dispatches { /// * `BadOrigin` - If the origin is not root. /// #[pallet::call_index(76)] - #[pallet::weight(Weight::from_parts(6_000, 0) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)))] + #[pallet::weight(::WeightInfo::sudo_set_min_childkey_take())] pub fn sudo_set_min_childkey_take(origin: OriginFor, take: u16) -> DispatchResult { ensure_root(origin)?; Self::set_min_childkey_take(take); @@ -1191,9 +1179,7 @@ mod dispatches { /// * `BadOrigin` - If the origin is not root. /// #[pallet::call_index(77)] - #[pallet::weight(Weight::from_parts(6_000, 0) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)))] + #[pallet::weight(::WeightInfo::sudo_set_max_childkey_take())] pub fn sudo_set_max_childkey_take(origin: OriginFor, take: u16) -> DispatchResult { ensure_root(origin)?; Self::set_max_childkey_take(take); @@ -1231,9 +1217,7 @@ mod dispatches { /// Remove a user's subnetwork /// The caller must be the owner of the network #[pallet::call_index(61)] - #[pallet::weight(Weight::from_parts(119_000_000, 0) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(31)))] + #[pallet::weight(::WeightInfo::dissolve_network())] pub fn dissolve_network( origin: OriginFor, _coldkey: T::AccountId, @@ -1289,9 +1273,7 @@ mod dispatches { /// 8. **New Children Assignment**: Assigns the new child to the hotkey and updates the parent list for the new child. // TODO: Benchmark this call #[pallet::call_index(67)] - #[pallet::weight((Weight::from_parts(119_000_000, 0) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(31)), DispatchClass::Normal, Pays::Yes))] + #[pallet::weight((::WeightInfo::set_children(children.len() as u32), DispatchClass::Normal, Pays::Yes))] pub fn set_children( origin: OriginFor, hotkey: T::AccountId, @@ -1306,7 +1288,7 @@ mod dispatches { /// /// WARNING: This function is deprecated, please migrate to `announce_coldkey_swap`/`coldkey_swap` #[pallet::call_index(73)] - #[pallet::weight(T::DbWeight::get().reads(5))] + #[pallet::weight(::WeightInfo::schedule_swap_coldkey())] #[deprecated(note = "Deprecated, please migrate to `announce_coldkey_swap`/`coldkey_swap`")] pub fn schedule_swap_coldkey( _origin: OriginFor, @@ -1881,8 +1863,7 @@ mod dispatches { /// Sets the pending childkey cooldown (in blocks). Root only. #[pallet::call_index(109)] - #[pallet::weight(Weight::from_parts(3_000_000, 0) - .saturating_add(T::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::set_pending_childkey_cooldown())] pub fn set_pending_childkey_cooldown( origin: OriginFor, cooldown: u64, @@ -2118,9 +2099,7 @@ mod dispatches { /// * commit_reveal_version (`u16`): /// - The client (bittensor-drand) version #[pallet::call_index(118)] - #[pallet::weight((Weight::from_parts(84_020_000, 0) - .saturating_add(T::DbWeight::get().reads(9_u64)) - .saturating_add(T::DbWeight::get().writes(2)), DispatchClass::Normal, Pays::No))] + #[pallet::weight((::WeightInfo::commit_timelocked_mechanism_weights(), DispatchClass::Normal, Pays::No))] pub fn commit_timelocked_mechanism_weights( origin: OriginFor, netuid: NetUid, @@ -2142,9 +2121,7 @@ mod dispatches { /// Remove a subnetwork /// The caller must be root #[pallet::call_index(120)] - #[pallet::weight(Weight::from_parts(119_000_000, 0) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(31)))] + #[pallet::weight(::WeightInfo::root_dissolve_network())] pub fn root_dissolve_network(origin: OriginFor, netuid: NetUid) -> DispatchResult { ensure_root(origin)?; Self::do_dissolve_network(netuid) @@ -2380,9 +2357,7 @@ mod dispatches { /// * `SubnetNotExist` - If the subnet does not exist. /// * `NotSubnetOwner` - If the caller is not the subnet owner or root. #[pallet::call_index(129)] - #[pallet::weight(Weight::from_parts(10_000, 0) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)))] + #[pallet::weight(::WeightInfo::enable_voting_power_tracking())] pub fn enable_voting_power_tracking( origin: OriginFor, netuid: NetUid, @@ -2406,9 +2381,7 @@ mod dispatches { /// * `NotSubnetOwner` - If the caller is not the subnet owner or root. /// * `VotingPowerTrackingNotEnabled` - If voting power tracking is not enabled. #[pallet::call_index(130)] - #[pallet::weight(Weight::from_parts(10_000, 0) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)))] + #[pallet::weight(::WeightInfo::disable_voting_power_tracking())] pub fn disable_voting_power_tracking( origin: OriginFor, netuid: NetUid, @@ -2433,9 +2406,7 @@ mod dispatches { /// * `SubnetNotExist` - If the subnet does not exist. /// * `InvalidVotingPowerEmaAlpha` - If alpha is greater than 10^18 (1.0). #[pallet::call_index(131)] - #[pallet::weight(Weight::from_parts(6_000, 0) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)))] + #[pallet::weight(::WeightInfo::sudo_set_voting_power_ema_alpha())] pub fn sudo_set_voting_power_ema_alpha( origin: OriginFor, netuid: NetUid, @@ -2464,9 +2435,7 @@ mod dispatches { /// /// The `ColdkeySwapCleared` event is emitted on successful clear. #[pallet::call_index(133)] - #[pallet::weight(Weight::from_parts(17_890_000, 0) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)))] + #[pallet::weight(::WeightInfo::clear_coldkey_swap_announcement())] pub fn clear_coldkey_swap_announcement(origin: OriginFor) -> DispatchResult { let who = ensure_signed(origin)?; let now = >::block_number(); @@ -2489,13 +2458,7 @@ mod dispatches { /// /// `limit_price` is expressed in the same TaoCurrency/u64 units as `Burn`. #[pallet::call_index(134)] - #[pallet::weight(( - Weight::from_parts(354_200_000, 0) - .saturating_add(T::DbWeight::get().reads(47_u64)) - .saturating_add(T::DbWeight::get().writes(40_u64)), - DispatchClass::Normal, - Pays::Yes - ))] + #[pallet::weight((::WeightInfo::register_limit(), DispatchClass::Normal, Pays::Yes))] pub fn register_limit( origin: OriginFor, netuid: NetUid, @@ -2584,7 +2547,7 @@ mod dispatches { /// does not unlock through locked-mass decay. Passing `false` returns /// the caller's lock to normal decay. #[pallet::call_index(138)] - #[pallet::weight(::DbWeight::get().reads_writes(4, 3))] + #[pallet::weight(::WeightInfo::set_perpetual_lock())] pub fn set_perpetual_lock( origin: OriginFor, netuid: NetUid, @@ -2632,11 +2595,7 @@ mod dispatches { /// caller into receiving locked alpha from stake transfers or coldkey /// swaps. #[pallet::call_index(142)] - #[pallet::weight(( - ::DbWeight::get().reads_writes(1, 1), - DispatchClass::Normal, - Pays::Yes - ))] + #[pallet::weight((::WeightInfo::set_reject_locked_alpha(), DispatchClass::Normal, Pays::Yes))] pub fn set_reject_locked_alpha(origin: OriginFor, enabled: bool) -> DispatchResult { let coldkey = ensure_signed(origin)?; AccountFlags::::mutate_exists(&coldkey, |maybe_flags| { diff --git a/pallets/subtensor/src/macros/hooks.rs b/pallets/subtensor/src/macros/hooks.rs index 6371f30e46..502d2be6af 100644 --- a/pallets/subtensor/src/macros/hooks.rs +++ b/pallets/subtensor/src/macros/hooks.rs @@ -1,3 +1,4 @@ +#![allow(clippy::crate_in_macro_def)] use frame_support::pallet_macros::pallet_section; /// A [`pallet_section`] that defines the events for a pallet. @@ -22,17 +23,13 @@ mod hooks { Ok(_) => { // --- If the block step was successful, return the weight. log::debug!("Successfully ran block step."); - Weight::from_parts(110_634_229_000_u64, 0) - .saturating_add(T::DbWeight::get().reads(8304_u64)) - .saturating_add(T::DbWeight::get().writes(110_u64)) + <::WeightInfo as crate::weights::WeightInfo>::block_step() .saturating_add(hotkey_swap_clean_up_weight) } Err(e) => { // --- If the block step was unsuccessful, return the weight anyway. log::error!("Error while stepping block: {:?}", e); - Weight::from_parts(110_634_229_000_u64, 0) - .saturating_add(T::DbWeight::get().reads(8304_u64)) - .saturating_add(T::DbWeight::get().writes(110_u64)) + <::WeightInfo as crate::weights::WeightInfo>::block_step() .saturating_add(hotkey_swap_clean_up_weight) } } diff --git a/pallets/subtensor/src/weights.rs b/pallets/subtensor/src/weights.rs index e4beabe817..07e3ce1f98 100644 --- a/pallets/subtensor/src/weights.rs +++ b/pallets/subtensor/src/weights.rs @@ -57,6 +57,7 @@ pub trait WeightInfo { fn batch_reveal_weights() -> Weight; fn recycle_alpha() -> Weight; fn burn_alpha() -> Weight; + fn block_step() -> Weight; fn start_call() -> Weight; fn add_stake_limit() -> Weight; fn move_stake() -> Weight; @@ -102,6 +103,24 @@ pub trait WeightInfo { fn check_delegate_take_extension() -> Weight; fn check_serving_endpoints_extension() -> Weight; fn check_evm_key_association_extension() -> Weight; + fn set_mechanism_weights(n: u32, ) -> Weight; + fn commit_mechanism_weights() -> Weight; + fn reveal_mechanism_weights(n: u32, ) -> Weight; + fn commit_crv3_mechanism_weights() -> Weight; + fn commit_timelocked_mechanism_weights() -> Weight; + fn swap_hotkey_v2() -> Weight; + fn sudo_set_min_childkey_take() -> Weight; + fn sudo_set_max_childkey_take() -> Weight; + fn dissolve_network() -> Weight; + fn root_dissolve_network() -> Weight; + fn set_children(c: u32, ) -> Weight; + fn schedule_swap_coldkey() -> Weight; + fn enable_voting_power_tracking() -> Weight; + fn disable_voting_power_tracking() -> Weight; + fn sudo_set_voting_power_ema_alpha() -> Weight; + fn register_limit() -> Weight; + fn set_perpetual_lock() -> Weight; + fn set_reject_locked_alpha() -> Weight; } /// Weights for `pallet_subtensor` using the Substrate node and recommended hardware. @@ -228,8 +247,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `188820` // Estimated: `10327410` - // Minimum execution time: 15_066_222_000 picoseconds. - Weight::from_parts(15_359_235_000, 10327410) + // Minimum execution time: 14_574_435_000 picoseconds. + Weight::from_parts(14_943_515_000, 10327410) .saturating_add(T::DbWeight::get().reads(4112_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -980,6 +999,218 @@ impl WeightInfo for SubstrateWeight { .saturating_add(T::DbWeight::get().reads(12_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } + /// Storage: `System::ParentHash` (r:1 w:0) + /// Proof: `System::ParentHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::NetworksAdded` (r:130 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Burn` (r:129 w:129) + /// Proof: `SubtensorModule::Burn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinBurn` (r:129 w:0) + /// Proof: `SubtensorModule::MinBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxBurn` (r:129 w:0) + /// Proof: `SubtensorModule::MaxBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnHalfLife` (r:129 w:0) + /// Proof: `SubtensorModule::BurnHalfLife` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:129 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:129 w:2) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlocksSinceLastStep` (r:129 w:128) + /// Proof: `SubtensorModule::BlocksSinceLastStep` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:127 w:2) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxEpochsPerBlock` (r:1 w:0) + /// Proof: `SubtensorModule::MaxEpochsPerBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:514 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:128 w:0) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEpochIndex` (r:128 w:2) + /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:128 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TimelockedWeightCommits` (r:130 w:0) + /// Proof: `SubtensorModule::TimelockedWeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::FirstEmissionBlockNumber` (r:128 w:0) + /// Proof: `SubtensorModule::FirstEmissionBlockNumber` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:129 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:128 w:0) + /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:128 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMovingPrice` (r:1 w:128) + /// Proof: `SubtensorModule::SubnetMovingPrice` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinerBurned` (r:128 w:2) + /// Proof: `SubtensorModule::MinerBurned` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:128 w:127) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:128 w:127) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:129 w:127) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TaoWeight` (r:1 w:0) + /// Proof: `SubtensorModule::TaoWeight` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEmissionEnabled` (r:128 w:0) + /// Proof: `SubtensorModule::SubnetEmissionEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:128 w:128) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:127 w:127) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:127 w:127) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetProtocolAlpha` (r:127 w:127) + /// Proof: `SubtensorModule::SubnetProtocolAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetProtocolFlow` (r:127 w:127) + /// Proof: `SubtensorModule::SubnetProtocolFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerCut` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwnerCut` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerCutEnabled` (r:128 w:0) + /// Proof: `SubtensorModule::OwnerCutEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingOwnerCut` (r:128 w:128) + /// Proof: `SubtensorModule::PendingOwnerCut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingServerEmission` (r:128 w:128) + /// Proof: `SubtensorModule::PendingServerEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingValidatorEmission` (r:128 w:128) + /// Proof: `SubtensorModule::PendingValidatorEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingRootAlphaDivs` (r:128 w:128) + /// Proof: `SubtensorModule::PendingRootAlphaDivs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismEmissionSplit` (r:2 w:0) + /// Proof: `SubtensorModule::MechanismEmissionSplit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ActivityCutoffFactorMilli` (r:2 w:0) + /// Proof: `SubtensorModule::ActivityCutoffFactorMilli` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:2 w:0) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:512 w:0) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1024 w:512) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:512 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:512 w:0) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:2 w:2) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedValidators` (r:2 w:0) + /// Proof: `SubtensorModule::MaxAllowedValidators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Weights` (r:258 w:0) + /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:2 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightCommits` (r:2 w:0) + /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Kappa` (r:2 w:0) + /// Proof: `SubtensorModule::Kappa` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BondsPenalty` (r:2 w:0) + /// Proof: `SubtensorModule::BondsPenalty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Yuma3On` (r:2 w:0) + /// Proof: `SubtensorModule::Yuma3On` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Bonds` (r:258 w:512) + /// Proof: `SubtensorModule::Bonds` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastMechansimStepBlock` (r:2 w:2) + /// Proof: `SubtensorModule::LastMechansimStepBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LiquidAlphaOn` (r:2 w:0) + /// Proof: `SubtensorModule::LiquidAlphaOn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BondsMovingAverage` (r:2 w:0) + /// Proof: `SubtensorModule::BondsMovingAverage` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::VotingPowerTrackingEnabled` (r:2 w:0) + /// Proof: `SubtensorModule::VotingPowerTrackingEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CKBurn` (r:1 w:0) + /// Proof: `SubtensorModule::CKBurn` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildkeyTake` (r:512 w:0) + /// Proof: `SubtensorModule::ChildkeyTake` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinChildkeyTake` (r:1 w:0) + /// Proof: `SubtensorModule::MinChildkeyTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinChildkeyTakePerSubnet` (r:2 w:0) + /// Proof: `SubtensorModule::MinChildkeyTakePerSubnet` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:512 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:2 w:0) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AutoStakeDestination` (r:512 w:0) + /// Proof: `SubtensorModule::AutoStakeDestination` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:513 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:542 w:512) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:512 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:512 w:512) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Delegates` (r:512 w:0) + /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaDividendsPerSubnet` (r:512 w:512) + /// Proof: `SubtensorModule::AlphaDividendsPerSubnet` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimable` (r:512 w:512) + /// Proof: `SubtensorModule::RootClaimable` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootAlphaDividendsPerSubnet` (r:512 w:512) + /// Proof: `SubtensorModule::RootAlphaDividendsPerSubnet` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::EMAPriceHalvingBlocks` (r:128 w:0) + /// Proof: `SubtensorModule::EMAPriceHalvingBlocks` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMovingAlpha` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetMovingAlpha` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingChildKeys` (r:129 w:0) + /// Proof: `SubtensorModule::PendingChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NumStakingColdkeys` (r:1 w:0) + /// Proof: `SubtensorModule::NumStakingColdkeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NumRootClaim` (r:1 w:0) + /// Proof: `SubtensorModule::NumRootClaim` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingColdkeysByIndex` (r:1 w:0) + /// Proof: `SubtensorModule::StakingColdkeysByIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaMapLastKey` (r:1 w:0) + /// Proof: `SubtensorModule::AlphaMapLastKey` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2MapLastKey` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2MapLastKey` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootProp` (r:0 w:128) + /// Proof: `SubtensorModule::RootProp` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:0 w:2) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaInEmission` (r:0 w:128) + /// Proof: `SubtensorModule::SubnetAlphaInEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisBlock` (r:0 w:129) + /// Proof: `SubtensorModule::RegistrationsThisBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOutEmission` (r:0 w:128) + /// Proof: `SubtensorModule::SubnetAlphaOutEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:0 w:2) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeWeight` (r:0 w:2) + /// Proof: `SubtensorModule::StakeWeight` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetExcessTao` (r:0 w:128) + /// Proof: `SubtensorModule::SubnetExcessTao` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:0 w:2) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (r:0 w:512) + /// Proof: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:0 w:2) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:0 w:2) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:0 w:2) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoInEmission` (r:0 w:128) + /// Proof: `SubtensorModule::SubnetTaoInEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn block_step() -> Weight { + // Proof Size summary in bytes: + // Measured: `35625320` + // Estimated: `38160710` + // Minimum execution time: 148_201_572_000 picoseconds. + Weight::from_parts(150_671_474_000, 38160710) + .saturating_add(T::DbWeight::get().reads(13668_u64)) + .saturating_add(T::DbWeight::get().writes(6808_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) @@ -2082,10 +2313,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1501 + k * (53 ±0)` // Estimated: `6148 + k * (2529 ±0)` - // Minimum execution time: 93_584_000 picoseconds. - Weight::from_parts(94_083_076, 6148) - // Standard Error: 6_178 - .saturating_add(Weight::from_parts(1_554_561, 0).saturating_mul(k.into())) + // Minimum execution time: 91_801_000 picoseconds. + Weight::from_parts(84_444_488, 6148) + // Standard Error: 6_007 + .saturating_add(Weight::from_parts(1_545_626, 0).saturating_mul(k.into())) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(k.into()))) .saturating_add(T::DbWeight::get().writes(7_u64)) @@ -2587,95 +2818,101 @@ impl WeightInfo for SubstrateWeight { Weight::from_parts(15_529_000, 4117) .saturating_add(T::DbWeight::get().reads(2_u64)) } -} - -// For backwards compatibility and tests. -impl WeightInfo for () { + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:1 w:0) - /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Uids` (r:1 w:1) - /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Burn` (r:1 w:1) - /// Proof: `SubtensorModule::Burn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `System::Account` (r:2 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::Owner` (r:1 w:1) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) - /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) - /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MaxAllowedUids` (r:1 w:0) - /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::PalSwapInitialized` (r:1 w:1) - /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::FeeRate` (r:1 w:0) - /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) - /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Active` (r:1 w:1) - /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Emission` (r:1 w:1) - /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Consensus` (r:1 w:1) - /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Incentive` (r:1 w:1) - /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TaoWeight` (r:1 w:0) + /// Proof: `SubtensorModule::TaoWeight` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsVersionKey` (r:1 w:0) + /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:4096 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Dividends` (r:1 w:1) - /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) - /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:0) /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::BurnIncreaseMult` (r:1 w:0) - /// Proof: `SubtensorModule::BurnIncreaseMult` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MinBurn` (r:1 w:0) - /// Proof: `SubtensorModule::MinBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MaxBurn` (r:1 w:0) - /// Proof: `SubtensorModule::MaxBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::RegistrationsThisBlock` (r:1 w:1) - /// Proof: `SubtensorModule::RegistrationsThisBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:1 w:1) - /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) - /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Keys` (r:0 w:1) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:1 w:0) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Weights` (r:0 w:1) + /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `n` is `[1, 4096]`. + fn set_mechanism_weights(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `4079 + n * (45 ±0)` + // Estimated: `9373 + n * (2520 ±0)` + // Minimum execution time: 99_717_000 picoseconds. + Weight::from_parts(100_308_000, 9373) + // Standard Error: 6_327 + .saturating_add(Weight::from_parts(3_910_429, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(16_u64)) + .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) + .saturating_add(T::DbWeight::get().writes(2_u64)) + .saturating_add(Weight::from_parts(0, 2520).saturating_mul(n.into())) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:0) /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) - /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::SwapBalancer` (r:0 w:1) - /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) - fn register() -> Weight { + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEpochIndex` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlocksSinceLastStep` (r:1 w:0) + /// Proof: `SubtensorModule::BlocksSinceLastStep` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightCommits` (r:1 w:1) + /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:1 w:0) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn commit_mechanism_weights() -> Weight { // Proof Size summary in bytes: - // Measured: `1865` - // Estimated: `6148` - // Minimum execution time: 328_388_000 picoseconds. - Weight::from_parts(330_502_000, 6148) - .saturating_add(RocksDbWeight::get().reads(34_u64)) - .saturating_add(RocksDbWeight::get().writes(29_u64)) + // Measured: `37406` + // Estimated: `40871` + // Minimum execution time: 273_105_000 picoseconds. + Weight::from_parts(286_715_000, 40871) + .saturating_add(T::DbWeight::get().reads(14_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) } /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightCommits` (r:1 w:1) + /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEpochIndex` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:1 w:0) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) @@ -2698,1199 +2935,3680 @@ impl WeightInfo for () { /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::WeightsVersionKey` (r:1 w:0) /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Keys` (r:4096 w:0) - /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) - /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:0) /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:4096 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::MinAllowedWeights` (r:1 w:0) /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::Weights` (r:0 w:1) /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn set_weights() -> Weight { - // Proof Size summary in bytes: - // Measured: `188820` - // Estimated: `10327410` - // Minimum execution time: 15_066_222_000 picoseconds. - Weight::from_parts(15_359_235_000, 10327410) - .saturating_add(RocksDbWeight::get().reads(4112_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) + /// The range of component `n` is `[1, 4096]`. + fn reveal_mechanism_weights(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `4835 + n * (37 ±0)` + // Estimated: `10114 + n * (2512 ±0)` + // Minimum execution time: 116_393_000 picoseconds. + Weight::from_parts(117_936_000, 10114) + // Standard Error: 7_790 + .saturating_add(Weight::from_parts(4_086_878, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(19_u64)) + .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) + .saturating_add(T::DbWeight::get().writes(2_u64)) + .saturating_add(Weight::from_parts(0, 2512).saturating_mul(n.into())) } /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) - /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::PalSwapInitialized` (r:1 w:0) - /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::SwapBalancer` (r:1 w:0) - /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) - /// Storage: `Swap::FeeRate` (r:1 w:0) - /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:3 w:3) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::Owner` (r:1 w:0) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) - /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) - /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) - /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) - /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) - /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Alpha` (r:1 w:0) - /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) - /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Lock` (r:2 w:1) - /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::DecayingLock` (r:1 w:0) - /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::HotkeyLock` (r:1 w:0) - /// Proof: `SubtensorModule::HotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::DecayingHotkeyLock` (r:1 w:1) - /// Proof: `SubtensorModule::DecayingHotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::OwnerLock` (r:1 w:0) - /// Proof: `SubtensorModule::OwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::DecayingOwnerLock` (r:1 w:0) - /// Proof: `SubtensorModule::DecayingOwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::UnlockRate` (r:1 w:0) - /// Proof: `SubtensorModule::UnlockRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MaturityRate` (r:1 w:0) - /// Proof: `SubtensorModule::MaturityRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LockingColdkeys` (r:0 w:1) - /// Proof: `SubtensorModule::LockingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) - /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn add_stake() -> Weight { - // Proof Size summary in bytes: - // Measured: `2226` - // Estimated: `8727` - // Minimum execution time: 630_738_000 picoseconds. - Weight::from_parts(657_709_000, 8727) - .saturating_add(RocksDbWeight::get().reads(32_u64)) - .saturating_add(RocksDbWeight::get().writes(16_u64)) - } + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsVersion` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::Uids` (r:1 w:0) /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Axons` (r:1 w:1) - /// Proof: `SubtensorModule::Axons` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ServingRateLimit` (r:1 w:0) - /// Proof: `SubtensorModule::ServingRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn serve_axon() -> Weight { + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEpochIndex` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlocksSinceLastStep` (r:1 w:0) + /// Proof: `SubtensorModule::BlocksSinceLastStep` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TimelockedWeightCommits` (r:1 w:1) + /// Proof: `SubtensorModule::TimelockedWeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn commit_crv3_mechanism_weights() -> Weight { // Proof Size summary in bytes: - // Measured: `713` - // Estimated: `4178` - // Minimum execution time: 29_935_000 picoseconds. - Weight::from_parts(31_428_000, 4178) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) + // Measured: `36927` + // Estimated: `40392` + // Minimum execution time: 269_981_000 picoseconds. + Weight::from_parts(292_224_000, 40392) + .saturating_add(T::DbWeight::get().reads(14_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsVersion` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::Uids` (r:1 w:0) /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Prometheus` (r:1 w:1) - /// Proof: `SubtensorModule::Prometheus` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ServingRateLimit` (r:1 w:0) - /// Proof: `SubtensorModule::ServingRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn serve_prometheus() -> Weight { + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEpochIndex` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlocksSinceLastStep` (r:1 w:0) + /// Proof: `SubtensorModule::BlocksSinceLastStep` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TimelockedWeightCommits` (r:1 w:1) + /// Proof: `SubtensorModule::TimelockedWeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn commit_timelocked_mechanism_weights() -> Weight { // Proof Size summary in bytes: - // Measured: `812` - // Estimated: `4277` - // Minimum execution time: 28_453_000 picoseconds. - Weight::from_parts(29_284_000, 4277) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) + // Measured: `36927` + // Estimated: `40392` + // Minimum execution time: 279_575_000 picoseconds. + Weight::from_parts(294_227_000, 40392) + .saturating_add(T::DbWeight::get().reads(14_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) } - /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) - /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:1 w:0) - /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Uids` (r:1 w:1) - /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Burn` (r:1 w:1) - /// Proof: `SubtensorModule::Burn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `System::Account` (r:2 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::Owner` (r:1 w:1) + /// Storage: `SubtensorModule::Owner` (r:2 w:2) /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:4 w:7) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TxRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::TxRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:4098 w:8194) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimable` (r:2 w:2) + /// Proof: `SubtensorModule::RootClaimable` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:8193 w:8192) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimed` (r:1 w:0) + /// Proof: `SubtensorModule::RootClaimed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:4098 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:8194 w:8194) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastHotkeySwapOnNetuid` (r:4096 w:4096) + /// Proof: `SubtensorModule::LastHotkeySwapOnNetuid` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:8193 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:8193 w:8192) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:4097 w:0) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::HotkeyLock` (r:4097 w:0) + /// Proof: `SubtensorModule::HotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingHotkeyLock` (r:4097 w:0) + /// Proof: `SubtensorModule::DecayingHotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildkeyTake` (r:4097 w:0) + /// Proof: `SubtensorModule::ChildkeyTake` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:8194 w:8194) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingChildKeys` (r:8194 w:0) + /// Proof: `SubtensorModule::PendingChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AutoStakeDestinationColdkeys` (r:4097 w:0) + /// Proof: `SubtensorModule::AutoStakeDestinationColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (r:8194 w:4097) + /// Proof: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaDividendsPerSubnet` (r:8194 w:8194) + /// Proof: `SubtensorModule::AlphaDividendsPerSubnet` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::VotingPower` (r:4097 w:0) + /// Proof: `SubtensorModule::VotingPower` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AutoParentDelegationEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::AutoParentDelegationEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:4096 w:8192) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Prometheus` (r:4096 w:0) + /// Proof: `SubtensorModule::Prometheus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Axons` (r:4096 w:0) + /// Proof: `SubtensorModule::Axons` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:4096 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightCommits` (r:4096 w:0) + /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LoadedEmission` (r:4096 w:0) + /// Proof: `SubtensorModule::LoadedEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NeuronCertificates` (r:4096 w:0) + /// Proof: `SubtensorModule::NeuronCertificates` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:8192 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:8192 w:8192) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MaxAllowedUids` (r:1 w:0) - /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::PalSwapInitialized` (r:1 w:1) - /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Delegates` (r:1 w:0) + /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:0 w:4096) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn swap_hotkey_v2() -> Weight { + // Proof Size summary in bytes: + // Measured: `542010` + // Estimated: `20823150` + // Minimum execution time: 30_447_435_728_000 picoseconds. + Weight::from_parts(30_814_425_962_000, 20823150) + .saturating_add(T::DbWeight::get().reads(147494_u64)) + .saturating_add(T::DbWeight::get().writes(77847_u64)) + } + /// Storage: `SubtensorModule::MinChildkeyTake` (r:0 w:1) + /// Proof: `SubtensorModule::MinChildkeyTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_min_childkey_take() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 4_236_000 picoseconds. + Weight::from_parts(4_466_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::MaxChildkeyTake` (r:0 w:1) + /// Proof: `SubtensorModule::MaxChildkeyTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_max_childkey_take() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 4_116_000 picoseconds. + Weight::from_parts(5_088_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:1) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimable` (r:1 w:0) + /// Proof: `SubtensorModule::RootClaimable` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLocked` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetLocked` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegisteredAt` (r:1 w:1) + /// Proof: `SubtensorModule::NetworkRegisteredAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationStartBlock` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRegistrationStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TaoInRefundDeploymentBlock` (r:1 w:0) + /// Proof: `SubtensorModule::TaoInRefundDeploymentBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetProtocolAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetProtocolAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:2 w:1) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::FeeRate` (r:1 w:0) - /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Active` (r:1 w:1) - /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Emission` (r:1 w:1) - /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Consensus` (r:1 w:1) - /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LockingColdkeys` (r:1 w:0) + /// Proof: `SubtensorModule::LockingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingLock` (r:1 w:0) + /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Commitments::TimelockedIndex` (r:1 w:1) + /// Proof: `Commitments::TimelockedIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalNetworks` (r:1 w:1) + /// Proof: `SubtensorModule::TotalNetworks` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:4097 w:4097) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:4097 w:4096) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Weights` (r:1 w:0) + /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:4096 w:4096) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:1) /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Incentive` (r:1 w:1) - /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) - /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Dividends` (r:1 w:1) - /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) - /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) - /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::BurnIncreaseMult` (r:1 w:0) - /// Proof: `SubtensorModule::BurnIncreaseMult` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MinBurn` (r:1 w:0) - /// Proof: `SubtensorModule::MinBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MaxBurn` (r:1 w:0) - /// Proof: `SubtensorModule::MaxBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::RegistrationsThisBlock` (r:1 w:1) - /// Proof: `SubtensorModule::RegistrationsThisBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetIdentitiesV3` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetIdentitiesV3` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildkeyTake` (r:1 w:0) + /// Proof: `SubtensorModule::ChildkeyTake` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:1) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:4087 w:4096) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastHotkeyEmissionOnNetuid` (r:1 w:0) + /// Proof: `SubtensorModule::LastHotkeyEmissionOnNetuid` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TransactionKeyLastBlock` (r:1 w:0) + /// Proof: `SubtensorModule::TransactionKeyLastBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:1 w:1) /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) - /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Keys` (r:0 w:1) - /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) - /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::SwapBalancer` (r:0 w:1) - /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) - fn burned_register() -> Weight { - // Proof Size summary in bytes: - // Measured: `1798` - // Estimated: `6148` - // Minimum execution time: 327_477_000 picoseconds. - Weight::from_parts(331_344_000, 6148) - .saturating_add(RocksDbWeight::get().reads(34_u64)) - .saturating_add(RocksDbWeight::get().writes(29_u64)) - } - /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) - /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::RegistrationsThisBlock` (r:1 w:1) - /// Proof: `SubtensorModule::RegistrationsThisBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MaxRegistrationsPerBlock` (r:1 w:0) - /// Proof: `SubtensorModule::MaxRegistrationsPerBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:1 w:1) - /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TargetRegistrationsPerInterval` (r:1 w:0) - /// Proof: `SubtensorModule::TargetRegistrationsPerInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Uids` (r:1 w:1) - /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Owner` (r:1 w:0) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MaxAllowedUids` (r:1 w:0) - /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Active` (r:1 w:1) - /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Emission` (r:1 w:1) - /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Consensus` (r:1 w:1) - /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) - /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Incentive` (r:1 w:1) - /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) - /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Dividends` (r:1 w:1) - /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) - /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) - /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Delegates` (r:1 w:1) - /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) - /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Keys` (r:0 w:1) - /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) - /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn root_register() -> Weight { - // Proof Size summary in bytes: - // Measured: `1516` - // Estimated: `4981` - // Minimum execution time: 100_676_000 picoseconds. - Weight::from_parts(103_852_000, 4981) - .saturating_add(RocksDbWeight::get().reads(19_u64)) - .saturating_add(RocksDbWeight::get().writes(16_u64)) - } - /// Storage: `SubtensorModule::Owner` (r:1 w:1) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworkRegistrationStartBlock` (r:1 w:0) - /// Proof: `SubtensorModule::NetworkRegistrationStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworkRateLimit` (r:1 w:0) - /// Proof: `SubtensorModule::NetworkRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) - /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetLimit` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:1) - /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworkLastLockCost` (r:1 w:1) - /// Proof: `SubtensorModule::NetworkLastLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworkMinLockCost` (r:1 w:0) - /// Proof: `SubtensorModule::NetworkMinLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworkLockReductionInterval` (r:1 w:0) - /// Proof: `SubtensorModule::NetworkLockReductionInterval` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:0) - /// Proof: `SubtensorModule::TotalIssuance` (`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(104), added: 2579, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::SwapBalancer` (r:1 w:0) - /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::TotalNetworks` (r:1 w:1) - /// Proof: `SubtensorModule::TotalNetworks` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::Kappa` (r:1 w:1) /// Proof: `SubtensorModule::Kappa` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetUidToLeaseId` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetUidToLeaseId` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::ActivityCutoff` (r:1 w:1) /// Proof: `SubtensorModule::ActivityCutoff` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:1 w:1) - /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) - /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) - /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Active` (r:1 w:1) - /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Emission` (r:1 w:1) - /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Consensus` (r:1 w:1) - /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) - /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Incentive` (r:1 w:1) - /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) - /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Dividends` (r:1 w:1) - /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) - /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) - /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::RegisteredSubnetCounter` (r:1 w:1) - /// Proof: `SubtensorModule::RegisteredSubnetCounter` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TokenSymbol` (r:3 w:1) - /// Proof: `SubtensorModule::TokenSymbol` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) - /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Keys` (r:1 w:1) - /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::Burn` (r:0 w:1) /// Proof: `SubtensorModule::Burn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:0 w:1) - /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetLocked` (r:0 w:1) - /// Proof: `SubtensorModule::SubnetLocked` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworkRegisteredAt` (r:0 w:1) - /// Proof: `SubtensorModule::NetworkRegisteredAt` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetOwner` (r:0 w:1) - /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LiquidAlphaOn` (r:0 w:1) + /// Proof: `SubtensorModule::LiquidAlphaOn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::EMAPriceHalvingBlocks` (r:0 w:1) + /// Proof: `SubtensorModule::EMAPriceHalvingBlocks` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:0 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxBurn` (r:0 w:1) + /// Proof: `SubtensorModule::MaxBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ScalingLawPower` (r:0 w:1) + /// Proof: `SubtensorModule::ScalingLawPower` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastAdjustmentBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastAdjustmentBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaInEmission` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaInEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMovingPrice` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetMovingPrice` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisBlock` (r:0 w:1) + /// Proof: `SubtensorModule::RegistrationsThisBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TokenSymbol` (r:0 w:1) + /// Proof: `SubtensorModule::TokenSymbol` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinerBurned` (r:0 w:1) + /// Proof: `SubtensorModule::MinerBurned` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ServingRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::ServingRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BondsPenalty` (r:0 w:1) + /// Proof: `SubtensorModule::BondsPenalty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOutEmission` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOutEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsSetRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::WeightsSetRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:0 w:1) + /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LargestLocked` (r:0 w:1) + /// Proof: `SubtensorModule::LargestLocked` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ActivityCutoffFactorMilli` (r:0 w:1) + /// Proof: `SubtensorModule::ActivityCutoffFactorMilli` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:0 w:1) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:0 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaValues` (r:0 w:1) + /// Proof: `SubtensorModule::AlphaValues` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::SubnetVolume` (r:0 w:1) /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) - /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingOwnerLock` (r:0 w:1) + /// Proof: `SubtensorModule::DecayingOwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerLock` (r:0 w:1) + /// Proof: `SubtensorModule::OwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEpochIndex` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetRootSellTao` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetRootSellTao` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:0 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxRegistrationsPerBlock` (r:0 w:1) + /// Proof: `SubtensorModule::MaxRegistrationsPerBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::MinAllowedWeights` (r:0 w:1) /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingOwnerCut` (r:0 w:1) + /// Proof: `SubtensorModule::PendingOwnerCut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlocksSinceLastStep` (r:0 w:1) + /// Proof: `SubtensorModule::BlocksSinceLastStep` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingValidatorEmission` (r:0 w:1) + /// Proof: `SubtensorModule::PendingValidatorEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnRegistrationsThisInterval` (r:0 w:1) + /// Proof: `SubtensorModule::BurnRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:0 w:1) /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:0 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::MaxAllowedValidators` (r:0 w:1) /// Proof: `SubtensorModule::MaxAllowedValidators` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::Tempo` (r:0 w:1) /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeWeight` (r:0 w:1) + /// Proof: `SubtensorModule::StakeWeight` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::SubnetAlphaOut` (r:0 w:1) /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnIncreaseMult` (r:0 w:1) + /// Proof: `SubtensorModule::BurnIncreaseMult` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Difficulty` (r:0 w:1) + /// Proof: `SubtensorModule::Difficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MinDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingServerEmission` (r:0 w:1) + /// Proof: `SubtensorModule::PendingServerEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetExcessTao` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetExcessTao` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:0 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TargetRegistrationsPerInterval` (r:0 w:1) + /// Proof: `SubtensorModule::TargetRegistrationsPerInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerCutAutoLockEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::OwnerCutAutoLockEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:0 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEmaProtocolFlow` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetEmaProtocolFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:0 w:1) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Rho` (r:0 w:1) + /// Proof: `SubtensorModule::Rho` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::LastEpochBlock` (r:0 w:1) /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastMechansimStepBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastMechansimStepBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:0 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:0 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPruneLen` (r:0 w:1) + /// Proof: `SubtensorModule::ValidatorPruneLen` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnHalfLife` (r:0 w:1) + /// Proof: `SubtensorModule::BurnHalfLife` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEmaTaoFlow` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetEmaTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::SubnetworkN` (r:0 w:1) /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Uids` (r:0 w:1) - /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BondsResetOn` (r:0 w:1) + /// Proof: `SubtensorModule::BondsResetOn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinBurn` (r:0 w:1) + /// Proof: `SubtensorModule::MinBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::ImmunityPeriod` (r:0 w:1) /// Proof: `SubtensorModule::ImmunityPeriod` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetEmissionEnabled` (r:0 w:1) - /// Proof: `SubtensorModule::SubnetEmissionEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismEmissionSplit` (r:0 w:1) + /// Proof: `SubtensorModule::MechanismEmissionSplit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TransferToggle` (r:0 w:1) + /// Proof: `SubtensorModule::TransferToggle` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ImmuneOwnerUidsLimit` (r:0 w:1) + /// Proof: `SubtensorModule::ImmuneOwnerUidsLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:0 w:1) /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaSigmoidSteepness` (r:0 w:1) + /// Proof: `SubtensorModule::AlphaSigmoidSteepness` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BondsMovingAverage` (r:0 w:1) + /// Proof: `SubtensorModule::BondsMovingAverage` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsVersionKey` (r:0 w:1) + /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkPowRegistrationAllowed` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkPowRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MaxDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoInEmission` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetTaoInEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::Yuma3On` (r:0 w:1) /// Proof: `SubtensorModule::Yuma3On` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) - /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::FirstEmissionBlockNumber` (r:0 w:1) + /// Proof: `SubtensorModule::FirstEmissionBlockNumber` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingRootAlphaDivs` (r:0 w:1) + /// Proof: `SubtensorModule::PendingRootAlphaDivs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetProtocolFlow` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetProtocolFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LoadedEmission` (r:0 w:1) + /// Proof: `SubtensorModule::LoadedEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::MaxAllowedUids` (r:0 w:1) /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn register_network() -> Weight { + /// Storage: `SubtensorModule::POWRegistrationsThisInterval` (r:0 w:1) + /// Proof: `SubtensorModule::POWRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:0 w:1) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:0 w:1) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `Swap::PalSwapInitialized` (r:0 w:1) + /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + fn dissolve_network() -> Weight { // Proof Size summary in bytes: - // Measured: `1532` - // Estimated: `9947` - // Minimum execution time: 267_616_000 picoseconds. - Weight::from_parts(272_414_000, 9947) - .saturating_add(RocksDbWeight::get().reads(39_u64)) - .saturating_add(RocksDbWeight::get().writes(48_u64)) + // Measured: `655549` + // Estimated: `10796614` + // Minimum execution time: 56_246_738_000 picoseconds. + Weight::from_parts(57_161_554_000, 10796614) + .saturating_add(T::DbWeight::get().reads(16415_u64)) + .saturating_add(T::DbWeight::get().writes(16493_u64)) } - /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:1) /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) - /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) - /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Storage: `SubtensorModule::RootClaimable` (r:1 w:0) + /// Proof: `SubtensorModule::RootClaimable` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLocked` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetLocked` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegisteredAt` (r:1 w:1) + /// Proof: `SubtensorModule::NetworkRegisteredAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationStartBlock` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRegistrationStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TaoInRefundDeploymentBlock` (r:1 w:0) + /// Proof: `SubtensorModule::TaoInRefundDeploymentBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetProtocolAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetProtocolAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:2 w:1) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`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(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LockingColdkeys` (r:1 w:0) + /// Proof: `SubtensorModule::LockingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingLock` (r:1 w:0) + /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Commitments::TimelockedIndex` (r:1 w:1) + /// Proof: `Commitments::TimelockedIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalNetworks` (r:1 w:1) + /// Proof: `SubtensorModule::TotalNetworks` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:4097 w:4097) /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Storage: `SubtensorModule::Keys` (r:4097 w:4096) /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) - /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetEpochIndex` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Tempo` (r:1 w:0) - /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Storage: `SubtensorModule::Weights` (r:1 w:0) + /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:4096 w:4096) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:1) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetIdentitiesV3` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetIdentitiesV3` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildkeyTake` (r:1 w:0) + /// Proof: `SubtensorModule::ChildkeyTake` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:1) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:4078 w:4096) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastHotkeyEmissionOnNetuid` (r:1 w:0) + /// Proof: `SubtensorModule::LastHotkeyEmissionOnNetuid` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TransactionKeyLastBlock` (r:1 w:0) + /// Proof: `SubtensorModule::TransactionKeyLastBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:1 w:1) + /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Kappa` (r:1 w:1) + /// Proof: `SubtensorModule::Kappa` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetUidToLeaseId` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetUidToLeaseId` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ActivityCutoff` (r:1 w:1) + /// Proof: `SubtensorModule::ActivityCutoff` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Burn` (r:0 w:1) + /// Proof: `SubtensorModule::Burn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LiquidAlphaOn` (r:0 w:1) + /// Proof: `SubtensorModule::LiquidAlphaOn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::EMAPriceHalvingBlocks` (r:0 w:1) + /// Proof: `SubtensorModule::EMAPriceHalvingBlocks` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:0 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxBurn` (r:0 w:1) + /// Proof: `SubtensorModule::MaxBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ScalingLawPower` (r:0 w:1) + /// Proof: `SubtensorModule::ScalingLawPower` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastAdjustmentBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastAdjustmentBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaInEmission` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaInEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMovingPrice` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetMovingPrice` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisBlock` (r:0 w:1) + /// Proof: `SubtensorModule::RegistrationsThisBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TokenSymbol` (r:0 w:1) + /// Proof: `SubtensorModule::TokenSymbol` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinerBurned` (r:0 w:1) + /// Proof: `SubtensorModule::MinerBurned` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ServingRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::ServingRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BondsPenalty` (r:0 w:1) + /// Proof: `SubtensorModule::BondsPenalty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOutEmission` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOutEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsSetRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::WeightsSetRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:0 w:1) + /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LargestLocked` (r:0 w:1) + /// Proof: `SubtensorModule::LargestLocked` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ActivityCutoffFactorMilli` (r:0 w:1) + /// Proof: `SubtensorModule::ActivityCutoffFactorMilli` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:0 w:1) /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::BlocksSinceLastStep` (r:1 w:0) + /// Storage: `SubtensorModule::ValidatorTrust` (r:0 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaValues` (r:0 w:1) + /// Proof: `SubtensorModule::AlphaValues` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingOwnerLock` (r:0 w:1) + /// Proof: `SubtensorModule::DecayingOwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerLock` (r:0 w:1) + /// Proof: `SubtensorModule::OwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEpochIndex` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetRootSellTao` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetRootSellTao` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:0 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxRegistrationsPerBlock` (r:0 w:1) + /// Proof: `SubtensorModule::MaxRegistrationsPerBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:0 w:1) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingOwnerCut` (r:0 w:1) + /// Proof: `SubtensorModule::PendingOwnerCut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlocksSinceLastStep` (r:0 w:1) /// Proof: `SubtensorModule::BlocksSinceLastStep` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Storage: `SubtensorModule::PendingValidatorEmission` (r:0 w:1) + /// Proof: `SubtensorModule::PendingValidatorEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnRegistrationsThisInterval` (r:0 w:1) + /// Proof: `SubtensorModule::BurnRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:0 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedValidators` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedValidators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:0 w:1) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeWeight` (r:0 w:1) + /// Proof: `SubtensorModule::StakeWeight` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnIncreaseMult` (r:0 w:1) + /// Proof: `SubtensorModule::BurnIncreaseMult` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Difficulty` (r:0 w:1) + /// Proof: `SubtensorModule::Difficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MinDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingServerEmission` (r:0 w:1) + /// Proof: `SubtensorModule::PendingServerEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetExcessTao` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetExcessTao` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:0 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TargetRegistrationsPerInterval` (r:0 w:1) + /// Proof: `SubtensorModule::TargetRegistrationsPerInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerCutAutoLockEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::OwnerCutAutoLockEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:0 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEmaProtocolFlow` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetEmaProtocolFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:0 w:1) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Rho` (r:0 w:1) + /// Proof: `SubtensorModule::Rho` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:0 w:1) /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::WeightCommits` (r:1 w:1) - /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Storage: `SubtensorModule::LastMechansimStepBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastMechansimStepBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:0 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:0 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPruneLen` (r:0 w:1) + /// Proof: `SubtensorModule::ValidatorPruneLen` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnHalfLife` (r:0 w:1) + /// Proof: `SubtensorModule::BurnHalfLife` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEmaTaoFlow` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetEmaTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:0 w:1) /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn commit_weights() -> Weight { + /// Storage: `SubtensorModule::BondsResetOn` (r:0 w:1) + /// Proof: `SubtensorModule::BondsResetOn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinBurn` (r:0 w:1) + /// Proof: `SubtensorModule::MinBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ImmunityPeriod` (r:0 w:1) + /// Proof: `SubtensorModule::ImmunityPeriod` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismEmissionSplit` (r:0 w:1) + /// Proof: `SubtensorModule::MechanismEmissionSplit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TransferToggle` (r:0 w:1) + /// Proof: `SubtensorModule::TransferToggle` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ImmuneOwnerUidsLimit` (r:0 w:1) + /// Proof: `SubtensorModule::ImmuneOwnerUidsLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaSigmoidSteepness` (r:0 w:1) + /// Proof: `SubtensorModule::AlphaSigmoidSteepness` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BondsMovingAverage` (r:0 w:1) + /// Proof: `SubtensorModule::BondsMovingAverage` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsVersionKey` (r:0 w:1) + /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkPowRegistrationAllowed` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkPowRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MaxDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoInEmission` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetTaoInEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Yuma3On` (r:0 w:1) + /// Proof: `SubtensorModule::Yuma3On` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::FirstEmissionBlockNumber` (r:0 w:1) + /// Proof: `SubtensorModule::FirstEmissionBlockNumber` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingRootAlphaDivs` (r:0 w:1) + /// Proof: `SubtensorModule::PendingRootAlphaDivs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetProtocolFlow` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetProtocolFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LoadedEmission` (r:0 w:1) + /// Proof: `SubtensorModule::LoadedEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::POWRegistrationsThisInterval` (r:0 w:1) + /// Proof: `SubtensorModule::POWRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:0 w:1) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:0 w:1) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `Swap::PalSwapInitialized` (r:0 w:1) + /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + fn root_dissolve_network() -> Weight { // Proof Size summary in bytes: - // Measured: `1249` - // Estimated: `4714` - // Minimum execution time: 67_896_000 picoseconds. - Weight::from_parts(69_409_000, 4714) - .saturating_add(RocksDbWeight::get().reads(13_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) + // Measured: `655331` + // Estimated: `10796396` + // Minimum execution time: 56_548_117_000 picoseconds. + Weight::from_parts(57_556_616_000, 10796396) + .saturating_add(T::DbWeight::get().reads(16406_u64)) + .saturating_add(T::DbWeight::get().writes(16493_u64)) } - /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) - /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::WeightCommits` (r:1 w:1) - /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetEpochIndex` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Tempo` (r:1 w:0) - /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:1 w:0) - /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Storage: `SubtensorModule::TransactionKeyLastBlock` (r:1 w:1) + /// Proof: `SubtensorModule::TransactionKeyLastBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) - /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Uids` (r:1 w:0) - /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TaoWeight` (r:1 w:0) - /// Proof: `SubtensorModule::TaoWeight` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:0) - /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) - /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:1 w:0) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::WeightsVersionKey` (r:1 w:0) - /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Keys` (r:1 w:0) - /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MinAllowedWeights` (r:1 w:0) - /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Weights` (r:0 w:1) - /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn reveal_weights() -> Weight { - // Proof Size summary in bytes: - // Measured: `1650` - // Estimated: `7590` - // Minimum execution time: 109_312_000 picoseconds. - Weight::from_parts(110_735_000, 7590) - .saturating_add(RocksDbWeight::get().reads(19_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingChildKeyCooldown` (r:1 w:0) + /// Proof: `SubtensorModule::PendingChildKeyCooldown` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingChildKeys` (r:0 w:1) + /// Proof: `SubtensorModule::PendingChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `c` is `[1, 5]`. + fn set_children(c: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1536` + // Estimated: `9951` + // Minimum execution time: 99_257_000 picoseconds. + Weight::from_parts(102_052_335, 9951) + // Standard Error: 23_274 + .saturating_add(Weight::from_parts(321_144, 0).saturating_mul(c.into())) + .saturating_add(T::DbWeight::get().reads(17_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) } - /// Storage: `SubtensorModule::TxChildkeyTakeRateLimit` (r:0 w:1) - /// Proof: `SubtensorModule::TxChildkeyTakeRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn sudo_set_tx_childkey_take_rate_limit() -> Weight { + fn schedule_swap_coldkey() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_200_000 picoseconds. - Weight::from_parts(5_510_000, 0) - .saturating_add(RocksDbWeight::get().writes(1_u64)) + // Minimum execution time: 1_993_000 picoseconds. + Weight::from_parts(2_184_000, 0) } - /// Storage: `SubtensorModule::Owner` (r:1 w:0) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MinChildkeyTake` (r:1 w:0) - /// Proof: `SubtensorModule::MinChildkeyTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MinChildkeyTakePerSubnet` (r:1 w:0) - /// Proof: `SubtensorModule::MinChildkeyTakePerSubnet` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MaxChildkeyTake` (r:1 w:0) - /// Proof: `SubtensorModule::MaxChildkeyTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ChildkeyTake` (r:1 w:1) - /// Proof: `SubtensorModule::ChildkeyTake` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TxChildkeyTakeRateLimit` (r:1 w:0) - /// Proof: `SubtensorModule::TxChildkeyTakeRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TransactionKeyLastBlock` (r:1 w:1) - /// Proof: `SubtensorModule::TransactionKeyLastBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn set_childkey_take() -> Weight { - // Proof Size summary in bytes: - // Measured: `1033` - // Estimated: `4498` - // Minimum execution time: 52_177_000 picoseconds. - Weight::from_parts(53_178_000, 4498) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::VotingPowerDisableAtBlock` (r:0 w:1) + /// Proof: `SubtensorModule::VotingPowerDisableAtBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::VotingPowerTrackingEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::VotingPowerTrackingEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn enable_voting_power_tracking() -> Weight { + // Proof Size summary in bytes: + // Measured: `635` + // Estimated: `4100` + // Minimum execution time: 15_833_000 picoseconds. + Weight::from_parts(17_516_000, 4100) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) } - /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:1) - /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) - /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ColdkeySwapAnnouncementDelay` (r:1 w:0) - /// Proof: `SubtensorModule::ColdkeySwapAnnouncementDelay` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn announce_coldkey_swap() -> Weight { + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::VotingPowerTrackingEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::VotingPowerTrackingEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::VotingPowerDisableAtBlock` (r:0 w:1) + /// Proof: `SubtensorModule::VotingPowerDisableAtBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn disable_voting_power_tracking() -> Weight { + // Proof Size summary in bytes: + // Measured: `696` + // Estimated: `4161` + // Minimum execution time: 20_049_000 picoseconds. + Weight::from_parts(20_741_000, 4161) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::VotingPowerEmaAlpha` (r:0 w:1) + /// Proof: `SubtensorModule::VotingPowerEmaAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_voting_power_ema_alpha() -> Weight { // Proof Size summary in bytes: - // Measured: `694` - // Estimated: `4159` - // Minimum execution time: 46_146_000 picoseconds. - Weight::from_parts(47_278_000, 4159) - .saturating_add(RocksDbWeight::get().reads(4_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 7_371_000 picoseconds. + Weight::from_parts(7_952_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) } - /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:1) - /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingHotkeys` (r:2 w:2) - /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Owner` (r:1 w:1) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::IdentitiesV2` (r:2 w:0) - /// Proof: `SubtensorModule::IdentitiesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetOwner` (r:2 w:0) - /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AutoStakeDestination` (r:2 w:0) - /// Proof: `SubtensorModule::AutoStakeDestination` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Alpha` (r:4 w:0) - /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AlphaV2` (r:4 w:2) - /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:2) - /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) - /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:2) - /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingColdkeys` (r:1 w:0) - /// Proof: `SubtensorModule::StakingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::OwnedHotkeys` (r:2 w:2) - /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::UnlockRate` (r:1 w:0) - /// Proof: `SubtensorModule::UnlockRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MaturityRate` (r:1 w:0) - /// Proof: `SubtensorModule::MaturityRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Lock` (r:2 w:0) - /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AccountFlags` (r:1 w:0) - /// Proof: `SubtensorModule::AccountFlags` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::DecayingLock` (r:1 w:0) - /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Burn` (r:1 w:1) + /// Proof: `SubtensorModule::Burn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:1) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `System::Account` (r:2 w:2) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:0 w:1) + /// Storage: `SubtensorModule::Owner` (r:1 w:1) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:1 w:0) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::PalSwapInitialized` (r:1 w:1) + /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:1 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:1 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:1 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:1 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:1 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnIncreaseMult` (r:1 w:0) + /// Proof: `SubtensorModule::BurnIncreaseMult` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinBurn` (r:1 w:0) + /// Proof: `SubtensorModule::MinBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxBurn` (r:1 w:0) + /// Proof: `SubtensorModule::MaxBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisBlock` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:1 w:1) + /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:0 w:1) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:0 w:1) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + fn register_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `1707` + // Estimated: `6148` + // Minimum execution time: 338_483_000 picoseconds. + Weight::from_parts(345_012_000, 6148) + .saturating_add(T::DbWeight::get().reads(34_u64)) + .saturating_add(T::DbWeight::get().writes(29_u64)) + } + /// Storage: `SubtensorModule::DecayingLock` (r:1 w:1) + /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Lock` (r:2 w:1) + /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::HotkeyLock` (r:1 w:0) + /// Proof: `SubtensorModule::HotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingHotkeyLock` (r:1 w:1) + /// Proof: `SubtensorModule::DecayingHotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerLock` (r:1 w:0) + /// Proof: `SubtensorModule::OwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingOwnerLock` (r:1 w:0) + /// Proof: `SubtensorModule::DecayingOwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::UnlockRate` (r:1 w:0) + /// Proof: `SubtensorModule::UnlockRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaturityRate` (r:1 w:0) + /// Proof: `SubtensorModule::MaturityRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LockingColdkeys` (r:0 w:1) + /// Proof: `SubtensorModule::LockingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_perpetual_lock() -> Weight { + // Proof Size summary in bytes: + // Measured: `1111` + // Estimated: `7051` + // Minimum execution time: 105_326_000 picoseconds. + Weight::from_parts(107_139_000, 7051) + .saturating_add(T::DbWeight::get().reads(10_u64)) + .saturating_add(T::DbWeight::get().writes(4_u64)) + } + /// Storage: `SubtensorModule::AccountFlags` (r:1 w:1) + /// Proof: `SubtensorModule::AccountFlags` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_reject_locked_alpha() -> Weight { + // Proof Size summary in bytes: + // Measured: `562` + // Estimated: `4027` + // Minimum execution time: 12_749_000 picoseconds. + Weight::from_parts(13_140_000, 4027) + .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: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:1) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Burn` (r:1 w:1) + /// Proof: `SubtensorModule::Burn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:1) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:1 w:0) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::PalSwapInitialized` (r:1 w:1) + /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:1 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:1 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:1 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:1 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:1 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnIncreaseMult` (r:1 w:0) + /// Proof: `SubtensorModule::BurnIncreaseMult` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinBurn` (r:1 w:0) + /// Proof: `SubtensorModule::MinBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxBurn` (r:1 w:0) + /// Proof: `SubtensorModule::MaxBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisBlock` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:1 w:1) + /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:0 w:1) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:0 w:1) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + fn register() -> Weight { + // Proof Size summary in bytes: + // Measured: `1865` + // Estimated: `6148` + // Minimum execution time: 328_388_000 picoseconds. + Weight::from_parts(330_502_000, 6148) + .saturating_add(RocksDbWeight::get().reads(34_u64)) + .saturating_add(RocksDbWeight::get().writes(29_u64)) + } + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TaoWeight` (r:1 w:0) + /// Proof: `SubtensorModule::TaoWeight` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsVersionKey` (r:1 w:0) + /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:4096 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:0) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:1 w:0) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Weights` (r:0 w:1) + /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `188820` + // Estimated: `10327410` + // Minimum execution time: 14_574_435_000 picoseconds. + Weight::from_parts(14_943_515_000, 10327410) + .saturating_add(RocksDbWeight::get().reads(4112_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::PalSwapInitialized` (r:1 w:0) + /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:1 w:0) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:3 w:3) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Lock` (r:2 w:1) + /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingLock` (r:1 w:0) + /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::HotkeyLock` (r:1 w:0) + /// Proof: `SubtensorModule::HotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingHotkeyLock` (r:1 w:1) + /// Proof: `SubtensorModule::DecayingHotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerLock` (r:1 w:0) + /// Proof: `SubtensorModule::OwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingOwnerLock` (r:1 w:0) + /// Proof: `SubtensorModule::DecayingOwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::UnlockRate` (r:1 w:0) + /// Proof: `SubtensorModule::UnlockRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaturityRate` (r:1 w:0) + /// Proof: `SubtensorModule::MaturityRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LockingColdkeys` (r:0 w:1) + /// Proof: `SubtensorModule::LockingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn add_stake() -> Weight { + // Proof Size summary in bytes: + // Measured: `2226` + // Estimated: `8727` + // Minimum execution time: 630_738_000 picoseconds. + Weight::from_parts(657_709_000, 8727) + .saturating_add(RocksDbWeight::get().reads(32_u64)) + .saturating_add(RocksDbWeight::get().writes(16_u64)) + } + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Axons` (r:1 w:1) + /// Proof: `SubtensorModule::Axons` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ServingRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::ServingRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn serve_axon() -> Weight { + // Proof Size summary in bytes: + // Measured: `713` + // Estimated: `4178` + // Minimum execution time: 29_935_000 picoseconds. + Weight::from_parts(31_428_000, 4178) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Prometheus` (r:1 w:1) + /// Proof: `SubtensorModule::Prometheus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ServingRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::ServingRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn serve_prometheus() -> Weight { + // Proof Size summary in bytes: + // Measured: `812` + // Estimated: `4277` + // Minimum execution time: 28_453_000 picoseconds. + Weight::from_parts(29_284_000, 4277) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:1) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Burn` (r:1 w:1) + /// Proof: `SubtensorModule::Burn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:1) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:1 w:0) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::PalSwapInitialized` (r:1 w:1) + /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:1 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:1 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:1 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:1 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:1 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnIncreaseMult` (r:1 w:0) + /// Proof: `SubtensorModule::BurnIncreaseMult` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinBurn` (r:1 w:0) + /// Proof: `SubtensorModule::MinBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxBurn` (r:1 w:0) + /// Proof: `SubtensorModule::MaxBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisBlock` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:1 w:1) + /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:0 w:1) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:0 w:1) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + fn burned_register() -> Weight { + // Proof Size summary in bytes: + // Measured: `1798` + // Estimated: `6148` + // Minimum execution time: 327_477_000 picoseconds. + Weight::from_parts(331_344_000, 6148) + .saturating_add(RocksDbWeight::get().reads(34_u64)) + .saturating_add(RocksDbWeight::get().writes(29_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisBlock` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxRegistrationsPerBlock` (r:1 w:0) + /// Proof: `SubtensorModule::MaxRegistrationsPerBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TargetRegistrationsPerInterval` (r:1 w:0) + /// Proof: `SubtensorModule::TargetRegistrationsPerInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:1) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:1 w:0) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:1 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:1 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:1 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:1 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:1 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Delegates` (r:1 w:1) + /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:0 w:1) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn root_register() -> Weight { + // Proof Size summary in bytes: + // Measured: `1516` + // Estimated: `4981` + // Minimum execution time: 100_676_000 picoseconds. + Weight::from_parts(103_852_000, 4981) + .saturating_add(RocksDbWeight::get().reads(19_u64)) + .saturating_add(RocksDbWeight::get().writes(16_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:1) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationStartBlock` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRegistrationStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLimit` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:1) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkLastLockCost` (r:1 w:1) + /// Proof: `SubtensorModule::NetworkLastLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkMinLockCost` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkMinLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkLockReductionInterval` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkLockReductionInterval` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:0) + /// Proof: `SubtensorModule::TotalIssuance` (`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(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:1 w:0) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::TotalNetworks` (r:1 w:1) + /// Proof: `SubtensorModule::TotalNetworks` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Kappa` (r:1 w:1) + /// Proof: `SubtensorModule::Kappa` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ActivityCutoff` (r:1 w:1) + /// Proof: `SubtensorModule::ActivityCutoff` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:1 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:1 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:1 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:1 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:1 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegisteredSubnetCounter` (r:1 w:1) + /// Proof: `SubtensorModule::RegisteredSubnetCounter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TokenSymbol` (r:3 w:1) + /// Proof: `SubtensorModule::TokenSymbol` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:1) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Burn` (r:0 w:1) + /// Proof: `SubtensorModule::Burn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLocked` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetLocked` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegisteredAt` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRegisteredAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:0 w:1) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedValidators` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedValidators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:0 w:1) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:0 w:1) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ImmunityPeriod` (r:0 w:1) + /// Proof: `SubtensorModule::ImmunityPeriod` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEmissionEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetEmissionEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Yuma3On` (r:0 w:1) + /// Proof: `SubtensorModule::Yuma3On` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn register_network() -> Weight { + // Proof Size summary in bytes: + // Measured: `1532` + // Estimated: `9947` + // Minimum execution time: 267_616_000 picoseconds. + Weight::from_parts(272_414_000, 9947) + .saturating_add(RocksDbWeight::get().reads(39_u64)) + .saturating_add(RocksDbWeight::get().writes(48_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEpochIndex` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlocksSinceLastStep` (r:1 w:0) + /// Proof: `SubtensorModule::BlocksSinceLastStep` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightCommits` (r:1 w:1) + /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn commit_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `1249` + // Estimated: `4714` + // Minimum execution time: 67_896_000 picoseconds. + Weight::from_parts(69_409_000, 4714) + .saturating_add(RocksDbWeight::get().reads(13_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightCommits` (r:1 w:1) + /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEpochIndex` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:1 w:0) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TaoWeight` (r:1 w:0) + /// Proof: `SubtensorModule::TaoWeight` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsVersionKey` (r:1 w:0) + /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:1 w:0) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Weights` (r:0 w:1) + /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn reveal_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `1650` + // Estimated: `7590` + // Minimum execution time: 109_312_000 picoseconds. + Weight::from_parts(110_735_000, 7590) + .saturating_add(RocksDbWeight::get().reads(19_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::TxChildkeyTakeRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::TxChildkeyTakeRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_tx_childkey_take_rate_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_200_000 picoseconds. + Weight::from_parts(5_510_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinChildkeyTake` (r:1 w:0) + /// Proof: `SubtensorModule::MinChildkeyTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinChildkeyTakePerSubnet` (r:1 w:0) + /// Proof: `SubtensorModule::MinChildkeyTakePerSubnet` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxChildkeyTake` (r:1 w:0) + /// Proof: `SubtensorModule::MaxChildkeyTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildkeyTake` (r:1 w:1) + /// Proof: `SubtensorModule::ChildkeyTake` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TxChildkeyTakeRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::TxChildkeyTakeRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TransactionKeyLastBlock` (r:1 w:1) + /// Proof: `SubtensorModule::TransactionKeyLastBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_childkey_take() -> Weight { + // Proof Size summary in bytes: + // Measured: `1033` + // Estimated: `4498` + // Minimum execution time: 52_177_000 picoseconds. + Weight::from_parts(53_178_000, 4498) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:1) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ColdkeySwapAnnouncementDelay` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncementDelay` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn announce_coldkey_swap() -> Weight { + // Proof Size summary in bytes: + // Measured: `694` + // Estimated: `4159` + // Minimum execution time: 46_146_000 picoseconds. + Weight::from_parts(47_278_000, 4159) + .saturating_add(RocksDbWeight::get().reads(4_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + } + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:1) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:2 w:2) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:1) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IdentitiesV2` (r:2 w:0) + /// Proof: `SubtensorModule::IdentitiesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AutoStakeDestination` (r:2 w:0) + /// Proof: `SubtensorModule::AutoStakeDestination` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:4 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:4 w:2) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingColdkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:2 w:2) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::UnlockRate` (r:1 w:0) + /// Proof: `SubtensorModule::UnlockRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaturityRate` (r:1 w:0) + /// Proof: `SubtensorModule::MaturityRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Lock` (r:2 w:0) + /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AccountFlags` (r:1 w:0) + /// Proof: `SubtensorModule::AccountFlags` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingLock` (r:1 w:0) + /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn swap_coldkey_announced() -> Weight { + // Proof Size summary in bytes: + // Measured: `2110` + // Estimated: `13000` + // Minimum execution time: 288_044_000 picoseconds. + Weight::from_parts(290_288_000, 13000) + .saturating_add(RocksDbWeight::get().reads(38_u64)) + .saturating_add(RocksDbWeight::get().writes(15_u64)) + } + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:2 w:2) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:1) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IdentitiesV2` (r:2 w:2) + /// Proof: `SubtensorModule::IdentitiesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AutoStakeDestination` (r:2 w:0) + /// Proof: `SubtensorModule::AutoStakeDestination` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:4 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:4 w:2) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingColdkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:2 w:2) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::UnlockRate` (r:1 w:0) + /// Proof: `SubtensorModule::UnlockRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaturityRate` (r:1 w:0) + /// Proof: `SubtensorModule::MaturityRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Lock` (r:2 w:0) + /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AccountFlags` (r:1 w:0) + /// Proof: `SubtensorModule::AccountFlags` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingLock` (r:1 w:0) + /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:0 w:1) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ColdkeySwapDisputes` (r:0 w:1) + /// Proof: `SubtensorModule::ColdkeySwapDisputes` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn swap_coldkey() -> Weight { + // Proof Size summary in bytes: + // Measured: `2166` + // Estimated: `13056` + // Minimum execution time: 309_453_000 picoseconds. + Weight::from_parts(315_114_000, 13056) + .saturating_add(RocksDbWeight::get().reads(38_u64)) + .saturating_add(RocksDbWeight::get().writes(19_u64)) + } + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ColdkeySwapDisputes` (r:1 w:1) + /// Proof: `SubtensorModule::ColdkeySwapDisputes` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn dispute_coldkey_swap() -> Weight { + // Proof Size summary in bytes: + // Measured: `665` + // Estimated: `4130` + // Minimum execution time: 22_261_000 picoseconds. + Weight::from_parts(22_982_000, 4130) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:1) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ColdkeySwapReannouncementDelay` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapReannouncementDelay` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn clear_coldkey_swap_announcement() -> Weight { + // Proof Size summary in bytes: + // Measured: `613` + // Estimated: `4078` + // Minimum execution time: 18_805_000 picoseconds. + Weight::from_parts(20_077_000, 4078) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:0 w:1) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ColdkeySwapDisputes` (r:0 w:1) + /// Proof: `SubtensorModule::ColdkeySwapDisputes` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn reset_coldkey_swap() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 8_095_000 picoseconds. + Weight::from_parts(8_666_000, 0) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightCommits` (r:1 w:1) + /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEpochIndex` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:1 w:0) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TaoWeight` (r:1 w:0) + /// Proof: `SubtensorModule::TaoWeight` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsVersionKey` (r:1 w:0) + /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:1 w:0) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Weights` (r:0 w:1) + /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn batch_reveal_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `2155` + // Estimated: `8095` + // Minimum execution time: 403_027_000 picoseconds. + Weight::from_parts(424_947_000, 8095) + .saturating_add(RocksDbWeight::get().reads(19_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Lock` (r:1 w:0) + /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `AlphaAssets::AlphaRecycled` (r:1 w:1) + /// Proof: `AlphaAssets::AlphaRecycled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `AlphaAssets::TotalAlphaIssuance` (r:1 w:1) + /// Proof: `AlphaAssets::TotalAlphaIssuance` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn recycle_alpha() -> Weight { + // Proof Size summary in bytes: + // Measured: `1754` + // Estimated: `5219` + // Minimum execution time: 171_027_000 picoseconds. + Weight::from_parts(172_711_000, 5219) + .saturating_add(RocksDbWeight::get().reads(13_u64)) + .saturating_add(RocksDbWeight::get().writes(6_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Lock` (r:1 w:0) + /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `AlphaAssets::AlphaBurned` (r:1 w:1) + /// Proof: `AlphaAssets::AlphaBurned` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn burn_alpha() -> Weight { + // Proof Size summary in bytes: + // Measured: `1754` + // Estimated: `5219` + // Minimum execution time: 166_909_000 picoseconds. + Weight::from_parts(168_933_000, 5219) + .saturating_add(RocksDbWeight::get().reads(12_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) + } + /// Storage: `System::ParentHash` (r:1 w:0) + /// Proof: `System::ParentHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::NetworksAdded` (r:130 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Burn` (r:129 w:129) + /// Proof: `SubtensorModule::Burn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinBurn` (r:129 w:0) + /// Proof: `SubtensorModule::MinBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxBurn` (r:129 w:0) + /// Proof: `SubtensorModule::MaxBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnHalfLife` (r:129 w:0) + /// Proof: `SubtensorModule::BurnHalfLife` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:129 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:129 w:2) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlocksSinceLastStep` (r:129 w:128) + /// Proof: `SubtensorModule::BlocksSinceLastStep` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:127 w:2) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxEpochsPerBlock` (r:1 w:0) + /// Proof: `SubtensorModule::MaxEpochsPerBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:514 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:128 w:0) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEpochIndex` (r:128 w:2) + /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:128 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TimelockedWeightCommits` (r:130 w:0) + /// Proof: `SubtensorModule::TimelockedWeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::FirstEmissionBlockNumber` (r:128 w:0) + /// Proof: `SubtensorModule::FirstEmissionBlockNumber` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:129 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:128 w:0) + /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:128 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMovingPrice` (r:1 w:128) + /// Proof: `SubtensorModule::SubnetMovingPrice` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinerBurned` (r:128 w:2) + /// Proof: `SubtensorModule::MinerBurned` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:128 w:127) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:128 w:127) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:129 w:127) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TaoWeight` (r:1 w:0) + /// Proof: `SubtensorModule::TaoWeight` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEmissionEnabled` (r:128 w:0) + /// Proof: `SubtensorModule::SubnetEmissionEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:128 w:128) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:127 w:127) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:127 w:127) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetProtocolAlpha` (r:127 w:127) + /// Proof: `SubtensorModule::SubnetProtocolAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetProtocolFlow` (r:127 w:127) + /// Proof: `SubtensorModule::SubnetProtocolFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerCut` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwnerCut` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerCutEnabled` (r:128 w:0) + /// Proof: `SubtensorModule::OwnerCutEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingOwnerCut` (r:128 w:128) + /// Proof: `SubtensorModule::PendingOwnerCut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingServerEmission` (r:128 w:128) + /// Proof: `SubtensorModule::PendingServerEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingValidatorEmission` (r:128 w:128) + /// Proof: `SubtensorModule::PendingValidatorEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingRootAlphaDivs` (r:128 w:128) + /// Proof: `SubtensorModule::PendingRootAlphaDivs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismEmissionSplit` (r:2 w:0) + /// Proof: `SubtensorModule::MechanismEmissionSplit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ActivityCutoffFactorMilli` (r:2 w:0) + /// Proof: `SubtensorModule::ActivityCutoffFactorMilli` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:2 w:0) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:512 w:0) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1024 w:512) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:512 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:512 w:0) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:2 w:2) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedValidators` (r:2 w:0) + /// Proof: `SubtensorModule::MaxAllowedValidators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Weights` (r:258 w:0) + /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:2 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightCommits` (r:2 w:0) + /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Kappa` (r:2 w:0) + /// Proof: `SubtensorModule::Kappa` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BondsPenalty` (r:2 w:0) + /// Proof: `SubtensorModule::BondsPenalty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Yuma3On` (r:2 w:0) + /// Proof: `SubtensorModule::Yuma3On` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Bonds` (r:258 w:512) + /// Proof: `SubtensorModule::Bonds` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastMechansimStepBlock` (r:2 w:2) + /// Proof: `SubtensorModule::LastMechansimStepBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LiquidAlphaOn` (r:2 w:0) + /// Proof: `SubtensorModule::LiquidAlphaOn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BondsMovingAverage` (r:2 w:0) + /// Proof: `SubtensorModule::BondsMovingAverage` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::VotingPowerTrackingEnabled` (r:2 w:0) + /// Proof: `SubtensorModule::VotingPowerTrackingEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CKBurn` (r:1 w:0) + /// Proof: `SubtensorModule::CKBurn` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildkeyTake` (r:512 w:0) + /// Proof: `SubtensorModule::ChildkeyTake` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinChildkeyTake` (r:1 w:0) + /// Proof: `SubtensorModule::MinChildkeyTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinChildkeyTakePerSubnet` (r:2 w:0) + /// Proof: `SubtensorModule::MinChildkeyTakePerSubnet` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:512 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:2 w:0) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AutoStakeDestination` (r:512 w:0) + /// Proof: `SubtensorModule::AutoStakeDestination` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:513 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:542 w:512) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:512 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:512 w:512) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Delegates` (r:512 w:0) + /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaDividendsPerSubnet` (r:512 w:512) + /// Proof: `SubtensorModule::AlphaDividendsPerSubnet` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimable` (r:512 w:512) + /// Proof: `SubtensorModule::RootClaimable` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootAlphaDividendsPerSubnet` (r:512 w:512) + /// Proof: `SubtensorModule::RootAlphaDividendsPerSubnet` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::EMAPriceHalvingBlocks` (r:128 w:0) + /// Proof: `SubtensorModule::EMAPriceHalvingBlocks` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMovingAlpha` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetMovingAlpha` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingChildKeys` (r:129 w:0) + /// Proof: `SubtensorModule::PendingChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NumStakingColdkeys` (r:1 w:0) + /// Proof: `SubtensorModule::NumStakingColdkeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NumRootClaim` (r:1 w:0) + /// Proof: `SubtensorModule::NumRootClaim` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingColdkeysByIndex` (r:1 w:0) + /// Proof: `SubtensorModule::StakingColdkeysByIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaMapLastKey` (r:1 w:0) + /// Proof: `SubtensorModule::AlphaMapLastKey` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2MapLastKey` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2MapLastKey` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootProp` (r:0 w:128) + /// Proof: `SubtensorModule::RootProp` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:0 w:2) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaInEmission` (r:0 w:128) + /// Proof: `SubtensorModule::SubnetAlphaInEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisBlock` (r:0 w:129) + /// Proof: `SubtensorModule::RegistrationsThisBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOutEmission` (r:0 w:128) + /// Proof: `SubtensorModule::SubnetAlphaOutEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:0 w:2) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeWeight` (r:0 w:2) + /// Proof: `SubtensorModule::StakeWeight` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetExcessTao` (r:0 w:128) + /// Proof: `SubtensorModule::SubnetExcessTao` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:0 w:2) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (r:0 w:512) + /// Proof: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:0 w:2) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:0 w:2) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:0 w:2) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoInEmission` (r:0 w:128) + /// Proof: `SubtensorModule::SubnetTaoInEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn block_step() -> Weight { + // Proof Size summary in bytes: + // Measured: `35625320` + // Estimated: `38160710` + // Minimum execution time: 148_201_572_000 picoseconds. + Weight::from_parts(150_671_474_000, 38160710) + .saturating_add(RocksDbWeight::get().reads(13668_u64)) + .saturating_add(RocksDbWeight::get().writes(6808_u64)) + } + + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::FirstEmissionBlockNumber` (r:1 w:1) + /// Proof: `SubtensorModule::FirstEmissionBlockNumber` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegisteredAt` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRegisteredAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StartCallDelay` (r:1 w:0) + /// Proof: `SubtensorModule::StartCallDelay` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn start_call() -> Weight { + // Proof Size summary in bytes: + // Measured: `1118` + // Estimated: `4583` + // Minimum execution time: 38_882_000 picoseconds. + Weight::from_parts(39_442_000, 4583) + .saturating_add(RocksDbWeight::get().reads(5_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::PalSwapInitialized` (r:1 w:0) + /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:1 w:0) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:3 w:3) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Lock` (r:2 w:1) + /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingLock` (r:1 w:0) + /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::HotkeyLock` (r:1 w:0) + /// Proof: `SubtensorModule::HotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingHotkeyLock` (r:1 w:1) + /// Proof: `SubtensorModule::DecayingHotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerLock` (r:1 w:0) + /// Proof: `SubtensorModule::OwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingOwnerLock` (r:1 w:0) + /// Proof: `SubtensorModule::DecayingOwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::UnlockRate` (r:1 w:0) + /// Proof: `SubtensorModule::UnlockRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaturityRate` (r:1 w:0) + /// Proof: `SubtensorModule::MaturityRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LockingColdkeys` (r:0 w:1) + /// Proof: `SubtensorModule::LockingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn add_stake_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `2226` + // Estimated: `8727` + // Minimum execution time: 810_081_000 picoseconds. + Weight::from_parts(833_084_000, 8727) + .saturating_add(RocksDbWeight::get().reads(32_u64)) + .saturating_add(RocksDbWeight::get().writes(16_u64)) + } + /// Storage: `SubtensorModule::Alpha` (r:2 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:2) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:2 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:1 w:0) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn move_stake() -> Weight { + // Proof Size summary in bytes: + // Measured: `1979` + // Estimated: `7919` + // Minimum execution time: 210_109_000 picoseconds. + Weight::from_parts(212_274_000, 7919) + .saturating_add(RocksDbWeight::get().reads(19_u64)) + .saturating_add(RocksDbWeight::get().writes(7_u64)) + } + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::PalSwapInitialized` (r:1 w:0) + /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:1 w:0) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Lock` (r:1 w:0) + /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `AlphaAssets::AlphaBurned` (r:1 w:1) + /// Proof: `AlphaAssets::AlphaBurned` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn remove_stake() -> Weight { + // Proof Size summary in bytes: + // Measured: `2142` + // Estimated: `10557` + // Minimum execution time: 539_440_000 picoseconds. + Weight::from_parts(562_672_000, 10557) + .saturating_add(RocksDbWeight::get().reads(28_u64)) + .saturating_add(RocksDbWeight::get().writes(13_u64)) + } + /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::PalSwapInitialized` (r:1 w:0) + /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:1 w:0) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Lock` (r:1 w:0) + /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `AlphaAssets::AlphaBurned` (r:1 w:1) + /// Proof: `AlphaAssets::AlphaBurned` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn remove_stake_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `2176` + // Estimated: `10591` + // Minimum execution time: 713_632_000 picoseconds. + Weight::from_parts(740_663_000, 10591) + .saturating_add(RocksDbWeight::get().reads(27_u64)) + .saturating_add(RocksDbWeight::get().writes(13_u64)) + } + /// Storage: `SubtensorModule::Alpha` (r:2 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:2) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::PalSwapInitialized` (r:1 w:0) + /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:1 w:0) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::NetworksAdded` (r:2 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:2 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Lock` (r:3 w:1) + /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:3 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `AlphaAssets::AlphaBurned` (r:1 w:1) + /// Proof: `AlphaAssets::AlphaBurned` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingLock` (r:1 w:0) + /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::HotkeyLock` (r:1 w:0) + /// Proof: `SubtensorModule::HotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingHotkeyLock` (r:1 w:1) + /// Proof: `SubtensorModule::DecayingHotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerLock` (r:1 w:0) + /// Proof: `SubtensorModule::OwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingOwnerLock` (r:1 w:0) + /// Proof: `SubtensorModule::DecayingOwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::UnlockRate` (r:1 w:0) + /// Proof: `SubtensorModule::UnlockRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaturityRate` (r:1 w:0) + /// Proof: `SubtensorModule::MaturityRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LockingColdkeys` (r:0 w:1) + /// Proof: `SubtensorModule::LockingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn swap_stake_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `2662` + // Estimated: `11077` + // Minimum execution time: 920_946_000 picoseconds. + Weight::from_parts(928_060_000, 11077) + .saturating_add(RocksDbWeight::get().reads(47_u64)) + .saturating_add(RocksDbWeight::get().writes(24_u64)) + } + /// Storage: `SubtensorModule::Alpha` (r:2 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:2) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TransferToggle` (r:1 w:0) + /// Proof: `SubtensorModule::TransferToggle` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:2 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Lock` (r:1 w:0) + /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:1 w:0) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn transfer_stake() -> Weight { + // Proof Size summary in bytes: + // Measured: `1988` + // Estimated: `7928` + // Minimum execution time: 244_634_000 picoseconds. + Weight::from_parts(246_506_000, 7928) + .saturating_add(RocksDbWeight::get().reads(18_u64)) + .saturating_add(RocksDbWeight::get().writes(6_u64)) + } + /// Storage: `SubtensorModule::Alpha` (r:2 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:2) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:2 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:2 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::PalSwapInitialized` (r:1 w:0) + /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:1 w:0) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Lock` (r:3 w:1) + /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:3 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `AlphaAssets::AlphaBurned` (r:1 w:1) + /// Proof: `AlphaAssets::AlphaBurned` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingLock` (r:1 w:0) + /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::HotkeyLock` (r:1 w:0) + /// Proof: `SubtensorModule::HotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingHotkeyLock` (r:1 w:1) + /// Proof: `SubtensorModule::DecayingHotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerLock` (r:1 w:0) + /// Proof: `SubtensorModule::OwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingOwnerLock` (r:1 w:0) + /// Proof: `SubtensorModule::DecayingOwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::UnlockRate` (r:1 w:0) + /// Proof: `SubtensorModule::UnlockRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaturityRate` (r:1 w:0) + /// Proof: `SubtensorModule::MaturityRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LockingColdkeys` (r:0 w:1) + /// Proof: `SubtensorModule::LockingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn swap_stake() -> Weight { + // Proof Size summary in bytes: + // Measured: `2505` + // Estimated: `10920` + // Minimum execution time: 696_210_000 picoseconds. + Weight::from_parts(723_230_000, 10920) + .saturating_add(RocksDbWeight::get().reads(47_u64)) + .saturating_add(RocksDbWeight::get().writes(24_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEpochIndex` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlocksSinceLastStep` (r:1 w:0) + /// Proof: `SubtensorModule::BlocksSinceLastStep` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightCommits` (r:1 w:1) + /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsSetRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::WeightsSetRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:1 w:0) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn batch_commit_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `1300` + // Estimated: `4765` + // Minimum execution time: 143_045_000 picoseconds. + Weight::from_parts(144_588_000, 4765) + .saturating_add(RocksDbWeight::get().reads(15_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TaoWeight` (r:1 w:0) + /// Proof: `SubtensorModule::TaoWeight` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsVersionKey` (r:1 w:0) + /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:1 w:0) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Weights` (r:0 w:1) + /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn batch_set_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `1455` + // Estimated: `7395` + // Minimum execution time: 99_704_000 picoseconds. + Weight::from_parts(102_130_000, 7395) + .saturating_add(RocksDbWeight::get().reads(16_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Delegates` (r:1 w:1) + /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinDelegateTake` (r:1 w:0) + /// Proof: `SubtensorModule::MinDelegateTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:0 w:1) /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn swap_coldkey_announced() -> Weight { + fn decrease_take() -> Weight { + // Proof Size summary in bytes: + // Measured: `830` + // Estimated: `4295` + // Minimum execution time: 28_883_000 picoseconds. + Weight::from_parts(30_347_000, 4295) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Delegates` (r:1 w:1) + /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxDelegateTake` (r:1 w:0) + /// Proof: `SubtensorModule::MaxDelegateTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TxDelegateTakeRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::TxDelegateTakeRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn increase_take() -> Weight { // Proof Size summary in bytes: - // Measured: `2110` - // Estimated: `13000` - // Minimum execution time: 288_044_000 picoseconds. - Weight::from_parts(290_288_000, 13000) - .saturating_add(RocksDbWeight::get().reads(38_u64)) - .saturating_add(RocksDbWeight::get().writes(15_u64)) + // Measured: `923` + // Estimated: `4388` + // Minimum execution time: 35_906_000 picoseconds. + Weight::from_parts(36_938_000, 4388) + .saturating_add(RocksDbWeight::get().reads(5_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) } - /// Storage: `System::Account` (r:2 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) - /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingHotkeys` (r:2 w:2) - /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::Owner` (r:1 w:1) /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::IdentitiesV2` (r:2 w:2) - /// Proof: `SubtensorModule::IdentitiesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) + /// Storage: `SubtensorModule::NetworkRegistrationStartBlock` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRegistrationStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLimit` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:1) /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetOwner` (r:2 w:0) - /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AutoStakeDestination` (r:2 w:0) - /// Proof: `SubtensorModule::AutoStakeDestination` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Alpha` (r:4 w:0) - /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AlphaV2` (r:4 w:2) - /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:2) - /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) - /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:2) - /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingColdkeys` (r:1 w:0) - /// Proof: `SubtensorModule::StakingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::OwnedHotkeys` (r:2 w:2) + /// Storage: `SubtensorModule::NetworkLastLockCost` (r:1 w:1) + /// Proof: `SubtensorModule::NetworkLastLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkMinLockCost` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkMinLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkLockReductionInterval` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkLockReductionInterval` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:0) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:1 w:0) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::TotalNetworks` (r:1 w:1) + /// Proof: `SubtensorModule::TotalNetworks` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Kappa` (r:1 w:1) + /// Proof: `SubtensorModule::Kappa` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ActivityCutoff` (r:1 w:1) + /// Proof: `SubtensorModule::ActivityCutoff` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::UnlockRate` (r:1 w:0) - /// Proof: `SubtensorModule::UnlockRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MaturityRate` (r:1 w:0) - /// Proof: `SubtensorModule::MaturityRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Lock` (r:2 w:0) - /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AccountFlags` (r:1 w:0) - /// Proof: `SubtensorModule::AccountFlags` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::DecayingLock` (r:1 w:0) - /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:0 w:1) - /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ColdkeySwapDisputes` (r:0 w:1) - /// Proof: `SubtensorModule::ColdkeySwapDisputes` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:0 w:1) - /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn swap_coldkey() -> Weight { + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:1 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:1 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:1 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:1 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:1 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegisteredSubnetCounter` (r:1 w:1) + /// Proof: `SubtensorModule::RegisteredSubnetCounter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TokenSymbol` (r:3 w:1) + /// Proof: `SubtensorModule::TokenSymbol` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:1) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Burn` (r:0 w:1) + /// Proof: `SubtensorModule::Burn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLocked` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetLocked` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegisteredAt` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRegisteredAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:0 w:1) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedValidators` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedValidators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:0 w:1) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:0 w:1) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ImmunityPeriod` (r:0 w:1) + /// Proof: `SubtensorModule::ImmunityPeriod` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEmissionEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetEmissionEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Yuma3On` (r:0 w:1) + /// Proof: `SubtensorModule::Yuma3On` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn register_network_with_identity() -> Weight { // Proof Size summary in bytes: - // Measured: `2166` - // Estimated: `13056` - // Minimum execution time: 309_453_000 picoseconds. - Weight::from_parts(315_114_000, 13056) + // Measured: `1468` + // Estimated: `9883` + // Minimum execution time: 268_618_000 picoseconds. + Weight::from_parts(275_570_000, 9883) .saturating_add(RocksDbWeight::get().reads(38_u64)) - .saturating_add(RocksDbWeight::get().writes(19_u64)) + .saturating_add(RocksDbWeight::get().writes(47_u64)) } - /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:0) - /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ColdkeySwapDisputes` (r:1 w:1) - /// Proof: `SubtensorModule::ColdkeySwapDisputes` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn dispute_coldkey_swap() -> Weight { + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Axons` (r:1 w:1) + /// Proof: `SubtensorModule::Axons` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ServingRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::ServingRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn serve_axon_tls() -> Weight { // Proof Size summary in bytes: - // Measured: `665` - // Estimated: `4130` - // Minimum execution time: 22_261_000 picoseconds. - Weight::from_parts(22_982_000, 4130) - .saturating_add(RocksDbWeight::get().reads(2_u64)) + // Measured: `684` + // Estimated: `4149` + // Minimum execution time: 29_695_000 picoseconds. + Weight::from_parts(30_757_000, 4149) + .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } - /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:1) - /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ColdkeySwapReannouncementDelay` (r:1 w:0) - /// Proof: `SubtensorModule::ColdkeySwapReannouncementDelay` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn clear_coldkey_swap_announcement() -> Weight { + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:2 w:0) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IdentitiesV2` (r:0 w:1) + /// Proof: `SubtensorModule::IdentitiesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_identity() -> Weight { // Proof Size summary in bytes: - // Measured: `613` - // Estimated: `4078` - // Minimum execution time: 18_805_000 picoseconds. - Weight::from_parts(20_077_000, 4078) - .saturating_add(RocksDbWeight::get().reads(2_u64)) + // Measured: `889` + // Estimated: `6829` + // Minimum execution time: 31_669_000 picoseconds. + Weight::from_parts(32_631_000, 6829) + .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } - /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:0 w:1) - /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ColdkeySwapDisputes` (r:0 w:1) - /// Proof: `SubtensorModule::ColdkeySwapDisputes` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn reset_coldkey_swap() -> Weight { + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetIdentitiesV3` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetIdentitiesV3` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_subnet_identity() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 8_095_000 picoseconds. - Weight::from_parts(8_666_000, 0) - .saturating_add(RocksDbWeight::get().writes(2_u64)) + // Measured: `595` + // Estimated: `4060` + // Minimum execution time: 17_793_000 picoseconds. + Weight::from_parts(18_304_000, 4060) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) } - /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) - /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::WeightCommits` (r:1 w:1) - /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetEpochIndex` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Tempo` (r:1 w:0) - /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:1 w:0) - /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Storage: `SubtensorModule::Owner` (r:2 w:2) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:4 w:7) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TxRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::TxRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:6 w:10) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimable` (r:2 w:2) + /// Proof: `SubtensorModule::RootClaimable` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:9 w:8) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimed` (r:1 w:0) + /// Proof: `SubtensorModule::RootClaimed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:6 w:0) /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) - /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Uids` (r:1 w:0) - /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) + /// Storage: `SubtensorModule::ChildKeys` (r:10 w:10) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastHotkeySwapOnNetuid` (r:4 w:4) + /// Proof: `SubtensorModule::LastHotkeySwapOnNetuid` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:9 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:9 w:8) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:5 w:0) /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TaoWeight` (r:1 w:0) - /// Proof: `SubtensorModule::TaoWeight` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:0) - /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) + /// Storage: `SubtensorModule::HotkeyLock` (r:5 w:0) + /// Proof: `SubtensorModule::HotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingHotkeyLock` (r:5 w:0) + /// Proof: `SubtensorModule::DecayingHotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildkeyTake` (r:5 w:0) + /// Proof: `SubtensorModule::ChildkeyTake` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:10 w:10) /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) - /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) - /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::WeightsVersionKey` (r:1 w:0) - /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Storage: `SubtensorModule::PendingChildKeys` (r:10 w:0) + /// Proof: `SubtensorModule::PendingChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AutoStakeDestinationColdkeys` (r:5 w:0) + /// Proof: `SubtensorModule::AutoStakeDestinationColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (r:10 w:5) + /// Proof: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaDividendsPerSubnet` (r:10 w:10) + /// Proof: `SubtensorModule::AlphaDividendsPerSubnet` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::VotingPower` (r:5 w:0) + /// Proof: `SubtensorModule::VotingPower` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AutoParentDelegationEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::AutoParentDelegationEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:4 w:8) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Prometheus` (r:4 w:0) + /// Proof: `SubtensorModule::Prometheus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Axons` (r:4 w:0) + /// Proof: `SubtensorModule::Axons` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:4 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightCommits` (r:4 w:0) + /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LoadedEmission` (r:4 w:0) + /// Proof: `SubtensorModule::LoadedEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NeuronCertificates` (r:4 w:0) + /// Proof: `SubtensorModule::NeuronCertificates` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:8 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:8 w:8) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Delegates` (r:1 w:0) + /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:0 w:4) /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MinAllowedWeights` (r:1 w:0) - /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Weights` (r:0 w:1) - /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn batch_reveal_weights() -> Weight { + fn swap_hotkey() -> Weight { // Proof Size summary in bytes: - // Measured: `2155` - // Estimated: `8095` - // Minimum execution time: 403_027_000 picoseconds. - Weight::from_parts(424_947_000, 8095) - .saturating_add(RocksDbWeight::get().reads(19_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) + // Measured: `3172` + // Estimated: `28912` + // Minimum execution time: 1_209_451_000 picoseconds. + Weight::from_parts(1_220_841_000, 28912) + .saturating_add(RocksDbWeight::get().reads(182_u64)) + .saturating_add(RocksDbWeight::get().writes(99_u64)) } - /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Storage: `SubtensorModule::Owner` (r:1 w:1) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn try_associate_hotkey() -> Weight { + // Proof Size summary in bytes: + // Measured: `818` + // Estimated: `4283` + // Minimum execution time: 25_246_000 picoseconds. + Weight::from_parts(25_878_000, 4283) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:2 w:0) /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn unstake_all() -> Weight { + // Proof Size summary in bytes: + // Measured: `774` + // Estimated: `9189` + // Minimum execution time: 27_030_000 picoseconds. + Weight::from_parts(28_102_000, 9189) + .saturating_add(RocksDbWeight::get().reads(6_u64)) + } /// Storage: `SubtensorModule::Owner` (r:1 w:0) /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:2 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:2 w:0) /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:2) /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:2) /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:2) /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::PalSwapInitialized` (r:1 w:0) + /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:1 w:0) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Lock` (r:1 w:0) + /// Storage: `SubtensorModule::Lock` (r:2 w:0) /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `AlphaAssets::AlphaRecycled` (r:1 w:1) - /// Proof: `AlphaAssets::AlphaRecycled` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `AlphaAssets::TotalAlphaIssuance` (r:1 w:1) - /// Proof: `AlphaAssets::TotalAlphaIssuance` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn recycle_alpha() -> Weight { + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:4 w:3) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `AlphaAssets::AlphaBurned` (r:1 w:1) + /// Proof: `AlphaAssets::AlphaBurned` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimable` (r:1 w:0) + /// Proof: `SubtensorModule::RootClaimable` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingColdkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NumStakingColdkeys` (r:1 w:1) + /// Proof: `SubtensorModule::NumStakingColdkeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingColdkeysByIndex` (r:0 w:1) + /// Proof: `SubtensorModule::StakingColdkeysByIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn unstake_all_alpha() -> Weight { // Proof Size summary in bytes: - // Measured: `1754` - // Estimated: `5219` - // Minimum execution time: 171_027_000 picoseconds. - Weight::from_parts(172_711_000, 5219) - .saturating_add(RocksDbWeight::get().reads(13_u64)) - .saturating_add(RocksDbWeight::get().writes(6_u64)) + // Measured: `2235` + // Estimated: `11306` + // Minimum execution time: 667_567_000 picoseconds. + Weight::from_parts(691_331_000, 11306) + .saturating_add(RocksDbWeight::get().reads(43_u64)) + .saturating_add(RocksDbWeight::get().writes(25_u64)) } - /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) - /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) - /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Owner` (r:1 w:0) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::Alpha` (r:1 w:0) /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:1) /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) - /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Lock` (r:1 w:0) - /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `AlphaAssets::AlphaBurned` (r:1 w:1) - /// Proof: `AlphaAssets::AlphaBurned` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn burn_alpha() -> Weight { - // Proof Size summary in bytes: - // Measured: `1754` - // Estimated: `5219` - // Minimum execution time: 166_909_000 picoseconds. - Weight::from_parts(168_933_000, 5219) - .saturating_add(RocksDbWeight::get().reads(12_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) - } - /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) - /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::FirstEmissionBlockNumber` (r:1 w:1) - /// Proof: `SubtensorModule::FirstEmissionBlockNumber` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworkRegisteredAt` (r:1 w:0) - /// Proof: `SubtensorModule::NetworkRegisteredAt` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StartCallDelay` (r:1 w:0) - /// Proof: `SubtensorModule::StartCallDelay` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubtokenEnabled` (r:0 w:1) - /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn start_call() -> Weight { - // Proof Size summary in bytes: - // Measured: `1118` - // Estimated: `4583` - // Minimum execution time: 38_882_000 picoseconds. - Weight::from_parts(39_442_000, 4583) - .saturating_add(RocksDbWeight::get().reads(5_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) - } - /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) + /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::PalSwapInitialized` (r:1 w:0) - /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::PalSwapInitialized` (r:1 w:0) + /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `Swap::SwapBalancer` (r:1 w:0) /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) /// Storage: `Swap::FeeRate` (r:1 w:0) /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) - /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `System::Account` (r:3 w:3) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) /// Storage: `SubtensorModule::Owner` (r:1 w:0) /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) - /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) - /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) - /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Lock` (r:1 w:0) + /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) - /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Alpha` (r:1 w:0) - /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) - /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `AlphaAssets::AlphaBurned` (r:1 w:1) + /// Proof: `AlphaAssets::AlphaBurned` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Lock` (r:2 w:1) - /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::DecayingLock` (r:1 w:0) - /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::HotkeyLock` (r:1 w:0) - /// Proof: `SubtensorModule::HotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::DecayingHotkeyLock` (r:1 w:1) - /// Proof: `SubtensorModule::DecayingHotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::OwnerLock` (r:1 w:0) - /// Proof: `SubtensorModule::OwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::DecayingOwnerLock` (r:1 w:0) - /// Proof: `SubtensorModule::DecayingOwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::UnlockRate` (r:1 w:0) - /// Proof: `SubtensorModule::UnlockRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MaturityRate` (r:1 w:0) - /// Proof: `SubtensorModule::MaturityRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LockingColdkeys` (r:0 w:1) - /// Proof: `SubtensorModule::LockingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn add_stake_limit() -> Weight { + fn remove_stake_full_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `2176` + // Estimated: `10591` + // Minimum execution time: 721_907_000 picoseconds. + Weight::from_parts(749_488_000, 10591) + .saturating_add(RocksDbWeight::get().reads(27_u64)) + .saturating_add(RocksDbWeight::get().writes(13_u64)) + } + /// Storage: `Crowdloan::CurrentCrowdloanId` (r:1 w:0) + /// Proof: `Crowdloan::CurrentCrowdloanId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Crowdloan::Crowdloans` (r:1 w:0) + /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(282), added: 2757, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::NextSubnetLeaseId` (r:1 w:1) + /// Proof: `SubtensorModule::NextSubnetLeaseId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:503 w:503) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:1) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationStartBlock` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRegistrationStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLimit` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:1) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkLastLockCost` (r:1 w:1) + /// Proof: `SubtensorModule::NetworkLastLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkMinLockCost` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkMinLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkLockReductionInterval` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkLockReductionInterval` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:0) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:1 w:0) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::TotalNetworks` (r:1 w:1) + /// Proof: `SubtensorModule::TotalNetworks` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Kappa` (r:1 w:1) + /// Proof: `SubtensorModule::Kappa` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ActivityCutoff` (r:1 w:1) + /// Proof: `SubtensorModule::ActivityCutoff` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:1 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:1 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:1 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:1 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:1 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegisteredSubnetCounter` (r:1 w:1) + /// Proof: `SubtensorModule::RegisteredSubnetCounter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TokenSymbol` (r:3 w:1) + /// Proof: `SubtensorModule::TokenSymbol` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:1) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:3 w:1) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Proxy::Proxies` (r:1 w:1) + /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(789), added: 3264, mode: `MaxEncodedLen`) + /// Storage: `Crowdloan::Contributions` (r:501 w:0) + /// Proof: `Crowdloan::Contributions` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Burn` (r:0 w:1) + /// Proof: `SubtensorModule::Burn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetUidToLeaseId` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetUidToLeaseId` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLocked` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetLocked` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegisteredAt` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRegisteredAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLeaseShares` (r:0 w:499) + /// Proof: `SubtensorModule::SubnetLeaseShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:0 w:1) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Delegates` (r:0 w:1) + /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedValidators` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedValidators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:0 w:1) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:0 w:1) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ImmunityPeriod` (r:0 w:1) + /// Proof: `SubtensorModule::ImmunityPeriod` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLeases` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetLeases` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEmissionEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetEmissionEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Yuma3On` (r:0 w:1) + /// Proof: `SubtensorModule::Yuma3On` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `k` is `[2, 500]`. + fn register_leased_network(k: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1835 + k * (44 ±0)` + // Estimated: `10256 + k * (2579 ±0)` + // Minimum execution time: 472_506_000 picoseconds. + Weight::from_parts(230_127_504, 10256) + // Standard Error: 51_934 + .saturating_add(Weight::from_parts(46_730_014, 0).saturating_mul(k.into())) + .saturating_add(RocksDbWeight::get().reads(48_u64)) + .saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(k.into()))) + .saturating_add(RocksDbWeight::get().writes(53_u64)) + .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(k.into()))) + .saturating_add(Weight::from_parts(0, 2579).saturating_mul(k.into())) + } + /// Storage: `SubtensorModule::SubnetLeases` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetLeases` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetLeaseShares` (r:499 w:499) + /// Proof: `SubtensorModule::SubnetLeaseShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Proxy::Proxies` (r:1 w:1) + /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(789), added: 3264, mode: `MaxEncodedLen`) + /// Storage: `Proxy::RealPaysFee` (r:0 w:1) + /// Proof: `Proxy::RealPaysFee` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetOwner` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AccumulatedLeaseDividends` (r:0 w:1) + /// Proof: `SubtensorModule::AccumulatedLeaseDividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `k` is `[2, 500]`. + fn terminate_lease(k: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1501 + k * (53 ±0)` + // Estimated: `6148 + k * (2529 ±0)` + // Minimum execution time: 91_801_000 picoseconds. + Weight::from_parts(84_444_488, 6148) + // Standard Error: 6_007 + .saturating_add(Weight::from_parts(1_545_626, 0).saturating_mul(k.into())) + .saturating_add(RocksDbWeight::get().reads(4_u64)) + .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(k.into()))) + .saturating_add(RocksDbWeight::get().writes(7_u64)) + .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(k.into()))) + .saturating_add(Weight::from_parts(0, 2529).saturating_mul(k.into())) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TokenSymbol` (r:3 w:1) + /// Proof: `SubtensorModule::TokenSymbol` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn update_symbol() -> Weight { + // Proof Size summary in bytes: + // Measured: `659` + // Estimated: `9074` + // Minimum execution time: 26_389_000 picoseconds. + Weight::from_parts(28_382_000, 9074) + .saturating_add(RocksDbWeight::get().reads(4_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsVersion` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEpochIndex` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlocksSinceLastStep` (r:1 w:0) + /// Proof: `SubtensorModule::BlocksSinceLastStep` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TimelockedWeightCommits` (r:1 w:1) + /// Proof: `SubtensorModule::TimelockedWeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn commit_timelocked_weights() -> Weight { // Proof Size summary in bytes: - // Measured: `2226` - // Estimated: `8727` - // Minimum execution time: 810_081_000 picoseconds. - Weight::from_parts(833_084_000, 8727) - .saturating_add(RocksDbWeight::get().reads(32_u64)) - .saturating_add(RocksDbWeight::get().writes(16_u64)) + // Measured: `1248` + // Estimated: `4713` + // Minimum execution time: 84_036_000 picoseconds. + Weight::from_parts(85_989_000, 4713) + .saturating_add(RocksDbWeight::get().reads(14_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) } - /// Storage: `SubtensorModule::Alpha` (r:2 w:0) - /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AlphaV2` (r:2 w:2) - /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:2) - /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) - /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:2) - /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) - /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Owner` (r:2 w:0) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) - /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::SwapBalancer` (r:1 w:0) - /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) - /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn move_stake() -> Weight { + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AutoStakeDestination` (r:1 w:1) + /// Proof: `SubtensorModule::AutoStakeDestination` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AutoStakeDestinationColdkeys` (r:1 w:1) + /// Proof: `SubtensorModule::AutoStakeDestinationColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_coldkey_auto_stake_hotkey() -> Weight { // Proof Size summary in bytes: - // Measured: `1979` - // Estimated: `7919` - // Minimum execution time: 210_109_000 picoseconds. - Weight::from_parts(212_274_000, 7919) - .saturating_add(RocksDbWeight::get().reads(19_u64)) - .saturating_add(RocksDbWeight::get().writes(7_u64)) + // Measured: `809` + // Estimated: `4274` + // Minimum execution time: 33_031_000 picoseconds. + Weight::from_parts(33_852_000, 4274) + .saturating_add(RocksDbWeight::get().reads(4_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) } - /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) - /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Alpha` (r:1 w:0) - /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) - /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:1) - /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) - /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) - /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) - /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) - /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::PalSwapInitialized` (r:1 w:0) - /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::SwapBalancer` (r:1 w:0) - /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) - /// Storage: `Swap::FeeRate` (r:1 w:0) - /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::Owner` (r:1 w:0) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) - /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Lock` (r:1 w:0) - /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) - /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `System::Account` (r:2 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) - /// Storage: `AlphaAssets::AlphaBurned` (r:1 w:1) - /// Proof: `AlphaAssets::AlphaBurned` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) - /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) - /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn remove_stake() -> Weight { + /// Storage: `SubtensorModule::StakingColdkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NumStakingColdkeys` (r:1 w:1) + /// Proof: `SubtensorModule::NumStakingColdkeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimType` (r:0 w:1) + /// Proof: `SubtensorModule::RootClaimType` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingColdkeysByIndex` (r:0 w:1) + /// Proof: `SubtensorModule::StakingColdkeysByIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_root_claim_type() -> Weight { // Proof Size summary in bytes: - // Measured: `2142` - // Estimated: `10557` - // Minimum execution time: 539_440_000 picoseconds. - Weight::from_parts(562_672_000, 10557) - .saturating_add(RocksDbWeight::get().reads(28_u64)) - .saturating_add(RocksDbWeight::get().writes(13_u64)) + // Measured: `476` + // Estimated: `3941` + // Minimum execution time: 17_142_000 picoseconds. + Weight::from_parts(17_974_000, 3941) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) } - /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) - /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::PalSwapInitialized` (r:1 w:0) - /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::SwapBalancer` (r:1 w:0) - /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) - /// Storage: `Swap::FeeRate` (r:1 w:0) - /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) - /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Alpha` (r:1 w:0) - /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) - /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:1) - /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) - /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) - /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Owner` (r:1 w:0) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingColdkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Lock` (r:1 w:0) - /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) - /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `System::Account` (r:2 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) - /// Storage: `AlphaAssets::AlphaBurned` (r:1 w:1) - /// Proof: `AlphaAssets::AlphaBurned` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) - /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) - /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn remove_stake_limit() -> Weight { - // Proof Size summary in bytes: - // Measured: `2176` - // Estimated: `10591` - // Minimum execution time: 713_632_000 picoseconds. - Weight::from_parts(740_663_000, 10591) - .saturating_add(RocksDbWeight::get().reads(27_u64)) - .saturating_add(RocksDbWeight::get().writes(13_u64)) - } + /// Storage: `SubtensorModule::RootClaimType` (r:1 w:0) + /// Proof: `SubtensorModule::RootClaimType` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimable` (r:1 w:0) + /// Proof: `SubtensorModule::RootClaimable` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::Alpha` (r:2 w:0) /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AlphaV2` (r:2 w:2) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:1) /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:2) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:1) /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:2) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:1) /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) + /// Storage: `SubtensorModule::RootClaimed` (r:1 w:1) + /// Proof: `SubtensorModule::RootClaimed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimableThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::RootClaimableThreshold` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn claim_root() -> Weight { + // Proof Size summary in bytes: + // Measured: `1969` + // Estimated: `7909` + // Minimum execution time: 135_911_000 picoseconds. + Weight::from_parts(139_088_000, 7909) + .saturating_add(RocksDbWeight::get().reads(16_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) + } + /// Storage: `SubtensorModule::NumRootClaim` (r:0 w:1) + /// Proof: `SubtensorModule::NumRootClaim` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_num_root_claims() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_595_000 picoseconds. + Weight::from_parts(2_765_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::RootClaimableThreshold` (r:0 w:1) + /// Proof: `SubtensorModule::RootClaimableThreshold` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_root_claim_threshold() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_140_000 picoseconds. + Weight::from_parts(5_831_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AutoParentDelegationEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::AutoParentDelegationEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_auto_parent_delegation_enabled() -> Weight { + // Proof Size summary in bytes: + // Measured: `899` + // Estimated: `4364` + // Minimum execution time: 27_250_000 picoseconds. + Weight::from_parts(28_202_000, 4364) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetTAO` (r:2 w:2) - /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `Swap::PalSwapInitialized` (r:1 w:0) /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::SubnetAlphaIn` (r:2 w:2) - /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `Swap::SwapBalancer` (r:1 w:0) /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) /// Storage: `Swap::FeeRate` (r:1 w:0) /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::NetworksAdded` (r:2 w:0) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubtokenEnabled` (r:2 w:0) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:3 w:3) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) /// Storage: `SubtensorModule::Owner` (r:1 w:0) /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) - /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Lock` (r:3 w:1) - /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetAlphaOut` (r:2 w:2) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetVolume` (r:2 w:2) + /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `System::Account` (r:3 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Lock` (r:2 w:1) + /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingLock` (r:1 w:0) + /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::HotkeyLock` (r:1 w:0) + /// Proof: `SubtensorModule::HotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingHotkeyLock` (r:1 w:1) + /// Proof: `SubtensorModule::DecayingHotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerLock` (r:1 w:0) + /// Proof: `SubtensorModule::OwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingOwnerLock` (r:1 w:0) + /// Proof: `SubtensorModule::DecayingOwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::UnlockRate` (r:1 w:0) + /// Proof: `SubtensorModule::UnlockRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaturityRate` (r:1 w:0) + /// Proof: `SubtensorModule::MaturityRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `AlphaAssets::AlphaBurned` (r:1 w:1) /// Proof: `AlphaAssets::AlphaBurned` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetTaoFlow` (r:2 w:2) - /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LockingColdkeys` (r:0 w:1) + /// Proof: `SubtensorModule::LockingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn add_stake_burn() -> Weight { + // Proof Size summary in bytes: + // Measured: `2229` + // Estimated: `8727` + // Minimum execution time: 939_851_000 picoseconds. + Weight::from_parts(946_223_000, 8727) + .saturating_add(RocksDbWeight::get().reads(33_u64)) + .saturating_add(RocksDbWeight::get().writes(17_u64)) + } + /// Storage: `SubtensorModule::PendingChildKeyCooldown` (r:0 w:1) + /// Proof: `SubtensorModule::PendingChildKeyCooldown` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn set_pending_childkey_cooldown() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_634_000 picoseconds. + Weight::from_parts(2_886_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:0) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Lock` (r:2 w:1) + /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingLock` (r:1 w:0) + /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::HotkeyLock` (r:1 w:0) + /// Proof: `SubtensorModule::HotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingHotkeyLock` (r:1 w:1) + /// Proof: `SubtensorModule::DecayingHotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerLock` (r:1 w:0) + /// Proof: `SubtensorModule::OwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingOwnerLock` (r:1 w:0) + /// Proof: `SubtensorModule::DecayingOwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::UnlockRate` (r:1 w:0) + /// Proof: `SubtensorModule::UnlockRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaturityRate` (r:1 w:0) + /// Proof: `SubtensorModule::MaturityRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LockingColdkeys` (r:0 w:1) + /// Proof: `SubtensorModule::LockingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn lock_stake() -> Weight { + // Proof Size summary in bytes: + // Measured: `1715` + // Estimated: `7655` + // Minimum execution time: 115_915_000 picoseconds. + Weight::from_parts(116_686_000, 7655) + .saturating_add(RocksDbWeight::get().reads(17_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:2 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Lock` (r:2 w:2) + /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingLock` (r:1 w:0) + /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::HotkeyLock` (r:2 w:0) + /// Proof: `SubtensorModule::HotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingHotkeyLock` (r:2 w:2) + /// Proof: `SubtensorModule::DecayingHotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerLock` (r:1 w:0) + /// Proof: `SubtensorModule::OwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingOwnerLock` (r:1 w:0) + /// Proof: `SubtensorModule::DecayingOwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::UnlockRate` (r:1 w:0) + /// Proof: `SubtensorModule::UnlockRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaturityRate` (r:1 w:0) + /// Proof: `SubtensorModule::MaturityRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LockingColdkeys` (r:0 w:2) + /// Proof: `SubtensorModule::LockingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn move_lock() -> Weight { + // Proof Size summary in bytes: + // Measured: `1399` + // Estimated: `7339` + // Minimum execution time: 147_714_000 picoseconds. + Weight::from_parts(149_006_000, 7339) + .saturating_add(RocksDbWeight::get().reads(14_u64)) + .saturating_add(RocksDbWeight::get().writes(6_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AssociatedEvmAddress` (r:1 w:1) + /// Proof: `SubtensorModule::AssociatedEvmAddress` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn associate_evm_key() -> Weight { + // Proof Size summary in bytes: + // Measured: `950` + // Estimated: `4415` + // Minimum execution time: 665_262_000 picoseconds. + Weight::from_parts(683_967_000, 4415) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:1) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TransactionKeyLastBlock` (r:1 w:1) + /// Proof: `SubtensorModule::TransactionKeyLastBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_tempo() -> Weight { + // Proof Size summary in bytes: + // Measured: `975` + // Estimated: `4440` + // Minimum execution time: 44_743_000 picoseconds. + Weight::from_parts(46_106_000, 4440) + .saturating_add(RocksDbWeight::get().reads(6_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerHyperparamRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::OwnerHyperparamRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ActivityCutoffFactorMilli` (r:0 w:1) + /// Proof: `SubtensorModule::ActivityCutoffFactorMilli` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_activity_cutoff_factor() -> Weight { + // Proof Size summary in bytes: + // Measured: `899` + // Estimated: `4364` + // Minimum execution time: 37_910_000 picoseconds. + Weight::from_parts(39_443_000, 4364) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:1) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerHyperparamRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::OwnerHyperparamRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn trigger_epoch() -> Weight { + // Proof Size summary in bytes: + // Measured: `982` + // Estimated: `4447` + // Minimum execution time: 41_466_000 picoseconds. + Weight::from_parts(42_479_000, 4447) + .saturating_add(RocksDbWeight::get().reads(8_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ColdkeySwapDisputes` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapDisputes` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn check_coldkey_swap_extension() -> Weight { + // Proof Size summary in bytes: + // Measured: `733` + // Estimated: `4198` + // Minimum execution time: 16_952_000 picoseconds. + Weight::from_parts(17_353_000, 4198) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + } /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::DecayingLock` (r:1 w:0) - /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::HotkeyLock` (r:1 w:0) - /// Proof: `SubtensorModule::HotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::DecayingHotkeyLock` (r:1 w:1) - /// Proof: `SubtensorModule::DecayingHotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::OwnerLock` (r:1 w:0) - /// Proof: `SubtensorModule::OwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::DecayingOwnerLock` (r:1 w:0) - /// Proof: `SubtensorModule::DecayingOwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::UnlockRate` (r:1 w:0) - /// Proof: `SubtensorModule::UnlockRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MaturityRate` (r:1 w:0) - /// Proof: `SubtensorModule::MaturityRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LockingColdkeys` (r:0 w:1) - /// Proof: `SubtensorModule::LockingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) - /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn swap_stake_limit() -> Weight { + /// Storage: `SubtensorModule::TaoWeight` (r:1 w:0) + /// Proof: `SubtensorModule::TaoWeight` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightCommits` (r:1 w:0) + /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEpochIndex` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:1 w:0) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn check_weights_extension() -> Weight { // Proof Size summary in bytes: - // Measured: `2662` - // Estimated: `11077` - // Minimum execution time: 920_946_000 picoseconds. - Weight::from_parts(928_060_000, 11077) - .saturating_add(RocksDbWeight::get().reads(47_u64)) - .saturating_add(RocksDbWeight::get().writes(24_u64)) + // Measured: `1731` + // Estimated: `7671` + // Minimum execution time: 52_477_000 picoseconds. + Weight::from_parts(53_489_000, 7671) + .saturating_add(RocksDbWeight::get().reads(11_u64)) } - /// Storage: `SubtensorModule::Alpha` (r:2 w:0) - /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AlphaV2` (r:2 w:2) - /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) - /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) - /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) - /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) - /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:0) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsSetRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::WeightsSetRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn check_rate_limits_extension() -> Weight { + // Proof Size summary in bytes: + // Measured: `1019` + // Estimated: `4484` + // Minimum execution time: 34_825_000 picoseconds. + Weight::from_parts(35_857_000, 4484) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + } + /// Storage: `SubtensorModule::MinDelegateTake` (r:1 w:0) + /// Proof: `SubtensorModule::MinDelegateTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxDelegateTake` (r:1 w:0) + /// Proof: `SubtensorModule::MaxDelegateTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::Owner` (r:1 w:0) /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TransferToggle` (r:1 w:0) - /// Proof: `SubtensorModule::TransferToggle` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingHotkeys` (r:2 w:1) - /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Lock` (r:1 w:0) - /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::SwapBalancer` (r:1 w:0) - /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) - /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn transfer_stake() -> Weight { + fn check_delegate_take_extension() -> Weight { // Proof Size summary in bytes: - // Measured: `1988` - // Estimated: `7928` - // Minimum execution time: 244_634_000 picoseconds. - Weight::from_parts(246_506_000, 7928) - .saturating_add(RocksDbWeight::get().reads(18_u64)) - .saturating_add(RocksDbWeight::get().writes(6_u64)) + // Measured: `721` + // Estimated: `4186` + // Minimum execution time: 15_038_000 picoseconds. + Weight::from_parts(15_419_000, 4186) + .saturating_add(RocksDbWeight::get().reads(3_u64)) } - /// Storage: `SubtensorModule::Alpha` (r:2 w:0) - /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AlphaV2` (r:2 w:2) - /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:2) - /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) - /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:2) - /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworksAdded` (r:2 w:0) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Axons` (r:1 w:0) + /// Proof: `SubtensorModule::Axons` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ServingRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::ServingRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn check_serving_endpoints_extension() -> Weight { + // Proof Size summary in bytes: + // Measured: `647` + // Estimated: `4112` + // Minimum execution time: 18_795_000 picoseconds. + Weight::from_parts(19_206_000, 4112) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + } + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AssociatedEvmAddress` (r:1 w:0) + /// Proof: `SubtensorModule::AssociatedEvmAddress` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn check_evm_key_association_extension() -> Weight { + // Proof Size summary in bytes: + // Measured: `652` + // Estimated: `4117` + // Minimum execution time: 15_018_000 picoseconds. + Weight::from_parts(15_529_000, 4117) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + } + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubtokenEnabled` (r:2 w:0) - /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Owner` (r:1 w:0) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) - /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetTAO` (r:2 w:2) - /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::PalSwapInitialized` (r:1 w:0) - /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::SubnetAlphaIn` (r:2 w:2) - /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::SwapBalancer` (r:1 w:0) - /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) - /// Storage: `Swap::FeeRate` (r:1 w:0) - /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) - /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Lock` (r:3 w:1) - /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetAlphaOut` (r:2 w:2) - /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) - /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetVolume` (r:2 w:2) - /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `System::Account` (r:3 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) - /// Storage: `AlphaAssets::AlphaBurned` (r:1 w:1) - /// Proof: `AlphaAssets::AlphaBurned` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetTaoFlow` (r:2 w:2) - /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::DecayingLock` (r:1 w:0) - /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::HotkeyLock` (r:1 w:0) - /// Proof: `SubtensorModule::HotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::DecayingHotkeyLock` (r:1 w:1) - /// Proof: `SubtensorModule::DecayingHotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::OwnerLock` (r:1 w:0) - /// Proof: `SubtensorModule::OwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::DecayingOwnerLock` (r:1 w:0) - /// Proof: `SubtensorModule::DecayingOwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::UnlockRate` (r:1 w:0) - /// Proof: `SubtensorModule::UnlockRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MaturityRate` (r:1 w:0) - /// Proof: `SubtensorModule::MaturityRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LockingColdkeys` (r:0 w:1) - /// Proof: `SubtensorModule::LockingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) - /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn swap_stake() -> Weight { - // Proof Size summary in bytes: - // Measured: `2505` - // Estimated: `10920` - // Minimum execution time: 696_210_000 picoseconds. - Weight::from_parts(723_230_000, 10920) - .saturating_add(RocksDbWeight::get().reads(47_u64)) - .saturating_add(RocksDbWeight::get().writes(24_u64)) + /// Storage: `SubtensorModule::TaoWeight` (r:1 w:0) + /// Proof: `SubtensorModule::TaoWeight` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsVersionKey` (r:1 w:0) + /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:4096 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:0) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:1 w:0) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Weights` (r:0 w:1) + /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `n` is `[1, 4096]`. + fn set_mechanism_weights(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `4079 + n * (45 ±0)` + // Estimated: `9373 + n * (2520 ±0)` + // Minimum execution time: 99_717_000 picoseconds. + Weight::from_parts(100_308_000, 9373) + // Standard Error: 6_327 + .saturating_add(Weight::from_parts(3_910_429, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(16_u64)) + .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(n.into()))) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + .saturating_add(Weight::from_parts(0, 2520).saturating_mul(n.into())) } /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) @@ -3916,23 +6634,29 @@ impl WeightInfo for () { /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::WeightCommits` (r:1 w:1) /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::WeightsSetRateLimit` (r:1 w:0) - /// Proof: `SubtensorModule::WeightsSetRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:1 w:0) /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn batch_commit_weights() -> Weight { + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn commit_mechanism_weights() -> Weight { // Proof Size summary in bytes: - // Measured: `1300` - // Estimated: `4765` - // Minimum execution time: 143_045_000 picoseconds. - Weight::from_parts(144_588_000, 4765) - .saturating_add(RocksDbWeight::get().reads(15_u64)) + // Measured: `37406` + // Estimated: `40871` + // Minimum execution time: 273_105_000 picoseconds. + Weight::from_parts(286_715_000, 40871) + .saturating_add(RocksDbWeight::get().reads(14_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightCommits` (r:1 w:1) + /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEpochIndex` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:1 w:0) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) @@ -3955,220 +6679,101 @@ impl WeightInfo for () { /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::WeightsVersionKey` (r:1 w:0) /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:0) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:4096 w:0) /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) - /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::MinAllowedWeights` (r:1 w:0) /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::Weights` (r:0 w:1) /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn batch_set_weights() -> Weight { - // Proof Size summary in bytes: - // Measured: `1455` - // Estimated: `7395` - // Minimum execution time: 99_704_000 picoseconds. - Weight::from_parts(102_130_000, 7395) - .saturating_add(RocksDbWeight::get().reads(16_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) - } - /// Storage: `SubtensorModule::Owner` (r:1 w:0) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Delegates` (r:1 w:1) - /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MinDelegateTake` (r:1 w:0) - /// Proof: `SubtensorModule::MinDelegateTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:0 w:1) - /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn decrease_take() -> Weight { - // Proof Size summary in bytes: - // Measured: `830` - // Estimated: `4295` - // Minimum execution time: 28_883_000 picoseconds. - Weight::from_parts(30_347_000, 4295) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) - } - /// Storage: `SubtensorModule::Owner` (r:1 w:0) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Delegates` (r:1 w:1) - /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MaxDelegateTake` (r:1 w:0) - /// Proof: `SubtensorModule::MaxDelegateTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) - /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TxDelegateTakeRateLimit` (r:1 w:0) - /// Proof: `SubtensorModule::TxDelegateTakeRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn increase_take() -> Weight { - // Proof Size summary in bytes: - // Measured: `923` - // Estimated: `4388` - // Minimum execution time: 35_906_000 picoseconds. - Weight::from_parts(36_938_000, 4388) - .saturating_add(RocksDbWeight::get().reads(5_u64)) + /// The range of component `n` is `[1, 4096]`. + fn reveal_mechanism_weights(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `4835 + n * (37 ±0)` + // Estimated: `10114 + n * (2512 ±0)` + // Minimum execution time: 116_393_000 picoseconds. + Weight::from_parts(117_936_000, 10114) + // Standard Error: 7_790 + .saturating_add(Weight::from_parts(4_086_878, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(19_u64)) + .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(RocksDbWeight::get().writes(2_u64)) + .saturating_add(Weight::from_parts(0, 2512).saturating_mul(n.into())) } - /// Storage: `SubtensorModule::Owner` (r:1 w:1) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworkRegistrationStartBlock` (r:1 w:0) - /// Proof: `SubtensorModule::NetworkRegistrationStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworkRateLimit` (r:1 w:0) - /// Proof: `SubtensorModule::NetworkRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) - /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetLimit` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:1) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworkLastLockCost` (r:1 w:1) - /// Proof: `SubtensorModule::NetworkLastLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworkMinLockCost` (r:1 w:0) - /// Proof: `SubtensorModule::NetworkMinLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworkLockReductionInterval` (r:1 w:0) - /// Proof: `SubtensorModule::NetworkLockReductionInterval` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:0) - /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::SwapBalancer` (r:1 w:0) - /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::TotalNetworks` (r:1 w:1) - /// Proof: `SubtensorModule::TotalNetworks` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Kappa` (r:1 w:1) - /// Proof: `SubtensorModule::Kappa` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ActivityCutoff` (r:1 w:1) - /// Proof: `SubtensorModule::ActivityCutoff` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:1 w:1) - /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) - /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) - /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Active` (r:1 w:1) - /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Emission` (r:1 w:1) - /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Consensus` (r:1 w:1) - /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Incentive` (r:1 w:1) - /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsVersion` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Dividends` (r:1 w:1) - /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) - /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) - /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::RegisteredSubnetCounter` (r:1 w:1) - /// Proof: `SubtensorModule::RegisteredSubnetCounter` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TokenSymbol` (r:3 w:1) - /// Proof: `SubtensorModule::TokenSymbol` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) - /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Keys` (r:1 w:1) - /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Burn` (r:0 w:1) - /// Proof: `SubtensorModule::Burn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:0 w:1) - /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetLocked` (r:0 w:1) - /// Proof: `SubtensorModule::SubnetLocked` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworkRegisteredAt` (r:0 w:1) - /// Proof: `SubtensorModule::NetworkRegisteredAt` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetOwner` (r:0 w:1) - /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetVolume` (r:0 w:1) - /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) - /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MinAllowedWeights` (r:0 w:1) - /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:0 w:1) - /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MaxAllowedValidators` (r:0 w:1) - /// Proof: `SubtensorModule::MaxAllowedValidators` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Tempo` (r:0 w:1) + /// Storage: `SubtensorModule::SubnetEpochIndex` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetAlphaOut` (r:0 w:1) - /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastEpochBlock` (r:0 w:1) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlocksSinceLastStep` (r:1 w:0) + /// Proof: `SubtensorModule::BlocksSinceLastStep` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetworkN` (r:0 w:1) + /// Storage: `SubtensorModule::TimelockedWeightCommits` (r:1 w:1) + /// Proof: `SubtensorModule::TimelockedWeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Uids` (r:0 w:1) - /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ImmunityPeriod` (r:0 w:1) - /// Proof: `SubtensorModule::ImmunityPeriod` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetEmissionEnabled` (r:0 w:1) - /// Proof: `SubtensorModule::SubnetEmissionEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:0 w:1) - /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Yuma3On` (r:0 w:1) - /// Proof: `SubtensorModule::Yuma3On` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) - /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MaxAllowedUids` (r:0 w:1) - /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn register_network_with_identity() -> Weight { + fn commit_crv3_mechanism_weights() -> Weight { // Proof Size summary in bytes: - // Measured: `1468` - // Estimated: `9883` - // Minimum execution time: 268_618_000 picoseconds. - Weight::from_parts(275_570_000, 9883) - .saturating_add(RocksDbWeight::get().reads(38_u64)) - .saturating_add(RocksDbWeight::get().writes(47_u64)) + // Measured: `36927` + // Estimated: `40392` + // Minimum execution time: 269_981_000 picoseconds. + Weight::from_parts(292_224_000, 40392) + .saturating_add(RocksDbWeight::get().reads(14_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsVersion` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::Uids` (r:1 w:0) /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Axons` (r:1 w:1) - /// Proof: `SubtensorModule::Axons` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ServingRateLimit` (r:1 w:0) - /// Proof: `SubtensorModule::ServingRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn serve_axon_tls() -> Weight { - // Proof Size summary in bytes: - // Measured: `684` - // Estimated: `4149` - // Minimum execution time: 29_695_000 picoseconds. - Weight::from_parts(30_757_000, 4149) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) - } - /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:0) - /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::IsNetworkMember` (r:2 w:0) - /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::IdentitiesV2` (r:0 w:1) - /// Proof: `SubtensorModule::IdentitiesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn set_identity() -> Weight { - // Proof Size summary in bytes: - // Measured: `889` - // Estimated: `6829` - // Minimum execution time: 31_669_000 picoseconds. - Weight::from_parts(32_631_000, 6829) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) - } - /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetIdentitiesV3` (r:0 w:1) - /// Proof: `SubtensorModule::SubnetIdentitiesV3` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn set_subnet_identity() -> Weight { + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEpochIndex` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlocksSinceLastStep` (r:1 w:0) + /// Proof: `SubtensorModule::BlocksSinceLastStep` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TimelockedWeightCommits` (r:1 w:1) + /// Proof: `SubtensorModule::TimelockedWeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn commit_timelocked_mechanism_weights() -> Weight { // Proof Size summary in bytes: - // Measured: `595` - // Estimated: `4060` - // Minimum execution time: 17_793_000 picoseconds. - Weight::from_parts(18_304_000, 4060) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) + // Measured: `36927` + // Estimated: `40392` + // Minimum execution time: 279_575_000 picoseconds. + Weight::from_parts(294_227_000, 40392) + .saturating_add(RocksDbWeight::get().reads(14_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) } /// Storage: `SubtensorModule::Owner` (r:2 w:2) /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) @@ -4176,659 +6781,801 @@ impl WeightInfo for () { /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::TxRateLimit` (r:1 w:0) /// Proof: `SubtensorModule::TxRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::IsNetworkMember` (r:6 w:10) + /// Storage: `SubtensorModule::IsNetworkMember` (r:4098 w:8194) /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::RootClaimable` (r:2 w:2) /// Proof: `SubtensorModule::RootClaimable` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:9 w:8) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:8193 w:8192) /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::RootClaimed` (r:1 w:0) /// Proof: `SubtensorModule::RootClaimed` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworksAdded` (r:6 w:0) + /// Storage: `SubtensorModule::NetworksAdded` (r:4098 w:0) /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ChildKeys` (r:10 w:10) + /// Storage: `SubtensorModule::ChildKeys` (r:8194 w:8194) /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastHotkeySwapOnNetuid` (r:4 w:4) + /// Storage: `SubtensorModule::LastHotkeySwapOnNetuid` (r:4096 w:4096) /// Proof: `SubtensorModule::LastHotkeySwapOnNetuid` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Alpha` (r:9 w:0) + /// Storage: `SubtensorModule::Alpha` (r:8193 w:0) /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AlphaV2` (r:9 w:8) + /// Storage: `SubtensorModule::AlphaV2` (r:8193 w:8192) /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:5 w:0) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:4097 w:0) /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::HotkeyLock` (r:5 w:0) + /// Storage: `SubtensorModule::HotkeyLock` (r:4097 w:0) /// Proof: `SubtensorModule::HotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::DecayingHotkeyLock` (r:5 w:0) + /// Storage: `SubtensorModule::DecayingHotkeyLock` (r:4097 w:0) /// Proof: `SubtensorModule::DecayingHotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ChildkeyTake` (r:5 w:0) + /// Storage: `SubtensorModule::ChildkeyTake` (r:4097 w:0) /// Proof: `SubtensorModule::ChildkeyTake` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ParentKeys` (r:10 w:10) + /// Storage: `SubtensorModule::ParentKeys` (r:8194 w:8194) /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::PendingChildKeys` (r:10 w:0) + /// Storage: `SubtensorModule::PendingChildKeys` (r:8194 w:0) /// Proof: `SubtensorModule::PendingChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AutoStakeDestinationColdkeys` (r:5 w:0) + /// Storage: `SubtensorModule::AutoStakeDestinationColdkeys` (r:4097 w:0) /// Proof: `SubtensorModule::AutoStakeDestinationColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (r:10 w:5) + /// Storage: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (r:8194 w:4097) /// Proof: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AlphaDividendsPerSubnet` (r:10 w:10) + /// Storage: `SubtensorModule::AlphaDividendsPerSubnet` (r:8194 w:8194) /// Proof: `SubtensorModule::AlphaDividendsPerSubnet` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::VotingPower` (r:5 w:0) + /// Storage: `SubtensorModule::VotingPower` (r:4097 w:0) /// Proof: `SubtensorModule::VotingPower` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::AutoParentDelegationEnabled` (r:1 w:0) /// Proof: `SubtensorModule::AutoParentDelegationEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Uids` (r:4 w:8) + /// Storage: `SubtensorModule::Uids` (r:4096 w:8192) /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Prometheus` (r:4 w:0) + /// Storage: `SubtensorModule::Prometheus` (r:4096 w:0) /// Proof: `SubtensorModule::Prometheus` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Axons` (r:4 w:0) + /// Storage: `SubtensorModule::Axons` (r:4096 w:0) /// Proof: `SubtensorModule::Axons` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MechanismCountCurrent` (r:4 w:0) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:4096 w:0) /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::WeightCommits` (r:4 w:0) + /// Storage: `SubtensorModule::WeightCommits` (r:4096 w:0) /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LoadedEmission` (r:4 w:0) + /// Storage: `SubtensorModule::LoadedEmission` (r:4096 w:0) /// Proof: `SubtensorModule::LoadedEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NeuronCertificates` (r:4 w:0) + /// Storage: `SubtensorModule::NeuronCertificates` (r:4096 w:0) /// Proof: `SubtensorModule::NeuronCertificates` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyShares` (r:8 w:0) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:8192 w:0) /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:8 w:8) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:8192 w:8192) /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::Delegates` (r:1 w:0) /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Keys` (r:0 w:4) + /// Storage: `SubtensorModule::Keys` (r:0 w:4096) /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn swap_hotkey() -> Weight { + fn swap_hotkey_v2() -> Weight { // Proof Size summary in bytes: - // Measured: `3172` - // Estimated: `28912` - // Minimum execution time: 1_209_451_000 picoseconds. - Weight::from_parts(1_220_841_000, 28912) - .saturating_add(RocksDbWeight::get().reads(182_u64)) - .saturating_add(RocksDbWeight::get().writes(99_u64)) + // Measured: `542010` + // Estimated: `20823150` + // Minimum execution time: 30_447_435_728_000 picoseconds. + Weight::from_parts(30_814_425_962_000, 20823150) + .saturating_add(RocksDbWeight::get().reads(147494_u64)) + .saturating_add(RocksDbWeight::get().writes(77847_u64)) } - /// Storage: `SubtensorModule::Owner` (r:1 w:1) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) - /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) - /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn try_associate_hotkey() -> Weight { + /// Storage: `SubtensorModule::MinChildkeyTake` (r:0 w:1) + /// Proof: `SubtensorModule::MinChildkeyTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_min_childkey_take() -> Weight { // Proof Size summary in bytes: - // Measured: `818` - // Estimated: `4283` - // Minimum execution time: 25_246_000 picoseconds. - Weight::from_parts(25_878_000, 4283) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 4_236_000 picoseconds. + Weight::from_parts(4_466_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) } - /// Storage: `SubtensorModule::Owner` (r:1 w:0) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) - /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubtokenEnabled` (r:2 w:0) - /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn unstake_all() -> Weight { + /// Storage: `SubtensorModule::MaxChildkeyTake` (r:0 w:1) + /// Proof: `SubtensorModule::MaxChildkeyTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_max_childkey_take() -> Weight { // Proof Size summary in bytes: - // Measured: `774` - // Estimated: `9189` - // Minimum execution time: 27_030_000 picoseconds. - Weight::from_parts(28_102_000, 9189) - .saturating_add(RocksDbWeight::get().reads(6_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 4_116_000 picoseconds. + Weight::from_parts(5_088_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) } - /// Storage: `SubtensorModule::Owner` (r:1 w:0) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:1) /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubtokenEnabled` (r:2 w:0) - /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Alpha` (r:2 w:0) - /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AlphaV2` (r:2 w:2) - /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:2) - /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) - /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:2) - /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) - /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetTAO` (r:2 w:2) - /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::PalSwapInitialized` (r:1 w:0) - /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::SubnetAlphaIn` (r:2 w:2) - /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::SwapBalancer` (r:1 w:0) - /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) - /// Storage: `Swap::FeeRate` (r:1 w:0) - /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) - /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Lock` (r:2 w:0) - /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetAlphaOut` (r:2 w:2) - /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) - /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetVolume` (r:2 w:2) - /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `System::Account` (r:4 w:3) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) - /// Storage: `AlphaAssets::AlphaBurned` (r:1 w:1) - /// Proof: `AlphaAssets::AlphaBurned` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetTaoFlow` (r:2 w:2) - /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::RootClaimable` (r:1 w:0) /// Proof: `SubtensorModule::RootClaimable` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingColdkeys` (r:1 w:1) - /// Proof: `SubtensorModule::StakingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NumStakingColdkeys` (r:1 w:1) - /// Proof: `SubtensorModule::NumStakingColdkeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingColdkeysByIndex` (r:0 w:1) - /// Proof: `SubtensorModule::StakingColdkeysByIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) - /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn unstake_all_alpha() -> Weight { - // Proof Size summary in bytes: - // Measured: `2235` - // Estimated: `11306` - // Minimum execution time: 667_567_000 picoseconds. - Weight::from_parts(691_331_000, 11306) - .saturating_add(RocksDbWeight::get().reads(43_u64)) - .saturating_add(RocksDbWeight::get().writes(25_u64)) - } - /// Storage: `SubtensorModule::Alpha` (r:1 w:0) - /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) - /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLocked` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetLocked` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegisteredAt` (r:1 w:1) + /// Proof: `SubtensorModule::NetworkRegisteredAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationStartBlock` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRegistrationStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TaoInRefundDeploymentBlock` (r:1 w:0) + /// Proof: `SubtensorModule::TaoInRefundDeploymentBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetProtocolAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetProtocolAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:1) /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Storage: `SubtensorModule::Alpha` (r:2 w:1) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:1) /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) - /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::PalSwapInitialized` (r:1 w:0) - /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::SwapBalancer` (r:1 w:0) - /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) - /// Storage: `Swap::FeeRate` (r:1 w:0) - /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) - /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Owner` (r:1 w:0) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) - /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Lock` (r:1 w:0) - /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `System::Account` (r:2 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) - /// Storage: `AlphaAssets::AlphaBurned` (r:1 w:1) - /// Proof: `AlphaAssets::AlphaBurned` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) - /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) - /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn remove_stake_full_limit() -> Weight { - // Proof Size summary in bytes: - // Measured: `2176` - // Estimated: `10591` - // Minimum execution time: 721_907_000 picoseconds. - Weight::from_parts(749_488_000, 10591) - .saturating_add(RocksDbWeight::get().reads(27_u64)) - .saturating_add(RocksDbWeight::get().writes(13_u64)) - } - /// Storage: `Crowdloan::CurrentCrowdloanId` (r:1 w:0) - /// Proof: `Crowdloan::CurrentCrowdloanId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Crowdloan::Crowdloans` (r:1 w:0) - /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(282), added: 2757, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::NextSubnetLeaseId` (r:1 w:1) - /// Proof: `SubtensorModule::NextSubnetLeaseId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `System::Account` (r:503 w:503) + /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::Owner` (r:1 w:1) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworkRegistrationStartBlock` (r:1 w:0) - /// Proof: `SubtensorModule::NetworkRegistrationStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworkRateLimit` (r:1 w:0) - /// Proof: `SubtensorModule::NetworkRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) - /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetLimit` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:1) - /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworkLastLockCost` (r:1 w:1) - /// Proof: `SubtensorModule::NetworkLastLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworkMinLockCost` (r:1 w:0) - /// Proof: `SubtensorModule::NetworkMinLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworkLockReductionInterval` (r:1 w:0) - /// Proof: `SubtensorModule::NetworkLockReductionInterval` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:0) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::SwapBalancer` (r:1 w:0) - /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::TotalNetworks` (r:1 w:1) - /// Proof: `SubtensorModule::TotalNetworks` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Kappa` (r:1 w:1) - /// Proof: `SubtensorModule::Kappa` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ActivityCutoff` (r:1 w:1) - /// Proof: `SubtensorModule::ActivityCutoff` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:1 w:1) - /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) - /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) - /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Active` (r:1 w:1) - /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Emission` (r:1 w:1) - /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Consensus` (r:1 w:1) - /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) - /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Incentive` (r:1 w:1) - /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) - /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Dividends` (r:1 w:1) - /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) - /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) - /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::RegisteredSubnetCounter` (r:1 w:1) - /// Proof: `SubtensorModule::RegisteredSubnetCounter` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TokenSymbol` (r:3 w:1) - /// Proof: `SubtensorModule::TokenSymbol` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) - /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Keys` (r:1 w:1) + /// Storage: `SubtensorModule::LockingColdkeys` (r:1 w:0) + /// Proof: `SubtensorModule::LockingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingLock` (r:1 w:0) + /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Commitments::TimelockedIndex` (r:1 w:1) + /// Proof: `Commitments::TimelockedIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalNetworks` (r:1 w:1) + /// Proof: `SubtensorModule::TotalNetworks` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:4097 w:4097) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:4097 w:4096) /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetOwner` (r:3 w:1) - /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Proxy::Proxies` (r:1 w:1) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(789), added: 3264, mode: `MaxEncodedLen`) - /// Storage: `Crowdloan::Contributions` (r:501 w:0) - /// Proof: `Crowdloan::Contributions` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::Burn` (r:0 w:1) - /// Proof: `SubtensorModule::Burn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:0 w:1) + /// Storage: `SubtensorModule::Weights` (r:1 w:0) + /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:4096 w:4096) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:1) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetIdentitiesV3` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetIdentitiesV3` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildkeyTake` (r:1 w:0) + /// Proof: `SubtensorModule::ChildkeyTake` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:1) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:4087 w:4096) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastHotkeyEmissionOnNetuid` (r:1 w:0) + /// Proof: `SubtensorModule::LastHotkeyEmissionOnNetuid` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TransactionKeyLastBlock` (r:1 w:0) + /// Proof: `SubtensorModule::TransactionKeyLastBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:1 w:1) /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetUidToLeaseId` (r:0 w:1) + /// Storage: `SubtensorModule::Kappa` (r:1 w:1) + /// Proof: `SubtensorModule::Kappa` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetUidToLeaseId` (r:1 w:0) /// Proof: `SubtensorModule::SubnetUidToLeaseId` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetLocked` (r:0 w:1) - /// Proof: `SubtensorModule::SubnetLocked` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworkRegisteredAt` (r:0 w:1) - /// Proof: `SubtensorModule::NetworkRegisteredAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ActivityCutoff` (r:1 w:1) + /// Proof: `SubtensorModule::ActivityCutoff` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Burn` (r:0 w:1) + /// Proof: `SubtensorModule::Burn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LiquidAlphaOn` (r:0 w:1) + /// Proof: `SubtensorModule::LiquidAlphaOn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::EMAPriceHalvingBlocks` (r:0 w:1) + /// Proof: `SubtensorModule::EMAPriceHalvingBlocks` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:0 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxBurn` (r:0 w:1) + /// Proof: `SubtensorModule::MaxBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ScalingLawPower` (r:0 w:1) + /// Proof: `SubtensorModule::ScalingLawPower` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastAdjustmentBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastAdjustmentBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaInEmission` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaInEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMovingPrice` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetMovingPrice` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisBlock` (r:0 w:1) + /// Proof: `SubtensorModule::RegistrationsThisBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TokenSymbol` (r:0 w:1) + /// Proof: `SubtensorModule::TokenSymbol` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinerBurned` (r:0 w:1) + /// Proof: `SubtensorModule::MinerBurned` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ServingRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::ServingRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BondsPenalty` (r:0 w:1) + /// Proof: `SubtensorModule::BondsPenalty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOutEmission` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOutEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsSetRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::WeightsSetRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:0 w:1) + /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LargestLocked` (r:0 w:1) + /// Proof: `SubtensorModule::LargestLocked` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ActivityCutoffFactorMilli` (r:0 w:1) + /// Proof: `SubtensorModule::ActivityCutoffFactorMilli` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:0 w:1) + /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:0 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaValues` (r:0 w:1) + /// Proof: `SubtensorModule::AlphaValues` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::SubnetVolume` (r:0 w:1) /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) - /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetLeaseShares` (r:0 w:499) - /// Proof: `SubtensorModule::SubnetLeaseShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingOwnerLock` (r:0 w:1) + /// Proof: `SubtensorModule::DecayingOwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerLock` (r:0 w:1) + /// Proof: `SubtensorModule::OwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEpochIndex` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetRootSellTao` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetRootSellTao` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:0 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxRegistrationsPerBlock` (r:0 w:1) + /// Proof: `SubtensorModule::MaxRegistrationsPerBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::MinAllowedWeights` (r:0 w:1) /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Delegates` (r:0 w:1) - /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingOwnerCut` (r:0 w:1) + /// Proof: `SubtensorModule::PendingOwnerCut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlocksSinceLastStep` (r:0 w:1) + /// Proof: `SubtensorModule::BlocksSinceLastStep` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingValidatorEmission` (r:0 w:1) + /// Proof: `SubtensorModule::PendingValidatorEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnRegistrationsThisInterval` (r:0 w:1) + /// Proof: `SubtensorModule::BurnRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:0 w:1) /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:0 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::MaxAllowedValidators` (r:0 w:1) /// Proof: `SubtensorModule::MaxAllowedValidators` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::Tempo` (r:0 w:1) /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeWeight` (r:0 w:1) + /// Proof: `SubtensorModule::StakeWeight` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::SubnetAlphaOut` (r:0 w:1) /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnIncreaseMult` (r:0 w:1) + /// Proof: `SubtensorModule::BurnIncreaseMult` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Difficulty` (r:0 w:1) + /// Proof: `SubtensorModule::Difficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MinDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingServerEmission` (r:0 w:1) + /// Proof: `SubtensorModule::PendingServerEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetExcessTao` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetExcessTao` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:0 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TargetRegistrationsPerInterval` (r:0 w:1) + /// Proof: `SubtensorModule::TargetRegistrationsPerInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerCutAutoLockEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::OwnerCutAutoLockEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:0 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEmaProtocolFlow` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetEmaProtocolFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:0 w:1) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Rho` (r:0 w:1) + /// Proof: `SubtensorModule::Rho` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::LastEpochBlock` (r:0 w:1) /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastMechansimStepBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastMechansimStepBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:0 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:0 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPruneLen` (r:0 w:1) + /// Proof: `SubtensorModule::ValidatorPruneLen` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnHalfLife` (r:0 w:1) + /// Proof: `SubtensorModule::BurnHalfLife` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEmaTaoFlow` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetEmaTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::SubnetworkN` (r:0 w:1) /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Uids` (r:0 w:1) - /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BondsResetOn` (r:0 w:1) + /// Proof: `SubtensorModule::BondsResetOn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinBurn` (r:0 w:1) + /// Proof: `SubtensorModule::MinBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::ImmunityPeriod` (r:0 w:1) /// Proof: `SubtensorModule::ImmunityPeriod` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetLeases` (r:0 w:1) - /// Proof: `SubtensorModule::SubnetLeases` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetEmissionEnabled` (r:0 w:1) - /// Proof: `SubtensorModule::SubnetEmissionEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismEmissionSplit` (r:0 w:1) + /// Proof: `SubtensorModule::MechanismEmissionSplit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TransferToggle` (r:0 w:1) + /// Proof: `SubtensorModule::TransferToggle` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ImmuneOwnerUidsLimit` (r:0 w:1) + /// Proof: `SubtensorModule::ImmuneOwnerUidsLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:0 w:1) /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaSigmoidSteepness` (r:0 w:1) + /// Proof: `SubtensorModule::AlphaSigmoidSteepness` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BondsMovingAverage` (r:0 w:1) + /// Proof: `SubtensorModule::BondsMovingAverage` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsVersionKey` (r:0 w:1) + /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkPowRegistrationAllowed` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkPowRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MaxDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoInEmission` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetTaoInEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::Yuma3On` (r:0 w:1) /// Proof: `SubtensorModule::Yuma3On` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) - /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::FirstEmissionBlockNumber` (r:0 w:1) + /// Proof: `SubtensorModule::FirstEmissionBlockNumber` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingRootAlphaDivs` (r:0 w:1) + /// Proof: `SubtensorModule::PendingRootAlphaDivs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetProtocolFlow` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetProtocolFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LoadedEmission` (r:0 w:1) + /// Proof: `SubtensorModule::LoadedEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::MaxAllowedUids` (r:0 w:1) /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// The range of component `k` is `[2, 500]`. - fn register_leased_network(k: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `1835 + k * (44 ±0)` - // Estimated: `10256 + k * (2579 ±0)` - // Minimum execution time: 472_506_000 picoseconds. - Weight::from_parts(230_127_504, 10256) - // Standard Error: 51_934 - .saturating_add(Weight::from_parts(46_730_014, 0).saturating_mul(k.into())) - .saturating_add(RocksDbWeight::get().reads(48_u64)) - .saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(k.into()))) - .saturating_add(RocksDbWeight::get().writes(53_u64)) - .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(k.into()))) - .saturating_add(Weight::from_parts(0, 2579).saturating_mul(k.into())) - } - /// Storage: `SubtensorModule::SubnetLeases` (r:1 w:1) - /// Proof: `SubtensorModule::SubnetLeases` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Owner` (r:1 w:0) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `System::Account` (r:2 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::SubnetLeaseShares` (r:499 w:499) - /// Proof: `SubtensorModule::SubnetLeaseShares` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Proxy::Proxies` (r:1 w:1) - /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(789), added: 3264, mode: `MaxEncodedLen`) - /// Storage: `Proxy::RealPaysFee` (r:0 w:1) - /// Proof: `Proxy::RealPaysFee` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::SubnetOwner` (r:0 w:1) - /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:0 w:1) - /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AccumulatedLeaseDividends` (r:0 w:1) - /// Proof: `SubtensorModule::AccumulatedLeaseDividends` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// The range of component `k` is `[2, 500]`. - fn terminate_lease(k: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `1501 + k * (53 ±0)` - // Estimated: `6148 + k * (2529 ±0)` - // Minimum execution time: 93_584_000 picoseconds. - Weight::from_parts(94_083_076, 6148) - // Standard Error: 6_178 - .saturating_add(Weight::from_parts(1_554_561, 0).saturating_mul(k.into())) - .saturating_add(RocksDbWeight::get().reads(4_u64)) - .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(k.into()))) - .saturating_add(RocksDbWeight::get().writes(7_u64)) - .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(k.into()))) - .saturating_add(Weight::from_parts(0, 2529).saturating_mul(k.into())) - } - /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TokenSymbol` (r:3 w:1) - /// Proof: `SubtensorModule::TokenSymbol` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn update_symbol() -> Weight { + /// Storage: `SubtensorModule::POWRegistrationsThisInterval` (r:0 w:1) + /// Proof: `SubtensorModule::POWRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:0 w:1) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:0 w:1) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `Swap::PalSwapInitialized` (r:0 w:1) + /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + fn dissolve_network() -> Weight { // Proof Size summary in bytes: - // Measured: `659` - // Estimated: `9074` - // Minimum execution time: 26_389_000 picoseconds. - Weight::from_parts(28_382_000, 9074) - .saturating_add(RocksDbWeight::get().reads(4_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) + // Measured: `655549` + // Estimated: `10796614` + // Minimum execution time: 56_246_738_000 picoseconds. + Weight::from_parts(57_161_554_000, 10796614) + .saturating_add(RocksDbWeight::get().reads(16415_u64)) + .saturating_add(RocksDbWeight::get().writes(16493_u64)) } - /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:1) /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) - /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) - /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::CommitRevealWeightsVersion` (r:1 w:0) - /// Proof: `SubtensorModule::CommitRevealWeightsVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Storage: `SubtensorModule::RootClaimable` (r:1 w:0) + /// Proof: `SubtensorModule::RootClaimable` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLocked` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetLocked` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegisteredAt` (r:1 w:1) + /// Proof: `SubtensorModule::NetworkRegisteredAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationStartBlock` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRegistrationStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TaoInRefundDeploymentBlock` (r:1 w:0) + /// Proof: `SubtensorModule::TaoInRefundDeploymentBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetProtocolAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetProtocolAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:2 w:1) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`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(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LockingColdkeys` (r:1 w:0) + /// Proof: `SubtensorModule::LockingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingLock` (r:1 w:0) + /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Commitments::TimelockedIndex` (r:1 w:1) + /// Proof: `Commitments::TimelockedIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalNetworks` (r:1 w:1) + /// Proof: `SubtensorModule::TotalNetworks` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:4097 w:4097) /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Storage: `SubtensorModule::Keys` (r:4097 w:4096) /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) - /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetEpochIndex` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Tempo` (r:1 w:0) - /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) + /// Storage: `SubtensorModule::Weights` (r:1 w:0) + /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:4096 w:4096) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:1) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetIdentitiesV3` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetIdentitiesV3` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildkeyTake` (r:1 w:0) + /// Proof: `SubtensorModule::ChildkeyTake` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:1) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:4078 w:4096) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastHotkeyEmissionOnNetuid` (r:1 w:0) + /// Proof: `SubtensorModule::LastHotkeyEmissionOnNetuid` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TransactionKeyLastBlock` (r:1 w:0) + /// Proof: `SubtensorModule::TransactionKeyLastBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:1 w:1) + /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Kappa` (r:1 w:1) + /// Proof: `SubtensorModule::Kappa` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetUidToLeaseId` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetUidToLeaseId` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ActivityCutoff` (r:1 w:1) + /// Proof: `SubtensorModule::ActivityCutoff` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Burn` (r:0 w:1) + /// Proof: `SubtensorModule::Burn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LiquidAlphaOn` (r:0 w:1) + /// Proof: `SubtensorModule::LiquidAlphaOn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::EMAPriceHalvingBlocks` (r:0 w:1) + /// Proof: `SubtensorModule::EMAPriceHalvingBlocks` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:0 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxBurn` (r:0 w:1) + /// Proof: `SubtensorModule::MaxBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ScalingLawPower` (r:0 w:1) + /// Proof: `SubtensorModule::ScalingLawPower` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastAdjustmentBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastAdjustmentBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaInEmission` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaInEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMovingPrice` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetMovingPrice` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisBlock` (r:0 w:1) + /// Proof: `SubtensorModule::RegistrationsThisBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TokenSymbol` (r:0 w:1) + /// Proof: `SubtensorModule::TokenSymbol` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinerBurned` (r:0 w:1) + /// Proof: `SubtensorModule::MinerBurned` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ServingRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::ServingRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BondsPenalty` (r:0 w:1) + /// Proof: `SubtensorModule::BondsPenalty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOutEmission` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOutEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsSetRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::WeightsSetRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:0 w:1) + /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LargestLocked` (r:0 w:1) + /// Proof: `SubtensorModule::LargestLocked` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ActivityCutoffFactorMilli` (r:0 w:1) + /// Proof: `SubtensorModule::ActivityCutoffFactorMilli` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingEpochAt` (r:0 w:1) /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::BlocksSinceLastStep` (r:1 w:0) + /// Storage: `SubtensorModule::ValidatorTrust` (r:0 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaValues` (r:0 w:1) + /// Proof: `SubtensorModule::AlphaValues` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingOwnerLock` (r:0 w:1) + /// Proof: `SubtensorModule::DecayingOwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerLock` (r:0 w:1) + /// Proof: `SubtensorModule::OwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEpochIndex` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetRootSellTao` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetRootSellTao` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:0 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxRegistrationsPerBlock` (r:0 w:1) + /// Proof: `SubtensorModule::MaxRegistrationsPerBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:0 w:1) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingOwnerCut` (r:0 w:1) + /// Proof: `SubtensorModule::PendingOwnerCut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlocksSinceLastStep` (r:0 w:1) /// Proof: `SubtensorModule::BlocksSinceLastStep` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) + /// Storage: `SubtensorModule::PendingValidatorEmission` (r:0 w:1) + /// Proof: `SubtensorModule::PendingValidatorEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnRegistrationsThisInterval` (r:0 w:1) + /// Proof: `SubtensorModule::BurnRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:0 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedValidators` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedValidators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:0 w:1) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeWeight` (r:0 w:1) + /// Proof: `SubtensorModule::StakeWeight` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnIncreaseMult` (r:0 w:1) + /// Proof: `SubtensorModule::BurnIncreaseMult` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Difficulty` (r:0 w:1) + /// Proof: `SubtensorModule::Difficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MinDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingServerEmission` (r:0 w:1) + /// Proof: `SubtensorModule::PendingServerEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetExcessTao` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetExcessTao` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:0 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TargetRegistrationsPerInterval` (r:0 w:1) + /// Proof: `SubtensorModule::TargetRegistrationsPerInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnerCutAutoLockEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::OwnerCutAutoLockEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:0 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEmaProtocolFlow` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetEmaProtocolFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:0 w:1) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Rho` (r:0 w:1) + /// Proof: `SubtensorModule::Rho` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastEpochBlock` (r:0 w:1) /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TimelockedWeightCommits` (r:1 w:1) - /// Proof: `SubtensorModule::TimelockedWeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Storage: `SubtensorModule::LastMechansimStepBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastMechansimStepBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:0 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:0 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPruneLen` (r:0 w:1) + /// Proof: `SubtensorModule::ValidatorPruneLen` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnHalfLife` (r:0 w:1) + /// Proof: `SubtensorModule::BurnHalfLife` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetEmaTaoFlow` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetEmaTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:0 w:1) /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn commit_timelocked_weights() -> Weight { + /// Storage: `SubtensorModule::BondsResetOn` (r:0 w:1) + /// Proof: `SubtensorModule::BondsResetOn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinBurn` (r:0 w:1) + /// Proof: `SubtensorModule::MinBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ImmunityPeriod` (r:0 w:1) + /// Proof: `SubtensorModule::ImmunityPeriod` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismEmissionSplit` (r:0 w:1) + /// Proof: `SubtensorModule::MechanismEmissionSplit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TransferToggle` (r:0 w:1) + /// Proof: `SubtensorModule::TransferToggle` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ImmuneOwnerUidsLimit` (r:0 w:1) + /// Proof: `SubtensorModule::ImmuneOwnerUidsLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaSigmoidSteepness` (r:0 w:1) + /// Proof: `SubtensorModule::AlphaSigmoidSteepness` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BondsMovingAverage` (r:0 w:1) + /// Proof: `SubtensorModule::BondsMovingAverage` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsVersionKey` (r:0 w:1) + /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkPowRegistrationAllowed` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkPowRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MaxDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoInEmission` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetTaoInEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Yuma3On` (r:0 w:1) + /// Proof: `SubtensorModule::Yuma3On` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::FirstEmissionBlockNumber` (r:0 w:1) + /// Proof: `SubtensorModule::FirstEmissionBlockNumber` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingRootAlphaDivs` (r:0 w:1) + /// Proof: `SubtensorModule::PendingRootAlphaDivs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetProtocolFlow` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetProtocolFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LoadedEmission` (r:0 w:1) + /// Proof: `SubtensorModule::LoadedEmission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::POWRegistrationsThisInterval` (r:0 w:1) + /// Proof: `SubtensorModule::POWRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:0 w:1) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:0 w:1) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `Swap::PalSwapInitialized` (r:0 w:1) + /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + fn root_dissolve_network() -> Weight { // Proof Size summary in bytes: - // Measured: `1248` - // Estimated: `4713` - // Minimum execution time: 84_036_000 picoseconds. - Weight::from_parts(85_989_000, 4713) - .saturating_add(RocksDbWeight::get().reads(14_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) + // Measured: `655331` + // Estimated: `10796396` + // Minimum execution time: 56_548_117_000 picoseconds. + Weight::from_parts(57_556_616_000, 10796396) + .saturating_add(RocksDbWeight::get().reads(16406_u64)) + .saturating_add(RocksDbWeight::get().writes(16493_u64)) } - /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Storage: `SubtensorModule::TransactionKeyLastBlock` (r:1 w:1) + /// Proof: `SubtensorModule::TransactionKeyLastBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Uids` (r:1 w:0) - /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AutoStakeDestination` (r:1 w:1) - /// Proof: `SubtensorModule::AutoStakeDestination` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AutoStakeDestinationColdkeys` (r:1 w:1) - /// Proof: `SubtensorModule::AutoStakeDestinationColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn set_coldkey_auto_stake_hotkey() -> Weight { - // Proof Size summary in bytes: - // Measured: `809` - // Estimated: `4274` - // Minimum execution time: 33_031_000 picoseconds. - Weight::from_parts(33_852_000, 4274) - .saturating_add(RocksDbWeight::get().reads(4_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) - } - /// Storage: `SubtensorModule::StakingColdkeys` (r:1 w:1) - /// Proof: `SubtensorModule::StakingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NumStakingColdkeys` (r:1 w:1) - /// Proof: `SubtensorModule::NumStakingColdkeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::RootClaimType` (r:0 w:1) - /// Proof: `SubtensorModule::RootClaimType` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingColdkeysByIndex` (r:0 w:1) - /// Proof: `SubtensorModule::StakingColdkeysByIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn set_root_claim_type() -> Weight { - // Proof Size summary in bytes: - // Measured: `476` - // Estimated: `3941` - // Minimum execution time: 17_142_000 picoseconds. - Weight::from_parts(17_974_000, 3941) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) - } - /// Storage: `SubtensorModule::StakingColdkeys` (r:1 w:0) - /// Proof: `SubtensorModule::StakingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) - /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::RootClaimType` (r:1 w:0) - /// Proof: `SubtensorModule::RootClaimType` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::RootClaimable` (r:1 w:0) - /// Proof: `SubtensorModule::RootClaimable` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Alpha` (r:2 w:0) - /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AlphaV2` (r:2 w:1) - /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:1) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:0) /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) - /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:1) - /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::RootClaimed` (r:1 w:1) - /// Proof: `SubtensorModule::RootClaimed` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::RootClaimableThreshold` (r:1 w:0) - /// Proof: `SubtensorModule::RootClaimableThreshold` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn claim_root() -> Weight { - // Proof Size summary in bytes: - // Measured: `1969` - // Estimated: `7909` - // Minimum execution time: 135_911_000 picoseconds. - Weight::from_parts(139_088_000, 7909) - .saturating_add(RocksDbWeight::get().reads(16_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) + /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:1 w:0) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingChildKeyCooldown` (r:1 w:0) + /// Proof: `SubtensorModule::PendingChildKeyCooldown` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingChildKeys` (r:0 w:1) + /// Proof: `SubtensorModule::PendingChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `c` is `[1, 5]`. + fn set_children(c: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1536` + // Estimated: `9951` + // Minimum execution time: 99_257_000 picoseconds. + Weight::from_parts(102_052_335, 9951) + // Standard Error: 23_274 + .saturating_add(Weight::from_parts(321_144, 0).saturating_mul(c.into())) + .saturating_add(RocksDbWeight::get().reads(17_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) } - /// Storage: `SubtensorModule::NumRootClaim` (r:0 w:1) - /// Proof: `SubtensorModule::NumRootClaim` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn sudo_set_num_root_claims() -> Weight { + fn schedule_swap_coldkey() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_595_000 picoseconds. - Weight::from_parts(2_765_000, 0) + // Minimum execution time: 1_993_000 picoseconds. + Weight::from_parts(2_184_000, 0) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::VotingPowerDisableAtBlock` (r:0 w:1) + /// Proof: `SubtensorModule::VotingPowerDisableAtBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::VotingPowerTrackingEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::VotingPowerTrackingEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn enable_voting_power_tracking() -> Weight { + // Proof Size summary in bytes: + // Measured: `635` + // Estimated: `4100` + // Minimum execution time: 15_833_000 picoseconds. + Weight::from_parts(17_516_000, 4100) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::VotingPowerTrackingEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::VotingPowerTrackingEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::VotingPowerDisableAtBlock` (r:0 w:1) + /// Proof: `SubtensorModule::VotingPowerDisableAtBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn disable_voting_power_tracking() -> Weight { + // Proof Size summary in bytes: + // Measured: `696` + // Estimated: `4161` + // Minimum execution time: 20_049_000 picoseconds. + Weight::from_parts(20_741_000, 4161) + .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } - /// Storage: `SubtensorModule::RootClaimableThreshold` (r:0 w:1) - /// Proof: `SubtensorModule::RootClaimableThreshold` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn sudo_set_root_claim_threshold() -> Weight { + /// Storage: `SubtensorModule::VotingPowerEmaAlpha` (r:0 w:1) + /// Proof: `SubtensorModule::VotingPowerEmaAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_voting_power_ema_alpha() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_140_000 picoseconds. - Weight::from_parts(5_831_000, 0) + // Minimum execution time: 7_371_000 picoseconds. + Weight::from_parts(7_952_000, 0) .saturating_add(RocksDbWeight::get().writes(1_u64)) } - /// Storage: `SubtensorModule::Owner` (r:1 w:0) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Burn` (r:1 w:1) + /// Proof: `SubtensorModule::Burn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:1) /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AutoParentDelegationEnabled` (r:0 w:1) - /// Proof: `SubtensorModule::AutoParentDelegationEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn set_auto_parent_delegation_enabled() -> Weight { - // Proof Size summary in bytes: - // Measured: `899` - // Estimated: `4364` - // Minimum execution time: 27_250_000 picoseconds. - Weight::from_parts(28_202_000, 4364) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) - } + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:1) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:1 w:0) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::PalSwapInitialized` (r:1 w:0) + /// Storage: `Swap::PalSwapInitialized` (r:1 w:1) /// Proof: `Swap::PalSwapInitialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Swap::SwapBalancer` (r:1 w:0) - /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) /// Storage: `Swap::FeeRate` (r:1 w:0) /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) - /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) - /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `System::Account` (r:3 w:3) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) - /// Storage: `SubtensorModule::Owner` (r:1 w:0) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) - /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) - /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) - /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) - /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Alpha` (r:1 w:0) - /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) - /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:1 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:1 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:1 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:1 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:1 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnIncreaseMult` (r:1 w:0) + /// Proof: `SubtensorModule::BurnIncreaseMult` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinBurn` (r:1 w:0) + /// Proof: `SubtensorModule::MinBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxBurn` (r:1 w:0) + /// Proof: `SubtensorModule::MaxBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisBlock` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:1 w:1) + /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Lock` (r:2 w:1) - /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::DecayingLock` (r:1 w:0) - /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::HotkeyLock` (r:1 w:0) - /// Proof: `SubtensorModule::HotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::DecayingHotkeyLock` (r:1 w:1) - /// Proof: `SubtensorModule::DecayingHotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::OwnerLock` (r:1 w:0) - /// Proof: `SubtensorModule::OwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::DecayingOwnerLock` (r:1 w:0) - /// Proof: `SubtensorModule::DecayingOwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::UnlockRate` (r:1 w:0) - /// Proof: `SubtensorModule::UnlockRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MaturityRate` (r:1 w:0) - /// Proof: `SubtensorModule::MaturityRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `AlphaAssets::AlphaBurned` (r:1 w:1) - /// Proof: `AlphaAssets::AlphaBurned` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LockingColdkeys` (r:0 w:1) - /// Proof: `SubtensorModule::LockingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) - /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn add_stake_burn() -> Weight { - // Proof Size summary in bytes: - // Measured: `2229` - // Estimated: `8727` - // Minimum execution time: 939_851_000 picoseconds. - Weight::from_parts(946_223_000, 8727) - .saturating_add(RocksDbWeight::get().reads(33_u64)) - .saturating_add(RocksDbWeight::get().writes(17_u64)) - } - /// Storage: `SubtensorModule::PendingChildKeyCooldown` (r:0 w:1) - /// Proof: `SubtensorModule::PendingChildKeyCooldown` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - fn set_pending_childkey_cooldown() -> Weight { + /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:0 w:1) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapBalancer` (r:0 w:1) + /// Proof: `Swap::SwapBalancer` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + fn register_limit() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_634_000 picoseconds. - Weight::from_parts(2_886_000, 0) - .saturating_add(RocksDbWeight::get().writes(1_u64)) + // Measured: `1707` + // Estimated: `6148` + // Minimum execution time: 338_483_000 picoseconds. + Weight::from_parts(345_012_000, 6148) + .saturating_add(RocksDbWeight::get().reads(34_u64)) + .saturating_add(RocksDbWeight::get().writes(29_u64)) } - /// Storage: `SubtensorModule::Owner` (r:1 w:0) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) - /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Alpha` (r:1 w:0) - /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AlphaV2` (r:1 w:0) - /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:0) - /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) - /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:0) - /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::DecayingLock` (r:1 w:1) + /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::Lock` (r:2 w:1) /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::DecayingLock` (r:1 w:0) - /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::HotkeyLock` (r:1 w:0) /// Proof: `SubtensorModule::HotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::DecayingHotkeyLock` (r:1 w:1) @@ -4843,232 +7590,24 @@ impl WeightInfo for () { /// Proof: `SubtensorModule::MaturityRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `SubtensorModule::LockingColdkeys` (r:0 w:1) /// Proof: `SubtensorModule::LockingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn lock_stake() -> Weight { - // Proof Size summary in bytes: - // Measured: `1715` - // Estimated: `7655` - // Minimum execution time: 115_915_000 picoseconds. - Weight::from_parts(116_686_000, 7655) - .saturating_add(RocksDbWeight::get().reads(17_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - } - /// Storage: `SubtensorModule::Owner` (r:2 w:0) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Lock` (r:2 w:2) - /// Proof: `SubtensorModule::Lock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::DecayingLock` (r:1 w:0) - /// Proof: `SubtensorModule::DecayingLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::HotkeyLock` (r:2 w:0) - /// Proof: `SubtensorModule::HotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::DecayingHotkeyLock` (r:2 w:2) - /// Proof: `SubtensorModule::DecayingHotkeyLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::OwnerLock` (r:1 w:0) - /// Proof: `SubtensorModule::OwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::DecayingOwnerLock` (r:1 w:0) - /// Proof: `SubtensorModule::DecayingOwnerLock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::UnlockRate` (r:1 w:0) - /// Proof: `SubtensorModule::UnlockRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MaturityRate` (r:1 w:0) - /// Proof: `SubtensorModule::MaturityRate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LockingColdkeys` (r:0 w:2) - /// Proof: `SubtensorModule::LockingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn move_lock() -> Weight { + fn set_perpetual_lock() -> Weight { // Proof Size summary in bytes: - // Measured: `1399` - // Estimated: `7339` - // Minimum execution time: 147_714_000 picoseconds. - Weight::from_parts(149_006_000, 7339) - .saturating_add(RocksDbWeight::get().reads(14_u64)) - .saturating_add(RocksDbWeight::get().writes(6_u64)) + // Measured: `1111` + // Estimated: `7051` + // Minimum execution time: 105_326_000 picoseconds. + Weight::from_parts(107_139_000, 7051) + .saturating_add(RocksDbWeight::get().reads(10_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) } - /// Storage: `SubtensorModule::Owner` (r:1 w:0) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Uids` (r:1 w:0) - /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AssociatedEvmAddress` (r:1 w:1) - /// Proof: `SubtensorModule::AssociatedEvmAddress` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn associate_evm_key() -> Weight { + /// Storage: `SubtensorModule::AccountFlags` (r:1 w:1) + /// Proof: `SubtensorModule::AccountFlags` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_reject_locked_alpha() -> Weight { // Proof Size summary in bytes: - // Measured: `950` - // Estimated: `4415` - // Minimum execution time: 665_262_000 picoseconds. - Weight::from_parts(683_967_000, 4415) - .saturating_add(RocksDbWeight::get().reads(3_u64)) + // Measured: `562` + // Estimated: `4027` + // Minimum execution time: 12_749_000 picoseconds. + Weight::from_parts(13_140_000, 4027) + .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } - /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Tempo` (r:1 w:1) - /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) - /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:1) - /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) - /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TransactionKeyLastBlock` (r:1 w:1) - /// Proof: `SubtensorModule::TransactionKeyLastBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn set_tempo() -> Weight { - // Proof Size summary in bytes: - // Measured: `975` - // Estimated: `4440` - // Minimum execution time: 44_743_000 picoseconds. - Weight::from_parts(46_106_000, 4440) - .saturating_add(RocksDbWeight::get().reads(6_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - } - /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Tempo` (r:1 w:0) - /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:0) - /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) - /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) - /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::OwnerHyperparamRateLimit` (r:1 w:0) - /// Proof: `SubtensorModule::OwnerHyperparamRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) - /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ActivityCutoffFactorMilli` (r:0 w:1) - /// Proof: `SubtensorModule::ActivityCutoffFactorMilli` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn set_activity_cutoff_factor() -> Weight { - // Proof Size summary in bytes: - // Measured: `899` - // Estimated: `4364` - // Minimum execution time: 37_910_000 picoseconds. - Weight::from_parts(39_443_000, 4364) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) - } - /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) - /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::PendingEpochAt` (r:1 w:1) - /// Proof: `SubtensorModule::PendingEpochAt` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) - /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Tempo` (r:1 w:0) - /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastEpochBlock` (r:1 w:0) - /// Proof: `SubtensorModule::LastEpochBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::OwnerHyperparamRateLimit` (r:1 w:0) - /// Proof: `SubtensorModule::OwnerHyperparamRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) - /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn trigger_epoch() -> Weight { - // Proof Size summary in bytes: - // Measured: `982` - // Estimated: `4447` - // Minimum execution time: 41_466_000 picoseconds. - Weight::from_parts(42_479_000, 4447) - .saturating_add(RocksDbWeight::get().reads(8_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) - } - /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:0) - /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ColdkeySwapDisputes` (r:1 w:0) - /// Proof: `SubtensorModule::ColdkeySwapDisputes` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn check_coldkey_swap_extension() -> Weight { - // Proof Size summary in bytes: - // Measured: `733` - // Estimated: `4198` - // Minimum execution time: 16_952_000 picoseconds. - Weight::from_parts(17_353_000, 4198) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - } - /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TaoWeight` (r:1 w:0) - /// Proof: `SubtensorModule::TaoWeight` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:0) - /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) - /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) - /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) - /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::WeightCommits` (r:1 w:0) - /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::SubnetEpochIndex` (r:1 w:0) - /// Proof: `SubtensorModule::SubnetEpochIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Tempo` (r:1 w:0) - /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:1 w:0) - /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn check_weights_extension() -> Weight { - // Proof Size summary in bytes: - // Measured: `1731` - // Estimated: `7671` - // Minimum execution time: 52_477_000 picoseconds. - Weight::from_parts(53_489_000, 7671) - .saturating_add(RocksDbWeight::get().reads(11_u64)) - } - /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) - /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Uids` (r:1 w:0) - /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) - /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) - /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Keys` (r:1 w:0) - /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::LastUpdate` (r:1 w:0) - /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::WeightsSetRateLimit` (r:1 w:0) - /// Proof: `SubtensorModule::WeightsSetRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn check_rate_limits_extension() -> Weight { - // Proof Size summary in bytes: - // Measured: `1019` - // Estimated: `4484` - // Minimum execution time: 34_825_000 picoseconds. - Weight::from_parts(35_857_000, 4484) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - } - /// Storage: `SubtensorModule::MinDelegateTake` (r:1 w:0) - /// Proof: `SubtensorModule::MinDelegateTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::MaxDelegateTake` (r:1 w:0) - /// Proof: `SubtensorModule::MaxDelegateTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Owner` (r:1 w:0) - /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn check_delegate_take_extension() -> Weight { - // Proof Size summary in bytes: - // Measured: `721` - // Estimated: `4186` - // Minimum execution time: 15_038_000 picoseconds. - Weight::from_parts(15_419_000, 4186) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - } - /// Storage: `SubtensorModule::Uids` (r:1 w:0) - /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::Axons` (r:1 w:0) - /// Proof: `SubtensorModule::Axons` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::ServingRateLimit` (r:1 w:0) - /// Proof: `SubtensorModule::ServingRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn check_serving_endpoints_extension() -> Weight { - // Proof Size summary in bytes: - // Measured: `647` - // Estimated: `4112` - // Minimum execution time: 18_795_000 picoseconds. - Weight::from_parts(19_206_000, 4112) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - } - /// Storage: `SubtensorModule::Uids` (r:1 w:0) - /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `SubtensorModule::AssociatedEvmAddress` (r:1 w:0) - /// Proof: `SubtensorModule::AssociatedEvmAddress` (`max_values`: None, `max_size`: None, mode: `Measured`) - fn check_evm_key_association_extension() -> Weight { - // Proof Size summary in bytes: - // Measured: `652` - // Estimated: `4117` - // Minimum execution time: 15_018_000 picoseconds. - Weight::from_parts(15_529_000, 4117) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - } } diff --git a/pallets/swap/src/benchmarking.rs b/pallets/swap/src/benchmarking.rs index eed3c5a25b..1751ee1a97 100644 --- a/pallets/swap/src/benchmarking.rs +++ b/pallets/swap/src/benchmarking.rs @@ -1,6 +1,7 @@ //! Benchmarking setup for pallet-subtensor-swap #![allow(clippy::unwrap_used)] #![allow(clippy::multiple_bound_locations)] +#![allow(deprecated)] use frame_benchmarking::v2::*; use frame_system::RawOrigin; @@ -21,5 +22,98 @@ mod benchmarks { _(RawOrigin::Root, netuid, rate); } + #[benchmark] + fn toggle_user_liquidity() { + // Deprecated dispatchable: the worst and only path returns immediately. + #[block] + { + assert!( + Pallet::::toggle_user_liquidity( + RawOrigin::Root.into(), + NetUid::from(u16::MAX), + true, + ) + .is_err() + ); + } + } + + #[benchmark] + fn add_liquidity() { + // Deprecated dispatchable: arguments are ignored by the call, but use + // maximal scalar witnesses to avoid benchmarking a trivial call shape. + let caller: T::AccountId = whitelisted_caller(); + let hotkey: T::AccountId = account("swap_hotkey", 0, u32::MAX); + + #[block] + { + assert!( + Pallet::::add_liquidity( + RawOrigin::Signed(caller).into(), + hotkey, + NetUid::from(u16::MAX), + crate::TickIndex::default(), + crate::TickIndex::default(), + u64::MAX, + ) + .is_err() + ); + } + } + + #[benchmark] + fn remove_liquidity() { + // Deprecated dispatchable: arguments are ignored by the call, but use + // maximal scalar witnesses to avoid benchmarking a trivial call shape. + let caller: T::AccountId = whitelisted_caller(); + let hotkey: T::AccountId = account("swap_hotkey", 0, u32::MAX); + + #[block] + { + assert!( + Pallet::::remove_liquidity( + RawOrigin::Signed(caller).into(), + hotkey, + NetUid::from(u16::MAX), + crate::PositionId::default(), + ) + .is_err() + ); + } + } + + #[allow(deprecated)] + #[benchmark] + fn modify_position() { + // Deprecated dispatchable: arguments are ignored by the call, but use + // maximal scalar witnesses to avoid benchmarking a trivial call shape. + let caller: T::AccountId = whitelisted_caller(); + let hotkey: T::AccountId = account("swap_hotkey", 0, u32::MAX); + + #[block] + { + assert!( + Pallet::::modify_position( + RawOrigin::Signed(caller).into(), + hotkey, + NetUid::from(u16::MAX), + crate::PositionId::default(), + i64::MAX, + ) + .is_err() + ); + } + } + + #[allow(deprecated)] + #[benchmark] + fn disable_lp() { + // Deprecated dispatchable: the worst and only path returns immediately. + #[block] + { + assert!(Pallet::::disable_lp(RawOrigin::Root.into()).is_err()); + } + } + impl_benchmark_test_suite!(Pallet, crate::mock::new_test_ext(), crate::mock::Test); } diff --git a/pallets/swap/src/pallet/mod.rs b/pallets/swap/src/pallet/mod.rs index 1d2fd07c59..1a9b8646bd 100644 --- a/pallets/swap/src/pallet/mod.rs +++ b/pallets/swap/src/pallet/mod.rs @@ -199,7 +199,7 @@ mod pallet { /// DEPRECATED #[pallet::call_index(4)] - #[pallet::weight(Weight::from_parts(15_000_000, 0))] + #[pallet::weight(::WeightInfo::toggle_user_liquidity())] pub fn toggle_user_liquidity( _origin: OriginFor, _netuid: NetUid, @@ -210,7 +210,7 @@ mod pallet { /// DEPRECATED #[pallet::call_index(1)] - #[pallet::weight(Weight::from_parts(15_000_000, 0))] + #[pallet::weight(::WeightInfo::add_liquidity())] pub fn add_liquidity( _origin: OriginFor, _hotkey: T::AccountId, @@ -224,7 +224,7 @@ mod pallet { /// DEPRECATED #[pallet::call_index(2)] - #[pallet::weight(Weight::from_parts(15_000_000, 0))] + #[pallet::weight(::WeightInfo::remove_liquidity())] pub fn remove_liquidity( _origin: OriginFor, _hotkey: T::AccountId, @@ -236,7 +236,7 @@ mod pallet { /// DEPRECATED #[pallet::call_index(3)] - #[pallet::weight(Weight::from_parts(15_000_000, 0))] + #[pallet::weight(::WeightInfo::modify_position())] #[deprecated(note = "Deprecated, user liquidity is permanently disabled")] pub fn modify_position( _origin: OriginFor, @@ -250,7 +250,7 @@ mod pallet { /// DEPRECATED #[pallet::call_index(5)] - #[pallet::weight(Weight::from_parts(15_000_000, 0))] + #[pallet::weight(::WeightInfo::disable_lp())] #[deprecated(note = "Deprecated, user liquidity is permanently disabled")] pub fn disable_lp(_origin: OriginFor) -> DispatchResult { Err(Error::::Deprecated.into()) diff --git a/pallets/swap/src/weights.rs b/pallets/swap/src/weights.rs index 508626f6ae..efc74f3a25 100644 --- a/pallets/swap/src/weights.rs +++ b/pallets/swap/src/weights.rs @@ -37,6 +37,11 @@ use core::marker::PhantomData; /// Weight functions needed for `pallet_subtensor_swap`. pub trait WeightInfo { fn set_fee_rate() -> Weight; + fn toggle_user_liquidity() -> Weight; + fn add_liquidity() -> Weight; + fn remove_liquidity() -> Weight; + fn modify_position() -> Weight; + fn disable_lp() -> Weight; } /// Weights for `pallet_subtensor_swap` using the Substrate node and recommended hardware. @@ -55,6 +60,41 @@ impl WeightInfo for SubstrateWeight { .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } + fn toggle_user_liquidity() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_782_000 picoseconds. + Weight::from_parts(1_913_000, 0) + } + fn add_liquidity() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_763_000 picoseconds. + Weight::from_parts(1_892_000, 0) + } + fn remove_liquidity() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_803_000 picoseconds. + Weight::from_parts(1_943_000, 0) + } + fn modify_position() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_662_000 picoseconds. + Weight::from_parts(1_863_000, 0) + } + fn disable_lp() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_652_000 picoseconds. + Weight::from_parts(1_923_000, 0) + } } // For backwards compatibility and tests. @@ -72,4 +112,39 @@ impl WeightInfo for () { .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } + fn toggle_user_liquidity() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_782_000 picoseconds. + Weight::from_parts(1_913_000, 0) + } + fn add_liquidity() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_763_000 picoseconds. + Weight::from_parts(1_892_000, 0) + } + fn remove_liquidity() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_803_000 picoseconds. + Weight::from_parts(1_943_000, 0) + } + fn modify_position() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_662_000 picoseconds. + Weight::from_parts(1_863_000, 0) + } + fn disable_lp() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_652_000 picoseconds. + Weight::from_parts(1_923_000, 0) + } } diff --git a/pallets/utility/src/benchmarking.rs b/pallets/utility/src/benchmarking.rs index c8e3202986..9382ef787e 100644 --- a/pallets/utility/src/benchmarking.rs +++ b/pallets/utility/src/benchmarking.rs @@ -33,7 +33,21 @@ fn assert_last_event( frame_system::Pallet::::assert_last_event(generic_event.into()); } -#[benchmarks] +fn stable_batch_calls(count: u32) -> alloc::vec::Vec<::RuntimeCall> +where + T: crate::pallet::Config, + ::RuntimeCall: From>, +{ + let call = ::RuntimeCall::from( + crate::pallet::Call::::benchmark_noop {}, + ); + vec![call; count as usize] +} + +#[benchmarks( + where + ::RuntimeCall: From>, +)] mod benchmark { use super::*; @@ -59,12 +73,13 @@ mod benchmark { #[extrinsic_call] _(RawOrigin::Signed(caller), SEED as u16, call); } - #[benchmark] - fn batch_all(c: Linear<0, 1000>) { - let calls = vec![frame_system::Call::remark { remark: vec![] }.into(); c as usize]; + fn batch_all(c: Linear<1, 1000>) { + let calls = stable_batch_calls::(c); let caller = whitelisted_caller(); + frame_system::Pallet::::reset_events(); + #[extrinsic_call] _(RawOrigin::Signed(caller), calls); @@ -82,12 +97,13 @@ mod benchmark { #[extrinsic_call] _(RawOrigin::Root, Box::new(pallets_origin), call); } - #[benchmark] - fn force_batch(c: Linear<0, 1000>) { - let calls = vec![frame_system::Call::remark { remark: vec![] }.into(); c as usize]; + fn force_batch(c: Linear<1, 1000>) { + let calls = stable_batch_calls::(c); let caller = whitelisted_caller(); + frame_system::Pallet::::reset_events(); + #[extrinsic_call] _(RawOrigin::Signed(caller), calls); @@ -117,6 +133,23 @@ mod benchmark { _(RawOrigin::Signed(caller), main_call, fallback_call); } + #[benchmark] + fn with_weight() { + // `with_weight` trusts the supplied weight witness and dispatches the + // inner call as root. Use the largest supplied witness and a real inner + // dispatch so this benchmark measures the root bypass dispatch path. + let call = Box::new( + frame_system::Call::remark { + remark: vec![0u8; 1024], + } + .into(), + ); + let weight = frame_support::weights::Weight::from_parts(u64::MAX, u64::MAX); + + #[extrinsic_call] + _(RawOrigin::Root, call, weight); + } + impl_benchmark_test_suite! { Pallet, tests::new_test_ext(), diff --git a/pallets/utility/src/lib.rs b/pallets/utility/src/lib.rs index 5143d92917..a3d5624cd3 100644 --- a/pallets/utility/src/lib.rs +++ b/pallets/utility/src/lib.rs @@ -462,6 +462,7 @@ pub mod pallet { /// Root origin to specify the weight of the call. /// /// The dispatch origin for this call must be _Root_. + #[allow(unknown_lints, benchmarked_weight_not_plugged)] #[pallet::call_index(5)] #[pallet::weight((*weight, DispatchClass::Normal))] pub fn with_weight( @@ -598,6 +599,14 @@ pub mod pallet { Ok(()) } + + #[cfg(feature = "runtime-benchmarks")] + #[pallet::call_index(255)] + #[pallet::weight(frame_support::weights::Weight::zero())] + pub fn benchmark_noop(origin: OriginFor) -> DispatchResult { + ensure_signed(origin)?; + Ok(()) + } } impl Pallet { diff --git a/pallets/utility/src/weights.rs b/pallets/utility/src/weights.rs index a2a7e22703..6bc8dbf46c 100644 --- a/pallets/utility/src/weights.rs +++ b/pallets/utility/src/weights.rs @@ -43,6 +43,7 @@ pub trait WeightInfo { fn force_batch(c: u32, ) -> Weight; fn dispatch_as_fallible() -> Weight; fn if_else() -> Weight; + fn with_weight() -> Weight; } /// Weights for `pallet_subtensor_utility` using the Substrate node and recommended hardware. @@ -57,10 +58,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `518` // Estimated: `3983` - // Minimum execution time: 3_765_000 picoseconds. - Weight::from_parts(11_793_039, 3983) - // Standard Error: 1_715 - .saturating_add(Weight::from_parts(5_229_430, 0).saturating_mul(c.into())) + // Minimum execution time: 4_699_000 picoseconds. + Weight::from_parts(18_032_209, 3983) + // Standard Error: 3_031 + .saturating_add(Weight::from_parts(5_341_990, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) } /// Storage: `SafeMode::EnteredUntil` (r:1 w:0) @@ -84,10 +85,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `518` // Estimated: `3983` - // Minimum execution time: 3_755_000 picoseconds. - Weight::from_parts(3_744_581, 3983) - // Standard Error: 3_339 - .saturating_add(Weight::from_parts(5_492_086, 0).saturating_mul(c.into())) + // Minimum execution time: 5_239_000 picoseconds. + Weight::from_parts(19_625_062, 3983) + // Standard Error: 3_093 + .saturating_add(Weight::from_parts(6_185_139, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) } fn dispatch_as() -> Weight { @@ -131,6 +132,13 @@ impl WeightInfo for SubstrateWeight { Weight::from_parts(19_048_000, 3983) .saturating_add(T::DbWeight::get().reads(2_u64)) } + fn with_weight() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_595_000 picoseconds. + Weight::from_parts(3_766_000, 0) + } } // For backwards compatibility and tests. @@ -144,10 +152,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `518` // Estimated: `3983` - // Minimum execution time: 3_765_000 picoseconds. - Weight::from_parts(11_793_039, 3983) - // Standard Error: 1_715 - .saturating_add(Weight::from_parts(5_229_430, 0).saturating_mul(c.into())) + // Minimum execution time: 4_699_000 picoseconds. + Weight::from_parts(18_032_209, 3983) + // Standard Error: 3_031 + .saturating_add(Weight::from_parts(5_341_990, 0).saturating_mul(c.into())) .saturating_add(RocksDbWeight::get().reads(2_u64)) } /// Storage: `SafeMode::EnteredUntil` (r:1 w:0) @@ -171,10 +179,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `518` // Estimated: `3983` - // Minimum execution time: 3_755_000 picoseconds. - Weight::from_parts(3_744_581, 3983) - // Standard Error: 3_339 - .saturating_add(Weight::from_parts(5_492_086, 0).saturating_mul(c.into())) + // Minimum execution time: 5_239_000 picoseconds. + Weight::from_parts(19_625_062, 3983) + // Standard Error: 3_093 + .saturating_add(Weight::from_parts(6_185_139, 0).saturating_mul(c.into())) .saturating_add(RocksDbWeight::get().reads(2_u64)) } fn dispatch_as() -> Weight { @@ -218,4 +226,11 @@ impl WeightInfo for () { Weight::from_parts(19_048_000, 3983) .saturating_add(RocksDbWeight::get().reads(2_u64)) } + fn with_weight() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_595_000 picoseconds. + Weight::from_parts(3_766_000, 0) + } } diff --git a/scripts/benchmark_action.sh b/scripts/benchmark_action.sh index 2497956a84..34cb1320f0 100755 --- a/scripts/benchmark_action.sh +++ b/scripts/benchmark_action.sh @@ -19,6 +19,380 @@ REPEAT="${REPEAT:-20}" die() { echo "ERROR: $1" >&2; exit 1; } +selective_patch_weights_file() { + local committed="$1" + local generated="$2" + shift 2 + + python3 - "$committed" "$generated" "$@" <<'PY_SELECTIVE_PATCH_WEIGHTS' +import dataclasses +import re +import sys +from typing import Dict, List, Optional, Tuple + + +@dataclasses.dataclass +class RustItem: + name: str + start: int + end: int + text: str + + +@dataclasses.dataclass +class RustSection: + name: str + start: int + body_start: int + body_end: int + end: int + items: List[RustItem] + + +def find_matching_brace(text: str, open_index: int) -> int: + depth = 0 + i = open_index + n = len(text) + state = "normal" + raw_hashes = 0 + + while i < n: + ch = text[i] + nxt = text[i + 1] if i + 1 < n else "" + + if state == "line_comment": + if ch == "\n": + state = "normal" + i += 1 + continue + + if state == "block_comment": + if ch == "*" and nxt == "/": + state = "normal" + i += 2 + else: + i += 1 + continue + + if state == "string": + if ch == "\\": + i += 2 + elif ch == '"': + state = "normal" + i += 1 + else: + i += 1 + continue + + if state == "char": + if ch == "\\": + i += 2 + elif ch == "'": + state = "normal" + i += 1 + else: + i += 1 + continue + + if state == "raw_string": + if ch == '"' and text.startswith("#" * raw_hashes, i + 1): + i += 1 + raw_hashes + state = "normal" + else: + i += 1 + continue + + # normal state + if ch == "/" and nxt == "/": + state = "line_comment" + i += 2 + continue + if ch == "/" and nxt == "*": + state = "block_comment" + i += 2 + continue + if ch == '"': + state = "string" + i += 1 + continue + if ch == "'": + state = "char" + i += 1 + continue + if ch == "r": + m = re.match(r'r(#+)"|r"', text[i:]) + if m: + raw_hashes = len(m.group(1) or "") + state = "raw_string" + i += 2 + raw_hashes + continue + if ch == "{": + depth += 1 + elif ch == "}": + depth -= 1 + if depth == 0: + return i + i += 1 + + raise ValueError(f"unmatched '{{' at byte offset {open_index}") + + +def find_signature_terminator(text: str, start: int) -> Tuple[str, int]: + paren_depth = 0 + square_depth = 0 + i = start + n = len(text) + state = "normal" + + while i < n: + ch = text[i] + nxt = text[i + 1] if i + 1 < n else "" + + if state == "line_comment": + if ch == "\n": + state = "normal" + i += 1 + continue + if state == "block_comment": + if ch == "*" and nxt == "/": + state = "normal" + i += 2 + else: + i += 1 + continue + if state == "string": + if ch == "\\": + i += 2 + elif ch == '"': + state = "normal" + i += 1 + else: + i += 1 + continue + if state == "char": + if ch == "\\": + i += 2 + elif ch == "'": + state = "normal" + i += 1 + else: + i += 1 + continue + + if ch == "/" and nxt == "/": + state = "line_comment" + i += 2 + continue + if ch == "/" and nxt == "*": + state = "block_comment" + i += 2 + continue + if ch == '"': + state = "string" + i += 1 + continue + if ch == "'": + state = "char" + i += 1 + continue + + if ch == "(": + paren_depth += 1 + elif ch == ")": + paren_depth -= 1 + elif ch == "[": + square_depth += 1 + elif ch == "]": + square_depth -= 1 + elif paren_depth == 0 and square_depth == 0 and ch in "{;": + return ch, i + i += 1 + + raise ValueError(f"could not find function terminator after byte offset {start}") + + +def include_leading_docs(text: str, lower_bound: int, fn_start: int) -> int: + item_start = text.rfind("\n", 0, fn_start) + 1 + while item_start > lower_bound: + prev_newline = text.rfind("\n", lower_bound, item_start - 1) + prev_start = lower_bound if prev_newline == -1 else prev_newline + 1 + line = text[prev_start:item_start] + stripped = line.strip() + if stripped == "" or stripped.startswith("///") or stripped.startswith("#["): + item_start = prev_start + continue + break + return item_start + + +def include_trailing_newline(text: str, item_end: int, upper_bound: int) -> int: + if item_end < upper_bound and text[item_end:item_end + 1] == "\n": + return item_end + 1 + return item_end + + +def parse_items(text: str, body_start: int, body_end: int) -> List[RustItem]: + items: List[RustItem] = [] + pattern = re.compile(r'(?m)^[ \t]*(?:pub(?:\([^)]*\))?\s+)?fn\s+([A-Za-z_][A-Za-z0-9_]*)\s*\(') + + for match in pattern.finditer(text, body_start, body_end): + name = match.group(1) + item_start = include_leading_docs(text, body_start, match.start()) + terminator, terminator_at = find_signature_terminator(text, match.start()) + if terminator == ";": + item_end = terminator_at + 1 + else: + item_end = find_matching_brace(text, terminator_at) + 1 + item_end = include_trailing_newline(text, item_end, body_end) + items.append(RustItem(name=name, start=item_start, end=item_end, text=text[item_start:item_end])) + + return items + + +def find_section(text: str, name: str, pattern: str, required: bool = True) -> Optional[RustSection]: + match = re.search(pattern, text, re.S) + if not match: + if required: + raise ValueError(f"could not find {name} section") + return None + open_index = text.find("{", match.start(), match.end()) + if open_index == -1: + raise ValueError(f"could not find opening brace for {name} section") + close_index = find_matching_brace(text, open_index) + body_start = open_index + 1 + body_end = close_index + return RustSection( + name=name, + start=match.start(), + body_start=body_start, + body_end=body_end, + end=close_index + 1, + items=parse_items(text, body_start, body_end), + ) + + +def patch_section(current_text: str, generated_text: str, spec: Tuple[str, str, bool], targets: List[str]) -> Tuple[str, int]: + section_name, pattern, required = spec + old_section = find_section(current_text, section_name, pattern, required=required) + new_section = find_section(generated_text, section_name, pattern, required=required) + if old_section is None or new_section is None: + return current_text, 0 + + old_by_name: Dict[str, RustItem] = {item.name: item for item in old_section.items} + new_by_name: Dict[str, RustItem] = {item.name: item for item in new_section.items} + old_live_names = { + item.name + for item in old_section.items + if not (item.name in targets and item.name not in new_by_name) + } + + inserts_before: Dict[str, List[str]] = {} + inserts_after: Dict[str, List[str]] = {} + tail_inserts: List[str] = [] + + new_order = [item.name for item in new_section.items] + for idx, name in enumerate(new_order): + if name not in targets or name in old_by_name: + continue + next_anchor = None + for later in new_order[idx + 1:]: + if later in old_live_names: + next_anchor = later + break + if next_anchor is not None: + inserts_before.setdefault(next_anchor, []).append(name) + continue + prev_anchor = None + for earlier in reversed(new_order[:idx]): + if earlier in old_live_names: + prev_anchor = earlier + break + if prev_anchor is not None: + inserts_after.setdefault(prev_anchor, []).append(name) + else: + tail_inserts.append(name) + + out: List[str] = [] + cursor = old_section.body_start + changed = 0 + + for item in old_section.items: + out.append(current_text[cursor:item.start]) + for inserted in inserts_before.get(item.name, []): + out.append(new_by_name[inserted].text) + changed += 1 + + if item.name in targets: + replacement = new_by_name.get(item.name) + if replacement is not None: + out.append(replacement.text) + if replacement.text != item.text: + changed += 1 + else: + changed += 1 + else: + out.append(item.text) + + for inserted in inserts_after.get(item.name, []): + out.append(new_by_name[inserted].text) + changed += 1 + cursor = item.end + + for inserted in tail_inserts: + out.append(new_by_name[inserted].text) + changed += 1 + out.append(current_text[cursor:old_section.body_end]) + + new_body = "".join(out) + if new_body == current_text[old_section.body_start:old_section.body_end]: + return current_text, 0 + + return ( + current_text[:old_section.body_start] + + new_body + + current_text[old_section.body_end:], + changed, + ) + + +def main() -> int: + if len(sys.argv) < 4: + print("usage: selective patch helper ...", file=sys.stderr) + return 1 + + committed_path = sys.argv[1] + generated_path = sys.argv[2] + targets = list(dict.fromkeys(sys.argv[3:])) + + current = open(committed_path, encoding="utf-8").read() + generated = open(generated_path, encoding="utf-8").read() + + section_specs = [ + ("pub trait WeightInfo", r'pub\s+trait\s+WeightInfo\s*\{', True), + ("SubstrateWeight impl", r'impl\s*<[^\{]*>\s*WeightInfo\s+for\s+SubstrateWeight\s*<[^\{]*>\s*\{', True), + ("unit WeightInfo impl", r'impl\s+WeightInfo\s+for\s+\(\)\s*\{', False), + ] + + total_changes = 0 + for spec in section_specs: + current, changes = patch_section(current, generated, spec, targets) + total_changes += changes + + if total_changes == 0: + missing = ", ".join(targets) + print(f"no matching generated benchmark functions found for: {missing}", file=sys.stderr) + return 1 + + with open(committed_path, "w", encoding="utf-8") as handle: + handle.write(current) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) +PY_SELECTIVE_PATCH_WEIGHTS +} + # ── Auto-discover pallets ──────────────────────────────────────────────────── declare -A OUTPUTS while read -r name path; do @@ -31,7 +405,7 @@ mkdir -p "$PATCH_DIR" # Build if needed [[ -x "$NODE_BIN" ]] || cargo build --profile production -p node-subtensor --features runtime-benchmarks -[[ -x "$WEIGHT_CMP" ]] || cargo build --profile production -p subtensor-weight-tools --bin weight-compare +cargo build --profile production -p subtensor-weight-tools --bin weight-compare [[ -x "$NODE_BIN" ]] || die "node binary not found" [[ -f "$RUNTIME_WASM" ]] || die "runtime WASM not found" [[ -x "$WEIGHT_CMP" ]] || die "weight-compare not found" @@ -68,14 +442,49 @@ for pallet in "${!OUTPUTS[@]}"; do if [[ ! -f "$committed" ]]; then cp "$tmp" "$committed"; PATCHED+=("$output"); SUMMARY+=("$pallet: NEW") else - rc=0; "$WEIGHT_CMP" --old "$committed" --new "$tmp" --threshold "$THRESHOLD" || rc=$? + compare_log=$(mktemp) + if "$WEIGHT_CMP" --old "$committed" --new "$tmp" --threshold "$THRESHOLD" 2>&1 | tee "$compare_log"; then + rc=0 + else + rc=${PIPESTATUS[0]} + fi + if (( rc == 2 )); then - cp "$tmp" "$committed"; PATCHED+=("$output"); SUMMARY+=("$pallet: UPDATED") + drifted_benchmarks=() + while IFS= read -r benchmark_name; do + drifted_benchmarks+=("$benchmark_name") + done < <(python3 - "$compare_log" <<'PY_DRIFTED_BENCHMARKS' +import sys + +seen = set() +with open(sys.argv[1], encoding="utf-8", errors="replace") as handle: + for line in handle: + if "❌" not in line: + continue + parts = line.split() + if len(parts) < 2: + continue + name = parts[1] + if name in seen: + continue + seen.add(name) + print(name) +PY_DRIFTED_BENCHMARKS + ) + + if (( ${#drifted_benchmarks[@]} == 0 )); then + SUMMARY+=("$pallet: COMPARE FAILED"); FAILED=1 + else + selective_patch_weights_file "$committed" "$tmp" "${drifted_benchmarks[@]}" + PATCHED+=("$output") + SUMMARY+=("$pallet: UPDATED ${#drifted_benchmarks[@]} benchmark(s): ${drifted_benchmarks[*]}") + fi elif (( rc == 0 )); then - SUMMARY+=("$pallet: OK") + SUMMARY+=("$pallet: OK") else - SUMMARY+=("$pallet: COMPARE FAILED"); FAILED=1 + SUMMARY+=("$pallet: COMPARE FAILED"); FAILED=1 fi + rm -f "$compare_log" fi rm -f "$tmp" done diff --git a/support/linting/Cargo.toml b/support/linting/Cargo.toml index 1b7528cb17..7fad267f66 100644 --- a/support/linting/Cargo.toml +++ b/support/linting/Cargo.toml @@ -12,7 +12,7 @@ syn = { workspace = true, features = [ "parsing", ] } quote.workspace = true -proc-macro2.workspace = true +proc-macro2 = { workspace = true, features = ["span-locations"] } procedural-fork.workspace = true [lints] diff --git a/support/linting/src/lib.rs b/support/linting/src/lib.rs index 864d4a5572..56d44d7175 100644 --- a/support/linting/src/lib.rs +++ b/support/linting/src/lib.rs @@ -5,10 +5,12 @@ mod forbid_as_primitive; mod forbid_keys_remove; mod forbid_saturating_math; mod pallet_index; +mod require_extrinsic_benchmarks; mod require_freeze_struct; pub use forbid_as_primitive::ForbidAsPrimitiveConversion; pub use forbid_keys_remove::ForbidKeysRemoveCall; pub use forbid_saturating_math::ForbidSaturatingMath; pub use pallet_index::RequireExplicitPalletIndex; +pub use require_extrinsic_benchmarks::RequireExtrinsicBenchmarks; pub use require_freeze_struct::RequireFreezeStruct; diff --git a/support/linting/src/require_extrinsic_benchmarks.rs b/support/linting/src/require_extrinsic_benchmarks.rs new file mode 100644 index 0000000000..9a621453a8 --- /dev/null +++ b/support/linting/src/require_extrinsic_benchmarks.rs @@ -0,0 +1,1366 @@ +#![allow( + clippy::arithmetic_side_effects, + clippy::collapsible_if, + clippy::indexing_slicing, + clippy::question_mark +)] + +use super::*; +use proc_macro2::{Delimiter, TokenStream, TokenTree}; +use std::{ + collections::BTreeSet, + fs, + path::{Path, PathBuf}, + str::FromStr, +}; +use syn::File; + +pub struct RequireExtrinsicBenchmarks; + +impl Lint for RequireExtrinsicBenchmarks { + fn lint(_source: &File) -> Result { + // Dispatchables and benchmarks live in different files, so build.rs runs + // the real check once at workspace scope via `lint_workspace`. + Ok(()) + } +} + +impl RequireExtrinsicBenchmarks { + pub fn lint_workspace(workspace_root: &Path) -> Vec { + let pallets_dir = workspace_root.join("pallets"); + if !pallets_dir.is_dir() { + return Vec::new(); + } + + let mut rust_files = Vec::new(); + collect_runtime_rust_files(&pallets_dir, &mut rust_files); + + let mut errors = Vec::new(); + for file in rust_files { + let Ok(source) = fs::read_to_string(&file) else { + continue; + }; + + let dispatchables = collect_dispatchables_from_source(&source); + if dispatchables.is_empty() { + continue; + } + + let pallet_root = find_pallet_root(&file, workspace_root); + let benchmarks = collect_benchmarks_for_pallet(&pallet_root); + let benchmark_hint = benchmark_location_hint(&pallet_root, workspace_root); + let file_path = display_path(&file, workspace_root); + + for dispatchable in dispatchables { + if dispatchable.name.starts_with('_') { + continue; + } + + if !benchmarks.contains(&dispatchable.name) { + errors.push(format!( + "{}:{}:{}: dispatchable extrinsic `{}` is missing a matching benchmark; add `#[benchmark] fn {}(...)` to {}", + file_path, + dispatchable.line, + dispatchable.column, + dispatchable.name, + dispatchable.name, + benchmark_hint, + )); + continue; + } + + let uses_matching_weight_info = is_benchmarked_weight_plugged( + &dispatchable.name, + dispatchable.weight_attr.as_deref(), + ) + || source_has_matching_weight_info_for_dispatchable( + &source, + &dispatchable.name, + ); + + if !uses_matching_weight_info { + errors.push(format!( + "{}:{}:{}: dispatchable extrinsic `{}` has a matching benchmark but its #[pallet::weight] does not call WeightInfo::{}(...); plug the generated benchmark weight into the dispatch annotation", + file_path, + dispatchable.line, + dispatchable.column, + dispatchable.name, + dispatchable.name, + )); + } + } + } + + errors + } +} + +#[derive(Debug, Clone, Eq, PartialEq)] +struct Dispatchable { + name: String, + line: usize, + column: usize, + weight_attr: Option, +} + +fn source_has_matching_weight_info_for_dispatchable(source: &str, name: &str) -> bool { + // If weight_attr capture failed, fall back to the source text around the + // dispatchable itself. We intentionally keep this as a fallback instead of + // replacing the structured collection path: the lint is a source scanner + // over FRAME macro input, and complex #[pallet::weight({ ... })] blocks can + // confuse the backwards attribute walk even though the dispatch is valid. + for needle in [format!("pub fn {name}"), format!("pub(crate) fn {name}")] { + let mut search_from = 0usize; + + while let Some(offset) = source + .get(search_from..) + .and_then(|tail| tail.find(&needle)) + { + let fn_pos = search_from.saturating_add(offset); + let Some(prefix) = source.get(..fn_pos) else { + break; + }; + let Some(attr_start) = prefix.rfind("#[pallet::weight") else { + search_from = fn_pos.saturating_add(needle.len()); + continue; + }; + let Some(attr) = source.get(attr_start..fn_pos) else { + search_from = fn_pos.saturating_add(needle.len()); + continue; + }; + + // If another dispatchable starts between that attr and this function, + // the attr belongs to the earlier dispatchable, not this one. + if attr.contains("pub fn ") || attr.contains("pub(crate) fn ") { + search_from = fn_pos.saturating_add(needle.len()); + continue; + } + + let normalized = normalize_attr(attr); + if normalized.contains("benchmarked_weight_not_plugged") + || weight_attr_calls_weight_info_for(name, attr) + { + return true; + } + + search_from = fn_pos.saturating_add(needle.len()); + } + } + + false +} + +fn collect_dispatchables_from_source(source: &str) -> Vec { + let masked = mask_comments_and_strings(source); + let non_runtime_ranges = collect_non_runtime_cfg_ranges(&masked); + let mut dispatchables = Vec::new(); + let mut search_from = 0; + + while let Some((attr_start, attr_end)) = find_next_attr(&masked, search_from, "pallet::call") { + search_from = attr_end; + + if is_in_ranges(attr_start, &non_runtime_ranges) + || has_non_runtime_cfg_attr_before(&masked, attr_start, 0) + { + continue; + } + + let Some(impl_pos) = find_word(&masked, "impl", attr_end) else { + continue; + }; + let Some(open_brace) = masked[impl_pos..].find('{').map(|offset| impl_pos + offset) else { + continue; + }; + let Some(close_brace) = find_matching_brace(&masked, open_brace) else { + continue; + }; + + if is_in_ranges(impl_pos, &non_runtime_ranges) { + search_from = close_brace + 1; + continue; + } + + collect_pub_fns_in_impl( + source, + &masked, + open_brace + 1, + close_brace, + &non_runtime_ranges, + &mut dispatchables, + ); + search_from = close_brace + 1; + } + + dispatchables +} + +fn collect_pub_fns_in_impl( + source: &str, + masked: &str, + start: usize, + end: usize, + non_runtime_ranges: &[(usize, usize)], + dispatchables: &mut Vec, +) { + let bytes = masked.as_bytes(); + let mut idx = start; + let mut depth = 0usize; + + while idx < end { + match bytes[idx] { + b'{' => { + depth = depth.saturating_add(1); + idx += 1; + } + b'}' => { + depth = depth.saturating_sub(1); + idx += 1; + } + _ if depth == 0 && starts_with_word(masked, idx, "pub") => { + if is_in_ranges(idx, non_runtime_ranges) + || has_non_runtime_cfg_attr_before(masked, idx, start) + { + idx += 3; + continue; + } + + let mut cursor = skip_ws(masked, idx + 3); + + // Support `pub(crate) fn` even though FRAME dispatchables are normally `pub fn`. + if masked.as_bytes().get(cursor) == Some(&b'(') { + if let Some(close) = find_matching_paren(masked, cursor) { + cursor = skip_ws(masked, close + 1); + } + } + + if starts_with_word(masked, cursor, "fn") { + cursor = skip_ws(masked, cursor + 2); + if let Some((name, _name_end)) = parse_ident(masked, cursor) { + let (line, column) = line_column(source, cursor); + let weight_attr = preceding_weight_attr(source, masked, idx, start); + dispatchables.push(Dispatchable { + name, + line, + column, + weight_attr, + }); + } + } + + idx += 3; + } + _ => idx += 1, + } + } +} + +fn preceding_weight_attr( + source: &str, + masked: &str, + item_start: usize, + scope_start: usize, +) -> Option { + // `item_start` is the beginning of the dispatchable item as found by the + // source scanner, normally the `pub` in `pub fn`. Find the nearest + // #[pallet::weight(...)] before that item, then expand backward over the + // contiguous attribute cluster that belongs to the same dispatchable. + let prefix = masked.get(scope_start..item_start)?; + let attr_start = prefix.rfind("#[pallet::weight")? + scope_start; + + // Do not accidentally reuse a previous dispatchable's weight attr when the + // current item has no weight. If another function begins between the attr + // and this item, this attr is not for the current dispatchable. + let attr_to_item = masked.get(attr_start..item_start)?; + if attr_to_item.contains("pub fn ") || attr_to_item.contains("pub(crate) fn ") { + return None; + } + + let mut cluster_start = attr_start; + let mut cursor = attr_start; + while let Some(trimmed_end) = rtrim_ws(masked, scope_start, cursor) { + if masked.as_bytes().get(trimmed_end) != Some(&b']') { + break; + } + let Some(prev_attr_start) = masked + .get(scope_start..=trimmed_end) + .and_then(|section| section.rfind("#[")) + else { + break; + }; + cluster_start = scope_start + prev_attr_start; + cursor = cluster_start; + } + + source.get(cluster_start..item_start).map(ToOwned::to_owned) +} + +const BENCHMARKED_WEIGHT_NOT_PLUGGED_ALLOW: &str = "benchmarked_weight_not_plugged"; + +fn has_benchmark_weightinfo_plug_ignore_attr(weight_attr_cluster: &str) -> bool { + let attr = normalize_attr(weight_attr_cluster); + attr.contains("allow(") && attr.contains(BENCHMARKED_WEIGHT_NOT_PLUGGED_ALLOW) +} + +fn weight_attr_calls_weight_info_for(name: &str, weight_attr: &str) -> bool { + let normalized = normalize_attr(weight_attr); + if !normalized.contains("WeightInfo") { + return false; + } + + let mut search_from = 0usize; + while let Some(relative_method_start) = normalized + .get(search_from..) + .and_then(|tail| tail.find(name)) + { + let method_start = search_from + relative_method_start; + + // Method name must be reached through `::name`, not as part of another + // identifier. This rejects `WeightInfo::swap_coldkey_announced()` for a + // dispatchable named `swap_coldkey`. + if method_start < 2 || normalized.get(method_start - 2..method_start) != Some("::") { + search_from = method_start.saturating_add(name.len()); + continue; + } + + let after_name = method_start.saturating_add(name.len()); + if !is_call_boundary_after_method(&normalized, after_name) { + search_from = after_name; + continue; + } + + let before_method = &normalized[..method_start - 2]; + let Some(weight_info_start) = before_method.rfind("WeightInfo") else { + search_from = after_name; + continue; + }; + let after_weight_info = weight_info_start.saturating_add("WeightInfo".len()); + let between = &before_method[after_weight_info..]; + + // Accept: + // T::WeightInfo::foo(...) + // ::WeightInfo::foo(...) + // ::WeightInfo::foo(...) + // WeightInfo::::foo(...) + if between.is_empty() || turbofish_suffix_consumes_all(between) { + return true; + } + + search_from = after_name; + } + + false +} + +fn is_call_boundary_after_method(source: &str, after_name: usize) -> bool { + match source.get(after_name..) { + Some(rest) if rest.starts_with('(') => true, + Some(rest) if rest.starts_with("::<") => skip_turbofish_generics(source, after_name) + .and_then(|call_start| source.get(call_start..)) + .is_some_and(|rest| rest.starts_with('(')), + _ => false, + } +} + +fn turbofish_suffix_consumes_all(suffix: &str) -> bool { + suffix.starts_with("::<") + && skip_turbofish_generics(suffix, 0).is_some_and(|end| end == suffix.len()) +} + +fn skip_turbofish_generics(source: &str, start: usize) -> Option { + if !source.get(start..)?.starts_with("::<") { + return None; + } + + let bytes = source.as_bytes(); + let mut idx = start.checked_add(3)?; + let mut angle_depth = 1usize; + + while let Some(byte) = bytes.get(idx).copied() { + match byte { + b'<' => angle_depth = angle_depth.saturating_add(1), + b'>' => { + angle_depth = angle_depth.saturating_sub(1); + if angle_depth == 0 { + return idx.checked_add(1); + } + } + _ => {} + } + idx = idx.checked_add(1)?; + } + + None +} + +fn is_benchmarked_weight_plugged(name: &str, weight_attr: Option<&str>) -> bool { + let Some(weight_attr) = weight_attr else { + return false; + }; + + // This is our custom-lint allow marker. It intentionally uses an unknown + // lint name plus `unknown_lints` so rustc accepts the attribute while this + // source scanner can still recognize it. + if normalize_attr(weight_attr).contains("benchmarked_weight_not_plugged") { + return true; + } + + has_benchmark_weightinfo_plug_ignore_attr(weight_attr) + || weight_attr_calls_weight_info_for(name, weight_attr) +} + +fn normalize_attr(attr: &str) -> String { + attr.chars().filter(|ch| !ch.is_whitespace()).collect() +} + +fn collect_benchmarks_for_pallet(pallet_root: &Path) -> BTreeSet { + let mut rust_files = Vec::new(); + collect_rust_files(&pallet_root.join("src"), &mut rust_files); + + let mut benchmarks = BTreeSet::new(); + for file in rust_files { + if !is_benchmark_file(&file) { + continue; + } + + let Ok(source) = fs::read_to_string(&file) else { + continue; + }; + collect_frame_v2_benchmarks(&source, &mut benchmarks); + collect_legacy_benchmarks(&source, &mut benchmarks); + } + + benchmarks +} + +fn collect_frame_v2_benchmarks(source: &str, benchmarks: &mut BTreeSet) { + let masked = mask_comments_and_strings(source); + let mut search_from = 0; + + while let Some((_attr_start, attr_end)) = find_next_attr(&masked, search_from, "benchmark") { + search_from = attr_end; + let Some(fn_pos) = find_word(&masked, "fn", attr_end) else { + continue; + }; + let name_start = skip_ws(&masked, fn_pos + 2); + if let Some((name, _name_end)) = parse_ident(&masked, name_start) { + benchmarks.insert(name); + } + } +} + +fn collect_legacy_benchmarks(source: &str, benchmarks: &mut BTreeSet) { + let Ok(tokens) = TokenStream::from_str(source) else { + return; + }; + collect_legacy_benchmarks_from_tokens(&tokens, benchmarks); +} + +fn collect_legacy_benchmarks_from_tokens(tokens: &TokenStream, benchmarks: &mut BTreeSet) { + let tokens: Vec<_> = tokens.clone().into_iter().collect(); + let mut idx = 0; + + while idx < tokens.len() { + match &tokens[idx] { + TokenTree::Ident(ident) if ident == "benchmarks" => { + if matches!(tokens.get(idx + 1), Some(TokenTree::Punct(punct)) if punct.as_char() == '!') + { + if let Some(TokenTree::Group(group)) = tokens.get(idx + 2) { + if group.delimiter() == Delimiter::Brace { + collect_legacy_benchmark_names(&group.stream(), benchmarks); + idx += 3; + continue; + } + } + } + } + TokenTree::Group(group) => { + collect_legacy_benchmarks_from_tokens(&group.stream(), benchmarks); + } + _ => {} + } + + idx += 1; + } +} + +fn collect_legacy_benchmark_names(tokens: &TokenStream, benchmarks: &mut BTreeSet) { + let tokens: Vec<_> = tokens.clone().into_iter().collect(); + let mut idx = 0; + + while idx < tokens.len() { + let TokenTree::Ident(ident) = &tokens[idx] else { + idx += 1; + continue; + }; + + let name = ident.to_string(); + if matches!( + name.as_str(), + "where_clause" | "verify" | "impl_benchmark_test_suite" + ) { + idx += 1; + continue; + } + + let mut lookahead = idx + 1; + if matches!( + tokens.get(lookahead), + Some(TokenTree::Group(group)) if group.delimiter() == Delimiter::Parenthesis + ) { + lookahead += 1; + } + + if matches!( + tokens.get(lookahead), + Some(TokenTree::Group(group)) if group.delimiter() == Delimiter::Brace + ) { + benchmarks.insert(name); + } + + idx += 1; + } +} + +fn find_next_attr(masked: &str, from: usize, attr_path: &str) -> Option<(usize, usize)> { + let mut search_from = from; + while let Some(offset) = masked[search_from..].find("#[") { + let start = search_from + offset; + let Some(close) = masked[start..].find(']').map(|offset| start + offset) else { + return None; + }; + let normalized: String = masked[start..=close] + .chars() + .filter(|ch| !ch.is_whitespace()) + .collect(); + let expected = format!("#[{attr_path}"); + + if normalized.starts_with(&expected) + && matches!( + normalized.as_bytes().get(expected.len()), + Some(b']') | Some(b'(') + ) + { + return Some((start, close + 1)); + } + + search_from = close + 1; + } + + None +} + +fn collect_non_runtime_cfg_ranges(masked: &str) -> Vec<(usize, usize)> { + let mut ranges = Vec::new(); + let mut search_from = 0; + + while let Some((attr_start, attr_end)) = find_next_attr(masked, search_from, "cfg") { + search_from = attr_end; + + if !is_non_runtime_cfg_attr(&masked[attr_start..attr_end]) { + continue; + } + + let item_start = skip_outer_attrs(masked, skip_ws(masked, attr_end)); + let Some(open_brace) = find_item_open_brace(masked, item_start) else { + ranges.push((attr_start, end_of_line(masked, attr_end))); + continue; + }; + let Some(close_brace) = find_matching_brace(masked, open_brace) else { + ranges.push((attr_start, end_of_line(masked, attr_end))); + continue; + }; + + ranges.push((attr_start, close_brace + 1)); + search_from = close_brace + 1; + } + + ranges +} + +fn has_non_runtime_cfg_attr_before(masked: &str, item_start: usize, scope_start: usize) -> bool { + let mut cursor = item_start; + + loop { + let Some(trimmed_end) = rtrim_ws(masked, scope_start, cursor) else { + return false; + }; + if masked.as_bytes().get(trimmed_end) != Some(&b']') { + return false; + } + + let Some(attr_start) = masked[scope_start..=trimmed_end].rfind("#[") else { + return false; + }; + let attr_start = scope_start + attr_start; + let attr = &masked[attr_start..=trimmed_end]; + if is_non_runtime_cfg_attr(attr) { + return true; + } + + cursor = attr_start; + } +} + +fn is_non_runtime_cfg_attr(attr: &str) -> bool { + let normalized: String = attr.chars().filter(|ch| !ch.is_whitespace()).collect(); + let Some(cfg) = normalized + .strip_prefix("#[cfg(") + .and_then(|value| value.strip_suffix(")]")) + else { + return false; + }; + + cfg == "test" + || cfg.contains("feature=") + || cfg.starts_with("all(test,") + || cfg.starts_with("any(test,") + || cfg.contains(",test,") + || cfg.contains(",test)") +} + +fn skip_outer_attrs(masked: &str, mut idx: usize) -> usize { + loop { + idx = skip_ws(masked, idx); + if !masked[idx..].starts_with("#[") { + return idx; + } + let Some(close) = masked[idx..].find(']').map(|offset| idx + offset) else { + return idx; + }; + idx = close + 1; + } +} + +fn find_item_open_brace(masked: &str, item_start: usize) -> Option { + let bytes = masked.as_bytes(); + let mut idx = item_start; + let mut paren_depth = 0usize; + let mut bracket_depth = 0usize; + let mut angle_depth = 0usize; + + while idx < bytes.len() { + match bytes[idx] { + b'(' => paren_depth += 1, + b')' => paren_depth = paren_depth.saturating_sub(1), + b'[' => bracket_depth += 1, + b']' => bracket_depth = bracket_depth.saturating_sub(1), + b'<' => angle_depth += 1, + b'>' => angle_depth = angle_depth.saturating_sub(1), + b';' if paren_depth == 0 && bracket_depth == 0 && angle_depth == 0 => return None, + b'{' if paren_depth == 0 && bracket_depth == 0 && angle_depth == 0 => return Some(idx), + _ => {} + } + idx += 1; + } + + None +} + +fn is_in_ranges(idx: usize, ranges: &[(usize, usize)]) -> bool { + ranges + .iter() + .any(|(start, end)| idx >= *start && idx < *end) +} + +fn mask_comments_and_strings(source: &str) -> String { + let bytes = source.as_bytes(); + let mut out = String::with_capacity(source.len()); + let mut idx = 0; + + while idx < bytes.len() { + match (bytes[idx], bytes.get(idx + 1).copied()) { + (b'/', Some(b'/')) => { + out.push(' '); + out.push(' '); + idx += 2; + while idx < bytes.len() && bytes[idx] != b'\n' { + out.push(' '); + idx += 1; + } + } + (b'/', Some(b'*')) => { + out.push(' '); + out.push(' '); + idx += 2; + let mut depth = 1usize; + while idx < bytes.len() && depth > 0 { + if bytes[idx] == b'\n' { + out.push('\n'); + idx += 1; + } else if bytes[idx] == b'/' && bytes.get(idx + 1) == Some(&b'*') { + out.push(' '); + out.push(' '); + idx += 2; + depth += 1; + } else if bytes[idx] == b'*' && bytes.get(idx + 1) == Some(&b'/') { + out.push(' '); + out.push(' '); + idx += 2; + depth -= 1; + } else { + out.push(' '); + idx += 1; + } + } + } + (b'"', _) => { + out.push(' '); + idx += 1; + let mut escaped = false; + while idx < bytes.len() { + let byte = bytes[idx]; + if byte == b'\n' { + out.push('\n'); + idx += 1; + break; + } + out.push(' '); + idx += 1; + if escaped { + escaped = false; + } else if byte == b'\\' { + escaped = true; + } else if byte == b'"' { + break; + } + } + } + (b'\'', _) if !bytes.get(idx + 1).is_some_and(|byte| is_ident_start(*byte)) => { + out.push(' '); + idx += 1; + let mut escaped = false; + while idx < bytes.len() { + let byte = bytes[idx]; + if byte == b'\n' { + out.push('\n'); + idx += 1; + break; + } + out.push(' '); + idx += 1; + if escaped { + escaped = false; + } else if byte == b'\\' { + escaped = true; + } else if byte == b'\'' { + break; + } + } + } + (byte, _) => { + out.push(byte as char); + idx += 1; + } + } + } + + out +} + +fn find_matching_brace(masked: &str, open_brace: usize) -> Option { + find_matching_delimiter(masked, open_brace, b'{', b'}') +} + +fn find_matching_paren(masked: &str, open_paren: usize) -> Option { + find_matching_delimiter(masked, open_paren, b'(', b')') +} + +fn find_matching_delimiter( + masked: &str, + open: usize, + open_byte: u8, + close_byte: u8, +) -> Option { + let bytes = masked.as_bytes(); + if bytes.get(open) != Some(&open_byte) { + return None; + } + + let mut depth = 0usize; + for (idx, byte) in bytes.iter().enumerate().skip(open) { + if *byte == open_byte { + depth += 1; + } else if *byte == close_byte { + depth = depth.saturating_sub(1); + if depth == 0 { + return Some(idx); + } + } + } + + None +} + +fn find_word(masked: &str, word: &str, from: usize) -> Option { + let mut search_from = from; + while let Some(offset) = masked[search_from..].find(word) { + let idx = search_from + offset; + if starts_with_word(masked, idx, word) { + return Some(idx); + } + search_from = idx + word.len(); + } + + None +} + +fn starts_with_word(masked: &str, idx: usize, word: &str) -> bool { + let bytes = masked.as_bytes(); + let word_bytes = word.as_bytes(); + + if bytes.get(idx..idx + word_bytes.len()) != Some(word_bytes) { + return false; + } + + let before_ok = idx == 0 || !is_ident_continue(bytes[idx - 1]); + let after_idx = idx + word_bytes.len(); + let after_ok = after_idx >= bytes.len() || !is_ident_continue(bytes[after_idx]); + before_ok && after_ok +} + +fn parse_ident(masked: &str, start: usize) -> Option<(String, usize)> { + let bytes = masked.as_bytes(); + let first = *bytes.get(start)?; + if !is_ident_start(first) { + return None; + } + + let mut end = start + 1; + while bytes.get(end).is_some_and(|byte| is_ident_continue(*byte)) { + end += 1; + } + + Some((masked[start..end].to_owned(), end)) +} + +fn skip_ws(masked: &str, mut idx: usize) -> usize { + let bytes = masked.as_bytes(); + while bytes + .get(idx) + .is_some_and(|byte| byte.is_ascii_whitespace()) + { + idx += 1; + } + idx +} + +fn rtrim_ws(masked: &str, start: usize, mut end: usize) -> Option { + let bytes = masked.as_bytes(); + while end > start + && bytes + .get(end - 1) + .is_some_and(|byte| byte.is_ascii_whitespace()) + { + end -= 1; + } + end.checked_sub(1).filter(|idx| *idx >= start) +} + +fn end_of_line(masked: &str, from: usize) -> usize { + masked[from..] + .find('\n') + .map(|offset| from + offset) + .unwrap_or(masked.len()) +} + +fn is_ident_start(byte: u8) -> bool { + byte == b'_' || byte.is_ascii_alphabetic() +} + +fn is_ident_continue(byte: u8) -> bool { + is_ident_start(byte) || byte.is_ascii_digit() +} + +fn line_column(source: &str, idx: usize) -> (usize, usize) { + let line = source[..idx].bytes().filter(|byte| *byte == b'\n').count() + 1; + let column = source[..idx] + .rfind('\n') + .map(|line_start| idx - line_start) + .unwrap_or(idx + 1); + (line, column) +} + +fn is_benchmark_file(file: &Path) -> bool { + file.file_name() + .and_then(|name| name.to_str()) + .is_some_and(|name| name.contains("benchmark")) + || file + .components() + .any(|component| component.as_os_str() == "benchmarks") +} + +fn is_test_or_mock_source_path(path: &Path) -> bool { + path.components().any(|component| { + let Some(raw_name) = component.as_os_str().to_str() else { + return false; + }; + let name = raw_name.to_ascii_lowercase(); + let stem = Path::new(&name) + .file_stem() + .and_then(|stem| stem.to_str()) + .unwrap_or(&name); + + matches!( + stem, + "benchmark" + | "benchmarks" + | "benchmarking" + | "mock" + | "mocks" + | "test" + | "tests" + | "testing" + | "test_utils" + | "test_util" + | "test_helpers" + | "tests_helpers" + ) || stem.starts_with("mock_") + || stem.ends_with("_mock") + || stem.starts_with("test_") + || stem.ends_with("_test") + || stem.ends_with("_tests") + }) +} + +fn find_pallet_root(file: &Path, workspace_root: &Path) -> PathBuf { + let pallets_dir = workspace_root.join("pallets"); + let mut current = file.parent(); + + while let Some(dir) = current { + if dir.starts_with(&pallets_dir) && dir.join("Cargo.toml").is_file() { + return dir.to_path_buf(); + } + + if dir == workspace_root { + break; + } + + current = dir.parent(); + } + + file.parent().unwrap_or(workspace_root).to_path_buf() +} + +fn benchmark_location_hint(pallet_root: &Path, workspace_root: &Path) -> String { + for location in [ + pallet_root.join("src/benchmarks.rs"), + pallet_root.join("src/benchmarking.rs"), + ] { + if location.exists() { + return display_path(&location, workspace_root); + } + } + + display_path(&pallet_root.join("src/benchmarks.rs"), workspace_root) +} + +fn collect_runtime_rust_files(dir: &Path, rust_files: &mut Vec) { + let Ok(entries) = fs::read_dir(dir) else { + return; + }; + + for entry in entries.flatten() { + let path = entry.path(); + if path + .components() + .any(|component| component.as_os_str() == "target" || component.as_os_str() == ".git") + { + continue; + } + + if is_test_or_mock_source_path(&path) { + continue; + } + + if path.is_dir() { + collect_runtime_rust_files(&path, rust_files); + } else if path.extension().and_then(|ext| ext.to_str()) == Some("rs") { + rust_files.push(path); + } + } +} + +fn collect_rust_files(dir: &Path, rust_files: &mut Vec) { + let Ok(entries) = fs::read_dir(dir) else { + return; + }; + + for entry in entries.flatten() { + let path = entry.path(); + if path + .components() + .any(|component| component.as_os_str() == "target" || component.as_os_str() == ".git") + { + continue; + } + + if path.is_dir() { + collect_rust_files(&path, rust_files); + } else if path.extension().and_then(|ext| ext.to_str()) == Some("rs") { + rust_files.push(path); + } + } +} + +fn display_path(path: &Path, workspace_root: &Path) -> String { + path.strip_prefix(workspace_root) + .unwrap_or(path) + .display() + .to_string() +} + +#[cfg(test)] +#[allow(clippy::expect_used, clippy::unwrap_used)] +mod tests { + + #[test] + fn weightinfo_plug_helper_accepts_captured_attrs_and_custom_allow() { + let batch_attr = r#" + #[pallet::call_index(0)] + #[pallet::weight({ + let (dispatch_weight, pays) = Pallet::::weight_and_dispatch_class(calls); + let dispatch_weight = dispatch_weight + .saturating_add(T::WeightInfo::batch(calls.len() as u32)); + (dispatch_weight, DispatchClass::Normal, pays) + })] + "#; + assert!(is_benchmarked_weight_plugged("batch", Some(batch_attr))); + + let allow_attr = r#" + #[allow(unknown_lints, benchmarked_weight_not_plugged)] + #[pallet::weight(store_encrypted_weight())] + "#; + assert!(is_benchmarked_weight_plugged( + "store_encrypted", + Some(allow_attr), + )); + } + + #[test] + fn weightinfo_plug_matcher_accepts_exact_methods_and_rejects_prefixes() { + assert!(weight_attr_calls_weight_info_for( + "batch", + "#[pallet::weight(T::WeightInfo::batch(calls.len() as u32))]", + )); + assert!(weight_attr_calls_weight_info_for( + "proxy", + "#[pallet::weight(WeightInfo::::proxy(p.into()))]", + )); + assert!(weight_attr_calls_weight_info_for( + "set_weights", + "#[pallet::weight(::WeightInfo::set_weights())]", + )); + assert!(weight_attr_calls_weight_info_for( + "set_fee_rate", + "#[pallet::weight(::WeightInfo::set_fee_rate())]", + )); + assert!(weight_attr_calls_weight_info_for( + "swap_coldkey", + "#[pallet::weight(T::WeightInfo::swap_coldkey::())]", + )); + + assert!(!weight_attr_calls_weight_info_for( + "swap_coldkey", + "#[pallet::weight(T::WeightInfo::swap_coldkey_announced())]", + )); + assert!(!weight_attr_calls_weight_info_for( + "set_weight", + "#[pallet::weight(T::WeightInfo::set_weights())]", + )); + } + + #[test] + fn source_fallback_accepts_valid_complex_weight_attrs() { + let source = r#" + #[pallet::call] + impl Pallet { + #[pallet::call_index(0)] + #[pallet::weight({ + let (dispatch_weight, pays) = Pallet::::weight_and_dispatch_class(calls); + let dispatch_weight = dispatch_weight + .saturating_add(T::WeightInfo::batch(calls.len() as u32)); + (dispatch_weight, DispatchClass::Normal, pays) + })] + pub fn batch(origin: OriginFor, calls: Vec) -> DispatchResult { + Ok(()) + } + } + "#; + + assert!(source_has_matching_weight_info_for_dispatchable( + source, "batch" + )); + } + + #[test] + fn source_fallback_does_not_use_previous_dispatchable_weight_attr() { + let source = r#" + #[pallet::call] + impl Pallet { + #[pallet::call_index(0)] + #[pallet::weight(T::WeightInfo::first())] + pub fn first(origin: OriginFor) -> DispatchResult { Ok(()) } + + #[pallet::call_index(1)] + #[pallet::weight(Weight::from_parts(1, 0))] + pub fn second(origin: OriginFor) -> DispatchResult { Ok(()) } + } + "#; + + assert!(source_has_matching_weight_info_for_dispatchable( + source, "first" + )); + assert!(!source_has_matching_weight_info_for_dispatchable( + source, "second" + )); + } + + #[test] + fn weightinfo_plug_check_accepts_common_valid_forms() { + assert!(weight_attr_calls_weight_info_for( + "batch", + "#[pallet::weight({ let w = T::WeightInfo::batch(calls.len() as u32); w })]", + )); + assert!(weight_attr_calls_weight_info_for( + "set_fee_rate", + "#[pallet::weight(::WeightInfo::set_fee_rate())]", + )); + assert!(weight_attr_calls_weight_info_for( + "set_weights", + "#[pallet::weight((::WeightInfo::set_weights(), DispatchClass::Normal, Pays::No))]", + )); + assert!(weight_attr_calls_weight_info_for( + "proxy", + "#[pallet::weight((WeightInfo::::proxy(T::MaxProxies::get()), DispatchClass::Normal))]", + )); + assert!(!weight_attr_calls_weight_info_for( + "proxy", + "#[pallet::weight(Weight::from_parts(10, 0))]", + )); + } + + #[test] + fn dispatchable_weight_attr_is_found_for_complex_weight_blocks() { + let input = r#" + #[pallet::call] + impl Pallet { + #[pallet::call_index(0)] + #[pallet::weight({ + let (dispatch_weight, pays) = Pallet::::weight_and_dispatch_class(calls); + let dispatch_weight = dispatch_weight + .saturating_add(T::WeightInfo::batch(calls.len() as u32)); + (dispatch_weight, DispatchClass::Normal, pays) + })] + pub fn batch(origin: OriginFor, calls: Vec) -> DispatchResult { + Ok(()) + } + } + "#; + + let dispatchables = collect_dispatchables_from_source(input); + let batch = dispatchables + .iter() + .find(|dispatchable| dispatchable.name == "batch") + .expect("batch dispatchable is collected"); + + assert!(is_benchmarked_weight_plugged( + &batch.name, + batch.weight_attr.as_deref(), + )); + } + + use super::*; + + #[test] + fn custom_allow_attr_skips_weightinfo_plug_check() { + let dispatch_source = r#" + #[pallet::call] + impl Pallet { + #[allow(unknown_lints, benchmarked_weight_not_plugged)] + #[pallet::call_index(2)] + #[pallet::weight(store_encrypted_weight())] + pub fn store_encrypted(origin: OriginFor) -> DispatchResult { Ok(()) } + } + "#; + + let dispatchables = collect_dispatchables_from_source(dispatch_source); + let dispatchable = dispatchables + .iter() + .find(|dispatchable| dispatchable.name == "store_encrypted") + .expect("store_encrypted dispatchable is collected"); + + assert!(is_benchmarked_weight_plugged( + &dispatchable.name, + dispatchable.weight_attr.as_deref() + )); + } + + #[test] + fn collects_dispatchables_from_pallet_call_impl() { + let input = r#" + #[pallet::call] + impl Pallet { + #[pallet::call_index(0)] + pub fn set_weights(origin: OriginFor) -> DispatchResult { + Ok(()) + } + + fn helper() {} + } + "#; + + let dispatchables = collect_dispatchables_from_source(input); + assert_eq!(dispatchables.len(), 1); + assert_eq!(dispatchables[0].name, "set_weights"); + } + + #[test] + fn ignores_cfg_test_pallet_call_impls() { + let input = r#" + #[cfg(test)] + mod tests { + #[pallet::call] + impl Pallet { + pub fn mock_only(origin: OriginFor) -> DispatchResult { + Ok(()) + } + } + } + + #[pallet::call] + impl Pallet { + pub fn real_call(origin: OriginFor) -> DispatchResult { + Ok(()) + } + } + "#; + + let dispatchables = collect_dispatchables_from_source(input); + assert_eq!(dispatchables.len(), 1); + assert_eq!(dispatchables[0].name, "real_call"); + } + + #[test] + fn ignores_cfg_test_dispatchable_fns_inside_real_call_impls() { + let input = r#" + #[pallet::call] + impl Pallet { + #[cfg(test)] + pub fn mock_only(origin: OriginFor) -> DispatchResult { + Ok(()) + } + + pub fn real_call(origin: OriginFor) -> DispatchResult { + Ok(()) + } + } + "#; + + let dispatchables = collect_dispatchables_from_source(input); + assert_eq!(dispatchables.len(), 1); + assert_eq!(dispatchables[0].name, "real_call"); + } + + #[test] + fn ignores_feature_gated_dispatchable_fns_inside_real_call_impls() { + let input = r#" + #[pallet::call] + impl Pallet { + #[cfg(feature = "pow-faucet")] + pub fn faucet(origin: OriginFor) -> DispatchResult { + Ok(()) + } + + pub fn real_call(origin: OriginFor) -> DispatchResult { + Ok(()) + } + } + "#; + + let dispatchables = collect_dispatchables_from_source(input); + assert_eq!(dispatchables.len(), 1); + assert_eq!(dispatchables[0].name, "real_call"); + } + + #[test] + fn recognizes_mock_and_test_paths_as_non_runtime() { + assert!(is_test_or_mock_source_path(Path::new( + "pallets/example/src/mock.rs" + ))); + assert!(is_test_or_mock_source_path(Path::new( + "pallets/example/src/tests/register.rs" + ))); + assert!(is_test_or_mock_source_path(Path::new( + "pallets/example/src/benchmarking.rs" + ))); + assert!(!is_test_or_mock_source_path(Path::new( + "pallets/example/src/macros/dispatches.rs" + ))); + } + + #[test] + fn collects_frame_v2_benchmarks() { + let input = r#" + #[benchmarks] + mod benchmarks { + #[benchmark] + fn set_weights() { + #[block] + {} + } + + fn helper() {} + } + "#; + + let mut benchmarks = BTreeSet::new(); + collect_frame_v2_benchmarks(input, &mut benchmarks); + assert!(benchmarks.contains("set_weights")); + assert!(!benchmarks.contains("helper")); + } + + #[test] + fn collects_legacy_benchmarks_macro_names() { + let input = r#" + benchmarks! { + where_clause { where T: Config } + + set_weights { + let caller = account("caller", 0, 0); + }: _(RawOrigin::Signed(caller)) + verify {} + } + "#; + + let mut benchmarks = BTreeSet::new(); + collect_legacy_benchmarks(input, &mut benchmarks); + assert!(benchmarks.contains("set_weights")); + assert!(!benchmarks.contains("where_clause")); + assert!(!benchmarks.contains("verify")); + } + + #[test] + fn register_limit_is_missing_when_no_matching_benchmark_exists() { + let dispatch_source = r#" + #[pallet::call] + impl Pallet { + #[pallet::call_index(134)] + pub fn register_limit(origin: OriginFor) -> DispatchResult { Ok(()) } + } + "#; + let benchmark_source = r#" + #[benchmarks] + mod benchmarks { + #[benchmark] + fn root_register() { #[block] {} } + } + "#; + + let dispatchables = collect_dispatchables_from_source(dispatch_source); + let mut benchmarks = BTreeSet::new(); + collect_frame_v2_benchmarks(benchmark_source, &mut benchmarks); + + assert_eq!(dispatchables[0].name, "register_limit"); + assert!(!benchmarks.contains(&dispatchables[0].name)); + } +} diff --git a/support/procedural-fork/Cargo.toml b/support/procedural-fork/Cargo.toml index fdc280ec14..cc03c78242 100644 --- a/support/procedural-fork/Cargo.toml +++ b/support/procedural-fork/Cargo.toml @@ -10,7 +10,7 @@ all = "allow" derive-syn-parse.workspace = true Inflector.workspace = true cfg-expr.workspace = true -itertools.workspace = true +itertools = { workspace = true, features = ["use_alloc"] } proc-macro2.workspace = true quote.workspace = true syn = { workspace = true, features = [ diff --git a/support/weight-tools/src/weight_compare.rs b/support/weight-tools/src/weight_compare.rs index 56fdc4426d..4f9db7b048 100644 --- a/support/weight-tools/src/weight_compare.rs +++ b/support/weight-tools/src/weight_compare.rs @@ -1,28 +1,31 @@ -//! Compare two weights.rs files and report drift. +//! Compare two weights.rs files and report benchmark-level drift. //! //! Parses both files with `syn`, extracts per-function weight data including -//! base values and per-component (parameterized) slopes, then compares with -//! a configurable percentage threshold. +//! base values, proof sizes, and parameterized slopes, then compares the whole +//! generated weight/proof across the benchmarked component ranges with a +//! configurable percentage threshold. //! //! Exit codes: -//! 0 — all within threshold -//! 1 — error -//! 2 — drift exceeds threshold +//! 0 — all within threshold +//! 1 — error +//! 2 — drift exceeds threshold use anyhow::{Context, Result}; use clap::Parser; -use std::collections::BTreeMap; +use std::collections::{BTreeMap, BTreeSet}; use std::fs; use std::path::PathBuf; -use syn::{Expr, File, ImplItem, Item, Lit, ReturnType, Stmt}; +use syn::{Attribute, Expr, File, ImplItem, Item, Lit, ReturnType, Stmt}; #[derive(Parser)] #[command(about = "Compare two weights.rs files and report drift")] struct Cli { #[arg(long)] old: PathBuf, + #[arg(long)] new: PathBuf, + #[arg(long, default_value = "40")] threshold: f64, } @@ -34,16 +37,55 @@ struct WeightValues { proof_size: u64, base_reads: u64, base_writes: u64, - /// Per-component slopes, ordered by appearance in the chain. - component_weights: Vec, - component_reads: Vec, - component_writes: Vec, - component_proof: Vec, + /// Per-component ref-time slopes, keyed by benchmark component name. + component_weights: BTreeMap, + component_reads: BTreeMap, + component_writes: BTreeMap, + /// Per-component proof-size slopes, keyed by benchmark component name. + component_proof: BTreeMap, + /// Component ranges from generated docs, keyed by benchmark component name. + component_ranges: BTreeMap, +} + +type ComponentRange = (String, u64, u64); + +#[derive(Debug, Clone, Copy)] +struct Drift { + signed_pct: f64, + abs_pct: f64, +} + +impl Drift { + fn new(signed_pct: f64) -> Self { + Self { + signed_pct, + abs_pct: signed_pct.abs(), + } + } +} + +#[derive(Debug, Clone, Copy)] +enum DriftMetric { + RefTime, + ProofSize, +} + +impl DriftMetric { + fn total_at( + self, + values: &WeightValues, + ranges: &[ComponentRange], + component_values: &[u64], + ) -> u128 { + match self { + Self::RefTime => total_ref_time_at(values, ranges, component_values), + Self::ProofSize => total_proof_size_at(values, ranges, component_values), + } + } } fn main() -> Result<()> { let cli = Cli::parse(); - let old_weights = parse_file(&cli.old)?; let new_weights = parse_file(&cli.new)?; @@ -53,41 +95,45 @@ fn main() -> Result<()> { let ow = old_weights.get(name).cloned().unwrap_or_default(); let mut reasons: Vec = Vec::new(); - // Base weight: threshold-based - check_pct( - ow.base_weight, - nw.base_weight, - cli.threshold, - "base_weight", - &mut reasons, - ); + let weight_drift = max_ref_time_drift(&ow, nw); + if weight_drift.abs_pct > cli.threshold { + reasons.push(format!("max_weight {:+.1}%", weight_drift.signed_pct)); + } - // Base reads/writes: exact + let proof_drift = max_proof_size_drift(&ow, nw); + if proof_drift.abs_pct > cli.threshold { + reasons.push(format!("max_proof_size {:+.1}%", proof_drift.signed_pct)); + } + + let old_components: Vec<_> = ow.component_ranges.keys().cloned().collect(); + let new_components: Vec<_> = nw.component_ranges.keys().cloned().collect(); + if !old_components.is_empty() + && !new_components.is_empty() + && old_components != new_components + { + reasons.push(format!( + "components {:?} -> {:?}", + old_components, new_components + )); + } + + // Storage I/O changes are structural, not percent drift, so keep them exact. if nw.base_reads != ow.base_reads { reasons.push(format!("reads {} -> {}", ow.base_reads, nw.base_reads)); } if nw.base_writes != ow.base_writes { reasons.push(format!("writes {} -> {}", ow.base_writes, nw.base_writes)); } - - // Component slopes: threshold-based for weights, exact for reads/writes - check_vec_pct( - &ow.component_weights, - &nw.component_weights, - cli.threshold, - "comp_weight", - &mut reasons, - ); - check_vec_exact( + check_map_exact( &ow.component_reads, &nw.component_reads, - "comp_reads", + "component_reads", &mut reasons, ); - check_vec_exact( + check_map_exact( &ow.component_writes, &nw.component_writes, - "comp_writes", + "component_writes", &mut reasons, ); @@ -96,33 +142,38 @@ fn main() -> Result<()> { any_drift = true; } - let pct = if ow.base_weight > 0 { - (nw.base_weight as f64 - ow.base_weight as f64) / ow.base_weight as f64 * 100.0 - } else if nw.base_weight > 0 { - 100.0 + let base_pct = signed_pct(ow.base_weight as u128, nw.base_weight as u128); + let proof_pct = signed_pct(ow.proof_size as u128, nw.proof_size as u128); + let icon = if drifted { "\u{274c}" } else { "\u{2705}" }; + let reason_suffix = if reasons.is_empty() { + String::new() } else { - 0.0 + format!(" reasons: {}", reasons.join(", ")) }; - let icon = if drifted { "\u{274c}" } else { "\u{2705}" }; - println!( - " {} {:<40} {:>12} -> {:<12} ({:>+.1}%) reads {:>4} -> {:<4} writes {:>4} -> {:<4}", + " {} {:<40} {:>12} -> {:<12} ({:>+.1}%; max {:>+.1}%) proof {:>8} -> {:<8} ({:>+.1}%; max {:>+.1}%) reads {:>4} -> {:<4} writes {:>4} -> {:<4}{}", icon, name, ow.base_weight, nw.base_weight, - pct, + base_pct, + weight_drift.signed_pct, + ow.proof_size, + nw.proof_size, + proof_pct, + proof_drift.signed_pct, ow.base_reads, nw.base_reads, ow.base_writes, nw.base_writes, + reason_suffix, ); } for name in old_weights.keys() { if !new_weights.contains_key(name) { - println!(" \u{274c} {:<40} REMOVED", name); + println!(" \u{274c} {:<40} REMOVED", name); any_drift = true; } } @@ -134,33 +185,168 @@ fn main() -> Result<()> { Ok(()) } -fn check_pct(old: u64, new: u64, threshold: f64, label: &str, reasons: &mut Vec) { - let drift = if old > 0 { - ((new as f64 - old as f64) / old as f64 * 100.0).abs() +fn check_map_exact( + old: &BTreeMap, + new: &BTreeMap, + label: &str, + reasons: &mut Vec, +) { + if old != new { + reasons.push(format!("{label} {:?} -> {:?}", old, new)); + } +} + +fn signed_pct(old: u128, new: u128) -> f64 { + if old > 0 { + (new as f64 - old as f64) / old as f64 * 100.0 } else if new > 0 { 100.0 } else { - return; - }; - if drift > threshold { - reasons.push(format!("{label} {drift:.1}%")); + 0.0 } } -fn check_vec_pct(old: &[u64], new: &[u64], threshold: f64, label: &str, reasons: &mut Vec) { - if old.len() != new.len() { - reasons.push(format!("{label} count {} -> {}", old.len(), new.len())); +fn max_ref_time_drift(old: &WeightValues, new: &WeightValues) -> Drift { + max_benchmark_drift(old, new, DriftMetric::RefTime) +} + +fn max_proof_size_drift(old: &WeightValues, new: &WeightValues) -> Drift { + max_benchmark_drift(old, new, DriftMetric::ProofSize) +} + +fn max_benchmark_drift(old: &WeightValues, new: &WeightValues, metric: DriftMetric) -> Drift { + let ranges = comparison_ranges(old, new); + if ranges.is_empty() { + return Drift::new(signed_pct( + metric.total_at(old, &[], &[]), + metric.total_at(new, &[], &[]), + )); + } + + let mut values = Vec::with_capacity(ranges.len()); + let mut max_drift = Drift::new(0.0); + visit_range_corners(&ranges, 0, &mut values, old, new, metric, &mut max_drift); + max_drift +} + +fn visit_range_corners( + ranges: &[ComponentRange], + idx: usize, + values: &mut Vec, + old: &WeightValues, + new: &WeightValues, + metric: DriftMetric, + max_drift: &mut Drift, +) { + if idx == ranges.len() { + let old_total = metric.total_at(old, ranges, values); + let new_total = metric.total_at(new, ranges, values); + let drift = Drift::new(signed_pct(old_total, new_total)); + if drift.abs_pct > max_drift.abs_pct { + *max_drift = drift; + } return; } - for (i, (o, n)) in old.iter().zip(new.iter()).enumerate() { - check_pct(*o, *n, threshold, &format!("{label}[{i}]"), reasons); + + let (_, min, max) = &ranges[idx]; + values.push(*min); + visit_range_corners(ranges, idx + 1, values, old, new, metric, max_drift); + values.pop(); + + if max != min { + values.push(*max); + visit_range_corners(ranges, idx + 1, values, old, new, metric, max_drift); + values.pop(); } } -fn check_vec_exact(old: &[u64], new: &[u64], label: &str, reasons: &mut Vec) { - if old != new { - reasons.push(format!("{label} {:?} -> {:?}", old, new)); +fn comparison_ranges(old: &WeightValues, new: &WeightValues) -> Vec { + let mut names = BTreeSet::new(); + names.extend(old.component_ranges.keys().cloned()); + names.extend(new.component_ranges.keys().cloned()); + names.extend(old.component_weights.keys().cloned()); + names.extend(new.component_weights.keys().cloned()); + names.extend(old.component_proof.keys().cloned()); + names.extend(new.component_proof.keys().cloned()); + + names + .into_iter() + .map(|name| { + let old_range = range_for_component(old, &name); + let new_range = range_for_component(new, &name); + let min = old_range.0.min(new_range.0); + let max = old_range.1.max(new_range.1).max(min); + (name, min, max) + }) + .filter(|(_, min, max)| *min != 0 || *max != 0) + .collect() +} + +fn range_for_component(values: &WeightValues, name: &str) -> (u64, u64) { + values + .component_ranges + .get(name) + .copied() + .unwrap_or_else(|| { + if values.component_weights.contains_key(name) + || values.component_proof.contains_key(name) + { + // Generated files should include ranges. Fall back to a one-unit + // multiplier if a legacy file does not, so slope-only changes are + // still represented in the benchmark-level total. + (0, 1) + } else { + (0, 0) + } + }) +} + +fn total_ref_time_at( + values: &WeightValues, + ranges: &[ComponentRange], + component_values: &[u64], +) -> u128 { + total_at( + values.base_weight, + &values.component_weights, + ranges, + component_values, + ) +} + +fn total_proof_size_at( + values: &WeightValues, + ranges: &[ComponentRange], + component_values: &[u64], +) -> u128 { + total_at( + values.proof_size, + &values.component_proof, + ranges, + component_values, + ) +} + +fn total_at( + base: u64, + components: &BTreeMap, + ranges: &[ComponentRange], + component_values: &[u64], +) -> u128 { + let mut total = base as u128; + + for (name, slope) in components { + let multiplier = ranges + .iter() + .position(|(range_name, _, _)| range_name == name) + .and_then(|idx| component_values.get(idx)) + .copied() + .unwrap_or(0); + + total = total.saturating_add((*slope as u128).saturating_mul(multiplier as u128)); } + + total } // ── Parsing ───────────────────────────────────────────────────────────────── @@ -168,6 +354,7 @@ fn check_vec_exact(old: &[u64], new: &[u64], label: &str, reasons: &mut Vec Result> { let src = fs::read_to_string(path).with_context(|| format!("reading {}", path.display()))?; let file: File = syn::parse_str(&src).with_context(|| format!("parsing {}", path.display()))?; + let mut result = BTreeMap::new(); for item in &file.items { @@ -177,6 +364,7 @@ fn parse_file(path: &PathBuf) -> Result> { if !is_substrate_weight_impl(impl_block) { continue; } + for impl_item in &impl_block.items { let ImplItem::Fn(method) = impl_item else { continue; @@ -184,12 +372,18 @@ fn parse_file(path: &PathBuf) -> Result> { if !matches!(&method.sig.output, ReturnType::Type(..)) { continue; } - let mut wv = WeightValues::default(); + + let mut wv = WeightValues { + component_ranges: parse_component_ranges(&method.attrs), + ..WeightValues::default() + }; + for stmt in &method.block.stmts { if let Stmt::Expr(expr, _) = stmt { - walk(expr, &mut wv, false); + walk(expr, &mut wv, None); } } + result.insert(method.sig.ident.to_string(), wv); } break; @@ -208,9 +402,11 @@ fn is_substrate_weight_impl(impl_block: &syn::ItemImpl) -> bool { .collect::(), _ => return false, }; + if !self_ty.contains("SubstrateWeight") { return false; } + impl_block .trait_ .as_ref() @@ -219,74 +415,77 @@ fn is_substrate_weight_impl(impl_block: &syn::ItemImpl) -> bool { .unwrap_or(false) } -/// Walk a method-call chain. `in_mul` tracks whether we're inside `.saturating_mul()`, -/// which means values are per-component slopes rather than base values. -fn walk(expr: &Expr, wv: &mut WeightValues, in_mul: bool) { +/// Walk a method-call chain. `component` is set while walking the receiver of +/// `.saturating_mul(component.into())`, which means the extracted values are +/// per-component slopes rather than base values. +fn walk(expr: &Expr, wv: &mut WeightValues, component: Option<&str>) { match expr { Expr::Call(call) => { if is_from_parts(&call.func) && call.args.len() >= 2 { let v = expr_to_u64(&call.args[0]).unwrap_or(0); let p = expr_to_u64(&call.args[1]).unwrap_or(0); - if in_mul { - if v > 0 { - wv.component_weights.push(v); - } - if p > 0 { - wv.component_proof.push(p); - } + + if let Some(name) = component { + add_component(&mut wv.component_weights, Some(name), v); + add_component(&mut wv.component_proof, Some(name), p); } else { wv.base_weight = v; wv.proof_size = p; } } } - Expr::MethodCall(mc) => { - match mc.method.to_string().as_str() { - "saturating_add" => { - walk(&mc.receiver, wv, in_mul); - if let Some(arg) = mc.args.first() { - walk(arg, wv, in_mul); - } - } - "saturating_mul" => { - // Receiver is the component slope value - walk(&mc.receiver, wv, true); + Expr::MethodCall(mc) => match mc.method.to_string().as_str() { + "saturating_add" => { + walk(&mc.receiver, wv, component); + if let Some(arg) = mc.args.first() { + walk(arg, wv, component); } - "reads" => { - extract_rw( - mc.args.first(), - in_mul, - &mut wv.base_reads, - &mut wv.component_reads, - ); - walk(&mc.receiver, wv, in_mul); - } - "writes" => { - extract_rw( - mc.args.first(), - in_mul, - &mut wv.base_writes, - &mut wv.component_writes, - ); - walk(&mc.receiver, wv, in_mul); - } - _ => walk(&mc.receiver, wv, in_mul), } - } - Expr::Paren(p) => walk(&p.expr, wv, in_mul), + "saturating_mul" => { + // Receiver is the component slope value; the first argument is + // usually the benchmark component, e.g. `a.into()`. + let name = mc.args.first().and_then(component_name); + walk(&mc.receiver, wv, name.as_deref()); + } + "reads" => { + extract_rw( + mc.args.first(), + component, + &mut wv.base_reads, + &mut wv.component_reads, + ); + walk(&mc.receiver, wv, component); + } + "writes" => { + extract_rw( + mc.args.first(), + component, + &mut wv.base_writes, + &mut wv.component_writes, + ); + walk(&mc.receiver, wv, component); + } + _ => walk(&mc.receiver, wv, component), + }, + Expr::Paren(p) => walk(&p.expr, wv, component), _ => {} } } /// Extract a reads/writes value from the argument to `.reads()` / `.writes()`. /// Handles both plain literals and `(N_u64).saturating_mul(k.into())` patterns. -fn extract_rw(arg: Option<&Expr>, in_mul: bool, base: &mut u64, components: &mut Vec) { +fn extract_rw( + arg: Option<&Expr>, + component: Option<&str>, + base: &mut u64, + components: &mut BTreeMap, +) { let Some(arg) = arg else { return }; // Direct literal: .reads(2_u64) if let Some(n) = expr_to_u64(arg) { - if in_mul { - components.push(n); + if let Some(name) = component { + add_component(components, Some(name), n); } else { *base += n; } @@ -298,7 +497,73 @@ fn extract_rw(arg: Option<&Expr>, in_mul: bool, base: &mut u64, components: &mut && inner_mc.method == "saturating_mul" && let Some(n) = expr_to_u64(&inner_mc.receiver) { - components.push(n); + let name = inner_mc.args.first().and_then(component_name); + add_component(components, name.as_deref(), n); + } +} + +fn add_component(map: &mut BTreeMap, component: Option<&str>, value: u64) { + if value == 0 { + return; + } + + let key = component + .map(str::to_owned) + .unwrap_or_else(|| format!("__unknown_{}", map.len())); + *map.entry(key).or_default() += value; +} + +fn parse_component_ranges(attrs: &[Attribute]) -> BTreeMap { + attrs + .iter() + .filter_map(doc_attr_value) + .filter_map(|doc| parse_component_range(&doc)) + .collect() +} + +fn doc_attr_value(attr: &Attribute) -> Option { + if !attr.path().is_ident("doc") { + return None; + } + + let syn::Meta::NameValue(meta) = &attr.meta else { + return None; + }; + let Expr::Lit(expr_lit) = &meta.value else { + return None; + }; + let Lit::Str(lit) = &expr_lit.lit else { + return None; + }; + + Some(lit.value()) +} + +fn parse_component_range(doc: &str) -> Option<(String, (u64, u64))> { + let doc = doc.trim(); + let rest = doc.strip_prefix("The range of component `")?; + let (name, rest) = rest.split_once("` is `[")?; + let (range, _) = rest.split_once(']')?; + let (min, max) = range.split_once(',')?; + + Some(( + name.to_owned(), + (parse_doc_u64(min.trim())?, parse_doc_u64(max.trim())?), + )) +} + +fn parse_doc_u64(raw: &str) -> Option { + raw.replace('_', "").parse().ok() +} + +fn component_name(expr: &Expr) -> Option { + match expr { + Expr::Path(path) => path.path.segments.last().map(|s| s.ident.to_string()), + Expr::MethodCall(mc) if mc.method == "into" => component_name(&mc.receiver), + Expr::Paren(p) => component_name(&p.expr), + Expr::Reference(r) => component_name(&r.expr), + Expr::Cast(c) => component_name(&c.expr), + _ => None, } }