mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-07-25 04:45:42 +00:00
Changes for send returning hash
This commit is contained in:
@@ -938,7 +938,7 @@ impl<T: Config> XcmpMessageSource for Pallet<T> {
|
|||||||
|
|
||||||
/// Xcm sender for sending to a sibling parachain.
|
/// Xcm sender for sending to a sibling parachain.
|
||||||
impl<T: Config> SendXcm for Pallet<T> {
|
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();
|
let dest = dest.into();
|
||||||
|
|
||||||
match &dest {
|
match &dest {
|
||||||
@@ -954,7 +954,7 @@ impl<T: Config> SendXcm for Pallet<T> {
|
|||||||
)
|
)
|
||||||
.map_err(|e| SendError::Transport(<&'static str>::from(e)))?;
|
.map_err(|e| SendError::Transport(<&'static str>::from(e)))?;
|
||||||
Self::deposit_event(Event::XcmpMessageSent(Some(hash)));
|
Self::deposit_event(Event::XcmpMessageSent(Some(hash)));
|
||||||
Ok(())
|
Ok(hash)
|
||||||
},
|
},
|
||||||
// Anything else is unhandled. This includes a message this is meant for us.
|
// Anything else is unhandled. This includes a message this is meant for us.
|
||||||
_ => Err(SendError::CannotReachDestination(dest, msg)),
|
_ => Err(SendError::CannotReachDestination(dest, msg)),
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ edition = "2021"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
# Substrate dependencies
|
# Substrate dependencies
|
||||||
sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
|
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-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" }
|
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" }
|
frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ use xcm::{latest::prelude::*, WrapVersion};
|
|||||||
/// for the `SendXcm` implementation.
|
/// for the `SendXcm` implementation.
|
||||||
pub struct ParentAsUmp<T, W>(PhantomData<(T, W)>);
|
pub struct ParentAsUmp<T, W>(PhantomData<(T, W)>);
|
||||||
impl<T: UpwardMessageSender, W: WrapVersion> SendXcm for ParentAsUmp<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();
|
let dest = dest.into();
|
||||||
|
|
||||||
if dest.contains_parents_only(1) {
|
if dest.contains_parents_only(1) {
|
||||||
@@ -41,10 +41,11 @@ impl<T: UpwardMessageSender, W: WrapVersion> SendXcm for ParentAsUmp<T, W> {
|
|||||||
let versioned_xcm =
|
let versioned_xcm =
|
||||||
W::wrap_version(&dest, msg).map_err(|()| SendError::DestinationUnsupported)?;
|
W::wrap_version(&dest, msg).map_err(|()| SendError::DestinationUnsupported)?;
|
||||||
let data = versioned_xcm.encode();
|
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()))?;
|
T::send_upward_message(data).map_err(|e| SendError::Transport(e.into()))?;
|
||||||
|
|
||||||
Ok(())
|
Ok(hash)
|
||||||
} else {
|
} else {
|
||||||
// Anything else is unhandled. This includes a message this is meant for us.
|
// Anything else is unhandled. This includes a message this is meant for us.
|
||||||
Err(SendError::CannotReachDestination(dest, msg))
|
Err(SendError::CannotReachDestination(dest, msg))
|
||||||
|
|||||||
Reference in New Issue
Block a user