mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 21:01:02 +00:00
Stop weighing XCM execution on pallet-xcm's send extrinsic (#7201)
* Stop weighing XCM execution on pallet-xcm's send extrinsic * Add missing instruction to transfer extrinsics' weight in pallet-xcm
This commit is contained in:
committed by
GitHub
parent
5f256d118f
commit
8219cb1ccd
@@ -779,16 +779,7 @@ pub mod pallet {
|
|||||||
#[pallet::call]
|
#[pallet::call]
|
||||||
impl<T: Config> Pallet<T> {
|
impl<T: Config> Pallet<T> {
|
||||||
#[pallet::call_index(0)]
|
#[pallet::call_index(0)]
|
||||||
#[pallet::weight({
|
#[pallet::weight(T::WeightInfo::send())]
|
||||||
let maybe_msg: Result<Xcm<()>, ()> = (*message.clone()).try_into();
|
|
||||||
match maybe_msg {
|
|
||||||
Ok(msg) => {
|
|
||||||
T::Weigher::weight(&mut msg.into())
|
|
||||||
.map_or(Weight::MAX, |w| T::WeightInfo::send().saturating_add(w))
|
|
||||||
}
|
|
||||||
_ => Weight::MAX,
|
|
||||||
}
|
|
||||||
})]
|
|
||||||
pub fn send(
|
pub fn send(
|
||||||
origin: OriginFor<T>,
|
origin: OriginFor<T>,
|
||||||
dest: Box<VersionedMultiLocation>,
|
dest: Box<VersionedMultiLocation>,
|
||||||
@@ -830,6 +821,7 @@ pub mod pallet {
|
|||||||
let count = assets.len() as u32;
|
let count = assets.len() as u32;
|
||||||
let mut message = Xcm(vec![
|
let mut message = Xcm(vec![
|
||||||
WithdrawAsset(assets),
|
WithdrawAsset(assets),
|
||||||
|
SetFeesMode { jit_withdraw: true },
|
||||||
InitiateTeleport {
|
InitiateTeleport {
|
||||||
assets: Wild(AllCounted(count)),
|
assets: Wild(AllCounted(count)),
|
||||||
dest,
|
dest,
|
||||||
@@ -875,6 +867,7 @@ pub mod pallet {
|
|||||||
(Ok(assets), Ok(dest)) => {
|
(Ok(assets), Ok(dest)) => {
|
||||||
use sp_std::vec;
|
use sp_std::vec;
|
||||||
let mut message = Xcm(vec![
|
let mut message = Xcm(vec![
|
||||||
|
SetFeesMode { jit_withdraw: true },
|
||||||
TransferReserveAsset { assets, dest, xcm: Xcm(vec![]) }
|
TransferReserveAsset { assets, dest, xcm: Xcm(vec![]) }
|
||||||
]);
|
]);
|
||||||
T::Weigher::weight(&mut message).map_or(Weight::MAX, |w| T::WeightInfo::reserve_transfer_assets().saturating_add(w))
|
T::Weigher::weight(&mut message).map_or(Weight::MAX, |w| T::WeightInfo::reserve_transfer_assets().saturating_add(w))
|
||||||
@@ -1048,6 +1041,7 @@ pub mod pallet {
|
|||||||
(Ok(assets), Ok(dest)) => {
|
(Ok(assets), Ok(dest)) => {
|
||||||
use sp_std::vec;
|
use sp_std::vec;
|
||||||
let mut message = Xcm(vec![
|
let mut message = Xcm(vec![
|
||||||
|
SetFeesMode { jit_withdraw: true },
|
||||||
TransferReserveAsset { assets, dest, xcm: Xcm(vec![]) }
|
TransferReserveAsset { assets, dest, xcm: Xcm(vec![]) }
|
||||||
]);
|
]);
|
||||||
T::Weigher::weight(&mut message).map_or(Weight::MAX, |w| T::WeightInfo::reserve_transfer_assets().saturating_add(w))
|
T::Weigher::weight(&mut message).map_or(Weight::MAX, |w| T::WeightInfo::reserve_transfer_assets().saturating_add(w))
|
||||||
@@ -1099,6 +1093,7 @@ pub mod pallet {
|
|||||||
use sp_std::vec;
|
use sp_std::vec;
|
||||||
let mut message = Xcm(vec![
|
let mut message = Xcm(vec![
|
||||||
WithdrawAsset(assets),
|
WithdrawAsset(assets),
|
||||||
|
SetFeesMode { jit_withdraw: true },
|
||||||
InitiateTeleport { assets: Wild(All), dest, xcm: Xcm(vec![]) },
|
InitiateTeleport { assets: Wild(All), dest, xcm: Xcm(vec![]) },
|
||||||
]);
|
]);
|
||||||
T::Weigher::weight(&mut message).map_or(Weight::MAX, |w| T::WeightInfo::teleport_assets().saturating_add(w))
|
T::Weigher::weight(&mut message).map_or(Weight::MAX, |w| T::WeightInfo::teleport_assets().saturating_add(w))
|
||||||
|
|||||||
Reference in New Issue
Block a user