Changes for send returning hash

This commit is contained in:
Gav Wood
2022-01-20 15:14:10 +01:00
parent 2c0ac0a4a3
commit fc381c9fc8
3 changed files with 6 additions and 4 deletions
+2 -2
View File
@@ -938,7 +938,7 @@ impl<T: Config> XcmpMessageSource for Pallet<T> {
/// Xcm sender for sending to a sibling parachain.
impl<T: Config> SendXcm for Pallet<T> {
fn send_xcm(dest: impl Into<MultiLocation>, msg: Xcm<()>) -> Result<(), SendError> {
fn send_xcm(dest: impl Into<MultiLocation>, msg: Xcm<()>) -> SendResult {
let dest = dest.into();
match &dest {
@@ -954,7 +954,7 @@ impl<T: Config> SendXcm for Pallet<T> {
)
.map_err(|e| SendError::Transport(<&'static str>::from(e)))?;
Self::deposit_event(Event::XcmpMessageSent(Some(hash)));
Ok(())
Ok(hash)
},
// Anything else is unhandled. This includes a message this is meant for us.
_ => Err(SendError::CannotReachDestination(dest, msg)),
+1
View File
@@ -7,6 +7,7 @@ edition = "2021"
[dependencies]
# Substrate dependencies
sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
sp-io = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
sp-trie = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
+3 -2
View File
@@ -33,7 +33,7 @@ use xcm::{latest::prelude::*, WrapVersion};
/// for the `SendXcm` implementation.
pub struct ParentAsUmp<T, W>(PhantomData<(T, W)>);
impl<T: UpwardMessageSender, W: WrapVersion> SendXcm for ParentAsUmp<T, W> {
fn send_xcm(dest: impl Into<MultiLocation>, msg: Xcm<()>) -> Result<(), SendError> {
fn send_xcm(dest: impl Into<MultiLocation>, msg: Xcm<()>) -> SendResult {
let dest = dest.into();
if dest.contains_parents_only(1) {
@@ -41,10 +41,11 @@ impl<T: UpwardMessageSender, W: WrapVersion> SendXcm for ParentAsUmp<T, W> {
let versioned_xcm =
W::wrap_version(&dest, msg).map_err(|()| SendError::DestinationUnsupported)?;
let data = versioned_xcm.encode();
let hash = data.using_encoded(sp_io::hashing::blake2_256);
T::send_upward_message(data).map_err(|e| SendError::Transport(e.into()))?;
Ok(())
Ok(hash)
} else {
// Anything else is unhandled. This includes a message this is meant for us.
Err(SendError::CannotReachDestination(dest, msg))