Use correct HRMP path for parachain sibling (#366)

This commit is contained in:
Vincent Geddes
2021-03-16 19:23:22 +02:00
committed by GitHub
parent 8211ce13df
commit 2731bd5858
+15 -11
View File
@@ -184,17 +184,21 @@ impl<T: Config> SendXcm for Module<T> {
Ok(()) Ok(())
} }
// An HRMP message for a sibling parachain. // An HRMP message for a sibling parachain.
Some(Junction::Parachain { id }) => { Some(Junction::Parent) if dest.len() == 2 => {
let data = msg.encode(); if let Some(Junction::Parachain { id }) = dest.at(1) {
let hash = T::Hashing::hash(&data); let data = msg.encode();
let message = OutboundHrmpMessage { let hash = T::Hashing::hash(&data);
recipient: (*id).into(), let message = OutboundHrmpMessage {
data, recipient: (*id).into(),
}; data,
T::HrmpMessageSender::send_hrmp_message(message) };
.map_err(|_| XcmError::CannotReachDestination)?; T::HrmpMessageSender::send_hrmp_message(message)
Self::deposit_event(RawEvent::HrmpMessageSent(hash)); .map_err(|_| XcmError::CannotReachDestination)?;
Ok(()) Self::deposit_event(RawEvent::HrmpMessageSent(hash));
Ok(())
} else {
Err(XcmError::UnhandledXcmMessage)
}
} }
_ => { _ => {
/* TODO: Handle other cases, like downward message */ /* TODO: Handle other cases, like downward message */