asset_hub_westend_runtime/weights/xcm/pallet_xcm_benchmarks_fungible.rs
1// Copyright (C) Parity Technologies (UK) Ltd.
2// SPDX-License-Identifier: Apache-2.0
3
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15
16//! Autogenerated weights for `pallet_xcm_benchmarks::fungible`
17//!
18//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
19//! DATE: 2025-07-30, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
20//! WORST CASE MAP SIZE: `1000000`
21//! HOSTNAME: `601cc0634d73`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
22//! WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
23
24// Executed Command:
25// frame-omni-bencher
26// v1
27// benchmark
28// pallet
29// --extrinsic=*
30// --runtime=target/production/wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.wasm
31// --pallet=pallet_xcm_benchmarks::fungible
32// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt
33// --output=./cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/xcm
34// --wasm-execution=compiled
35// --steps=50
36// --repeat=20
37// --heap-pages=4096
38// --template=cumulus/templates/xcm-bench-template.hbs
39// --no-storage-info
40// --no-min-squares
41// --no-median-slopes
42
43#![cfg_attr(rustfmt, rustfmt_skip)]
44#![allow(unused_parens)]
45#![allow(unused_imports)]
46
47use frame_support::{traits::Get, weights::Weight};
48use core::marker::PhantomData;
49
50/// Weights for `pallet_xcm_benchmarks::fungible`.
51pub struct WeightInfo<T>(PhantomData<T>);
52impl<T: frame_system::Config> WeightInfo<T> {
53 // Storage: `Assets::Asset` (r:1 w:1)
54 // Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
55 // Storage: `Assets::Account` (r:1 w:1)
56 // Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
57 // Storage: `AssetsFreezer::FrozenBalances` (r:1 w:1)
58 // Proof: `AssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
59 // Storage: `System::Account` (r:1 w:1)
60 // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
61 // Storage: `AssetsFreezer::Freezes` (r:1 w:1)
62 // Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`)
63 pub fn withdraw_asset() -> Weight {
64 // Proof Size summary in bytes:
65 // Measured: `1270`
66 // Estimated: `3675`
67 // Minimum execution time: 63_006_000 picoseconds.
68 Weight::from_parts(64_684_000, 3675)
69 .saturating_add(T::DbWeight::get().reads(5))
70 .saturating_add(T::DbWeight::get().writes(5))
71 }
72 // Storage: `Assets::Asset` (r:1 w:1)
73 // Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
74 // Storage: `Assets::Account` (r:2 w:2)
75 // Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
76 // Storage: `AssetsFreezer::FrozenBalances` (r:1 w:0)
77 // Proof: `AssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
78 // Storage: `System::Account` (r:1 w:1)
79 // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
80 pub fn transfer_asset() -> Weight {
81 // Proof Size summary in bytes:
82 // Measured: `1533`
83 // Estimated: `6208`
84 // Minimum execution time: 61_134_000 picoseconds.
85 Weight::from_parts(62_630_000, 6208)
86 .saturating_add(T::DbWeight::get().reads(5))
87 .saturating_add(T::DbWeight::get().writes(4))
88 }
89 // Storage: `Assets::Asset` (r:1 w:1)
90 // Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
91 // Storage: `Assets::Account` (r:2 w:2)
92 // Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
93 // Storage: `AssetsFreezer::FrozenBalances` (r:1 w:0)
94 // Proof: `AssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
95 // Storage: `System::Account` (r:3 w:3)
96 // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
97 // Storage: `ParachainInfo::ParachainId` (r:1 w:0)
98 // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
99 // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0)
100 // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
101 // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
102 // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
103 // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0)
104 // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
105 // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1)
106 // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`)
107 // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1)
108 // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`)
109 pub fn transfer_reserve_asset() -> Weight {
110 // Proof Size summary in bytes:
111 // Measured: `4165`
112 // Estimated: `8799`
113 // Minimum execution time: 160_634_000 picoseconds.
114 Weight::from_parts(164_735_000, 8799)
115 .saturating_add(T::DbWeight::get().reads(12))
116 .saturating_add(T::DbWeight::get().writes(8))
117 }
118 pub fn reserve_asset_deposited() -> Weight {
119 // Proof Size summary in bytes:
120 // Measured: `0`
121 // Estimated: `0`
122 // Minimum execution time: 1_550_000 picoseconds.
123 Weight::from_parts(1_655_000, 0)
124 }
125 // Storage: `ParachainInfo::ParachainId` (r:1 w:0)
126 // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
127 // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0)
128 // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
129 // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
130 // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
131 // Storage: `System::Account` (r:2 w:2)
132 // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
133 // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0)
134 // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
135 // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1)
136 // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`)
137 // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1)
138 // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`)
139 pub fn initiate_reserve_withdraw() -> Weight {
140 // Proof Size summary in bytes:
141 // Measured: `2632`
142 // Estimated: `6196`
143 // Minimum execution time: 137_823_000 picoseconds.
144 Weight::from_parts(141_470_000, 6196)
145 .saturating_add(T::DbWeight::get().reads(7))
146 .saturating_add(T::DbWeight::get().writes(4))
147 }
148 // Storage: `System::Account` (r:1 w:1)
149 // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
150 pub fn receive_teleported_asset() -> Weight {
151 // Proof Size summary in bytes:
152 // Measured: `1274`
153 // Estimated: `3593`
154 // Minimum execution time: 36_159_000 picoseconds.
155 Weight::from_parts(37_617_000, 3593)
156 .saturating_add(T::DbWeight::get().reads(1))
157 .saturating_add(T::DbWeight::get().writes(1))
158 }
159 // Storage: `Assets::Asset` (r:1 w:1)
160 // Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
161 // Storage: `Assets::Account` (r:1 w:1)
162 // Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
163 // Storage: `System::Account` (r:1 w:1)
164 // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
165 pub fn deposit_asset() -> Weight {
166 // Proof Size summary in bytes:
167 // Measured: `1421`
168 // Estimated: `3675`
169 // Minimum execution time: 44_280_000 picoseconds.
170 Weight::from_parts(46_439_000, 3675)
171 .saturating_add(T::DbWeight::get().reads(3))
172 .saturating_add(T::DbWeight::get().writes(3))
173 }
174 // Storage: `ParachainInfo::ParachainId` (r:1 w:0)
175 // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
176 // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0)
177 // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
178 // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
179 // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
180 // Storage: `Assets::Asset` (r:1 w:1)
181 // Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
182 // Storage: `Assets::Account` (r:1 w:1)
183 // Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
184 // Storage: `System::Account` (r:1 w:1)
185 // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
186 // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0)
187 // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
188 // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1)
189 // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`)
190 // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1)
191 // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`)
192 pub fn deposit_reserve_asset() -> Weight {
193 // Proof Size summary in bytes:
194 // Measured: `1935`
195 // Estimated: `5400`
196 // Minimum execution time: 100_045_000 picoseconds.
197 Weight::from_parts(104_239_000, 5400)
198 .saturating_add(T::DbWeight::get().reads(8))
199 .saturating_add(T::DbWeight::get().writes(5))
200 }
201 // Storage: `ParachainInfo::ParachainId` (r:1 w:0)
202 // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
203 // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0)
204 // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
205 // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
206 // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
207 // Storage: `Assets::Asset` (r:1 w:0)
208 // Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
209 // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0)
210 // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
211 // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1)
212 // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`)
213 // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1)
214 // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`)
215 pub fn initiate_teleport() -> Weight {
216 // Proof Size summary in bytes:
217 // Measured: `828`
218 // Estimated: `4293`
219 // Minimum execution time: 74_309_000 picoseconds.
220 Weight::from_parts(77_487_000, 4293)
221 .saturating_add(T::DbWeight::get().reads(6))
222 .saturating_add(T::DbWeight::get().writes(2))
223 }
224 // Storage: `Assets::Asset` (r:1 w:1)
225 // Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
226 // Storage: `Assets::Account` (r:1 w:1)
227 // Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
228 // Storage: `System::Account` (r:2 w:2)
229 // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
230 // Storage: `ParachainInfo::ParachainId` (r:1 w:0)
231 // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
232 // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0)
233 // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
234 // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
235 // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
236 // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0)
237 // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
238 // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1)
239 // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`)
240 // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1)
241 // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`)
242 pub fn initiate_transfer() -> Weight {
243 // Proof Size summary in bytes:
244 // Measured: `3209`
245 // Estimated: `6674`
246 // Minimum execution time: 121_698_000 picoseconds.
247 Weight::from_parts(125_795_000, 6674)
248 .saturating_add(T::DbWeight::get().reads(9))
249 .saturating_add(T::DbWeight::get().writes(6))
250 }
251}