--- a/node/cli/src/service.rs +++ b/node/cli/src/service.rs @@ -614,7 +614,7 @@ para_id, collator_key: collator_key.expect("cli args do not allow this"), announce_block, - } + }, )?; } --- a/pallets/app-promotion/src/weights.rs +++ b/pallets/app-promotion/src/weights.rs @@ -3,10 +3,10 @@ //! Autogenerated weights for pallet_app_promotion //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-09-26, STEPS: `50`, REPEAT: `400`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-10-12, STEPS: `50`, REPEAT: `80`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `bench-host`, CPU: `Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz` -//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 +//! HOSTNAME: `ubuntu-11`, CPU: `QEMU Virtual CPU version 2.5+` +//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 // Executed Command: // target/production/unique-collator @@ -20,7 +20,7 @@ // * // --template=.maintain/frame-weight-template.hbs // --steps=50 -// --repeat=400 +// --repeat=80 // --heap-pages=4096 // --output=./pallets/app-promotion/src/weights.rs @@ -48,185 +48,185 @@ /// Weights for pallet_app_promotion using the Substrate node and recommended hardware. pub struct SubstrateWeight(PhantomData); impl WeightInfo for SubstrateWeight { - /// Storage: Maintenance Enabled (r:1 w:0) - /// Proof: Maintenance Enabled (max_values: Some(1), max_size: Some(1), added: 496, mode: MaxEncodedLen) - /// Storage: AppPromotion PendingUnstake (r:1 w:1) - /// Proof: AppPromotion PendingUnstake (max_values: None, max_size: Some(157), added: 2632, mode: MaxEncodedLen) - /// Storage: Balances Freezes (r:3 w:3) - /// Proof: Balances Freezes (max_values: None, max_size: Some(369), added: 2844, mode: MaxEncodedLen) - /// Storage: System Account (r:3 w:3) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Balances Locks (r:3 w:0) - /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen) + /// Storage: `Maintenance::Enabled` (r:1 w:0) + /// Proof: `Maintenance::Enabled` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::PendingUnstake` (r:1 w:1) + /// Proof: `AppPromotion::PendingUnstake` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `MaxEncodedLen`) + /// Storage: `Balances::Freezes` (r:3 w:3) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(369), added: 2844, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:3 w:3) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Locks` (r:3 w:0) + /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) /// The range of component `b` is `[0, 3]`. fn on_initialize(b: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `222 + b * (285 ±0)` // Estimated: `3622 + b * (3774 ±0)` - // Minimum execution time: 4_107_000 picoseconds. - Weight::from_parts(4_751_973, 3622) - // Standard Error: 4_668 - .saturating_add(Weight::from_parts(10_570_330, 0).saturating_mul(b.into())) + // Minimum execution time: 6_031_000 picoseconds. + Weight::from_parts(6_880_848, 3622) + // Standard Error: 18_753 + .saturating_add(Weight::from_parts(22_907_186, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(b.into()))) .saturating_add(Weight::from_parts(0, 3774).saturating_mul(b.into())) } - /// Storage: AppPromotion Admin (r:0 w:1) - /// Proof: AppPromotion Admin (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen) + /// Storage: `AppPromotion::Admin` (r:0 w:1) + /// Proof: `AppPromotion::Admin` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) fn set_admin_address() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_459_000 picoseconds. - Weight::from_parts(3_627_000, 0) + // Minimum execution time: 7_565_000 picoseconds. + Weight::from_parts(7_795_000, 0) .saturating_add(T::DbWeight::get().writes(1_u64)) } - /// Storage: AppPromotion Admin (r:1 w:0) - /// Proof: AppPromotion Admin (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen) - /// Storage: Configuration AppPromomotionConfigurationOverride (r:1 w:0) - /// Proof: Configuration AppPromomotionConfigurationOverride (max_values: Some(1), max_size: Some(17), added: 512, mode: MaxEncodedLen) - /// Storage: ParachainSystem ValidationData (r:1 w:0) - /// Proof Skipped: ParachainSystem ValidationData (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: AppPromotion PreviousCalculatedRecord (r:1 w:1) - /// Proof: AppPromotion PreviousCalculatedRecord (max_values: Some(1), max_size: Some(36), added: 531, mode: MaxEncodedLen) - /// Storage: AppPromotion Staked (r:1001 w:1000) - /// Proof: AppPromotion Staked (max_values: None, max_size: Some(80), added: 2555, mode: MaxEncodedLen) - /// Storage: System Account (r:101 w:101) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Balances Freezes (r:100 w:100) - /// Proof: Balances Freezes (max_values: None, max_size: Some(369), added: 2844, mode: MaxEncodedLen) - /// Storage: Balances Locks (r:100 w:0) - /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen) - /// Storage: AppPromotion TotalStaked (r:1 w:1) - /// Proof: AppPromotion TotalStaked (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen) + /// Storage: `AppPromotion::Admin` (r:1 w:0) + /// Proof: `AppPromotion::Admin` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `Configuration::AppPromomotionConfigurationOverride` (r:1 w:0) + /// Proof: `Configuration::AppPromomotionConfigurationOverride` (`max_values`: Some(1), `max_size`: Some(17), added: 512, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `AppPromotion::PreviousCalculatedRecord` (r:1 w:1) + /// Proof: `AppPromotion::PreviousCalculatedRecord` (`max_values`: Some(1), `max_size`: Some(36), added: 531, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::Staked` (r:1001 w:1000) + /// Proof: `AppPromotion::Staked` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:101 w:101) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Freezes` (r:100 w:100) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(369), added: 2844, mode: `MaxEncodedLen`) + /// Storage: `Balances::Locks` (r:100 w:0) + /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::TotalStaked` (r:1 w:1) + /// Proof: `AppPromotion::TotalStaked` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) /// The range of component `b` is `[1, 100]`. fn payout_stakers(b: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `564 + b * (641 ±0)` // Estimated: `3593 + b * (25550 ±0)` - // Minimum execution time: 73_245_000 picoseconds. - Weight::from_parts(74_196_000, 3593) - // Standard Error: 8_231 - .saturating_add(Weight::from_parts(49_090_053, 0).saturating_mul(b.into())) + // Minimum execution time: 146_577_000 picoseconds. + Weight::from_parts(147_970_000, 3593) + // Standard Error: 59_065 + .saturating_add(Weight::from_parts(115_527_092, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().reads((13_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(T::DbWeight::get().writes((12_u64).saturating_mul(b.into()))) .saturating_add(Weight::from_parts(0, 25550).saturating_mul(b.into())) } - /// Storage: AppPromotion StakesPerAccount (r:1 w:1) - /// Proof: AppPromotion StakesPerAccount (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen) - /// Storage: Configuration AppPromomotionConfigurationOverride (r:1 w:0) - /// Proof: Configuration AppPromomotionConfigurationOverride (max_values: Some(1), max_size: Some(17), added: 512, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Balances Freezes (r:1 w:1) - /// Proof: Balances Freezes (max_values: None, max_size: Some(369), added: 2844, mode: MaxEncodedLen) - /// Storage: Balances Locks (r:1 w:0) - /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen) - /// Storage: ParachainSystem ValidationData (r:1 w:0) - /// Proof Skipped: ParachainSystem ValidationData (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: AppPromotion Staked (r:1 w:1) - /// Proof: AppPromotion Staked (max_values: None, max_size: Some(80), added: 2555, mode: MaxEncodedLen) - /// Storage: AppPromotion TotalStaked (r:1 w:1) - /// Proof: AppPromotion TotalStaked (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen) + /// Storage: `AppPromotion::StakesPerAccount` (r:1 w:1) + /// Proof: `AppPromotion::StakesPerAccount` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`) + /// Storage: `Configuration::AppPromomotionConfigurationOverride` (r:1 w:0) + /// Proof: `Configuration::AppPromomotionConfigurationOverride` (`max_values`: Some(1), `max_size`: Some(17), added: 512, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Freezes` (r:1 w:1) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(369), added: 2844, mode: `MaxEncodedLen`) + /// Storage: `Balances::Locks` (r:1 w:0) + /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `AppPromotion::Staked` (r:1 w:1) + /// Proof: `AppPromotion::Staked` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::TotalStaked` (r:1 w:1) + /// Proof: `AppPromotion::TotalStaked` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) fn stake() -> Weight { // Proof Size summary in bytes: // Measured: `389` // Estimated: `4764` - // Minimum execution time: 21_088_000 picoseconds. - Weight::from_parts(21_639_000, 4764) + // Minimum execution time: 46_889_000 picoseconds. + Weight::from_parts(47_549_000, 4764) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(5_u64)) } - /// Storage: Configuration AppPromomotionConfigurationOverride (r:1 w:0) - /// Proof: Configuration AppPromomotionConfigurationOverride (max_values: Some(1), max_size: Some(17), added: 512, mode: MaxEncodedLen) - /// Storage: AppPromotion PendingUnstake (r:1 w:1) - /// Proof: AppPromotion PendingUnstake (max_values: None, max_size: Some(157), added: 2632, mode: MaxEncodedLen) - /// Storage: AppPromotion Staked (r:11 w:10) - /// Proof: AppPromotion Staked (max_values: None, max_size: Some(80), added: 2555, mode: MaxEncodedLen) - /// Storage: AppPromotion TotalStaked (r:1 w:1) - /// Proof: AppPromotion TotalStaked (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen) - /// Storage: AppPromotion StakesPerAccount (r:0 w:1) - /// Proof: AppPromotion StakesPerAccount (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen) + /// Storage: `Configuration::AppPromomotionConfigurationOverride` (r:1 w:0) + /// Proof: `Configuration::AppPromomotionConfigurationOverride` (`max_values`: Some(1), `max_size`: Some(17), added: 512, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::PendingUnstake` (r:1 w:1) + /// Proof: `AppPromotion::PendingUnstake` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::Staked` (r:11 w:10) + /// Proof: `AppPromotion::Staked` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::TotalStaked` (r:1 w:1) + /// Proof: `AppPromotion::TotalStaked` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::StakesPerAccount` (r:0 w:1) + /// Proof: `AppPromotion::StakesPerAccount` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`) fn unstake_all() -> Weight { // Proof Size summary in bytes: // Measured: `829` // Estimated: `29095` - // Minimum execution time: 42_086_000 picoseconds. - Weight::from_parts(43_149_000, 29095) + // Minimum execution time: 63_069_000 picoseconds. + Weight::from_parts(64_522_000, 29095) .saturating_add(T::DbWeight::get().reads(14_u64)) .saturating_add(T::DbWeight::get().writes(13_u64)) } - /// Storage: Configuration AppPromomotionConfigurationOverride (r:1 w:0) - /// Proof: Configuration AppPromomotionConfigurationOverride (max_values: Some(1), max_size: Some(17), added: 512, mode: MaxEncodedLen) - /// Storage: AppPromotion PendingUnstake (r:1 w:1) - /// Proof: AppPromotion PendingUnstake (max_values: None, max_size: Some(157), added: 2632, mode: MaxEncodedLen) - /// Storage: AppPromotion Staked (r:11 w:10) - /// Proof: AppPromotion Staked (max_values: None, max_size: Some(80), added: 2555, mode: MaxEncodedLen) - /// Storage: AppPromotion TotalStaked (r:1 w:1) - /// Proof: AppPromotion TotalStaked (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen) - /// Storage: AppPromotion StakesPerAccount (r:1 w:1) - /// Proof: AppPromotion StakesPerAccount (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen) + /// Storage: `Configuration::AppPromomotionConfigurationOverride` (r:1 w:0) + /// Proof: `Configuration::AppPromomotionConfigurationOverride` (`max_values`: Some(1), `max_size`: Some(17), added: 512, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::PendingUnstake` (r:1 w:1) + /// Proof: `AppPromotion::PendingUnstake` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::Staked` (r:11 w:10) + /// Proof: `AppPromotion::Staked` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::TotalStaked` (r:1 w:1) + /// Proof: `AppPromotion::TotalStaked` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::StakesPerAccount` (r:1 w:1) + /// Proof: `AppPromotion::StakesPerAccount` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`) fn unstake_partial() -> Weight { // Proof Size summary in bytes: // Measured: `829` // Estimated: `29095` - // Minimum execution time: 46_458_000 picoseconds. - Weight::from_parts(47_333_000, 29095) + // Minimum execution time: 84_649_000 picoseconds. + Weight::from_parts(86_173_000, 29095) .saturating_add(T::DbWeight::get().reads(15_u64)) .saturating_add(T::DbWeight::get().writes(13_u64)) } - /// Storage: AppPromotion Admin (r:1 w:0) - /// Proof: AppPromotion Admin (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen) - /// Storage: Common CollectionById (r:1 w:1) - /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen) + /// Storage: `AppPromotion::Admin` (r:1 w:0) + /// Proof: `AppPromotion::Admin` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `Common::CollectionById` (r:1 w:1) + /// Proof: `Common::CollectionById` (`max_values`: None, `max_size`: Some(860), added: 3335, mode: `MaxEncodedLen`) fn sponsor_collection() -> Weight { // Proof Size summary in bytes: // Measured: `1060` // Estimated: `4325` - // Minimum execution time: 12_827_000 picoseconds. - Weight::from_parts(13_610_000, 4325) + // Minimum execution time: 24_396_000 picoseconds. + Weight::from_parts(24_917_000, 4325) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } - /// Storage: AppPromotion Admin (r:1 w:0) - /// Proof: AppPromotion Admin (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen) - /// Storage: Common CollectionById (r:1 w:1) - /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen) + /// Storage: `AppPromotion::Admin` (r:1 w:0) + /// Proof: `AppPromotion::Admin` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `Common::CollectionById` (r:1 w:1) + /// Proof: `Common::CollectionById` (`max_values`: None, `max_size`: Some(860), added: 3335, mode: `MaxEncodedLen`) fn stop_sponsoring_collection() -> Weight { // Proof Size summary in bytes: // Measured: `1092` // Estimated: `4325` - // Minimum execution time: 11_899_000 picoseconds. - Weight::from_parts(12_303_000, 4325) + // Minimum execution time: 22_412_000 picoseconds. + Weight::from_parts(23_033_000, 4325) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } - /// Storage: AppPromotion Admin (r:1 w:0) - /// Proof: AppPromotion Admin (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen) - /// Storage: EvmContractHelpers Sponsoring (r:0 w:1) - /// Proof: EvmContractHelpers Sponsoring (max_values: None, max_size: Some(62), added: 2537, mode: MaxEncodedLen) + /// Storage: `AppPromotion::Admin` (r:1 w:0) + /// Proof: `AppPromotion::Admin` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `EvmContractHelpers::Sponsoring` (r:0 w:1) + /// Proof: `EvmContractHelpers::Sponsoring` (`max_values`: None, `max_size`: Some(62), added: 2537, mode: `MaxEncodedLen`) fn sponsor_contract() -> Weight { // Proof Size summary in bytes: // Measured: `198` // Estimated: `1517` - // Minimum execution time: 10_226_000 picoseconds. - Weight::from_parts(10_549_000, 1517) + // Minimum execution time: 21_621_000 picoseconds. + Weight::from_parts(22_041_000, 1517) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } - /// Storage: AppPromotion Admin (r:1 w:0) - /// Proof: AppPromotion Admin (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen) - /// Storage: EvmContractHelpers Sponsoring (r:1 w:1) - /// Proof: EvmContractHelpers Sponsoring (max_values: None, max_size: Some(62), added: 2537, mode: MaxEncodedLen) + /// Storage: `AppPromotion::Admin` (r:1 w:0) + /// Proof: `AppPromotion::Admin` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `EvmContractHelpers::Sponsoring` (r:1 w:1) + /// Proof: `EvmContractHelpers::Sponsoring` (`max_values`: None, `max_size`: Some(62), added: 2537, mode: `MaxEncodedLen`) fn stop_sponsoring_contract() -> Weight { // Proof Size summary in bytes: // Measured: `396` // Estimated: `3527` - // Minimum execution time: 10_528_000 picoseconds. - Weight::from_parts(10_842_000, 3527) + // Minimum execution time: 19_186_000 picoseconds. + Weight::from_parts(19_616_000, 3527) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -234,185 +234,185 @@ // For backwards compatibility and tests impl WeightInfo for () { - /// Storage: Maintenance Enabled (r:1 w:0) - /// Proof: Maintenance Enabled (max_values: Some(1), max_size: Some(1), added: 496, mode: MaxEncodedLen) - /// Storage: AppPromotion PendingUnstake (r:1 w:1) - /// Proof: AppPromotion PendingUnstake (max_values: None, max_size: Some(157), added: 2632, mode: MaxEncodedLen) - /// Storage: Balances Freezes (r:3 w:3) - /// Proof: Balances Freezes (max_values: None, max_size: Some(369), added: 2844, mode: MaxEncodedLen) - /// Storage: System Account (r:3 w:3) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Balances Locks (r:3 w:0) - /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen) + /// Storage: `Maintenance::Enabled` (r:1 w:0) + /// Proof: `Maintenance::Enabled` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::PendingUnstake` (r:1 w:1) + /// Proof: `AppPromotion::PendingUnstake` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `MaxEncodedLen`) + /// Storage: `Balances::Freezes` (r:3 w:3) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(369), added: 2844, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:3 w:3) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Locks` (r:3 w:0) + /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) /// The range of component `b` is `[0, 3]`. fn on_initialize(b: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `222 + b * (285 ±0)` // Estimated: `3622 + b * (3774 ±0)` - // Minimum execution time: 4_107_000 picoseconds. - Weight::from_parts(4_751_973, 3622) - // Standard Error: 4_668 - .saturating_add(Weight::from_parts(10_570_330, 0).saturating_mul(b.into())) + // Minimum execution time: 6_031_000 picoseconds. + Weight::from_parts(6_880_848, 3622) + // Standard Error: 18_753 + .saturating_add(Weight::from_parts(22_907_186, 0).saturating_mul(b.into())) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(b.into()))) .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(b.into()))) .saturating_add(Weight::from_parts(0, 3774).saturating_mul(b.into())) } - /// Storage: AppPromotion Admin (r:0 w:1) - /// Proof: AppPromotion Admin (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen) + /// Storage: `AppPromotion::Admin` (r:0 w:1) + /// Proof: `AppPromotion::Admin` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) fn set_admin_address() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_459_000 picoseconds. - Weight::from_parts(3_627_000, 0) + // Minimum execution time: 7_565_000 picoseconds. + Weight::from_parts(7_795_000, 0) .saturating_add(RocksDbWeight::get().writes(1_u64)) } - /// Storage: AppPromotion Admin (r:1 w:0) - /// Proof: AppPromotion Admin (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen) - /// Storage: Configuration AppPromomotionConfigurationOverride (r:1 w:0) - /// Proof: Configuration AppPromomotionConfigurationOverride (max_values: Some(1), max_size: Some(17), added: 512, mode: MaxEncodedLen) - /// Storage: ParachainSystem ValidationData (r:1 w:0) - /// Proof Skipped: ParachainSystem ValidationData (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: AppPromotion PreviousCalculatedRecord (r:1 w:1) - /// Proof: AppPromotion PreviousCalculatedRecord (max_values: Some(1), max_size: Some(36), added: 531, mode: MaxEncodedLen) - /// Storage: AppPromotion Staked (r:1001 w:1000) - /// Proof: AppPromotion Staked (max_values: None, max_size: Some(80), added: 2555, mode: MaxEncodedLen) - /// Storage: System Account (r:101 w:101) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Balances Freezes (r:100 w:100) - /// Proof: Balances Freezes (max_values: None, max_size: Some(369), added: 2844, mode: MaxEncodedLen) - /// Storage: Balances Locks (r:100 w:0) - /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen) - /// Storage: AppPromotion TotalStaked (r:1 w:1) - /// Proof: AppPromotion TotalStaked (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen) + /// Storage: `AppPromotion::Admin` (r:1 w:0) + /// Proof: `AppPromotion::Admin` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `Configuration::AppPromomotionConfigurationOverride` (r:1 w:0) + /// Proof: `Configuration::AppPromomotionConfigurationOverride` (`max_values`: Some(1), `max_size`: Some(17), added: 512, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `AppPromotion::PreviousCalculatedRecord` (r:1 w:1) + /// Proof: `AppPromotion::PreviousCalculatedRecord` (`max_values`: Some(1), `max_size`: Some(36), added: 531, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::Staked` (r:1001 w:1000) + /// Proof: `AppPromotion::Staked` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:101 w:101) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Freezes` (r:100 w:100) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(369), added: 2844, mode: `MaxEncodedLen`) + /// Storage: `Balances::Locks` (r:100 w:0) + /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::TotalStaked` (r:1 w:1) + /// Proof: `AppPromotion::TotalStaked` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) /// The range of component `b` is `[1, 100]`. fn payout_stakers(b: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `564 + b * (641 ±0)` // Estimated: `3593 + b * (25550 ±0)` - // Minimum execution time: 73_245_000 picoseconds. - Weight::from_parts(74_196_000, 3593) - // Standard Error: 8_231 - .saturating_add(Weight::from_parts(49_090_053, 0).saturating_mul(b.into())) + // Minimum execution time: 146_577_000 picoseconds. + Weight::from_parts(147_970_000, 3593) + // Standard Error: 59_065 + .saturating_add(Weight::from_parts(115_527_092, 0).saturating_mul(b.into())) .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().reads((13_u64).saturating_mul(b.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(RocksDbWeight::get().writes((12_u64).saturating_mul(b.into()))) .saturating_add(Weight::from_parts(0, 25550).saturating_mul(b.into())) } - /// Storage: AppPromotion StakesPerAccount (r:1 w:1) - /// Proof: AppPromotion StakesPerAccount (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen) - /// Storage: Configuration AppPromomotionConfigurationOverride (r:1 w:0) - /// Proof: Configuration AppPromomotionConfigurationOverride (max_values: Some(1), max_size: Some(17), added: 512, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Balances Freezes (r:1 w:1) - /// Proof: Balances Freezes (max_values: None, max_size: Some(369), added: 2844, mode: MaxEncodedLen) - /// Storage: Balances Locks (r:1 w:0) - /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen) - /// Storage: ParachainSystem ValidationData (r:1 w:0) - /// Proof Skipped: ParachainSystem ValidationData (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: AppPromotion Staked (r:1 w:1) - /// Proof: AppPromotion Staked (max_values: None, max_size: Some(80), added: 2555, mode: MaxEncodedLen) - /// Storage: AppPromotion TotalStaked (r:1 w:1) - /// Proof: AppPromotion TotalStaked (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen) + /// Storage: `AppPromotion::StakesPerAccount` (r:1 w:1) + /// Proof: `AppPromotion::StakesPerAccount` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`) + /// Storage: `Configuration::AppPromomotionConfigurationOverride` (r:1 w:0) + /// Proof: `Configuration::AppPromomotionConfigurationOverride` (`max_values`: Some(1), `max_size`: Some(17), added: 512, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Balances::Freezes` (r:1 w:1) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(369), added: 2844, mode: `MaxEncodedLen`) + /// Storage: `Balances::Locks` (r:1 w:0) + /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `AppPromotion::Staked` (r:1 w:1) + /// Proof: `AppPromotion::Staked` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::TotalStaked` (r:1 w:1) + /// Proof: `AppPromotion::TotalStaked` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) fn stake() -> Weight { // Proof Size summary in bytes: // Measured: `389` // Estimated: `4764` - // Minimum execution time: 21_088_000 picoseconds. - Weight::from_parts(21_639_000, 4764) + // Minimum execution time: 46_889_000 picoseconds. + Weight::from_parts(47_549_000, 4764) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(5_u64)) } - /// Storage: Configuration AppPromomotionConfigurationOverride (r:1 w:0) - /// Proof: Configuration AppPromomotionConfigurationOverride (max_values: Some(1), max_size: Some(17), added: 512, mode: MaxEncodedLen) - /// Storage: AppPromotion PendingUnstake (r:1 w:1) - /// Proof: AppPromotion PendingUnstake (max_values: None, max_size: Some(157), added: 2632, mode: MaxEncodedLen) - /// Storage: AppPromotion Staked (r:11 w:10) - /// Proof: AppPromotion Staked (max_values: None, max_size: Some(80), added: 2555, mode: MaxEncodedLen) - /// Storage: AppPromotion TotalStaked (r:1 w:1) - /// Proof: AppPromotion TotalStaked (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen) - /// Storage: AppPromotion StakesPerAccount (r:0 w:1) - /// Proof: AppPromotion StakesPerAccount (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen) + /// Storage: `Configuration::AppPromomotionConfigurationOverride` (r:1 w:0) + /// Proof: `Configuration::AppPromomotionConfigurationOverride` (`max_values`: Some(1), `max_size`: Some(17), added: 512, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::PendingUnstake` (r:1 w:1) + /// Proof: `AppPromotion::PendingUnstake` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::Staked` (r:11 w:10) + /// Proof: `AppPromotion::Staked` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::TotalStaked` (r:1 w:1) + /// Proof: `AppPromotion::TotalStaked` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::StakesPerAccount` (r:0 w:1) + /// Proof: `AppPromotion::StakesPerAccount` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`) fn unstake_all() -> Weight { // Proof Size summary in bytes: // Measured: `829` // Estimated: `29095` - // Minimum execution time: 42_086_000 picoseconds. - Weight::from_parts(43_149_000, 29095) + // Minimum execution time: 63_069_000 picoseconds. + Weight::from_parts(64_522_000, 29095) .saturating_add(RocksDbWeight::get().reads(14_u64)) .saturating_add(RocksDbWeight::get().writes(13_u64)) } - /// Storage: Configuration AppPromomotionConfigurationOverride (r:1 w:0) - /// Proof: Configuration AppPromomotionConfigurationOverride (max_values: Some(1), max_size: Some(17), added: 512, mode: MaxEncodedLen) - /// Storage: AppPromotion PendingUnstake (r:1 w:1) - /// Proof: AppPromotion PendingUnstake (max_values: None, max_size: Some(157), added: 2632, mode: MaxEncodedLen) - /// Storage: AppPromotion Staked (r:11 w:10) - /// Proof: AppPromotion Staked (max_values: None, max_size: Some(80), added: 2555, mode: MaxEncodedLen) - /// Storage: AppPromotion TotalStaked (r:1 w:1) - /// Proof: AppPromotion TotalStaked (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen) - /// Storage: AppPromotion StakesPerAccount (r:1 w:1) - /// Proof: AppPromotion StakesPerAccount (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen) + /// Storage: `Configuration::AppPromomotionConfigurationOverride` (r:1 w:0) + /// Proof: `Configuration::AppPromomotionConfigurationOverride` (`max_values`: Some(1), `max_size`: Some(17), added: 512, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::PendingUnstake` (r:1 w:1) + /// Proof: `AppPromotion::PendingUnstake` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::Staked` (r:11 w:10) + /// Proof: `AppPromotion::Staked` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::TotalStaked` (r:1 w:1) + /// Proof: `AppPromotion::TotalStaked` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + /// Storage: `AppPromotion::StakesPerAccount` (r:1 w:1) + /// Proof: `AppPromotion::StakesPerAccount` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`) fn unstake_partial() -> Weight { // Proof Size summary in bytes: // Measured: `829` // Estimated: `29095` - // Minimum execution time: 46_458_000 picoseconds. - Weight::from_parts(47_333_000, 29095) + // Minimum execution time: 84_649_000 picoseconds. + Weight::from_parts(86_173_000, 29095) .saturating_add(RocksDbWeight::get().reads(15_u64)) .saturating_add(RocksDbWeight::get().writes(13_u64)) } - /// Storage: AppPromotion Admin (r:1 w:0) - /// Proof: AppPromotion Admin (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen) - /// Storage: Common CollectionById (r:1 w:1) - /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen) + /// Storage: `AppPromotion::Admin` (r:1 w:0) + /// Proof: `AppPromotion::Admin` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `Common::CollectionById` (r:1 w:1) + /// Proof: `Common::CollectionById` (`max_values`: None, `max_size`: Some(860), added: 3335, mode: `MaxEncodedLen`) fn sponsor_collection() -> Weight { // Proof Size summary in bytes: // Measured: `1060` // Estimated: `4325` - // Minimum execution time: 12_827_000 picoseconds. - Weight::from_parts(13_610_000, 4325) + // Minimum execution time: 24_396_000 picoseconds. + Weight::from_parts(24_917_000, 4325) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } - /// Storage: AppPromotion Admin (r:1 w:0) - /// Proof: AppPromotion Admin (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen) - /// Storage: Common CollectionById (r:1 w:1) - /// Proof: Common CollectionById (max_values: None, max_size: Some(860), added: 3335, mode: MaxEncodedLen) + /// Storage: `AppPromotion::Admin` (r:1 w:0) + /// Proof: `AppPromotion::Admin` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `Common::CollectionById` (r:1 w:1) + /// Proof: `Common::CollectionById` (`max_values`: None, `max_size`: Some(860), added: 3335, mode: `MaxEncodedLen`) fn stop_sponsoring_collection() -> Weight { // Proof Size summary in bytes: // Measured: `1092` // Estimated: `4325` - // Minimum execution time: 11_899_000 picoseconds. - Weight::from_parts(12_303_000, 4325) + // Minimum execution time: 22_412_000 picoseconds. + Weight::from_parts(23_033_000, 4325) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } - /// Storage: AppPromotion Admin (r:1 w:0) - /// Proof: AppPromotion Admin (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen) - /// Storage: EvmContractHelpers Sponsoring (r:0 w:1) - /// Proof: EvmContractHelpers Sponsoring (max_values: None, max_size: Some(62), added: 2537, mode: MaxEncodedLen) + /// Storage: `AppPromotion::Admin` (r:1 w:0) + /// Proof: `AppPromotion::Admin` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `EvmContractHelpers::Sponsoring` (r:0 w:1) + /// Proof: `EvmContractHelpers::Sponsoring` (`max_values`: None, `max_size`: Some(62), added: 2537, mode: `MaxEncodedLen`) fn sponsor_contract() -> Weight { // Proof Size summary in bytes: // Measured: `198` // Estimated: `1517` - // Minimum execution time: 10_226_000 picoseconds. - Weight::from_parts(10_549_000, 1517) + // Minimum execution time: 21_621_000 picoseconds. + Weight::from_parts(22_041_000, 1517) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } - /// Storage: AppPromotion Admin (r:1 w:0) - /// Proof: AppPromotion Admin (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen) - /// Storage: EvmContractHelpers Sponsoring (r:1 w:1) - /// Proof: EvmContractHelpers Sponsoring (max_values: None, max_size: Some(62), added: 2537, mode: MaxEncodedLen) + /// Storage: `AppPromotion::Admin` (r:1 w:0) + /// Proof: `AppPromotion::Admin` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `EvmContractHelpers::Sponsoring` (r:1 w:1) + /// Proof: `EvmContractHelpers::Sponsoring` (`max_values`: None, `max_size`: Some(62), added: 2537, mode: `MaxEncodedLen`) fn stop_sponsoring_contract() -> Weight { // Proof Size summary in bytes: // Measured: `396` // Estimated: `3527` - // Minimum execution time: 10_528_000 picoseconds. - Weight::from_parts(10_842_000, 3527) + // Minimum execution time: 19_186_000 picoseconds. + Weight::from_parts(19_616_000, 3527) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } --- a/pallets/maintenance/src/benchmarking.rs +++ b/pallets/maintenance/src/benchmarking.rs @@ -15,9 +15,8 @@ // along with Unique Network. If not, see . use frame_benchmarking::v2::*; -use frame_support::{ensure, pallet_prelude::Weight, traits::StorePreimage}; +use frame_support::ensure; use frame_system::RawOrigin; -use parity_scale_codec::Encode; use sp_std::vec; use super::*; @@ -45,28 +44,6 @@ _(RawOrigin::Root); ensure!(!>::get(), "didn't disable the MM"); - - Ok(()) - } - - // TODO: fix - // #[pov_mode = MaxEncodedLen { - // // PoV size is deducted from weight_bound - // Preimage::PreimageFor: Measured - // }] - #[benchmark] - fn execute_preimage() -> Result<(), BenchmarkError> { - let call = ::RuntimeCall::from(frame_system::Call::::remark { - remark: 1u32.encode(), - }); - let hash = T::Preimages::note(call.encode().into())?; - - #[extrinsic_call] - _( - RawOrigin::Root, - hash, - Weight::from_parts(100000000000, 100000000000), - ); Ok(()) } --- a/pallets/maintenance/src/lib.rs +++ b/pallets/maintenance/src/lib.rs @@ -32,7 +32,6 @@ traits::{EnsureOrigin, QueryPreimage, StorePreimage}, }; use frame_system::pallet_prelude::*; - use sp_core::H256; use sp_runtime::traits::Dispatchable; use crate::weights::WeightInfo; @@ -102,50 +101,6 @@ Self::deposit_event(Event::MaintenanceDisabled); Ok(()) - } - - /// Execute a runtime call stored as a preimage. - /// - /// `weight_bound` is the maximum weight that the caller is willing - /// to allow the extrinsic to be executed with. - #[pallet::call_index(2)] - #[pallet::weight(::WeightInfo::execute_preimage() + *weight_bound)] - pub fn execute_preimage( - origin: OriginFor, - hash: H256, - weight_bound: Weight, - ) -> DispatchResultWithPostInfo { - use parity_scale_codec::Decode; - - T::PreimageOrigin::ensure_origin(origin.clone())?; - - let data = T::Preimages::fetch(&hash, None)?; - weight_bound.set_proof_size( - weight_bound - .proof_size() - .checked_sub( - data.len() - .try_into() - .map_err(|_| DispatchError::Corruption)?, - ) - .ok_or(DispatchError::Exhausted)?, - ); - - let call = ::RuntimeCall::decode(&mut &data[..]) - .map_err(|_| DispatchError::Corruption)?; - - ensure!( - call.get_dispatch_info().weight.all_lte(weight_bound), - DispatchError::Exhausted - ); - - match call.dispatch(origin) { - Ok(_) => Ok(Pays::No.into()), - Err(error_and_info) => Err(DispatchErrorWithPostInfo { - post_info: Pays::No.into(), - error: error_and_info.error, - }), - } } } } --- a/pallets/maintenance/src/weights.rs +++ b/pallets/maintenance/src/weights.rs @@ -35,7 +35,6 @@ pub trait WeightInfo { fn enable() -> Weight; fn disable() -> Weight; - fn execute_preimage() -> Weight; } /// Weights for pallet_maintenance using the Substrate node and recommended hardware. @@ -60,18 +59,6 @@ // Minimum execution time: 2_976_000 picoseconds. Weight::from_parts(3_111_000, 0) .saturating_add(T::DbWeight::get().writes(1_u64)) - } - /// Storage: Preimage StatusFor (r:1 w:0) - /// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen) - /// Storage: Preimage PreimageFor (r:1 w:0) - /// Proof: Preimage PreimageFor (max_values: None, max_size: Some(4194344), added: 4196819, mode: Measured) - fn execute_preimage() -> Weight { - // Proof Size summary in bytes: - // Measured: `209` - // Estimated: `3674` - // Minimum execution time: 7_359_000 picoseconds. - Weight::from_parts(7_613_000, 3674) - .saturating_add(T::DbWeight::get().reads(2_u64)) } } @@ -96,18 +83,6 @@ // Minimum execution time: 2_976_000 picoseconds. Weight::from_parts(3_111_000, 0) .saturating_add(RocksDbWeight::get().writes(1_u64)) - } - /// Storage: Preimage StatusFor (r:1 w:0) - /// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen) - /// Storage: Preimage PreimageFor (r:1 w:0) - /// Proof: Preimage PreimageFor (max_values: None, max_size: Some(4194344), added: 4196819, mode: Measured) - fn execute_preimage() -> Weight { - // Proof Size summary in bytes: - // Measured: `209` - // Estimated: `3674` - // Minimum execution time: 7_359_000 picoseconds. - Weight::from_parts(7_613_000, 3674) - .saturating_add(RocksDbWeight::get().reads(2_u64)) } } --- a/tests/src/maintenance.seqtest.ts +++ b/tests/src/maintenance.seqtest.ts @@ -283,87 +283,6 @@ }); }); - describe('Preimage Execution', () => { - const preimageHashes: string[] = []; - - before(async function() { - await usingPlaygrounds(async (helper) => { - requirePalletsOrSkip(this, helper, [Pallets.Preimage, Pallets.Maintenance]); - - // create a preimage to be operated with in the tests - const randomAccounts = await helper.arrange.createCrowd(10, 0n, superuser); - const randomIdentities = randomAccounts.map((acc, i) => [ - acc.address, { - deposit: 0n, - judgements: [], - info: { - display: { - raw: `Random Account #${i}`, - }, - }, - }, - ]); - const preimage = helper.constructApiCall('api.tx.identity.forceInsertIdentities', [randomIdentities]).method.toHex(); - preimageHashes.push(await helper.preimage.notePreimage(bob, preimage, true)); - }); - }); - - itSub('Successfully executes call in a preimage', async ({helper}) => { - const result = await expect(helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.executePreimage', [ - preimageHashes[0], {refTime: 10000000000, proofSize: 10000}, - ])).to.be.fulfilled; - - // preimage is executed, and an appropriate event is present - const events = result.result.events.filter((x: any) => x.event.method === 'IdentitiesInserted' && x.event.section === 'identity'); - expect(events.length).to.be.equal(1); - - // the preimage goes back to being unrequested - expect(await helper.preimage.getPreimageInfo(preimageHashes[0])).to.have.property('unrequested'); - }); - - itSub('Does not allow execution of a preimage that would fail', async ({helper}) => { - const [zeroAccount] = await helper.arrange.createAccounts([0n], superuser); - - const preimage = helper.constructApiCall('api.tx.balances.forceTransfer', [ - {Id: zeroAccount.address}, {Id: superuser.address}, 1000n, - ]).method.toHex(); - const preimageHash = await helper.preimage.notePreimage(bob, preimage, true); - preimageHashes.push(preimageHash); - - await expect(helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.executePreimage', [ - preimageHash, {refTime: 10000000000, proofSize: 10000}, - ])).to.be.rejectedWith(/^Token: FundsUnavailable$/); - }); - - itSub('Does not allow preimage execution with non-root', async ({helper}) => { - await expect(helper.executeExtrinsic(bob, 'api.tx.maintenance.executePreimage', [ - preimageHashes[0], {refTime: 10000000000, proofSize: 10000}, - ])).to.be.rejectedWith(/^Misc: BadOrigin$/); - }); - - itSub('Does not allow execution of non-existent preimages', async ({helper}) => { - await expect(helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.executePreimage', [ - '0x1010101010101010101010101010101010101010101010101010101010101010', {refTime: 10000000000, proofSize: 10000}, - ])).to.be.rejectedWith(/^Misc: Unavailable$/); - }); - - itSub('Does not allow preimage execution with less than minimum weights', async ({helper}) => { - await expect(helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.executePreimage', [ - preimageHashes[0], {refTime: 1000, proofSize: 100}, - ])).to.be.rejectedWith(/^Misc: Exhausted$/); - }); - - after(async function() { - await usingPlaygrounds(async (helper) => { - if(helper.fetchMissingPalletNames([Pallets.Preimage, Pallets.Maintenance]).length != 0) return; - - for(const hash of preimageHashes) { - await helper.preimage.unnotePreimage(bob, hash); - } - }); - }); - }); - describe('Integration Test: Maintenance mode & App Promo', () => { let superuser: IKeyringPair;