referrerpolicy=no-referrer-when-downgrade

pallet_psm/
weights.rs

1// This file is part of Substrate.
2
3// Copyright (C) Amforc AG.
4// SPDX-License-Identifier: Apache-2.0
5
6// Licensed under the Apache License, Version 2.0 (the "License");
7// you may not use this file except in compliance with the License.
8// You may obtain a copy of the License at
9//
10// 	http://www.apache.org/licenses/LICENSE-2.0
11//
12// Unless required by applicable law or agreed to in writing, software
13// distributed under the License is distributed on an "AS IS" BASIS,
14// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15// See the License for the specific language governing permissions and
16// limitations under the License.
17
18//! Autogenerated weights for `pallet_psm`
19//!
20//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
21//! DATE: 2026-03-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
22//! WORST CASE MAP SIZE: `1000000`
23//! HOSTNAME: `zur1-vm-devleo-001`, CPU: `AMD EPYC 9354 32-Core Processor`
24//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
25
26// Executed Command:
27// ./target/release/substrate-node
28// benchmark
29// pallet
30// --chain
31// dev
32// --wasm-execution
33// compiled
34// --heap-pages
35// 4096
36// --pallet
37// pallet_psm
38// --extrinsic
39// *
40// --steps
41// 50
42// --repeat
43// 20
44// --output
45// ./substrate/frame/psm/src/weights.rs
46// --header
47// ./substrate/HEADER-APACHE2
48// --template
49// ./substrate/.maintain/frame-weight-template.hbs
50
51#![cfg_attr(rustfmt, rustfmt_skip)]
52#![allow(unused_parens)]
53#![allow(unused_imports)]
54#![allow(missing_docs)]
55#![allow(dead_code)]
56
57use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
58use core::marker::PhantomData;
59
60/// Weight functions needed for `pallet_psm`.
61pub trait WeightInfo {
62	fn mint(n: u32, ) -> Weight;
63	fn redeem() -> Weight;
64	fn set_minting_fee() -> Weight;
65	fn set_redemption_fee() -> Weight;
66	fn set_max_debt() -> Weight;
67	fn set_asset_status() -> Weight;
68	fn set_asset_ceiling_weight() -> Weight;
69	fn add_external_asset() -> Weight;
70	fn remove_external_asset() -> Weight;
71	fn create_psm() -> Weight;
72	fn remove_psm() -> Weight;
73	fn set_full_admin() -> Weight;
74	fn set_emergency_admin() -> Weight;
75}
76
77/// Weights for `pallet_psm` using the Substrate node and recommended hardware.
78pub struct SubstrateWeight<T>(PhantomData<T>);
79impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
80	/// Storage: `Psm::ExternalAssets` (r:1 w:0)
81	/// Proof: `Psm::ExternalAssets` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`)
82	/// Storage: `Psm::MintingFee` (r:1 w:0)
83	/// Proof: `Psm::MintingFee` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
84	/// Storage: `Assets::Asset` (r:2 w:2)
85	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
86	/// Storage: `Psm::PsmDebt` (r:11 w:1)
87	/// Proof: `Psm::PsmDebt` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
88	/// Storage: `Psm::MaxPsmDebtOfTotal` (r:1 w:0)
89	/// Proof: `Psm::MaxPsmDebtOfTotal` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
90	/// Storage: `Psm::AssetCeilingWeight` (r:11 w:0)
91	/// Proof: `Psm::AssetCeilingWeight` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
92	/// Storage: `Assets::Account` (r:4 w:4)
93	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
94	/// Storage: `System::Account` (r:2 w:2)
95	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
96	/// The range of component `n` is `[1, 10]`.
97	fn mint(n: u32, ) -> Weight {
98		// Proof Size summary in bytes:
99		//  Measured:  `1387 + n * (88 ±0)`
100		//  Estimated: `11426 + n * (2511 ±0)`
101		// Minimum execution time: 133_370_000 picoseconds.
102		Weight::from_parts(134_621_616, 11426)
103			// Standard Error: 20_624
104			.saturating_add(Weight::from_parts(8_263_331, 0).saturating_mul(n.into()))
105			.saturating_add(T::DbWeight::get().reads(13_u64))
106			.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(n.into())))
107			.saturating_add(T::DbWeight::get().writes(9_u64))
108			.saturating_add(Weight::from_parts(0, 2511).saturating_mul(n.into()))
109	}
110	/// Storage: `Psm::ExternalAssets` (r:1 w:0)
111	/// Proof: `Psm::ExternalAssets` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`)
112	/// Storage: `Psm::RedemptionFee` (r:1 w:0)
113	/// Proof: `Psm::RedemptionFee` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
114	/// Storage: `Psm::PsmDebt` (r:1 w:1)
115	/// Proof: `Psm::PsmDebt` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
116	/// Storage: `Assets::Account` (r:4 w:4)
117	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
118	/// Storage: `Assets::Asset` (r:2 w:2)
119	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
120	fn redeem() -> Weight {
121		// Proof Size summary in bytes:
122		//  Measured:  `1459`
123		//  Estimated: `11426`
124		// Minimum execution time: 137_370_000 picoseconds.
125		Weight::from_parts(145_389_000, 11426)
126			.saturating_add(T::DbWeight::get().reads(9_u64))
127			.saturating_add(T::DbWeight::get().writes(7_u64))
128	}
129	/// Storage: `Psm::MintingFee` (r:1 w:1)
130	/// Proof: `Psm::MintingFee` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
131	fn set_minting_fee() -> Weight {
132		// Proof Size summary in bytes:
133		//  Measured:  `396`
134		//  Estimated: `3489`
135		// Minimum execution time: 14_810_000 picoseconds.
136		Weight::from_parts(16_760_000, 3489)
137			.saturating_add(T::DbWeight::get().reads(1_u64))
138			.saturating_add(T::DbWeight::get().writes(1_u64))
139	}
140	/// Storage: `Psm::RedemptionFee` (r:1 w:1)
141	/// Proof: `Psm::RedemptionFee` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
142	fn set_redemption_fee() -> Weight {
143		// Proof Size summary in bytes:
144		//  Measured:  `396`
145		//  Estimated: `3489`
146		// Minimum execution time: 14_910_000 picoseconds.
147		Weight::from_parts(16_661_000, 3489)
148			.saturating_add(T::DbWeight::get().reads(1_u64))
149			.saturating_add(T::DbWeight::get().writes(1_u64))
150	}
151	/// Storage: `Psm::MaxPsmDebtOfTotal` (r:1 w:1)
152	/// Proof: `Psm::MaxPsmDebtOfTotal` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
153	fn set_max_debt() -> Weight {
154		// Proof Size summary in bytes:
155		//  Measured:  `306`
156		//  Estimated: `1489`
157		// Minimum execution time: 9_990_000 picoseconds.
158		Weight::from_parts(11_200_000, 1489)
159			.saturating_add(T::DbWeight::get().reads(1_u64))
160			.saturating_add(T::DbWeight::get().writes(1_u64))
161	}
162	/// Storage: `Psm::ExternalAssets` (r:1 w:1)
163	/// Proof: `Psm::ExternalAssets` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`)
164	fn set_asset_status() -> Weight {
165		// Proof Size summary in bytes:
166		//  Measured:  `405`
167		//  Estimated: `3486`
168		// Minimum execution time: 17_270_000 picoseconds.
169		Weight::from_parts(19_160_000, 3486)
170			.saturating_add(T::DbWeight::get().reads(1_u64))
171			.saturating_add(T::DbWeight::get().writes(1_u64))
172	}
173	/// Storage: `Psm::ExternalAssets` (r:1 w:0)
174	/// Proof: `Psm::ExternalAssets` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`)
175	/// Storage: `Psm::AssetCeilingWeight` (r:1 w:1)
176	/// Proof: `Psm::AssetCeilingWeight` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
177	fn set_asset_ceiling_weight() -> Weight {
178		// Proof Size summary in bytes:
179		//  Measured:  `454`
180		//  Estimated: `3489`
181		// Minimum execution time: 19_381_000 picoseconds.
182		Weight::from_parts(21_310_000, 3489)
183			.saturating_add(T::DbWeight::get().reads(2_u64))
184			.saturating_add(T::DbWeight::get().writes(1_u64))
185	}
186	/// Storage: `Psm::ExternalAssets` (r:1 w:1)
187	/// Proof: `Psm::ExternalAssets` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`)
188	/// Storage: `Psm::CounterForExternalAssets` (r:1 w:1)
189	/// Proof: `Psm::CounterForExternalAssets` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
190	/// Storage: `Assets::Metadata` (r:2 w:0)
191	/// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
192	fn add_external_asset() -> Weight {
193		// Proof Size summary in bytes:
194		//  Measured:  `560`
195		//  Estimated: `6220`
196		// Minimum execution time: 24_990_000 picoseconds.
197		Weight::from_parts(27_370_000, 6220)
198			.saturating_add(T::DbWeight::get().reads(4_u64))
199			.saturating_add(T::DbWeight::get().writes(2_u64))
200	}
201	/// Storage: `Psm::ExternalAssets` (r:1 w:1)
202	/// Proof: `Psm::ExternalAssets` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`)
203	/// Storage: `Psm::PsmDebt` (r:1 w:1)
204	/// Proof: `Psm::PsmDebt` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
205	/// Storage: `Psm::CounterForExternalAssets` (r:1 w:1)
206	/// Proof: `Psm::CounterForExternalAssets` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
207	/// Storage: `Psm::AssetCeilingWeight` (r:0 w:1)
208	/// Proof: `Psm::AssetCeilingWeight` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
209	/// Storage: `Psm::MintingFee` (r:0 w:1)
210	/// Proof: `Psm::MintingFee` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
211	/// Storage: `Psm::RedemptionFee` (r:0 w:1)
212	/// Proof: `Psm::RedemptionFee` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
213	fn remove_external_asset() -> Weight {
214		// Proof Size summary in bytes:
215		//  Measured:  `417`
216		//  Estimated: `3501`
217		// Minimum execution time: 27_390_000 picoseconds.
218		Weight::from_parts(29_621_000, 3501)
219			.saturating_add(T::DbWeight::get().reads(3_u64))
220			.saturating_add(T::DbWeight::get().writes(6_u64))
221	}
222	// Placeholder until benchmarks run; estimated like `add_external_asset`.
223	fn create_psm() -> Weight {
224		Weight::from_parts(30_000_000, 3501)
225			.saturating_add(T::DbWeight::get().reads(3_u64))
226			.saturating_add(T::DbWeight::get().writes(3_u64))
227	}
228	fn remove_psm() -> Weight {
229		Weight::from_parts(25_000_000, 3501)
230			.saturating_add(T::DbWeight::get().reads(2_u64))
231			.saturating_add(T::DbWeight::get().writes(2_u64))
232	}
233	fn set_full_admin() -> Weight {
234		Weight::from_parts(20_000_000, 3501)
235			.saturating_add(T::DbWeight::get().reads(1_u64))
236			.saturating_add(T::DbWeight::get().writes(1_u64))
237	}
238	fn set_emergency_admin() -> Weight {
239		Weight::from_parts(20_000_000, 3501)
240			.saturating_add(T::DbWeight::get().reads(1_u64))
241			.saturating_add(T::DbWeight::get().writes(1_u64))
242	}
243}
244
245// For backwards compatibility and tests.
246impl WeightInfo for () {
247	/// Storage: `Psm::ExternalAssets` (r:1 w:0)
248	/// Proof: `Psm::ExternalAssets` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`)
249	/// Storage: `Psm::MintingFee` (r:1 w:0)
250	/// Proof: `Psm::MintingFee` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
251	/// Storage: `Assets::Asset` (r:2 w:2)
252	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
253	/// Storage: `Psm::PsmDebt` (r:11 w:1)
254	/// Proof: `Psm::PsmDebt` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
255	/// Storage: `Psm::MaxPsmDebtOfTotal` (r:1 w:0)
256	/// Proof: `Psm::MaxPsmDebtOfTotal` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
257	/// Storage: `Psm::AssetCeilingWeight` (r:11 w:0)
258	/// Proof: `Psm::AssetCeilingWeight` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
259	/// Storage: `Assets::Account` (r:4 w:4)
260	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
261	/// Storage: `System::Account` (r:2 w:2)
262	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
263	/// The range of component `n` is `[1, 10]`.
264	fn mint(n: u32, ) -> Weight {
265		// Proof Size summary in bytes:
266		//  Measured:  `1387 + n * (88 ±0)`
267		//  Estimated: `11426 + n * (2511 ±0)`
268		// Minimum execution time: 133_370_000 picoseconds.
269		Weight::from_parts(134_621_616, 11426)
270			// Standard Error: 20_624
271			.saturating_add(Weight::from_parts(8_263_331, 0).saturating_mul(n.into()))
272			.saturating_add(RocksDbWeight::get().reads(13_u64))
273			.saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(n.into())))
274			.saturating_add(RocksDbWeight::get().writes(9_u64))
275			.saturating_add(Weight::from_parts(0, 2511).saturating_mul(n.into()))
276	}
277	/// Storage: `Psm::ExternalAssets` (r:1 w:0)
278	/// Proof: `Psm::ExternalAssets` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`)
279	/// Storage: `Psm::RedemptionFee` (r:1 w:0)
280	/// Proof: `Psm::RedemptionFee` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
281	/// Storage: `Psm::PsmDebt` (r:1 w:1)
282	/// Proof: `Psm::PsmDebt` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
283	/// Storage: `Assets::Account` (r:4 w:4)
284	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
285	/// Storage: `Assets::Asset` (r:2 w:2)
286	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
287	fn redeem() -> Weight {
288		// Proof Size summary in bytes:
289		//  Measured:  `1459`
290		//  Estimated: `11426`
291		// Minimum execution time: 137_370_000 picoseconds.
292		Weight::from_parts(145_389_000, 11426)
293			.saturating_add(RocksDbWeight::get().reads(9_u64))
294			.saturating_add(RocksDbWeight::get().writes(7_u64))
295	}
296	/// Storage: `Psm::MintingFee` (r:1 w:1)
297	/// Proof: `Psm::MintingFee` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
298	fn set_minting_fee() -> Weight {
299		// Proof Size summary in bytes:
300		//  Measured:  `396`
301		//  Estimated: `3489`
302		// Minimum execution time: 14_810_000 picoseconds.
303		Weight::from_parts(16_760_000, 3489)
304			.saturating_add(RocksDbWeight::get().reads(1_u64))
305			.saturating_add(RocksDbWeight::get().writes(1_u64))
306	}
307	/// Storage: `Psm::RedemptionFee` (r:1 w:1)
308	/// Proof: `Psm::RedemptionFee` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
309	fn set_redemption_fee() -> Weight {
310		// Proof Size summary in bytes:
311		//  Measured:  `396`
312		//  Estimated: `3489`
313		// Minimum execution time: 14_910_000 picoseconds.
314		Weight::from_parts(16_661_000, 3489)
315			.saturating_add(RocksDbWeight::get().reads(1_u64))
316			.saturating_add(RocksDbWeight::get().writes(1_u64))
317	}
318	/// Storage: `Psm::MaxPsmDebtOfTotal` (r:1 w:1)
319	/// Proof: `Psm::MaxPsmDebtOfTotal` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
320	fn set_max_debt() -> Weight {
321		// Proof Size summary in bytes:
322		//  Measured:  `306`
323		//  Estimated: `1489`
324		// Minimum execution time: 9_990_000 picoseconds.
325		Weight::from_parts(11_200_000, 1489)
326			.saturating_add(RocksDbWeight::get().reads(1_u64))
327			.saturating_add(RocksDbWeight::get().writes(1_u64))
328	}
329	/// Storage: `Psm::ExternalAssets` (r:1 w:1)
330	/// Proof: `Psm::ExternalAssets` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`)
331	fn set_asset_status() -> Weight {
332		// Proof Size summary in bytes:
333		//  Measured:  `405`
334		//  Estimated: `3486`
335		// Minimum execution time: 17_270_000 picoseconds.
336		Weight::from_parts(19_160_000, 3486)
337			.saturating_add(RocksDbWeight::get().reads(1_u64))
338			.saturating_add(RocksDbWeight::get().writes(1_u64))
339	}
340	/// Storage: `Psm::ExternalAssets` (r:1 w:0)
341	/// Proof: `Psm::ExternalAssets` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`)
342	/// Storage: `Psm::AssetCeilingWeight` (r:1 w:1)
343	/// Proof: `Psm::AssetCeilingWeight` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
344	fn set_asset_ceiling_weight() -> Weight {
345		// Proof Size summary in bytes:
346		//  Measured:  `454`
347		//  Estimated: `3489`
348		// Minimum execution time: 19_381_000 picoseconds.
349		Weight::from_parts(21_310_000, 3489)
350			.saturating_add(RocksDbWeight::get().reads(2_u64))
351			.saturating_add(RocksDbWeight::get().writes(1_u64))
352	}
353	/// Storage: `Psm::ExternalAssets` (r:1 w:1)
354	/// Proof: `Psm::ExternalAssets` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`)
355	/// Storage: `Psm::CounterForExternalAssets` (r:1 w:1)
356	/// Proof: `Psm::CounterForExternalAssets` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
357	/// Storage: `Assets::Metadata` (r:2 w:0)
358	/// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
359	fn add_external_asset() -> Weight {
360		// Proof Size summary in bytes:
361		//  Measured:  `560`
362		//  Estimated: `6220`
363		// Minimum execution time: 24_990_000 picoseconds.
364		Weight::from_parts(27_370_000, 6220)
365			.saturating_add(RocksDbWeight::get().reads(4_u64))
366			.saturating_add(RocksDbWeight::get().writes(2_u64))
367	}
368	/// Storage: `Psm::ExternalAssets` (r:1 w:1)
369	/// Proof: `Psm::ExternalAssets` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`)
370	/// Storage: `Psm::PsmDebt` (r:1 w:1)
371	/// Proof: `Psm::PsmDebt` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
372	/// Storage: `Psm::CounterForExternalAssets` (r:1 w:1)
373	/// Proof: `Psm::CounterForExternalAssets` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
374	/// Storage: `Psm::AssetCeilingWeight` (r:0 w:1)
375	/// Proof: `Psm::AssetCeilingWeight` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
376	/// Storage: `Psm::MintingFee` (r:0 w:1)
377	/// Proof: `Psm::MintingFee` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
378	/// Storage: `Psm::RedemptionFee` (r:0 w:1)
379	/// Proof: `Psm::RedemptionFee` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
380	fn remove_external_asset() -> Weight {
381		// Proof Size summary in bytes:
382		//  Measured:  `417`
383		//  Estimated: `3501`
384		// Minimum execution time: 27_390_000 picoseconds.
385		Weight::from_parts(29_621_000, 3501)
386			.saturating_add(RocksDbWeight::get().reads(3_u64))
387			.saturating_add(RocksDbWeight::get().writes(6_u64))
388	}
389	// Placeholder until benchmarks run; estimated like `add_external_asset`.
390	fn create_psm() -> Weight {
391		Weight::from_parts(30_000_000, 3501)
392			.saturating_add(RocksDbWeight::get().reads(3_u64))
393			.saturating_add(RocksDbWeight::get().writes(3_u64))
394	}
395	fn remove_psm() -> Weight {
396		Weight::from_parts(25_000_000, 3501)
397			.saturating_add(RocksDbWeight::get().reads(2_u64))
398			.saturating_add(RocksDbWeight::get().writes(2_u64))
399	}
400	fn set_full_admin() -> Weight {
401		Weight::from_parts(20_000_000, 3501)
402			.saturating_add(RocksDbWeight::get().reads(1_u64))
403			.saturating_add(RocksDbWeight::get().writes(1_u64))
404	}
405	fn set_emergency_admin() -> Weight {
406		Weight::from_parts(20_000_000, 3501)
407			.saturating_add(RocksDbWeight::get().reads(1_u64))
408			.saturating_add(RocksDbWeight::get().writes(1_u64))
409	}
410}