difftreelog
fix benchmarks+try-runtime
in: master
6 files changed
node/cli/src/command.rsdiffbeforeafterboth--- a/node/cli/src/command.rs
+++ b/node/cli/src/command.rs
@@ -352,11 +352,14 @@
use frame_benchmarking_cli::{BenchmarkCmd, SUBSTRATE_REFERENCE_HARDWARE};
use polkadot_cli::Block;
+ type Header = <Block as sp_runtime::traits::Block>::Header;
+ type Hasher = <Header as sp_runtime::traits::Header>::Hashing;
+
let runner = cli.create_runner(cmd)?;
// Switch on the concrete benchmark sub-command-
match cmd {
BenchmarkCmd::Pallet(cmd) => {
- runner.sync_run(|config| cmd.run::<Block, ParachainHostFunctions>(config))
+ runner.sync_run(|config| cmd.run::<Hasher, ParachainHostFunctions>(config))
}
BenchmarkCmd::Block(cmd) => runner.sync_run(|config| {
let partials = new_partial::<
pallets/foreign-assets/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/foreign-assets/src/benchmarking.rs
+++ b/pallets/foreign-assets/src/benchmarking.rs
@@ -32,8 +32,7 @@
#[benchmark]
fn force_register_foreign_asset() -> Result<(), BenchmarkError> {
- let location =
- Location::from((Parachain(1000), PalletInstance(42), GeneralIndex(1)).into());
+ let asset_id: AssetId = (Parachain(1000), PalletInstance(42), GeneralIndex(1)).into();
let name = create_u16_data::<MAX_COLLECTION_NAME_LENGTH>();
let token_prefix = create_data::<MAX_TOKEN_PREFIX_LENGTH>();
let mode = ForeignCollectionMode::NFT;
@@ -41,7 +40,7 @@
#[extrinsic_call]
_(
RawOrigin::Root,
- Box::new(location.into()),
+ Box::new(asset_id.into()),
name,
token_prefix,
mode,
runtime/common/config/governance/fellowship.rsdiffbeforeafterboth--- a/runtime/common/config/governance/fellowship.rs
+++ b/runtime/common/config/governance/fellowship.rs
@@ -73,6 +73,9 @@
type Polls = FellowshipReferenda;
type MinRankOfClass = ClassToRankMapper<Self, ()>;
type VoteWeight = pallet_ranked_collective::Geometric;
+
+ #[cfg(feature = "runtime-benchmarks")]
+ type BenchmarkSetup = ();
}
pub struct EnsureFellowshipProposition;
runtime/common/config/xcm.rsdiffbeforeafterboth1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617use cumulus_primitives_core::{AggregateMessageOrigin, ParaId};18use frame_support::{19 parameter_types,20 traits::{21 ConstU32, EnqueueWithOrigin, Everything, Get, Nothing, ProcessMessageError, TransformOrigin,22 },23};24use frame_system::EnsureRoot;25use orml_traits::location::AbsoluteReserveProvider;26use orml_xcm_support::MultiNativeAsset;27use pallet_foreign_assets::FreeForAll;28use pallet_xcm::XcmPassthrough;29use parachains_common::message_queue::{NarrowOriginToSibling, ParaIdToSibling};30use polkadot_parachain_primitives::primitives::Sibling;31use polkadot_runtime_common::xcm_sender::NoPriceForMessageDelivery;32use sp_std::marker::PhantomData;33use staging_xcm::latest::prelude::*;34use staging_xcm_builder::{35 AccountId32Aliases, EnsureXcmOrigin, FixedWeightBounds, FrameTransactionalProcessor,36 ParentIsPreset, RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia,37 SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation,38};39use staging_xcm_executor::{40 traits::{Properties, ShouldExecute},41 XcmExecutor,42};43use up_common::{constants::MAXIMUM_BLOCK_WEIGHT, types::AccountId};4445#[cfg(feature = "governance")]46use crate::runtime_common::config::governance;47use crate::{48 runtime_common::config::parachain::RelayMsgOrigin, xcm_barrier::Barrier, AllPalletsWithSystem,49 Balances, ForeignAssets, MessageQueue, ParachainInfo, ParachainSystem, PolkadotXcm,50 RelayNetwork, Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, XcmpQueue,51};5253parameter_types! {54 pub const RelayLocation: Location = Location::parent();55 pub RelayOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into();56 pub UniversalLocation: InteriorLocation = (57 GlobalConsensus(crate::RelayNetwork::get()),58 Parachain(ParachainInfo::get().into()),59 ).into();60 pub SelfLocation: Location = Location::new(1, Parachain(ParachainInfo::get().into()));6162 // One XCM operation is 1_000_000 weight - almost certainly a conservative estimate.63 pub UnitWeightCost: Weight = Weight::from_parts(1_000_000, 1000); // ?64 pub const MaxInstructions: u32 = 100;65 pub const MessageQueueServiceWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); // TODO66}6768/// Type for specifying how a `Location` can be converted into an `AccountId`. This is used69/// when determining ownership of accounts for asset transacting and when attempting to use XCM70/// `Transact` in order to determine the dispatch Origin.71pub type LocationToAccountId = (72 // The parent (Relay-chain) origin converts to the default `AccountId`.73 ParentIsPreset<AccountId>,74 // Sibling parachain origins convert to AccountId via the `ParaId::into`.75 SiblingParachainConvertsVia<Sibling, AccountId>,76 // Straight up local `AccountId32` origins just alias directly to `AccountId`.77 AccountId32Aliases<RelayNetwork, AccountId>,78);7980/// No local origins on this chain are allowed to dispatch XCM sends/executions.81pub type LocalOriginToLocation = (SignedToAccountId32<RuntimeOrigin, AccountId, RelayNetwork>,);8283/// The means for routing XCM messages which are not for local execution into the right message84/// queues.85pub type XcmRouter = (86 // Two routers - use UMP to communicate with the relay chain:87 cumulus_primitives_utility::ParentAsUmp<ParachainSystem, PolkadotXcm, ()>,88 // ..and XCMP to communicate with the sibling chains.89 XcmpQueue,90);9192/// This is the type we use to convert an (incoming) XCM origin into a local `Origin` instance,93/// ready for dispatching a transaction with Xcm's `Transact`. There is an `OriginKind` which can94/// biases the kind of local `Origin` it will become.95pub type XcmOriginToTransactDispatchOrigin = (96 // Sovereign account converter; this attempts to derive an `AccountId` from the origin location97 // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for98 // foreign chains who want to have a local sovereign account on this chain which they control.99 SovereignSignedViaLocation<LocationToAccountId, RuntimeOrigin>,100 // Native converter for Relay-chain (Parent) location; will converts to a `Relay` origin when101 // recognised.102 RelayChainAsNative<RelayOrigin, RuntimeOrigin>,103 // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when104 // recognised.105 SiblingParachainAsNative<cumulus_pallet_xcm::Origin, RuntimeOrigin>,106 // Native signed account converter; this just converts an `AccountId32` origin into a normal107 // `Origin::Signed` origin of the same 32-byte value.108 SignedAccountId32AsNative<RelayNetwork, RuntimeOrigin>,109 // Xcm origins can be represented natively under the Xcm pallet's Xcm origin.110 XcmPassthrough<RuntimeOrigin>,111);112113pub trait TryPass {114 fn try_pass<Call>(115 origin: &Location,116 message: &mut [Instruction<Call>],117 ) -> Result<(), ProcessMessageError>;118}119120#[impl_trait_for_tuples::impl_for_tuples(30)]121impl TryPass for Tuple {122 fn try_pass<Call>(123 origin: &Location,124 message: &mut [Instruction<Call>],125 ) -> Result<(), ProcessMessageError> {126 for_tuples!( #(127 Tuple::try_pass(origin, message)?;128 )* );129130 Ok(())131 }132}133134/// Deny executing the XCM if it matches any of the Deny filter regardless of anything else.135/// If it passes the Deny, and matches one of the Allow cases then it is let through.136pub struct DenyThenTry<Deny, Allow>(PhantomData<Deny>, PhantomData<Allow>)137where138 Deny: TryPass,139 Allow: ShouldExecute;140141impl<Deny, Allow> ShouldExecute for DenyThenTry<Deny, Allow>142where143 Deny: TryPass,144 Allow: ShouldExecute,145{146 fn should_execute<Call>(147 origin: &Location,148 message: &mut [Instruction<Call>],149 max_weight: Weight,150 properties: &mut Properties,151 ) -> Result<(), ProcessMessageError> {152 Deny::try_pass(origin, message)?;153 Allow::should_execute(origin, message, max_weight, properties)154 }155}156157pub type Weigher = FixedWeightBounds<UnitWeightCost, RuntimeCall, MaxInstructions>;158159pub type IsReserve = MultiNativeAsset<AbsoluteReserveProvider>;160161pub type Trader = FreeForAll;162163pub struct XcmExecutorConfig<T>(PhantomData<T>);164impl<T> staging_xcm_executor::Config for XcmExecutorConfig<T>165where166 T: pallet_configuration::Config,167{168 type RuntimeCall = RuntimeCall;169 type XcmSender = XcmRouter;170 // How to withdraw and deposit an asset.171 type AssetTransactor = ForeignAssets;172 type OriginConverter = XcmOriginToTransactDispatchOrigin;173 type IsReserve = IsReserve;174 type IsTeleporter = (); // Teleportation is disabled175 type UniversalLocation = UniversalLocation;176 type Barrier = Barrier;177 type Weigher = Weigher;178 type Trader = Trader;179 type ResponseHandler = PolkadotXcm;180 type SubscriptionService = PolkadotXcm;181 type PalletInstancesInfo = AllPalletsWithSystem;182 type MaxAssetsIntoHolding = ConstU32<8>;183184 type AssetTrap = PolkadotXcm;185 type AssetClaims = PolkadotXcm;186 type AssetLocker = ();187 type AssetExchanger = ();188 type FeeManager = ();189 type MessageExporter = ();190 type UniversalAliases = Nothing;191 type CallDispatcher = RuntimeCall;192 type SafeCallFilter = Nothing;193 type Aliasers = Nothing;194 type TransactionalProcessor = FrameTransactionalProcessor;195}196197#[cfg(feature = "runtime-benchmarks")]198parameter_types! {199 pub ReachableDest: Option<Location> = Some(Parent.into());200}201202impl pallet_xcm::Config for Runtime {203 type RuntimeEvent = RuntimeEvent;204 type SendXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, ()>;205 type XcmRouter = XcmRouter;206 type ExecuteXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;207 type XcmExecuteFilter = Everything;208 type XcmExecutor = XcmExecutor<XcmExecutorConfig<Self>>;209 type XcmTeleportFilter = Everything;210 type XcmReserveTransferFilter = Everything;211 type Weigher = FixedWeightBounds<UnitWeightCost, RuntimeCall, MaxInstructions>;212 type RuntimeOrigin = RuntimeOrigin;213 type RuntimeCall = RuntimeCall;214 const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100;215 type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion;216 type UniversalLocation = UniversalLocation;217 type Currency = Balances;218 type CurrencyMatcher = ();219 type TrustedLockers = ();220 type SovereignAccountOf = LocationToAccountId;221 type MaxLockers = ConstU32<8>;222 type WeightInfo = crate::weights::xcm::SubstrateWeight<Runtime>;223 type AdminOrigin = EnsureRoot<AccountId>;224 type MaxRemoteLockConsumers = ConstU32<0>;225 type RemoteLockConsumerIdentifier = ();226 #[cfg(feature = "runtime-benchmarks")]227 type ReachableDest = ReachableDest;228}229230impl cumulus_pallet_xcm::Config for Runtime {231 type RuntimeEvent = RuntimeEvent;232 type XcmExecutor = XcmExecutor<XcmExecutorConfig<Self>>;233}234235impl pallet_message_queue::Config for Runtime {236 type RuntimeEvent = RuntimeEvent;237 type WeightInfo = pallet_message_queue::weights::SubstrateWeight<Self>;238239 #[cfg(not(feature = "runtime-benchmarks"))]240 type MessageProcessor = staging_xcm_builder::ProcessXcmMessage<241 AggregateMessageOrigin,242 XcmExecutor<XcmExecutorConfig<Self>>,243 RuntimeCall,244 >;245246 #[cfg(feature = "runtime-benchmarks")]247 type MessageProcessor =248 pallet_message_queue::mock_helpers::NoopMessageProcessor<AggregateMessageOrigin>;249250 type Size = u32;251 // The XCMP queue pallet is only ever able to handle the `Sibling(ParaId)` origin:252 type QueueChangeHandler = NarrowOriginToSibling<XcmpQueue>;253 type QueuePausedQuery = NarrowOriginToSibling<XcmpQueue>;254 type HeapSize = ConstU32<{ 64 * 1024 }>;255 type MaxStale = ConstU32<8>;256 type ServiceWeight = MessageQueueServiceWeight;257}258259impl cumulus_pallet_xcmp_queue::Config for Runtime {260 type WeightInfo = cumulus_pallet_xcmp_queue::weights::SubstrateWeight<Self>;261 type RuntimeEvent = RuntimeEvent;262 type XcmpQueue = TransformOrigin<MessageQueue, AggregateMessageOrigin, ParaId, ParaIdToSibling>;263 type MaxInboundSuspended = ConstU32<1000>;264265 type ChannelInfo = ParachainSystem;266 type VersionWrapper = PolkadotXcm;267268 #[cfg(feature = "governance")]269 type ControllerOrigin = governance::RootOrTechnicalCommitteeMember;270271 #[cfg(not(feature = "governance"))]272 type ControllerOrigin = frame_system::EnsureRoot<AccountId>;273274 type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin;275 type PriceForSiblingDelivery = NoPriceForMessageDelivery<ParaId>;276}277278impl cumulus_pallet_dmp_queue::Config for Runtime {279 type RuntimeEvent = RuntimeEvent;280 type WeightInfo = cumulus_pallet_dmp_queue::weights::SubstrateWeight<Self>;281 type DmpSink = EnqueueWithOrigin<MessageQueue, RelayMsgOrigin>;282}1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617use cumulus_primitives_core::{AggregateMessageOrigin, ParaId};18use frame_support::{19 parameter_types,20 traits::{21 ConstU32, EnqueueWithOrigin, Everything, Get, Nothing, ProcessMessageError, TransformOrigin,22 },23};24use frame_system::EnsureRoot;25use orml_traits::location::AbsoluteReserveProvider;26use orml_xcm_support::MultiNativeAsset;27use pallet_foreign_assets::FreeForAll;28use pallet_xcm::XcmPassthrough;29use parachains_common::message_queue::{NarrowOriginToSibling, ParaIdToSibling};30use polkadot_parachain_primitives::primitives::Sibling;31use polkadot_runtime_common::xcm_sender::NoPriceForMessageDelivery;32use sp_std::marker::PhantomData;33use staging_xcm::latest::prelude::*;34use staging_xcm_builder::{35 AccountId32Aliases, EnsureXcmOrigin, FixedWeightBounds, FrameTransactionalProcessor,36 ParentIsPreset, RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia,37 SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation,38};39use staging_xcm_executor::{40 traits::{Properties, ShouldExecute},41 XcmExecutor,42};43use up_common::{constants::MAXIMUM_BLOCK_WEIGHT, types::AccountId};4445#[cfg(feature = "governance")]46use crate::runtime_common::config::governance;47use crate::{48 runtime_common::config::parachain::RelayMsgOrigin, xcm_barrier::Barrier, AllPalletsWithSystem,49 Balances, ForeignAssets, MessageQueue, ParachainInfo, ParachainSystem, PolkadotXcm,50 RelayNetwork, Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, XcmpQueue,51};5253parameter_types! {54 pub const RelayLocation: Location = Location::parent();55 pub RelayOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into();56 pub UniversalLocation: InteriorLocation = (57 GlobalConsensus(crate::RelayNetwork::get()),58 Parachain(ParachainInfo::get().into()),59 ).into();60 pub SelfLocation: Location = Location::new(1, Parachain(ParachainInfo::get().into()));6162 // One XCM operation is 1_000_000 weight - almost certainly a conservative estimate.63 pub UnitWeightCost: Weight = Weight::from_parts(1_000_000, 1000); // ?64 pub const MaxInstructions: u32 = 100;65 pub const MessageQueueServiceWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4); // TODO66}6768/// Type for specifying how a `Location` can be converted into an `AccountId`. This is used69/// when determining ownership of accounts for asset transacting and when attempting to use XCM70/// `Transact` in order to determine the dispatch Origin.71pub type LocationToAccountId = (72 // The parent (Relay-chain) origin converts to the default `AccountId`.73 ParentIsPreset<AccountId>,74 // Sibling parachain origins convert to AccountId via the `ParaId::into`.75 SiblingParachainConvertsVia<Sibling, AccountId>,76 // Straight up local `AccountId32` origins just alias directly to `AccountId`.77 AccountId32Aliases<RelayNetwork, AccountId>,78);7980/// No local origins on this chain are allowed to dispatch XCM sends/executions.81pub type LocalOriginToLocation = (SignedToAccountId32<RuntimeOrigin, AccountId, RelayNetwork>,);8283/// The means for routing XCM messages which are not for local execution into the right message84/// queues.85pub type XcmRouter = (86 // Two routers - use UMP to communicate with the relay chain:87 cumulus_primitives_utility::ParentAsUmp<ParachainSystem, PolkadotXcm, ()>,88 // ..and XCMP to communicate with the sibling chains.89 XcmpQueue,90);9192/// This is the type we use to convert an (incoming) XCM origin into a local `Origin` instance,93/// ready for dispatching a transaction with Xcm's `Transact`. There is an `OriginKind` which can94/// biases the kind of local `Origin` it will become.95pub type XcmOriginToTransactDispatchOrigin = (96 // Sovereign account converter; this attempts to derive an `AccountId` from the origin location97 // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for98 // foreign chains who want to have a local sovereign account on this chain which they control.99 SovereignSignedViaLocation<LocationToAccountId, RuntimeOrigin>,100 // Native converter for Relay-chain (Parent) location; will converts to a `Relay` origin when101 // recognised.102 RelayChainAsNative<RelayOrigin, RuntimeOrigin>,103 // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when104 // recognised.105 SiblingParachainAsNative<cumulus_pallet_xcm::Origin, RuntimeOrigin>,106 // Native signed account converter; this just converts an `AccountId32` origin into a normal107 // `Origin::Signed` origin of the same 32-byte value.108 SignedAccountId32AsNative<RelayNetwork, RuntimeOrigin>,109 // Xcm origins can be represented natively under the Xcm pallet's Xcm origin.110 XcmPassthrough<RuntimeOrigin>,111);112113pub trait TryPass {114 fn try_pass<Call>(115 origin: &Location,116 message: &mut [Instruction<Call>],117 ) -> Result<(), ProcessMessageError>;118}119120#[impl_trait_for_tuples::impl_for_tuples(30)]121impl TryPass for Tuple {122 fn try_pass<Call>(123 origin: &Location,124 message: &mut [Instruction<Call>],125 ) -> Result<(), ProcessMessageError> {126 for_tuples!( #(127 Tuple::try_pass(origin, message)?;128 )* );129130 Ok(())131 }132}133134/// Deny executing the XCM if it matches any of the Deny filter regardless of anything else.135/// If it passes the Deny, and matches one of the Allow cases then it is let through.136pub struct DenyThenTry<Deny, Allow>(PhantomData<Deny>, PhantomData<Allow>)137where138 Deny: TryPass,139 Allow: ShouldExecute;140141impl<Deny, Allow> ShouldExecute for DenyThenTry<Deny, Allow>142where143 Deny: TryPass,144 Allow: ShouldExecute,145{146 fn should_execute<Call>(147 origin: &Location,148 message: &mut [Instruction<Call>],149 max_weight: Weight,150 properties: &mut Properties,151 ) -> Result<(), ProcessMessageError> {152 Deny::try_pass(origin, message)?;153 Allow::should_execute(origin, message, max_weight, properties)154 }155}156157pub type Weigher = FixedWeightBounds<UnitWeightCost, RuntimeCall, MaxInstructions>;158159pub type IsReserve = MultiNativeAsset<AbsoluteReserveProvider>;160161pub type Trader = FreeForAll;162163pub struct XcmExecutorConfig<T>(PhantomData<T>);164impl<T> staging_xcm_executor::Config for XcmExecutorConfig<T>165where166 T: pallet_configuration::Config,167{168 type RuntimeCall = RuntimeCall;169 type XcmSender = XcmRouter;170 // How to withdraw and deposit an asset.171 type AssetTransactor = ForeignAssets;172 type OriginConverter = XcmOriginToTransactDispatchOrigin;173 type IsReserve = IsReserve;174 type IsTeleporter = (); // Teleportation is disabled175 type UniversalLocation = UniversalLocation;176 type Barrier = Barrier;177 type Weigher = Weigher;178 type Trader = Trader;179 type ResponseHandler = PolkadotXcm;180 type SubscriptionService = PolkadotXcm;181 type PalletInstancesInfo = AllPalletsWithSystem;182 type MaxAssetsIntoHolding = ConstU32<8>;183184 type AssetTrap = PolkadotXcm;185 type AssetClaims = PolkadotXcm;186 type AssetLocker = ();187 type AssetExchanger = ();188 type FeeManager = ();189 type MessageExporter = ();190 type UniversalAliases = Nothing;191 type CallDispatcher = RuntimeCall;192 type SafeCallFilter = Nothing;193 type Aliasers = Nothing;194 type TransactionalProcessor = FrameTransactionalProcessor;195}196197impl pallet_xcm::Config for Runtime {198 type RuntimeEvent = RuntimeEvent;199 type SendXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, ()>;200 type XcmRouter = XcmRouter;201 type ExecuteXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;202 type XcmExecuteFilter = Everything;203 type XcmExecutor = XcmExecutor<XcmExecutorConfig<Self>>;204 type XcmTeleportFilter = Everything;205 type XcmReserveTransferFilter = Everything;206 type Weigher = FixedWeightBounds<UnitWeightCost, RuntimeCall, MaxInstructions>;207 type RuntimeOrigin = RuntimeOrigin;208 type RuntimeCall = RuntimeCall;209 const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100;210 type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion;211 type UniversalLocation = UniversalLocation;212 type Currency = Balances;213 type CurrencyMatcher = ();214 type TrustedLockers = ();215 type SovereignAccountOf = LocationToAccountId;216 type MaxLockers = ConstU32<8>;217 type WeightInfo = crate::weights::xcm::SubstrateWeight<Runtime>;218 type AdminOrigin = EnsureRoot<AccountId>;219 type MaxRemoteLockConsumers = ConstU32<0>;220 type RemoteLockConsumerIdentifier = ();221}222223#[cfg(feature = "runtime-benchmarks")]224impl pallet_xcm::benchmarking::Config for Runtime {225 type DeliveryHelper = ();226227 fn reachable_dest() -> Option<Location> {228 Some(Parent.into())229 }230231 fn get_asset() -> Asset {232 (Location::here(), 1_000_000_000_000_000_000u128).into()233 }234}235236impl cumulus_pallet_xcm::Config for Runtime {237 type RuntimeEvent = RuntimeEvent;238 type XcmExecutor = XcmExecutor<XcmExecutorConfig<Self>>;239}240241impl pallet_message_queue::Config for Runtime {242 type RuntimeEvent = RuntimeEvent;243 type WeightInfo = pallet_message_queue::weights::SubstrateWeight<Self>;244245 #[cfg(not(feature = "runtime-benchmarks"))]246 type MessageProcessor = staging_xcm_builder::ProcessXcmMessage<247 AggregateMessageOrigin,248 XcmExecutor<XcmExecutorConfig<Self>>,249 RuntimeCall,250 >;251252 #[cfg(feature = "runtime-benchmarks")]253 type MessageProcessor =254 pallet_message_queue::mock_helpers::NoopMessageProcessor<AggregateMessageOrigin>;255256 type Size = u32;257 // The XCMP queue pallet is only ever able to handle the `Sibling(ParaId)` origin:258 type QueueChangeHandler = NarrowOriginToSibling<XcmpQueue>;259 type QueuePausedQuery = NarrowOriginToSibling<XcmpQueue>;260 type HeapSize = ConstU32<{ 64 * 1024 }>;261 type MaxStale = ConstU32<8>;262 type ServiceWeight = MessageQueueServiceWeight;263}264265impl cumulus_pallet_xcmp_queue::Config for Runtime {266 type WeightInfo = cumulus_pallet_xcmp_queue::weights::SubstrateWeight<Self>;267 type RuntimeEvent = RuntimeEvent;268 type XcmpQueue = TransformOrigin<MessageQueue, AggregateMessageOrigin, ParaId, ParaIdToSibling>;269 type MaxInboundSuspended = ConstU32<1000>;270271 type ChannelInfo = ParachainSystem;272 type VersionWrapper = PolkadotXcm;273274 #[cfg(feature = "governance")]275 type ControllerOrigin = governance::RootOrTechnicalCommitteeMember;276277 #[cfg(not(feature = "governance"))]278 type ControllerOrigin = frame_system::EnsureRoot<AccountId>;279280 type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin;281 type PriceForSiblingDelivery = NoPriceForMessageDelivery<ParaId>;282}283284impl cumulus_pallet_dmp_queue::Config for Runtime {285 type RuntimeEvent = RuntimeEvent;286 type WeightInfo = cumulus_pallet_dmp_queue::weights::SubstrateWeight<Self>;287 type DmpSink = EnqueueWithOrigin<MessageQueue, RelayMsgOrigin>;288}runtime/common/runtime_apis.rsdiffbeforeafterboth--- a/runtime/common/runtime_apis.rs
+++ b/runtime/common/runtime_apis.rs
@@ -535,9 +535,10 @@
) {
use frame_benchmarking::{list_benchmark, Benchmarking, BenchmarkList};
use frame_support::traits::StorageInfoTrait;
+ use pallet_xcm::benchmarking::Pallet as PalletXcmBenchmarks;
let mut list = Vec::<BenchmarkList>::new();
- list_benchmark!(list, extra, pallet_xcm, PolkadotXcm);
+ list_benchmark!(list, extra, pallet_xcm, PalletXcmBenchmarks::<Runtime>);
list_benchmark!(list, extra, pallet_evm_migration, EvmMigration);
list_benchmark!(list, extra, pallet_common, Common);
@@ -578,6 +579,7 @@
) -> Result<Vec<frame_benchmarking::BenchmarkBatch>, sp_runtime::RuntimeString> {
use frame_benchmarking::{Benchmarking, BenchmarkBatch, add_benchmark};
use sp_storage::TrackedStorageKey;
+ use pallet_xcm::benchmarking::Pallet as PalletXcmBenchmarks;
let allowlist: Vec<TrackedStorageKey> = vec![
// Total Issuance
@@ -601,8 +603,9 @@
let mut batches = Vec::<BenchmarkBatch>::new();
let params = (&config, &allowlist);
- add_benchmark!(params, batches, pallet_xcm, PolkadotXcm);
+ add_benchmark!(params, batches, pallet_xcm, PalletXcmBenchmarks::<Runtime>);
+
add_benchmark!(params, batches, pallet_evm_migration, EvmMigration);
add_benchmark!(params, batches, pallet_common, Common);
add_benchmark!(params, batches, pallet_unique, Unique);
runtime/common/weights/xcm.rsdiffbeforeafterboth--- a/runtime/common/weights/xcm.rs
+++ b/runtime/common/weights/xcm.rs
@@ -2,8 +2,8 @@
//! Autogenerated weights for pallet_xcm
//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 29.0.0
-//! DATE: 2023-11-29, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 35.0.1
+//! DATE: 2024-05-24, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
@@ -35,61 +35,57 @@
/// Weights for pallet_xcm using the Substrate node and recommended hardware.
pub struct SubstrateWeight<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_xcm::WeightInfo for SubstrateWeight<T> {
- /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
- /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
- /// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1)
- /// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0)
- /// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
- /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
- /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+ /// Storage: `Benchmark::Override` (r:0 w:0)
+ /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn send() -> Weight {
// Proof Size summary in bytes:
- // Measured: `278`
- // Estimated: `3743`
- // Minimum execution time: 22_693_000 picoseconds.
- Weight::from_parts(23_155_000, 3743)
- .saturating_add(T::DbWeight::get().reads(5_u64))
- .saturating_add(T::DbWeight::get().writes(2_u64))
+ // Measured: `0`
+ // Estimated: `0`
+ // Minimum execution time: 18_446_744_073_709_551_000 picoseconds.
+ Weight::from_parts(18_446_744_073_709_551_000, 0)
}
- /// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
- /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
+ /// Storage: `Benchmark::Override` (r:0 w:0)
+ /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn teleport_assets() -> Weight {
// Proof Size summary in bytes:
- // Measured: `169`
- // Estimated: `1489`
- // Minimum execution time: 21_165_000 picoseconds.
- Weight::from_parts(21_568_000, 1489)
- .saturating_add(T::DbWeight::get().reads(1_u64))
+ // Measured: `0`
+ // Estimated: `0`
+ // Minimum execution time: 18_446_744_073_709_551_000 picoseconds.
+ Weight::from_parts(18_446_744_073_709_551_000, 0)
}
- /// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
- /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
+ /// Storage: `Benchmark::Override` (r:0 w:0)
+ /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn reserve_transfer_assets() -> Weight {
// Proof Size summary in bytes:
- // Measured: `169`
- // Estimated: `1489`
- // Minimum execution time: 20_929_000 picoseconds.
- Weight::from_parts(21_295_000, 1489)
- .saturating_add(T::DbWeight::get().reads(1_u64))
+ // Measured: `0`
+ // Estimated: `0`
+ // Minimum execution time: 18_446_744_073_709_551_000 picoseconds.
+ Weight::from_parts(18_446_744_073_709_551_000, 0)
}
+ /// Storage: `Benchmark::Override` (r:0 w:0)
+ /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
+ fn transfer_assets() -> Weight {
+ // Proof Size summary in bytes:
+ // Measured: `0`
+ // Estimated: `0`
+ // Minimum execution time: 18_446_744_073_709_551_000 picoseconds.
+ Weight::from_parts(18_446_744_073_709_551_000, 0)
+ }
fn execute() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
- // Minimum execution time: 7_580_000 picoseconds.
- Weight::from_parts(7_829_000, 0)
+ // Minimum execution time: 3_230_000 picoseconds.
+ Weight::from_parts(3_390_000, 0)
}
- /// Storage: `PolkadotXcm::SupportedVersion` (r:0 w:1)
- /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
+ /// Storage: `Benchmark::Override` (r:0 w:0)
+ /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn force_xcm_version() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
- // Minimum execution time: 7_503_000 picoseconds.
- Weight::from_parts(7_703_000, 0)
- .saturating_add(T::DbWeight::get().writes(1_u64))
+ // Minimum execution time: 18_446_744_073_709_551_000 picoseconds.
+ Weight::from_parts(18_446_744_073_709_551_000, 0)
}
/// Storage: `PolkadotXcm::SafeXcmVersion` (r:0 w:1)
/// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
@@ -97,57 +93,27 @@
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
- // Minimum execution time: 2_505_000 picoseconds.
- Weight::from_parts(2_619_000, 0)
+ // Minimum execution time: 1_020_000 picoseconds.
+ Weight::from_parts(1_120_000, 0)
.saturating_add(T::DbWeight::get().writes(1_u64))
}
- /// Storage: `PolkadotXcm::VersionNotifiers` (r:1 w:1)
- /// Proof: `PolkadotXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)
- /// Storage: `PolkadotXcm::QueryCounter` (r:1 w:1)
- /// Proof: `PolkadotXcm::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
- /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
- /// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1)
- /// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0)
- /// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
- /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
- /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `PolkadotXcm::Queries` (r:0 w:1)
- /// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
+ /// Storage: `Benchmark::Override` (r:0 w:0)
+ /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn force_subscribe_version_notify() -> Weight {
// Proof Size summary in bytes:
- // Measured: `278`
- // Estimated: `3743`
- // Minimum execution time: 26_213_000 picoseconds.
- Weight::from_parts(26_652_000, 3743)
- .saturating_add(T::DbWeight::get().reads(7_u64))
- .saturating_add(T::DbWeight::get().writes(5_u64))
+ // Measured: `0`
+ // Estimated: `0`
+ // Minimum execution time: 18_446_744_073_709_551_000 picoseconds.
+ Weight::from_parts(18_446_744_073_709_551_000, 0)
}
- /// Storage: `PolkadotXcm::VersionNotifiers` (r:1 w:1)
- /// Proof: `PolkadotXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)
- /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
- /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
- /// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1)
- /// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0)
- /// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
- /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
- /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `PolkadotXcm::Queries` (r:0 w:1)
- /// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
+ /// Storage: `Benchmark::Override` (r:0 w:0)
+ /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn force_unsubscribe_version_notify() -> Weight {
// Proof Size summary in bytes:
- // Measured: `461`
- // Estimated: `3926`
- // Minimum execution time: 27_648_000 picoseconds.
- Weight::from_parts(28_084_000, 3926)
- .saturating_add(T::DbWeight::get().reads(6_u64))
- .saturating_add(T::DbWeight::get().writes(4_u64))
+ // Measured: `0`
+ // Estimated: `0`
+ // Minimum execution time: 18_446_744_073_709_551_000 picoseconds.
+ Weight::from_parts(18_446_744_073_709_551_000, 0)
}
/// Storage: `PolkadotXcm::XcmExecutionSuspended` (r:0 w:1)
/// Proof: `PolkadotXcm::XcmExecutionSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
@@ -155,124 +121,118 @@
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
- // Minimum execution time: 2_529_000 picoseconds.
- Weight::from_parts(2_650_000, 0)
+ // Minimum execution time: 1_050_000 picoseconds.
+ Weight::from_parts(1_150_000, 0)
.saturating_add(T::DbWeight::get().writes(1_u64))
}
- /// Storage: `PolkadotXcm::SupportedVersion` (r:4 w:2)
+ /// Storage: `PolkadotXcm::SupportedVersion` (r:5 w:2)
/// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn migrate_supported_version() -> Weight {
// Proof Size summary in bytes:
- // Measured: `196`
- // Estimated: `11086`
- // Minimum execution time: 15_973_000 picoseconds.
- Weight::from_parts(16_358_000, 11086)
- .saturating_add(T::DbWeight::get().reads(4_u64))
+ // Measured: `192`
+ // Estimated: `13557`
+ // Minimum execution time: 13_400_000 picoseconds.
+ Weight::from_parts(13_670_000, 13557)
+ .saturating_add(T::DbWeight::get().reads(5_u64))
.saturating_add(T::DbWeight::get().writes(2_u64))
}
- /// Storage: `PolkadotXcm::VersionNotifiers` (r:4 w:2)
+ /// Storage: `PolkadotXcm::VersionNotifiers` (r:5 w:2)
/// Proof: `PolkadotXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn migrate_version_notifiers() -> Weight {
// Proof Size summary in bytes:
- // Measured: `200`
- // Estimated: `11090`
- // Minimum execution time: 16_027_000 picoseconds.
- Weight::from_parts(16_585_000, 11090)
- .saturating_add(T::DbWeight::get().reads(4_u64))
+ // Measured: `196`
+ // Estimated: `13561`
+ // Minimum execution time: 13_160_000 picoseconds.
+ Weight::from_parts(13_650_000, 13561)
+ .saturating_add(T::DbWeight::get().reads(5_u64))
.saturating_add(T::DbWeight::get().writes(2_u64))
}
- /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:5 w:0)
- /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
+ /// Storage: `Benchmark::Override` (r:0 w:0)
+ /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn already_notified_target() -> Weight {
// Proof Size summary in bytes:
- // Measured: `207`
- // Estimated: `13572`
- // Minimum execution time: 16_817_000 picoseconds.
- Weight::from_parts(17_137_000, 13572)
- .saturating_add(T::DbWeight::get().reads(5_u64))
+ // Measured: `0`
+ // Estimated: `0`
+ // Minimum execution time: 25_000_000 picoseconds.
+ Weight::from_parts(25_000_000, 0)
}
- /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:2 w:1)
- /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
- /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
- /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
- /// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1)
- /// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0)
- /// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
- /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
- /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+ /// Storage: `Benchmark::Override` (r:0 w:0)
+ /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn notify_current_targets() -> Weight {
// Proof Size summary in bytes:
- // Measured: `345`
- // Estimated: `6285`
- // Minimum execution time: 24_551_000 picoseconds.
- Weight::from_parts(24_975_000, 6285)
- .saturating_add(T::DbWeight::get().reads(7_u64))
- .saturating_add(T::DbWeight::get().writes(3_u64))
+ // Measured: `0`
+ // Estimated: `0`
+ // Minimum execution time: 325_000_000 picoseconds.
+ Weight::from_parts(325_000_000, 0)
}
- /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:3 w:0)
+ /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:4 w:0)
/// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn notify_target_migration_fail() -> Weight {
// Proof Size summary in bytes:
// Measured: `239`
- // Estimated: `8654`
- // Minimum execution time: 8_412_000 picoseconds.
- Weight::from_parts(8_710_000, 8654)
- .saturating_add(T::DbWeight::get().reads(3_u64))
+ // Estimated: `11129`
+ // Minimum execution time: 8_250_000 picoseconds.
+ Weight::from_parts(8_780_000, 11129)
+ .saturating_add(T::DbWeight::get().reads(4_u64))
}
- /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:4 w:2)
+ /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:5 w:2)
/// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn migrate_version_notify_targets() -> Weight {
// Proof Size summary in bytes:
- // Measured: `207`
- // Estimated: `11097`
- // Minimum execution time: 16_427_000 picoseconds.
- Weight::from_parts(16_774_000, 11097)
- .saturating_add(T::DbWeight::get().reads(4_u64))
+ // Measured: `203`
+ // Estimated: `13568`
+ // Minimum execution time: 13_240_000 picoseconds.
+ Weight::from_parts(13_650_000, 13568)
+ .saturating_add(T::DbWeight::get().reads(5_u64))
.saturating_add(T::DbWeight::get().writes(2_u64))
}
- /// Storage: `PolkadotXcm::VersionNotifyTargets` (r:4 w:2)
- /// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
- /// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
- /// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
- /// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1)
- /// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0)
- /// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
- /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
- /// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+ /// Storage: `Benchmark::Override` (r:0 w:0)
+ /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn migrate_and_notify_old_targets() -> Weight {
// Proof Size summary in bytes:
- // Measured: `349`
- // Estimated: `11239`
- // Minimum execution time: 30_394_000 picoseconds.
- Weight::from_parts(30_868_000, 11239)
- .saturating_add(T::DbWeight::get().reads(9_u64))
- .saturating_add(T::DbWeight::get().writes(4_u64))
+ // Measured: `0`
+ // Estimated: `0`
+ // Minimum execution time: 325_000_000 picoseconds.
+ Weight::from_parts(325_000_000, 0)
}
-
- fn transfer_assets() -> Weight {
- // TODO!
- Self::send()
- }
-
+ /// Storage: `PolkadotXcm::QueryCounter` (r:1 w:1)
+ /// Proof: `PolkadotXcm::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+ /// Storage: `PolkadotXcm::Queries` (r:0 w:1)
+ /// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn new_query() -> Weight {
- // TODO!
- Self::send()
- }
-
+ // Proof Size summary in bytes:
+ // Measured: `136`
+ // Estimated: `1621`
+ // Minimum execution time: 3_440_000 picoseconds.
+ Weight::from_parts(3_560_000, 1621)
+ .saturating_add(T::DbWeight::get().reads(1_u64))
+ .saturating_add(T::DbWeight::get().writes(2_u64))
+ }
+ /// Storage: `PolkadotXcm::Queries` (r:1 w:1)
+ /// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn take_response() -> Weight {
- // TODO!
- Self::send()
- }
-
+ // Proof Size summary in bytes:
+ // Measured: `7773`
+ // Estimated: `11238`
+ // Minimum execution time: 19_230_000 picoseconds.
+ Weight::from_parts(19_550_000, 11238)
+ .saturating_add(T::DbWeight::get().reads(1_u64))
+ .saturating_add(T::DbWeight::get().writes(1_u64))
+ }
+ /// Storage: `PolkadotXcm::AssetTraps` (r:1 w:1)
+ /// Proof: `PolkadotXcm::AssetTraps` (`max_values`: None, `max_size`: None, mode: `Measured`)
+ /// Storage: `ForeignAssets::ForeignAssetToCollection` (r:1 w:0)
+ /// Proof: `ForeignAssets::ForeignAssetToCollection` (`max_values`: None, `max_size`: Some(614), added: 3089, mode: `MaxEncodedLen`)
+ /// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
+ /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
fn claim_assets() -> Weight {
- // TODO!
- Self::send()
- }
+ // Proof Size summary in bytes:
+ // Measured: `366`
+ // Estimated: `4079`
+ // Minimum execution time: 25_540_000 picoseconds.
+ Weight::from_parts(26_250_000, 4079)
+ .saturating_add(T::DbWeight::get().reads(3_u64))
+ .saturating_add(T::DbWeight::get().writes(1_u64))
+ }
}