Skip to content

Commit

Permalink
add benchmark and weights for InitiateTransfer
Browse files Browse the repository at this point in the history
  • Loading branch information
acatangiu committed Oct 2, 2024
1 parent 25a2b4d commit 91794c7
Show file tree
Hide file tree
Showing 19 changed files with 229 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,10 @@ use alloc::vec::Vec;
use frame_support::weights::Weight;
use pallet_xcm_benchmarks_fungible::WeightInfo as XcmFungibleWeight;
use pallet_xcm_benchmarks_generic::WeightInfo as XcmGeneric;
use xcm::{latest::prelude::*, DoubleEncoded};
use xcm::{
latest::{prelude::*, AssetTransferFilter},
DoubleEncoded,
};

trait WeighAssets {
fn weigh_assets(&self, weight: Weight) -> Weight;
Expand Down Expand Up @@ -132,6 +135,25 @@ impl<Call> XcmWeightInfo<Call> for AssetHubRococoXcmWeight<Call> {
fn initiate_teleport(assets: &AssetFilter, _dest: &Location, _xcm: &Xcm<()>) -> Weight {
assets.weigh_assets(XcmFungibleWeight::<Runtime>::initiate_teleport())
}
fn initiate_transfer(
_dest: &Location,
remote_fees: &Option<AssetTransferFilter>,
assets: &Vec<AssetTransferFilter>,
_xcm: &Xcm<()>,
) -> Weight {
let mut weight = if let Some(remote_fees) = remote_fees {
let fees = remote_fees.inner();
fees.weigh_assets(XcmFungibleWeight::<Runtime>::initiate_transfer())
} else {
Weight::zero()
};
for asset_filter in assets {
let assets = asset_filter.inner();
let extra = assets.weigh_assets(XcmFungibleWeight::<Runtime>::initiate_transfer());
weight = weight.saturating_add(extra);
}
weight
}
fn report_holding(_response_info: &QueryResponseInfo, _assets: &AssetFilter) -> Weight {
XcmGeneric::<Runtime>::report_holding()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -195,4 +195,8 @@ impl<T: frame_system::Config> WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(8))
.saturating_add(T::DbWeight::get().writes(3))
}
pub fn initiate_transfer() -> Weight {
// TODO
Weight::zero()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,10 @@ use alloc::vec::Vec;
use frame_support::weights::Weight;
use pallet_xcm_benchmarks_fungible::WeightInfo as XcmFungibleWeight;
use pallet_xcm_benchmarks_generic::WeightInfo as XcmGeneric;
use xcm::{latest::prelude::*, DoubleEncoded};
use xcm::{
latest::{prelude::*, AssetTransferFilter},
DoubleEncoded,
};

trait WeighAssets {
fn weigh_assets(&self, weight: Weight) -> Weight;
Expand Down Expand Up @@ -132,6 +135,25 @@ impl<Call> XcmWeightInfo<Call> for AssetHubWestendXcmWeight<Call> {
fn initiate_teleport(assets: &AssetFilter, _dest: &Location, _xcm: &Xcm<()>) -> Weight {
assets.weigh_assets(XcmFungibleWeight::<Runtime>::initiate_teleport())
}
fn initiate_transfer(
_dest: &Location,
remote_fees: &Option<AssetTransferFilter>,
assets: &Vec<AssetTransferFilter>,
_xcm: &Xcm<()>,
) -> Weight {
let mut weight = if let Some(remote_fees) = remote_fees {
let fees = remote_fees.inner();
fees.weigh_assets(XcmFungibleWeight::<Runtime>::initiate_transfer())
} else {
Weight::zero()
};
for asset_filter in assets {
let assets = asset_filter.inner();
let extra = assets.weigh_assets(XcmFungibleWeight::<Runtime>::initiate_transfer());
weight = weight.saturating_add(extra);
}
weight
}
fn report_holding(_response_info: &QueryResponseInfo, _assets: &AssetFilter) -> Weight {
XcmGeneric::<Runtime>::report_holding()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -195,4 +195,8 @@ impl<T: frame_system::Config> WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(8))
.saturating_add(T::DbWeight::get().writes(3))
}
pub fn initiate_transfer() -> Weight {
// TODO
Weight::zero()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,10 @@ use codec::Encode;
use frame_support::weights::Weight;
use pallet_xcm_benchmarks_fungible::WeightInfo as XcmFungibleWeight;
use pallet_xcm_benchmarks_generic::WeightInfo as XcmGeneric;
use xcm::{latest::prelude::*, DoubleEncoded};
use xcm::{
latest::{prelude::*, AssetTransferFilter},
DoubleEncoded,
};

trait WeighAssets {
fn weigh_assets(&self, weight: Weight) -> Weight;
Expand Down Expand Up @@ -133,6 +136,25 @@ impl<Call> XcmWeightInfo<Call> for BridgeHubRococoXcmWeight<Call> {
fn initiate_teleport(assets: &AssetFilter, _dest: &Location, _xcm: &Xcm<()>) -> Weight {
assets.weigh_assets(XcmFungibleWeight::<Runtime>::initiate_teleport())
}
fn initiate_transfer(
_dest: &Location,
remote_fees: &Option<AssetTransferFilter>,
assets: &Vec<AssetTransferFilter>,
_xcm: &Xcm<()>,
) -> Weight {
let mut weight = if let Some(remote_fees) = remote_fees {
let fees = remote_fees.inner();
fees.weigh_assets(XcmFungibleWeight::<Runtime>::initiate_transfer())
} else {
Weight::zero()
};
for asset_filter in assets {
let assets = asset_filter.inner();
let extra = assets.weigh_assets(XcmFungibleWeight::<Runtime>::initiate_transfer());
weight = weight.saturating_add(extra);
}
weight
}
fn report_holding(_response_info: &QueryResponseInfo, _assets: &AssetFilter) -> Weight {
XcmGeneric::<Runtime>::report_holding()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -197,4 +197,8 @@ impl<T: frame_system::Config> WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(8))
.saturating_add(T::DbWeight::get().writes(3))
}
pub fn initiate_transfer() -> Weight {
// TODO
Weight::zero()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,10 @@ use codec::Encode;
use frame_support::weights::Weight;
use pallet_xcm_benchmarks_fungible::WeightInfo as XcmFungibleWeight;
use pallet_xcm_benchmarks_generic::WeightInfo as XcmGeneric;
use xcm::{latest::prelude::*, DoubleEncoded};
use xcm::{
latest::{prelude::*, AssetTransferFilter},
DoubleEncoded,
};

trait WeighAssets {
fn weigh_assets(&self, weight: Weight) -> Weight;
Expand Down Expand Up @@ -134,6 +137,25 @@ impl<Call> XcmWeightInfo<Call> for BridgeHubWestendXcmWeight<Call> {
fn initiate_teleport(assets: &AssetFilter, _dest: &Location, _xcm: &Xcm<()>) -> Weight {
assets.weigh_assets(XcmFungibleWeight::<Runtime>::initiate_teleport())
}
fn initiate_transfer(
_dest: &Location,
remote_fees: &Option<AssetTransferFilter>,
assets: &Vec<AssetTransferFilter>,
_xcm: &Xcm<()>,
) -> Weight {
let mut weight = if let Some(remote_fees) = remote_fees {
let fees = remote_fees.inner();
fees.weigh_assets(XcmFungibleWeight::<Runtime>::initiate_transfer())
} else {
Weight::zero()
};
for asset_filter in assets {
let assets = asset_filter.inner();
let extra = assets.weigh_assets(XcmFungibleWeight::<Runtime>::initiate_transfer());
weight = weight.saturating_add(extra);
}
weight
}
fn report_holding(_response_info: &QueryResponseInfo, _assets: &AssetFilter) -> Weight {
XcmGeneric::<Runtime>::report_holding()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -197,4 +197,8 @@ impl<T: frame_system::Config> WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(8))
.saturating_add(T::DbWeight::get().writes(3))
}
pub fn initiate_transfer() -> Weight {
// TODO
Weight::zero()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -185,4 +185,8 @@ impl<T: frame_system::Config> WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(2))
}
pub fn initiate_transfer() -> Weight {
// TODO
Weight::zero()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,10 @@ use alloc::vec::Vec;
use frame_support::weights::Weight;
use pallet_xcm_benchmarks_fungible::WeightInfo as XcmFungibleWeight;
use pallet_xcm_benchmarks_generic::WeightInfo as XcmGeneric;
use xcm::{latest::prelude::*, DoubleEncoded};
use xcm::{
latest::{prelude::*, AssetTransferFilter},
DoubleEncoded,
};

trait WeighAssets {
fn weigh_assets(&self, weight: Weight) -> Weight;
Expand Down Expand Up @@ -132,6 +135,25 @@ impl<Call> XcmWeightInfo<Call> for CoretimeWestendXcmWeight<Call> {
fn initiate_teleport(assets: &AssetFilter, _dest: &Location, _xcm: &Xcm<()>) -> Weight {
assets.weigh_assets(XcmFungibleWeight::<Runtime>::initiate_teleport())
}
fn initiate_transfer(
_dest: &Location,
remote_fees: &Option<AssetTransferFilter>,
assets: &Vec<AssetTransferFilter>,
_xcm: &Xcm<()>,
) -> Weight {
let mut weight = if let Some(remote_fees) = remote_fees {
let fees = remote_fees.inner();
fees.weigh_assets(XcmFungibleWeight::<Runtime>::initiate_transfer())
} else {
Weight::zero()
};
for asset_filter in assets {
let assets = asset_filter.inner();
let extra = assets.weigh_assets(XcmFungibleWeight::<Runtime>::initiate_transfer());
weight = weight.saturating_add(extra);
}
weight
}
fn report_holding(_response_info: &QueryResponseInfo, _assets: &AssetFilter) -> Weight {
XcmGeneric::<Runtime>::report_holding()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,4 +185,8 @@ impl<T: frame_system::Config> WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(2))
}
pub fn initiate_transfer() -> Weight {
// TODO
Weight::zero()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -185,4 +185,8 @@ impl<T: frame_system::Config> WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(2))
}
pub fn initiate_transfer() -> Weight {
// TODO
Weight::zero()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,10 @@ use alloc::vec::Vec;
use frame_support::weights::Weight;
use pallet_xcm_benchmarks_fungible::WeightInfo as XcmFungibleWeight;
use pallet_xcm_benchmarks_generic::WeightInfo as XcmGeneric;
use xcm::{latest::prelude::*, DoubleEncoded};
use xcm::{
latest::{prelude::*, AssetTransferFilter},
DoubleEncoded,
};

trait WeighAssets {
fn weigh_assets(&self, weight: Weight) -> Weight;
Expand Down Expand Up @@ -131,6 +134,25 @@ impl<Call> XcmWeightInfo<Call> for PeopleWestendXcmWeight<Call> {
fn initiate_teleport(assets: &AssetFilter, _dest: &Location, _xcm: &Xcm<()>) -> Weight {
assets.weigh_assets(XcmFungibleWeight::<Runtime>::initiate_teleport())
}
fn initiate_transfer(
_dest: &Location,
remote_fees: &Option<AssetTransferFilter>,
assets: &Vec<AssetTransferFilter>,
_xcm: &Xcm<()>,
) -> Weight {
let mut weight = if let Some(remote_fees) = remote_fees {
let fees = remote_fees.inner();
fees.weigh_assets(XcmFungibleWeight::<Runtime>::initiate_transfer())
} else {
Weight::zero()
};
for asset_filter in assets {
let assets = asset_filter.inner();
let extra = assets.weigh_assets(XcmFungibleWeight::<Runtime>::initiate_transfer());
weight = weight.saturating_add(extra);
}
weight
}
fn report_holding(_response_info: &QueryResponseInfo, _assets: &AssetFilter) -> Weight {
XcmGeneric::<Runtime>::report_holding()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,4 +185,8 @@ impl<T: frame_system::Config> WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(2))
}
pub fn initiate_transfer() -> Weight {
// TODO
Weight::zero()
}
}
20 changes: 20 additions & 0 deletions polkadot/runtime/rococo/src/weights/xcm/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ use xcm::{latest::prelude::*, DoubleEncoded};

use pallet_xcm_benchmarks_fungible::WeightInfo as XcmBalancesWeight;
use pallet_xcm_benchmarks_generic::WeightInfo as XcmGeneric;
use xcm::latest::AssetTransferFilter;

/// Types of asset supported by the Rococo runtime.
pub enum AssetTypes {
Expand Down Expand Up @@ -163,6 +164,25 @@ impl<RuntimeCall> XcmWeightInfo<RuntimeCall> for RococoXcmWeight<RuntimeCall> {
fn initiate_teleport(assets: &AssetFilter, _dest: &Location, _xcm: &Xcm<()>) -> Weight {
assets.weigh_assets(XcmBalancesWeight::<Runtime>::initiate_teleport())
}
fn initiate_transfer(
_dest: &Location,
remote_fees: &Option<AssetTransferFilter>,
assets: &Vec<AssetTransferFilter>,
_xcm: &Xcm<()>,
) -> Weight {
let mut weight = if let Some(remote_fees) = remote_fees {
let fees = remote_fees.inner();
fees.weigh_assets(XcmBalancesWeight::<Runtime>::initiate_transfer())
} else {
Weight::zero()
};
for asset_filter in assets {
let assets = asset_filter.inner();
let extra = assets.weigh_assets(XcmBalancesWeight::<Runtime>::initiate_transfer());
weight = weight.saturating_add(extra);
}
weight
}
fn report_holding(_response_info: &QueryResponseInfo, _assets: &AssetFilter) -> Weight {
XcmGeneric::<Runtime>::report_holding()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -178,4 +178,8 @@ impl<T: frame_system::Config> WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(3))
}
pub fn initiate_transfer() -> Weight {
// TODO
Weight::zero()
}
}
20 changes: 20 additions & 0 deletions polkadot/runtime/westend/src/weights/xcm/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ use xcm::{

use pallet_xcm_benchmarks_fungible::WeightInfo as XcmBalancesWeight;
use pallet_xcm_benchmarks_generic::WeightInfo as XcmGeneric;
use xcm::latest::AssetTransferFilter;

/// Types of asset supported by the westend runtime.
pub enum AssetTypes {
Expand Down Expand Up @@ -166,6 +167,25 @@ impl<RuntimeCall> XcmWeightInfo<RuntimeCall> for WestendXcmWeight<RuntimeCall> {
fn initiate_teleport(assets: &AssetFilter, _dest: &Location, _xcm: &Xcm<()>) -> Weight {
assets.weigh_assets(XcmBalancesWeight::<Runtime>::initiate_teleport())
}
fn initiate_transfer(
_dest: &Location,
remote_fees: &Option<AssetTransferFilter>,
assets: &Vec<AssetTransferFilter>,
_xcm: &Xcm<()>,
) -> Weight {
let mut weight = if let Some(remote_fees) = remote_fees {
let fees = remote_fees.inner();
fees.weigh_assets(XcmBalancesWeight::<Runtime>::initiate_transfer())
} else {
Weight::zero()
};
for asset_filter in assets {
let assets = asset_filter.inner();
let extra = assets.weigh_assets(XcmBalancesWeight::<Runtime>::initiate_transfer());
weight = weight.saturating_add(extra);
}
weight
}
fn report_holding(_response_info: &QueryResponseInfo, _assets: &AssetFilter) -> Weight {
XcmGeneric::<Runtime>::report_holding()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -178,4 +178,8 @@ impl<T: frame_system::Config> WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(3))
}
pub fn initiate_transfer() -> Weight {
// TODO
Weight::zero()
}
}
Loading

0 comments on commit 91794c7

Please sign in to comment.