diff --git a/polkadot/runtime/parachains/src/coretime/migration.rs b/polkadot/runtime/parachains/src/coretime/migration.rs index 64c10f731988902987b47768d69696e8b96fc72a..c720cf0617aaec1705b3f8e19ded7e853660aa65 100644 --- a/polkadot/runtime/parachains/src/coretime/migration.rs +++ b/polkadot/runtime/parachains/src/coretime/migration.rs @@ -142,8 +142,8 @@ mod v_coretime { let new_core_count = assigner_coretime::Pallet::<T>::session_core_count(); ensure!(new_core_count == prev_core_count, "Total number of cores need to not change."); ensure!( - dmp_queue_size == prev_dmp_queue_size + 1, - "There should have been enqueued one DMP message." + dmp_queue_size > prev_dmp_queue_size, + "There should have been enqueued at least one DMP messages." ); Ok(()) @@ -264,22 +264,30 @@ mod v_coretime { let message_content = iter::once(Instruction::UnpaidExecution { weight_limit: WeightLimit::Unlimited, check_origin: None, - }) - .chain(reservations) - .chain(pool) - .chain(leases) - .chain(set_core_count) - .collect(); - - let message = Xcm(message_content); - - send_xcm::<SendXcm>( - MultiLocation { - parents: 0, - interior: Junctions::X1(Junction::Parachain(T::BrokerId::get())), - }, - message, - )?; + }); + + let reservation_content = message_content.clone().chain(reservations).collect(); + let pool_content = message_content.clone().chain(pool).collect(); + let leases_content = message_content.clone().chain(leases).collect(); + let set_core_count_content = message_content.clone().chain(set_core_count).collect(); + + let messages = vec![ + Xcm(reservation_content), + Xcm(pool_content), + Xcm(leases_content), + Xcm(set_core_count_content), + ]; + + for message in messages { + send_xcm::<SendXcm>( + MultiLocation { + parents: 0, + interior: Junctions::X1(Junction::Parachain(T::BrokerId::get())), + }, + message, + )?; + } + Ok(()) } } diff --git a/polkadot/runtime/parachains/src/coretime/mod.rs b/polkadot/runtime/parachains/src/coretime/mod.rs index 60bd8f811931cacf39d20b573def9c1ff09ef765..aa074a293c9c87a7565a1f3a7a0e15b3b74eaa01 100644 --- a/polkadot/runtime/parachains/src/coretime/mod.rs +++ b/polkadot/runtime/parachains/src/coretime/mod.rs @@ -252,7 +252,7 @@ fn mk_coretime_call(call: crate::coretime::CoretimeCalls) -> Instruction<()> { origin_kind: OriginKind::Superuser, // Largest call is set_lease with 1526 byte: // Longest call is reserve() with 31_000_000 - require_weight_at_most: Weight::from_parts(110_000_000, 20_000), + require_weight_at_most: Weight::from_parts(170_000_000, 20_000), call: BrokerRuntimePallets::Broker(call).encode().into(), } }