1
// Copyright (C) Moondance Labs Ltd.
2
// This file is part of Tanssi.
3

            
4
// Tanssi is free software: you can redistribute it and/or modify
5
// it under the terms of the GNU General Public License as published by
6
// the Free Software Foundation, either version 3 of the License, or
7
// (at your option) any later version.
8

            
9
// Tanssi is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
// GNU General Public License for more details.
13

            
14
// You should have received a copy of the GNU General Public License
15
// along with Tanssi.  If not, see <http://www.gnu.org/licenses/>
16

            
17

            
18
//! Autogenerated weights for pallet_multisig
19
//!
20
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
21
//! DATE: 2025-05-05, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
22
//! WORST CASE MAP SIZE: `1000000`
23
//! HOSTNAME: `benchmark-1`, CPU: `Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz`
24
//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("starlight-dev"), DB CACHE: 1024
25

            
26
// Executed Command:
27
// target/release/tanssi-relay
28
// benchmark
29
// pallet
30
// --execution=wasm
31
// --wasm-execution=compiled
32
// --pallet
33
// pallet_multisig
34
// --extrinsic
35
// *
36
// --chain=starlight-dev
37
// --steps
38
// 50
39
// --repeat
40
// 20
41
// --template=benchmarking/frame-weight-runtime-template.hbs
42
// --json-file
43
// raw.json
44
// --output
45
// tmp/starlight_weights/pallet_multisig.rs
46

            
47
#![cfg_attr(rustfmt, rustfmt_skip)]
48
#![allow(unused_parens)]
49
#![allow(unused_imports)]
50

            
51
use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
52
use sp_std::marker::PhantomData;
53

            
54
/// Weights for pallet_multisig using the Substrate node and recommended hardware.
55
pub struct SubstrateWeight<T>(PhantomData<T>);
56
impl<T: frame_system::Config> pallet_multisig::WeightInfo for SubstrateWeight<T> {
57
	/// The range of component `z` is `[0, 10000]`.
58
	fn as_multi_threshold_1(z: u32, ) -> Weight {
59
		// Proof Size summary in bytes:
60
		//  Measured:  `0`
61
		//  Estimated: `0`
62
		// Minimum execution time: 19_153_000 picoseconds.
63
		Weight::from_parts(20_177_100, 0)
64
			// Standard Error: 2
65
			.saturating_add(Weight::from_parts(528, 0).saturating_mul(z.into()))
66
	}
67
	/// Storage: `Multisig::Multisigs` (r:1 w:1)
68
	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
69
	/// The range of component `s` is `[2, 100]`.
70
	/// The range of component `z` is `[0, 10000]`.
71
	fn as_multi_create(s: u32, z: u32, ) -> Weight {
72
		// Proof Size summary in bytes:
73
		//  Measured:  `367 + s * (2 ±0)`
74
		//  Estimated: `6811`
75
		// Minimum execution time: 59_575_000 picoseconds.
76
		Weight::from_parts(47_717_372, 6811)
77
			// Standard Error: 870
78
			.saturating_add(Weight::from_parts(141_930, 0).saturating_mul(s.into()))
79
			// Standard Error: 8
80
			.saturating_add(Weight::from_parts(1_977, 0).saturating_mul(z.into()))
81
			.saturating_add(T::DbWeight::get().reads(1_u64))
82
			.saturating_add(T::DbWeight::get().writes(1_u64))
83
	}
84
	/// Storage: `Multisig::Multisigs` (r:1 w:1)
85
	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
86
	/// The range of component `s` is `[3, 100]`.
87
	/// The range of component `z` is `[0, 10000]`.
88
	fn as_multi_approve(s: u32, z: u32, ) -> Weight {
89
		// Proof Size summary in bytes:
90
		//  Measured:  `386`
91
		//  Estimated: `6811`
92
		// Minimum execution time: 39_692_000 picoseconds.
93
		Weight::from_parts(27_604_152, 6811)
94
			// Standard Error: 757
95
			.saturating_add(Weight::from_parts(128_264, 0).saturating_mul(s.into()))
96
			// Standard Error: 7
97
			.saturating_add(Weight::from_parts(1_985, 0).saturating_mul(z.into()))
98
			.saturating_add(T::DbWeight::get().reads(1_u64))
99
			.saturating_add(T::DbWeight::get().writes(1_u64))
100
	}
101
	/// Storage: `Multisig::Multisigs` (r:1 w:1)
102
	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
103
	/// Storage: `System::Account` (r:1 w:1)
104
	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
105
	/// The range of component `s` is `[2, 100]`.
106
	/// The range of component `z` is `[0, 10000]`.
107
	fn as_multi_complete(s: u32, z: u32, ) -> Weight {
108
		// Proof Size summary in bytes:
109
		//  Measured:  `492 + s * (33 ±0)`
110
		//  Estimated: `6811`
111
		// Minimum execution time: 66_040_000 picoseconds.
112
		Weight::from_parts(51_173_046, 6811)
113
			// Standard Error: 1_034
114
			.saturating_add(Weight::from_parts(163_579, 0).saturating_mul(s.into()))
115
			// Standard Error: 10
116
			.saturating_add(Weight::from_parts(2_012, 0).saturating_mul(z.into()))
117
			.saturating_add(T::DbWeight::get().reads(2_u64))
118
			.saturating_add(T::DbWeight::get().writes(2_u64))
119
	}
120
	/// Storage: `Multisig::Multisigs` (r:1 w:1)
121
	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
122
	/// The range of component `s` is `[2, 100]`.
123
	/// The range of component `z` is `[0, 10000]`.
124
	fn approve_as_multi_create(s: u32) -> Weight {
125
		// Proof Size summary in bytes:
126
		//  Measured:  `367 + s * (2 ±0)`
127
		//  Estimated: `6811`
128
		// Minimum execution time: 44_726_000 picoseconds.
129
		Weight::from_parts(45_493_238, 6811)
130
			// Standard Error: 830
131
			.saturating_add(Weight::from_parts(140_609, 0).saturating_mul(s.into()))
132
			// Standard Error: 8
133
			.saturating_add(T::DbWeight::get().reads(1_u64))
134
			.saturating_add(T::DbWeight::get().writes(1_u64))
135
	}
136
	/// Storage: `Multisig::Multisigs` (r:1 w:1)
137
	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
138
	/// The range of component `s` is `[2, 100]`.
139
	/// The range of component `z` is `[0, 10000]`.
140
	fn approve_as_multi_approve(s: u32) -> Weight {
141
		// Proof Size summary in bytes:
142
		//  Measured:  `386`
143
		//  Estimated: `6811`
144
		// Minimum execution time: 25_731_000 picoseconds.
145
		Weight::from_parts(25_728_008, 6811)
146
			// Standard Error: 732
147
			.saturating_add(Weight::from_parts(124_973, 0).saturating_mul(s.into()))
148
			// Standard Error: 7
149
			.saturating_add(T::DbWeight::get().reads(1_u64))
150
			.saturating_add(T::DbWeight::get().writes(1_u64))
151
	}
152
	/// Storage: `Multisig::Multisigs` (r:1 w:1)
153
	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
154
	/// The range of component `s` is `[2, 100]`.
155
	/// The range of component `z` is `[0, 10000]`.
156
	fn cancel_as_multi(s: u32) -> Weight {
157
		// Proof Size summary in bytes:
158
		//  Measured:  `558 + s * (1 ±0)`
159
		//  Estimated: `6811`
160
		// Minimum execution time: 45_067_000 picoseconds.
161
		Weight::from_parts(45_354_859, 6811)
162
			// Standard Error: 866
163
			.saturating_add(Weight::from_parts(134_322, 0).saturating_mul(s.into()))
164
			// Standard Error: 8
165
			.saturating_add(T::DbWeight::get().reads(1_u64))
166
			.saturating_add(T::DbWeight::get().writes(1_u64))
167
	}
168
}