diff --git a/polkadot/xcm/pallet-xcm/src/lib.rs b/polkadot/xcm/pallet-xcm/src/lib.rs index f660ae6ff26c136b8a575e6b3a0de2e4926e5e1e..3baf99c75206da72f5629dd48e35886f13940ba1 100644 --- a/polkadot/xcm/pallet-xcm/src/lib.rs +++ b/polkadot/xcm/pallet-xcm/src/lib.rs @@ -361,7 +361,10 @@ pub mod pallet { let message: Xcm<()> = (*message).try_into().map_err(|()| Error::<T>::BadVersion)?; let message_id = Self::send_xcm(interior, dest.clone(), message.clone()) - .map_err(Error::<T>::from)?; + .map_err(|error| { + tracing::error!(target: "xcm::pallet_xcm::send", ?error, ?dest, ?message, "XCM send failed with error"); + Error::<T>::from(error) + })?; let e = Event::Sent { origin: origin_location, destination: dest, message, message_id }; Self::deposit_event(e); Ok(message_id) @@ -1805,7 +1808,10 @@ impl<T: Config> Pallet<T> { if let Some(remote_xcm) = remote_xcm { let (ticket, price) = validate_send::<T::XcmRouter>(dest.clone(), remote_xcm.clone()) - .map_err(Error::<T>::from)?; + .map_err(|error| { + tracing::error!(target: "xcm::pallet_xcm::execute_xcm_transfer", ?error, ?dest, ?remote_xcm, "XCM validate_send failed with error"); + Error::<T>::from(error) + })?; if origin != Here.into_location() { Self::charge_fees(origin.clone(), price).map_err(|error| { log::error!( @@ -1815,7 +1821,11 @@ impl<T: Config> Pallet<T> { Error::<T>::FeesNotMet })?; } - let message_id = T::XcmRouter::deliver(ticket).map_err(Error::<T>::from)?; + let message_id = T::XcmRouter::deliver(ticket) + .map_err(|error| { + tracing::error!(target: "xcm::pallet_xcm::execute_xcm_transfer", ?error, ?dest, ?remote_xcm, "XCM deliver failed with error"); + Error::<T>::from(error) + })?; let e = Event::Sent { origin, destination: dest, message: remote_xcm, message_id }; Self::deposit_event(e); diff --git a/polkadot/xcm/xcm-builder/src/process_xcm_message.rs b/polkadot/xcm/xcm-builder/src/process_xcm_message.rs index 2e6f8c5fb566166f600bd9d9a7ef20f8a39fae40..129ce1e584ea3b81b24b3ef03b52897b58139cbc 100644 --- a/polkadot/xcm/xcm-builder/src/process_xcm_message.rs +++ b/polkadot/xcm/xcm-builder/src/process_xcm_message.rs @@ -55,7 +55,7 @@ impl< let message = Xcm::<Call>::try_from(versioned_message).map_err(|_| { log::trace!( target: LOG_TARGET, - "Failed to convert `VersionedXcm` into `XcmV3`.", + "Failed to convert `VersionedXcm` into `xcm::prelude::Xcm`!", ); ProcessMessageError::Unsupported