asset_hub_rococo_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: `a49f76527979`, 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-rococo-runtime/asset_hub_rococo_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-rococo/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(87), added: 2562, mode: `MaxEncodedLen`)
63 pub fn withdraw_asset() -> Weight {
64 // Proof Size summary in bytes:
65 // Measured: `493`
66 // Estimated: `3675`
67 // Minimum execution time: 54_678_000 picoseconds.
68 Weight::from_parts(56_251_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: `392`
83 // Estimated: `6208`
84 // Minimum execution time: 51_938_000 picoseconds.
85 Weight::from_parts(52_634_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: `770`
112 // Estimated: `8799`
113 // Minimum execution time: 137_278_000 picoseconds.
114 Weight::from_parts(142_344_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_491_000 picoseconds.
123 Weight::from_parts(1_611_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: `378`
142 // Estimated: `6196`
143 // Minimum execution time: 121_122_000 picoseconds.
144 Weight::from_parts(123_821_000, 6196)
145 .saturating_add(T::DbWeight::get().reads(7))
146 .saturating_add(T::DbWeight::get().writes(4))
147 }
148 pub fn receive_teleported_asset() -> Weight {
149 // Proof Size summary in bytes:
150 // Measured: `0`
151 // Estimated: `0`
152 // Minimum execution time: 2_843_000 picoseconds.
153 Weight::from_parts(3_108_000, 0)
154 }
155 // Storage: `Assets::Asset` (r:1 w:1)
156 // Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
157 // Storage: `Assets::Account` (r:1 w:1)
158 // Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
159 // Storage: `System::Account` (r:1 w:1)
160 // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
161 pub fn deposit_asset() -> Weight {
162 // Proof Size summary in bytes:
163 // Measured: `280`
164 // Estimated: `3675`
165 // Minimum execution time: 33_119_000 picoseconds.
166 Weight::from_parts(34_511_000, 3675)
167 .saturating_add(T::DbWeight::get().reads(3))
168 .saturating_add(T::DbWeight::get().writes(3))
169 }
170 // Storage: `ParachainInfo::ParachainId` (r:1 w:0)
171 // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
172 // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0)
173 // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
174 // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
175 // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
176 // Storage: `Assets::Asset` (r:1 w:1)
177 // Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
178 // Storage: `Assets::Account` (r:1 w:1)
179 // Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
180 // Storage: `System::Account` (r:1 w:1)
181 // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
182 // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0)
183 // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
184 // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1)
185 // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`)
186 // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1)
187 // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`)
188 pub fn deposit_reserve_asset() -> Weight {
189 // Proof Size summary in bytes:
190 // Measured: `557`
191 // Estimated: `4022`
192 // Minimum execution time: 84_913_000 picoseconds.
193 Weight::from_parts(87_883_000, 4022)
194 .saturating_add(T::DbWeight::get().reads(8))
195 .saturating_add(T::DbWeight::get().writes(5))
196 }
197 // Storage: `ParachainInfo::ParachainId` (r:1 w:0)
198 // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
199 // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0)
200 // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
201 // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
202 // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
203 // Storage: `Assets::Asset` (r:1 w:0)
204 // Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
205 // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0)
206 // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
207 // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1)
208 // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`)
209 // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1)
210 // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`)
211 pub fn initiate_teleport() -> Weight {
212 // Proof Size summary in bytes:
213 // Measured: `557`
214 // Estimated: `4022`
215 // Minimum execution time: 65_709_000 picoseconds.
216 Weight::from_parts(67_783_000, 4022)
217 .saturating_add(T::DbWeight::get().reads(6))
218 .saturating_add(T::DbWeight::get().writes(2))
219 }
220 // Storage: `Assets::Asset` (r:1 w:1)
221 // Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
222 // Storage: `Assets::Account` (r:1 w:1)
223 // Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
224 // Storage: `System::Account` (r:2 w:2)
225 // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
226 // Storage: `ParachainInfo::ParachainId` (r:1 w:0)
227 // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
228 // Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0)
229 // Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
230 // Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
231 // Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
232 // Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0)
233 // Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
234 // Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1)
235 // Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`)
236 // Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1)
237 // Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(105506), added: 107981, mode: `MaxEncodedLen`)
238 pub fn initiate_transfer() -> Weight {
239 // Proof Size summary in bytes:
240 // Measured: `557`
241 // Estimated: `6196`
242 // Minimum execution time: 103_077_000 picoseconds.
243 Weight::from_parts(105_234_000, 6196)
244 .saturating_add(T::DbWeight::get().reads(9))
245 .saturating_add(T::DbWeight::get().writes(6))
246 }
247}