diff --git a/rococo-parachains/runtime/src/lib.rs b/rococo-parachains/runtime/src/lib.rs index 928d09d4643..7f0c759aea6 100644 --- a/rococo-parachains/runtime/src/lib.rs +++ b/rococo-parachains/runtime/src/lib.rs @@ -305,7 +305,7 @@ construct_runtime! { ParachainSystem: cumulus_parachain_system::{Module, Call, Storage, Inherent, Event}, TransactionPayment: pallet_transaction_payment::{Module, Storage}, ParachainInfo: parachain_info::{Module, Storage, Config}, - XcmHandler: xcm_handler::{Module, Event, Origin}, + XcmHandler: xcm_handler::{Module, Call, Event, Origin}, } } diff --git a/xcm-handler/src/lib.rs b/xcm-handler/src/lib.rs index 700aced4d0b..a8c25ec7af0 100644 --- a/xcm-handler/src/lib.rs +++ b/xcm-handler/src/lib.rs @@ -122,10 +122,11 @@ impl HrmpMessageHandler for Module { frame_support::debug::print!("Processing HRMP XCM: {:?}", &hash); match VersionedXcm::decode(&mut &msg.data[..]).map(Xcm::try_from) { Ok(Ok(xcm)) => { - match T::XcmExecutor::execute_xcm( - Junction::Parachain { id: sender.into() }.into(), - xcm, - ) { + let location = ( + Junction::Parent, + Junction::Parachain { id: sender.into() }, + ); + match T::XcmExecutor::execute_xcm(location.into(), xcm) { Ok(..) => RawEvent::Success(hash), Err(e) => RawEvent::Fail(hash, e), };