diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a90bc1708..f67e9e8a90 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Added - Staking runtime api to check if reward is pending for an era ([polkadot-fellows/runtimes#318](https://github.com/polkadot-fellows/runtimes/pull/318)) +- Allow any parachain to have bidirectional channel with any system parachains ([polkadot-fellows/runtimes#329](https://github.com/polkadot-fellows/runtimes/pull/329)) ### Fixed diff --git a/Cargo.lock b/Cargo.lock index 0d72442359..738c3bfda4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -11712,9 +11712,9 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" -version = "8.0.1" +version = "8.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bcfd672be236fd1c38c702e7e99fe3f3e54df0ddb8127e542423221d1f50669" +checksum = "b8d37cd3e014b06daf396d1483b5327782a0ebadc816423419665166b75b3e3e" dependencies = [ "bitflags 1.3.2", "bitvec", diff --git a/relay/kusama/src/lib.rs b/relay/kusama/src/lib.rs index fe078da685..a26ebd9975 100644 --- a/relay/kusama/src/lib.rs +++ b/relay/kusama/src/lib.rs @@ -48,6 +48,7 @@ use sp_std::{cmp::Ordering, collections::btree_map::BTreeMap, prelude::*}; use runtime_parachains::{ assigner_coretime as parachains_assigner_coretime, assigner_on_demand as parachains_assigner_on_demand, configuration as parachains_configuration, + configuration::ActiveConfigHrmpChannelSizeAndCapacityRatio, coretime, disputes as parachains_disputes, disputes::slashing as parachains_slashing, dmp as parachains_dmp, hrmp as parachains_hrmp, inclusion as parachains_inclusion, @@ -1341,11 +1342,22 @@ impl pallet_message_queue::Config for Runtime { impl parachains_dmp::Config for Runtime {} +parameter_types! { + pub const HrmpChannelSizeAndCapacityWithSystemRatio: Percent = Percent::from_percent(100); +} + impl parachains_hrmp::Config for Runtime { type RuntimeOrigin = RuntimeOrigin; type RuntimeEvent = RuntimeEvent; type ChannelManager = EitherOf, GeneralAdmin>; type Currency = Balances; + // Use the `HrmpChannelSizeAndCapacityWithSystemRatio` ratio from the actual active + // `HostConfiguration` configuration for `hrmp_channel_max_message_size` and + // `hrmp_channel_max_capacity`. + type DefaultChannelSizeAndCapacityWithSystem = ActiveConfigHrmpChannelSizeAndCapacityRatio< + Runtime, + HrmpChannelSizeAndCapacityWithSystemRatio, + >; type WeightInfo = weights::runtime_parachains_hrmp::WeightInfo; } diff --git a/relay/kusama/src/weights/runtime_parachains_hrmp.rs b/relay/kusama/src/weights/runtime_parachains_hrmp.rs index 0e229ab21d..0f30f1c91c 100644 --- a/relay/kusama/src/weights/runtime_parachains_hrmp.rs +++ b/relay/kusama/src/weights/runtime_parachains_hrmp.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `runtime_parachains::hrmp` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-03-10, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-05-27, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `ggwpez-ref-hw`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `ggwpez-ref-hw`, CPU: `AMD EPYC 7232P 8-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("./kusama-chain-spec.json")`, DB CACHE: 1024 // Executed Command: @@ -66,8 +66,8 @@ impl runtime_parachains::hrmp::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `421` // Estimated: `3886` - // Minimum execution time: 34_128_000 picoseconds. - Weight::from_parts(35_256_000, 0) + // Minimum execution time: 42_630_000 picoseconds. + Weight::from_parts(43_590_000, 0) .saturating_add(Weight::from_parts(0, 3886)) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().writes(5)) @@ -86,8 +86,8 @@ impl runtime_parachains::hrmp::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `411` // Estimated: `3876` - // Minimum execution time: 30_651_000 picoseconds. - Weight::from_parts(31_490_000, 0) + // Minimum execution time: 37_370_000 picoseconds. + Weight::from_parts(38_230_000, 0) .saturating_add(Weight::from_parts(0, 3876)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) @@ -106,8 +106,8 @@ impl runtime_parachains::hrmp::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `524` // Estimated: `3989` - // Minimum execution time: 31_244_000 picoseconds. - Weight::from_parts(32_392_000, 0) + // Minimum execution time: 38_720_000 picoseconds. + Weight::from_parts(39_180_000, 0) .saturating_add(Weight::from_parts(0, 3989)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) @@ -130,13 +130,13 @@ impl runtime_parachains::hrmp::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `231 + e * (100 ±0) + i * (100 ±0)` // Estimated: `3693 + e * (2575 ±0) + i * (2575 ±0)` - // Minimum execution time: 1_177_153_000 picoseconds. - Weight::from_parts(1_192_970_000, 0) + // Minimum execution time: 1_398_677_000 picoseconds. + Weight::from_parts(1_404_458_000, 0) .saturating_add(Weight::from_parts(0, 3693)) - // Standard Error: 106_710 - .saturating_add(Weight::from_parts(3_503_154, 0).saturating_mul(i.into())) - // Standard Error: 106_710 - .saturating_add(Weight::from_parts(3_480_995, 0).saturating_mul(e.into())) + // Standard Error: 132_665 + .saturating_add(Weight::from_parts(4_185_824, 0).saturating_mul(i.into())) + // Standard Error: 132_665 + .saturating_add(Weight::from_parts(4_236_545, 0).saturating_mul(e.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(i.into()))) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(e.into()))) @@ -167,11 +167,11 @@ impl runtime_parachains::hrmp::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `459 + c * (136 ±0)` // Estimated: `1914 + c * (5086 ±0)` - // Minimum execution time: 5_963_000 picoseconds. - Weight::from_parts(5_228_724, 0) + // Minimum execution time: 7_470_000 picoseconds. + Weight::from_parts(7_620_000, 0) .saturating_add(Weight::from_parts(0, 1914)) - // Standard Error: 15_470 - .saturating_add(Weight::from_parts(20_514_191, 0).saturating_mul(c.into())) + // Standard Error: 11_220 + .saturating_add(Weight::from_parts(24_184_130, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(c.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -195,11 +195,11 @@ impl runtime_parachains::hrmp::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `302 + c * (124 ±0)` // Estimated: `1762 + c * (2600 ±0)` - // Minimum execution time: 4_969_000 picoseconds. - Weight::from_parts(7_208_744, 0) + // Minimum execution time: 6_500_000 picoseconds. + Weight::from_parts(6_580_000, 0) .saturating_add(Weight::from_parts(0, 1762)) - // Standard Error: 10_032 - .saturating_add(Weight::from_parts(12_527_166, 0).saturating_mul(c.into())) + // Standard Error: 11_719 + .saturating_add(Weight::from_parts(14_859_948, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(c.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -217,11 +217,11 @@ impl runtime_parachains::hrmp::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `993 + c * (13 ±0)` // Estimated: `4262 + c * (15 ±0)` - // Minimum execution time: 18_800_000 picoseconds. - Weight::from_parts(27_965_586, 0) + // Minimum execution time: 23_070_000 picoseconds. + Weight::from_parts(28_858_348, 0) .saturating_add(Weight::from_parts(0, 4262)) - // Standard Error: 2_135 - .saturating_add(Weight::from_parts(84_530, 0).saturating_mul(c.into())) + // Standard Error: 1_253 + .saturating_add(Weight::from_parts(95_052, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) .saturating_add(Weight::from_parts(0, 15).saturating_mul(c.into())) @@ -235,11 +235,11 @@ impl runtime_parachains::hrmp::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `210 + c * (63 ±0)` // Estimated: `1689 + c * (2538 ±0)` - // Minimum execution time: 3_642_000 picoseconds. - Weight::from_parts(6_869_380, 0) + // Minimum execution time: 4_760_000 picoseconds. + Weight::from_parts(6_559_187, 0) .saturating_add(Weight::from_parts(0, 1689)) - // Standard Error: 3_822 - .saturating_add(Weight::from_parts(3_165_608, 0).saturating_mul(c.into())) + // Standard Error: 2_407 + .saturating_add(Weight::from_parts(3_748_834, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(c.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -271,11 +271,11 @@ impl runtime_parachains::hrmp::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `421 + c * (235 ±0)` // Estimated: `6361 + c * (235 ±0)` - // Minimum execution time: 48_286_000 picoseconds. - Weight::from_parts(50_472_132, 0) + // Minimum execution time: 58_270_000 picoseconds. + Weight::from_parts(59_761_806, 0) .saturating_add(Weight::from_parts(0, 6361)) - // Standard Error: 139_702 - .saturating_add(Weight::from_parts(10_844_067, 0).saturating_mul(c.into())) + // Standard Error: 71_483 + .saturating_add(Weight::from_parts(12_836_993, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(12)) .saturating_add(T::DbWeight::get().writes(8)) .saturating_add(Weight::from_parts(0, 235).saturating_mul(c.into())) @@ -304,8 +304,8 @@ impl runtime_parachains::hrmp::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `421` // Estimated: `6361` - // Minimum execution time: 48_480_000 picoseconds. - Weight::from_parts(49_938_000, 0) + // Minimum execution time: 58_761_000 picoseconds. + Weight::from_parts(59_590_000, 0) .saturating_add(Weight::from_parts(0, 6361)) .saturating_add(T::DbWeight::get().reads(12)) .saturating_add(T::DbWeight::get().writes(8)) @@ -316,10 +316,40 @@ impl runtime_parachains::hrmp::WeightInfo for WeightInf // Proof Size summary in bytes: // Measured: `230` // Estimated: `3695` - // Minimum execution time: 11_525_000 picoseconds. - Weight::from_parts(12_232_000, 0) + // Minimum execution time: 14_750_000 picoseconds. + Weight::from_parts(15_250_000, 0) .saturating_add(Weight::from_parts(0, 3695)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } + /// Storage: `Paras::ParaLifecycles` (r:2 w:0) + /// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Hrmp::HrmpOpenChannelRequests` (r:2 w:2) + /// Proof: `Hrmp::HrmpOpenChannelRequests` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Hrmp::HrmpChannels` (r:2 w:0) + /// Proof: `Hrmp::HrmpChannels` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Hrmp::HrmpEgressChannelsIndex` (r:2 w:0) + /// Proof: `Hrmp::HrmpEgressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Hrmp::HrmpOpenChannelRequestCount` (r:2 w:2) + /// Proof: `Hrmp::HrmpOpenChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Hrmp::HrmpOpenChannelRequestsList` (r:1 w:1) + /// Proof: `Hrmp::HrmpOpenChannelRequestsList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Dmp::DownwardMessageQueues` (r:2 w:2) + /// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Dmp::DownwardMessageQueueHeads` (r:2 w:2) + /// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Hrmp::HrmpIngressChannelsIndex` (r:2 w:0) + /// Proof: `Hrmp::HrmpIngressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Hrmp::HrmpAcceptedChannelRequestCount` (r:2 w:2) + /// Proof: `Hrmp::HrmpAcceptedChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn establish_channel_with_system() -> Weight { + // Proof Size summary in bytes: + // Measured: `421` + // Estimated: `6361` + // Minimum execution time: 95_251_000 picoseconds. + Weight::from_parts(96_051_000, 0) + .saturating_add(Weight::from_parts(0, 6361)) + .saturating_add(T::DbWeight::get().reads(19)) + .saturating_add(T::DbWeight::get().writes(11)) + } } diff --git a/relay/polkadot/src/lib.rs b/relay/polkadot/src/lib.rs index 694dc4c527..f03839195b 100644 --- a/relay/polkadot/src/lib.rs +++ b/relay/polkadot/src/lib.rs @@ -32,7 +32,9 @@ use polkadot_runtime_common::{ use runtime_parachains::{ assigner_parachains as parachains_assigner_parachains, - configuration as parachains_configuration, disputes as parachains_disputes, + configuration as parachains_configuration, + configuration::ActiveConfigHrmpChannelSizeAndCapacityRatio, + disputes as parachains_disputes, disputes::slashing as parachains_slashing, dmp as parachains_dmp, hrmp as parachains_hrmp, inclusion as parachains_inclusion, inclusion::{AggregateMessageOrigin, UmpQueueId}, @@ -1365,11 +1367,22 @@ impl pallet_message_queue::Config for Runtime { impl parachains_dmp::Config for Runtime {} +parameter_types! { + pub const HrmpChannelSizeAndCapacityWithSystemRatio: Percent = Percent::from_percent(100); +} + impl parachains_hrmp::Config for Runtime { type RuntimeOrigin = RuntimeOrigin; type RuntimeEvent = RuntimeEvent; type ChannelManager = EitherOf, GeneralAdmin>; type Currency = Balances; + // Use the `HrmpChannelSizeAndCapacityWithSystemRatio` ratio from the actual active + // `HostConfiguration` configuration for `hrmp_channel_max_message_size` and + // `hrmp_channel_max_capacity`. + type DefaultChannelSizeAndCapacityWithSystem = ActiveConfigHrmpChannelSizeAndCapacityRatio< + Runtime, + HrmpChannelSizeAndCapacityWithSystemRatio, + >; type WeightInfo = weights::runtime_parachains_hrmp::WeightInfo; } diff --git a/relay/polkadot/src/weights/runtime_parachains_hrmp.rs b/relay/polkadot/src/weights/runtime_parachains_hrmp.rs index f659eabd53..1f5b4b2aed 100644 --- a/relay/polkadot/src/weights/runtime_parachains_hrmp.rs +++ b/relay/polkadot/src/weights/runtime_parachains_hrmp.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `runtime_parachains::hrmp` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-03-10, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-05-27, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `ggwpez-ref-hw`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `ggwpez-ref-hw`, CPU: `AMD EPYC 7232P 8-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("./polkadot-chain-spec.json")`, DB CACHE: 1024 // Executed Command: @@ -64,11 +64,11 @@ impl runtime_parachains::hrmp::WeightInfo for WeightInf /// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`) fn hrmp_init_open_channel() -> Weight { // Proof Size summary in bytes: - // Measured: `383` - // Estimated: `3848` - // Minimum execution time: 31_219_000 picoseconds. - Weight::from_parts(32_032_000, 0) - .saturating_add(Weight::from_parts(0, 3848)) + // Measured: `417` + // Estimated: `3882` + // Minimum execution time: 38_921_000 picoseconds. + Weight::from_parts(40_100_000, 0) + .saturating_add(Weight::from_parts(0, 3882)) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().writes(5)) } @@ -84,11 +84,11 @@ impl runtime_parachains::hrmp::WeightInfo for WeightInf /// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`) fn hrmp_accept_open_channel() -> Weight { // Proof Size summary in bytes: - // Measured: `373` - // Estimated: `3838` - // Minimum execution time: 29_955_000 picoseconds. - Weight::from_parts(30_892_000, 0) - .saturating_add(Weight::from_parts(0, 3838)) + // Measured: `407` + // Estimated: `3872` + // Minimum execution time: 37_190_000 picoseconds. + Weight::from_parts(38_030_000, 0) + .saturating_add(Weight::from_parts(0, 3872)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) } @@ -104,11 +104,11 @@ impl runtime_parachains::hrmp::WeightInfo for WeightInf /// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`) fn hrmp_close_channel() -> Weight { // Proof Size summary in bytes: - // Measured: `486` - // Estimated: `3951` - // Minimum execution time: 31_156_000 picoseconds. - Weight::from_parts(31_971_000, 0) - .saturating_add(Weight::from_parts(0, 3951)) + // Measured: `520` + // Estimated: `3985` + // Minimum execution time: 38_180_000 picoseconds. + Weight::from_parts(38_790_000, 0) + .saturating_add(Weight::from_parts(0, 3985)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) } @@ -128,15 +128,15 @@ impl runtime_parachains::hrmp::WeightInfo for WeightInf /// The range of component `e` is `[0, 127]`. fn force_clean_hrmp(i: u32, e: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `231 + e * (100 ±0) + i * (100 ±0)` - // Estimated: `3693 + e * (2575 ±0) + i * (2575 ±0)` - // Minimum execution time: 1_206_960_000 picoseconds. - Weight::from_parts(1_214_086_000, 0) - .saturating_add(Weight::from_parts(0, 3693)) - // Standard Error: 111_558 - .saturating_add(Weight::from_parts(4_003_489, 0).saturating_mul(i.into())) - // Standard Error: 111_558 - .saturating_add(Weight::from_parts(3_533_948, 0).saturating_mul(e.into())) + // Measured: `264 + e * (100 ±0) + i * (100 ±0)` + // Estimated: `3726 + e * (2575 ±0) + i * (2575 ±0)` + // Minimum execution time: 1_415_467_000 picoseconds. + Weight::from_parts(1_423_927_000, 0) + .saturating_add(Weight::from_parts(0, 3726)) + // Standard Error: 134_402 + .saturating_add(Weight::from_parts(4_225_111, 0).saturating_mul(i.into())) + // Standard Error: 134_402 + .saturating_add(Weight::from_parts(4_308_273, 0).saturating_mul(e.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(i.into()))) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(e.into()))) @@ -165,13 +165,13 @@ impl runtime_parachains::hrmp::WeightInfo for WeightInf /// The range of component `c` is `[0, 128]`. fn force_process_hrmp_open(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `459 + c * (136 ±0)` - // Estimated: `1914 + c * (5086 ±0)` - // Minimum execution time: 5_805_000 picoseconds. - Weight::from_parts(5_935_000, 0) - .saturating_add(Weight::from_parts(0, 1914)) - // Standard Error: 9_326 - .saturating_add(Weight::from_parts(21_220_967, 0).saturating_mul(c.into())) + // Measured: `492 + c * (136 ±0)` + // Estimated: `1947 + c * (5086 ±0)` + // Minimum execution time: 7_460_000 picoseconds. + Weight::from_parts(7_710_000, 0) + .saturating_add(Weight::from_parts(0, 1947)) + // Standard Error: 11_432 + .saturating_add(Weight::from_parts(24_532_037, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(c.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -193,13 +193,13 @@ impl runtime_parachains::hrmp::WeightInfo for WeightInf /// The range of component `c` is `[0, 128]`. fn force_process_hrmp_close(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `302 + c * (124 ±0)` - // Estimated: `1762 + c * (2600 ±0)` - // Minimum execution time: 4_907_000 picoseconds. - Weight::from_parts(4_991_000, 0) - .saturating_add(Weight::from_parts(0, 1762)) - // Standard Error: 9_039 - .saturating_add(Weight::from_parts(13_113_544, 0).saturating_mul(c.into())) + // Measured: `335 + c * (124 ±0)` + // Estimated: `1795 + c * (2600 ±0)` + // Minimum execution time: 6_510_000 picoseconds. + Weight::from_parts(6_660_000, 0) + .saturating_add(Weight::from_parts(0, 1795)) + // Standard Error: 9_192 + .saturating_add(Weight::from_parts(15_015_541, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(c.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -215,13 +215,13 @@ impl runtime_parachains::hrmp::WeightInfo for WeightInf /// The range of component `c` is `[0, 128]`. fn hrmp_cancel_open_request(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `993 + c * (13 ±0)` - // Estimated: `4262 + c * (15 ±0)` - // Minimum execution time: 17_005_000 picoseconds. - Weight::from_parts(26_447_233, 0) - .saturating_add(Weight::from_parts(0, 4262)) - // Standard Error: 2_609 - .saturating_add(Weight::from_parts(161_489, 0).saturating_mul(c.into())) + // Measured: `1026 + c * (13 ±0)` + // Estimated: `4295 + c * (15 ±0)` + // Minimum execution time: 20_840_000 picoseconds. + Weight::from_parts(28_805_122, 0) + .saturating_add(Weight::from_parts(0, 4295)) + // Standard Error: 1_791 + .saturating_add(Weight::from_parts(87_699, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) .saturating_add(Weight::from_parts(0, 15).saturating_mul(c.into())) @@ -233,13 +233,13 @@ impl runtime_parachains::hrmp::WeightInfo for WeightInf /// The range of component `c` is `[0, 128]`. fn clean_open_channel_requests(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `210 + c * (63 ±0)` - // Estimated: `1689 + c * (2538 ±0)` - // Minimum execution time: 3_603_000 picoseconds. - Weight::from_parts(3_405_840, 0) - .saturating_add(Weight::from_parts(0, 1689)) - // Standard Error: 3_380 - .saturating_add(Weight::from_parts(3_332_975, 0).saturating_mul(c.into())) + // Measured: `243 + c * (63 ±0)` + // Estimated: `1722 + c * (2538 ±0)` + // Minimum execution time: 4_760_000 picoseconds. + Weight::from_parts(6_580_900, 0) + .saturating_add(Weight::from_parts(0, 1722)) + // Standard Error: 2_207 + .saturating_add(Weight::from_parts(3_764_182, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(c.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -269,13 +269,13 @@ impl runtime_parachains::hrmp::WeightInfo for WeightInf /// The range of component `c` is `[0, 1]`. fn force_open_hrmp_channel(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `383 + c * (235 ±0)` - // Estimated: `6323 + c * (235 ±0)` - // Minimum execution time: 45_605_000 picoseconds. - Weight::from_parts(47_241_226, 0) - .saturating_add(Weight::from_parts(0, 6323)) - // Standard Error: 111_463 - .saturating_add(Weight::from_parts(13_425_473, 0).saturating_mul(c.into())) + // Measured: `417 + c * (235 ±0)` + // Estimated: `6357 + c * (235 ±0)` + // Minimum execution time: 55_481_000 picoseconds. + Weight::from_parts(56_521_438, 0) + .saturating_add(Weight::from_parts(0, 6357)) + // Standard Error: 51_617 + .saturating_add(Weight::from_parts(15_539_561, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(12)) .saturating_add(T::DbWeight::get().writes(8)) .saturating_add(Weight::from_parts(0, 235).saturating_mul(c.into())) @@ -302,11 +302,11 @@ impl runtime_parachains::hrmp::WeightInfo for WeightInf /// Proof: `Hrmp::HrmpAcceptedChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`) fn establish_system_channel() -> Weight { // Proof Size summary in bytes: - // Measured: `383` - // Estimated: `6323` - // Minimum execution time: 46_515_000 picoseconds. - Weight::from_parts(47_261_000, 0) - .saturating_add(Weight::from_parts(0, 6323)) + // Measured: `417` + // Estimated: `6357` + // Minimum execution time: 54_501_000 picoseconds. + Weight::from_parts(55_190_000, 0) + .saturating_add(Weight::from_parts(0, 6357)) .saturating_add(T::DbWeight::get().reads(12)) .saturating_add(T::DbWeight::get().writes(8)) } @@ -314,12 +314,42 @@ impl runtime_parachains::hrmp::WeightInfo for WeightInf /// Proof: `Hrmp::HrmpChannels` (`max_values`: None, `max_size`: None, mode: `Measured`) fn poke_channel_deposits() -> Weight { // Proof Size summary in bytes: - // Measured: `230` - // Estimated: `3695` - // Minimum execution time: 11_836_000 picoseconds. - Weight::from_parts(12_202_000, 0) - .saturating_add(Weight::from_parts(0, 3695)) + // Measured: `263` + // Estimated: `3728` + // Minimum execution time: 14_291_000 picoseconds. + Weight::from_parts(15_030_000, 0) + .saturating_add(Weight::from_parts(0, 3728)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } + /// Storage: `Paras::ParaLifecycles` (r:2 w:0) + /// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Hrmp::HrmpOpenChannelRequests` (r:2 w:2) + /// Proof: `Hrmp::HrmpOpenChannelRequests` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Hrmp::HrmpChannels` (r:2 w:0) + /// Proof: `Hrmp::HrmpChannels` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Hrmp::HrmpEgressChannelsIndex` (r:2 w:0) + /// Proof: `Hrmp::HrmpEgressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Hrmp::HrmpOpenChannelRequestCount` (r:2 w:2) + /// Proof: `Hrmp::HrmpOpenChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Hrmp::HrmpOpenChannelRequestsList` (r:1 w:1) + /// Proof: `Hrmp::HrmpOpenChannelRequestsList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Dmp::DownwardMessageQueues` (r:2 w:2) + /// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Dmp::DownwardMessageQueueHeads` (r:2 w:2) + /// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Hrmp::HrmpIngressChannelsIndex` (r:2 w:0) + /// Proof: `Hrmp::HrmpIngressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Hrmp::HrmpAcceptedChannelRequestCount` (r:2 w:2) + /// Proof: `Hrmp::HrmpAcceptedChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn establish_channel_with_system() -> Weight { + // Proof Size summary in bytes: + // Measured: `417` + // Estimated: `6357` + // Minimum execution time: 92_531_000 picoseconds. + Weight::from_parts(93_341_000, 0) + .saturating_add(Weight::from_parts(0, 6357)) + .saturating_add(T::DbWeight::get().reads(19)) + .saturating_add(T::DbWeight::get().writes(11)) + } }