From 1a8b4d5fe1b7b3c4bb3fc846a4ab360fbddff0f9 Mon Sep 17 00:00:00 2001 From: realhardworkingdeveloper Date: Tue, 7 Nov 2023 11:09:59 -0500 Subject: [PATCH] fix: update weights with benchmarking --- .maintain/frame-weight-template.hbs | 121 ++++++ pallets/subspace/src/autogen_weights.rs | 475 ++++++++++++++++++++---- pallets/subspace/src/lib.rs | 57 +-- pallets/subspace/src/mock.rs | 1 + pallets/subspace/tests/test_mock.rs | 2 + pallets/subspace/tests/weights.rs | 2 +- runtime/src/lib.rs | 1 + 7 files changed, 556 insertions(+), 103 deletions(-) create mode 100644 .maintain/frame-weight-template.hbs diff --git a/.maintain/frame-weight-template.hbs b/.maintain/frame-weight-template.hbs new file mode 100644 index 000000000..5e837b247 --- /dev/null +++ b/.maintain/frame-weight-template.hbs @@ -0,0 +1,121 @@ +{{header}} +//! Autogenerated weights for `{{pallet}}` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION {{version}} +//! DATE: {{date}}, STEPS: `{{cmd.steps}}`, REPEAT: `{{cmd.repeat}}`, LOW RANGE: `{{cmd.lowest_range_values}}`, HIGH RANGE: `{{cmd.highest_range_values}}` +//! WORST CASE MAP SIZE: `{{cmd.worst_case_map_values}}` +//! HOSTNAME: `{{hostname}}`, CPU: `{{cpuname}}` +//! WASM-EXECUTION: `{{cmd.wasm_execution}}`, CHAIN: `{{cmd.chain}}`, DB CACHE: `{{cmd.db_cache}}` + +// Executed Command: +{{#each args as |arg|}} +// {{arg}} +{{/each}} + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; +use core::marker::PhantomData; + +/// Weight functions needed for `{{pallet}}`. +pub trait WeightInfo { + {{#each benchmarks as |benchmark|}} + fn {{benchmark.name~}} + ( + {{~#each benchmark.components as |c| ~}} + {{c.name}}: u32, {{/each~}} + ) -> Weight; + {{/each}} +} + +/// Weights for `{{pallet}}` using the Substrate node and recommended hardware. +pub struct SubstrateWeight(PhantomData); +{{#if (eq pallet "frame_system")}} +impl WeightInfo for SubstrateWeight { +{{else}} +impl WeightInfo for SubstrateWeight { +{{/if}} + {{#each benchmarks as |benchmark|}} + {{#each benchmark.comments as |comment|}} + /// {{comment}} + {{/each}} + {{#each benchmark.component_ranges as |range|}} + /// The range of component `{{range.name}}` is `[{{range.min}}, {{range.max}}]`. + {{/each}} + fn {{benchmark.name~}} + ( + {{~#each benchmark.components as |c| ~}} + {{~#if (not c.is_used)}}_{{/if}}{{c.name}}: u32, {{/each~}} + ) -> Weight { + // Proof Size summary in bytes: + // Measured: `{{benchmark.base_recorded_proof_size}}{{#each benchmark.component_recorded_proof_size as |cp|}} + {{cp.name}} * ({{cp.slope}} ±{{underscore cp.error}}){{/each}}` + // Estimated: `{{benchmark.base_calculated_proof_size}}{{#each benchmark.component_calculated_proof_size as |cp|}} + {{cp.name}} * ({{cp.slope}} ±{{underscore cp.error}}){{/each}}` + // Minimum execution time: {{underscore benchmark.min_execution_time}}_000 picoseconds. + Weight::from_parts({{underscore benchmark.base_weight}}, {{benchmark.base_calculated_proof_size}}) + {{#each benchmark.component_weight as |cw|}} + // Standard Error: {{underscore cw.error}} + .saturating_add(Weight::from_parts({{underscore cw.slope}}, 0).saturating_mul({{cw.name}}.into())) + {{/each}} + {{#if (ne benchmark.base_reads "0")}} + .saturating_add(T::DbWeight::get().reads({{benchmark.base_reads}}_u64)) + {{/if}} + {{#each benchmark.component_reads as |cr|}} + .saturating_add(T::DbWeight::get().reads(({{cr.slope}}_u64).saturating_mul({{cr.name}}.into()))) + {{/each}} + {{#if (ne benchmark.base_writes "0")}} + .saturating_add(T::DbWeight::get().writes({{benchmark.base_writes}}_u64)) + {{/if}} + {{#each benchmark.component_writes as |cw|}} + .saturating_add(T::DbWeight::get().writes(({{cw.slope}}_u64).saturating_mul({{cw.name}}.into()))) + {{/each}} + {{#each benchmark.component_calculated_proof_size as |cp|}} + .saturating_add(Weight::from_parts(0, {{cp.slope}}).saturating_mul({{cp.name}}.into())) + {{/each}} + } + {{/each}} +} + +// For backwards compatibility and tests. +impl WeightInfo for () { + {{#each benchmarks as |benchmark|}} + {{#each benchmark.comments as |comment|}} + /// {{comment}} + {{/each}} + {{#each benchmark.component_ranges as |range|}} + /// The range of component `{{range.name}}` is `[{{range.min}}, {{range.max}}]`. + {{/each}} + fn {{benchmark.name~}} + ( + {{~#each benchmark.components as |c| ~}} + {{~#if (not c.is_used)}}_{{/if}}{{c.name}}: u32, {{/each~}} + ) -> Weight { + // Proof Size summary in bytes: + // Measured: `{{benchmark.base_recorded_proof_size}}{{#each benchmark.component_recorded_proof_size as |cp|}} + {{cp.name}} * ({{cp.slope}} ±{{underscore cp.error}}){{/each}}` + // Estimated: `{{benchmark.base_calculated_proof_size}}{{#each benchmark.component_calculated_proof_size as |cp|}} + {{cp.name}} * ({{cp.slope}} ±{{underscore cp.error}}){{/each}}` + // Minimum execution time: {{underscore benchmark.min_execution_time}}_000 picoseconds. + Weight::from_parts({{underscore benchmark.base_weight}}, {{benchmark.base_calculated_proof_size}}) + {{#each benchmark.component_weight as |cw|}} + // Standard Error: {{underscore cw.error}} + .saturating_add(Weight::from_parts({{underscore cw.slope}}, 0).saturating_mul({{cw.name}}.into())) + {{/each}} + {{#if (ne benchmark.base_reads "0")}} + .saturating_add(RocksDbWeight::get().reads({{benchmark.base_reads}}_u64)) + {{/if}} + {{#each benchmark.component_reads as |cr|}} + .saturating_add(RocksDbWeight::get().reads(({{cr.slope}}_u64).saturating_mul({{cr.name}}.into()))) + {{/each}} + {{#if (ne benchmark.base_writes "0")}} + .saturating_add(RocksDbWeight::get().writes({{benchmark.base_writes}}_u64)) + {{/if}} + {{#each benchmark.component_writes as |cw|}} + .saturating_add(RocksDbWeight::get().writes(({{cw.slope}}_u64).saturating_mul({{cw.name}}.into()))) + {{/each}} + {{#each benchmark.component_calculated_proof_size as |cp|}} + .saturating_add(Weight::from_parts(0, {{cp.slope}}).saturating_mul({{cp.name}}.into())) + {{/each}} + } + {{/each}} +} \ No newline at end of file diff --git a/pallets/subspace/src/autogen_weights.rs b/pallets/subspace/src/autogen_weights.rs index 2a3c534d2..59a736fcd 100644 --- a/pallets/subspace/src/autogen_weights.rs +++ b/pallets/subspace/src/autogen_weights.rs @@ -5,7 +5,7 @@ //! DATE: 2023-11-07, STEPS: `20`, REPEAT: `10`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `ubuntu-2204`, CPU: `Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz` -//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024` // Executed Command: // ./target/release/node-subspace @@ -21,19 +21,39 @@ // 20 // --repeat // 10 +// --wasm-execution=compiled +// --template +// ./.maintain/frame-weight-template.hbs // --output // pallets/subspace/src/autogen_weights.rs #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] #![allow(unused_imports)] +#![allow(missing_docs)] -use frame_support::{traits::Get, weights::Weight}; -use sp_std::marker::PhantomData; +use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; +use core::marker::PhantomData; -/// Weight functions for `pallet_subspace`. -pub struct WeightInfo(PhantomData); -impl pallet_subspace::WeightInfo for WeightInfo { +/// Weight functions needed for `pallet_subspace`. +pub trait WeightInfo { + fn register() -> Weight; + fn set_weights() -> Weight; + fn add_stake() -> Weight; + fn add_stake_multiple() -> Weight; + fn transfer_stake() -> Weight; + fn transfer_multiple() -> Weight; + fn remove_stake() -> Weight; + fn remove_stake_multiple() -> Weight; + fn update_network() -> Weight; + fn remove_network() -> Weight; + fn update_module() -> Weight; + fn update_global() -> Weight; +} + +/// Weights for `pallet_subspace` using the Substrate node and recommended hardware. +pub struct SubstrateWeight(PhantomData); +impl WeightInfo for SubstrateWeight { /// Storage: SubspaceModule N (r:2 w:1) /// Proof Skipped: SubspaceModule N (max_values: None, max_size: None, mode: Measured) /// Storage: SubspaceModule MaxAllowedSubnets (r:1 w:0) @@ -98,11 +118,10 @@ impl pallet_subspace::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `5352` // Estimated: `214209` - // Minimum execution time: 227_882 nanoseconds. - Weight::from_ref_time(280_480_000) - .saturating_add(Weight::from_proof_size(214209)) - .saturating_add(T::DbWeight::get().reads(27)) - .saturating_add(T::DbWeight::get().writes(26)) + // Minimum execution time: 225_483_000 picoseconds. + Weight::from_parts(295_319_000, 214209) + .saturating_add(T::DbWeight::get().reads(27_u64)) + .saturating_add(T::DbWeight::get().writes(26_u64)) } /// Storage: SubspaceModule Uids (r:1 w:0) /// Proof Skipped: SubspaceModule Uids (max_values: None, max_size: None, mode: Measured) @@ -124,11 +143,10 @@ impl pallet_subspace::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `2500` // Estimated: `59600` - // Minimum execution time: 174_823 nanoseconds. - Weight::from_ref_time(285_014_000) - .saturating_add(Weight::from_proof_size(59600)) - .saturating_add(T::DbWeight::get().reads(16)) - .saturating_add(T::DbWeight::get().writes(2)) + // Minimum execution time: 182_915_000 picoseconds. + Weight::from_parts(222_199_000, 59600) + .saturating_add(T::DbWeight::get().reads(16_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) } /// Storage: SubspaceModule Uids (r:1 w:0) /// Proof Skipped: SubspaceModule Uids (max_values: None, max_size: None, mode: Measured) @@ -146,11 +164,10 @@ impl pallet_subspace::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3437` // Estimated: `32131` - // Minimum execution time: 129_156 nanoseconds. - Weight::from_ref_time(173_926_000) - .saturating_add(Weight::from_proof_size(32131)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(5)) + // Minimum execution time: 203_267_000 picoseconds. + Weight::from_parts(236_121_000, 32131) + .saturating_add(T::DbWeight::get().reads(6_u64)) + .saturating_add(T::DbWeight::get().writes(5_u64)) } /// Storage: System Account (r:1 w:1) /// Proof: System Account (max_values: None, max_size: Some(96), added: 2571, mode: MaxEncodedLen) @@ -168,11 +185,10 @@ impl pallet_subspace::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `6537` // Estimated: `114456` - // Minimum execution time: 625_730 nanoseconds. - Weight::from_ref_time(754_215_000) - .saturating_add(Weight::from_proof_size(114456)) - .saturating_add(T::DbWeight::get().reads(33)) - .saturating_add(T::DbWeight::get().writes(23)) + // Minimum execution time: 608_522_000 picoseconds. + Weight::from_parts(686_874_000, 114456) + .saturating_add(T::DbWeight::get().reads(33_u64)) + .saturating_add(T::DbWeight::get().writes(23_u64)) } /// Storage: SubspaceModule Uids (r:2 w:0) /// Proof Skipped: SubspaceModule Uids (max_values: None, max_size: None, mode: Measured) @@ -190,11 +206,10 @@ impl pallet_subspace::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3743` // Estimated: `41086` - // Minimum execution time: 207_375 nanoseconds. - Weight::from_ref_time(260_385_000) - .saturating_add(Weight::from_proof_size(41086)) - .saturating_add(T::DbWeight::get().reads(9)) - .saturating_add(T::DbWeight::get().writes(7)) + // Minimum execution time: 175_265_000 picoseconds. + Weight::from_parts(241_039_000, 41086) + .saturating_add(T::DbWeight::get().reads(9_u64)) + .saturating_add(T::DbWeight::get().writes(7_u64)) } /// Storage: System Account (r:11 w:11) /// Proof: System Account (max_values: None, max_size: Some(96), added: 2571, mode: MaxEncodedLen) @@ -202,11 +217,10 @@ impl pallet_subspace::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `13983` // Estimated: `28281` - // Minimum execution time: 246_166 nanoseconds. - Weight::from_ref_time(334_042_000) - .saturating_add(Weight::from_proof_size(28281)) - .saturating_add(T::DbWeight::get().reads(11)) - .saturating_add(T::DbWeight::get().writes(11)) + // Minimum execution time: 223_837_000 picoseconds. + Weight::from_parts(287_843_000, 28281) + .saturating_add(T::DbWeight::get().reads(11_u64)) + .saturating_add(T::DbWeight::get().writes(11_u64)) } /// Storage: SubspaceModule Uids (r:1 w:0) /// Proof Skipped: SubspaceModule Uids (max_values: None, max_size: None, mode: Measured) @@ -224,11 +238,10 @@ impl pallet_subspace::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3437` // Estimated: `32131` - // Minimum execution time: 133_859 nanoseconds. - Weight::from_ref_time(292_779_000) - .saturating_add(Weight::from_proof_size(32131)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(5)) + // Minimum execution time: 121_539_000 picoseconds. + Weight::from_parts(125_578_000, 32131) + .saturating_add(T::DbWeight::get().reads(6_u64)) + .saturating_add(T::DbWeight::get().writes(5_u64)) } /// Storage: SubspaceModule StakeTo (r:1 w:1) /// Proof Skipped: SubspaceModule StakeTo (max_values: None, max_size: None, mode: Measured) @@ -246,11 +259,10 @@ impl pallet_subspace::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `6521` // Estimated: `114376` - // Minimum execution time: 619_843 nanoseconds. - Weight::from_ref_time(691_353_000) - .saturating_add(Weight::from_proof_size(114376)) - .saturating_add(T::DbWeight::get().reads(33)) - .saturating_add(T::DbWeight::get().writes(23)) + // Minimum execution time: 490_008_000 picoseconds. + Weight::from_parts(531_806_000, 114376) + .saturating_add(T::DbWeight::get().reads(33_u64)) + .saturating_add(T::DbWeight::get().writes(23_u64)) } /// Storage: SubspaceModule SubnetNamespace (r:3 w:0) /// Proof Skipped: SubspaceModule SubnetNamespace (max_values: None, max_size: None, mode: Measured) @@ -274,11 +286,10 @@ impl pallet_subspace::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1039` // Estimated: `21726` - // Minimum execution time: 66_825 nanoseconds. - Weight::from_ref_time(87_146_000) - .saturating_add(Weight::from_proof_size(21726)) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(7)) + // Minimum execution time: 63_589_000 picoseconds. + Weight::from_parts(64_674_000, 21726) + .saturating_add(T::DbWeight::get().reads(5_u64)) + .saturating_add(T::DbWeight::get().writes(7_u64)) } /// Storage: SubspaceModule SubnetNamespace (r:3 w:1) /// Proof Skipped: SubspaceModule SubnetNamespace (max_values: None, max_size: None, mode: Measured) @@ -332,11 +343,10 @@ impl pallet_subspace::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `5890` // Estimated: `173186` - // Minimum execution time: 226_493 nanoseconds. - Weight::from_ref_time(281_820_000) - .saturating_add(Weight::from_proof_size(173186)) - .saturating_add(T::DbWeight::get().reads(16)) - .saturating_add(T::DbWeight::get().writes(24)) + // Minimum execution time: 220_339_000 picoseconds. + Weight::from_parts(290_347_000, 173186) + .saturating_add(T::DbWeight::get().reads(16_u64)) + .saturating_add(T::DbWeight::get().writes(24_u64)) } /// Storage: SubspaceModule SubnetNamespace (r:3 w:0) /// Proof Skipped: SubspaceModule SubnetNamespace (max_values: None, max_size: None, mode: Measured) @@ -352,11 +362,10 @@ impl pallet_subspace::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1227` // Estimated: `21480` - // Minimum execution time: 78_514 nanoseconds. - Weight::from_ref_time(97_732_000) - .saturating_add(Weight::from_proof_size(21480)) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(2)) + // Minimum execution time: 85_543_000 picoseconds. + Weight::from_parts(104_062_000, 21480) + .saturating_add(T::DbWeight::get().reads(7_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) } /// Storage: SubspaceModule MaxAllowedSubnets (r:0 w:1) /// Proof Skipped: SubspaceModule MaxAllowedSubnets (max_values: Some(1), max_size: None, mode: Measured) @@ -374,9 +383,345 @@ impl pallet_subspace::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `543` // Estimated: `3258` - // Minimum execution time: 27_380 nanoseconds. - Weight::from_ref_time(31_034_000) - .saturating_add(Weight::from_proof_size(3258)) - .saturating_add(T::DbWeight::get().writes(6)) + // Minimum execution time: 31_261_000 picoseconds. + Weight::from_parts(56_067_000, 3258) + .saturating_add(T::DbWeight::get().writes(6_u64)) } } + +// For backwards compatibility and tests. +impl WeightInfo for () { + /// Storage: SubspaceModule N (r:2 w:1) + /// Proof Skipped: SubspaceModule N (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule MaxAllowedSubnets (r:1 w:0) + /// Proof Skipped: SubspaceModule MaxAllowedSubnets (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(96), added: 2571, mode: MaxEncodedLen) + /// Storage: SubspaceModule MinStake (r:2 w:1) + /// Proof Skipped: SubspaceModule MinStake (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule RegistrationsPerBlock (r:1 w:1) + /// Proof Skipped: SubspaceModule RegistrationsPerBlock (max_values: Some(1), max_size: None, mode: Measured) + /// Storage: SubspaceModule MaxRegistrationsPerBlock (r:1 w:0) + /// Proof Skipped: SubspaceModule MaxRegistrationsPerBlock (max_values: Some(1), max_size: None, mode: Measured) + /// Storage: SubspaceModule SubnetNamespace (r:1 w:1) + /// Proof Skipped: SubspaceModule SubnetNamespace (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule ImmunityPeriod (r:1 w:1) + /// Proof Skipped: SubspaceModule ImmunityPeriod (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule MinAllowedWeights (r:1 w:1) + /// Proof Skipped: SubspaceModule MinAllowedWeights (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule MaxAllowedWeights (r:1 w:1) + /// Proof Skipped: SubspaceModule MaxAllowedWeights (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule MaxAllowedUids (r:1 w:1) + /// Proof Skipped: SubspaceModule MaxAllowedUids (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Tempo (r:1 w:1) + /// Proof Skipped: SubspaceModule Tempo (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Founder (r:1 w:1) + /// Proof Skipped: SubspaceModule Founder (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule VotePeriod (r:1 w:0) + /// Proof Skipped: SubspaceModule VotePeriod (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule VoteThreshold (r:1 w:0) + /// Proof Skipped: SubspaceModule VoteThreshold (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule TotalSubnets (r:1 w:1) + /// Proof Skipped: SubspaceModule TotalSubnets (max_values: Some(1), max_size: None, mode: Measured) + /// Storage: SubspaceModule Emission (r:1 w:1) + /// Proof Skipped: SubspaceModule Emission (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Incentive (r:1 w:1) + /// Proof Skipped: SubspaceModule Incentive (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Dividends (r:1 w:1) + /// Proof Skipped: SubspaceModule Dividends (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule LastUpdate (r:1 w:1) + /// Proof Skipped: SubspaceModule LastUpdate (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule DelegationFee (r:1 w:1) + /// Proof Skipped: SubspaceModule DelegationFee (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule StakeFrom (r:1 w:1) + /// Proof Skipped: SubspaceModule StakeFrom (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule StakeTo (r:1 w:1) + /// Proof Skipped: SubspaceModule StakeTo (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Stake (r:1 w:1) + /// Proof Skipped: SubspaceModule Stake (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule TotalStake (r:1 w:1) + /// Proof Skipped: SubspaceModule TotalStake (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule RegistrationBlock (r:0 w:1) + /// Proof Skipped: SubspaceModule RegistrationBlock (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Address (r:0 w:1) + /// Proof Skipped: SubspaceModule Address (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Names (r:0 w:1) + /// Proof Skipped: SubspaceModule Names (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Keys (r:0 w:1) + /// Proof Skipped: SubspaceModule Keys (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Uids (r:0 w:1) + /// Proof Skipped: SubspaceModule Uids (max_values: None, max_size: None, mode: Measured) + fn register() -> Weight { + // Proof Size summary in bytes: + // Measured: `5352` + // Estimated: `214209` + // Minimum execution time: 225_483_000 picoseconds. + Weight::from_parts(295_319_000, 214209) + .saturating_add(RocksDbWeight::get().reads(27_u64)) + .saturating_add(RocksDbWeight::get().writes(26_u64)) + } + /// Storage: SubspaceModule Uids (r:1 w:0) + /// Proof Skipped: SubspaceModule Uids (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Stake (r:1 w:0) + /// Proof Skipped: SubspaceModule Stake (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule N (r:1 w:0) + /// Proof Skipped: SubspaceModule N (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Keys (r:10 w:0) + /// Proof Skipped: SubspaceModule Keys (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule MinAllowedWeights (r:1 w:0) + /// Proof Skipped: SubspaceModule MinAllowedWeights (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule MaxAllowedWeights (r:1 w:0) + /// Proof Skipped: SubspaceModule MaxAllowedWeights (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule LastUpdate (r:1 w:1) + /// Proof Skipped: SubspaceModule LastUpdate (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Weights (r:0 w:1) + /// Proof Skipped: SubspaceModule Weights (max_values: None, max_size: None, mode: Measured) + fn set_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `2500` + // Estimated: `59600` + // Minimum execution time: 182_915_000 picoseconds. + Weight::from_parts(222_199_000, 59600) + .saturating_add(RocksDbWeight::get().reads(16_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: SubspaceModule Uids (r:1 w:0) + /// Proof Skipped: SubspaceModule Uids (max_values: None, max_size: None, mode: Measured) + /// Storage: System Account (r:1 w:1) + /// Proof: System Account (max_values: None, max_size: Some(96), added: 2571, mode: MaxEncodedLen) + /// Storage: SubspaceModule StakeTo (r:1 w:1) + /// Proof Skipped: SubspaceModule StakeTo (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule StakeFrom (r:1 w:1) + /// Proof Skipped: SubspaceModule StakeFrom (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Stake (r:1 w:1) + /// Proof Skipped: SubspaceModule Stake (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule TotalStake (r:1 w:1) + /// Proof Skipped: SubspaceModule TotalStake (max_values: None, max_size: None, mode: Measured) + fn add_stake() -> Weight { + // Proof Size summary in bytes: + // Measured: `3437` + // Estimated: `32131` + // Minimum execution time: 203_267_000 picoseconds. + Weight::from_parts(236_121_000, 32131) + .saturating_add(RocksDbWeight::get().reads(6_u64)) + .saturating_add(RocksDbWeight::get().writes(5_u64)) + } + /// Storage: System Account (r:1 w:1) + /// Proof: System Account (max_values: None, max_size: Some(96), added: 2571, mode: MaxEncodedLen) + /// Storage: SubspaceModule Uids (r:10 w:0) + /// Proof Skipped: SubspaceModule Uids (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule StakeTo (r:1 w:1) + /// Proof Skipped: SubspaceModule StakeTo (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule StakeFrom (r:10 w:10) + /// Proof Skipped: SubspaceModule StakeFrom (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Stake (r:10 w:10) + /// Proof Skipped: SubspaceModule Stake (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule TotalStake (r:1 w:1) + /// Proof Skipped: SubspaceModule TotalStake (max_values: None, max_size: None, mode: Measured) + fn add_stake_multiple() -> Weight { + // Proof Size summary in bytes: + // Measured: `6537` + // Estimated: `114456` + // Minimum execution time: 608_522_000 picoseconds. + Weight::from_parts(686_874_000, 114456) + .saturating_add(RocksDbWeight::get().reads(33_u64)) + .saturating_add(RocksDbWeight::get().writes(23_u64)) + } + /// Storage: SubspaceModule Uids (r:2 w:0) + /// Proof Skipped: SubspaceModule Uids (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule StakeTo (r:1 w:1) + /// Proof Skipped: SubspaceModule StakeTo (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule StakeFrom (r:2 w:2) + /// Proof Skipped: SubspaceModule StakeFrom (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Stake (r:2 w:2) + /// Proof Skipped: SubspaceModule Stake (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule TotalStake (r:1 w:1) + /// Proof Skipped: SubspaceModule TotalStake (max_values: None, max_size: None, mode: Measured) + /// Storage: System Account (r:1 w:1) + /// Proof: System Account (max_values: None, max_size: Some(96), added: 2571, mode: MaxEncodedLen) + fn transfer_stake() -> Weight { + // Proof Size summary in bytes: + // Measured: `3743` + // Estimated: `41086` + // Minimum execution time: 175_265_000 picoseconds. + Weight::from_parts(241_039_000, 41086) + .saturating_add(RocksDbWeight::get().reads(9_u64)) + .saturating_add(RocksDbWeight::get().writes(7_u64)) + } + /// Storage: System Account (r:11 w:11) + /// Proof: System Account (max_values: None, max_size: Some(96), added: 2571, mode: MaxEncodedLen) + fn transfer_multiple() -> Weight { + // Proof Size summary in bytes: + // Measured: `13983` + // Estimated: `28281` + // Minimum execution time: 223_837_000 picoseconds. + Weight::from_parts(287_843_000, 28281) + .saturating_add(RocksDbWeight::get().reads(11_u64)) + .saturating_add(RocksDbWeight::get().writes(11_u64)) + } + /// Storage: SubspaceModule Uids (r:1 w:0) + /// Proof Skipped: SubspaceModule Uids (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule StakeTo (r:1 w:1) + /// Proof Skipped: SubspaceModule StakeTo (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule StakeFrom (r:1 w:1) + /// Proof Skipped: SubspaceModule StakeFrom (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Stake (r:1 w:1) + /// Proof Skipped: SubspaceModule Stake (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule TotalStake (r:1 w:1) + /// Proof Skipped: SubspaceModule TotalStake (max_values: None, max_size: None, mode: Measured) + /// Storage: System Account (r:1 w:1) + /// Proof: System Account (max_values: None, max_size: Some(96), added: 2571, mode: MaxEncodedLen) + fn remove_stake() -> Weight { + // Proof Size summary in bytes: + // Measured: `3437` + // Estimated: `32131` + // Minimum execution time: 121_539_000 picoseconds. + Weight::from_parts(125_578_000, 32131) + .saturating_add(RocksDbWeight::get().reads(6_u64)) + .saturating_add(RocksDbWeight::get().writes(5_u64)) + } + /// Storage: SubspaceModule StakeTo (r:1 w:1) + /// Proof Skipped: SubspaceModule StakeTo (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Uids (r:10 w:0) + /// Proof Skipped: SubspaceModule Uids (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule StakeFrom (r:10 w:10) + /// Proof Skipped: SubspaceModule StakeFrom (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Stake (r:10 w:10) + /// Proof Skipped: SubspaceModule Stake (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule TotalStake (r:1 w:1) + /// Proof Skipped: SubspaceModule TotalStake (max_values: None, max_size: None, mode: Measured) + /// Storage: System Account (r:1 w:1) + /// Proof: System Account (max_values: None, max_size: Some(96), added: 2571, mode: MaxEncodedLen) + fn remove_stake_multiple() -> Weight { + // Proof Size summary in bytes: + // Measured: `6521` + // Estimated: `114376` + // Minimum execution time: 490_008_000 picoseconds. + Weight::from_parts(531_806_000, 114376) + .saturating_add(RocksDbWeight::get().reads(33_u64)) + .saturating_add(RocksDbWeight::get().writes(23_u64)) + } + /// Storage: SubspaceModule SubnetNamespace (r:3 w:0) + /// Proof Skipped: SubspaceModule SubnetNamespace (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Founder (r:1 w:1) + /// Proof Skipped: SubspaceModule Founder (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule N (r:1 w:0) + /// Proof Skipped: SubspaceModule N (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule MinAllowedWeights (r:0 w:1) + /// Proof Skipped: SubspaceModule MinAllowedWeights (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule MaxAllowedWeights (r:0 w:1) + /// Proof Skipped: SubspaceModule MaxAllowedWeights (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Tempo (r:0 w:1) + /// Proof Skipped: SubspaceModule Tempo (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule MinStake (r:0 w:1) + /// Proof Skipped: SubspaceModule MinStake (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule ImmunityPeriod (r:0 w:1) + /// Proof Skipped: SubspaceModule ImmunityPeriod (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule MaxAllowedUids (r:0 w:1) + /// Proof Skipped: SubspaceModule MaxAllowedUids (max_values: None, max_size: None, mode: Measured) + fn update_network() -> Weight { + // Proof Size summary in bytes: + // Measured: `1039` + // Estimated: `21726` + // Minimum execution time: 63_589_000 picoseconds. + Weight::from_parts(64_674_000, 21726) + .saturating_add(RocksDbWeight::get().reads(5_u64)) + .saturating_add(RocksDbWeight::get().writes(7_u64)) + } + /// Storage: SubspaceModule SubnetNamespace (r:3 w:1) + /// Proof Skipped: SubspaceModule SubnetNamespace (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Founder (r:1 w:1) + /// Proof Skipped: SubspaceModule Founder (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule N (r:1 w:1) + /// Proof Skipped: SubspaceModule N (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Stake (r:2 w:1) + /// Proof Skipped: SubspaceModule Stake (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule StakeFrom (r:1 w:1) + /// Proof Skipped: SubspaceModule StakeFrom (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule StakeTo (r:1 w:1) + /// Proof Skipped: SubspaceModule StakeTo (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule TotalStake (r:1 w:1) + /// Proof Skipped: SubspaceModule TotalStake (max_values: None, max_size: None, mode: Measured) + /// Storage: System Account (r:1 w:1) + /// Proof: System Account (max_values: None, max_size: Some(96), added: 2571, mode: MaxEncodedLen) + /// Storage: SubspaceModule Names (r:1 w:1) + /// Proof Skipped: SubspaceModule Names (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Address (r:1 w:1) + /// Proof Skipped: SubspaceModule Address (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Uids (r:1 w:1) + /// Proof Skipped: SubspaceModule Uids (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Keys (r:1 w:1) + /// Proof Skipped: SubspaceModule Keys (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule TotalSubnets (r:1 w:1) + /// Proof Skipped: SubspaceModule TotalSubnets (max_values: Some(1), max_size: None, mode: Measured) + /// Storage: SubspaceModule MinAllowedWeights (r:0 w:1) + /// Proof Skipped: SubspaceModule MinAllowedWeights (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule LastUpdate (r:0 w:1) + /// Proof Skipped: SubspaceModule LastUpdate (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule MaxAllowedWeights (r:0 w:1) + /// Proof Skipped: SubspaceModule MaxAllowedWeights (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Tempo (r:0 w:1) + /// Proof Skipped: SubspaceModule Tempo (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule MinStake (r:0 w:1) + /// Proof Skipped: SubspaceModule MinStake (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Dividends (r:0 w:1) + /// Proof Skipped: SubspaceModule Dividends (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Incentive (r:0 w:1) + /// Proof Skipped: SubspaceModule Incentive (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Trust (r:0 w:1) + /// Proof Skipped: SubspaceModule Trust (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Emission (r:0 w:1) + /// Proof Skipped: SubspaceModule Emission (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule ImmunityPeriod (r:0 w:1) + /// Proof Skipped: SubspaceModule ImmunityPeriod (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule MaxAllowedUids (r:0 w:1) + /// Proof Skipped: SubspaceModule MaxAllowedUids (max_values: None, max_size: None, mode: Measured) + fn remove_network() -> Weight { + // Proof Size summary in bytes: + // Measured: `5890` + // Estimated: `173186` + // Minimum execution time: 220_339_000 picoseconds. + Weight::from_parts(290_347_000, 173186) + .saturating_add(RocksDbWeight::get().reads(16_u64)) + .saturating_add(RocksDbWeight::get().writes(24_u64)) + } + /// Storage: SubspaceModule SubnetNamespace (r:3 w:0) + /// Proof Skipped: SubspaceModule SubnetNamespace (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Uids (r:1 w:0) + /// Proof Skipped: SubspaceModule Uids (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule MaxNameLength (r:1 w:0) + /// Proof Skipped: SubspaceModule MaxNameLength (max_values: Some(1), max_size: None, mode: Measured) + /// Storage: SubspaceModule Names (r:2 w:1) + /// Proof Skipped: SubspaceModule Names (max_values: None, max_size: None, mode: Measured) + /// Storage: SubspaceModule Address (r:0 w:1) + /// Proof Skipped: SubspaceModule Address (max_values: None, max_size: None, mode: Measured) + fn update_module() -> Weight { + // Proof Size summary in bytes: + // Measured: `1227` + // Estimated: `21480` + // Minimum execution time: 85_543_000 picoseconds. + Weight::from_parts(104_062_000, 21480) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: SubspaceModule MaxAllowedSubnets (r:0 w:1) + /// Proof Skipped: SubspaceModule MaxAllowedSubnets (max_values: Some(1), max_size: None, mode: Measured) + /// Storage: SubspaceModule MaxAllowedModules (r:0 w:1) + /// Proof Skipped: SubspaceModule MaxAllowedModules (max_values: Some(1), max_size: None, mode: Measured) + /// Storage: SubspaceModule MaxRegistrationsPerBlock (r:0 w:1) + /// Proof Skipped: SubspaceModule MaxRegistrationsPerBlock (max_values: Some(1), max_size: None, mode: Measured) + /// Storage: SubspaceModule TxRateLimit (r:0 w:1) + /// Proof Skipped: SubspaceModule TxRateLimit (max_values: Some(1), max_size: None, mode: Measured) + /// Storage: SubspaceModule MaxNameLength (r:0 w:1) + /// Proof Skipped: SubspaceModule MaxNameLength (max_values: Some(1), max_size: None, mode: Measured) + /// Storage: SubspaceModule UnitEmission (r:0 w:1) + /// Proof Skipped: SubspaceModule UnitEmission (max_values: Some(1), max_size: None, mode: Measured) + fn update_global() -> Weight { + // Proof Size summary in bytes: + // Measured: `543` + // Estimated: `3258` + // Minimum execution time: 31_261_000 picoseconds. + Weight::from_parts(56_067_000, 3258) + .saturating_add(RocksDbWeight::get().writes(6_u64)) + } +} \ No newline at end of file diff --git a/pallets/subspace/src/lib.rs b/pallets/subspace/src/lib.rs index 53d317f8e..fafc023cf 100644 --- a/pallets/subspace/src/lib.rs +++ b/pallets/subspace/src/lib.rs @@ -28,6 +28,9 @@ use sp_std::marker::PhantomData; #[cfg(feature = "runtime-benchmarks")] mod benchmarking; +pub mod autogen_weights; +pub use autogen_weights::WeightInfo; + #[cfg(test)] mod mock; @@ -41,10 +44,11 @@ mod registration; mod staking; mod step; mod global; -mod weights; +pub mod weights; #[frame_support::pallet] pub mod pallet { + use super::*; use frame_support::{inherent::Vec, pallet_prelude::*, sp_std::vec, traits::Currency}; use frame_system::pallet_prelude::*; use scale_info::prelude::string::String; @@ -65,6 +69,9 @@ pub mod pallet { // --- Currency type that will be used to place deposits on modules type Currency: Currency + Send + Sync; + + /// Type representing the weight of this pallet + type WeightInfo: WeightInfo; } pub type AccountIdOf = ::AccountId; @@ -616,9 +623,7 @@ pub mod pallet { // Dispatchable functions must be annotated with a weight and must return a DispatchResult. #[pallet::call] impl Pallet { - #[pallet::weight((Weight::from_ref_time(0) - .saturating_add(T::DbWeight::get().reads(0)) - .saturating_add(T::DbWeight::get().writes(0)), DispatchClass::Normal, Pays::No))] + #[pallet::weight(T::WeightInfo::set_weights())] pub fn set_weights( origin: OriginFor, netuid: u16, @@ -628,9 +633,7 @@ pub mod pallet { Self::do_set_weights(origin, netuid, uids, weights) } - #[pallet::weight((Weight::from_ref_time(0) - .saturating_add(T::DbWeight::get().reads(0)) - .saturating_add(T::DbWeight::get().writes(0)), DispatchClass::Normal, Pays::No))] + #[pallet::weight(T::WeightInfo::add_stake())] pub fn add_stake( origin: OriginFor, netuid: u16, @@ -640,9 +643,7 @@ pub mod pallet { Self::do_add_stake(origin, netuid, module_key, amount) } - #[pallet::weight((Weight::from_ref_time(0) - .saturating_add(T::DbWeight::get().reads(0)) - .saturating_add(T::DbWeight::get().writes(0)), DispatchClass::Normal, Pays::No))] + #[pallet::weight(T::WeightInfo::add_stake_multiple())] pub fn add_stake_multiple( origin: OriginFor, netuid: u16, @@ -652,9 +653,7 @@ pub mod pallet { Self::do_add_stake_multiple(origin, netuid, module_keys, amounts) } - #[pallet::weight((Weight::from_ref_time(66_000_000) - .saturating_add(T::DbWeight::get().reads(8)) - .saturating_add(T::DbWeight::get().writes(6)), DispatchClass::Normal, Pays::No))] + #[pallet::weight(T::WeightInfo::remove_stake())] pub fn remove_stake( origin: OriginFor, netuid: u16, @@ -664,9 +663,7 @@ pub mod pallet { Self::do_remove_stake(origin, netuid, module_key, amount) } - #[pallet::weight((Weight::from_ref_time(65_000_000) - .saturating_add(T::DbWeight::get().reads(8)) - .saturating_add(T::DbWeight::get().writes(6)), DispatchClass::Normal, Pays::No))] + #[pallet::weight(T::WeightInfo::remove_stake_multiple())] pub fn remove_stake_multiple( origin: OriginFor, netuid: u16, @@ -677,9 +674,7 @@ pub mod pallet { } - #[pallet::weight((Weight::from_ref_time(65_000_000) - .saturating_add(T::DbWeight::get().reads(8)) - .saturating_add(T::DbWeight::get().writes(6)), DispatchClass::Normal, Pays::No))] + #[pallet::weight(T::WeightInfo::transfer_stake())] pub fn transfer_stake( origin: OriginFor, // --- The account that is calling this function. netuid: u16, // --- The network id. @@ -690,9 +685,7 @@ pub mod pallet { Self::do_transfer_stake(origin, netuid, module_key, new_module_key, amount) } - #[pallet::weight((Weight::from_ref_time(65_000_000) - .saturating_add(T::DbWeight::get().reads(8)) - .saturating_add(T::DbWeight::get().writes(6)), DispatchClass::Normal, Pays::No))] + #[pallet::weight(T::WeightInfo::transfer_multiple())] pub fn transfer_multiple( origin: OriginFor, // --- The account that is calling this function. destinations: Vec, // --- The module key. @@ -701,9 +694,7 @@ pub mod pallet { Self::do_transfer_multiple(origin, destinations, amounts) } - #[pallet::weight((Weight::from_ref_time(65_000_000) - .saturating_add(T::DbWeight::get().reads(0)) - .saturating_add(T::DbWeight::get().writes(0)), DispatchClass::Normal, Pays::No))] + #[pallet::weight(T::WeightInfo::update_network())] pub fn update_network( origin: OriginFor, netuid: u16, @@ -732,16 +723,12 @@ pub mod pallet { - #[pallet::weight((Weight::from_ref_time(65_000_000) - .saturating_add(T::DbWeight::get().reads(8)) - .saturating_add(T::DbWeight::get().writes(6)), DispatchClass::Normal, Pays::No))] + #[pallet::weight(T::WeightInfo::remove_network())] pub fn remove_network(origin: OriginFor, netuid: u16) -> DispatchResult { Self::do_remove_network(origin, netuid) } - #[pallet::weight((Weight::from_ref_time(19_000_000) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)), DispatchClass::Normal, Pays::No))] + #[pallet::weight(T::WeightInfo::update_module())] pub fn update_module( origin: OriginFor, netuid: u16, @@ -752,9 +739,7 @@ pub mod pallet { Self::do_update_module(origin, netuid, name, address, delegation_fee) } - #[pallet::weight((Weight::from_ref_time(0) - .saturating_add(T::DbWeight::get().reads(0)) - .saturating_add(T::DbWeight::get().writes(0)), DispatchClass::Normal, Pays::No))] + #[pallet::weight(T::WeightInfo::register())] pub fn register( origin: OriginFor, network: Vec, @@ -767,9 +752,7 @@ pub mod pallet { } - #[pallet::weight((Weight::from_ref_time(0) - .saturating_add(T::DbWeight::get().reads(0)) - .saturating_add(T::DbWeight::get().writes(0)), DispatchClass::Normal, Pays::No))] + #[pallet::weight(T::WeightInfo::update_global())] pub fn update_global( origin: OriginFor, max_name_length: u16, diff --git a/pallets/subspace/src/mock.rs b/pallets/subspace/src/mock.rs index 1e5b9e417..e21c36dea 100644 --- a/pallets/subspace/src/mock.rs +++ b/pallets/subspace/src/mock.rs @@ -106,6 +106,7 @@ impl system::Config for Test { impl pallet_subspace::Config for Test { type RuntimeEvent = RuntimeEvent; type Currency = Balances; + type WeightInfo = (); } // Build genesis storage according to the mock runtime. diff --git a/pallets/subspace/tests/test_mock.rs b/pallets/subspace/tests/test_mock.rs index f41135a83..6e3a90b9c 100644 --- a/pallets/subspace/tests/test_mock.rs +++ b/pallets/subspace/tests/test_mock.rs @@ -7,6 +7,7 @@ use frame_support::{ }; use frame_system as system; use frame_system::{limits, Config, EnsureNever, EnsureRoot, RawOrigin}; +use pallet_subspace::autogen_weights::SubstrateWeight; use sp_core::{Get, H256, U256}; use sp_runtime::{ testing::Header, @@ -105,6 +106,7 @@ impl system::Config for Test { impl pallet_subspace::Config for Test { type RuntimeEvent = RuntimeEvent; type Currency = Balances; + type WeightInfo = SubstrateWeight; } // Build genesis storage according to the mock runtime. diff --git a/pallets/subspace/tests/weights.rs b/pallets/subspace/tests/weights.rs index b90109143..ef9ff06f5 100644 --- a/pallets/subspace/tests/weights.rs +++ b/pallets/subspace/tests/weights.rs @@ -26,7 +26,7 @@ fn test_set_weights_dispatch_info_ok() { let dispatch_info = call.get_dispatch_info(); assert_eq!(dispatch_info.class, DispatchClass::Normal); - assert_eq!(dispatch_info.pays_fee, Pays::No); + assert_eq!(dispatch_info.pays_fee, Pays::Yes); }); } diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 202bc8aa1..93f3349cb 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -325,6 +325,7 @@ impl pallet_utility::Config for Runtime { impl pallet_subspace::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Currency = Balances; + type WeightInfo = pallet_subspace::autogen_weights::SubstrateWeight; } // Create the runtime by composing the FRAME pallets that were previously configured.