From b7c2d185f7c07f94d66804f9a746d853e1265fb7 Mon Sep 17 00:00:00 2001 From: Ezequiel Raynaudo Date: Wed, 7 Aug 2024 14:20:07 -0300 Subject: [PATCH] Update asset hub --- system-parachains/asset-hub-paseo/Cargo.toml | 38 +- system-parachains/asset-hub-paseo/build.rs | 13 +- .../asset-hub-paseo/src/impls.rs | 636 ++++++------ system-parachains/asset-hub-paseo/src/lib.rs | 182 ++-- .../src/weights/block_weights.rs | 2 +- .../cumulus_pallet_parachain_system.rs | 48 +- .../src/weights/extrinsic_weights.rs | 2 +- .../asset-hub-paseo/src/weights/mod.rs | 3 +- .../src/weights/pallet_asset_conversion.rs | 212 ++-- .../src/weights/pallet_assets_foreign.rs | 171 ++-- .../src/weights/pallet_assets_local.rs | 169 +-- .../src/weights/pallet_assets_pool.rs | 960 +++++++++--------- .../src/weights/pallet_message_queue.rs | 266 ++--- .../src/weights/pallet_multisig.rs | 81 +- .../src/weights/pallet_nfts.rs | 211 ++-- .../src/weights/pallet_proxy.rs | 107 +- .../src/weights/pallet_session.rs | 21 +- .../src/weights/pallet_timestamp.rs | 23 +- .../src/weights/pallet_uniques.rs | 191 ++-- .../src/weights/pallet_utility.rs | 45 +- .../src/weights/pallet_vesting.rs | 2 +- .../weights/pallet_xcm_bridge_hub_router.rs | 124 +++ .../xcm/pallet_xcm_benchmarks_fungible.rs | 62 +- .../xcm/pallet_xcm_benchmarks_generic.rs | 146 +-- .../asset-hub-paseo/src/xcm_config.rs | 243 +++-- .../asset-hub-paseo/tests/tests.rs | 145 ++- system-parachains/constants/Cargo.toml | 6 +- system-parachains/constants/src/paseo.rs | 7 + 28 files changed, 2204 insertions(+), 1912 deletions(-) create mode 100644 system-parachains/asset-hub-paseo/src/weights/pallet_xcm_bridge_hub_router.rs diff --git a/system-parachains/asset-hub-paseo/Cargo.toml b/system-parachains/asset-hub-paseo/Cargo.toml index 4bccb84..e0f3963 100644 --- a/system-parachains/asset-hub-paseo/Cargo.toml +++ b/system-parachains/asset-hub-paseo/Cargo.toml @@ -9,10 +9,10 @@ repository.workspace = true version.workspace = true [dependencies] -codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive", "max-encoded-len"] } -hex-literal = { version = "0.4.1", optional = true } -log = { version = "0.4.20", default-features = false } -scale-info = { version = "2.10.0", default-features = false, features = ["derive"] } +codec = { features = ["derive", "max-encoded-len"], workspace = true } +hex-literal = { optional = true, workspace = true } +log = { workspace = true } +scale-info = { features = ["derive"], workspace = true } # Local bp-asset-hub-paseo = { workspace = true } @@ -63,9 +63,9 @@ sp-version = { workspace = true } sp-weights = { workspace = true } # num-traits feature needed for dex integer sq root: primitive-types = { features = [ - "codec", - "num-traits", - "scale-info", + "codec", + "num-traits", + "scale-info", ], workspace = true } # Polkadot @@ -81,11 +81,11 @@ xcm-executor = { workspace = true } # Cumulus cumulus-pallet-aura-ext = { workspace = true } cumulus-pallet-parachain-system = { features = [ - "parameterized-consensus-hook", + "parameterized-consensus-hook", ], workspace = true } cumulus-pallet-session-benchmarking = { workspace = true } cumulus-pallet-xcm = { workspace = true } -cumulus-pallet-xcmp-queue = { workspace = true , features = ["bridging"] } +cumulus-pallet-xcmp-queue = { features = ["bridging"], workspace = true } cumulus-primitives-aura = { workspace = true } cumulus-primitives-core = { workspace = true } cumulus-primitives-utility = { workspace = true } @@ -96,7 +96,6 @@ system-parachains-constants = { workspace = true } assets-common = { workspace = true } # Bridges -#bp-bridge-hub-paseo = { path = "../bridge-hub-paseo/primitives", default-features = false } pallet-xcm-bridge-hub-router = { workspace = true } snowbridge-router-primitives = { workspace = true } @@ -109,7 +108,7 @@ parachains-runtimes-test-utils = { workspace = true } substrate-wasm-builder = { optional = true, workspace = true } [features] -default = [ "std" ] +default = ["std"] runtime-benchmarks = [ "assets-common/runtime-benchmarks", "cumulus-pallet-parachain-system/runtime-benchmarks", @@ -122,6 +121,7 @@ runtime-benchmarks = [ "frame-system-benchmarking/runtime-benchmarks", "frame-system/runtime-benchmarks", "hex-literal", + "pallet-asset-conversion/runtime-benchmarks", "pallet-assets/runtime-benchmarks", "pallet-balances/runtime-benchmarks", "pallet-collator-selection/runtime-benchmarks", @@ -134,6 +134,7 @@ runtime-benchmarks = [ "pallet-utility/runtime-benchmarks", "pallet-vesting/runtime-benchmarks", "pallet-xcm-benchmarks/runtime-benchmarks", + "pallet-xcm-bridge-hub-router/runtime-benchmarks", "pallet-xcm/runtime-benchmarks", "parachains-common/runtime-benchmarks", "polkadot-parachain-primitives/runtime-benchmarks", @@ -142,8 +143,6 @@ runtime-benchmarks = [ "sp-runtime/runtime-benchmarks", "xcm-builder/runtime-benchmarks", "xcm-executor/runtime-benchmarks", - "pallet-asset-conversion/runtime-benchmarks", - "pallet-xcm-bridge-hub-router/runtime-benchmarks" ] try-runtime = [ "cumulus-pallet-aura-ext/try-runtime", @@ -171,14 +170,16 @@ try-runtime = [ "pallet-uniques/try-runtime", "pallet-utility/try-runtime", "pallet-vesting/try-runtime", + "pallet-xcm-bridge-hub-router/try-runtime", "pallet-xcm/try-runtime", "parachain-info/try-runtime", "polkadot-runtime-common/try-runtime", "sp-runtime/try-runtime", - "pallet-xcm-bridge-hub-router/try-runtime" ] std = [ "assets-common/std", + "bp-asset-hub-paseo/std", + "bp-bridge-hub-paseo/std", "codec/std", "cumulus-pallet-aura-ext/std", "cumulus-pallet-parachain-system/std", @@ -215,7 +216,9 @@ std = [ "pallet-transaction-payment/std", "pallet-uniques/std", "pallet-utility/std", + "pallet-vesting/std", "pallet-xcm-benchmarks?/std", + "pallet-xcm-bridge-hub-router/std", "pallet-xcm/std", "parachain-info/std", "parachains-common/std", @@ -225,12 +228,14 @@ std = [ "paseo-runtime-constants/std", "primitive-types/std", "scale-info/std", + "snowbridge-router-primitives/std", "sp-api/std", "sp-block-builder/std", "sp-consensus-aura/std", "sp-core/std", "sp-genesis-builder/std", "sp-inherents/std", + "sp-io/std", "sp-offchain/std", "sp-runtime/std", "sp-session/std", @@ -239,16 +244,11 @@ std = [ "sp-transaction-pool/std", "sp-version/std", "sp-weights/std", - "sp-io/std", - "snowbridge-router-primitives/std", "substrate-wasm-builder", "system-parachains-constants/std", "xcm-builder/std", "xcm-executor/std", "xcm/std", - "bp-bridge-hub-paseo/std", - "pallet-xcm-bridge-hub-router/std", - "bp-asset-hub-paseo/std" ] # Enable metadata hash generation at compile time for the `CheckMetadataHash` extension. diff --git a/system-parachains/asset-hub-paseo/build.rs b/system-parachains/asset-hub-paseo/build.rs index 60f8a12..50aa84c 100644 --- a/system-parachains/asset-hub-paseo/build.rs +++ b/system-parachains/asset-hub-paseo/build.rs @@ -13,12 +13,15 @@ // See the License for the specific language governing permissions and // limitations under the License. -#[cfg(feature = "std")] +#[cfg(all(feature = "std", not(feature = "metadata-hash")))] fn main() { - substrate_wasm_builder::WasmBuilder::new() - .with_current_project() - .export_heap_base() - .import_memory() + substrate_wasm_builder::WasmBuilder::build_using_defaults() +} + +#[cfg(all(feature = "std", feature = "metadata-hash"))] +fn main() { + substrate_wasm_builder::WasmBuilder::init_with_defaults() + .enable_metadata_hash("PAS", 10) .build() } diff --git a/system-parachains/asset-hub-paseo/src/impls.rs b/system-parachains/asset-hub-paseo/src/impls.rs index e2f5c36..5c66ccf 100644 --- a/system-parachains/asset-hub-paseo/src/impls.rs +++ b/system-parachains/asset-hub-paseo/src/impls.rs @@ -16,344 +16,344 @@ use crate::*; pub(crate) mod pool { - use super::*; - use core::marker::PhantomData; - use pallet_asset_conversion::PoolLocator; - use sp_core::Get; - use sp_runtime::traits::{TrailingZeroInput, TryConvert}; + use super::*; + use core::marker::PhantomData; + use pallet_asset_conversion::PoolLocator; + use sp_core::Get; + use sp_runtime::traits::{TrailingZeroInput, TryConvert}; - /// Pool locator that mandates the inclusion of the specified `FirstAsset` in every asset pair. - /// - /// The `PoolId` is represented as a tuple of `AssetKind`s with `FirstAsset` always positioned - /// as the first element. - pub struct WithFirstAsset( - PhantomData<(FirstAsset, AccountId, AssetKind, AccountIdConverter)>, - ); - impl - PoolLocator - for WithFirstAsset - where - AssetKind: Eq + Clone + Encode, - AccountId: Decode, - FirstAsset: Get, - AccountIdConverter: for<'a> TryConvert<&'a (AssetKind, AssetKind), AccountId>, - { - fn pool_id(asset1: &AssetKind, asset2: &AssetKind) -> Result<(AssetKind, AssetKind), ()> { - if asset1 == asset2 { - return Err(()); - } - let first = FirstAsset::get(); - if first == *asset1 { - Ok((first, asset2.clone())) - } else if first == *asset2 { - Ok((first, asset1.clone())) - } else { - Err(()) - } - } - fn address(id: &(AssetKind, AssetKind)) -> Result { - AccountIdConverter::try_convert(id).map_err(|_| ()) - } - } + /// Pool locator that mandates the inclusion of the specified `FirstAsset` in every asset pair. + /// + /// The `PoolId` is represented as a tuple of `AssetKind`s with `FirstAsset` always positioned + /// as the first element. + pub struct WithFirstAsset( + PhantomData<(FirstAsset, AccountId, AssetKind, AccountIdConverter)>, + ); + impl + PoolLocator + for WithFirstAsset + where + AssetKind: Eq + Clone + Encode, + AccountId: Decode, + FirstAsset: Get, + AccountIdConverter: for<'a> TryConvert<&'a (AssetKind, AssetKind), AccountId>, + { + fn pool_id(asset1: &AssetKind, asset2: &AssetKind) -> Result<(AssetKind, AssetKind), ()> { + if asset1 == asset2 { + return Err(()); + } + let first = FirstAsset::get(); + if first == *asset1 { + Ok((first, asset2.clone())) + } else if first == *asset2 { + Ok((first, asset1.clone())) + } else { + Err(()) + } + } + fn address(id: &(AssetKind, AssetKind)) -> Result { + AccountIdConverter::try_convert(id).map_err(|_| ()) + } + } - /// `PoolId` to `AccountId` conversion. - pub struct AccountIdConverter(PhantomData<(Seed, PoolId)>); - impl TryConvert<&PoolId, AccountId> for AccountIdConverter - where - PoolId: Encode, - AccountId: Decode, - Seed: Get, - { - fn try_convert(id: &PoolId) -> Result { - sp_io::hashing::blake2_256(&Encode::encode(&(Seed::get(), id))[..]) - .using_encoded(|e| Decode::decode(&mut TrailingZeroInput::new(e)).map_err(|_| id)) - } - } + /// `PoolId` to `AccountId` conversion. + pub struct AccountIdConverter(PhantomData<(Seed, PoolId)>); + impl TryConvert<&PoolId, AccountId> for AccountIdConverter + where + PoolId: Encode, + AccountId: Decode, + Seed: Get, + { + fn try_convert(id: &PoolId) -> Result { + sp_io::hashing::blake2_256(&Encode::encode(&(Seed::get(), id))[..]) + .using_encoded(|e| Decode::decode(&mut TrailingZeroInput::new(e)).map_err(|_| id)) + } + } } // TODO: move implementations to the polkadot-sdk. pub mod tx_payment { - use super::*; - use core::marker::PhantomData; - use frame_support::{ - ensure, - pallet_prelude::{InvalidTransaction, TransactionValidityError}, - traits::{ - fungibles::{Balanced as FungiblesBalanced, Inspect as FungiblesInspect}, - tokens::{Fortitude, Precision, Preservation}, - Defensive, OnUnbalanced, SameOrOther, - }, - }; - use pallet_asset_conversion::{Pallet as AssetConversion, SwapCredit}; - use pallet_asset_conversion_tx_payment::OnChargeAssetTransaction; - use pallet_transaction_payment::OnChargeTransaction; - use sp_core::Get; - use sp_runtime::{ - traits::{DispatchInfoOf, PostDispatchInfoOf, Zero}, - Saturating, - }; + use super::*; + use core::marker::PhantomData; + use frame_support::{ + ensure, + pallet_prelude::{InvalidTransaction, TransactionValidityError}, + traits::{ + fungibles::{Balanced as FungiblesBalanced, Inspect as FungiblesInspect}, + tokens::{Fortitude, Precision, Preservation}, + Defensive, OnUnbalanced, SameOrOther, + }, + }; + use pallet_asset_conversion::{Pallet as AssetConversion, SwapCredit}; + use pallet_asset_conversion_tx_payment::OnChargeAssetTransaction; + use pallet_transaction_payment::OnChargeTransaction; + use sp_core::Get; + use sp_runtime::{ + traits::{DispatchInfoOf, PostDispatchInfoOf, Zero}, + Saturating, + }; - /// Implements [`OnChargeTransaction`] for [`pallet_transaction_payment`], where the asset class - /// used to pay the fee is defined with the `A` type parameter (eg. KSM location) and accessed - /// via the type implementing the [`frame_support::traits::fungibles`] trait. - /// - /// This implementation with the `fungibles` trait is necessary to set up - /// [`pallet_asset_conversion_tx_payment`] with the [`SwapCreditAdapter`] type. For both types, - /// the credit types they handle must be the same, therefore they must be credits of - /// `fungibles`. - pub struct FungiblesAdapter(PhantomData<(F, A, OU)>); + /// Implements [`OnChargeTransaction`] for [`pallet_transaction_payment`], where the asset class + /// used to pay the fee is defined with the `A` type parameter (eg. KSM location) and accessed + /// via the type implementing the [`frame_support::traits::fungibles`] trait. + /// + /// This implementation with the `fungibles` trait is necessary to set up + /// [`pallet_asset_conversion_tx_payment`] with the [`SwapCreditAdapter`] type. For both types, + /// the credit types they handle must be the same, therefore they must be credits of + /// `fungibles`. + pub struct FungiblesAdapter(PhantomData<(F, A, OU)>); - impl OnChargeTransaction for FungiblesAdapter - where - T: pallet_transaction_payment::Config, - F: fungibles::Balanced, - A: Get, - OU: OnUnbalanced>, - { - type LiquidityInfo = Option>; - type Balance = F::Balance; + impl OnChargeTransaction for FungiblesAdapter + where + T: pallet_transaction_payment::Config, + F: fungibles::Balanced, + A: Get, + OU: OnUnbalanced>, + { + type LiquidityInfo = Option>; + type Balance = F::Balance; - fn withdraw_fee( - who: &::AccountId, - _call: &::RuntimeCall, - _dispatch_info: &DispatchInfoOf<::RuntimeCall>, - fee: Self::Balance, - _tip: Self::Balance, - ) -> Result { - if fee.is_zero() { - return Ok(None) - } + fn withdraw_fee( + who: &::AccountId, + _call: &::RuntimeCall, + _dispatch_info: &DispatchInfoOf<::RuntimeCall>, + fee: Self::Balance, + _tip: Self::Balance, + ) -> Result { + if fee.is_zero() { + return Ok(None) + } - match F::withdraw( - A::get(), - who, - fee, - Precision::Exact, - Preservation::Preserve, - Fortitude::Polite, - ) { - Ok(imbalance) => Ok(Some(imbalance)), - Err(_) => Err(InvalidTransaction::Payment.into()), - } - } + match F::withdraw( + A::get(), + who, + fee, + Precision::Exact, + Preservation::Preserve, + Fortitude::Polite, + ) { + Ok(imbalance) => Ok(Some(imbalance)), + Err(_) => Err(InvalidTransaction::Payment.into()), + } + } - fn correct_and_deposit_fee( - who: &::AccountId, - _dispatch_info: &DispatchInfoOf<::RuntimeCall>, - _post_info: &PostDispatchInfoOf<::RuntimeCall>, - corrected_fee: Self::Balance, - _tip: Self::Balance, - already_withdrawn: Self::LiquidityInfo, - ) -> Result<(), TransactionValidityError> { - let Some(paid) = already_withdrawn else { - return Ok(()); - }; - // Make sure the credit is in desired asset id. - ensure!(paid.asset() == A::get(), InvalidTransaction::Payment); - // Calculate how much refund we should return. - let refund_amount = paid.peek().saturating_sub(corrected_fee); - // Refund to the the account that paid the fees if it was not removed by the - // dispatched function. If fails for any reason (eg. ED requirement is not met) no - // refund given. - let refund_debt = - if F::total_balance(A::get(), who).is_zero() || refund_amount.is_zero() { - fungibles::Debt::::zero(A::get()) - } else { - F::deposit(A::get(), who, refund_amount, Precision::BestEffort) - .unwrap_or_else(|_| fungibles::Debt::::zero(A::get())) - }; - // Merge the imbalance caused by paying the fees and refunding parts of it again. - let adjusted_paid: fungibles::Credit = - match paid.offset(refund_debt).defensive_proof("credits should be identical") { - Ok(SameOrOther::Same(credit)) => credit, - // Paid amount is fully refunded. - Ok(SameOrOther::None) => fungibles::Credit::::zero(A::get()), - // Should never fail as at this point the asset id is always valid and the - // refund amount is not greater than paid amount. - _ => return Err(InvalidTransaction::Payment.into()), - }; - // No separation for simplicity. - // In our case the fees and the tips are deposited to the same pot. - // We cannot call [`OnUnbalanced::on_unbalanceds`] since fungibles credit does not - // implement `Imbalanced` trait. - OU::on_unbalanced(adjusted_paid); - Ok(()) - } - } + fn correct_and_deposit_fee( + who: &::AccountId, + _dispatch_info: &DispatchInfoOf<::RuntimeCall>, + _post_info: &PostDispatchInfoOf<::RuntimeCall>, + corrected_fee: Self::Balance, + _tip: Self::Balance, + already_withdrawn: Self::LiquidityInfo, + ) -> Result<(), TransactionValidityError> { + let Some(paid) = already_withdrawn else { + return Ok(()); + }; + // Make sure the credit is in desired asset id. + ensure!(paid.asset() == A::get(), InvalidTransaction::Payment); + // Calculate how much refund we should return. + let refund_amount = paid.peek().saturating_sub(corrected_fee); + // Refund to the the account that paid the fees if it was not removed by the + // dispatched function. If fails for any reason (eg. ED requirement is not met) no + // refund given. + let refund_debt = + if F::total_balance(A::get(), who).is_zero() || refund_amount.is_zero() { + fungibles::Debt::::zero(A::get()) + } else { + F::deposit(A::get(), who, refund_amount, Precision::BestEffort) + .unwrap_or_else(|_| fungibles::Debt::::zero(A::get())) + }; + // Merge the imbalance caused by paying the fees and refunding parts of it again. + let adjusted_paid: fungibles::Credit = + match paid.offset(refund_debt).defensive_proof("credits should be identical") { + Ok(SameOrOther::Same(credit)) => credit, + // Paid amount is fully refunded. + Ok(SameOrOther::None) => fungibles::Credit::::zero(A::get()), + // Should never fail as at this point the asset id is always valid and the + // refund amount is not greater than paid amount. + _ => return Err(InvalidTransaction::Payment.into()), + }; + // No separation for simplicity. + // In our case the fees and the tips are deposited to the same pot. + // We cannot call [`OnUnbalanced::on_unbalanceds`] since fungibles credit does not + // implement `Imbalanced` trait. + OU::on_unbalanced(adjusted_paid); + Ok(()) + } + } - type LiquidityInfoOf = - <::OnChargeTransaction as OnChargeTransaction< - T, - >>::LiquidityInfo; + type LiquidityInfoOf = + <::OnChargeTransaction as OnChargeTransaction< + T, + >>::LiquidityInfo; - /// Implements [`OnChargeAssetTransaction`] for [`pallet_asset_conversion_tx_payment`], where - /// the asset class used to pay the fee is defined with the `A` type parameter (eg. DOT - /// location) and accessed via the type implementing the [`frame_support::traits::fungibles`] - /// trait. - pub struct SwapCreditAdapter(PhantomData<(A, S)>); - impl OnChargeAssetTransaction for SwapCreditAdapter - where - A: Get, - S: SwapCredit< - T::AccountId, - Balance = T::Balance, - AssetKind = T::AssetKind, - Credit = fungibles::Credit, - >, + /// Implements [`OnChargeAssetTransaction`] for [`pallet_asset_conversion_tx_payment`], where + /// the asset class used to pay the fee is defined with the `A` type parameter (eg. PAS + /// location) and accessed via the type implementing the [`frame_support::traits::fungibles`] + /// trait. + pub struct SwapCreditAdapter(PhantomData<(A, S)>); + impl OnChargeAssetTransaction for SwapCreditAdapter + where + A: Get, + S: SwapCredit< + T::AccountId, + Balance = T::Balance, + AssetKind = T::AssetKind, + Credit = fungibles::Credit, + >, - T: pallet_asset_conversion_tx_payment::Config, - T::Fungibles: - fungibles::Inspect, - T::OnChargeTransaction: - OnChargeTransaction>, - { - type AssetId = T::AssetKind; - type Balance = T::Balance; - type LiquidityInfo = T::Balance; + T: pallet_asset_conversion_tx_payment::Config, + T::Fungibles: + fungibles::Inspect, + T::OnChargeTransaction: + OnChargeTransaction>, + { + type AssetId = T::AssetKind; + type Balance = T::Balance; + type LiquidityInfo = T::Balance; - fn withdraw_fee( - who: &::AccountId, - _call: &::RuntimeCall, - _dispatch_info: &DispatchInfoOf<::RuntimeCall>, - asset_id: Self::AssetId, - fee: Self::Balance, - _tip: Self::Balance, - ) -> Result<(LiquidityInfoOf, Self::LiquidityInfo, T::Balance), TransactionValidityError> - { - let asset_fee = AssetConversion::::quote_price_tokens_for_exact_tokens( - asset_id.clone(), - A::get(), - fee, - true, - ) - .ok_or(InvalidTransaction::Payment)?; + fn withdraw_fee( + who: &::AccountId, + _call: &::RuntimeCall, + _dispatch_info: &DispatchInfoOf<::RuntimeCall>, + asset_id: Self::AssetId, + fee: Self::Balance, + _tip: Self::Balance, + ) -> Result<(LiquidityInfoOf, Self::LiquidityInfo, T::Balance), TransactionValidityError> + { + let asset_fee = AssetConversion::::quote_price_tokens_for_exact_tokens( + asset_id.clone(), + A::get(), + fee, + true, + ) + .ok_or(InvalidTransaction::Payment)?; - let asset_fee_credit = T::Assets::withdraw( - asset_id.clone(), - who, - asset_fee, - Precision::Exact, - Preservation::Preserve, - Fortitude::Polite, - ) - .map_err(|_| TransactionValidityError::from(InvalidTransaction::Payment))?; + let asset_fee_credit = T::Assets::withdraw( + asset_id.clone(), + who, + asset_fee, + Precision::Exact, + Preservation::Preserve, + Fortitude::Polite, + ) + .map_err(|_| TransactionValidityError::from(InvalidTransaction::Payment))?; - let (fee_credit, change) = match S::swap_tokens_for_exact_tokens( - vec![asset_id, A::get()], - asset_fee_credit, - fee, - ) { - Ok((fee_credit, change)) => (fee_credit, change), - Err((credit_in, _)) => { - // The swap should not error since the price quote was successful. - let _ = T::Assets::resolve(who, credit_in).defensive(); - return Err(InvalidTransaction::Payment.into()) - }, - }; + let (fee_credit, change) = match S::swap_tokens_for_exact_tokens( + vec![asset_id, A::get()], + asset_fee_credit, + fee, + ) { + Ok((fee_credit, change)) => (fee_credit, change), + Err((credit_in, _)) => { + // The swap should not error since the price quote was successful. + let _ = T::Assets::resolve(who, credit_in).defensive(); + return Err(InvalidTransaction::Payment.into()) + }, + }; - // Should be always zero since the exact price was quoted before. - ensure!(change.peek().is_zero(), InvalidTransaction::Payment); + // Should be always zero since the exact price was quoted before. + ensure!(change.peek().is_zero(), InvalidTransaction::Payment); - Ok((Some(fee_credit), fee, asset_fee)) - } - fn correct_and_deposit_fee( - who: &::AccountId, - dispatch_info: &DispatchInfoOf<::RuntimeCall>, - post_info: &PostDispatchInfoOf<::RuntimeCall>, - corrected_fee: Self::Balance, - tip: Self::Balance, - fee_paid: LiquidityInfoOf, - _received_exchanged: Self::LiquidityInfo, - asset_id: Self::AssetId, - initial_asset_consumed: T::Balance, - ) -> Result { - let Some(fee_paid) = fee_paid else { - return Ok(Zero::zero()); - }; - // Try to refund if the fee paid is more than the corrected fee and the account was not - // removed by the dispatched function. - let (fee, fee_in_asset) = if fee_paid.peek() > corrected_fee && - !T::Assets::total_balance(asset_id.clone(), who).is_zero() - { - let refund_amount = fee_paid.peek().saturating_sub(corrected_fee); - // Check if the refund amount can be swapped back into the asset used by `who` for - // fee payment. - let refund_asset_amount = - AssetConversion::::quote_price_exact_tokens_for_tokens( - A::get(), - asset_id.clone(), - refund_amount, - true, - ) - // No refund given if it cannot be swapped back. - .unwrap_or(Zero::zero()); + Ok((Some(fee_credit), fee, asset_fee)) + } + fn correct_and_deposit_fee( + who: &::AccountId, + dispatch_info: &DispatchInfoOf<::RuntimeCall>, + post_info: &PostDispatchInfoOf<::RuntimeCall>, + corrected_fee: Self::Balance, + tip: Self::Balance, + fee_paid: LiquidityInfoOf, + _received_exchanged: Self::LiquidityInfo, + asset_id: Self::AssetId, + initial_asset_consumed: T::Balance, + ) -> Result { + let Some(fee_paid) = fee_paid else { + return Ok(Zero::zero()); + }; + // Try to refund if the fee paid is more than the corrected fee and the account was not + // removed by the dispatched function. + let (fee, fee_in_asset) = if fee_paid.peek() > corrected_fee && + !T::Assets::total_balance(asset_id.clone(), who).is_zero() + { + let refund_amount = fee_paid.peek().saturating_sub(corrected_fee); + // Check if the refund amount can be swapped back into the asset used by `who` for + // fee payment. + let refund_asset_amount = + AssetConversion::::quote_price_exact_tokens_for_tokens( + A::get(), + asset_id.clone(), + refund_amount, + true, + ) + // No refund given if it cannot be swapped back. + .unwrap_or(Zero::zero()); - // Deposit the refund before the swap to ensure it can be processed. - let debt = match T::Assets::deposit( - asset_id.clone(), - who, - refund_asset_amount, - Precision::BestEffort, - ) { - Ok(debt) => debt, - // No refund given since it cannot be deposited. - Err(_) => fungibles::Debt::::zero(asset_id.clone()), - }; + // Deposit the refund before the swap to ensure it can be processed. + let debt = match T::Assets::deposit( + asset_id.clone(), + who, + refund_asset_amount, + Precision::BestEffort, + ) { + Ok(debt) => debt, + // No refund given since it cannot be deposited. + Err(_) => fungibles::Debt::::zero(asset_id.clone()), + }; - if debt.peek().is_zero() { - // No refund given. - (fee_paid, initial_asset_consumed) - } else { - let (refund, fee_paid) = fee_paid.split(refund_amount); - match S::swap_exact_tokens_for_tokens( - vec![A::get(), asset_id], - refund, - Some(refund_asset_amount), - ) { - Ok(refund_asset) => { - match refund_asset.offset(debt) { - Ok(SameOrOther::None) => {}, - // This arm should never be reached, as the amount of `debt` is - // expected to be exactly equal to the amount of `refund_asset` - // credit. - _ => return Err(InvalidTransaction::Payment.into()), - }; - (fee_paid, initial_asset_consumed.saturating_sub(refund_asset_amount)) - }, - // The error should not occur since swap was quoted before. - Err((refund, _)) => { - match T::Assets::settle(who, debt, Preservation::Expendable) { - Ok(dust) => - ensure!(dust.peek().is_zero(), InvalidTransaction::Payment), - // The error should not occur as the `debt` was just withdrawn - // above. - Err(_) => return Err(InvalidTransaction::Payment.into()), - }; - let fee_paid = fee_paid.merge(refund).map_err(|_| { - // The error should never occur since `fee_paid` and `refund` are - // credits of the same asset. - TransactionValidityError::from(InvalidTransaction::Payment) - })?; - (fee_paid, initial_asset_consumed) - }, - } - } - } else { - (fee_paid, initial_asset_consumed) - }; + if debt.peek().is_zero() { + // No refund given. + (fee_paid, initial_asset_consumed) + } else { + let (refund, fee_paid) = fee_paid.split(refund_amount); + match S::swap_exact_tokens_for_tokens( + vec![A::get(), asset_id], + refund, + Some(refund_asset_amount), + ) { + Ok(refund_asset) => { + match refund_asset.offset(debt) { + Ok(SameOrOther::None) => {}, + // This arm should never be reached, as the amount of `debt` is + // expected to be exactly equal to the amount of `refund_asset` + // credit. + _ => return Err(InvalidTransaction::Payment.into()), + }; + (fee_paid, initial_asset_consumed.saturating_sub(refund_asset_amount)) + }, + // The error should not occur since swap was quoted before. + Err((refund, _)) => { + match T::Assets::settle(who, debt, Preservation::Expendable) { + Ok(dust) => + ensure!(dust.peek().is_zero(), InvalidTransaction::Payment), + // The error should not occur as the `debt` was just withdrawn + // above. + Err(_) => return Err(InvalidTransaction::Payment.into()), + }; + let fee_paid = fee_paid.merge(refund).map_err(|_| { + // The error should never occur since `fee_paid` and `refund` are + // credits of the same asset. + TransactionValidityError::from(InvalidTransaction::Payment) + })?; + (fee_paid, initial_asset_consumed) + }, + } + } + } else { + (fee_paid, initial_asset_consumed) + }; - // Refund is already processed. - let corrected_fee = fee.peek(); - // Deposit fee. - T::OnChargeTransaction::correct_and_deposit_fee( - who, - dispatch_info, - post_info, - corrected_fee, - tip, - Some(fee), - ) - .map(|_| fee_in_asset) - } - } + // Refund is already processed. + let corrected_fee = fee.peek(); + // Deposit fee. + T::OnChargeTransaction::correct_and_deposit_fee( + who, + dispatch_info, + post_info, + corrected_fee, + tip, + Some(fee), + ) + .map(|_| fee_in_asset) + } + } } diff --git a/system-parachains/asset-hub-paseo/src/lib.rs b/system-parachains/asset-hub-paseo/src/lib.rs index d773848..4a00d08 100644 --- a/system-parachains/asset-hub-paseo/src/lib.rs +++ b/system-parachains/asset-hub-paseo/src/lib.rs @@ -94,8 +94,8 @@ use frame_support::{ parameter_types, traits::{ fungible, fungibles, tokens::imbalance::ResolveAssetTo, AsEnsureOriginWithArg, ConstBool, - ConstU32, ConstU64, ConstU8, EitherOfDiverse, InstanceFilter, NeverEnsureOrigin, - TransformOrigin, WithdrawReasons, + ConstU32, ConstU64, ConstU8, EitherOfDiverse, EnsureOrigin, EnsureOriginWithArg, Equals, + InstanceFilter, NeverEnsureOrigin, TransformOrigin, WithdrawReasons, }, weights::{ConstantMultiplier, Weight}, PalletId, @@ -143,7 +143,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("asset-hub-paseo"), impl_name: create_runtime_str!("asset-hub-paseo"), authoring_version: 1, - spec_version: 1_002_005, + spec_version: 1_002_006, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 15, @@ -298,6 +298,27 @@ parameter_types! { /// We allow root to execute privileged asset operations. pub type AssetsForceOrigin = EnsureRoot; +/// Ensure that the proposed asset id is less than `50_000_000` and origin is signed. +pub struct EnsureLessThanAutoIncrement; +impl EnsureOriginWithArg + for EnsureLessThanAutoIncrement +{ + type Success = AccountId; + fn try_origin( + o: RuntimeOrigin, + a: &AssetIdForTrustBackedAssets, + ) -> Result { + if *a >= 50_000_000 { + return Err(o); + } + as EnsureOrigin>::try_origin(o) + } + #[cfg(feature = "runtime-benchmarks")] + fn try_successful_origin(_a: &AssetIdForTrustBackedAssets) -> Result { + as EnsureOrigin>::try_successful_origin() + } +} + // Called "Trust Backed" assets because these are generally registered by some account, and users of // the asset assume it has some claimed backing. The pallet is called `Assets` in // `construct_runtime` to avoid breaking changes on storage reads. @@ -309,7 +330,7 @@ impl pallet_assets::Config for Runtime { type AssetId = AssetIdForTrustBackedAssets; type AssetIdParameter = codec::Compact; type Currency = Balances; - type CreateOrigin = AsEnsureOriginWithArg>; + type CreateOrigin = EnsureLessThanAutoIncrement; type ForceOrigin = AssetsForceOrigin; type AssetDeposit = AssetDeposit; type MetadataDepositBase = MetadataDepositBase; @@ -464,89 +485,88 @@ impl InstanceFilter for ProxyType { ), ProxyType::CancelProxy => matches!( c, - RuntimeCall::Proxy(pallet_proxy::Call::reject_announcement { .. }) - | RuntimeCall::Utility { .. } - | RuntimeCall::Multisig { .. } + RuntimeCall::Proxy(pallet_proxy::Call::reject_announcement { .. }) | + RuntimeCall::Utility { .. } | + RuntimeCall::Multisig { .. } ), ProxyType::Assets => { matches!( c, - RuntimeCall::Assets { .. } - | RuntimeCall::Utility { .. } - | RuntimeCall::Multisig { .. } - | RuntimeCall::Nfts { .. } - | RuntimeCall::Uniques { .. } + RuntimeCall::Assets { .. } | + RuntimeCall::Utility { .. } | + RuntimeCall::Multisig { .. } | + RuntimeCall::Nfts { .. } | RuntimeCall::Uniques { .. } ) }, ProxyType::AssetOwner => matches!( c, - RuntimeCall::Assets(TrustBackedAssetsCall::create { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::start_destroy { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::destroy_accounts { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::destroy_approvals { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::finish_destroy { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::transfer_ownership { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::set_team { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::set_metadata { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::clear_metadata { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::set_min_balance { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::create { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::destroy { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::redeposit { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::transfer_ownership { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::set_team { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::set_collection_max_supply { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::lock_collection { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::create { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::destroy { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::transfer_ownership { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::set_team { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::set_metadata { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::set_attribute { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::set_collection_metadata { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::clear_metadata { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::clear_attribute { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::clear_collection_metadata { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::set_collection_max_supply { .. }) - | RuntimeCall::Utility { .. } - | RuntimeCall::Multisig { .. } + RuntimeCall::Assets(TrustBackedAssetsCall::create { .. }) | + RuntimeCall::Assets(TrustBackedAssetsCall::start_destroy { .. }) | + RuntimeCall::Assets(TrustBackedAssetsCall::destroy_accounts { .. }) | + RuntimeCall::Assets(TrustBackedAssetsCall::destroy_approvals { .. }) | + RuntimeCall::Assets(TrustBackedAssetsCall::finish_destroy { .. }) | + RuntimeCall::Assets(TrustBackedAssetsCall::transfer_ownership { .. }) | + RuntimeCall::Assets(TrustBackedAssetsCall::set_team { .. }) | + RuntimeCall::Assets(TrustBackedAssetsCall::set_metadata { .. }) | + RuntimeCall::Assets(TrustBackedAssetsCall::clear_metadata { .. }) | + RuntimeCall::Assets(TrustBackedAssetsCall::set_min_balance { .. }) | + RuntimeCall::Nfts(pallet_nfts::Call::create { .. }) | + RuntimeCall::Nfts(pallet_nfts::Call::destroy { .. }) | + RuntimeCall::Nfts(pallet_nfts::Call::redeposit { .. }) | + RuntimeCall::Nfts(pallet_nfts::Call::transfer_ownership { .. }) | + RuntimeCall::Nfts(pallet_nfts::Call::set_team { .. }) | + RuntimeCall::Nfts(pallet_nfts::Call::set_collection_max_supply { .. }) | + RuntimeCall::Nfts(pallet_nfts::Call::lock_collection { .. }) | + RuntimeCall::Uniques(pallet_uniques::Call::create { .. }) | + RuntimeCall::Uniques(pallet_uniques::Call::destroy { .. }) | + RuntimeCall::Uniques(pallet_uniques::Call::transfer_ownership { .. }) | + RuntimeCall::Uniques(pallet_uniques::Call::set_team { .. }) | + RuntimeCall::Uniques(pallet_uniques::Call::set_metadata { .. }) | + RuntimeCall::Uniques(pallet_uniques::Call::set_attribute { .. }) | + RuntimeCall::Uniques(pallet_uniques::Call::set_collection_metadata { .. }) | + RuntimeCall::Uniques(pallet_uniques::Call::clear_metadata { .. }) | + RuntimeCall::Uniques(pallet_uniques::Call::clear_attribute { .. }) | + RuntimeCall::Uniques(pallet_uniques::Call::clear_collection_metadata { .. }) | + RuntimeCall::Uniques(pallet_uniques::Call::set_collection_max_supply { .. }) | + RuntimeCall::Utility { .. } | + RuntimeCall::Multisig { .. } ), ProxyType::AssetManager => matches!( c, - RuntimeCall::Assets(TrustBackedAssetsCall::mint { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::burn { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::freeze { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::block { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::thaw { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::freeze_asset { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::thaw_asset { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::touch_other { .. }) - | RuntimeCall::Assets(TrustBackedAssetsCall::refund_other { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::force_mint { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::update_mint_settings { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::mint_pre_signed { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::set_attributes_pre_signed { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::lock_item_transfer { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::unlock_item_transfer { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::lock_item_properties { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::set_metadata { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::clear_metadata { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::set_collection_metadata { .. }) - | RuntimeCall::Nfts(pallet_nfts::Call::clear_collection_metadata { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::mint { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::burn { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::freeze { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::thaw { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::freeze_collection { .. }) - | RuntimeCall::Uniques(pallet_uniques::Call::thaw_collection { .. }) - | RuntimeCall::Utility { .. } - | RuntimeCall::Multisig { .. } + RuntimeCall::Assets(TrustBackedAssetsCall::mint { .. }) | + RuntimeCall::Assets(TrustBackedAssetsCall::burn { .. }) | + RuntimeCall::Assets(TrustBackedAssetsCall::freeze { .. }) | + RuntimeCall::Assets(TrustBackedAssetsCall::block { .. }) | + RuntimeCall::Assets(TrustBackedAssetsCall::thaw { .. }) | + RuntimeCall::Assets(TrustBackedAssetsCall::freeze_asset { .. }) | + RuntimeCall::Assets(TrustBackedAssetsCall::thaw_asset { .. }) | + RuntimeCall::Assets(TrustBackedAssetsCall::touch_other { .. }) | + RuntimeCall::Assets(TrustBackedAssetsCall::refund_other { .. }) | + RuntimeCall::Nfts(pallet_nfts::Call::force_mint { .. }) | + RuntimeCall::Nfts(pallet_nfts::Call::update_mint_settings { .. }) | + RuntimeCall::Nfts(pallet_nfts::Call::mint_pre_signed { .. }) | + RuntimeCall::Nfts(pallet_nfts::Call::set_attributes_pre_signed { .. }) | + RuntimeCall::Nfts(pallet_nfts::Call::lock_item_transfer { .. }) | + RuntimeCall::Nfts(pallet_nfts::Call::unlock_item_transfer { .. }) | + RuntimeCall::Nfts(pallet_nfts::Call::lock_item_properties { .. }) | + RuntimeCall::Nfts(pallet_nfts::Call::set_metadata { .. }) | + RuntimeCall::Nfts(pallet_nfts::Call::clear_metadata { .. }) | + RuntimeCall::Nfts(pallet_nfts::Call::set_collection_metadata { .. }) | + RuntimeCall::Nfts(pallet_nfts::Call::clear_collection_metadata { .. }) | + RuntimeCall::Uniques(pallet_uniques::Call::mint { .. }) | + RuntimeCall::Uniques(pallet_uniques::Call::burn { .. }) | + RuntimeCall::Uniques(pallet_uniques::Call::freeze { .. }) | + RuntimeCall::Uniques(pallet_uniques::Call::thaw { .. }) | + RuntimeCall::Uniques(pallet_uniques::Call::freeze_collection { .. }) | + RuntimeCall::Uniques(pallet_uniques::Call::thaw_collection { .. }) | + RuntimeCall::Utility { .. } | + RuntimeCall::Multisig { .. } ), ProxyType::Collator => matches!( c, - RuntimeCall::CollatorSelection { .. } - | RuntimeCall::Utility { .. } - | RuntimeCall::Multisig { .. } + RuntimeCall::CollatorSelection { .. } | + RuntimeCall::Utility { .. } | + RuntimeCall::Multisig { .. } ), } } @@ -665,7 +685,7 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { type ChannelInfo = ParachainSystem; type VersionWrapper = PolkadotXcm; type XcmpQueue = TransformOrigin; - type MaxInboundSuspended = ConstU32<1_000>; + type MaxInboundSuspended = sp_core::ConstU32<1_000>; type ControllerOrigin = EitherOfDiverse< EnsureRoot, EnsureXcm>, @@ -987,16 +1007,13 @@ pub type Executive = frame_executive::Executive< Migrations, >; -#[cfg(feature = "runtime-benchmarks")] -#[macro_use] -extern crate frame_benchmarking; - #[cfg(feature = "runtime-benchmarks")] mod benches { frame_benchmarking::define_benchmarks!( [frame_system, SystemBench::] [pallet_assets, Local] [pallet_assets, Foreign] + [pallet_assets, Pool] [pallet_asset_conversion, AssetConversion] [pallet_balances, Balances] [pallet_message_queue, MessageQueue] @@ -1305,7 +1322,7 @@ impl_runtime_apis! { type Foreign = pallet_assets::Pallet::; type Pool = pallet_assets::Pallet::; - type ToKusama = XcmBridgeHubRouterBench; + type ToKusama = XcmBridgeHubRouterBench; let mut list = Vec::::new(); list_benchmarks!(list, extra); @@ -1571,6 +1588,11 @@ impl_runtime_apis! { } } + use pallet_xcm_bridge_hub_router::benchmarking::{ + Pallet as XcmBridgeHubRouterBench, + Config as XcmBridgeHubRouterConfig, + }; + type XcmBalances = pallet_xcm_benchmarks::fungible::Pallet::; type XcmGeneric = pallet_xcm_benchmarks::generic::Pallet::; @@ -1668,7 +1690,7 @@ mod tests { #[test] fn test_transasction_byte_fee_is_one_tenth_of_relay() { - let relay_tbf = paseo_runtime_constants::fee::TRANSACTION_BYTE_FEE; //10 * super::currency::MILLICENTS + let relay_tbf = paseo_runtime_constants::fee::TRANSACTION_BYTE_FEE; let parachain_tbf = TransactionByteFee::get(); assert_eq!(relay_tbf / 10, parachain_tbf); } diff --git a/system-parachains/asset-hub-paseo/src/weights/block_weights.rs b/system-parachains/asset-hub-paseo/src/weights/block_weights.rs index c2824b5..e7fdb2a 100644 --- a/system-parachains/asset-hub-paseo/src/weights/block_weights.rs +++ b/system-parachains/asset-hub-paseo/src/weights/block_weights.rs @@ -24,7 +24,7 @@ pub mod constants { parameter_types! { /// Importing a block with 0 Extrinsics. pub const BlockExecutionWeight: Weight = - Weight::from_parts(constants::WEIGHT_REF_TIME_PER_NANOS.saturating_mul(10_000_000), 0); + Weight::from_parts(constants::WEIGHT_REF_TIME_PER_NANOS.saturating_mul(5_000_000), 0); } #[cfg(test)] diff --git a/system-parachains/asset-hub-paseo/src/weights/cumulus_pallet_parachain_system.rs b/system-parachains/asset-hub-paseo/src/weights/cumulus_pallet_parachain_system.rs index 8c831bc..8bed11e 100644 --- a/system-parachains/asset-hub-paseo/src/weights/cumulus_pallet_parachain_system.rs +++ b/system-parachains/asset-hub-paseo/src/weights/cumulus_pallet_parachain_system.rs @@ -46,28 +46,28 @@ use core::marker::PhantomData; /// Weight functions for `cumulus_pallet_parachain_system`. pub struct WeightInfo(PhantomData); impl cumulus_pallet_parachain_system::WeightInfo for WeightInfo { - /// Storage: `ParachainSystem::LastDmqMqcHead` (r:1 w:1) - /// Proof: `ParachainSystem::LastDmqMqcHead` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - /// Storage: `ParachainSystem::ProcessedDownwardMessages` (r:0 w:1) - /// Proof: `ParachainSystem::ProcessedDownwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `MessageQueue::Pages` (r:0 w:1000) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 1000]`. - fn enqueue_inbound_downward_messages(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `12` - // Estimated: `3517` - // Minimum execution time: 1_633_000 picoseconds. - Weight::from_parts(1_694_000, 0) - .saturating_add(Weight::from_parts(0, 3517)) - // Standard Error: 39_295 - .saturating_add(Weight::from_parts(195_057_429, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(4)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into()))) - } + /// Storage: `ParachainSystem::LastDmqMqcHead` (r:1 w:1) + /// Proof: `ParachainSystem::LastDmqMqcHead` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) + /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) + /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ProcessedDownwardMessages` (r:0 w:1) + /// Proof: `ParachainSystem::ProcessedDownwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `MessageQueue::Pages` (r:0 w:1000) + /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`) + /// The range of component `n` is `[0, 1000]`. + fn enqueue_inbound_downward_messages(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `12` + // Estimated: `3517` + // Minimum execution time: 1_633_000 picoseconds. + Weight::from_parts(1_694_000, 0) + .saturating_add(Weight::from_parts(0, 3517)) + // Standard Error: 39_295 + .saturating_add(Weight::from_parts(195_057_429, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(4)) + .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into()))) + } } diff --git a/system-parachains/asset-hub-paseo/src/weights/extrinsic_weights.rs b/system-parachains/asset-hub-paseo/src/weights/extrinsic_weights.rs index 10c7bbf..1a4adb9 100644 --- a/system-parachains/asset-hub-paseo/src/weights/extrinsic_weights.rs +++ b/system-parachains/asset-hub-paseo/src/weights/extrinsic_weights.rs @@ -24,7 +24,7 @@ pub mod constants { parameter_types! { /// Executing a NO-OP `System::remarks` Extrinsic. pub const ExtrinsicBaseWeight: Weight = - Weight::from_parts(constants::WEIGHT_REF_TIME_PER_NANOS.saturating_mul(250_000), 0); + Weight::from_parts(constants::WEIGHT_REF_TIME_PER_NANOS.saturating_mul(125_000), 0); } #[cfg(test)] diff --git a/system-parachains/asset-hub-paseo/src/weights/mod.rs b/system-parachains/asset-hub-paseo/src/weights/mod.rs index 9a85b40..11e535b 100644 --- a/system-parachains/asset-hub-paseo/src/weights/mod.rs +++ b/system-parachains/asset-hub-paseo/src/weights/mod.rs @@ -19,9 +19,9 @@ pub mod cumulus_pallet_parachain_system; pub mod cumulus_pallet_xcmp_queue; pub mod extrinsic_weights; pub mod frame_system; +pub mod pallet_asset_conversion; pub mod pallet_assets_foreign; pub mod pallet_assets_local; -pub mod pallet_asset_conversion; pub mod pallet_assets_pool; pub mod pallet_balances; pub mod pallet_collator_selection; @@ -35,6 +35,7 @@ pub mod pallet_uniques; pub mod pallet_utility; pub mod pallet_vesting; pub mod pallet_xcm; +pub mod pallet_xcm_bridge_hub_router; pub mod paritydb_weights; pub mod rocksdb_weights; pub mod xcm; diff --git a/system-parachains/asset-hub-paseo/src/weights/pallet_asset_conversion.rs b/system-parachains/asset-hub-paseo/src/weights/pallet_asset_conversion.rs index bfa3388..fe5d1c6 100644 --- a/system-parachains/asset-hub-paseo/src/weights/pallet_asset_conversion.rs +++ b/system-parachains/asset-hub-paseo/src/weights/pallet_asset_conversion.rs @@ -46,110 +46,110 @@ use core::marker::PhantomData; /// Weight functions for `pallet_asset_conversion`. pub struct WeightInfo(PhantomData); impl pallet_asset_conversion::WeightInfo for WeightInfo { - /// Storage: `AssetConversion::Pools` (r:1 w:1) - /// Proof: `AssetConversion::Pools` (`max_values`: None, `max_size`: Some(1224), added: 3699, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Asset` (r:1 w:0) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `AssetConversion::NextPoolAssetId` (r:1 w:1) - /// Proof: `AssetConversion::NextPoolAssetId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:1 w:1) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - fn create_pool() -> Weight { - // Proof Size summary in bytes: - // Measured: `365` - // Estimated: `4689` - // Minimum execution time: 75_771_000 picoseconds. - Weight::from_parts(77_476_000, 0) - .saturating_add(Weight::from_parts(0, 4689)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(5)) - } - /// Storage: `AssetConversion::Pools` (r:1 w:0) - /// Proof: `AssetConversion::Pools` (`max_values`: None, `max_size`: Some(1224), added: 3699, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Account` (r:2 w:2) - /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:2 w:2) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - fn add_liquidity() -> Weight { - // Proof Size summary in bytes: - // Measured: `975` - // Estimated: `7404` - // Minimum execution time: 135_346_000 picoseconds. - Weight::from_parts(137_193_000, 0) - .saturating_add(Weight::from_parts(0, 7404)) - .saturating_add(T::DbWeight::get().reads(8)) - .saturating_add(T::DbWeight::get().writes(7)) - } - /// Storage: `AssetConversion::Pools` (r:1 w:0) - /// Proof: `AssetConversion::Pools` (`max_values`: None, `max_size`: Some(1224), added: 3699, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Asset` (r:1 w:1) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Account` (r:2 w:2) - /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:1 w:1) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - fn remove_liquidity() -> Weight { - // Proof Size summary in bytes: - // Measured: `1130` - // Estimated: `7404` - // Minimum execution time: 127_356_000 picoseconds. - Weight::from_parts(129_345_000, 0) - .saturating_add(Weight::from_parts(0, 7404)) - .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(6)) - } - /// Storage: `ForeignAssets::Asset` (r:2 w:2) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Account` (r:4 w:4) - /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:2 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `n` is `[2, 3]`. - fn swap_exact_tokens_for_tokens(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0 + n * (578 ±0)` - // Estimated: `7404 + n * (94 ±7)` - // Minimum execution time: 84_932_000 picoseconds. - Weight::from_parts(86_728_000, 0) - .saturating_add(Weight::from_parts(0, 7404)) - // Standard Error: 172_244 - .saturating_add(Weight::from_parts(1_231_312, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(4)) - .saturating_add(Weight::from_parts(0, 94).saturating_mul(n.into())) - } - /// Storage: `System::Account` (r:2 w:2) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Asset` (r:2 w:2) - /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Account` (r:4 w:4) - /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - /// The range of component `n` is `[2, 3]`. - fn swap_tokens_for_exact_tokens(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0 + n * (578 ±0)` - // Estimated: `7404 + n * (94 ±7)` - // Minimum execution time: 85_253_000 picoseconds. - Weight::from_parts(86_737_000, 0) - .saturating_add(Weight::from_parts(0, 7404)) - // Standard Error: 174_940 - .saturating_add(Weight::from_parts(1_207_793, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(4)) - .saturating_add(Weight::from_parts(0, 94).saturating_mul(n.into())) - } + /// Storage: `AssetConversion::Pools` (r:1 w:1) + /// Proof: `AssetConversion::Pools` (`max_values`: None, `max_size`: Some(1224), added: 3699, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Asset` (r:1 w:0) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `AssetConversion::NextPoolAssetId` (r:1 w:1) + /// Proof: `AssetConversion::NextPoolAssetId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:1 w:1) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + fn create_pool() -> Weight { + // Proof Size summary in bytes: + // Measured: `365` + // Estimated: `4689` + // Minimum execution time: 75_771_000 picoseconds. + Weight::from_parts(77_476_000, 0) + .saturating_add(Weight::from_parts(0, 4689)) + .saturating_add(T::DbWeight::get().reads(6)) + .saturating_add(T::DbWeight::get().writes(5)) + } + /// Storage: `AssetConversion::Pools` (r:1 w:0) + /// Proof: `AssetConversion::Pools` (`max_values`: None, `max_size`: Some(1224), added: 3699, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Account` (r:2 w:2) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:2 w:2) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + fn add_liquidity() -> Weight { + // Proof Size summary in bytes: + // Measured: `975` + // Estimated: `7404` + // Minimum execution time: 135_346_000 picoseconds. + Weight::from_parts(137_193_000, 0) + .saturating_add(Weight::from_parts(0, 7404)) + .saturating_add(T::DbWeight::get().reads(8)) + .saturating_add(T::DbWeight::get().writes(7)) + } + /// Storage: `AssetConversion::Pools` (r:1 w:0) + /// Proof: `AssetConversion::Pools` (`max_values`: None, `max_size`: Some(1224), added: 3699, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Asset` (r:1 w:1) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Account` (r:2 w:2) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:1 w:1) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + fn remove_liquidity() -> Weight { + // Proof Size summary in bytes: + // Measured: `1130` + // Estimated: `7404` + // Minimum execution time: 127_356_000 picoseconds. + Weight::from_parts(129_345_000, 0) + .saturating_add(Weight::from_parts(0, 7404)) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().writes(6)) + } + /// Storage: `ForeignAssets::Asset` (r:2 w:2) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Account` (r:4 w:4) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// The range of component `n` is `[2, 3]`. + fn swap_exact_tokens_for_tokens(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0 + n * (578 ±0)` + // Estimated: `7404 + n * (94 ±7)` + // Minimum execution time: 84_932_000 picoseconds. + Weight::from_parts(86_728_000, 0) + .saturating_add(Weight::from_parts(0, 7404)) + // Standard Error: 172_244 + .saturating_add(Weight::from_parts(1_231_312, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(4)) + .saturating_add(Weight::from_parts(0, 94).saturating_mul(n.into())) + } + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Asset` (r:2 w:2) + /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Account` (r:4 w:4) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + /// The range of component `n` is `[2, 3]`. + fn swap_tokens_for_exact_tokens(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0 + n * (578 ±0)` + // Estimated: `7404 + n * (94 ±7)` + // Minimum execution time: 85_253_000 picoseconds. + Weight::from_parts(86_737_000, 0) + .saturating_add(Weight::from_parts(0, 7404)) + // Standard Error: 174_940 + .saturating_add(Weight::from_parts(1_207_793, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(4)) + .saturating_add(Weight::from_parts(0, 94).saturating_mul(n.into())) + } } diff --git a/system-parachains/asset-hub-paseo/src/weights/pallet_assets_foreign.rs b/system-parachains/asset-hub-paseo/src/weights/pallet_assets_foreign.rs index f010cc4..9571c4e 100644 --- a/system-parachains/asset-hub-paseo/src/weights/pallet_assets_foreign.rs +++ b/system-parachains/asset-hub-paseo/src/weights/pallet_assets_foreign.rs @@ -13,27 +13,26 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. - //! Autogenerated weights for `pallet_assets` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-03-08, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-03-27, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `p-ch-hmb-vm-vapas-002`, CPU: `Intel(R) Xeon(R) Silver 4314 CPU @ 2.40GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("runtimes/chain-specs/asset-hub-local.raw.json")`, DB CACHE: 1024 +//! HOSTNAME: `ggwpez-ref-hw`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("./asset-hub-paseo-chain-spec.json")`, DB CACHE: 1024 // Executed Command: -// ./polkadot-parachain +// ./target/production/paseo // benchmark // pallet -// --chain=runtimes/chain-specs/asset-hub-local.raw.json +// --chain=./asset-hub-paseo-chain-spec.json // --steps=50 // --repeat=20 // --pallet=pallet_assets // --extrinsic=* // --wasm-execution=compiled // --heap-pages=4096 -// --output=./paseo-asset-hub-local-weights/ +// --output=./asset-hub-paseo-weights/ // --header=./file_header.txt #![cfg_attr(rustfmt, rustfmt_skip)] @@ -57,8 +56,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `144` // Estimated: `4273` - // Minimum execution time: 31_387_000 picoseconds. - Weight::from_parts(32_470_000, 0) + // Minimum execution time: 26_333_000 picoseconds. + Weight::from_parts(27_053_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -69,8 +68,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `4` // Estimated: `4273` - // Minimum execution time: 11_989_000 picoseconds. - Weight::from_parts(12_584_000, 0) + // Minimum execution time: 9_447_000 picoseconds. + Weight::from_parts(9_799_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -81,8 +80,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `276` // Estimated: `4273` - // Minimum execution time: 14_001_000 picoseconds. - Weight::from_parts(21_967_000, 0) + // Minimum execution time: 10_686_000 picoseconds. + Weight::from_parts(11_250_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -95,15 +94,16 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// The range of component `c` is `[0, 1000]`. /// The range of component `c` is `[0, 1000]`. + /// The range of component `c` is `[0, 1000]`. fn destroy_accounts(c: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `84 + c * (208 ±0)` // Estimated: `4273 + c * (3207 ±0)` - // Minimum execution time: 18_400_000 picoseconds. - Weight::from_parts(18_836_000, 0) + // Minimum execution time: 15_211_000 picoseconds. + Weight::from_parts(15_404_000, 0) .saturating_add(Weight::from_parts(0, 4273)) - // Standard Error: 12_920 - .saturating_add(Weight::from_parts(15_417_421, 0).saturating_mul(c.into())) + // Standard Error: 7_220 + .saturating_add(Weight::from_parts(13_183_375, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(c.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -116,15 +116,16 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `ForeignAssets::Approvals` (`max_values`: None, `max_size`: Some(746), added: 3221, mode: `MaxEncodedLen`) /// The range of component `a` is `[0, 1000]`. /// The range of component `a` is `[0, 1000]`. + /// The range of component `a` is `[0, 1000]`. fn destroy_approvals(a: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `413 + a * (86 ±0)` // Estimated: `4273 + a * (3221 ±0)` - // Minimum execution time: 18_491_000 picoseconds. - Weight::from_parts(19_012_000, 0) + // Minimum execution time: 15_063_000 picoseconds. + Weight::from_parts(15_371_000, 0) .saturating_add(Weight::from_parts(0, 4273)) - // Standard Error: 9_842 - .saturating_add(Weight::from_parts(16_554_200, 0).saturating_mul(a.into())) + // Standard Error: 4_345 + .saturating_add(Weight::from_parts(13_785_267, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(a.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -139,8 +140,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 16_321_000 picoseconds. - Weight::from_parts(17_527_000, 0) + // Minimum execution time: 12_715_000 picoseconds. + Weight::from_parts(13_175_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -153,8 +154,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 27_162_000 picoseconds. - Weight::from_parts(28_313_000, 0) + // Minimum execution time: 21_073_000 picoseconds. + Weight::from_parts(21_770_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -167,8 +168,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `350` // Estimated: `4273` - // Minimum execution time: 34_841_000 picoseconds. - Weight::from_parts(35_978_000, 0) + // Minimum execution time: 27_665_000 picoseconds. + Weight::from_parts(28_445_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -183,8 +184,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `389` // Estimated: `7404` - // Minimum execution time: 49_875_000 picoseconds. - Weight::from_parts(51_994_000, 0) + // Minimum execution time: 38_879_000 picoseconds. + Weight::from_parts(39_931_000, 0) .saturating_add(Weight::from_parts(0, 7404)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -199,8 +200,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `389` // Estimated: `7404` - // Minimum execution time: 44_072_000 picoseconds. - Weight::from_parts(46_134_000, 0) + // Minimum execution time: 34_924_000 picoseconds. + Weight::from_parts(36_060_000, 0) .saturating_add(Weight::from_parts(0, 7404)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -215,8 +216,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `389` // Estimated: `7404` - // Minimum execution time: 50_227_000 picoseconds. - Weight::from_parts(52_366_000, 0) + // Minimum execution time: 38_972_000 picoseconds. + Weight::from_parts(40_110_000, 0) .saturating_add(Weight::from_parts(0, 7404)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -229,8 +230,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `350` // Estimated: `4273` - // Minimum execution time: 17_963_000 picoseconds. - Weight::from_parts(18_869_000, 0) + // Minimum execution time: 14_090_000 picoseconds. + Weight::from_parts(14_649_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -243,8 +244,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `350` // Estimated: `4273` - // Minimum execution time: 18_060_000 picoseconds. - Weight::from_parts(19_165_000, 0) + // Minimum execution time: 14_394_000 picoseconds. + Weight::from_parts(15_121_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -255,8 +256,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `276` // Estimated: `4273` - // Minimum execution time: 13_772_000 picoseconds. - Weight::from_parts(14_626_000, 0) + // Minimum execution time: 10_483_000 picoseconds. + Weight::from_parts(10_812_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -267,8 +268,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `276` // Estimated: `4273` - // Minimum execution time: 13_695_000 picoseconds. - Weight::from_parts(14_165_000, 0) + // Minimum execution time: 10_518_000 picoseconds. + Weight::from_parts(10_963_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -281,8 +282,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 16_346_000 picoseconds. - Weight::from_parts(16_833_000, 0) + // Minimum execution time: 12_995_000 picoseconds. + Weight::from_parts(13_390_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -293,8 +294,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 14_593_000 picoseconds. - Weight::from_parts(15_510_000, 0) + // Minimum execution time: 11_539_000 picoseconds. + Weight::from_parts(12_028_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -307,15 +308,19 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `s` is `[0, 50]`. /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. - fn set_metadata(n: u32, _s: u32, ) -> Weight { + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + fn set_metadata(n: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 29_975_000 picoseconds. - Weight::from_parts(32_548_835, 0) + // Minimum execution time: 23_085_000 picoseconds. + Weight::from_parts(24_131_087, 0) .saturating_add(Weight::from_parts(0, 4273)) - // Standard Error: 4_168 - .saturating_add(Weight::from_parts(24_664, 0).saturating_mul(n.into())) + // Standard Error: 314 + .saturating_add(Weight::from_parts(120, 0).saturating_mul(n.into())) + // Standard Error: 314 + .saturating_add(Weight::from_parts(1_613, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -327,8 +332,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `406` // Estimated: `4273` - // Minimum execution time: 31_213_000 picoseconds. - Weight::from_parts(33_557_000, 0) + // Minimum execution time: 24_640_000 picoseconds. + Weight::from_parts(25_384_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -341,17 +346,19 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `s` is `[0, 50]`. /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. fn force_set_metadata(n: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `81` // Estimated: `4273` - // Minimum execution time: 14_493_000 picoseconds. - Weight::from_parts(15_662_680, 0) + // Minimum execution time: 11_209_000 picoseconds. + Weight::from_parts(12_061_058, 0) .saturating_add(Weight::from_parts(0, 4273)) - // Standard Error: 3_161 - .saturating_add(Weight::from_parts(11_640, 0).saturating_mul(n.into())) - // Standard Error: 3_161 - .saturating_add(Weight::from_parts(3_915, 0).saturating_mul(s.into())) + // Standard Error: 218 + .saturating_add(Weight::from_parts(375, 0).saturating_mul(n.into())) + // Standard Error: 218 + .saturating_add(Weight::from_parts(856, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -363,8 +370,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `406` // Estimated: `4273` - // Minimum execution time: 29_307_000 picoseconds. - Weight::from_parts(30_413_000, 0) + // Minimum execution time: 23_513_000 picoseconds. + Weight::from_parts(24_349_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -375,8 +382,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 13_463_000 picoseconds. - Weight::from_parts(13_971_000, 0) + // Minimum execution time: 10_396_000 picoseconds. + Weight::from_parts(10_894_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -389,8 +396,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `276` // Estimated: `4273` - // Minimum execution time: 32_913_000 picoseconds. - Weight::from_parts(33_967_000, 0) + // Minimum execution time: 26_610_000 picoseconds. + Weight::from_parts(27_494_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -407,8 +414,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `559` // Estimated: `7404` - // Minimum execution time: 72_151_000 picoseconds. - Weight::from_parts(75_213_000, 0) + // Minimum execution time: 56_907_000 picoseconds. + Weight::from_parts(58_366_000, 0) .saturating_add(Weight::from_parts(0, 7404)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(5)) @@ -421,8 +428,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `446` // Estimated: `4273` - // Minimum execution time: 36_528_000 picoseconds. - Weight::from_parts(46_538_000, 0) + // Minimum execution time: 29_118_000 picoseconds. + Weight::from_parts(30_183_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -435,8 +442,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `446` // Estimated: `4273` - // Minimum execution time: 34_438_000 picoseconds. - Weight::from_parts(37_446_000, 0) + // Minimum execution time: 29_640_000 picoseconds. + Weight::from_parts(30_603_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -447,8 +454,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 14_545_000 picoseconds. - Weight::from_parts(15_044_000, 0) + // Minimum execution time: 11_633_000 picoseconds. + Weight::from_parts(12_045_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -463,8 +470,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `345` // Estimated: `4273` - // Minimum execution time: 35_930_000 picoseconds. - Weight::from_parts(37_454_000, 0) + // Minimum execution time: 29_078_000 picoseconds. + Weight::from_parts(29_984_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -477,8 +484,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 33_151_000 picoseconds. - Weight::from_parts(33_899_000, 0) + // Minimum execution time: 26_343_000 picoseconds. + Weight::from_parts(27_195_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -493,8 +500,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `471` // Estimated: `4273` - // Minimum execution time: 34_596_000 picoseconds. - Weight::from_parts(35_734_000, 0) + // Minimum execution time: 28_093_000 picoseconds. + Weight::from_parts(28_951_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -507,8 +514,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `401` // Estimated: `4273` - // Minimum execution time: 31_892_000 picoseconds. - Weight::from_parts(33_019_000, 0) + // Minimum execution time: 25_481_000 picoseconds. + Weight::from_parts(26_516_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -521,8 +528,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `350` // Estimated: `4273` - // Minimum execution time: 18_164_000 picoseconds. - Weight::from_parts(18_682_000, 0) + // Minimum execution time: 14_447_000 picoseconds. + Weight::from_parts(15_011_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/system-parachains/asset-hub-paseo/src/weights/pallet_assets_local.rs b/system-parachains/asset-hub-paseo/src/weights/pallet_assets_local.rs index 3d28b32..8e102c9 100644 --- a/system-parachains/asset-hub-paseo/src/weights/pallet_assets_local.rs +++ b/system-parachains/asset-hub-paseo/src/weights/pallet_assets_local.rs @@ -13,27 +13,26 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. - //! Autogenerated weights for `pallet_assets` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-03-08, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-03-27, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `p-ch-hmb-vm-vapas-002`, CPU: `Intel(R) Xeon(R) Silver 4314 CPU @ 2.40GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("runtimes/chain-specs/asset-hub-local.raw.json")`, DB CACHE: 1024 +//! HOSTNAME: `ggwpez-ref-hw`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("./asset-hub-paseo-chain-spec.json")`, DB CACHE: 1024 // Executed Command: -// ./polkadot-parachain +// ./target/production/paseo // benchmark // pallet -// --chain=runtimes/chain-specs/asset-hub-local.raw.json +// --chain=./asset-hub-paseo-chain-spec.json // --steps=50 // --repeat=20 // --pallet=pallet_assets // --extrinsic=* // --wasm-execution=compiled // --heap-pages=4096 -// --output=./paseo-asset-hub-local-weights/ +// --output=./asset-hub-paseo-weights/ // --header=./file_header.txt #![cfg_attr(rustfmt, rustfmt_skip)] @@ -55,8 +54,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `146` // Estimated: `3675` - // Minimum execution time: 27_787_000 picoseconds. - Weight::from_parts(29_119_000, 0) + // Minimum execution time: 22_356_000 picoseconds. + Weight::from_parts(23_247_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -67,8 +66,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `6` // Estimated: `3675` - // Minimum execution time: 9_932_000 picoseconds. - Weight::from_parts(10_449_000, 0) + // Minimum execution time: 7_665_000 picoseconds. + Weight::from_parts(8_277_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -79,8 +78,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `277` // Estimated: `3675` - // Minimum execution time: 11_636_000 picoseconds. - Weight::from_parts(18_288_000, 0) + // Minimum execution time: 9_285_000 picoseconds. + Weight::from_parts(9_669_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -93,15 +92,16 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// The range of component `c` is `[0, 1000]`. /// The range of component `c` is `[0, 1000]`. + /// The range of component `c` is `[0, 1000]`. fn destroy_accounts(c: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `85 + c * (208 ±0)` // Estimated: `3675 + c * (2609 ±0)` - // Minimum execution time: 16_147_000 picoseconds. - Weight::from_parts(16_770_000, 0) + // Minimum execution time: 13_127_000 picoseconds. + Weight::from_parts(13_443_000, 0) .saturating_add(Weight::from_parts(0, 3675)) - // Standard Error: 15_290 - .saturating_add(Weight::from_parts(15_433_948, 0).saturating_mul(c.into())) + // Standard Error: 7_173 + .saturating_add(Weight::from_parts(13_055_243, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(c.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -114,15 +114,16 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) /// The range of component `a` is `[0, 1000]`. /// The range of component `a` is `[0, 1000]`. + /// The range of component `a` is `[0, 1000]`. fn destroy_approvals(a: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `414 + a * (86 ±0)` // Estimated: `3675 + a * (2623 ±0)` - // Minimum execution time: 16_234_000 picoseconds. - Weight::from_parts(16_809_000, 0) + // Minimum execution time: 13_260_000 picoseconds. + Weight::from_parts(13_471_000, 0) .saturating_add(Weight::from_parts(0, 3675)) - // Standard Error: 12_820 - .saturating_add(Weight::from_parts(16_610_047, 0).saturating_mul(a.into())) + // Standard Error: 3_866 + .saturating_add(Weight::from_parts(13_625_219, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(a.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -137,8 +138,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `243` // Estimated: `3675` - // Minimum execution time: 13_998_000 picoseconds. - Weight::from_parts(14_893_000, 0) + // Minimum execution time: 10_630_000 picoseconds. + Weight::from_parts(11_338_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -151,8 +152,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `243` // Estimated: `3675` - // Minimum execution time: 25_295_000 picoseconds. - Weight::from_parts(26_350_000, 0) + // Minimum execution time: 19_553_000 picoseconds. + Weight::from_parts(20_083_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -165,8 +166,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `351` // Estimated: `3675` - // Minimum execution time: 31_960_000 picoseconds. - Weight::from_parts(33_469_000, 0) + // Minimum execution time: 25_595_000 picoseconds. + Weight::from_parts(26_335_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -181,8 +182,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `390` // Estimated: `6208` - // Minimum execution time: 47_092_000 picoseconds. - Weight::from_parts(48_700_000, 0) + // Minimum execution time: 36_443_000 picoseconds. + Weight::from_parts(37_762_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -197,8 +198,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `390` // Estimated: `6208` - // Minimum execution time: 41_494_000 picoseconds. - Weight::from_parts(44_957_000, 0) + // Minimum execution time: 32_305_000 picoseconds. + Weight::from_parts(33_252_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -213,8 +214,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `390` // Estimated: `6208` - // Minimum execution time: 47_041_000 picoseconds. - Weight::from_parts(48_343_000, 0) + // Minimum execution time: 36_162_000 picoseconds. + Weight::from_parts(36_953_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -227,8 +228,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `351` // Estimated: `3675` - // Minimum execution time: 16_062_000 picoseconds. - Weight::from_parts(17_159_000, 0) + // Minimum execution time: 12_898_000 picoseconds. + Weight::from_parts(13_390_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -241,8 +242,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `351` // Estimated: `3675` - // Minimum execution time: 16_092_000 picoseconds. - Weight::from_parts(17_369_000, 0) + // Minimum execution time: 12_736_000 picoseconds. + Weight::from_parts(13_458_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -253,8 +254,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `277` // Estimated: `3675` - // Minimum execution time: 11_556_000 picoseconds. - Weight::from_parts(12_377_000, 0) + // Minimum execution time: 9_034_000 picoseconds. + Weight::from_parts(9_475_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -265,8 +266,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `277` // Estimated: `3675` - // Minimum execution time: 11_582_000 picoseconds. - Weight::from_parts(12_413_000, 0) + // Minimum execution time: 8_951_000 picoseconds. + Weight::from_parts(9_335_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -279,8 +280,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `243` // Estimated: `3675` - // Minimum execution time: 14_271_000 picoseconds. - Weight::from_parts(14_923_000, 0) + // Minimum execution time: 11_342_000 picoseconds. + Weight::from_parts(11_716_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -291,8 +292,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `243` // Estimated: `3675` - // Minimum execution time: 12_792_000 picoseconds. - Weight::from_parts(13_428_000, 0) + // Minimum execution time: 9_950_000 picoseconds. + Weight::from_parts(10_375_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -305,15 +306,19 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `s` is `[0, 50]`. /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. - fn set_metadata(n: u32, _s: u32, ) -> Weight { + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + fn set_metadata(n: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `243` // Estimated: `3675` - // Minimum execution time: 28_045_000 picoseconds. - Weight::from_parts(30_642_056, 0) + // Minimum execution time: 21_545_000 picoseconds. + Weight::from_parts(22_769_148, 0) .saturating_add(Weight::from_parts(0, 3675)) - // Standard Error: 4_398 - .saturating_add(Weight::from_parts(26_389, 0).saturating_mul(n.into())) + // Standard Error: 365 + .saturating_add(Weight::from_parts(1_576, 0).saturating_mul(n.into())) + // Standard Error: 365 + .saturating_add(Weight::from_parts(681, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -325,8 +330,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `407` // Estimated: `3675` - // Minimum execution time: 28_578_000 picoseconds. - Weight::from_parts(31_077_000, 0) + // Minimum execution time: 22_304_000 picoseconds. + Weight::from_parts(23_067_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -339,13 +344,19 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `s` is `[0, 50]`. /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. - fn force_set_metadata(_n: u32, _s: u32, ) -> Weight { + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + fn force_set_metadata(n: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `82` // Estimated: `3675` - // Minimum execution time: 13_387_000 picoseconds. - Weight::from_parts(16_277_691, 0) + // Minimum execution time: 10_404_000 picoseconds. + Weight::from_parts(11_082_792, 0) .saturating_add(Weight::from_parts(0, 3675)) + // Standard Error: 200 + .saturating_add(Weight::from_parts(803, 0).saturating_mul(n.into())) + // Standard Error: 200 + .saturating_add(Weight::from_parts(1_223, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -357,8 +368,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `407` // Estimated: `3675` - // Minimum execution time: 28_175_000 picoseconds. - Weight::from_parts(35_043_000, 0) + // Minimum execution time: 22_095_000 picoseconds. + Weight::from_parts(22_899_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -369,8 +380,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `243` // Estimated: `3675` - // Minimum execution time: 12_050_000 picoseconds. - Weight::from_parts(12_841_000, 0) + // Minimum execution time: 9_477_000 picoseconds. + Weight::from_parts(9_866_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -383,8 +394,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `277` // Estimated: `3675` - // Minimum execution time: 31_390_000 picoseconds. - Weight::from_parts(32_712_000, 0) + // Minimum execution time: 24_960_000 picoseconds. + Weight::from_parts(25_890_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -401,8 +412,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `560` // Estimated: `6208` - // Minimum execution time: 68_352_000 picoseconds. - Weight::from_parts(70_015_000, 0) + // Minimum execution time: 54_045_000 picoseconds. + Weight::from_parts(55_088_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(5)) @@ -415,8 +426,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `447` // Estimated: `3675` - // Minimum execution time: 34_526_000 picoseconds. - Weight::from_parts(35_717_000, 0) + // Minimum execution time: 27_024_000 picoseconds. + Weight::from_parts(28_164_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -429,8 +440,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `447` // Estimated: `3675` - // Minimum execution time: 34_298_000 picoseconds. - Weight::from_parts(35_427_000, 0) + // Minimum execution time: 27_704_000 picoseconds. + Weight::from_parts(28_333_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -441,8 +452,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `243` // Estimated: `3675` - // Minimum execution time: 13_075_000 picoseconds. - Weight::from_parts(13_896_000, 0) + // Minimum execution time: 10_375_000 picoseconds. + Weight::from_parts(10_885_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -457,8 +468,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `346` // Estimated: `3675` - // Minimum execution time: 33_698_000 picoseconds. - Weight::from_parts(35_102_000, 0) + // Minimum execution time: 26_960_000 picoseconds. + Weight::from_parts(28_038_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -471,8 +482,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `243` // Estimated: `3675` - // Minimum execution time: 30_883_000 picoseconds. - Weight::from_parts(31_716_000, 0) + // Minimum execution time: 24_579_000 picoseconds. + Weight::from_parts(25_234_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -487,8 +498,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `472` // Estimated: `3675` - // Minimum execution time: 32_755_000 picoseconds. - Weight::from_parts(33_963_000, 0) + // Minimum execution time: 26_764_000 picoseconds. + Weight::from_parts(27_690_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -501,8 +512,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `402` // Estimated: `3675` - // Minimum execution time: 29_992_000 picoseconds. - Weight::from_parts(31_152_000, 0) + // Minimum execution time: 23_938_000 picoseconds. + Weight::from_parts(25_110_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -515,8 +526,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `351` // Estimated: `3675` - // Minimum execution time: 16_142_000 picoseconds. - Weight::from_parts(16_678_000, 0) + // Minimum execution time: 12_544_000 picoseconds. + Weight::from_parts(13_219_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/system-parachains/asset-hub-paseo/src/weights/pallet_assets_pool.rs b/system-parachains/asset-hub-paseo/src/weights/pallet_assets_pool.rs index be7de71..df4cf24 100644 --- a/system-parachains/asset-hub-paseo/src/weights/pallet_assets_pool.rs +++ b/system-parachains/asset-hub-paseo/src/weights/pallet_assets_pool.rs @@ -46,484 +46,484 @@ use core::marker::PhantomData; /// Weight functions for `pallet_assets`. pub struct WeightInfo(PhantomData); impl pallet_assets::WeightInfo for WeightInfo { - fn create() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 0_000 picoseconds. - Weight::from_parts(0, 0) - .saturating_add(Weight::from_parts(0, 0)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn force_create() -> Weight { - // Proof Size summary in bytes: - // Measured: `42` - // Estimated: `3675` - // Minimum execution time: 9_103_000 picoseconds. - Weight::from_parts(9_673_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn start_destroy() -> Weight { - // Proof Size summary in bytes: - // Measured: `314` - // Estimated: `3675` - // Minimum execution time: 9_683_000 picoseconds. - Weight::from_parts(10_258_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:1001 w:1000) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1000 w:1000) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `c` is `[0, 1000]`. - /// The range of component `c` is `[0, 1000]`. - /// The range of component `c` is `[0, 1000]`. - fn destroy_accounts(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `122 + c * (208 ±0)` - // Estimated: `3675 + c * (2609 ±0)` - // Minimum execution time: 13_986_000 picoseconds. - Weight::from_parts(14_271_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - // Standard Error: 7_173 - .saturating_add(Weight::from_parts(13_049_924, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(c.into()))) - .saturating_add(T::DbWeight::get().writes(1)) - .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(c.into()))) - .saturating_add(Weight::from_parts(0, 2609).saturating_mul(c.into())) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Approvals` (r:1001 w:1000) - /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) - /// The range of component `a` is `[0, 1000]`. - /// The range of component `a` is `[0, 1000]`. - /// The range of component `a` is `[0, 1000]`. - fn destroy_approvals(a: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `451 + a * (86 ±0)` - // Estimated: `3675 + a * (2623 ±0)` - // Minimum execution time: 13_773_000 picoseconds. - Weight::from_parts(14_104_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - // Standard Error: 3_958 - .saturating_add(Weight::from_parts(13_616_108, 0).saturating_mul(a.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(a.into()))) - .saturating_add(T::DbWeight::get().writes(1)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(a.into()))) - .saturating_add(Weight::from_parts(0, 2623).saturating_mul(a.into())) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Metadata` (r:1 w:0) - /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) - fn finish_destroy() -> Weight { - // Proof Size summary in bytes: - // Measured: `280` - // Estimated: `3675` - // Minimum execution time: 11_331_000 picoseconds. - Weight::from_parts(11_776_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:1 w:1) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - fn mint() -> Weight { - // Proof Size summary in bytes: - // Measured: `280` - // Estimated: `3675` - // Minimum execution time: 19_816_000 picoseconds. - Weight::from_parts(20_473_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:1 w:1) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - fn burn() -> Weight { - // Proof Size summary in bytes: - // Measured: `388` - // Estimated: `3675` - // Minimum execution time: 25_619_000 picoseconds. - Weight::from_parts(26_296_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:2 w:2) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn transfer() -> Weight { - // Proof Size summary in bytes: - // Measured: `427` - // Estimated: `6208` - // Minimum execution time: 36_684_000 picoseconds. - Weight::from_parts(37_375_000, 0) - .saturating_add(Weight::from_parts(0, 6208)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:2 w:2) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn transfer_keep_alive() -> Weight { - // Proof Size summary in bytes: - // Measured: `427` - // Estimated: `6208` - // Minimum execution time: 32_776_000 picoseconds. - Weight::from_parts(33_662_000, 0) - .saturating_add(Weight::from_parts(0, 6208)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:2 w:2) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn force_transfer() -> Weight { - // Proof Size summary in bytes: - // Measured: `427` - // Estimated: `6208` - // Minimum execution time: 36_626_000 picoseconds. - Weight::from_parts(37_485_000, 0) - .saturating_add(Weight::from_parts(0, 6208)) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(4)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:0) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:1 w:1) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - fn freeze() -> Weight { - // Proof Size summary in bytes: - // Measured: `388` - // Estimated: `3675` - // Minimum execution time: 13_388_000 picoseconds. - Weight::from_parts(13_813_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:0) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:1 w:1) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - fn thaw() -> Weight { - // Proof Size summary in bytes: - // Measured: `388` - // Estimated: `3675` - // Minimum execution time: 13_283_000 picoseconds. - Weight::from_parts(13_747_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn freeze_asset() -> Weight { - // Proof Size summary in bytes: - // Measured: `314` - // Estimated: `3675` - // Minimum execution time: 9_469_000 picoseconds. - Weight::from_parts(9_978_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn thaw_asset() -> Weight { - // Proof Size summary in bytes: - // Measured: `314` - // Estimated: `3675` - // Minimum execution time: 9_378_000 picoseconds. - Weight::from_parts(9_886_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Metadata` (r:1 w:0) - /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) - fn transfer_ownership() -> Weight { - // Proof Size summary in bytes: - // Measured: `280` - // Estimated: `3675` - // Minimum execution time: 11_950_000 picoseconds. - Weight::from_parts(12_403_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn set_team() -> Weight { - // Proof Size summary in bytes: - // Measured: `280` - // Estimated: `3675` - // Minimum execution time: 10_571_000 picoseconds. - Weight::from_parts(11_100_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:0) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Metadata` (r:1 w:1) - /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - fn set_metadata(n: u32, s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `280` - // Estimated: `3675` - // Minimum execution time: 11_544_000 picoseconds. - Weight::from_parts(12_361_071, 0) - .saturating_add(Weight::from_parts(0, 3675)) - // Standard Error: 221 - .saturating_add(Weight::from_parts(1_643, 0).saturating_mul(n.into())) - // Standard Error: 221 - .saturating_add(Weight::from_parts(1_144, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:0) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Metadata` (r:1 w:1) - /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) - fn clear_metadata() -> Weight { - // Proof Size summary in bytes: - // Measured: `444` - // Estimated: `3675` - // Minimum execution time: 12_246_000 picoseconds. - Weight::from_parts(12_849_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:0) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Metadata` (r:1 w:1) - /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - /// The range of component `n` is `[0, 50]`. - /// The range of component `s` is `[0, 50]`. - fn force_set_metadata(n: u32, s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `119` - // Estimated: `3675` - // Minimum execution time: 10_729_000 picoseconds. - Weight::from_parts(11_366_424, 0) - .saturating_add(Weight::from_parts(0, 3675)) - // Standard Error: 191 - .saturating_add(Weight::from_parts(1_328, 0).saturating_mul(n.into())) - // Standard Error: 191 - .saturating_add(Weight::from_parts(1_232, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:0) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Metadata` (r:1 w:1) - /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) - fn force_clear_metadata() -> Weight { - // Proof Size summary in bytes: - // Measured: `444` - // Estimated: `3675` - // Minimum execution time: 12_103_000 picoseconds. - Weight::from_parts(12_616_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn force_asset_status() -> Weight { - // Proof Size summary in bytes: - // Measured: `280` - // Estimated: `3675` - // Minimum execution time: 9_924_000 picoseconds. - Weight::from_parts(10_441_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Approvals` (r:1 w:1) - /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) - fn approve_transfer() -> Weight { - // Proof Size summary in bytes: - // Measured: `314` - // Estimated: `3675` - // Minimum execution time: 25_453_000 picoseconds. - Weight::from_parts(26_285_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Approvals` (r:1 w:1) - /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:2 w:2) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn transfer_approved() -> Weight { - // Proof Size summary in bytes: - // Measured: `597` - // Estimated: `6208` - // Minimum execution time: 54_168_000 picoseconds. - Weight::from_parts(55_330_000, 0) - .saturating_add(Weight::from_parts(0, 6208)) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(5)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Approvals` (r:1 w:1) - /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) - fn cancel_approval() -> Weight { - // Proof Size summary in bytes: - // Measured: `484` - // Estimated: `3675` - // Minimum execution time: 27_730_000 picoseconds. - Weight::from_parts(28_499_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Approvals` (r:1 w:1) - /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) - fn force_cancel_approval() -> Weight { - // Proof Size summary in bytes: - // Measured: `484` - // Estimated: `3675` - // Minimum execution time: 27_849_000 picoseconds. - Weight::from_parts(28_749_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn set_min_balance() -> Weight { - // Proof Size summary in bytes: - // Measured: `280` - // Estimated: `3675` - // Minimum execution time: 10_744_000 picoseconds. - Weight::from_parts(11_342_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `PoolAssets::Account` (r:1 w:1) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn touch() -> Weight { - // Proof Size summary in bytes: - // Measured: `383` - // Estimated: `3675` - // Minimum execution time: 27_585_000 picoseconds. - Weight::from_parts(28_360_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `PoolAssets::Account` (r:1 w:1) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn touch_other() -> Weight { - // Proof Size summary in bytes: - // Measured: `280` - // Estimated: `3675` - // Minimum execution time: 24_866_000 picoseconds. - Weight::from_parts(25_658_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PoolAssets::Account` (r:1 w:1) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn refund() -> Weight { - // Proof Size summary in bytes: - // Measured: `509` - // Estimated: `3675` - // Minimum execution time: 27_040_000 picoseconds. - Weight::from_parts(27_910_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `PoolAssets::Account` (r:1 w:1) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Asset` (r:1 w:1) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - fn refund_other() -> Weight { - // Proof Size summary in bytes: - // Measured: `439` - // Estimated: `3675` - // Minimum execution time: 24_684_000 picoseconds. - Weight::from_parts(25_393_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `PoolAssets::Asset` (r:1 w:0) - /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `PoolAssets::Account` (r:1 w:1) - /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - fn block() -> Weight { - // Proof Size summary in bytes: - // Measured: `388` - // Estimated: `3675` - // Minimum execution time: 13_122_000 picoseconds. - Weight::from_parts(13_661_000, 0) - .saturating_add(Weight::from_parts(0, 3675)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } + fn create() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 0_000 picoseconds. + Weight::from_parts(0, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn force_create() -> Weight { + // Proof Size summary in bytes: + // Measured: `42` + // Estimated: `3675` + // Minimum execution time: 9_103_000 picoseconds. + Weight::from_parts(9_673_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn start_destroy() -> Weight { + // Proof Size summary in bytes: + // Measured: `314` + // Estimated: `3675` + // Minimum execution time: 9_683_000 picoseconds. + Weight::from_parts(10_258_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:1001 w:1000) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1000 w:1000) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// The range of component `c` is `[0, 1000]`. + /// The range of component `c` is `[0, 1000]`. + /// The range of component `c` is `[0, 1000]`. + fn destroy_accounts(c: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `122 + c * (208 ±0)` + // Estimated: `3675 + c * (2609 ±0)` + // Minimum execution time: 13_986_000 picoseconds. + Weight::from_parts(14_271_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + // Standard Error: 7_173 + .saturating_add(Weight::from_parts(13_049_924, 0).saturating_mul(c.into())) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(c.into()))) + .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(c.into()))) + .saturating_add(Weight::from_parts(0, 2609).saturating_mul(c.into())) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Approvals` (r:1001 w:1000) + /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) + /// The range of component `a` is `[0, 1000]`. + /// The range of component `a` is `[0, 1000]`. + /// The range of component `a` is `[0, 1000]`. + fn destroy_approvals(a: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `451 + a * (86 ±0)` + // Estimated: `3675 + a * (2623 ±0)` + // Minimum execution time: 13_773_000 picoseconds. + Weight::from_parts(14_104_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + // Standard Error: 3_958 + .saturating_add(Weight::from_parts(13_616_108, 0).saturating_mul(a.into())) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(a.into()))) + .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(a.into()))) + .saturating_add(Weight::from_parts(0, 2623).saturating_mul(a.into())) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Metadata` (r:1 w:0) + /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + fn finish_destroy() -> Weight { + // Proof Size summary in bytes: + // Measured: `280` + // Estimated: `3675` + // Minimum execution time: 11_331_000 picoseconds. + Weight::from_parts(11_776_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:1 w:1) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + fn mint() -> Weight { + // Proof Size summary in bytes: + // Measured: `280` + // Estimated: `3675` + // Minimum execution time: 19_816_000 picoseconds. + Weight::from_parts(20_473_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:1 w:1) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + fn burn() -> Weight { + // Proof Size summary in bytes: + // Measured: `388` + // Estimated: `3675` + // Minimum execution time: 25_619_000 picoseconds. + Weight::from_parts(26_296_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:2 w:2) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn transfer() -> Weight { + // Proof Size summary in bytes: + // Measured: `427` + // Estimated: `6208` + // Minimum execution time: 36_684_000 picoseconds. + Weight::from_parts(37_375_000, 0) + .saturating_add(Weight::from_parts(0, 6208)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:2 w:2) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn transfer_keep_alive() -> Weight { + // Proof Size summary in bytes: + // Measured: `427` + // Estimated: `6208` + // Minimum execution time: 32_776_000 picoseconds. + Weight::from_parts(33_662_000, 0) + .saturating_add(Weight::from_parts(0, 6208)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:2 w:2) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn force_transfer() -> Weight { + // Proof Size summary in bytes: + // Measured: `427` + // Estimated: `6208` + // Minimum execution time: 36_626_000 picoseconds. + Weight::from_parts(37_485_000, 0) + .saturating_add(Weight::from_parts(0, 6208)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:0) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:1 w:1) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + fn freeze() -> Weight { + // Proof Size summary in bytes: + // Measured: `388` + // Estimated: `3675` + // Minimum execution time: 13_388_000 picoseconds. + Weight::from_parts(13_813_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:0) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:1 w:1) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + fn thaw() -> Weight { + // Proof Size summary in bytes: + // Measured: `388` + // Estimated: `3675` + // Minimum execution time: 13_283_000 picoseconds. + Weight::from_parts(13_747_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn freeze_asset() -> Weight { + // Proof Size summary in bytes: + // Measured: `314` + // Estimated: `3675` + // Minimum execution time: 9_469_000 picoseconds. + Weight::from_parts(9_978_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn thaw_asset() -> Weight { + // Proof Size summary in bytes: + // Measured: `314` + // Estimated: `3675` + // Minimum execution time: 9_378_000 picoseconds. + Weight::from_parts(9_886_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Metadata` (r:1 w:0) + /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + fn transfer_ownership() -> Weight { + // Proof Size summary in bytes: + // Measured: `280` + // Estimated: `3675` + // Minimum execution time: 11_950_000 picoseconds. + Weight::from_parts(12_403_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn set_team() -> Weight { + // Proof Size summary in bytes: + // Measured: `280` + // Estimated: `3675` + // Minimum execution time: 10_571_000 picoseconds. + Weight::from_parts(11_100_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:0) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Metadata` (r:1 w:1) + /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + fn set_metadata(n: u32, s: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `280` + // Estimated: `3675` + // Minimum execution time: 11_544_000 picoseconds. + Weight::from_parts(12_361_071, 0) + .saturating_add(Weight::from_parts(0, 3675)) + // Standard Error: 221 + .saturating_add(Weight::from_parts(1_643, 0).saturating_mul(n.into())) + // Standard Error: 221 + .saturating_add(Weight::from_parts(1_144, 0).saturating_mul(s.into())) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:0) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Metadata` (r:1 w:1) + /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + fn clear_metadata() -> Weight { + // Proof Size summary in bytes: + // Measured: `444` + // Estimated: `3675` + // Minimum execution time: 12_246_000 picoseconds. + Weight::from_parts(12_849_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:0) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Metadata` (r:1 w:1) + /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + /// The range of component `n` is `[0, 50]`. + /// The range of component `s` is `[0, 50]`. + fn force_set_metadata(n: u32, s: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `119` + // Estimated: `3675` + // Minimum execution time: 10_729_000 picoseconds. + Weight::from_parts(11_366_424, 0) + .saturating_add(Weight::from_parts(0, 3675)) + // Standard Error: 191 + .saturating_add(Weight::from_parts(1_328, 0).saturating_mul(n.into())) + // Standard Error: 191 + .saturating_add(Weight::from_parts(1_232, 0).saturating_mul(s.into())) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:0) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Metadata` (r:1 w:1) + /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + fn force_clear_metadata() -> Weight { + // Proof Size summary in bytes: + // Measured: `444` + // Estimated: `3675` + // Minimum execution time: 12_103_000 picoseconds. + Weight::from_parts(12_616_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn force_asset_status() -> Weight { + // Proof Size summary in bytes: + // Measured: `280` + // Estimated: `3675` + // Minimum execution time: 9_924_000 picoseconds. + Weight::from_parts(10_441_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Approvals` (r:1 w:1) + /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) + fn approve_transfer() -> Weight { + // Proof Size summary in bytes: + // Measured: `314` + // Estimated: `3675` + // Minimum execution time: 25_453_000 picoseconds. + Weight::from_parts(26_285_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Approvals` (r:1 w:1) + /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:2 w:2) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn transfer_approved() -> Weight { + // Proof Size summary in bytes: + // Measured: `597` + // Estimated: `6208` + // Minimum execution time: 54_168_000 picoseconds. + Weight::from_parts(55_330_000, 0) + .saturating_add(Weight::from_parts(0, 6208)) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(5)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Approvals` (r:1 w:1) + /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) + fn cancel_approval() -> Weight { + // Proof Size summary in bytes: + // Measured: `484` + // Estimated: `3675` + // Minimum execution time: 27_730_000 picoseconds. + Weight::from_parts(28_499_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Approvals` (r:1 w:1) + /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) + fn force_cancel_approval() -> Weight { + // Proof Size summary in bytes: + // Measured: `484` + // Estimated: `3675` + // Minimum execution time: 27_849_000 picoseconds. + Weight::from_parts(28_749_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn set_min_balance() -> Weight { + // Proof Size summary in bytes: + // Measured: `280` + // Estimated: `3675` + // Minimum execution time: 10_744_000 picoseconds. + Weight::from_parts(11_342_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PoolAssets::Account` (r:1 w:1) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn touch() -> Weight { + // Proof Size summary in bytes: + // Measured: `383` + // Estimated: `3675` + // Minimum execution time: 27_585_000 picoseconds. + Weight::from_parts(28_360_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// Storage: `PoolAssets::Account` (r:1 w:1) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn touch_other() -> Weight { + // Proof Size summary in bytes: + // Measured: `280` + // Estimated: `3675` + // Minimum execution time: 24_866_000 picoseconds. + Weight::from_parts(25_658_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `PoolAssets::Account` (r:1 w:1) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn refund() -> Weight { + // Proof Size summary in bytes: + // Measured: `509` + // Estimated: `3675` + // Minimum execution time: 27_040_000 picoseconds. + Weight::from_parts(27_910_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// Storage: `PoolAssets::Account` (r:1 w:1) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Asset` (r:1 w:1) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + fn refund_other() -> Weight { + // Proof Size summary in bytes: + // Measured: `439` + // Estimated: `3675` + // Minimum execution time: 24_684_000 picoseconds. + Weight::from_parts(25_393_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `PoolAssets::Asset` (r:1 w:0) + /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `PoolAssets::Account` (r:1 w:1) + /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + fn block() -> Weight { + // Proof Size summary in bytes: + // Measured: `388` + // Estimated: `3675` + // Minimum execution time: 13_122_000 picoseconds. + Weight::from_parts(13_661_000, 0) + .saturating_add(Weight::from_parts(0, 3675)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } } diff --git a/system-parachains/asset-hub-paseo/src/weights/pallet_message_queue.rs b/system-parachains/asset-hub-paseo/src/weights/pallet_message_queue.rs index b1addba..dbeba98 100644 --- a/system-parachains/asset-hub-paseo/src/weights/pallet_message_queue.rs +++ b/system-parachains/asset-hub-paseo/src/weights/pallet_message_queue.rs @@ -46,137 +46,137 @@ use core::marker::PhantomData; /// Weight functions for `pallet_message_queue`. pub struct WeightInfo(PhantomData); impl pallet_message_queue::WeightInfo for WeightInfo { - /// Storage: `MessageQueue::ServiceHead` (r:1 w:0) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::BookStateFor` (r:2 w:2) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - fn ready_ring_knit() -> Weight { - // Proof Size summary in bytes: - // Measured: `223` - // Estimated: `6044` - // Minimum execution time: 11_202_000 picoseconds. - Weight::from_parts(11_572_000, 0) - .saturating_add(Weight::from_parts(0, 6044)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `MessageQueue::BookStateFor` (r:2 w:2) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - fn ready_ring_unknit() -> Weight { - // Proof Size summary in bytes: - // Measured: `218` - // Estimated: `6044` - // Minimum execution time: 10_014_000 picoseconds. - Weight::from_parts(10_407_000, 0) - .saturating_add(Weight::from_parts(0, 6044)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(3)) - } - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - fn service_queue_base() -> Weight { - // Proof Size summary in bytes: - // Measured: `6` - // Estimated: `3517` - // Minimum execution time: 3_106_000 picoseconds. - Weight::from_parts(3_229_000, 0) - .saturating_add(Weight::from_parts(0, 3517)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `MessageQueue::Pages` (r:1 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`) - fn service_page_base_completion() -> Weight { - // Proof Size summary in bytes: - // Measured: `72` - // Estimated: `69050` - // Minimum execution time: 5_746_000 picoseconds. - Weight::from_parts(5_960_000, 0) - .saturating_add(Weight::from_parts(0, 69050)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `MessageQueue::Pages` (r:1 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`) - fn service_page_base_no_completion() -> Weight { - // Proof Size summary in bytes: - // Measured: `72` - // Estimated: `69050` - // Minimum execution time: 5_923_000 picoseconds. - Weight::from_parts(6_178_000, 0) - .saturating_add(Weight::from_parts(0, 69050)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `MessageQueue::BookStateFor` (r:0 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::Pages` (r:0 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`) - fn service_page_item() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 167_375_000 picoseconds. - Weight::from_parts(170_492_000, 0) - .saturating_add(Weight::from_parts(0, 0)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) - /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::BookStateFor` (r:1 w:0) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - fn bump_service_head() -> Weight { - // Proof Size summary in bytes: - // Measured: `171` - // Estimated: `3517` - // Minimum execution time: 6_625_000 picoseconds. - Weight::from_parts(6_840_000, 0) - .saturating_add(Weight::from_parts(0, 3517)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(1)) - } - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::Pages` (r:1 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`) - fn reap_page() -> Weight { - // Proof Size summary in bytes: - // Measured: `65667` - // Estimated: `69050` - // Minimum execution time: 53_101_000 picoseconds. - Weight::from_parts(54_330_000, 0) - .saturating_add(Weight::from_parts(0, 69050)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::Pages` (r:1 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`) - fn execute_overweight_page_removed() -> Weight { - // Proof Size summary in bytes: - // Measured: `65667` - // Estimated: `69050` - // Minimum execution time: 69_080_000 picoseconds. - Weight::from_parts(70_816_000, 0) - .saturating_add(Weight::from_parts(0, 69050)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } - /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) - /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) - /// Storage: `MessageQueue::Pages` (r:1 w:1) - /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`) - fn execute_overweight_page_updated() -> Weight { - // Proof Size summary in bytes: - // Measured: `65667` - // Estimated: `69050` - // Minimum execution time: 108_139_000 picoseconds. - Weight::from_parts(110_626_000, 0) - .saturating_add(Weight::from_parts(0, 69050)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) - } + /// Storage: `MessageQueue::ServiceHead` (r:1 w:0) + /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) + /// Storage: `MessageQueue::BookStateFor` (r:2 w:2) + /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + fn ready_ring_knit() -> Weight { + // Proof Size summary in bytes: + // Measured: `223` + // Estimated: `6044` + // Minimum execution time: 11_202_000 picoseconds. + Weight::from_parts(11_572_000, 0) + .saturating_add(Weight::from_parts(0, 6044)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `MessageQueue::BookStateFor` (r:2 w:2) + /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) + /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) + fn ready_ring_unknit() -> Weight { + // Proof Size summary in bytes: + // Measured: `218` + // Estimated: `6044` + // Minimum execution time: 10_014_000 picoseconds. + Weight::from_parts(10_407_000, 0) + .saturating_add(Weight::from_parts(0, 6044)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) + /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + fn service_queue_base() -> Weight { + // Proof Size summary in bytes: + // Measured: `6` + // Estimated: `3517` + // Minimum execution time: 3_106_000 picoseconds. + Weight::from_parts(3_229_000, 0) + .saturating_add(Weight::from_parts(0, 3517)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `MessageQueue::Pages` (r:1 w:1) + /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`) + fn service_page_base_completion() -> Weight { + // Proof Size summary in bytes: + // Measured: `72` + // Estimated: `69050` + // Minimum execution time: 5_746_000 picoseconds. + Weight::from_parts(5_960_000, 0) + .saturating_add(Weight::from_parts(0, 69050)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `MessageQueue::Pages` (r:1 w:1) + /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`) + fn service_page_base_no_completion() -> Weight { + // Proof Size summary in bytes: + // Measured: `72` + // Estimated: `69050` + // Minimum execution time: 5_923_000 picoseconds. + Weight::from_parts(6_178_000, 0) + .saturating_add(Weight::from_parts(0, 69050)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `MessageQueue::BookStateFor` (r:0 w:1) + /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + /// Storage: `MessageQueue::Pages` (r:0 w:1) + /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`) + fn service_page_item() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 167_375_000 picoseconds. + Weight::from_parts(170_492_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) + /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) + /// Storage: `MessageQueue::BookStateFor` (r:1 w:0) + /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + fn bump_service_head() -> Weight { + // Proof Size summary in bytes: + // Measured: `171` + // Estimated: `3517` + // Minimum execution time: 6_625_000 picoseconds. + Weight::from_parts(6_840_000, 0) + .saturating_add(Weight::from_parts(0, 3517)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) + /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + /// Storage: `MessageQueue::Pages` (r:1 w:1) + /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`) + fn reap_page() -> Weight { + // Proof Size summary in bytes: + // Measured: `65667` + // Estimated: `69050` + // Minimum execution time: 53_101_000 picoseconds. + Weight::from_parts(54_330_000, 0) + .saturating_add(Weight::from_parts(0, 69050)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) + /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + /// Storage: `MessageQueue::Pages` (r:1 w:1) + /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`) + fn execute_overweight_page_removed() -> Weight { + // Proof Size summary in bytes: + // Measured: `65667` + // Estimated: `69050` + // Minimum execution time: 69_080_000 picoseconds. + Weight::from_parts(70_816_000, 0) + .saturating_add(Weight::from_parts(0, 69050)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `MessageQueue::BookStateFor` (r:1 w:1) + /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + /// Storage: `MessageQueue::Pages` (r:1 w:1) + /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`) + fn execute_overweight_page_updated() -> Weight { + // Proof Size summary in bytes: + // Measured: `65667` + // Estimated: `69050` + // Minimum execution time: 108_139_000 picoseconds. + Weight::from_parts(110_626_000, 0) + .saturating_add(Weight::from_parts(0, 69050)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } } diff --git a/system-parachains/asset-hub-paseo/src/weights/pallet_multisig.rs b/system-parachains/asset-hub-paseo/src/weights/pallet_multisig.rs index b82e421..f170e88 100644 --- a/system-parachains/asset-hub-paseo/src/weights/pallet_multisig.rs +++ b/system-parachains/asset-hub-paseo/src/weights/pallet_multisig.rs @@ -13,27 +13,26 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. - //! Autogenerated weights for `pallet_multisig` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-03-08, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-03-10, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `p-ch-hmb-vm-vapas-002`, CPU: `Intel(R) Xeon(R) Silver 4314 CPU @ 2.40GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("runtimes/chain-specs/asset-hub-local.raw.json")`, DB CACHE: 1024 +//! HOSTNAME: `ggwpez-ref-hw`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("./asset-hub-paseo-chain-spec.json")`, DB CACHE: 1024 // Executed Command: -// ./polkadot-parachain +// ./target/production/paseo // benchmark // pallet -// --chain=runtimes/chain-specs/asset-hub-local.raw.json +// --chain=./asset-hub-paseo-chain-spec.json // --steps=50 // --repeat=20 // --pallet=pallet_multisig // --extrinsic=* // --wasm-execution=compiled // --heap-pages=4096 -// --output=./paseo-asset-hub-local-weights/ +// --output=./asset-hub-paseo-weights/ // --header=./file_header.txt #![cfg_attr(rustfmt, rustfmt_skip)] @@ -52,11 +51,11 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 14_849_000 picoseconds. - Weight::from_parts(16_175_879, 0) + // Minimum execution time: 12_994_000 picoseconds. + Weight::from_parts(13_506_991, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 34 - .saturating_add(Weight::from_parts(911, 0).saturating_mul(z.into())) + // Standard Error: 4 + .saturating_add(Weight::from_parts(513, 0).saturating_mul(z.into())) } /// Storage: `Multisig::Multisigs` (r:1 w:1) /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) @@ -66,13 +65,13 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `263 + s * (2 ±0)` // Estimated: `6811` - // Minimum execution time: 46_209_000 picoseconds. - Weight::from_parts(36_459_792, 0) + // Minimum execution time: 38_744_000 picoseconds. + Weight::from_parts(28_200_465, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 2_341 - .saturating_add(Weight::from_parts(132_974, 0).saturating_mul(s.into())) - // Standard Error: 22 - .saturating_add(Weight::from_parts(1_675, 0).saturating_mul(z.into())) + // Standard Error: 827 + .saturating_add(Weight::from_parts(119_026, 0).saturating_mul(s.into())) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_447, 0).saturating_mul(z.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -84,13 +83,13 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `282` // Estimated: `6811` - // Minimum execution time: 30_920_000 picoseconds. - Weight::from_parts(24_407_953, 0) + // Minimum execution time: 26_246_000 picoseconds. + Weight::from_parts(16_682_448, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 2_978 - .saturating_add(Weight::from_parts(110_964, 0).saturating_mul(s.into())) - // Standard Error: 29 - .saturating_add(Weight::from_parts(1_387, 0).saturating_mul(z.into())) + // Standard Error: 511 + .saturating_add(Weight::from_parts(107_982, 0).saturating_mul(s.into())) + // Standard Error: 5 + .saturating_add(Weight::from_parts(1_442, 0).saturating_mul(z.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -104,13 +103,13 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `388 + s * (33 ±0)` // Estimated: `6811` - // Minimum execution time: 53_333_000 picoseconds. - Weight::from_parts(39_509_073, 0) + // Minimum execution time: 44_668_000 picoseconds. + Weight::from_parts(31_599_813, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 3_225 - .saturating_add(Weight::from_parts(176_813, 0).saturating_mul(s.into())) - // Standard Error: 31 - .saturating_add(Weight::from_parts(1_711, 0).saturating_mul(z.into())) + // Standard Error: 873 + .saturating_add(Weight::from_parts(152_860, 0).saturating_mul(s.into())) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_492, 0).saturating_mul(z.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -121,11 +120,11 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `263 + s * (2 ±0)` // Estimated: `6811` - // Minimum execution time: 31_636_000 picoseconds. - Weight::from_parts(33_892_093, 0) + // Minimum execution time: 25_820_000 picoseconds. + Weight::from_parts(26_883_459, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 3_147 - .saturating_add(Weight::from_parts(123_769, 0).saturating_mul(s.into())) + // Standard Error: 1_196 + .saturating_add(Weight::from_parts(120_437, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -136,11 +135,11 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `282` // Estimated: `6811` - // Minimum execution time: 18_047_000 picoseconds. - Weight::from_parts(19_420_726, 0) + // Minimum execution time: 14_912_000 picoseconds. + Weight::from_parts(15_457_212, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 1_857 - .saturating_add(Weight::from_parts(112_747, 0).saturating_mul(s.into())) + // Standard Error: 536 + .saturating_add(Weight::from_parts(106_849, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -151,11 +150,11 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `454 + s * (1 ±0)` // Estimated: `6811` - // Minimum execution time: 33_075_000 picoseconds. - Weight::from_parts(31_323_516, 0) + // Minimum execution time: 26_920_000 picoseconds. + Weight::from_parts(27_991_730, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 7_456 - .saturating_add(Weight::from_parts(262_662, 0).saturating_mul(s.into())) + // Standard Error: 688 + .saturating_add(Weight::from_parts(117_159, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/system-parachains/asset-hub-paseo/src/weights/pallet_nfts.rs b/system-parachains/asset-hub-paseo/src/weights/pallet_nfts.rs index ba6df77..949f54d 100644 --- a/system-parachains/asset-hub-paseo/src/weights/pallet_nfts.rs +++ b/system-parachains/asset-hub-paseo/src/weights/pallet_nfts.rs @@ -13,27 +13,26 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. - //! Autogenerated weights for `pallet_nfts` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-03-08, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-03-10, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `p-ch-hmb-vm-vapas-002`, CPU: `Intel(R) Xeon(R) Silver 4314 CPU @ 2.40GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("runtimes/chain-specs/asset-hub-local.raw.json")`, DB CACHE: 1024 +//! HOSTNAME: `ggwpez-ref-hw`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("./asset-hub-paseo-chain-spec.json")`, DB CACHE: 1024 // Executed Command: -// ./polkadot-parachain +// ./target/production/paseo // benchmark // pallet -// --chain=runtimes/chain-specs/asset-hub-local.raw.json +// --chain=./asset-hub-paseo-chain-spec.json // --steps=50 // --repeat=20 // --pallet=pallet_nfts // --extrinsic=* // --wasm-execution=compiled // --heap-pages=4096 -// --output=./paseo-asset-hub-local-weights/ +// --output=./asset-hub-paseo-weights/ // --header=./file_header.txt #![cfg_attr(rustfmt, rustfmt_skip)] @@ -61,8 +60,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `182` // Estimated: `3549` - // Minimum execution time: 38_160_000 picoseconds. - Weight::from_parts(39_512_000, 0) + // Minimum execution time: 30_157_000 picoseconds. + Weight::from_parts(30_897_000, 0) .saturating_add(Weight::from_parts(0, 3549)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(5)) @@ -81,8 +80,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `42` // Estimated: `3549` - // Minimum execution time: 22_847_000 picoseconds. - Weight::from_parts(23_634_000, 0) + // Minimum execution time: 17_553_000 picoseconds. + Weight::from_parts(18_157_000, 0) .saturating_add(Weight::from_parts(0, 3549)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(5)) @@ -106,15 +105,19 @@ impl pallet_nfts::WeightInfo for WeightInfo { /// The range of component `m` is `[0, 1000]`. /// The range of component `c` is `[0, 1000]`. /// The range of component `a` is `[0, 1000]`. - fn destroy(_m: u32, _c: u32, a: u32, ) -> Weight { + fn destroy(m: u32, c: u32, a: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `32170 + a * (366 ±0)` // Estimated: `2523990 + a * (2954 ±0)` - // Minimum execution time: 1_247_832_000 picoseconds. - Weight::from_parts(1_239_336_633, 0) + // Minimum execution time: 1_142_320_000 picoseconds. + Weight::from_parts(1_020_536_969, 0) .saturating_add(Weight::from_parts(0, 2523990)) - // Standard Error: 17_807 - .saturating_add(Weight::from_parts(7_449_628, 0).saturating_mul(a.into())) + // Standard Error: 4_396 + .saturating_add(Weight::from_parts(29_340, 0).saturating_mul(m.into())) + // Standard Error: 4_396 + .saturating_add(Weight::from_parts(8_857, 0).saturating_mul(c.into())) + // Standard Error: 4_396 + .saturating_add(Weight::from_parts(6_454_439, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(1004)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(a.into()))) .saturating_add(T::DbWeight::get().writes(1005)) @@ -137,8 +140,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `421` // Estimated: `4326` - // Minimum execution time: 52_382_000 picoseconds. - Weight::from_parts(53_551_000, 0) + // Minimum execution time: 41_911_000 picoseconds. + Weight::from_parts(43_092_000, 0) .saturating_add(Weight::from_parts(0, 4326)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) @@ -159,8 +162,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `421` // Estimated: `4326` - // Minimum execution time: 50_498_000 picoseconds. - Weight::from_parts(52_051_000, 0) + // Minimum execution time: 41_090_000 picoseconds. + Weight::from_parts(41_941_000, 0) .saturating_add(Weight::from_parts(0, 4326)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) @@ -187,8 +190,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `530` // Estimated: `4326` - // Minimum execution time: 59_276_000 picoseconds. - Weight::from_parts(60_996_000, 0) + // Minimum execution time: 47_303_000 picoseconds. + Weight::from_parts(48_019_000, 0) .saturating_add(Weight::from_parts(0, 4326)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(7)) @@ -213,8 +216,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `559` // Estimated: `4326` - // Minimum execution time: 44_928_000 picoseconds. - Weight::from_parts(46_089_000, 0) + // Minimum execution time: 36_742_000 picoseconds. + Weight::from_parts(37_515_000, 0) .saturating_add(Weight::from_parts(0, 4326)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(5)) @@ -230,11 +233,11 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `729 + i * (108 ±0)` // Estimated: `3549 + i * (3336 ±0)` - // Minimum execution time: 15_686_000 picoseconds. - Weight::from_parts(16_082_000, 0) + // Minimum execution time: 12_305_000 picoseconds. + Weight::from_parts(12_562_000, 0) .saturating_add(Weight::from_parts(0, 3549)) - // Standard Error: 27_132 - .saturating_add(Weight::from_parts(18_521_923, 0).saturating_mul(i.into())) + // Standard Error: 19_023 + .saturating_add(Weight::from_parts(14_881_152, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into()))) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into()))) @@ -248,8 +251,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `401` // Estimated: `3534` - // Minimum execution time: 19_897_000 picoseconds. - Weight::from_parts(20_985_000, 0) + // Minimum execution time: 16_245_000 picoseconds. + Weight::from_parts(16_613_000, 0) .saturating_add(Weight::from_parts(0, 3534)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -262,8 +265,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `401` // Estimated: `3534` - // Minimum execution time: 20_026_000 picoseconds. - Weight::from_parts(20_625_000, 0) + // Minimum execution time: 16_250_000 picoseconds. + Weight::from_parts(16_656_000, 0) .saturating_add(Weight::from_parts(0, 3534)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -276,8 +279,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `306` // Estimated: `3549` - // Minimum execution time: 16_604_000 picoseconds. - Weight::from_parts(18_573_000, 0) + // Minimum execution time: 12_873_000 picoseconds. + Weight::from_parts(13_444_000, 0) .saturating_add(Weight::from_parts(0, 3549)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -286,17 +289,19 @@ impl pallet_nfts::WeightInfo for WeightInfo { /// Proof: `Nfts::OwnershipAcceptance` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) /// Storage: `Nfts::Collection` (r:1 w:1) /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// Storage: `Nfts::CollectionAccount` (r:0 w:2) /// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) fn transfer_ownership() -> Weight { // Proof Size summary in bytes: - // Measured: `354` - // Estimated: `3549` - // Minimum execution time: 23_284_000 picoseconds. - Weight::from_parts(24_679_000, 0) - .saturating_add(Weight::from_parts(0, 3549)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(4)) + // Measured: `528` + // Estimated: `3593` + // Minimum execution time: 23_248_000 picoseconds. + Weight::from_parts(23_997_000, 0) + .saturating_add(Weight::from_parts(0, 3593)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(5)) } /// Storage: `Nfts::Collection` (r:1 w:1) /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) @@ -306,8 +311,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `335` // Estimated: `6078` - // Minimum execution time: 42_135_000 picoseconds. - Weight::from_parts(43_728_000, 0) + // Minimum execution time: 34_503_000 picoseconds. + Weight::from_parts(35_346_000, 0) .saturating_add(Weight::from_parts(0, 6078)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(5)) @@ -320,8 +325,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `277` // Estimated: `3549` - // Minimum execution time: 17_499_000 picoseconds. - Weight::from_parts(18_015_000, 0) + // Minimum execution time: 13_603_000 picoseconds. + Weight::from_parts(14_069_000, 0) .saturating_add(Weight::from_parts(0, 3549)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(3)) @@ -334,8 +339,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `242` // Estimated: `3549` - // Minimum execution time: 13_712_000 picoseconds. - Weight::from_parts(14_075_000, 0) + // Minimum execution time: 10_407_000 picoseconds. + Weight::from_parts(10_645_000, 0) .saturating_add(Weight::from_parts(0, 3549)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -348,8 +353,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `401` // Estimated: `3534` - // Minimum execution time: 19_580_000 picoseconds. - Weight::from_parts(19_916_000, 0) + // Minimum execution time: 15_185_000 picoseconds. + Weight::from_parts(15_561_000, 0) .saturating_add(Weight::from_parts(0, 3534)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -368,8 +373,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `505` // Estimated: `3944` - // Minimum execution time: 52_918_000 picoseconds. - Weight::from_parts(54_828_000, 0) + // Minimum execution time: 42_823_000 picoseconds. + Weight::from_parts(43_836_000, 0) .saturating_add(Weight::from_parts(0, 3944)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) @@ -382,8 +387,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `310` // Estimated: `3944` - // Minimum execution time: 27_390_000 picoseconds. - Weight::from_parts(28_388_000, 0) + // Minimum execution time: 21_777_000 picoseconds. + Weight::from_parts(22_423_000, 0) .saturating_add(Weight::from_parts(0, 3944)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -400,8 +405,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `949` // Estimated: `3944` - // Minimum execution time: 47_957_000 picoseconds. - Weight::from_parts(49_089_000, 0) + // Minimum execution time: 39_338_000 picoseconds. + Weight::from_parts(40_004_000, 0) .saturating_add(Weight::from_parts(0, 3944)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) @@ -414,8 +419,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `347` // Estimated: `4466` - // Minimum execution time: 16_908_000 picoseconds. - Weight::from_parts(17_508_000, 0) + // Minimum execution time: 13_482_000 picoseconds. + Weight::from_parts(14_036_000, 0) .saturating_add(Weight::from_parts(0, 4466)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -433,11 +438,11 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `797 + n * (398 ±0)` // Estimated: `4466 + n * (2954 ±0)` - // Minimum execution time: 27_026_000 picoseconds. - Weight::from_parts(27_704_000, 0) + // Minimum execution time: 21_830_000 picoseconds. + Weight::from_parts(22_333_000, 0) .saturating_add(Weight::from_parts(0, 4466)) - // Standard Error: 13_643 - .saturating_add(Weight::from_parts(7_322_779, 0).saturating_mul(n.into())) + // Standard Error: 3_562 + .saturating_add(Weight::from_parts(6_158_600, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(2)) @@ -458,8 +463,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `505` // Estimated: `3812` - // Minimum execution time: 42_607_000 picoseconds. - Weight::from_parts(43_697_000, 0) + // Minimum execution time: 34_404_000 picoseconds. + Weight::from_parts(35_375_000, 0) .saturating_add(Weight::from_parts(0, 3812)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) @@ -476,8 +481,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `815` // Estimated: `3812` - // Minimum execution time: 39_947_000 picoseconds. - Weight::from_parts(41_068_000, 0) + // Minimum execution time: 32_838_000 picoseconds. + Weight::from_parts(33_557_000, 0) .saturating_add(Weight::from_parts(0, 3812)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) @@ -494,8 +499,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `364` // Estimated: `3759` - // Minimum execution time: 38_072_000 picoseconds. - Weight::from_parts(39_577_000, 0) + // Minimum execution time: 30_747_000 picoseconds. + Weight::from_parts(31_395_000, 0) .saturating_add(Weight::from_parts(0, 3759)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) @@ -512,8 +517,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `682` // Estimated: `3759` - // Minimum execution time: 37_182_000 picoseconds. - Weight::from_parts(37_705_000, 0) + // Minimum execution time: 30_194_000 picoseconds. + Weight::from_parts(30_819_000, 0) .saturating_add(Weight::from_parts(0, 3759)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(1)) @@ -526,8 +531,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `376` // Estimated: `4326` - // Minimum execution time: 20_451_000 picoseconds. - Weight::from_parts(21_000_000, 0) + // Minimum execution time: 16_087_000 picoseconds. + Weight::from_parts(16_679_000, 0) .saturating_add(Weight::from_parts(0, 4326)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -538,8 +543,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `384` // Estimated: `4326` - // Minimum execution time: 17_606_000 picoseconds. - Weight::from_parts(18_039_000, 0) + // Minimum execution time: 13_843_000 picoseconds. + Weight::from_parts(14_385_000, 0) .saturating_add(Weight::from_parts(0, 4326)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -550,8 +555,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `384` // Estimated: `4326` - // Minimum execution time: 16_525_000 picoseconds. - Weight::from_parts(17_187_000, 0) + // Minimum execution time: 13_091_000 picoseconds. + Weight::from_parts(13_526_000, 0) .saturating_add(Weight::from_parts(0, 4326)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -562,8 +567,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `42` // Estimated: `3517` - // Minimum execution time: 13_721_000 picoseconds. - Weight::from_parts(14_282_000, 0) + // Minimum execution time: 10_989_000 picoseconds. + Weight::from_parts(11_411_000, 0) .saturating_add(Weight::from_parts(0, 3517)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -576,8 +581,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `306` // Estimated: `3549` - // Minimum execution time: 18_523_000 picoseconds. - Weight::from_parts(18_875_000, 0) + // Minimum execution time: 14_720_000 picoseconds. + Weight::from_parts(15_113_000, 0) .saturating_add(Weight::from_parts(0, 3549)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -590,8 +595,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `289` // Estimated: `3538` - // Minimum execution time: 17_913_000 picoseconds. - Weight::from_parts(18_316_000, 0) + // Minimum execution time: 14_198_000 picoseconds. + Weight::from_parts(14_547_000, 0) .saturating_add(Weight::from_parts(0, 3538)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -608,8 +613,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `484` // Estimated: `4326` - // Minimum execution time: 23_474_000 picoseconds. - Weight::from_parts(24_219_000, 0) + // Minimum execution time: 18_999_000 picoseconds. + Weight::from_parts(19_718_000, 0) .saturating_add(Weight::from_parts(0, 4326)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -634,8 +639,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `671` // Estimated: `4326` - // Minimum execution time: 54_179_000 picoseconds. - Weight::from_parts(55_420_000, 0) + // Minimum execution time: 43_843_000 picoseconds. + Weight::from_parts(45_091_000, 0) .saturating_add(Weight::from_parts(0, 4326)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(5)) @@ -645,11 +650,11 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_320_000 picoseconds. - Weight::from_parts(3_309_679, 0) + // Minimum execution time: 1_640_000 picoseconds. + Weight::from_parts(2_643_650, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 20_800 - .saturating_add(Weight::from_parts(2_783_198, 0).saturating_mul(n.into())) + // Standard Error: 5_459 + .saturating_add(Weight::from_parts(1_762_642, 0).saturating_mul(n.into())) } /// Storage: `Nfts::Item` (r:2 w:0) /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) @@ -659,8 +664,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `460` // Estimated: `7662` - // Minimum execution time: 21_093_000 picoseconds. - Weight::from_parts(22_638_000, 0) + // Minimum execution time: 16_400_000 picoseconds. + Weight::from_parts(17_046_000, 0) .saturating_add(Weight::from_parts(0, 7662)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -673,8 +678,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `479` // Estimated: `4326` - // Minimum execution time: 21_390_000 picoseconds. - Weight::from_parts(23_374_000, 0) + // Minimum execution time: 16_710_000 picoseconds. + Weight::from_parts(17_472_000, 0) .saturating_add(Weight::from_parts(0, 4326)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -699,8 +704,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `800` // Estimated: `7662` - // Minimum execution time: 91_618_000 picoseconds. - Weight::from_parts(95_733_000, 0) + // Minimum execution time: 75_241_000 picoseconds. + Weight::from_parts(76_180_000, 0) .saturating_add(Weight::from_parts(0, 7662)) .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(10)) @@ -728,11 +733,11 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `595` // Estimated: `6078 + n * (2954 ±0)` - // Minimum execution time: 146_560_000 picoseconds. - Weight::from_parts(156_639_830, 0) + // Minimum execution time: 120_857_000 picoseconds. + Weight::from_parts(126_743_325, 0) .saturating_add(Weight::from_parts(0, 6078)) - // Standard Error: 123_559 - .saturating_add(Weight::from_parts(35_069_698, 0).saturating_mul(n.into())) + // Standard Error: 34_369 + .saturating_add(Weight::from_parts(28_979_084, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(6)) @@ -756,11 +761,11 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `625` // Estimated: `4466 + n * (2954 ±0)` - // Minimum execution time: 77_953_000 picoseconds. - Weight::from_parts(94_459_036, 0) + // Minimum execution time: 64_159_000 picoseconds. + Weight::from_parts(74_692_155, 0) .saturating_add(Weight::from_parts(0, 4466)) - // Standard Error: 137_173 - .saturating_add(Weight::from_parts(33_921_154, 0).saturating_mul(n.into())) + // Standard Error: 58_790 + .saturating_add(Weight::from_parts(28_034_462, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(2)) diff --git a/system-parachains/asset-hub-paseo/src/weights/pallet_proxy.rs b/system-parachains/asset-hub-paseo/src/weights/pallet_proxy.rs index 3a3cee4..ddd3693 100644 --- a/system-parachains/asset-hub-paseo/src/weights/pallet_proxy.rs +++ b/system-parachains/asset-hub-paseo/src/weights/pallet_proxy.rs @@ -13,27 +13,26 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. - //! Autogenerated weights for `pallet_proxy` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-03-08, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-03-10, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `p-ch-hmb-vm-vapas-002`, CPU: `Intel(R) Xeon(R) Silver 4314 CPU @ 2.40GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("runtimes/chain-specs/asset-hub-local.raw.json")`, DB CACHE: 1024 +//! HOSTNAME: `ggwpez-ref-hw`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("./asset-hub-paseo-chain-spec.json")`, DB CACHE: 1024 // Executed Command: -// ./polkadot-parachain +// ./target/production/paseo // benchmark // pallet -// --chain=runtimes/chain-specs/asset-hub-local.raw.json +// --chain=./asset-hub-paseo-chain-spec.json // --steps=50 // --repeat=20 // --pallet=pallet_proxy // --extrinsic=* // --wasm-execution=compiled // --heap-pages=4096 -// --output=./paseo-asset-hub-local-weights/ +// --output=./asset-hub-paseo-weights/ // --header=./file_header.txt #![cfg_attr(rustfmt, rustfmt_skip)] @@ -54,11 +53,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `127 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 14_981_000 picoseconds. - Weight::from_parts(15_857_492, 0) + // Minimum execution time: 11_811_000 picoseconds. + Weight::from_parts(12_393_590, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 2_414 - .saturating_add(Weight::from_parts(61_877, 0).saturating_mul(p.into())) + // Standard Error: 791 + .saturating_add(Weight::from_parts(35_945, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) } /// Storage: `Proxy::Proxies` (r:1 w:0) @@ -73,13 +72,13 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `454 + a * (68 ±0) + p * (37 ±0)` // Estimated: `5698` - // Minimum execution time: 37_851_000 picoseconds. - Weight::from_parts(39_319_657, 0) + // Minimum execution time: 29_856_000 picoseconds. + Weight::from_parts(30_328_079, 0) .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 4_941 - .saturating_add(Weight::from_parts(153_434, 0).saturating_mul(a.into())) - // Standard Error: 5_105 - .saturating_add(Weight::from_parts(31_788, 0).saturating_mul(p.into())) + // Standard Error: 1_750 + .saturating_add(Weight::from_parts(144_572, 0).saturating_mul(a.into())) + // Standard Error: 1_808 + .saturating_add(Weight::from_parts(38_250, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -89,15 +88,17 @@ impl pallet_proxy::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// The range of component `a` is `[0, 31]`. /// The range of component `p` is `[1, 31]`. - fn remove_announcement(a: u32, _p: u32, ) -> Weight { + fn remove_announcement(a: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `369 + a * (68 ±0)` // Estimated: `5698` - // Minimum execution time: 24_744_000 picoseconds. - Weight::from_parts(30_883_279, 0) + // Minimum execution time: 20_081_000 picoseconds. + Weight::from_parts(21_089_520, 0) .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 11_453 - .saturating_add(Weight::from_parts(214_529, 0).saturating_mul(a.into())) + // Standard Error: 1_298 + .saturating_add(Weight::from_parts(123_703, 0).saturating_mul(a.into())) + // Standard Error: 1_341 + .saturating_add(Weight::from_parts(3_396, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -111,13 +112,13 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `369 + a * (68 ±0)` // Estimated: `5698` - // Minimum execution time: 24_766_000 picoseconds. - Weight::from_parts(23_764_245, 0) + // Minimum execution time: 20_145_000 picoseconds. + Weight::from_parts(20_831_834, 0) .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 7_704 - .saturating_add(Weight::from_parts(219_392, 0).saturating_mul(a.into())) - // Standard Error: 7_959 - .saturating_add(Weight::from_parts(60_453, 0).saturating_mul(p.into())) + // Standard Error: 1_320 + .saturating_add(Weight::from_parts(127_781, 0).saturating_mul(a.into())) + // Standard Error: 1_364 + .saturating_add(Weight::from_parts(7_676, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -129,13 +130,17 @@ impl pallet_proxy::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// The range of component `a` is `[0, 31]`. /// The range of component `p` is `[1, 31]`. - fn announce(_a: u32, _p: u32, ) -> Weight { + fn announce(a: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `386 + a * (68 ±0) + p * (37 ±0)` // Estimated: `5698` - // Minimum execution time: 34_952_000 picoseconds. - Weight::from_parts(45_236_795, 0) + // Minimum execution time: 26_982_000 picoseconds. + Weight::from_parts(27_129_179, 0) .saturating_add(Weight::from_parts(0, 5698)) + // Standard Error: 1_741 + .saturating_add(Weight::from_parts(134_725, 0).saturating_mul(a.into())) + // Standard Error: 1_799 + .saturating_add(Weight::from_parts(30_092, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -146,11 +151,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `127 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 23_685_000 picoseconds. - Weight::from_parts(24_728_987, 0) + // Minimum execution time: 19_066_000 picoseconds. + Weight::from_parts(19_844_956, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_222 - .saturating_add(Weight::from_parts(42_922, 0).saturating_mul(p.into())) + // Standard Error: 1_052 + .saturating_add(Weight::from_parts(33_364, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -161,24 +166,26 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `127 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 24_032_000 picoseconds. - Weight::from_parts(22_009_215, 0) + // Minimum execution time: 18_969_000 picoseconds. + Weight::from_parts(19_977_938, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 35_001 - .saturating_add(Weight::from_parts(467_841, 0).saturating_mul(p.into())) + // Standard Error: 1_475 + .saturating_add(Weight::from_parts(44_031, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } /// Storage: `Proxy::Proxies` (r:1 w:1) /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) /// The range of component `p` is `[1, 31]`. - fn remove_proxies(_p: u32, ) -> Weight { + fn remove_proxies(p: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `127 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 22_608_000 picoseconds. - Weight::from_parts(33_892_516, 0) + // Minimum execution time: 17_983_000 picoseconds. + Weight::from_parts(18_853_149, 0) .saturating_add(Weight::from_parts(0, 4706)) + // Standard Error: 1_018 + .saturating_add(Weight::from_parts(38_227, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -189,11 +196,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `139` // Estimated: `4706` - // Minimum execution time: 25_101_000 picoseconds. - Weight::from_parts(26_116_823, 0) + // Minimum execution time: 20_283_000 picoseconds. + Weight::from_parts(20_994_344, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_172 - .saturating_add(Weight::from_parts(7_689, 0).saturating_mul(p.into())) + // Standard Error: 1_081 + .saturating_add(Weight::from_parts(10_219, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -204,11 +211,11 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `164 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 23_034_000 picoseconds. - Weight::from_parts(24_085_180, 0) + // Minimum execution time: 18_697_000 picoseconds. + Weight::from_parts(19_560_576, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_240 - .saturating_add(Weight::from_parts(35_331, 0).saturating_mul(p.into())) + // Standard Error: 1_012 + .saturating_add(Weight::from_parts(25_795, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/system-parachains/asset-hub-paseo/src/weights/pallet_session.rs b/system-parachains/asset-hub-paseo/src/weights/pallet_session.rs index e47beb2..eae2ade 100644 --- a/system-parachains/asset-hub-paseo/src/weights/pallet_session.rs +++ b/system-parachains/asset-hub-paseo/src/weights/pallet_session.rs @@ -13,27 +13,26 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. - //! Autogenerated weights for `pallet_session` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-03-08, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-03-10, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `p-ch-hmb-vm-vapas-002`, CPU: `Intel(R) Xeon(R) Silver 4314 CPU @ 2.40GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("runtimes/chain-specs/asset-hub-local.raw.json")`, DB CACHE: 1024 +//! HOSTNAME: `ggwpez-ref-hw`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("./asset-hub-paseo-chain-spec.json")`, DB CACHE: 1024 // Executed Command: -// ./polkadot-parachain +// ./target/production/paseo // benchmark // pallet -// --chain=runtimes/chain-specs/asset-hub-local.raw.json +// --chain=./asset-hub-paseo-chain-spec.json // --steps=50 // --repeat=20 // --pallet=pallet_session // --extrinsic=* // --wasm-execution=compiled // --heap-pages=4096 -// --output=./paseo-asset-hub-local-weights/ +// --output=./asset-hub-paseo-weights/ // --header=./file_header.txt #![cfg_attr(rustfmt, rustfmt_skip)] @@ -55,8 +54,8 @@ impl pallet_session::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `297` // Estimated: `3762` - // Minimum execution time: 18_492_000 picoseconds. - Weight::from_parts(19_128_000, 0) + // Minimum execution time: 14_817_000 picoseconds. + Weight::from_parts(15_253_000, 0) .saturating_add(Weight::from_parts(0, 3762)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -69,8 +68,8 @@ impl pallet_session::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `279` // Estimated: `3744` - // Minimum execution time: 12_895_000 picoseconds. - Weight::from_parts(13_848_000, 0) + // Minimum execution time: 10_811_000 picoseconds. + Weight::from_parts(11_155_000, 0) .saturating_add(Weight::from_parts(0, 3744)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) diff --git a/system-parachains/asset-hub-paseo/src/weights/pallet_timestamp.rs b/system-parachains/asset-hub-paseo/src/weights/pallet_timestamp.rs index e3d7bf4..eebe32b 100644 --- a/system-parachains/asset-hub-paseo/src/weights/pallet_timestamp.rs +++ b/system-parachains/asset-hub-paseo/src/weights/pallet_timestamp.rs @@ -13,27 +13,26 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. - //! Autogenerated weights for `pallet_timestamp` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-03-08, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-03-10, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `p-ch-hmb-vm-vapas-002`, CPU: `Intel(R) Xeon(R) Silver 4314 CPU @ 2.40GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("runtimes/chain-specs/asset-hub-local.raw.json")`, DB CACHE: 1024 +//! HOSTNAME: `ggwpez-ref-hw`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("./asset-hub-paseo-chain-spec.json")`, DB CACHE: 1024 // Executed Command: -// ./polkadot-parachain +// ./target/production/paseo // benchmark // pallet -// --chain=runtimes/chain-specs/asset-hub-local.raw.json +// --chain=./asset-hub-paseo-chain-spec.json // --steps=50 // --repeat=20 // --pallet=pallet_timestamp // --extrinsic=* // --wasm-execution=compiled // --heap-pages=4096 -// --output=./paseo-asset-hub-local-weights/ +// --output=./asset-hub-paseo-weights/ // --header=./file_header.txt #![cfg_attr(rustfmt, rustfmt_skip)] @@ -53,10 +52,10 @@ impl pallet_timestamp::WeightInfo for WeightInfo { /// Proof: `Aura::CurrentSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) fn set() -> Weight { // Proof Size summary in bytes: - // Measured: `86` + // Measured: `120` // Estimated: `1493` - // Minimum execution time: 7_849_000 picoseconds. - Weight::from_parts(8_447_000, 0) + // Minimum execution time: 6_603_000 picoseconds. + Weight::from_parts(7_036_000, 0) .saturating_add(Weight::from_parts(0, 1493)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -65,8 +64,8 @@ impl pallet_timestamp::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `57` // Estimated: `0` - // Minimum execution time: 3_321_000 picoseconds. - Weight::from_parts(3_460_000, 0) + // Minimum execution time: 2_753_000 picoseconds. + Weight::from_parts(2_920_000, 0) .saturating_add(Weight::from_parts(0, 0)) } } diff --git a/system-parachains/asset-hub-paseo/src/weights/pallet_uniques.rs b/system-parachains/asset-hub-paseo/src/weights/pallet_uniques.rs index 80d24a2..24fb1a1 100644 --- a/system-parachains/asset-hub-paseo/src/weights/pallet_uniques.rs +++ b/system-parachains/asset-hub-paseo/src/weights/pallet_uniques.rs @@ -13,27 +13,26 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. - //! Autogenerated weights for `pallet_uniques` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-03-08, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-03-10, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `p-ch-hmb-vm-vapas-002`, CPU: `Intel(R) Xeon(R) Silver 4314 CPU @ 2.40GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("runtimes/chain-specs/asset-hub-local.raw.json")`, DB CACHE: 1024 +//! HOSTNAME: `ggwpez-ref-hw`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("./asset-hub-paseo-chain-spec.json")`, DB CACHE: 1024 // Executed Command: -// ./polkadot-parachain +// ./target/production/paseo // benchmark // pallet -// --chain=runtimes/chain-specs/asset-hub-local.raw.json +// --chain=./asset-hub-paseo-chain-spec.json // --steps=50 // --repeat=20 // --pallet=pallet_uniques // --extrinsic=* // --wasm-execution=compiled // --heap-pages=4096 -// --output=./paseo-asset-hub-local-weights/ +// --output=./asset-hub-paseo-weights/ // --header=./file_header.txt #![cfg_attr(rustfmt, rustfmt_skip)] @@ -53,10 +52,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::ClassAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) fn create() -> Weight { // Proof Size summary in bytes: - // Measured: `182` + // Measured: `216` // Estimated: `3643` - // Minimum execution time: 30_246_000 picoseconds. - Weight::from_parts(31_176_000, 0) + // Minimum execution time: 23_704_000 picoseconds. + Weight::from_parts(24_333_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -67,10 +66,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::ClassAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) fn force_create() -> Weight { // Proof Size summary in bytes: - // Measured: `42` + // Measured: `76` // Estimated: `3643` - // Minimum execution time: 14_256_000 picoseconds. - Weight::from_parts(14_664_000, 0) + // Minimum execution time: 11_151_000 picoseconds. + Weight::from_parts(11_403_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -96,17 +95,17 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// The range of component `a` is `[0, 1000]`. fn destroy(n: u32, m: u32, a: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `257 + a * (107 ±0) + m * (56 ±0) + n * (76 ±0)` + // Measured: `291 + a * (107 ±0) + m * (56 ±0) + n * (76 ±0)` // Estimated: `3643 + a * (2647 ±0) + m * (2662 ±0) + n * (2597 ±0)` - // Minimum execution time: 3_005_621_000 picoseconds. - Weight::from_parts(3_032_649_000, 0) + // Minimum execution time: 2_677_059_000 picoseconds. + Weight::from_parts(2_710_214_000, 0) .saturating_add(Weight::from_parts(0, 3643)) - // Standard Error: 38_515 - .saturating_add(Weight::from_parts(8_554_520, 0).saturating_mul(n.into())) - // Standard Error: 38_515 - .saturating_add(Weight::from_parts(222_909, 0).saturating_mul(m.into())) - // Standard Error: 38_515 - .saturating_add(Weight::from_parts(632_876, 0).saturating_mul(a.into())) + // Standard Error: 27_644 + .saturating_add(Weight::from_parts(6_985_087, 0).saturating_mul(n.into())) + // Standard Error: 27_644 + .saturating_add(Weight::from_parts(338_802, 0).saturating_mul(m.into())) + // Standard Error: 27_644 + .saturating_add(Weight::from_parts(373_586, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(m.into()))) @@ -129,10 +128,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) fn mint() -> Weight { // Proof Size summary in bytes: - // Measured: `282` + // Measured: `316` // Estimated: `3643` - // Minimum execution time: 35_678_000 picoseconds. - Weight::from_parts(36_542_000, 0) + // Minimum execution time: 28_486_000 picoseconds. + Weight::from_parts(29_489_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -147,10 +146,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) fn burn() -> Weight { // Proof Size summary in bytes: - // Measured: `428` + // Measured: `462` // Estimated: `3643` - // Minimum execution time: 37_812_000 picoseconds. - Weight::from_parts(38_606_000, 0) + // Minimum execution time: 31_253_000 picoseconds. + Weight::from_parts(31_735_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(4)) @@ -165,10 +164,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) fn transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `428` + // Measured: `462` // Estimated: `3643` - // Minimum execution time: 27_992_000 picoseconds. - Weight::from_parts(28_237_000, 0) + // Minimum execution time: 22_566_000 picoseconds. + Weight::from_parts(23_220_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(4)) @@ -180,13 +179,13 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// The range of component `i` is `[0, 5000]`. fn redeposit(i: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `738 + i * (76 ±0)` + // Measured: `772 + i * (76 ±0)` // Estimated: `3643 + i * (2597 ±0)` - // Minimum execution time: 13_364_000 picoseconds. - Weight::from_parts(13_682_000, 0) + // Minimum execution time: 10_714_000 picoseconds. + Weight::from_parts(10_961_000, 0) .saturating_add(Weight::from_parts(0, 3643)) - // Standard Error: 26_559 - .saturating_add(Weight::from_parts(18_288_686, 0).saturating_mul(i.into())) + // Standard Error: 17_427 + .saturating_add(Weight::from_parts(14_826_250, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -199,10 +198,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) fn freeze() -> Weight { // Proof Size summary in bytes: - // Measured: `428` + // Measured: `462` // Estimated: `3643` - // Minimum execution time: 18_316_000 picoseconds. - Weight::from_parts(19_069_000, 0) + // Minimum execution time: 14_331_000 picoseconds. + Weight::from_parts(14_913_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -213,10 +212,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) fn thaw() -> Weight { // Proof Size summary in bytes: - // Measured: `428` + // Measured: `462` // Estimated: `3643` - // Minimum execution time: 17_994_000 picoseconds. - Weight::from_parts(18_505_000, 0) + // Minimum execution time: 14_342_000 picoseconds. + Weight::from_parts(14_941_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -225,10 +224,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) fn freeze_collection() -> Weight { // Proof Size summary in bytes: - // Measured: `282` + // Measured: `316` // Estimated: `3643` - // Minimum execution time: 12_151_000 picoseconds. - Weight::from_parts(12_628_000, 0) + // Minimum execution time: 9_561_000 picoseconds. + Weight::from_parts(9_958_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -237,10 +236,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) fn thaw_collection() -> Weight { // Proof Size summary in bytes: - // Measured: `282` + // Measured: `316` // Estimated: `3643` - // Minimum execution time: 12_163_000 picoseconds. - Weight::from_parts(12_746_000, 0) + // Minimum execution time: 9_368_000 picoseconds. + Weight::from_parts(9_818_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -249,26 +248,28 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::OwnershipAcceptance` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) /// Storage: `Uniques::Class` (r:1 w:1) /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// Storage: `Uniques::ClassAccount` (r:0 w:2) /// Proof: `Uniques::ClassAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) fn transfer_ownership() -> Weight { // Proof Size summary in bytes: - // Measured: `356` + // Measured: `564` // Estimated: `3643` - // Minimum execution time: 21_832_000 picoseconds. - Weight::from_parts(22_617_000, 0) + // Minimum execution time: 21_722_000 picoseconds. + Weight::from_parts(22_263_000, 0) .saturating_add(Weight::from_parts(0, 3643)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(4)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(5)) } /// Storage: `Uniques::Class` (r:1 w:1) /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) fn set_team() -> Weight { // Proof Size summary in bytes: - // Measured: `282` + // Measured: `316` // Estimated: `3643` - // Minimum execution time: 12_500_000 picoseconds. - Weight::from_parts(12_879_000, 0) + // Minimum execution time: 9_761_000 picoseconds. + Weight::from_parts(10_121_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -279,10 +280,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::ClassAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) fn force_item_status() -> Weight { // Proof Size summary in bytes: - // Measured: `282` + // Measured: `316` // Estimated: `3643` - // Minimum execution time: 16_290_000 picoseconds. - Weight::from_parts(16_980_000, 0) + // Minimum execution time: 13_129_000 picoseconds. + Weight::from_parts(14_384_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -295,10 +296,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Attribute` (`max_values`: None, `max_size`: Some(172), added: 2647, mode: `MaxEncodedLen`) fn set_attribute() -> Weight { // Proof Size summary in bytes: - // Measured: `559` + // Measured: `593` // Estimated: `3652` - // Minimum execution time: 39_711_000 picoseconds. - Weight::from_parts(41_184_000, 0) + // Minimum execution time: 31_692_000 picoseconds. + Weight::from_parts(33_025_000, 0) .saturating_add(Weight::from_parts(0, 3652)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -311,10 +312,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Attribute` (`max_values`: None, `max_size`: Some(172), added: 2647, mode: `MaxEncodedLen`) fn clear_attribute() -> Weight { // Proof Size summary in bytes: - // Measured: `756` + // Measured: `790` // Estimated: `3652` - // Minimum execution time: 38_260_000 picoseconds. - Weight::from_parts(39_874_000, 0) + // Minimum execution time: 31_037_000 picoseconds. + Weight::from_parts(31_877_000, 0) .saturating_add(Weight::from_parts(0, 3652)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -325,10 +326,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`) fn set_metadata() -> Weight { // Proof Size summary in bytes: - // Measured: `348` + // Measured: `382` // Estimated: `3652` - // Minimum execution time: 28_989_000 picoseconds. - Weight::from_parts(29_849_000, 0) + // Minimum execution time: 23_040_000 picoseconds. + Weight::from_parts(23_687_000, 0) .saturating_add(Weight::from_parts(0, 3652)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -339,10 +340,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`) fn clear_metadata() -> Weight { // Proof Size summary in bytes: - // Measured: `559` + // Measured: `593` // Estimated: `3652` - // Minimum execution time: 29_932_000 picoseconds. - Weight::from_parts(30_680_000, 0) + // Minimum execution time: 24_057_000 picoseconds. + Weight::from_parts(25_100_000, 0) .saturating_add(Weight::from_parts(0, 3652)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -353,10 +354,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::ClassMetadataOf` (`max_values`: None, `max_size`: Some(167), added: 2642, mode: `MaxEncodedLen`) fn set_collection_metadata() -> Weight { // Proof Size summary in bytes: - // Measured: `282` + // Measured: `316` // Estimated: `3643` - // Minimum execution time: 30_128_000 picoseconds. - Weight::from_parts(30_849_000, 0) + // Minimum execution time: 23_988_000 picoseconds. + Weight::from_parts(24_506_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -367,10 +368,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::ClassMetadataOf` (`max_values`: None, `max_size`: Some(167), added: 2642, mode: `MaxEncodedLen`) fn clear_collection_metadata() -> Weight { // Proof Size summary in bytes: - // Measured: `473` + // Measured: `507` // Estimated: `3643` - // Minimum execution time: 29_263_000 picoseconds. - Weight::from_parts(29_587_000, 0) + // Minimum execution time: 23_334_000 picoseconds. + Weight::from_parts(23_574_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -381,10 +382,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) fn approve_transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `428` + // Measured: `462` // Estimated: `3643` - // Minimum execution time: 18_976_000 picoseconds. - Weight::from_parts(19_700_000, 0) + // Minimum execution time: 14_964_000 picoseconds. + Weight::from_parts(15_697_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -395,10 +396,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) fn cancel_approval() -> Weight { // Proof Size summary in bytes: - // Measured: `461` + // Measured: `495` // Estimated: `3643` - // Minimum execution time: 18_667_000 picoseconds. - Weight::from_parts(20_634_000, 0) + // Minimum execution time: 15_149_000 picoseconds. + Weight::from_parts(15_500_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -407,10 +408,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::OwnershipAcceptance` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) fn set_accept_ownership() -> Weight { // Proof Size summary in bytes: - // Measured: `42` + // Measured: `76` // Estimated: `3517` - // Minimum execution time: 13_529_000 picoseconds. - Weight::from_parts(13_878_000, 0) + // Minimum execution time: 10_922_000 picoseconds. + Weight::from_parts(11_447_000, 0) .saturating_add(Weight::from_parts(0, 3517)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -421,10 +422,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) fn set_collection_max_supply() -> Weight { // Proof Size summary in bytes: - // Measured: `282` + // Measured: `316` // Estimated: `3643` - // Minimum execution time: 15_187_000 picoseconds. - Weight::from_parts(15_694_000, 0) + // Minimum execution time: 11_723_000 picoseconds. + Weight::from_parts(12_264_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -435,10 +436,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) fn set_price() -> Weight { // Proof Size summary in bytes: - // Measured: `259` + // Measured: `293` // Estimated: `3587` - // Minimum execution time: 15_242_000 picoseconds. - Weight::from_parts(15_614_000, 0) + // Minimum execution time: 12_146_000 picoseconds. + Weight::from_parts(12_497_000, 0) .saturating_add(Weight::from_parts(0, 3587)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -453,10 +454,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) fn buy_item() -> Weight { // Proof Size summary in bytes: - // Measured: `540` + // Measured: `574` // Estimated: `3643` - // Minimum execution time: 36_175_000 picoseconds. - Weight::from_parts(36_978_000, 0) + // Minimum execution time: 29_775_000 picoseconds. + Weight::from_parts(30_186_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(4)) diff --git a/system-parachains/asset-hub-paseo/src/weights/pallet_utility.rs b/system-parachains/asset-hub-paseo/src/weights/pallet_utility.rs index 2f24b34..cacc8c5 100644 --- a/system-parachains/asset-hub-paseo/src/weights/pallet_utility.rs +++ b/system-parachains/asset-hub-paseo/src/weights/pallet_utility.rs @@ -13,27 +13,26 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. - //! Autogenerated weights for `pallet_utility` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-03-08, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-03-10, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `p-ch-hmb-vm-vapas-002`, CPU: `Intel(R) Xeon(R) Silver 4314 CPU @ 2.40GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("runtimes/chain-specs/asset-hub-local.raw.json")`, DB CACHE: 1024 +//! HOSTNAME: `ggwpez-ref-hw`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("./asset-hub-paseo-chain-spec.json")`, DB CACHE: 1024 // Executed Command: -// ./polkadot-parachain +// ./target/production/paseo // benchmark // pallet -// --chain=runtimes/chain-specs/asset-hub-local.raw.json +// --chain=./asset-hub-paseo-chain-spec.json // --steps=50 // --repeat=20 // --pallet=pallet_utility // --extrinsic=* // --wasm-execution=compiled // --heap-pages=4096 -// --output=./paseo-asset-hub-local-weights/ +// --output=./asset-hub-paseo-weights/ // --header=./file_header.txt #![cfg_attr(rustfmt, rustfmt_skip)] @@ -52,18 +51,18 @@ impl pallet_utility::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_552_000 picoseconds. - Weight::from_parts(5_786_000, 0) + // Minimum execution time: 3_923_000 picoseconds. + Weight::from_parts(4_063_000, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 5_521 - .saturating_add(Weight::from_parts(5_465_951, 0).saturating_mul(c.into())) + // Standard Error: 1_643 + .saturating_add(Weight::from_parts(3_793_591, 0).saturating_mul(c.into())) } fn as_derivative() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_841_000 picoseconds. - Weight::from_parts(6_337_000, 0) + // Minimum execution time: 3_921_000 picoseconds. + Weight::from_parts(4_221_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// The range of component `c` is `[0, 1000]`. @@ -71,18 +70,18 @@ impl pallet_utility::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_704_000 picoseconds. - Weight::from_parts(25_258_287, 0) + // Minimum execution time: 3_960_000 picoseconds. + Weight::from_parts(4_036_000, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 14_526 - .saturating_add(Weight::from_parts(5_886_618, 0).saturating_mul(c.into())) + // Standard Error: 1_636 + .saturating_add(Weight::from_parts(3_997_463, 0).saturating_mul(c.into())) } fn dispatch_as() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 8_371_000 picoseconds. - Weight::from_parts(8_733_000, 0) + // Minimum execution time: 5_850_000 picoseconds. + Weight::from_parts(6_242_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// The range of component `c` is `[0, 1000]`. @@ -90,10 +89,10 @@ impl pallet_utility::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_648_000 picoseconds. - Weight::from_parts(5_764_000, 0) + // Minimum execution time: 3_945_000 picoseconds. + Weight::from_parts(4_142_000, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 13_400 - .saturating_add(Weight::from_parts(5_502_203, 0).saturating_mul(c.into())) + // Standard Error: 1_604 + .saturating_add(Weight::from_parts(3_793_014, 0).saturating_mul(c.into())) } } diff --git a/system-parachains/asset-hub-paseo/src/weights/pallet_vesting.rs b/system-parachains/asset-hub-paseo/src/weights/pallet_vesting.rs index 598bc88..b647387 100644 --- a/system-parachains/asset-hub-paseo/src/weights/pallet_vesting.rs +++ b/system-parachains/asset-hub-paseo/src/weights/pallet_vesting.rs @@ -258,4 +258,4 @@ impl pallet_vesting::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } -} \ No newline at end of file +} diff --git a/system-parachains/asset-hub-paseo/src/weights/pallet_xcm_bridge_hub_router.rs b/system-parachains/asset-hub-paseo/src/weights/pallet_xcm_bridge_hub_router.rs new file mode 100644 index 0000000..1591f52 --- /dev/null +++ b/system-parachains/asset-hub-paseo/src/weights/pallet_xcm_bridge_hub_router.rs @@ -0,0 +1,124 @@ +// Copyright (C) Parity Technologies and the various Polkadot contributors, see Contributions.md +// for a list of specific contributors. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +//! Autogenerated weights for `pallet_xcm_bridge_hub_router` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2024-03-10, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `ggwpez-ref-hw`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("./asset-hub-polkadot-chain-spec.json")`, DB CACHE: 1024 + +// Executed Command: +// ./target/production/polkadot +// benchmark +// pallet +// --chain=./asset-hub-polkadot-chain-spec.json +// --steps=50 +// --repeat=20 +// --pallet=pallet_xcm_bridge_hub_router +// --extrinsic=* +// --wasm-execution=compiled +// --heap-pages=4096 +// --output=./asset-hub-polkadot-weights/ +// --header=./file_header.txt + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::Weight}; +use core::marker::PhantomData; + +/// Weight functions for `pallet_xcm_bridge_hub_router`. +pub struct WeightInfo(PhantomData); +impl pallet_xcm_bridge_hub_router::WeightInfo for WeightInfo { + /// Storage: `XcmpQueue::InboundXcmpSuspended` (r:1 w:0) + /// Proof: `XcmpQueue::InboundXcmpSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:0) + /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ToKusamaXcmRouter::Bridge` (r:1 w:1) + /// Proof: `ToKusamaXcmRouter::Bridge` (`max_values`: Some(1), `max_size`: Some(17), added: 512, mode: `MaxEncodedLen`) + fn on_initialize_when_non_congested() -> Weight { + // Proof Size summary in bytes: + // Measured: `193` + // Estimated: `1678` + // Minimum execution time: 8_239_000 picoseconds. + Weight::from_parts(8_568_000, 0) + .saturating_add(Weight::from_parts(0, 1678)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `XcmpQueue::InboundXcmpSuspended` (r:1 w:0) + /// Proof: `XcmpQueue::InboundXcmpSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:0) + /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn on_initialize_when_congested() -> Weight { + // Proof Size summary in bytes: + // Measured: `111` + // Estimated: `1596` + // Minimum execution time: 4_223_000 picoseconds. + Weight::from_parts(4_347_000, 0) + .saturating_add(Weight::from_parts(0, 1596)) + .saturating_add(T::DbWeight::get().reads(2)) + } + /// Storage: `ToKusamaXcmRouter::Bridge` (r:1 w:1) + /// Proof: `ToKusamaXcmRouter::Bridge` (`max_values`: Some(1), `max_size`: Some(17), added: 512, mode: `MaxEncodedLen`) + fn report_bridge_status() -> Weight { + // Proof Size summary in bytes: + // Measured: `117` + // Estimated: `1502` + // Minimum execution time: 9_820_000 picoseconds. + Weight::from_parts(10_442_000, 0) + .saturating_add(Weight::from_parts(0, 1502)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `PolkadotXcm::SupportedVersion` (r:2 w:0) + /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) + /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: UNKNOWN KEY `0x3302afcb67e838a3f960251b417b9a4f` (r:1 w:0) + /// Proof: UNKNOWN KEY `0x3302afcb67e838a3f960251b417b9a4f` (r:1 w:0) + /// Storage: UNKNOWN KEY `0x0973fe64c85043ba1c965cbc38eb63c7` (r:1 w:0) + /// Proof: UNKNOWN KEY `0x0973fe64c85043ba1c965cbc38eb63c7` (r:1 w:0) + /// Storage: `ToKusamaXcmRouter::Bridge` (r:1 w:1) + /// Proof: `ToKusamaXcmRouter::Bridge` (`max_values`: Some(1), `max_size`: Some(17), added: 512, mode: `MaxEncodedLen`) + /// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0) + /// Proof: `XcmpQueue::DeliveryFeeFactor` (`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::RelevantMessagingState` (r:1 w:0) + /// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1) + /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `XcmpQueue::InboundXcmpSuspended` (r:1 w:0) + /// Proof: `XcmpQueue::InboundXcmpSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1) + /// Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn send_message() -> Weight { + // Proof Size summary in bytes: + // Measured: `416` + // Estimated: `6356` + // Minimum execution time: 47_197_000 picoseconds. + Weight::from_parts(49_357_000, 0) + .saturating_add(Weight::from_parts(0, 6356)) + .saturating_add(T::DbWeight::get().reads(12)) + .saturating_add(T::DbWeight::get().writes(4)) + } +} diff --git a/system-parachains/asset-hub-paseo/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs b/system-parachains/asset-hub-paseo/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs index 2d23dec..d53fd58 100644 --- a/system-parachains/asset-hub-paseo/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs +++ b/system-parachains/asset-hub-paseo/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs @@ -13,27 +13,26 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. - //! Autogenerated weights for `pallet_xcm_benchmarks::fungible` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-03-08, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-03-10, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `p-ch-hmb-vm-vapas-002`, CPU: `Intel(R) Xeon(R) Silver 4314 CPU @ 2.40GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("runtimes/chain-specs/asset-hub-local.raw.json")`, DB CACHE: 1024 +//! HOSTNAME: `ggwpez-ref-hw`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("./asset-hub-paseo-chain-spec.json")`, DB CACHE: 1024 // Executed Command: -// ./polkadot-parachain +// ./target/production/paseo // benchmark // pallet -// --chain=runtimes/chain-specs/asset-hub-local.raw.json +// --chain=./asset-hub-paseo-chain-spec.json // --steps=50 // --repeat=20 // --pallet=pallet_xcm_benchmarks::fungible // --extrinsic=* // --wasm-execution=compiled // --heap-pages=4096 -// --output=./paseo-asset-hub-local-weights/xcm/pallet_xcm_benchmarks_fungible.rs +// --output=./asset-hub-paseo-weights/xcm/pallet_xcm_benchmarks_fungible.rs // --header=./file_header.txt #![cfg_attr(rustfmt, rustfmt_skip)] @@ -53,8 +52,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `101` // Estimated: `3593` - // Minimum execution time: 70_410_000 picoseconds. - Weight::from_parts(84_407_000, 0) + // Minimum execution time: 34_468_000 picoseconds. + Weight::from_parts(35_027_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -65,8 +64,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `153` // Estimated: `6196` - // Minimum execution time: 56_301_000 picoseconds. - Weight::from_parts(80_450_000, 0) + // Minimum execution time: 38_652_000 picoseconds. + Weight::from_parts(39_368_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -91,21 +90,22 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `228` // Estimated: `8799` - // Minimum execution time: 107_784_000 picoseconds. - Weight::from_parts(126_285_000, 0) + // Minimum execution time: 89_779_000 picoseconds. + Weight::from_parts(91_325_000, 0) .saturating_add(Weight::from_parts(0, 8799)) .saturating_add(T::DbWeight::get().reads(10)) .saturating_add(T::DbWeight::get().writes(5)) } - /// Storage: `Benchmark::Override` (r:0 w:0) - /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) + /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) pub(crate) fn reserve_asset_deposited() -> Weight { // Proof Size summary in bytes: // Measured: `0` - // Estimated: `0` - // Minimum execution time: 4_860_700 picoseconds. - Weight::from_parts(4_860_700, 0) - .saturating_add(Weight::from_parts(0, 0)) + // Estimated: `1489` + // Minimum execution time: 3_658_000 picoseconds. + Weight::from_parts(3_739_000, 0) + .saturating_add(Weight::from_parts(0, 1489)) + .saturating_add(T::DbWeight::get().reads(1)) } /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) @@ -127,8 +127,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `176` // Estimated: `6196` - // Minimum execution time: 247_911_000 picoseconds. - Weight::from_parts(266_827_000, 0) + // Minimum execution time: 88_867_000 picoseconds. + Weight::from_parts(90_298_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(4)) @@ -137,8 +137,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 4_594_000 picoseconds. - Weight::from_parts(5_091_000, 0) + // Minimum execution time: 3_349_000 picoseconds. + Weight::from_parts(3_471_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: `System::Account` (r:1 w:1) @@ -147,12 +147,14 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `52` // Estimated: `3593` - // Minimum execution time: 38_329_000 picoseconds. - Weight::from_parts(42_150_000, 0) + // Minimum execution time: 27_915_000 picoseconds. + Weight::from_parts(28_361_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(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: `ParachainSystem::UpwardDeliveryFeeFactor` (r:1 w:0) /// Proof: `ParachainSystem::UpwardDeliveryFeeFactor` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0) @@ -163,8 +165,6 @@ impl WeightInfo { /// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `System::Account` (r:2 w:2) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) - /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) /// 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) @@ -173,8 +173,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `127` // Estimated: `6196` - // Minimum execution time: 178_335_000 picoseconds. - Weight::from_parts(185_290_000, 0) + // Minimum execution time: 76_065_000 picoseconds. + Weight::from_parts(78_121_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(4)) @@ -199,8 +199,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `75` // Estimated: `3593` - // Minimum execution time: 66_314_000 picoseconds. - Weight::from_parts(68_619_000, 0) + // Minimum execution time: 45_557_000 picoseconds. + Weight::from_parts(46_640_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().writes(3)) diff --git a/system-parachains/asset-hub-paseo/src/weights/xcm/pallet_xcm_benchmarks_generic.rs b/system-parachains/asset-hub-paseo/src/weights/xcm/pallet_xcm_benchmarks_generic.rs index f4ac8cf..cf3250d 100644 --- a/system-parachains/asset-hub-paseo/src/weights/xcm/pallet_xcm_benchmarks_generic.rs +++ b/system-parachains/asset-hub-paseo/src/weights/xcm/pallet_xcm_benchmarks_generic.rs @@ -13,27 +13,26 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. - //! Autogenerated weights for `pallet_xcm_benchmarks::generic` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-03-08, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-03-10, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `p-ch-hmb-vm-vapas-002`, CPU: `Intel(R) Xeon(R) Silver 4314 CPU @ 2.40GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("runtimes/chain-specs/asset-hub-local.raw.json")`, DB CACHE: 1024 +//! HOSTNAME: `ggwpez-ref-hw`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("./asset-hub-paseo-chain-spec.json")`, DB CACHE: 1024 // Executed Command: -// ./polkadot-parachain +// ./target/production/paseo // benchmark // pallet -// --chain=runtimes/chain-specs/asset-hub-local.raw.json +// --chain=./asset-hub-paseo-chain-spec.json // --steps=50 // --repeat=20 // --pallet=pallet_xcm_benchmarks::generic // --extrinsic=* // --wasm-execution=compiled // --heap-pages=4096 -// --output=./paseo-asset-hub-local-weights/xcm/pallet_xcm_benchmarks_generic.rs +// --output=./asset-hub-paseo-weights/xcm/pallet_xcm_benchmarks_generic.rs // --header=./file_header.txt #![cfg_attr(rustfmt, rustfmt_skip)] @@ -67,8 +66,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `176` // Estimated: `6196` - // Minimum execution time: 521_910_000 picoseconds. - Weight::from_parts(531_741_000, 0) + // Minimum execution time: 132_459_000 picoseconds. + Weight::from_parts(136_816_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(4)) @@ -77,8 +76,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_805_000 picoseconds. - Weight::from_parts(3_902_000, 0) + // Minimum execution time: 5_526_000 picoseconds. + Weight::from_parts(5_829_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: `PolkadotXcm::Queries` (r:1 w:0) @@ -87,8 +86,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `69` // Estimated: `3534` - // Minimum execution time: 11_221_000 picoseconds. - Weight::from_parts(11_702_000, 0) + // Minimum execution time: 8_246_000 picoseconds. + Weight::from_parts(8_535_000, 0) .saturating_add(Weight::from_parts(0, 3534)) .saturating_add(T::DbWeight::get().reads(1)) } @@ -96,56 +95,56 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 11_815_000 picoseconds. - Weight::from_parts(12_254_000, 0) + // Minimum execution time: 8_084_000 picoseconds. + Weight::from_parts(8_608_000, 0) .saturating_add(Weight::from_parts(0, 0)) } pub(crate) fn refund_surplus() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 43_714_000 picoseconds. - Weight::from_parts(43_892_000, 0) + // Minimum execution time: 7_431_000 picoseconds. + Weight::from_parts(7_772_000, 0) .saturating_add(Weight::from_parts(0, 0)) } pub(crate) fn set_error_handler() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_381_000 picoseconds. - Weight::from_parts(2_560_000, 0) + // Minimum execution time: 1_806_000 picoseconds. + Weight::from_parts(1_900_000, 0) .saturating_add(Weight::from_parts(0, 0)) } pub(crate) fn set_appendix() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_472_000 picoseconds. - Weight::from_parts(2_614_000, 0) + // Minimum execution time: 1_737_000 picoseconds. + Weight::from_parts(1_809_000, 0) .saturating_add(Weight::from_parts(0, 0)) } pub(crate) fn clear_error() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_412_000 picoseconds. - Weight::from_parts(2_505_000, 0) + // Minimum execution time: 1_719_000 picoseconds. + Weight::from_parts(1_788_000, 0) .saturating_add(Weight::from_parts(0, 0)) } pub(crate) fn descend_origin() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_426_000 picoseconds. - Weight::from_parts(3_513_000, 0) + // Minimum execution time: 1_831_000 picoseconds. + Weight::from_parts(1_917_000, 0) .saturating_add(Weight::from_parts(0, 0)) } pub(crate) fn clear_origin() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_458_000 picoseconds. - Weight::from_parts(2_538_000, 0) + // Minimum execution time: 1_750_000 picoseconds. + Weight::from_parts(1_843_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) @@ -168,8 +167,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `176` // Estimated: `6196` - // Minimum execution time: 63_825_000 picoseconds. - Weight::from_parts(65_268_000, 0) + // Minimum execution time: 55_963_000 picoseconds. + Weight::from_parts(57_601_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(4)) @@ -180,8 +179,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `126` // Estimated: `3591` - // Minimum execution time: 15_456_000 picoseconds. - Weight::from_parts(15_746_000, 0) + // Minimum execution time: 11_300_000 picoseconds. + Weight::from_parts(11_616_000, 0) .saturating_add(Weight::from_parts(0, 3591)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -190,8 +189,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_417_000 picoseconds. - Weight::from_parts(2_574_000, 0) + // Minimum execution time: 1_723_000 picoseconds. + Weight::from_parts(1_829_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:1 w:1) @@ -212,8 +211,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `75` // Estimated: `3540` - // Minimum execution time: 28_414_000 picoseconds. - Weight::from_parts(28_814_000, 0) + // Minimum execution time: 22_141_000 picoseconds. + Weight::from_parts(22_657_000, 0) .saturating_add(Weight::from_parts(0, 3540)) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(3)) @@ -224,8 +223,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 4_526_000 picoseconds. - Weight::from_parts(4_678_000, 0) + // Minimum execution time: 3_473_000 picoseconds. + Weight::from_parts(3_618_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -233,40 +232,40 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 156_429_000 picoseconds. - Weight::from_parts(156_830_000, 0) + // Minimum execution time: 24_248_000 picoseconds. + Weight::from_parts(24_688_000, 0) .saturating_add(Weight::from_parts(0, 0)) } pub(crate) fn expect_asset() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 14_360_000 picoseconds. - Weight::from_parts(14_653_000, 0) + // Minimum execution time: 11_154_000 picoseconds. + Weight::from_parts(11_443_000, 0) .saturating_add(Weight::from_parts(0, 0)) } pub(crate) fn expect_origin() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_552_000 picoseconds. - Weight::from_parts(2_656_000, 0) + // Minimum execution time: 1_725_000 picoseconds. + Weight::from_parts(1_862_000, 0) .saturating_add(Weight::from_parts(0, 0)) } pub(crate) fn expect_error() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_463_000 picoseconds. - Weight::from_parts(2_566_000, 0) + // Minimum execution time: 1_730_000 picoseconds. + Weight::from_parts(1_847_000, 0) .saturating_add(Weight::from_parts(0, 0)) } pub(crate) fn expect_transact_status() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_702_000 picoseconds. - Weight::from_parts(2_858_000, 0) + // Minimum execution time: 1_982_000 picoseconds. + Weight::from_parts(2_093_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) @@ -289,8 +288,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `176` // Estimated: `6196` - // Minimum execution time: 69_384_000 picoseconds. - Weight::from_parts(70_717_000, 0) + // Minimum execution time: 59_936_000 picoseconds. + Weight::from_parts(61_874_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(4)) @@ -299,8 +298,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_710_000 picoseconds. - Weight::from_parts(5_938_000, 0) + // Minimum execution time: 4_682_000 picoseconds. + Weight::from_parts(4_939_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) @@ -323,8 +322,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `176` // Estimated: `6196` - // Minimum execution time: 64_437_000 picoseconds. - Weight::from_parts(65_794_000, 0) + // Minimum execution time: 55_832_000 picoseconds. + Weight::from_parts(57_137_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(4)) @@ -333,50 +332,51 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_463_000 picoseconds. - Weight::from_parts(2_612_000, 0) + // Minimum execution time: 1_729_000 picoseconds. + Weight::from_parts(1_790_000, 0) .saturating_add(Weight::from_parts(0, 0)) } pub(crate) fn set_topic() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_444_000 picoseconds. - Weight::from_parts(2_607_000, 0) + // Minimum execution time: 1_712_000 picoseconds. + Weight::from_parts(1_786_000, 0) .saturating_add(Weight::from_parts(0, 0)) } pub(crate) fn clear_topic() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_487_000 picoseconds. - Weight::from_parts(2_576_000, 0) + // Minimum execution time: 1_741_000 picoseconds. + Weight::from_parts(1_838_000, 0) .saturating_add(Weight::from_parts(0, 0)) } + /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) + /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + pub(crate) fn universal_origin() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `1489` + // Minimum execution time: 3_294_000 picoseconds. + Weight::from_parts(3_415_000, 0) + .saturating_add(Weight::from_parts(0, 1489)) + .saturating_add(T::DbWeight::get().reads(1)) + } pub(crate) fn set_fees_mode() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_418_000 picoseconds. - Weight::from_parts(2_555_000, 0) + // Minimum execution time: 1_704_000 picoseconds. + Weight::from_parts(1_803_000, 0) .saturating_add(Weight::from_parts(0, 0)) } pub(crate) fn unpaid_execution() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_577_000 picoseconds. - Weight::from_parts(2_715_000, 0) + // Minimum execution time: 1_756_000 picoseconds. + Weight::from_parts(1_800_000, 0) .saturating_add(Weight::from_parts(0, 0)) } - - pub(crate) fn universal_origin() -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `1489` - // Minimum execution time: 3_294_000 picoseconds. - Weight::from_parts(3_415_000, 0) - .saturating_add(Weight::from_parts(0, 1489)) - .saturating_add(T::DbWeight::get().reads(1)) - } } diff --git a/system-parachains/asset-hub-paseo/src/xcm_config.rs b/system-parachains/asset-hub-paseo/src/xcm_config.rs index affc83a..85f56ad 100644 --- a/system-parachains/asset-hub-paseo/src/xcm_config.rs +++ b/system-parachains/asset-hub-paseo/src/xcm_config.rs @@ -14,27 +14,28 @@ // limitations under the License. use super::{ - AccountId, AllPalletsWithSystem, Assets, Authorship, Balance, Balances, ForeignAssets, - PoolAssets, ParachainInfo, ParachainSystem, PolkadotXcm, NativeAndAssets,PriceForParentDelivery, Runtime, RuntimeCall, - RuntimeEvent, RuntimeOrigin, TrustBackedAssetsInstance, WeightToFee, XcmpQueue, CollatorSelection, AssetConversion + AccountId, AllPalletsWithSystem, AssetConversion, Assets, Authorship, Balance, Balances, + CollatorSelection, ForeignAssets, NativeAndAssets, ParachainInfo, ParachainSystem, PolkadotXcm, + PoolAssets, PriceForParentDelivery, Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, + TrustBackedAssetsInstance, WeightToFee, XcmpQueue, }; use crate::ForeignAssetsInstance; use assets_common::{ - matching::{FromNetwork, FromSiblingParachain, IsForeignConcreteAsset}, - TrustBackedAssetsAsLocation, + matching::{FromNetwork, FromSiblingParachain, IsForeignConcreteAsset}, + TrustBackedAssetsAsLocation, }; use frame_support::{ - parameter_types, - traits::{ - tokens::imbalance::{ResolveAssetTo, ResolveTo}, - ConstU32, Contains, Equals, Everything, Nothing, PalletInfoAccess, - }, + parameter_types, + traits::{ + tokens::imbalance::{ResolveAssetTo, ResolveTo}, + ConstU32, Contains, Equals, Everything, Nothing, PalletInfoAccess, + }, }; use frame_system::EnsureRoot; use pallet_xcm::XcmPassthrough; use parachains_common::xcm_config::{ - AllSiblingSystemParachains, AssetFeeAsExistentialDepositMultiplier, ConcreteAssetFromSystem, - ParentRelayOrSiblingParachains, RelayOrOtherSystemParachains, + AllSiblingSystemParachains, AssetFeeAsExistentialDepositMultiplier, ConcreteAssetFromSystem, + ParentRelayOrSiblingParachains, RelayOrOtherSystemParachains, }; use polkadot_parachain_primitives::primitives::Sibling; use paseo_runtime_constants::system_parachain; @@ -44,14 +45,14 @@ use system_parachains_constants::TREASURY_PALLET_ID; use xcm::latest::prelude::*; use xcm_builder::{ AccountId32Aliases, AllowExplicitUnpaidExecutionFrom, AllowKnownQueryResponses, - AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, - DenyReserveTransferToRelayChain, DenyThenTry, DescribeAllTerminal, DescribeFamily, - EnsureXcmOrigin, FrameTransactionalProcessor, FungiblesAdapter, GlobalConsensusParachainConvertsFor, HashedDescription, IsConcrete, - LocalMint, NoChecking, ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, FungibleAdapter, - SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, SovereignPaidRemoteExporter, - SignedToAccountId32, SovereignSignedViaLocation, StartsWith, StartsWithExplicitGlobalConsensus, - TakeWeightCredit, TrailingSetTopicAsId, UsingComponents, WeightInfoBounds, WithComputedOrigin, - WithUniqueTopic, XcmFeeManagerFromComponents, + AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, DenyReserveTransferToRelayChain, + DenyThenTry, DescribeAllTerminal, DescribeFamily, EnsureXcmOrigin, FrameTransactionalProcessor, + FungibleAdapter, FungiblesAdapter, GlobalConsensusParachainConvertsFor, HashedDescription, + IsConcrete, LocalMint, NoChecking, ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, + SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, + SignedToAccountId32, SovereignPaidRemoteExporter, SovereignSignedViaLocation, StartsWith, + StartsWithExplicitGlobalConsensus, TakeWeightCredit, TrailingSetTopicAsId, UsingComponents, + WeightInfoBounds, WithComputedOrigin, WithUniqueTopic, XcmFeeManagerFromComponents, XcmFeeToAccount, }; use xcm_executor::{traits::ConvertLocation, XcmExecutor}; @@ -70,13 +71,15 @@ parameter_types! { pub TrustBackedAssetsPalletLocationV3: xcm::v3::Location = xcm::v3::Junction::PalletInstance(TrustBackedAssetsPalletIndex::get()).into(); pub CheckingAccount: AccountId = PolkadotXcm::check_account(); - pub FellowshipLocation: Location = Location::new(1, Parachain(1001)); + pub FellowshipLocation: Location = Location::new(1, Parachain(system_parachain::COLLECTIVES_ID)); pub const GovernanceLocation: Location = Location::parent(); pub RelayTreasuryLocation: Location = (Parent, PalletInstance(paseo_runtime_constants::TREASURY_PALLET_ID)).into(); + pub TreasuryAccount: AccountId = TREASURY_PALLET_ID.into_account_truncating(); pub PoolAssetsPalletLocation: Location = PalletInstance(::index() as u8).into(); - pub TreasuryAccount: AccountId = TREASURY_PALLET_ID.into_account_truncating(); pub StakingPot: AccountId = CollatorSelection::account_id(); + // Test [`crate::tests::treasury_pallet_account_not_none`] ensures that the result of location + // conversion is not `None`. pub RelayTreasuryPalletAccount: AccountId = LocationToAccountId::convert_location(&RelayTreasuryLocation::get()) .unwrap_or(TreasuryAccount::get()); @@ -122,76 +125,76 @@ pub type TrustBackedAssetsConvertedConcreteId = /// Means for transacting assets besides the native currency on this chain. pub type FungiblesTransactor = FungiblesAdapter< - // Use this fungibles implementation: - Assets, - // Use this currency when it is a fungible asset matching the given location or name: - TrustBackedAssetsConvertedConcreteId, - // Convert an XCM `Location` into a local account ID: - LocationToAccountId, - // Our chain's account ID type (we can't get away without mentioning it explicitly): - AccountId, - // We only want to allow teleports of known assets. We use non-zero issuance as an indication - // that this asset is known. - LocalMint>, - // The account to use for tracking teleports. - CheckingAccount, + // Use this fungibles implementation: + Assets, + // Use this currency when it is a fungible asset matching the given location or name: + TrustBackedAssetsConvertedConcreteId, + // Convert an XCM `Location` into a local account ID: + LocationToAccountId, + // Our chain's account ID type (we can't get away without mentioning it explicitly): + AccountId, + // We only want to allow teleports of known assets. We use non-zero issuance as an indication + // that this asset is known. + LocalMint>, + // The account to use for tracking teleports. + CheckingAccount, >; /// `AssetId`/`Balance` converter for `ForeignAssets` pub type ForeignAssetsConvertedConcreteId = assets_common::ForeignAssetsConvertedConcreteId< - ( - // Ignore `TrustBackedAssets` explicitly - StartsWith, - // Ignore assets that start explicitly with our `GlobalConsensus(NetworkId)`, means: - // - foreign assets from our consensus should be: `Location {parents: 1, X*(Parachain(xyz), - // ..)}` - // - foreign assets outside our consensus with the same `GlobalConsensus(NetworkId)` won't - // be accepted here - StartsWithExplicitGlobalConsensus, - ), - Balance, + ( + // Ignore `TrustBackedAssets` explicitly + StartsWith, + // Ignore assets that start explicitly with our `GlobalConsensus(NetworkId)`, means: + // - foreign assets from our consensus should be: `Location {parents: 1, X*(Parachain(xyz), + // ..)}` + // - foreign assets outside our consensus with the same `GlobalConsensus(NetworkId)` won't + // be accepted here + StartsWithExplicitGlobalConsensus, + ), + Balance, >; /// Means for transacting foreign assets from different global consensus. pub type ForeignFungiblesTransactor = FungiblesAdapter< - // Use this fungibles implementation: - ForeignAssets, - // Use this currency when it is a fungible asset matching the given location or name: - ForeignAssetsConvertedConcreteId, - // Convert an XCM `Location` into a local account ID: - LocationToAccountId, - // Our chain's account ID type (we can't get away without mentioning it explicitly): - AccountId, - // We dont need to check teleports here. - NoChecking, - // The account to use for tracking teleports. - CheckingAccount, + // Use this fungibles implementation: + ForeignAssets, + // Use this currency when it is a fungible asset matching the given location or name: + ForeignAssetsConvertedConcreteId, + // Convert an XCM `Location` into a local account ID: + LocationToAccountId, + // Our chain's account ID type (we can't get away without mentioning it explicitly): + AccountId, + // We dont need to check teleports here. + NoChecking, + // The account to use for tracking teleports. + CheckingAccount, >; /// `AssetId`/`Balance` converter for `PoolAssets`. pub type PoolAssetsConvertedConcreteId = -assets_common::PoolAssetsConvertedConcreteId; + assets_common::PoolAssetsConvertedConcreteId; /// Means for transacting asset conversion pool assets on this chain. pub type PoolFungiblesTransactor = FungiblesAdapter< - // Use this fungibles implementation: - PoolAssets, - // Use this currency when it is a fungible asset matching the given location or name: - PoolAssetsConvertedConcreteId, - // Convert an XCM `Location` into a local account ID: - LocationToAccountId, - // Our chain's account ID type (we can't get away without mentioning it explicitly): - AccountId, - // We only want to allow teleports of known assets. We use non-zero issuance as an indication - // that this asset is known. - LocalMint>, - // The account to use for tracking teleports. - CheckingAccount, + // Use this fungibles implementation: + PoolAssets, + // Use this currency when it is a fungible asset matching the given location or name: + PoolAssetsConvertedConcreteId, + // Convert an XCM `Location` into a local account ID: + LocationToAccountId, + // Our chain's account ID type (we can't get away without mentioning it explicitly): + AccountId, + // We only want to allow teleports of known assets. We use non-zero issuance as an indication + // that this asset is known. + LocalMint>, + // The account to use for tracking teleports. + CheckingAccount, >; /// Means for transacting assets on this chain. pub type AssetTransactors = -(FungibleTransactor, FungiblesTransactor, ForeignFungiblesTransactor, PoolFungiblesTransactor); + (FungibleTransactor, FungiblesTransactor, ForeignFungiblesTransactor, PoolFungiblesTransactor); /// This is the type we use to convert an (incoming) XCM origin into a local `Origin` instance, /// ready for dispatching a transaction with Xcm's `Transact`. There is an `OriginKind` which can @@ -225,8 +228,8 @@ parameter_types! { pub struct FellowshipEntities; impl Contains for FellowshipEntities { - fn contains(location: &Location) -> bool { - matches!( + fn contains(location: &Location) -> bool { + matches!( location.unpack(), ( 1, @@ -248,7 +251,7 @@ impl Contains for FellowshipEntities { ] ) ) - } + } } pub struct ParentOrParentsPlurality; @@ -438,11 +441,6 @@ pub type XcmRouter = WithUniqueTopic<( >, )>; -#[cfg(feature = "runtime-benchmarks")] -parameter_types! { - pub ReachableDest: Option = Some(Parent.into()); -} - impl pallet_xcm::Config for Runtime { type RuntimeEvent = RuntimeEvent; // We want to disallow users sending (arbitrary) XCMs from this chain. @@ -472,8 +470,6 @@ impl pallet_xcm::Config for Runtime { type SovereignAccountOf = LocationToAccountId; type MaxLockers = ConstU32<8>; type WeightInfo = crate::weights::pallet_xcm::WeightInfo; - #[cfg(feature = "runtime-benchmarks")] - type ReachableDest = ReachableDest; type AdminOrigin = EnsureRoot; type MaxRemoteLockConsumers = ConstU32<0>; type RemoteLockConsumerIdentifier = (); @@ -502,10 +498,10 @@ impl pallet_assets::BenchmarkHelper for XcmBenchmarkHelper { /// All configuration related to bridging pub mod bridging { - use super::*; - use assets_common::matching; - use sp_std::collections::btree_set::BTreeSet; - use xcm_builder::NetworkExportTableItem; + use super::*; + use assets_common::matching; + use sp_std::collections::btree_set::BTreeSet; + use xcm_builder::NetworkExportTableItem; parameter_types! { pub SiblingBridgeHubParaId: u32 = bp_bridge_hub_paseo::BRIDGE_HUB_PASEO_PARACHAIN_ID; @@ -514,15 +510,16 @@ pub mod bridging { /// (`AssetId` has to be aligned with `BridgeTable`) pub XcmBridgeHubRouterFeeAssetId: AssetId = DotLocation::get().into(); } -pub mod to_ethereum { - use super::*; - pub use bp_bridge_hub_paseo::snowbridge::EthereumNetwork; - use bp_bridge_hub_paseo::snowbridge::InboundQueuePalletInstance; - parameter_types! { + pub mod to_ethereum { + use super::*; + pub use bp_bridge_hub_paseo::snowbridge::EthereumNetwork; + use bp_bridge_hub_paseo::snowbridge::InboundQueuePalletInstance; + + parameter_types! { /// User fee for transfers from Polkadot to Ethereum. - /// The fee is set to max Balance to disable the bridge until a fee is set by - /// governance. + /// The fee is set to max Balance to disable the bridge until a fee is set by + /// governance. pub const DefaultBridgeHubEthereumBaseFee: Balance = Balance::MAX; pub storage BridgeHubEthereumBaseFee: Balance = DefaultBridgeHubEthereumBaseFee::get(); pub SiblingBridgeHubWithEthereumInboundQueueInstance: Location = Location::new( @@ -534,7 +531,7 @@ pub mod to_ethereum { ); /// Set up exporters configuration. - /// `Option` represents static "base fee" which is used for total delivery fee calculation. + /// `Option` represents static "base fee" which is used for total delivery fee calculation. pub BridgeTable: sp_std::vec::Vec = sp_std::vec![ NetworkExportTableItem::new( EthereumNetwork::get(), @@ -555,40 +552,40 @@ pub mod to_ethereum { ); } - pub type IsTrustedBridgedReserveLocationForForeignAsset = - matching::IsForeignConcreteAsset>; + pub type IsTrustedBridgedReserveLocationForForeignAsset = + matching::IsForeignConcreteAsset>; - impl Contains<(Location, Junction)> for UniversalAliases { - fn contains(alias: &(Location, Junction)) -> bool { + impl Contains<(Location, Junction)> for UniversalAliases { + fn contains(alias: &(Location, Junction)) -> bool { log::trace!( target: "xcm::contains", "Contains: {:?}", alias, ); - UniversalAliases::get().contains(alias) - } - } - } - - /// Benchmarks helper for bridging configuration. - #[cfg(feature = "runtime-benchmarks")] - pub struct BridgingBenchmarksHelper; - - #[cfg(feature = "runtime-benchmarks")] - impl BridgingBenchmarksHelper { - pub fn prepare_universal_alias() -> Option<(Location, Junction)> { - let alias = - to_kusama::UniversalAliases::get().into_iter().find_map(|(location, junction)| { - match to_kusama::SiblingBridgeHubWithBridgeHubKusamaInstance::get() - .eq(&location) - { - true => Some((location, junction)), - false => None, - } - }); - Some(alias.expect("we expect here BridgeHubPolkadot to Kusama mapping at least")) - } - } + UniversalAliases::get().contains(alias) + } + } + } + + /// Benchmarks helper for bridging configuration. + #[cfg(feature = "runtime-benchmarks")] + pub struct BridgingBenchmarksHelper; + + #[cfg(feature = "runtime-benchmarks")] + impl BridgingBenchmarksHelper { + pub fn prepare_universal_alias() -> Option<(Location, Junction)> { + let alias = + to_kusama::UniversalAliases::get().into_iter().find_map(|(location, junction)| { + match to_kusama::SiblingBridgeHubWithBridgeHubKusamaInstance::get() + .eq(&location) + { + true => Some((location, junction)), + false => None, + } + }); + Some(alias.expect("we expect here BridgeHubPaseo to Kusama mapping at least")) + } + } } #[test] diff --git a/system-parachains/asset-hub-paseo/tests/tests.rs b/system-parachains/asset-hub-paseo/tests/tests.rs index bc73f90..6ff7283 100644 --- a/system-parachains/asset-hub-paseo/tests/tests.rs +++ b/system-parachains/asset-hub-paseo/tests/tests.rs @@ -19,39 +19,40 @@ use asset_hub_paseo_runtime::{ xcm_config::{ - CheckingAccount, DotLocation, - ForeignCreatorsSovereignAccountOf, + bridging::{self, XcmBridgeHubRouterFeeAssetId}, + CheckingAccount, DotLocation, ForeignCreatorsSovereignAccountOf, LocationToAccountId, + RelayTreasuryLocation, RelayTreasuryPalletAccount, StakingPot, TrustBackedAssetsPalletLocation, XcmConfig, }, - AllPalletsWithoutSystem, AssetDeposit, Assets, Balances, ExistentialDeposit, ForeignAssets, - ForeignAssetsInstance, MetadataDepositBase, MetadataDepositPerByte, ParachainSystem, Runtime, - RuntimeCall, RuntimeEvent, SessionKeys, TrustBackedAssetsInstance, + AllPalletsWithoutSystem, AssetConversion, AssetDeposit, Assets, Balances, ExistentialDeposit, + ForeignAssets, ForeignAssetsInstance, MetadataDepositBase, MetadataDepositPerByte, + ParachainSystem, PolkadotXcm, Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, SessionKeys, + TrustBackedAssetsInstance, XcmpQueue, }; -use frame_support::traits::fungibles::InspectEnumerable; -use system_parachains_constants::paseo::consensus::RELAY_CHAIN_SLOT_DURATION_MILLIS; -use codec::{Decode}; -use frame_support::{ - assert_ok, +use asset_test_utils::{ + test_cases_over_bridge::TestBridgingConfig, CollatorSessionKey, CollatorSessionKeys, ExtBuilder, }; -use xcm::latest::prelude::Assets as XcmAssets; -use frame_support::sp_runtime::traits::MaybeEquivalence; -use codec::Encode; +use codec::{Decode, Encode}; +use frame_support::{assert_ok, traits::fungibles::InspectEnumerable}; use parachains_common::{ AccountId, AssetHubPolkadotAuraId as AuraId, AssetIdForTrustBackedAssets, Balance, }; use parachains_runtimes_test_utils::SlotDurations; use sp_consensus_aura::SlotDuration; +use sp_runtime::traits::MaybeEquivalence; +use sp_std::ops::Mul; +use system_parachains_constants::SLOT_DURATION; use system_parachains_constants::paseo::fee::WeightToFee; -use xcm_executor::traits::JustTry; +use xcm::latest::prelude::{Assets as XcmAssets, *}; use xcm_builder::V4V3LocationConverter; -use system_parachains_constants::SLOT_DURATION; -use asset_test_utils::{CollatorSessionKeys, ExtBuilder, CollatorSessionKey}; +use xcm_executor::traits::{ConvertLocation, JustTry}; +use system_parachains_constants::paseo::consensus::RELAY_CHAIN_SLOT_DURATION_MILLIS; const ALICE: [u8; 32] = [1u8; 32]; const SOME_ASSET_ADMIN: [u8; 32] = [5u8; 32]; type AssetIdForTrustBackedAssetsConvertLatest = -assets_common::AssetIdForTrustBackedAssetsConvertLatest; + assets_common::AssetIdForTrustBackedAssetsConvertLatest; type RuntimeHelper = asset_test_utils::RuntimeHelper; @@ -74,6 +75,52 @@ fn slot_durations() -> SlotDurations { } } +fn setup_pool_for_paying_fees_with_foreign_assets( + (foreign_asset_owner, foreign_asset_id_location, foreign_asset_id_minimum_balance): ( + AccountId, + xcm::v3::Location, + Balance, + ), +) { + let existential_deposit = ExistentialDeposit::get(); + + // setup a pool to pay fees with `foreign_asset_id_location` tokens + let pool_owner: AccountId = [14u8; 32].into(); + let native_asset = xcm::v3::Location::parent(); + let pool_liquidity: Balance = + existential_deposit.max(foreign_asset_id_minimum_balance).mul(100_000); + + let _ = Balances::force_set_balance( + RuntimeOrigin::root(), + pool_owner.clone().into(), + (existential_deposit + pool_liquidity).mul(2), + ); + + assert_ok!(ForeignAssets::mint( + RuntimeOrigin::signed(foreign_asset_owner), + foreign_asset_id_location, + pool_owner.clone().into(), + (foreign_asset_id_minimum_balance + pool_liquidity).mul(2), + )); + + assert_ok!(AssetConversion::create_pool( + RuntimeOrigin::signed(pool_owner.clone()), + Box::new(native_asset), + Box::new(foreign_asset_id_location) + )); + + assert_ok!(AssetConversion::add_liquidity( + RuntimeOrigin::signed(pool_owner.clone()), + Box::new(native_asset), + Box::new(foreign_asset_id_location), + pool_liquidity, + pool_liquidity, + 1, + 1, + pool_owner, + )); +} + #[test] fn test_ed_is_one_hundredth_of_relay() { ExtBuilder::::default() @@ -331,3 +378,67 @@ asset_test_utils::include_create_and_manage_foreign_assets_for_local_consensus_p assert_eq!(ForeignAssets::asset_ids().collect::>().len(), 1); }) ); + +#[test] +fn reserve_transfer_native_asset_to_non_teleport_para_works() { + asset_test_utils::test_cases::reserve_transfer_native_asset_to_non_teleport_para_works::< + Runtime, + AllPalletsWithoutSystem, + XcmConfig, + ParachainSystem, + XcmpQueue, + LocationToAccountId, + >( + collator_session_keys(), + slot_durations(), + ExistentialDeposit::get(), + AccountId::from(ALICE), + Box::new(|runtime_event_encoded: Vec| { + match RuntimeEvent::decode(&mut &runtime_event_encoded[..]) { + Ok(RuntimeEvent::PolkadotXcm(event)) => Some(event), + _ => None, + } + }), + Box::new(|runtime_event_encoded: Vec| { + match RuntimeEvent::decode(&mut &runtime_event_encoded[..]) { + Ok(RuntimeEvent::XcmpQueue(event)) => Some(event), + _ => None, + } + }), + WeightLimit::Unlimited, + ); +} + +#[test] +fn treasury_pallet_account_not_none() { + assert_eq!( + RelayTreasuryPalletAccount::get(), + LocationToAccountId::convert_location(&RelayTreasuryLocation::get()).unwrap() + ) +} + +#[test] +fn change_xcm_bridge_hub_ethereum_base_fee_by_governance_works() { + asset_test_utils::test_cases::change_storage_constant_by_governance_works::< + Runtime, + bridging::to_ethereum::BridgeHubEthereumBaseFee, + Balance, + >( + collator_session_keys(), + 1000, + Box::new(|call| RuntimeCall::System(call).encode()), + || { + ( + bridging::to_ethereum::BridgeHubEthereumBaseFee::key().to_vec(), + bridging::to_ethereum::BridgeHubEthereumBaseFee::get(), + ) + }, + |old_value| { + if let Some(new_value) = old_value.checked_add(1) { + new_value + } else { + old_value.checked_sub(1).unwrap() + } + }, + ) +} diff --git a/system-parachains/constants/Cargo.toml b/system-parachains/constants/Cargo.toml index 0c4f5f3..0504618 100644 --- a/system-parachains/constants/Cargo.toml +++ b/system-parachains/constants/Cargo.toml @@ -8,17 +8,17 @@ edition.workspace = true license.workspace = true [dependencies] -smallvec = "1.8.0" +smallvec = { workspace = true } frame-support = { workspace = true } parachains-common = { workspace = true } polkadot-core-primitives = { workspace = true } -polkadot-primitives ={ workspace = true } +polkadot-primitives = { workspace = true } paseo-runtime-constants = { path = "../../relay/paseo/constants", default-features = false} sp-runtime = { workspace = true } [features] -default = [ "std" ] +default = ["std"] std = [ "frame-support/std", "parachains-common/std", diff --git a/system-parachains/constants/src/paseo.rs b/system-parachains/constants/src/paseo.rs index a352e35..f6b31d1 100644 --- a/system-parachains/constants/src/paseo.rs +++ b/system-parachains/constants/src/paseo.rs @@ -33,6 +33,8 @@ pub mod account { pub const IDENTITY_PALLET_ID: PalletId = PalletId(*b"py/ident"); /// Fellowship treasury pallet ID pub const FELLOWSHIP_TREASURY_PALLET_ID: PalletId = PalletId(*b"py/feltr"); + /// Ambassador treasury pallet ID + pub const AMBASSADOR_TREASURY_PALLET_ID: PalletId = PalletId(*b"py/ambtr"); } /// Consensus-related. @@ -86,6 +88,11 @@ pub mod fee { /// The block saturation level. Fees will be updates based on this value. pub const TARGET_BLOCK_FULLNESS: Perbill = Perbill::from_percent(25); + /// Cost of every transaction byte at Polkadot system parachains. + /// + /// It is the Relay Chain (Polkadot) `TransactionByteFee` / 10. + pub const TRANSACTION_BYTE_FEE: Balance = super::currency::MILLICENTS; + /// Handles converting a weight scalar to a fee value, based on the scale and granularity of the /// node's balance type. ///