[xcm ] Compatibility fix for xcm benchmarks (#2934)

* Compatibility fix for xcm benchmarks (cause of missing companion)

* ".git/.scripts/commands/bench/bench.sh" --subcommand=xcm --runtime=asset-hub-polkadot --runtime_dir=assets --target_dir=cumulus --pallet=pallet_xcm_benchmarks::fungible

* Fix for reserve_asset_deposited (https://github.com/paritytech/cumulus/issues/1974)

* Revert back hard-coded 1_000_000_000_u64 for `reserve_asset_deposited` with TODOs

* ".git/.scripts/commands/bench/bench.sh" --subcommand=xcm --runtime=asset-hub-kusama --runtime_dir=assets --target_dir=cumulus --pallet=pallet_xcm_benchmarks::fungible

---------

Co-authored-by: command-bot <>
This commit is contained in:
Branislav Kontur
2023-07-26 14:49:10 +02:00
committed by GitHub
parent 4233427717
commit 7995da0460
18 changed files with 382 additions and 292 deletions
@@ -61,10 +61,16 @@ impl<Call> XcmWeightInfo<Call> for AssetHubKusamaXcmWeight<Call> {
fn withdraw_asset(assets: &MultiAssets) -> Weight { fn withdraw_asset(assets: &MultiAssets) -> Weight {
assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::withdraw_asset()) assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::withdraw_asset())
} }
// Currently there is no trusted reserve // Currently there is no trusted reserve (`IsReserve = ()`),
// but we need this hack for `pallet_xcm::reserve_transfer_assets`
// (TODO) fix https://github.com/paritytech/polkadot/pull/7424
// (TODO) fix https://github.com/paritytech/polkadot/pull/7546
fn reserve_asset_deposited(_assets: &MultiAssets) -> Weight { fn reserve_asset_deposited(_assets: &MultiAssets) -> Weight {
// TODO: if we change `IsReserve = ...` then use this line...
// TODO: or if remote weight estimation is fixed, then remove
// TODO: hardcoded - fix https://github.com/paritytech/cumulus/issues/1974 // TODO: hardcoded - fix https://github.com/paritytech/cumulus/issues/1974
Weight::from_parts(1_000_000_000_u64, 0) let hardcoded_weight = Weight::from_parts(1_000_000_000_u64, 0);
hardcoded_weight.min(XcmFungibleWeight::<Runtime>::reserve_asset_deposited())
} }
fn receive_teleported_asset(assets: &MultiAssets) -> Weight { fn receive_teleported_asset(assets: &MultiAssets) -> Weight {
assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::receive_teleported_asset()) assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::receive_teleported_asset())
@@ -141,7 +147,7 @@ impl<Call> XcmWeightInfo<Call> for AssetHubKusamaXcmWeight<Call> {
_reserve: &MultiLocation, _reserve: &MultiLocation,
_xcm: &Xcm<()>, _xcm: &Xcm<()>,
) -> Weight { ) -> Weight {
assets.weigh_multi_assets(XcmGeneric::<Runtime>::initiate_reserve_withdraw()) assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::initiate_reserve_withdraw())
} }
fn initiate_teleport( fn initiate_teleport(
assets: &MultiAssetFilter, assets: &MultiAssetFilter,
@@ -17,26 +17,26 @@
//! Autogenerated weights for `pallet_xcm_benchmarks::fungible` //! Autogenerated weights for `pallet_xcm_benchmarks::fungible`
//! //!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2023-05-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! DATE: 2023-07-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000` //! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `bm6`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz` //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("asset-hub-kusama-dev"), DB CACHE: 1024 //! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("asset-hub-kusama-dev"), DB CACHE: 1024
// Executed Command: // Executed Command:
// ./artifacts/polkadot-parachain // target/production/polkadot-parachain
// benchmark // benchmark
// pallet // pallet
// --template=./templates/xcm-bench-template.hbs
// --chain=asset-hub-kusama-dev
// --execution=wasm
// --wasm-execution=compiled
// --pallet=pallet_xcm_benchmarks::fungible
// --extrinsic=*
// --steps=50 // --steps=50
// --repeat=20 // --repeat=20
// --json // --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=/builds/parity/mirrors/cumulus/.git/.artifacts/bench.json
// --pallet=pallet_xcm_benchmarks::fungible
// --chain=asset-hub-kusama-dev
// --header=./file_header.txt // --header=./file_header.txt
// --output=./parachains/runtimes/assets/asset-hub-kusama/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs // --template=./templates/xcm-bench-template.hbs
// --output=./parachains/runtimes/assets/asset-hub-kusama/src/weights/xcm/
#![cfg_attr(rustfmt, rustfmt_skip)] #![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)] #![allow(unused_parens)]
@@ -48,110 +48,140 @@ use sp_std::marker::PhantomData;
/// Weights for `pallet_xcm_benchmarks::fungible`. /// Weights for `pallet_xcm_benchmarks::fungible`.
pub struct WeightInfo<T>(PhantomData<T>); pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> WeightInfo<T> { impl<T: frame_system::Config> WeightInfo<T> {
// Storage: System Account (r:1 w:1) // Storage: `System::Account` (r:1 w:1)
// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
pub fn withdraw_asset() -> Weight { pub fn withdraw_asset() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `101` // Measured: `101`
// Estimated: `3593` // Estimated: `3593`
// Minimum execution time: 26_264_000 picoseconds. // Minimum execution time: 26_371_000 picoseconds.
Weight::from_parts(26_613_000, 3593) Weight::from_parts(27_398_000, 3593)
.saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1)) .saturating_add(T::DbWeight::get().writes(1))
} }
// Storage: System Account (r:2 w:2) // Storage: `System::Account` (r:2 w:2)
// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
pub fn transfer_asset() -> Weight { pub fn transfer_asset() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `101` // Measured: `101`
// Estimated: `6196` // Estimated: `6196`
// Minimum execution time: 50_109_000 picoseconds. // Minimum execution time: 52_248_000 picoseconds.
Weight::from_parts(50_611_000, 6196) Weight::from_parts(54_424_000, 6196)
.saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2)) .saturating_add(T::DbWeight::get().writes(2))
} }
// Storage: System Account (r:2 w:2) // Storage: `System::Account` (r:2 w:2)
// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
// Storage: ParachainInfo ParachainId (r:1 w:0) // Storage: `ParachainInfo::ParachainId` (r:1 w:0)
// Proof: ParachainInfo ParachainId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
// Storage: PolkadotXcm SupportedVersion (r:1 w:0) // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
// Proof Skipped: PolkadotXcm SupportedVersion (max_values: None, max_size: None, mode: Measured) // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
// Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) // Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1)
// Proof Skipped: PolkadotXcm VersionDiscoveryQueue (max_values: Some(1), max_size: None, mode: Measured) // Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) // Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0)
// Proof Skipped: PolkadotXcm SafeXcmVersion (max_values: Some(1), max_size: None, mode: Measured) // Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: ParachainSystem HostConfiguration (r:1 w:0) // Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
// Proof Skipped: ParachainSystem HostConfiguration (max_values: Some(1), max_size: None, mode: Measured) // Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) // Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured) // Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
pub fn transfer_reserve_asset() -> Weight { pub fn transfer_reserve_asset() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `176` // Measured: `210`
// Estimated: `6196` // Estimated: `6196`
// Minimum execution time: 72_554_000 picoseconds. // Minimum execution time: 76_817_000 picoseconds.
Weight::from_parts(73_381_000, 6196) Weight::from_parts(78_750_000, 6196)
.saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().reads(8))
.saturating_add(T::DbWeight::get().writes(4)) .saturating_add(T::DbWeight::get().writes(4))
} }
// Storage: `Benchmark::Override` (r:0 w:0)
// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
pub fn reserve_asset_deposited() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 500_000_000_000 picoseconds.
Weight::from_parts(500_000_000_000, 0)
}
// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1)
// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0)
// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
pub fn initiate_reserve_withdraw() -> Weight {
// Proof Size summary in bytes:
// Measured: `109`
// Estimated: `3574`
// Minimum execution time: 474_937_000 picoseconds.
Weight::from_parts(483_577_000, 3574)
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(2))
}
pub fn receive_teleported_asset() -> Weight { pub fn receive_teleported_asset() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `0` // Measured: `0`
// Estimated: `0` // Estimated: `0`
// Minimum execution time: 3_858_000 picoseconds. // Minimum execution time: 3_986_000 picoseconds.
Weight::from_parts(3_970_000, 0) Weight::from_parts(4_088_000, 0)
} }
// Storage: System Account (r:1 w:1) // Storage: `System::Account` (r:1 w:1)
// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
pub fn deposit_asset() -> Weight { pub fn deposit_asset() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `0` // Measured: `0`
// Estimated: `3593` // Estimated: `3593`
// Minimum execution time: 26_650_000 picoseconds. // Minimum execution time: 27_152_000 picoseconds.
Weight::from_parts(27_186_000, 3593) Weight::from_parts(27_954_000, 3593)
.saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1)) .saturating_add(T::DbWeight::get().writes(1))
} }
// Storage: System Account (r:1 w:1) // Storage: `System::Account` (r:1 w:1)
// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
// Storage: ParachainInfo ParachainId (r:1 w:0) // Storage: `ParachainInfo::ParachainId` (r:1 w:0)
// Proof: ParachainInfo ParachainId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
// Storage: PolkadotXcm SupportedVersion (r:1 w:0) // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
// Proof Skipped: PolkadotXcm SupportedVersion (max_values: None, max_size: None, mode: Measured) // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
// Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) // Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1)
// Proof Skipped: PolkadotXcm VersionDiscoveryQueue (max_values: Some(1), max_size: None, mode: Measured) // Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) // Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0)
// Proof Skipped: PolkadotXcm SafeXcmVersion (max_values: Some(1), max_size: None, mode: Measured) // Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: ParachainSystem HostConfiguration (r:1 w:0) // Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
// Proof Skipped: ParachainSystem HostConfiguration (max_values: Some(1), max_size: None, mode: Measured) // Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) // Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured) // Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
pub fn deposit_reserve_asset() -> Weight { pub fn deposit_reserve_asset() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `75` // Measured: `109`
// Estimated: `3593` // Estimated: `3593`
// Minimum execution time: 50_230_000 picoseconds. // Minimum execution time: 54_098_000 picoseconds.
Weight::from_parts(50_949_000, 3593) Weight::from_parts(55_731_000, 3593)
.saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().reads(7))
.saturating_add(T::DbWeight::get().writes(3)) .saturating_add(T::DbWeight::get().writes(3))
} }
// Storage: ParachainInfo ParachainId (r:1 w:0) // Storage: `ParachainInfo::ParachainId` (r:1 w:0)
// Proof: ParachainInfo ParachainId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
// Storage: PolkadotXcm SupportedVersion (r:1 w:0) // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
// Proof Skipped: PolkadotXcm SupportedVersion (max_values: None, max_size: None, mode: Measured) // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
// Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) // Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1)
// Proof Skipped: PolkadotXcm VersionDiscoveryQueue (max_values: Some(1), max_size: None, mode: Measured) // Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) // Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0)
// Proof Skipped: PolkadotXcm SafeXcmVersion (max_values: Some(1), max_size: None, mode: Measured) // Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: ParachainSystem HostConfiguration (r:1 w:0) // Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
// Proof Skipped: ParachainSystem HostConfiguration (max_values: Some(1), max_size: None, mode: Measured) // Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) // Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured) // Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
pub fn initiate_teleport() -> Weight { pub fn initiate_teleport() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `75` // Measured: `109`
// Estimated: `3540` // Estimated: `3574`
// Minimum execution time: 29_977_000 picoseconds. // Minimum execution time: 33_434_000 picoseconds.
Weight::from_parts(30_521_000, 3540) Weight::from_parts(34_367_000, 3574)
.saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(2)) .saturating_add(T::DbWeight::get().writes(2))
} }
@@ -205,27 +205,6 @@ impl<T: frame_system::Config> WeightInfo<T> {
Weight::from_parts(4_996_000, 0) Weight::from_parts(4_996_000, 0)
.saturating_add(T::DbWeight::get().writes(1)) .saturating_add(T::DbWeight::get().writes(1))
} }
// Storage: ParachainInfo ParachainId (r:1 w:0)
// Proof: ParachainInfo ParachainId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
// Storage: PolkadotXcm SupportedVersion (r:1 w:0)
// Proof Skipped: PolkadotXcm SupportedVersion (max_values: None, max_size: None, mode: Measured)
// Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1)
// Proof Skipped: PolkadotXcm VersionDiscoveryQueue (max_values: Some(1), max_size: None, mode: Measured)
// Storage: PolkadotXcm SafeXcmVersion (r:1 w:0)
// Proof Skipped: PolkadotXcm SafeXcmVersion (max_values: Some(1), max_size: None, mode: Measured)
// Storage: ParachainSystem HostConfiguration (r:1 w:0)
// Proof Skipped: ParachainSystem HostConfiguration (max_values: Some(1), max_size: None, mode: Measured)
// Storage: ParachainSystem PendingUpwardMessages (r:1 w:1)
// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured)
pub fn initiate_reserve_withdraw() -> Weight {
// Proof Size summary in bytes:
// Measured: `75`
// Estimated: `3540`
// Minimum execution time: 383_046_000 picoseconds.
Weight::from_parts(397_796_000, 3540)
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(2))
}
pub fn burn_asset() -> Weight { pub fn burn_asset() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `0` // Measured: `0`
@@ -61,10 +61,16 @@ impl<Call> XcmWeightInfo<Call> for AssetHubPolkadotXcmWeight<Call> {
fn withdraw_asset(assets: &MultiAssets) -> Weight { fn withdraw_asset(assets: &MultiAssets) -> Weight {
assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::withdraw_asset()) assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::withdraw_asset())
} }
// Currently there is no trusted reserve // Currently there is no trusted reserve (`IsReserve = ()`),
// but we need this hack for `pallet_xcm::reserve_transfer_assets`
// (TODO) fix https://github.com/paritytech/polkadot/pull/7424
// (TODO) fix https://github.com/paritytech/polkadot/pull/7546
fn reserve_asset_deposited(_assets: &MultiAssets) -> Weight { fn reserve_asset_deposited(_assets: &MultiAssets) -> Weight {
// TODO: if we change `IsReserve = ...` then use this line...
// TODO: or if remote weight estimation is fixed, then remove
// TODO: hardcoded - fix https://github.com/paritytech/cumulus/issues/1974 // TODO: hardcoded - fix https://github.com/paritytech/cumulus/issues/1974
Weight::from_parts(1_000_000_000_u64, 0) let hardcoded_weight = Weight::from_parts(1_000_000_000_u64, 0);
hardcoded_weight.min(XcmFungibleWeight::<Runtime>::reserve_asset_deposited())
} }
fn receive_teleported_asset(assets: &MultiAssets) -> Weight { fn receive_teleported_asset(assets: &MultiAssets) -> Weight {
assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::receive_teleported_asset()) assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::receive_teleported_asset())
@@ -141,7 +147,7 @@ impl<Call> XcmWeightInfo<Call> for AssetHubPolkadotXcmWeight<Call> {
_reserve: &MultiLocation, _reserve: &MultiLocation,
_xcm: &Xcm<()>, _xcm: &Xcm<()>,
) -> Weight { ) -> Weight {
assets.weigh_multi_assets(XcmGeneric::<Runtime>::initiate_reserve_withdraw()) assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::initiate_reserve_withdraw())
} }
fn initiate_teleport( fn initiate_teleport(
assets: &MultiAssetFilter, assets: &MultiAssetFilter,
@@ -17,26 +17,26 @@
//! Autogenerated weights for `pallet_xcm_benchmarks::fungible` //! Autogenerated weights for `pallet_xcm_benchmarks::fungible`
//! //!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2023-05-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! DATE: 2023-07-25, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000` //! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `bm6`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz` //! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("asset-hub-polkadot-dev"), DB CACHE: 1024 //! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("asset-hub-polkadot-dev"), DB CACHE: 1024
// Executed Command: // Executed Command:
// ./artifacts/polkadot-parachain // target/production/polkadot-parachain
// benchmark // benchmark
// pallet // pallet
// --template=./templates/xcm-bench-template.hbs
// --chain=asset-hub-polkadot-dev
// --execution=wasm
// --wasm-execution=compiled
// --pallet=pallet_xcm_benchmarks::fungible
// --extrinsic=*
// --steps=50 // --steps=50
// --repeat=20 // --repeat=20
// --json // --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=/builds/parity/mirrors/cumulus/.git/.artifacts/bench.json
// --pallet=pallet_xcm_benchmarks::fungible
// --chain=asset-hub-polkadot-dev
// --header=./file_header.txt // --header=./file_header.txt
// --output=./parachains/runtimes/assets/asset-hub-polkadot/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs // --template=./templates/xcm-bench-template.hbs
// --output=./parachains/runtimes/assets/asset-hub-polkadot/src/weights/xcm/
#![cfg_attr(rustfmt, rustfmt_skip)] #![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)] #![allow(unused_parens)]
@@ -48,110 +48,140 @@ use sp_std::marker::PhantomData;
/// Weights for `pallet_xcm_benchmarks::fungible`. /// Weights for `pallet_xcm_benchmarks::fungible`.
pub struct WeightInfo<T>(PhantomData<T>); pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> WeightInfo<T> { impl<T: frame_system::Config> WeightInfo<T> {
// Storage: System Account (r:1 w:1) // Storage: `System::Account` (r:1 w:1)
// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
pub fn withdraw_asset() -> Weight { pub fn withdraw_asset() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `101` // Measured: `101`
// Estimated: `3593` // Estimated: `3593`
// Minimum execution time: 25_619_000 picoseconds. // Minimum execution time: 25_707_000 picoseconds.
Weight::from_parts(26_283_000, 3593) Weight::from_parts(26_256_000, 3593)
.saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1)) .saturating_add(T::DbWeight::get().writes(1))
} }
// Storage: System Account (r:2 w:2) // Storage: `System::Account` (r:2 w:2)
// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
pub fn transfer_asset() -> Weight { pub fn transfer_asset() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `101` // Measured: `101`
// Estimated: `6196` // Estimated: `6196`
// Minimum execution time: 48_538_000 picoseconds. // Minimum execution time: 50_941_000 picoseconds.
Weight::from_parts(49_245_000, 6196) Weight::from_parts(51_855_000, 6196)
.saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2)) .saturating_add(T::DbWeight::get().writes(2))
} }
// Storage: System Account (r:2 w:2) // Storage: `System::Account` (r:2 w:2)
// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
// Storage: ParachainInfo ParachainId (r:1 w:0) // Storage: `ParachainInfo::ParachainId` (r:1 w:0)
// Proof: ParachainInfo ParachainId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
// Storage: PolkadotXcm SupportedVersion (r:1 w:0) // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
// Proof Skipped: PolkadotXcm SupportedVersion (max_values: None, max_size: None, mode: Measured) // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
// Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) // Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1)
// Proof Skipped: PolkadotXcm VersionDiscoveryQueue (max_values: Some(1), max_size: None, mode: Measured) // Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) // Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0)
// Proof Skipped: PolkadotXcm SafeXcmVersion (max_values: Some(1), max_size: None, mode: Measured) // Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: ParachainSystem HostConfiguration (r:1 w:0) // Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
// Proof Skipped: ParachainSystem HostConfiguration (max_values: Some(1), max_size: None, mode: Measured) // Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) // Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured) // Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
pub fn transfer_reserve_asset() -> Weight { pub fn transfer_reserve_asset() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `176` // Measured: `176`
// Estimated: `6196` // Estimated: `6196`
// Minimum execution time: 70_133_000 picoseconds. // Minimum execution time: 72_081_000 picoseconds.
Weight::from_parts(70_675_000, 6196) Weight::from_parts(73_180_000, 6196)
.saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().reads(8))
.saturating_add(T::DbWeight::get().writes(4)) .saturating_add(T::DbWeight::get().writes(4))
} }
// Storage: `Benchmark::Override` (r:0 w:0)
// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
pub fn reserve_asset_deposited() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 500_000_000_000 picoseconds.
Weight::from_parts(500_000_000_000, 0)
}
// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1)
// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0)
// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
pub fn initiate_reserve_withdraw() -> Weight {
// Proof Size summary in bytes:
// Measured: `75`
// Estimated: `3540`
// Minimum execution time: 433_290_000 picoseconds.
Weight::from_parts(458_467_000, 3540)
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(2))
}
pub fn receive_teleported_asset() -> Weight { pub fn receive_teleported_asset() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `0` // Measured: `0`
// Estimated: `0` // Estimated: `0`
// Minimum execution time: 3_765_000 picoseconds. // Minimum execution time: 3_596_000 picoseconds.
Weight::from_parts(3_860_000, 0) Weight::from_parts(3_714_000, 0)
} }
// Storage: System Account (r:1 w:1) // Storage: `System::Account` (r:1 w:1)
// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
pub fn deposit_asset() -> Weight { pub fn deposit_asset() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `0` // Measured: `0`
// Estimated: `3593` // Estimated: `3593`
// Minimum execution time: 26_210_000 picoseconds. // Minimum execution time: 25_458_000 picoseconds.
Weight::from_parts(26_602_000, 3593) Weight::from_parts(25_930_000, 3593)
.saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1)) .saturating_add(T::DbWeight::get().writes(1))
} }
// Storage: System Account (r:1 w:1) // Storage: `System::Account` (r:1 w:1)
// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
// Storage: ParachainInfo ParachainId (r:1 w:0) // Storage: `ParachainInfo::ParachainId` (r:1 w:0)
// Proof: ParachainInfo ParachainId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
// Storage: PolkadotXcm SupportedVersion (r:1 w:0) // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
// Proof Skipped: PolkadotXcm SupportedVersion (max_values: None, max_size: None, mode: Measured) // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
// Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) // Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1)
// Proof Skipped: PolkadotXcm VersionDiscoveryQueue (max_values: Some(1), max_size: None, mode: Measured) // Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) // Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0)
// Proof Skipped: PolkadotXcm SafeXcmVersion (max_values: Some(1), max_size: None, mode: Measured) // Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: ParachainSystem HostConfiguration (r:1 w:0) // Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
// Proof Skipped: ParachainSystem HostConfiguration (max_values: Some(1), max_size: None, mode: Measured) // Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) // Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured) // Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
pub fn deposit_reserve_asset() -> Weight { pub fn deposit_reserve_asset() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `75` // Measured: `75`
// Estimated: `3593` // Estimated: `3593`
// Minimum execution time: 50_179_000 picoseconds. // Minimum execution time: 49_319_000 picoseconds.
Weight::from_parts(50_814_000, 3593) Weight::from_parts(50_168_000, 3593)
.saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().reads(7))
.saturating_add(T::DbWeight::get().writes(3)) .saturating_add(T::DbWeight::get().writes(3))
} }
// Storage: ParachainInfo ParachainId (r:1 w:0) // Storage: `ParachainInfo::ParachainId` (r:1 w:0)
// Proof: ParachainInfo ParachainId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
// Storage: PolkadotXcm SupportedVersion (r:1 w:0) // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
// Proof Skipped: PolkadotXcm SupportedVersion (max_values: None, max_size: None, mode: Measured) // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
// Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1) // Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1)
// Proof Skipped: PolkadotXcm VersionDiscoveryQueue (max_values: Some(1), max_size: None, mode: Measured) // Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: PolkadotXcm SafeXcmVersion (r:1 w:0) // Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0)
// Proof Skipped: PolkadotXcm SafeXcmVersion (max_values: Some(1), max_size: None, mode: Measured) // Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: ParachainSystem HostConfiguration (r:1 w:0) // Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
// Proof Skipped: ParachainSystem HostConfiguration (max_values: Some(1), max_size: None, mode: Measured) // Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
// Storage: ParachainSystem PendingUpwardMessages (r:1 w:1) // Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured) // Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
pub fn initiate_teleport() -> Weight { pub fn initiate_teleport() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `75` // Measured: `75`
// Estimated: `3540` // Estimated: `3540`
// Minimum execution time: 29_986_000 picoseconds. // Minimum execution time: 29_183_000 picoseconds.
Weight::from_parts(30_384_000, 3540) Weight::from_parts(29_873_000, 3540)
.saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(2)) .saturating_add(T::DbWeight::get().writes(2))
} }
@@ -205,27 +205,6 @@ impl<T: frame_system::Config> WeightInfo<T> {
Weight::from_parts(5_058_000, 0) Weight::from_parts(5_058_000, 0)
.saturating_add(T::DbWeight::get().writes(1)) .saturating_add(T::DbWeight::get().writes(1))
} }
// Storage: ParachainInfo ParachainId (r:1 w:0)
// Proof: ParachainInfo ParachainId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
// Storage: PolkadotXcm SupportedVersion (r:1 w:0)
// Proof Skipped: PolkadotXcm SupportedVersion (max_values: None, max_size: None, mode: Measured)
// Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1)
// Proof Skipped: PolkadotXcm VersionDiscoveryQueue (max_values: Some(1), max_size: None, mode: Measured)
// Storage: PolkadotXcm SafeXcmVersion (r:1 w:0)
// Proof Skipped: PolkadotXcm SafeXcmVersion (max_values: Some(1), max_size: None, mode: Measured)
// Storage: ParachainSystem HostConfiguration (r:1 w:0)
// Proof Skipped: ParachainSystem HostConfiguration (max_values: Some(1), max_size: None, mode: Measured)
// Storage: ParachainSystem PendingUpwardMessages (r:1 w:1)
// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured)
pub fn initiate_reserve_withdraw() -> Weight {
// Proof Size summary in bytes:
// Measured: `75`
// Estimated: `3540`
// Minimum execution time: 386_102_000 picoseconds.
Weight::from_parts(389_687_000, 3540)
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(2))
}
pub fn burn_asset() -> Weight { pub fn burn_asset() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `0` // Measured: `0`
@@ -61,10 +61,16 @@ impl<Call> XcmWeightInfo<Call> for AssetHubWestendXcmWeight<Call> {
fn withdraw_asset(assets: &MultiAssets) -> Weight { fn withdraw_asset(assets: &MultiAssets) -> Weight {
assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::withdraw_asset()) assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::withdraw_asset())
} }
// Currently there is no trusted reserve // Currently there is no trusted reserve (`IsReserve = ()`),
// but we need this hack for `pallet_xcm::reserve_transfer_assets`
// (TODO) fix https://github.com/paritytech/polkadot/pull/7424
// (TODO) fix https://github.com/paritytech/polkadot/pull/7546
fn reserve_asset_deposited(_assets: &MultiAssets) -> Weight { fn reserve_asset_deposited(_assets: &MultiAssets) -> Weight {
// TODO: if we change `IsReserve = ...` then use this line...
// TODO: or if remote weight estimation is fixed, then remove
// TODO: hardcoded - fix https://github.com/paritytech/cumulus/issues/1974 // TODO: hardcoded - fix https://github.com/paritytech/cumulus/issues/1974
Weight::from_parts(1_000_000_000_u64, 0) let hardcoded_weight = Weight::from_parts(1_000_000_000_u64, 0);
hardcoded_weight.min(XcmFungibleWeight::<Runtime>::reserve_asset_deposited())
} }
fn receive_teleported_asset(assets: &MultiAssets) -> Weight { fn receive_teleported_asset(assets: &MultiAssets) -> Weight {
assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::receive_teleported_asset()) assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::receive_teleported_asset())
@@ -141,7 +147,7 @@ impl<Call> XcmWeightInfo<Call> for AssetHubWestendXcmWeight<Call> {
_reserve: &MultiLocation, _reserve: &MultiLocation,
_xcm: &Xcm<()>, _xcm: &Xcm<()>,
) -> Weight { ) -> Weight {
assets.weigh_multi_assets(XcmGeneric::<Runtime>::initiate_reserve_withdraw()) assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::initiate_reserve_withdraw())
} }
fn initiate_teleport( fn initiate_teleport(
assets: &MultiAssetFilter, assets: &MultiAssetFilter,
@@ -93,6 +93,36 @@ impl<T: frame_system::Config> WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().reads(8))
.saturating_add(T::DbWeight::get().writes(4)) .saturating_add(T::DbWeight::get().writes(4))
} }
// Storage: `Benchmark::Override` (r:0 w:0)
// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
pub fn reserve_asset_deposited() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 500_000_000_000 picoseconds.
Weight::from_parts(500_000_000_000, 0)
}
// Storage: ParachainInfo ParachainId (r:1 w:0)
// Proof: ParachainInfo ParachainId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
// Storage: PolkadotXcm SupportedVersion (r:1 w:0)
// Proof Skipped: PolkadotXcm SupportedVersion (max_values: None, max_size: None, mode: Measured)
// Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1)
// Proof Skipped: PolkadotXcm VersionDiscoveryQueue (max_values: Some(1), max_size: None, mode: Measured)
// Storage: PolkadotXcm SafeXcmVersion (r:1 w:0)
// Proof Skipped: PolkadotXcm SafeXcmVersion (max_values: Some(1), max_size: None, mode: Measured)
// Storage: ParachainSystem HostConfiguration (r:1 w:0)
// Proof Skipped: ParachainSystem HostConfiguration (max_values: Some(1), max_size: None, mode: Measured)
// Storage: ParachainSystem PendingUpwardMessages (r:1 w:1)
// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured)
pub fn initiate_reserve_withdraw() -> Weight {
// Proof Size summary in bytes:
// Measured: `109`
// Estimated: `3574`
// Minimum execution time: 382_848_000 picoseconds.
Weight::from_parts(398_418_000, 3574)
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(2))
}
pub fn receive_teleported_asset() -> Weight { pub fn receive_teleported_asset() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `0` // Measured: `0`
@@ -205,27 +205,6 @@ impl<T: frame_system::Config> WeightInfo<T> {
Weight::from_parts(4_815_000, 0) Weight::from_parts(4_815_000, 0)
.saturating_add(T::DbWeight::get().writes(1)) .saturating_add(T::DbWeight::get().writes(1))
} }
// Storage: ParachainInfo ParachainId (r:1 w:0)
// Proof: ParachainInfo ParachainId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
// Storage: PolkadotXcm SupportedVersion (r:1 w:0)
// Proof Skipped: PolkadotXcm SupportedVersion (max_values: None, max_size: None, mode: Measured)
// Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1)
// Proof Skipped: PolkadotXcm VersionDiscoveryQueue (max_values: Some(1), max_size: None, mode: Measured)
// Storage: PolkadotXcm SafeXcmVersion (r:1 w:0)
// Proof Skipped: PolkadotXcm SafeXcmVersion (max_values: Some(1), max_size: None, mode: Measured)
// Storage: ParachainSystem HostConfiguration (r:1 w:0)
// Proof Skipped: ParachainSystem HostConfiguration (max_values: Some(1), max_size: None, mode: Measured)
// Storage: ParachainSystem PendingUpwardMessages (r:1 w:1)
// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured)
pub fn initiate_reserve_withdraw() -> Weight {
// Proof Size summary in bytes:
// Measured: `109`
// Estimated: `3574`
// Minimum execution time: 382_848_000 picoseconds.
Weight::from_parts(398_418_000, 3574)
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(2))
}
pub fn burn_asset() -> Weight { pub fn burn_asset() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `0` // Measured: `0`
@@ -61,10 +61,16 @@ impl<Call> XcmWeightInfo<Call> for BridgeHubKusamaXcmWeight<Call> {
fn withdraw_asset(assets: &MultiAssets) -> Weight { fn withdraw_asset(assets: &MultiAssets) -> Weight {
assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::withdraw_asset()) assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::withdraw_asset())
} }
// Currently there is no trusted reserve // Currently there is no trusted reserve (`IsReserve = ()`),
// but we need this hack for `pallet_xcm::reserve_transfer_assets`
// (TODO) fix https://github.com/paritytech/polkadot/pull/7424
// (TODO) fix https://github.com/paritytech/polkadot/pull/7546
fn reserve_asset_deposited(_assets: &MultiAssets) -> Weight { fn reserve_asset_deposited(_assets: &MultiAssets) -> Weight {
// TODO: if we change `IsReserve = ...` then use this line...
// TODO: or if remote weight estimation is fixed, then remove
// TODO: hardcoded - fix https://github.com/paritytech/cumulus/issues/1974 // TODO: hardcoded - fix https://github.com/paritytech/cumulus/issues/1974
Weight::from_parts(1_000_000_000_u64, 0) let hardcoded_weight = Weight::from_parts(1_000_000_000_u64, 0);
hardcoded_weight.min(XcmFungibleWeight::<Runtime>::reserve_asset_deposited())
} }
fn receive_teleported_asset(assets: &MultiAssets) -> Weight { fn receive_teleported_asset(assets: &MultiAssets) -> Weight {
assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::receive_teleported_asset()) assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::receive_teleported_asset())
@@ -141,7 +147,7 @@ impl<Call> XcmWeightInfo<Call> for BridgeHubKusamaXcmWeight<Call> {
_reserve: &MultiLocation, _reserve: &MultiLocation,
_xcm: &Xcm<()>, _xcm: &Xcm<()>,
) -> Weight { ) -> Weight {
assets.weigh_multi_assets(XcmGeneric::<Runtime>::initiate_reserve_withdraw()) assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::initiate_reserve_withdraw())
} }
fn initiate_teleport( fn initiate_teleport(
assets: &MultiAssetFilter, assets: &MultiAssetFilter,
@@ -93,6 +93,36 @@ impl<T: frame_system::Config> WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().reads(8))
.saturating_add(T::DbWeight::get().writes(4)) .saturating_add(T::DbWeight::get().writes(4))
} }
// Storage: `Benchmark::Override` (r:0 w:0)
// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
pub fn reserve_asset_deposited() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 500_000_000_000 picoseconds.
Weight::from_parts(500_000_000_000, 0)
}
// Storage: ParachainInfo ParachainId (r:1 w:0)
// Proof: ParachainInfo ParachainId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
// Storage: PolkadotXcm SupportedVersion (r:1 w:0)
// Proof Skipped: PolkadotXcm SupportedVersion (max_values: None, max_size: None, mode: Measured)
// Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1)
// Proof Skipped: PolkadotXcm VersionDiscoveryQueue (max_values: Some(1), max_size: None, mode: Measured)
// Storage: PolkadotXcm SafeXcmVersion (r:1 w:0)
// Proof Skipped: PolkadotXcm SafeXcmVersion (max_values: Some(1), max_size: None, mode: Measured)
// Storage: ParachainSystem HostConfiguration (r:1 w:0)
// Proof Skipped: ParachainSystem HostConfiguration (max_values: Some(1), max_size: None, mode: Measured)
// Storage: ParachainSystem PendingUpwardMessages (r:1 w:1)
// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured)
pub fn initiate_reserve_withdraw() -> Weight {
// Proof Size summary in bytes:
// Measured: `70`
// Estimated: `3535`
// Minimum execution time: 26_945_000 picoseconds.
Weight::from_parts(28_093_000, 3535)
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(2))
}
pub fn receive_teleported_asset() -> Weight { pub fn receive_teleported_asset() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `0` // Measured: `0`
@@ -205,27 +205,6 @@ impl<T: frame_system::Config> WeightInfo<T> {
Weight::from_parts(5_062_000, 0) Weight::from_parts(5_062_000, 0)
.saturating_add(T::DbWeight::get().writes(1)) .saturating_add(T::DbWeight::get().writes(1))
} }
// Storage: ParachainInfo ParachainId (r:1 w:0)
// Proof: ParachainInfo ParachainId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
// Storage: PolkadotXcm SupportedVersion (r:1 w:0)
// Proof Skipped: PolkadotXcm SupportedVersion (max_values: None, max_size: None, mode: Measured)
// Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1)
// Proof Skipped: PolkadotXcm VersionDiscoveryQueue (max_values: Some(1), max_size: None, mode: Measured)
// Storage: PolkadotXcm SafeXcmVersion (r:1 w:0)
// Proof Skipped: PolkadotXcm SafeXcmVersion (max_values: Some(1), max_size: None, mode: Measured)
// Storage: ParachainSystem HostConfiguration (r:1 w:0)
// Proof Skipped: ParachainSystem HostConfiguration (max_values: Some(1), max_size: None, mode: Measured)
// Storage: ParachainSystem PendingUpwardMessages (r:1 w:1)
// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured)
pub fn initiate_reserve_withdraw() -> Weight {
// Proof Size summary in bytes:
// Measured: `70`
// Estimated: `3535`
// Minimum execution time: 26_945_000 picoseconds.
Weight::from_parts(28_093_000, 3535)
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(2))
}
pub fn burn_asset() -> Weight { pub fn burn_asset() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `0` // Measured: `0`
@@ -61,10 +61,16 @@ impl<Call> XcmWeightInfo<Call> for BridgeHubPolkadotXcmWeight<Call> {
fn withdraw_asset(assets: &MultiAssets) -> Weight { fn withdraw_asset(assets: &MultiAssets) -> Weight {
assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::withdraw_asset()) assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::withdraw_asset())
} }
// Currently there is no trusted reserve // Currently there is no trusted reserve (`IsReserve = ()`),
// but we need this hack for `pallet_xcm::reserve_transfer_assets`
// (TODO) fix https://github.com/paritytech/polkadot/pull/7424
// (TODO) fix https://github.com/paritytech/polkadot/pull/7546
fn reserve_asset_deposited(_assets: &MultiAssets) -> Weight { fn reserve_asset_deposited(_assets: &MultiAssets) -> Weight {
// TODO: if we change `IsReserve = ...` then use this line...
// TODO: or if remote weight estimation is fixed, then remove
// TODO: hardcoded - fix https://github.com/paritytech/cumulus/issues/1974 // TODO: hardcoded - fix https://github.com/paritytech/cumulus/issues/1974
Weight::from_parts(1_000_000_000_u64, 0) let hardcoded_weight = Weight::from_parts(1_000_000_000_u64, 0);
hardcoded_weight.min(XcmFungibleWeight::<Runtime>::reserve_asset_deposited())
} }
fn receive_teleported_asset(assets: &MultiAssets) -> Weight { fn receive_teleported_asset(assets: &MultiAssets) -> Weight {
assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::receive_teleported_asset()) assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::receive_teleported_asset())
@@ -141,7 +147,7 @@ impl<Call> XcmWeightInfo<Call> for BridgeHubPolkadotXcmWeight<Call> {
_reserve: &MultiLocation, _reserve: &MultiLocation,
_xcm: &Xcm<()>, _xcm: &Xcm<()>,
) -> Weight { ) -> Weight {
assets.weigh_multi_assets(XcmGeneric::<Runtime>::initiate_reserve_withdraw()) assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::initiate_reserve_withdraw())
} }
fn initiate_teleport( fn initiate_teleport(
assets: &MultiAssetFilter, assets: &MultiAssetFilter,
@@ -93,6 +93,36 @@ impl<T: frame_system::Config> WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().reads(8))
.saturating_add(T::DbWeight::get().writes(4)) .saturating_add(T::DbWeight::get().writes(4))
} }
// Storage: `Benchmark::Override` (r:0 w:0)
// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
pub fn reserve_asset_deposited() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 500_000_000_000 picoseconds.
Weight::from_parts(500_000_000_000, 0)
}
// Storage: ParachainInfo ParachainId (r:1 w:0)
// Proof: ParachainInfo ParachainId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
// Storage: PolkadotXcm SupportedVersion (r:1 w:0)
// Proof Skipped: PolkadotXcm SupportedVersion (max_values: None, max_size: None, mode: Measured)
// Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1)
// Proof Skipped: PolkadotXcm VersionDiscoveryQueue (max_values: Some(1), max_size: None, mode: Measured)
// Storage: PolkadotXcm SafeXcmVersion (r:1 w:0)
// Proof Skipped: PolkadotXcm SafeXcmVersion (max_values: Some(1), max_size: None, mode: Measured)
// Storage: ParachainSystem HostConfiguration (r:1 w:0)
// Proof Skipped: ParachainSystem HostConfiguration (max_values: Some(1), max_size: None, mode: Measured)
// Storage: ParachainSystem PendingUpwardMessages (r:1 w:1)
// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured)
pub fn initiate_reserve_withdraw() -> Weight {
// Proof Size summary in bytes:
// Measured: `70`
// Estimated: `3535`
// Minimum execution time: 27_707_000 picoseconds.
Weight::from_parts(28_081_000, 3535)
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(2))
}
pub fn receive_teleported_asset() -> Weight { pub fn receive_teleported_asset() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `0` // Measured: `0`
@@ -205,27 +205,6 @@ impl<T: frame_system::Config> WeightInfo<T> {
Weight::from_parts(5_168_000, 0) Weight::from_parts(5_168_000, 0)
.saturating_add(T::DbWeight::get().writes(1)) .saturating_add(T::DbWeight::get().writes(1))
} }
// Storage: ParachainInfo ParachainId (r:1 w:0)
// Proof: ParachainInfo ParachainId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
// Storage: PolkadotXcm SupportedVersion (r:1 w:0)
// Proof Skipped: PolkadotXcm SupportedVersion (max_values: None, max_size: None, mode: Measured)
// Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1)
// Proof Skipped: PolkadotXcm VersionDiscoveryQueue (max_values: Some(1), max_size: None, mode: Measured)
// Storage: PolkadotXcm SafeXcmVersion (r:1 w:0)
// Proof Skipped: PolkadotXcm SafeXcmVersion (max_values: Some(1), max_size: None, mode: Measured)
// Storage: ParachainSystem HostConfiguration (r:1 w:0)
// Proof Skipped: ParachainSystem HostConfiguration (max_values: Some(1), max_size: None, mode: Measured)
// Storage: ParachainSystem PendingUpwardMessages (r:1 w:1)
// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured)
pub fn initiate_reserve_withdraw() -> Weight {
// Proof Size summary in bytes:
// Measured: `70`
// Estimated: `3535`
// Minimum execution time: 27_707_000 picoseconds.
Weight::from_parts(28_081_000, 3535)
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(2))
}
pub fn burn_asset() -> Weight { pub fn burn_asset() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `0` // Measured: `0`
@@ -62,10 +62,16 @@ impl<Call> XcmWeightInfo<Call> for BridgeHubRococoXcmWeight<Call> {
fn withdraw_asset(assets: &MultiAssets) -> Weight { fn withdraw_asset(assets: &MultiAssets) -> Weight {
assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::withdraw_asset()) assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::withdraw_asset())
} }
// Currently there is no trusted reserve // Currently there is no trusted reserve (`IsReserve = ()`),
// but we need this hack for `pallet_xcm::reserve_transfer_assets`
// (TODO) fix https://github.com/paritytech/polkadot/pull/7424
// (TODO) fix https://github.com/paritytech/polkadot/pull/7546
fn reserve_asset_deposited(_assets: &MultiAssets) -> Weight { fn reserve_asset_deposited(_assets: &MultiAssets) -> Weight {
// TODO: if we change `IsReserve = ...` then use this line...
// TODO: or if remote weight estimation is fixed, then remove
// TODO: hardcoded - fix https://github.com/paritytech/cumulus/issues/1974 // TODO: hardcoded - fix https://github.com/paritytech/cumulus/issues/1974
Weight::from_parts(1_000_000_000_u64, 0) let hardcoded_weight = Weight::from_parts(1_000_000_000_u64, 0);
hardcoded_weight.min(XcmFungibleWeight::<Runtime>::reserve_asset_deposited())
} }
fn receive_teleported_asset(assets: &MultiAssets) -> Weight { fn receive_teleported_asset(assets: &MultiAssets) -> Weight {
assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::receive_teleported_asset()) assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::receive_teleported_asset())
@@ -142,7 +148,7 @@ impl<Call> XcmWeightInfo<Call> for BridgeHubRococoXcmWeight<Call> {
_reserve: &MultiLocation, _reserve: &MultiLocation,
_xcm: &Xcm<()>, _xcm: &Xcm<()>,
) -> Weight { ) -> Weight {
assets.weigh_multi_assets(XcmGeneric::<Runtime>::initiate_reserve_withdraw()) assets.weigh_multi_assets(XcmFungibleWeight::<Runtime>::initiate_reserve_withdraw())
} }
fn initiate_teleport( fn initiate_teleport(
assets: &MultiAssetFilter, assets: &MultiAssetFilter,
@@ -93,6 +93,36 @@ impl<T: frame_system::Config> WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().reads(8))
.saturating_add(T::DbWeight::get().writes(4)) .saturating_add(T::DbWeight::get().writes(4))
} }
// Storage: `Benchmark::Override` (r:0 w:0)
// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
pub fn reserve_asset_deposited() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 500_000_000_000 picoseconds.
Weight::from_parts(500_000_000_000, 0)
}
// Storage: ParachainInfo ParachainId (r:1 w:0)
// Proof: ParachainInfo ParachainId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
// Storage: PolkadotXcm SupportedVersion (r:1 w:0)
// Proof Skipped: PolkadotXcm SupportedVersion (max_values: None, max_size: None, mode: Measured)
// Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1)
// Proof Skipped: PolkadotXcm VersionDiscoveryQueue (max_values: Some(1), max_size: None, mode: Measured)
// Storage: PolkadotXcm SafeXcmVersion (r:1 w:0)
// Proof Skipped: PolkadotXcm SafeXcmVersion (max_values: Some(1), max_size: None, mode: Measured)
// Storage: ParachainSystem HostConfiguration (r:1 w:0)
// Proof Skipped: ParachainSystem HostConfiguration (max_values: Some(1), max_size: None, mode: Measured)
// Storage: ParachainSystem PendingUpwardMessages (r:1 w:1)
// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured)
pub fn initiate_reserve_withdraw() -> Weight {
// Proof Size summary in bytes:
// Measured: `107`
// Estimated: `3572`
// Minimum execution time: 30_713_000 picoseconds.
Weight::from_parts(31_400_000, 3572)
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(2))
}
pub fn receive_teleported_asset() -> Weight { pub fn receive_teleported_asset() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `0` // Measured: `0`
@@ -205,27 +205,6 @@ impl<T: frame_system::Config> WeightInfo<T> {
Weight::from_parts(4_920_000, 0) Weight::from_parts(4_920_000, 0)
.saturating_add(T::DbWeight::get().writes(1)) .saturating_add(T::DbWeight::get().writes(1))
} }
// Storage: ParachainInfo ParachainId (r:1 w:0)
// Proof: ParachainInfo ParachainId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
// Storage: PolkadotXcm SupportedVersion (r:1 w:0)
// Proof Skipped: PolkadotXcm SupportedVersion (max_values: None, max_size: None, mode: Measured)
// Storage: PolkadotXcm VersionDiscoveryQueue (r:1 w:1)
// Proof Skipped: PolkadotXcm VersionDiscoveryQueue (max_values: Some(1), max_size: None, mode: Measured)
// Storage: PolkadotXcm SafeXcmVersion (r:1 w:0)
// Proof Skipped: PolkadotXcm SafeXcmVersion (max_values: Some(1), max_size: None, mode: Measured)
// Storage: ParachainSystem HostConfiguration (r:1 w:0)
// Proof Skipped: ParachainSystem HostConfiguration (max_values: Some(1), max_size: None, mode: Measured)
// Storage: ParachainSystem PendingUpwardMessages (r:1 w:1)
// Proof Skipped: ParachainSystem PendingUpwardMessages (max_values: Some(1), max_size: None, mode: Measured)
pub fn initiate_reserve_withdraw() -> Weight {
// Proof Size summary in bytes:
// Measured: `107`
// Estimated: `3572`
// Minimum execution time: 30_713_000 picoseconds.
Weight::from_parts(31_400_000, 3572)
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(2))
}
pub fn burn_asset() -> Weight { pub fn burn_asset() -> Weight {
// Proof Size summary in bytes: // Proof Size summary in bytes:
// Measured: `0` // Measured: `0`