diff --git a/Cargo.lock b/Cargo.lock index 8e0d708c557..565eae497e4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -397,7 +397,6 @@ dependencies = [ "asset-test-utils", "assets-common", "cumulus-pallet-aura-ext", - "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", "cumulus-pallet-session-benchmarking", "cumulus-pallet-xcm", @@ -421,6 +420,7 @@ dependencies = [ "pallet-authorship", "pallet-balances", "pallet-collator-selection", + "pallet-message-queue", "pallet-multisig", "pallet-nfts", "pallet-nfts-runtime-api", @@ -493,7 +493,6 @@ dependencies = [ "asset-test-utils", "assets-common", "cumulus-pallet-aura-ext", - "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", "cumulus-pallet-session-benchmarking", "cumulus-pallet-xcm", @@ -516,6 +515,7 @@ dependencies = [ "pallet-authorship", "pallet-balances", "pallet-collator-selection", + "pallet-message-queue", "pallet-multisig", "pallet-nfts", "pallet-nfts-runtime-api", @@ -589,7 +589,6 @@ dependencies = [ "asset-test-utils", "assets-common", "cumulus-pallet-aura-ext", - "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", "cumulus-pallet-session-benchmarking", "cumulus-pallet-xcm", @@ -612,6 +611,7 @@ dependencies = [ "pallet-authorship", "pallet-balances", "pallet-collator-selection", + "pallet-message-queue", "pallet-multisig", "pallet-nft-fractionalization", "pallet-nfts", @@ -656,7 +656,6 @@ name = "asset-test-utils" version = "1.0.0" dependencies = [ "assets-common", - "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", "cumulus-pallet-xcmp-queue", "cumulus-primitives-core", @@ -1232,7 +1231,6 @@ version = "0.1.0" dependencies = [ "bridge-hub-test-utils", "cumulus-pallet-aura-ext", - "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", "cumulus-pallet-session-benchmarking", "cumulus-pallet-xcm", @@ -1254,6 +1252,7 @@ dependencies = [ "pallet-authorship", "pallet-balances", "pallet-collator-selection", + "pallet-message-queue", "pallet-multisig", "pallet-session", "pallet-timestamp", @@ -1295,7 +1294,6 @@ version = "0.1.0" dependencies = [ "bridge-hub-test-utils", "cumulus-pallet-aura-ext", - "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", "cumulus-pallet-session-benchmarking", "cumulus-pallet-xcm", @@ -1316,6 +1314,7 @@ dependencies = [ "pallet-authorship", "pallet-balances", "pallet-collator-selection", + "pallet-message-queue", "pallet-multisig", "pallet-session", "pallet-timestamp", @@ -1368,7 +1367,6 @@ dependencies = [ "bridge-hub-test-utils", "bridge-runtime-common", "cumulus-pallet-aura-ext", - "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", "cumulus-pallet-session-benchmarking", "cumulus-pallet-xcm", @@ -1393,6 +1391,7 @@ dependencies = [ "pallet-bridge-parachains", "pallet-bridge-relayers", "pallet-collator-selection", + "pallet-message-queue", "pallet-multisig", "pallet-session", "pallet-timestamp", @@ -1447,7 +1446,6 @@ dependencies = [ "bp-runtime", "bp-test-utils", "bridge-runtime-common", - "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", "cumulus-pallet-xcmp-queue", "frame-benchmarking", @@ -1921,7 +1919,6 @@ name = "collectives-polkadot-runtime" version = "1.0.0" dependencies = [ "cumulus-pallet-aura-ext", - "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", "cumulus-pallet-session-benchmarking", "cumulus-pallet-xcm", @@ -1945,6 +1942,7 @@ dependencies = [ "pallet-collator-selection", "pallet-collective", "pallet-core-fellowship", + "pallet-message-queue", "pallet-multisig", "pallet-preimage", "pallet-proxy", @@ -2084,7 +2082,6 @@ name = "contracts-rococo-runtime" version = "0.2.0" dependencies = [ "cumulus-pallet-aura-ext", - "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", "cumulus-pallet-session-benchmarking", "cumulus-pallet-xcm", @@ -2109,6 +2106,7 @@ dependencies = [ "pallet-contracts", "pallet-contracts-primitives", "pallet-insecure-randomness-collective-flip", + "pallet-message-queue", "pallet-multisig", "pallet-session", "pallet-sudo", @@ -2764,24 +2762,6 @@ dependencies = [ "sp-std", ] -[[package]] -name = "cumulus-pallet-dmp-queue" -version = "0.1.0" -dependencies = [ - "cumulus-primitives-core", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "sp-version", - "xcm", -] - [[package]] name = "cumulus-pallet-parachain-system" version = "0.1.0" @@ -2793,14 +2773,17 @@ dependencies = [ "cumulus-test-client", "cumulus-test-relay-sproof-builder", "environmental", + "frame-benchmarking", "frame-support", "frame-system", "hex-literal 0.4.1", "impl-trait-for-tuples", "lazy_static", "log", + "pallet-message-queue", "parity-scale-codec", "polkadot-parachain", + "rand 0.8.5", "sc-client-api", "scale-info", "sp-core", @@ -2874,6 +2857,7 @@ dependencies = [ name = "cumulus-pallet-xcmp-queue" version = "0.1.0" dependencies = [ + "bounded-collections", "cumulus-pallet-parachain-system", "cumulus-primitives-core", "frame-benchmarking", @@ -2881,6 +2865,7 @@ dependencies = [ "frame-system", "log", "pallet-balances", + "pallet-message-queue", "parity-scale-codec", "polkadot-runtime-common", "rand_chacha 0.3.1", @@ -3157,6 +3142,7 @@ dependencies = [ "frame-system-rpc-runtime-api", "pallet-balances", "pallet-glutton", + "pallet-message-queue", "pallet-sudo", "pallet-timestamp", "pallet-transaction-payment", @@ -4763,6 +4749,7 @@ dependencies = [ "frame-system-benchmarking", "frame-try-runtime", "pallet-glutton", + "pallet-message-queue", "pallet-sudo", "parachain-info", "parachains-common", @@ -8907,7 +8894,6 @@ name = "parachain-template-runtime" version = "0.1.0" dependencies = [ "cumulus-pallet-aura-ext", - "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", "cumulus-pallet-session-benchmarking", "cumulus-pallet-xcm", @@ -8928,6 +8914,7 @@ dependencies = [ "pallet-authorship", "pallet-balances", "pallet-collator-selection", + "pallet-message-queue", "pallet-parachain-template", "pallet-session", "pallet-sudo", @@ -8936,6 +8923,7 @@ dependencies = [ "pallet-transaction-payment-rpc-runtime-api", "pallet-xcm", "parachain-info", + "parachains-common", "parity-scale-codec", "polkadot-parachain", "polkadot-runtime-common", @@ -8962,6 +8950,7 @@ dependencies = [ name = "parachains-common" version = "1.0.0" dependencies = [ + "cumulus-primitives-core", "cumulus-primitives-utility", "frame-support", "frame-system", @@ -8978,6 +8967,7 @@ dependencies = [ "sp-io", "sp-runtime", "sp-std", + "sp-weights", "substrate-wasm-builder", "xcm", "xcm-builder", @@ -8989,7 +8979,6 @@ name = "parachains-runtimes-test-utils" version = "1.0.0" dependencies = [ "assets-common", - "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", "cumulus-pallet-xcmp-queue", "cumulus-primitives-core", @@ -9218,7 +9207,6 @@ name = "penpal-runtime" version = "0.9.27" dependencies = [ "cumulus-pallet-aura-ext", - "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", "cumulus-pallet-session-benchmarking", "cumulus-pallet-xcm", @@ -9241,6 +9229,7 @@ dependencies = [ "pallet-authorship", "pallet-balances", "pallet-collator-selection", + "pallet-message-queue", "pallet-session", "pallet-sudo", "pallet-timestamp", @@ -11569,7 +11558,6 @@ name = "rococo-parachain-runtime" version = "0.1.0" dependencies = [ "cumulus-pallet-aura-ext", - "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", "cumulus-pallet-xcm", "cumulus-pallet-xcmp-queue", @@ -11585,6 +11573,7 @@ dependencies = [ "pallet-assets", "pallet-aura", "pallet-balances", + "pallet-message-queue", "pallet-sudo", "pallet-timestamp", "pallet-transaction-payment", @@ -16822,7 +16811,6 @@ name = "xcm-emulator" version = "0.1.0" dependencies = [ "casey", - "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", "cumulus-pallet-xcmp-queue", "cumulus-primitives-core", diff --git a/parachains/integration-tests/emulated/assets/asset-hub-kusama/src/lib.rs b/parachains/integration-tests/emulated/assets/asset-hub-kusama/src/lib.rs index 49986fa3c83..44a8f8a469c 100644 --- a/parachains/integration-tests/emulated/assets/asset-hub-kusama/src/lib.rs +++ b/parachains/integration-tests/emulated/assets/asset-hub-kusama/src/lib.rs @@ -22,8 +22,8 @@ pub use xcm::{ v3::{Error, NetworkId::Kusama as KusamaId}, }; pub use xcm_emulator::{ - assert_expected_events, bx, cumulus_pallet_dmp_queue, helpers::weight_within_threshold, - Parachain as Para, RelayChain as Relay, TestExt, + assert_expected_events, bx, helpers::weight_within_threshold, Parachain as Para, + RelayChain as Relay, TestExt, }; #[cfg(test)] diff --git a/parachains/integration-tests/emulated/assets/asset-hub-kusama/src/tests/reserve_transfer.rs b/parachains/integration-tests/emulated/assets/asset-hub-kusama/src/tests/reserve_transfer.rs index 46d6e9a807d..e0d51f742d4 100644 --- a/parachains/integration-tests/emulated/assets/asset-hub-kusama/src/tests/reserve_transfer.rs +++ b/parachains/integration-tests/emulated/assets/asset-hub-kusama/src/tests/reserve_transfer.rs @@ -44,15 +44,8 @@ fn reserve_transfer_native_asset_from_relay_to_assets() { AssetHubKusama::execute_with(|| { type RuntimeEvent = ::RuntimeEvent; - assert_expected_events!( - AssetHubKusama, - vec![ - RuntimeEvent::DmpQueue(cumulus_pallet_dmp_queue::Event::ExecutedDownward { - outcome: Outcome::Incomplete(_, Error::UntrustedReserveLocation), - .. - }) => {}, - ] - ); + // TODO: This used to emit an event at the DmpQueue pallet which is not gone.. does it have a replacement? + assert_expected_events!(AssetHubKusama, vec![]); }); // Check if balances are updated accordingly in Relay Chain and Assets Parachain diff --git a/parachains/integration-tests/emulated/assets/asset-hub-polkadot/src/lib.rs b/parachains/integration-tests/emulated/assets/asset-hub-polkadot/src/lib.rs index d29f9674dbf..889308dfff5 100644 --- a/parachains/integration-tests/emulated/assets/asset-hub-polkadot/src/lib.rs +++ b/parachains/integration-tests/emulated/assets/asset-hub-polkadot/src/lib.rs @@ -26,8 +26,8 @@ pub use xcm::{ }, }; pub use xcm_emulator::{ - assert_expected_events, bx, cumulus_pallet_dmp_queue, helpers::weight_within_threshold, - Parachain as Para, RelayChain as Relay, TestExt, + assert_expected_events, bx, helpers::weight_within_threshold, Parachain as Para, + RelayChain as Relay, TestExt, }; #[cfg(test)] diff --git a/parachains/integration-tests/emulated/assets/asset-hub-polkadot/src/tests/reserve_transfer.rs b/parachains/integration-tests/emulated/assets/asset-hub-polkadot/src/tests/reserve_transfer.rs index 6b967ecf769..08effb6d811 100644 --- a/parachains/integration-tests/emulated/assets/asset-hub-polkadot/src/tests/reserve_transfer.rs +++ b/parachains/integration-tests/emulated/assets/asset-hub-polkadot/src/tests/reserve_transfer.rs @@ -44,15 +44,8 @@ fn reserve_transfer_native_asset_from_relay_to_assets() { AssetHubPolkadot::execute_with(|| { type RuntimeEvent = ::RuntimeEvent; - assert_expected_events!( - AssetHubPolkadot, - vec![ - RuntimeEvent::DmpQueue(cumulus_pallet_dmp_queue::Event::ExecutedDownward { - outcome: Outcome::Incomplete(_, Error::UntrustedReserveLocation), - .. - }) => {}, - ] - ); + // TODO: This used to emit an event at the DmpQueue pallet which is not gone.. does it have a replacement? + assert_expected_events!(AssetHubPolkadot, vec![]); }); // Check if balances are updated accordingly in Relay Chain and Assets Parachain diff --git a/parachains/integration-tests/emulated/assets/asset-hub-westend/src/lib.rs b/parachains/integration-tests/emulated/assets/asset-hub-westend/src/lib.rs index d68aa99c709..74d6ad2f018 100644 --- a/parachains/integration-tests/emulated/assets/asset-hub-westend/src/lib.rs +++ b/parachains/integration-tests/emulated/assets/asset-hub-westend/src/lib.rs @@ -21,8 +21,8 @@ pub use xcm::{ }, }; pub use xcm_emulator::{ - assert_expected_events, bx, cumulus_pallet_dmp_queue, helpers::weight_within_threshold, - Parachain as Para, RelayChain as Relay, TestExt, + assert_expected_events, bx, helpers::weight_within_threshold, Parachain as Para, + RelayChain as Relay, TestExt, }; #[cfg(test)] diff --git a/parachains/integration-tests/emulated/assets/asset-hub-westend/src/tests/reserve_transfer.rs b/parachains/integration-tests/emulated/assets/asset-hub-westend/src/tests/reserve_transfer.rs index b54f654702b..39130974c38 100644 --- a/parachains/integration-tests/emulated/assets/asset-hub-westend/src/tests/reserve_transfer.rs +++ b/parachains/integration-tests/emulated/assets/asset-hub-westend/src/tests/reserve_transfer.rs @@ -44,15 +44,8 @@ fn reserve_transfer_native_asset_from_relay_to_assets() { AssetHubWestend::execute_with(|| { type RuntimeEvent = ::RuntimeEvent; - assert_expected_events!( - AssetHubWestend, - vec![ - RuntimeEvent::DmpQueue(cumulus_pallet_dmp_queue::Event::ExecutedDownward { - outcome: Outcome::Incomplete(_, Error::UntrustedReserveLocation), - .. - }) => {}, - ] - ); + // TODO: This used to emit an event at the DmpQueue pallet which is not gone.. does it have a replacement? + assert_expected_events!(AssetHubWestend, vec![]); }); // Check if balances are updated accordingly in Relay Chain and Assets Parachain diff --git a/parachains/integration-tests/emulated/common/src/lib.rs b/parachains/integration-tests/emulated/common/src/lib.rs index c793110a378..8b7e9b1a5a6 100644 --- a/parachains/integration-tests/emulated/common/src/lib.rs +++ b/parachains/integration-tests/emulated/common/src/lib.rs @@ -87,7 +87,6 @@ decl_test_parachains! { RuntimeCall: asset_hub_westend_runtime::RuntimeCall, RuntimeEvent: asset_hub_westend_runtime::RuntimeEvent, XcmpMessageHandler: asset_hub_westend_runtime::XcmpQueue, - DmpMessageHandler: asset_hub_westend_runtime::DmpQueue, LocationToAccountId: asset_hub_westend_runtime::xcm_config::LocationToAccountId, System: asset_hub_westend_runtime::System, Balances: asset_hub_westend_runtime::Balances, @@ -110,7 +109,6 @@ decl_test_parachains! { RuntimeCall: asset_hub_polkadot_runtime::RuntimeCall, RuntimeEvent: asset_hub_polkadot_runtime::RuntimeEvent, XcmpMessageHandler: asset_hub_polkadot_runtime::XcmpQueue, - DmpMessageHandler: asset_hub_polkadot_runtime::DmpQueue, LocationToAccountId: asset_hub_polkadot_runtime::xcm_config::LocationToAccountId, System: asset_hub_polkadot_runtime::System, Balances: asset_hub_polkadot_runtime::Balances, @@ -131,7 +129,6 @@ decl_test_parachains! { RuntimeCall: penpal_runtime::RuntimeCall, RuntimeEvent: penpal_runtime::RuntimeEvent, XcmpMessageHandler: penpal_runtime::XcmpQueue, - DmpMessageHandler: penpal_runtime::DmpQueue, LocationToAccountId: penpal_runtime::xcm_config::LocationToAccountId, System: penpal_runtime::System, Balances: penpal_runtime::Balances, @@ -147,17 +144,16 @@ decl_test_parachains! { genesis = penpal::genesis(penpal::PARA_ID), on_init = (), runtime = { - Runtime: penpal_runtime::Runtime, - RuntimeOrigin: penpal_runtime::RuntimeOrigin, - RuntimeCall: penpal_runtime::RuntimeCall, - RuntimeEvent: penpal_runtime::RuntimeEvent, - XcmpMessageHandler: penpal_runtime::XcmpQueue, - DmpMessageHandler: penpal_runtime::DmpQueue, - LocationToAccountId: penpal_runtime::xcm_config::LocationToAccountId, - System: penpal_runtime::System, - Balances: penpal_runtime::Balances, - ParachainSystem: penpal_runtime::ParachainSystem, - ParachainInfo: penpal_runtime::ParachainInfo, + Runtime: asset_hub_westend_runtime::Runtime, + RuntimeOrigin: asset_hub_westend_runtime::RuntimeOrigin, + RuntimeCall: asset_hub_westend_runtime::RuntimeCall, + RuntimeEvent: asset_hub_westend_runtime::RuntimeEvent, + XcmpMessageHandler: asset_hub_westend_runtime::XcmpQueue, + LocationToAccountId: asset_hub_westend_runtime::xcm_config::LocationToAccountId, + System: asset_hub_westend_runtime::System, + Balances: asset_hub_westend_runtime::Balances, + ParachainSystem: asset_hub_westend_runtime::ParachainSystem, + ParachainInfo: asset_hub_westend_runtime::ParachainInfo, }, pallets_extra = { PolkadotXcm: penpal_runtime::PolkadotXcm, @@ -175,7 +171,6 @@ decl_test_parachains! { RuntimeCall: asset_hub_kusama_runtime::RuntimeCall, RuntimeEvent: asset_hub_kusama_runtime::RuntimeEvent, XcmpMessageHandler: asset_hub_kusama_runtime::XcmpQueue, - DmpMessageHandler: asset_hub_kusama_runtime::DmpQueue, LocationToAccountId: asset_hub_kusama_runtime::xcm_config::LocationToAccountId, System: asset_hub_kusama_runtime::System, Balances: asset_hub_kusama_runtime::Balances, @@ -197,7 +192,6 @@ decl_test_parachains! { RuntimeCall: penpal_runtime::RuntimeCall, RuntimeEvent: penpal_runtime::RuntimeEvent, XcmpMessageHandler: penpal_runtime::XcmpQueue, - DmpMessageHandler: penpal_runtime::DmpQueue, LocationToAccountId: penpal_runtime::xcm_config::LocationToAccountId, System: penpal_runtime::System, Balances: penpal_runtime::Balances, @@ -218,7 +212,6 @@ decl_test_parachains! { RuntimeCall: collectives_polkadot_runtime::RuntimeCall, RuntimeEvent: collectives_polkadot_runtime::RuntimeEvent, XcmpMessageHandler: collectives_polkadot_runtime::XcmpQueue, - DmpMessageHandler: collectives_polkadot_runtime::DmpQueue, LocationToAccountId: collectives_polkadot_runtime::xcm_config::LocationToAccountId, System: collectives_polkadot_runtime::System, Balances: collectives_polkadot_runtime::Balances, @@ -238,7 +231,6 @@ decl_test_parachains! { RuntimeCall: bridge_hub_kusama_runtime::RuntimeCall, RuntimeEvent: bridge_hub_kusama_runtime::RuntimeEvent, XcmpMessageHandler: bridge_hub_kusama_runtime::XcmpQueue, - DmpMessageHandler: bridge_hub_kusama_runtime::DmpQueue, LocationToAccountId: bridge_hub_kusama_runtime::xcm_config::LocationToAccountId, System: bridge_hub_kusama_runtime::System, Balances: bridge_hub_kusama_runtime::Balances, @@ -258,7 +250,6 @@ decl_test_parachains! { RuntimeCall: bridge_hub_polkadot_runtime::RuntimeCall, RuntimeEvent: bridge_hub_polkadot_runtime::RuntimeEvent, XcmpMessageHandler: bridge_hub_polkadot_runtime::XcmpQueue, - DmpMessageHandler: bridge_hub_polkadot_runtime::DmpQueue, LocationToAccountId: bridge_hub_polkadot_runtime::xcm_config::LocationToAccountId, System: bridge_hub_polkadot_runtime::System, Balances: bridge_hub_polkadot_runtime::Balances, diff --git a/test/runtime/Cargo.toml b/test/runtime/Cargo.toml index 06c78fec778..c32ba17a4cc 100644 --- a/test/runtime/Cargo.toml +++ b/test/runtime/Cargo.toml @@ -50,6 +50,7 @@ std = [ "frame-system/std", "pallet-balances/std", "pallet-message-queue/std", + "pallet-glutton/std", "pallet-sudo/std", "pallet-timestamp/std", "pallet-transaction-payment/std", diff --git a/xcm/xcm-emulator/src/lib.rs b/xcm/xcm-emulator/src/lib.rs index 0a468e7fcaf..fb10ead2cb0 100644 --- a/xcm/xcm-emulator/src/lib.rs +++ b/xcm/xcm-emulator/src/lib.rs @@ -16,14 +16,28 @@ pub use casey::pascal; pub use codec::Encode; +pub use cumulus_pallet_parachain_system; +pub use cumulus_pallet_xcmp_queue; +pub use cumulus_primitives_core::{ + self, relay_chain::BlockNumber as RelayBlockNumber, + AggregateMessageOrigin as CumulusAggregateMessageOrigin, ParaId, PersistedValidationData, + XcmpMessageHandler, +}; +pub use cumulus_primitives_parachain_inherent::ParachainInherentData; +pub use cumulus_test_relay_sproof_builder::RelayStateSproofBuilder; +pub use cumulus_test_service::get_account_id_from_seed; pub use frame_support::{ sp_runtime::BuildStorage, traits::{EnqueueMessage, Get, Hooks, ProcessMessage, ProcessMessageError, ServiceQueues}, weights::{Weight, WeightMeter}, + BoundedSlice, }; pub use frame_system::AccountInfo; pub use log; pub use pallet_balances::AccountData; +pub use pallet_message_queue; +pub use parachain_info; +pub use parachains_common::{AccountId, BlockNumber}; pub use paste; pub use sp_arithmetic::traits::Bounded; pub use sp_core::storage::Storage; @@ -31,20 +45,6 @@ pub use sp_io; pub use sp_std::{cell::RefCell, collections::vec_deque::VecDeque, marker::PhantomData}; pub use sp_trie::StorageProof; -pub use cumulus_pallet_dmp_queue; -pub use cumulus_pallet_parachain_system; -pub use cumulus_pallet_xcmp_queue; -pub use cumulus_primitives_core::{ - self, relay_chain::BlockNumber as RelayBlockNumber, DmpMessageHandler, ParaId, - PersistedValidationData, XcmpMessageHandler, -}; -pub use cumulus_primitives_parachain_inherent::ParachainInherentData; -pub use cumulus_test_relay_sproof_builder::RelayStateSproofBuilder; -pub use cumulus_test_service::get_account_id_from_seed; -pub use pallet_message_queue; -pub use parachain_info; -pub use parachains_common::{AccountId, BlockNumber}; - pub use polkadot_primitives; pub use polkadot_runtime_parachains::{ dmp, @@ -176,13 +176,12 @@ pub trait RelayChain: ProcessMessage { type Balances; } -pub trait Parachain: XcmpMessageHandler + DmpMessageHandler { +pub trait Parachain: XcmpMessageHandler { type Runtime; type RuntimeOrigin; type RuntimeCall; type RuntimeEvent; type XcmpMessageHandler; - type DmpMessageHandler; type LocationToAccountId; type System; type Balances; @@ -428,7 +427,6 @@ macro_rules! decl_test_parachains { RuntimeCall: $runtime_call:path, RuntimeEvent: $runtime_event:path, XcmpMessageHandler: $xcmp_message_handler:path, - DmpMessageHandler: $dmp_message_handler:path, LocationToAccountId: $location_to_account:path, System: $system:path, Balances: $balances_pallet:path, @@ -451,7 +449,6 @@ macro_rules! decl_test_parachains { type RuntimeCall = $runtime_call; type RuntimeEvent = $runtime_event; type XcmpMessageHandler = $xcmp_message_handler; - type DmpMessageHandler = $dmp_message_handler; type LocationToAccountId = $location_to_account; type System = $system; type Balances = $balances_pallet; @@ -497,19 +494,6 @@ macro_rules! __impl_xcm_handlers_for_parachain { }) } } - - impl $crate::DmpMessageHandler for $name { - fn handle_dmp_messages( - iter: impl Iterator)>, - max_weight: $crate::Weight, - ) -> $crate::Weight { - use $crate::{DmpMessageHandler, TestExt}; - - $name::execute_with(|| { - ::DmpMessageHandler::handle_dmp_messages(iter, max_weight) - }) - } - } }; } @@ -772,7 +756,7 @@ macro_rules! decl_test_networks { } fn _process_downward_messages() { - use $crate::{DmpMessageHandler, Bounded}; + use $crate::{Bounded}; use polkadot_parachain::primitives::RelayChainBlockNumber; while let Some((to_para_id, messages)) @@ -786,13 +770,27 @@ macro_rules! decl_test_networks { msg_dedup.dedup(); let msgs = msg_dedup.clone().into_iter().filter(|m| { - !$crate::DMP_DONE.with(|b| b.borrow_mut().get_mut(stringify!($name)).unwrap_or(&mut $crate::VecDeque::new()).contains(&(to_para_id, m.0, m.1.clone()))) + !$crate::DMP_DONE.with(|b| b.borrow_mut().get_mut(stringify!($name)) + .unwrap_or(&mut $crate::VecDeque::new()) + .contains(&(to_para_id, m.0, m.1.clone())) + ) }).collect::)>>(); - if msgs.len() != 0 { - <$parachain>::handle_dmp_messages(msgs.clone().into_iter(), $crate::Weight::max_value()); - for m in msgs { - $crate::DMP_DONE.with(|b| b.borrow_mut().get_mut(stringify!($name)).unwrap().push_back((to_para_id, m.0, m.1))); - } + + use $crate::{EnqueueMessage, CumulusAggregateMessageOrigin, BoundedSlice, ServiceQueues, TestExt}; + type ParachainDmpQueue = < + <$parachain as Parachain>::Runtime + as + $crate::cumulus_pallet_parachain_system::Config + >::DmpQueue; + for m in msgs { + <$parachain>::execute_with(|| { + >::enqueue_message( + BoundedSlice::<_, _>::try_from(&m.1[..]).unwrap(), + CumulusAggregateMessageOrigin::Parent, + ); + ::service_queues(Weight::MAX); + }); + $crate::DMP_DONE.with(|b| b.borrow_mut().get_mut(stringify!($name)).unwrap().push_back((to_para_id, m.0, m.1))); } } else { unreachable!();