quantus_cli/chain/
quantus_subxt.rs

1#[allow(dead_code, unused_imports, non_camel_case_types, unreachable_patterns)]
2#[allow(clippy::all)]
3#[allow(rustdoc::broken_intra_doc_links)]
4pub mod api {
5	#[allow(unused_imports)]
6	mod root_mod {
7		pub use super::*;
8	}
9	pub static PALLETS: [&str; 21usize] = [
10		"System",
11		"Timestamp",
12		"Balances",
13		"TransactionPayment",
14		"Sudo",
15		"QPoW",
16		"Wormhole",
17		"MiningRewards",
18		"Vesting",
19		"Preimage",
20		"Scheduler",
21		"Utility",
22		"Referenda",
23		"ReversibleTransfers",
24		"ConvictionVoting",
25		"TechCollective",
26		"TechReferenda",
27		"MerkleAirdrop",
28		"TreasuryPallet",
29		"Origins",
30		"Recovery",
31	];
32	pub static RUNTIME_APIS: [&str; 11usize] = [
33		"Core",
34		"Metadata",
35		"BlockBuilder",
36		"TaggedTransactionQueue",
37		"OffchainWorkerApi",
38		"SessionKeys",
39		"QPoWApi",
40		"AccountNonceApi",
41		"TransactionPaymentApi",
42		"TransactionPaymentCallApi",
43		"GenesisBuilder",
44	];
45	#[doc = r" The error type that is returned when there is a runtime issue."]
46	pub type DispatchError = runtime_types::sp_runtime::DispatchError;
47	#[doc = r" The outer event enum."]
48	pub type Event = runtime_types::quantus_runtime::RuntimeEvent;
49	#[doc = r" The outer extrinsic enum."]
50	pub type Call = runtime_types::quantus_runtime::RuntimeCall;
51	#[doc = r" The outer error enum represents the DispatchError's Module variant."]
52	pub type Error = runtime_types::quantus_runtime::RuntimeError;
53	pub fn constants() -> ConstantsApi {
54		ConstantsApi
55	}
56	pub fn storage() -> StorageApi {
57		StorageApi
58	}
59	pub fn tx() -> TransactionApi {
60		TransactionApi
61	}
62	pub fn apis() -> runtime_apis::RuntimeApi {
63		runtime_apis::RuntimeApi
64	}
65	pub mod runtime_apis {
66		use super::{root_mod, runtime_types};
67		use ::subxt::ext::subxt_core::ext::codec::Encode;
68		pub struct RuntimeApi;
69		impl RuntimeApi {
70			pub fn core(&self) -> core::Core {
71				core::Core
72			}
73			pub fn metadata(&self) -> metadata::Metadata {
74				metadata::Metadata
75			}
76			pub fn block_builder(&self) -> block_builder::BlockBuilder {
77				block_builder::BlockBuilder
78			}
79			pub fn tagged_transaction_queue(
80				&self,
81			) -> tagged_transaction_queue::TaggedTransactionQueue {
82				tagged_transaction_queue::TaggedTransactionQueue
83			}
84			pub fn offchain_worker_api(&self) -> offchain_worker_api::OffchainWorkerApi {
85				offchain_worker_api::OffchainWorkerApi
86			}
87			pub fn session_keys(&self) -> session_keys::SessionKeys {
88				session_keys::SessionKeys
89			}
90			pub fn q_po_w_api(&self) -> q_po_w_api::QPoWApi {
91				q_po_w_api::QPoWApi
92			}
93			pub fn account_nonce_api(&self) -> account_nonce_api::AccountNonceApi {
94				account_nonce_api::AccountNonceApi
95			}
96			pub fn transaction_payment_api(
97				&self,
98			) -> transaction_payment_api::TransactionPaymentApi {
99				transaction_payment_api::TransactionPaymentApi
100			}
101			pub fn transaction_payment_call_api(
102				&self,
103			) -> transaction_payment_call_api::TransactionPaymentCallApi {
104				transaction_payment_call_api::TransactionPaymentCallApi
105			}
106			pub fn genesis_builder(&self) -> genesis_builder::GenesisBuilder {
107				genesis_builder::GenesisBuilder
108			}
109		}
110		pub mod core {
111			use super::{root_mod, runtime_types};
112			#[doc = " The `Core` runtime api that every Substrate runtime needs to implement."]
113			pub struct Core;
114			impl Core {
115				#[doc = " Returns the version of the runtime."]
116				pub fn version(
117					&self,
118				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
119					types::Version,
120					types::version::output::Output,
121				> {
122					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
123						"Core",
124						"version",
125						types::Version {},
126						[
127							79u8, 22u8, 137u8, 4u8, 40u8, 64u8, 30u8, 180u8, 49u8, 222u8, 114u8,
128							125u8, 44u8, 25u8, 33u8, 152u8, 98u8, 42u8, 72u8, 178u8, 240u8, 103u8,
129							34u8, 187u8, 81u8, 161u8, 183u8, 6u8, 120u8, 2u8, 146u8, 0u8,
130						],
131					)
132				}
133				#[doc = " Execute the given block."]
134				pub fn execute_block(
135					&self,
136					block: types::execute_block::Block,
137				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
138					types::ExecuteBlock,
139					types::execute_block::output::Output,
140				> {
141					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
142						"Core",
143						"execute_block",
144						types::ExecuteBlock { block },
145						[
146							133u8, 135u8, 228u8, 65u8, 106u8, 27u8, 85u8, 158u8, 112u8, 254u8,
147							93u8, 26u8, 102u8, 201u8, 118u8, 216u8, 249u8, 247u8, 91u8, 74u8, 56u8,
148							208u8, 231u8, 115u8, 131u8, 29u8, 209u8, 6u8, 65u8, 57u8, 214u8, 125u8,
149						],
150					)
151				}
152				#[doc = " Initialize a block with the given header and return the runtime executive mode."]
153				pub fn initialize_block(
154					&self,
155					header: types::initialize_block::Header,
156				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
157					types::InitializeBlock,
158					types::initialize_block::output::Output,
159				> {
160					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
161						"Core",
162						"initialize_block",
163						types::InitializeBlock { header },
164						[
165							132u8, 169u8, 113u8, 112u8, 80u8, 139u8, 113u8, 35u8, 41u8, 81u8, 36u8,
166							35u8, 37u8, 202u8, 29u8, 207u8, 205u8, 229u8, 145u8, 7u8, 133u8, 94u8,
167							25u8, 108u8, 233u8, 86u8, 234u8, 29u8, 236u8, 57u8, 56u8, 186u8,
168						],
169					)
170				}
171			}
172			pub mod types {
173				use super::runtime_types;
174				pub mod version {
175					use super::runtime_types;
176					pub mod output {
177						use super::runtime_types;
178						pub type Output = runtime_types::sp_version::RuntimeVersion;
179					}
180				}
181				#[derive(
182					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
183					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
184					Debug,
185				)]
186				#[decode_as_type(
187					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
188				)]
189				#[encode_as_type(
190					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
191				)]
192				pub struct Version {}
193				pub mod execute_block {
194					use super::runtime_types;
195					pub type Block = runtime_types :: sp_runtime :: generic :: block :: Block < runtime_types :: sp_runtime :: generic :: header :: Header < :: core :: primitive :: u32 > , :: subxt :: ext :: subxt_core :: utils :: UncheckedExtrinsic < :: subxt :: ext :: subxt_core :: utils :: MultiAddress < :: subxt :: ext :: subxt_core :: utils :: AccountId32 , () > , runtime_types :: quantus_runtime :: RuntimeCall , runtime_types :: dilithium_crypto :: types :: DilithiumSignatureScheme , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: frame_metadata_hash_extension :: CheckMetadataHash , runtime_types :: quantus_runtime :: transaction_extensions :: ReversibleTransactionExtension ,) > > ;
196					pub mod output {
197						use super::runtime_types;
198						pub type Output = ();
199					}
200				}
201				#[derive(
202					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
203					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
204					Debug,
205				)]
206				#[decode_as_type(
207					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
208				)]
209				#[encode_as_type(
210					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
211				)]
212				pub struct ExecuteBlock {
213					pub block: execute_block::Block,
214				}
215				pub mod initialize_block {
216					use super::runtime_types;
217					pub type Header =
218						runtime_types::sp_runtime::generic::header::Header<::core::primitive::u32>;
219					pub mod output {
220						use super::runtime_types;
221						pub type Output = runtime_types::sp_runtime::ExtrinsicInclusionMode;
222					}
223				}
224				#[derive(
225					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
226					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
227					Debug,
228				)]
229				#[decode_as_type(
230					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
231				)]
232				#[encode_as_type(
233					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
234				)]
235				pub struct InitializeBlock {
236					pub header: initialize_block::Header,
237				}
238			}
239		}
240		pub mod metadata {
241			use super::{root_mod, runtime_types};
242			#[doc = " The `Metadata` api trait that returns metadata for the runtime."]
243			pub struct Metadata;
244			impl Metadata {
245				#[doc = " Returns the metadata of a runtime."]
246				pub fn metadata(
247					&self,
248				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
249					types::Metadata,
250					types::metadata::output::Output,
251				> {
252					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
253						"Metadata",
254						"metadata",
255						types::Metadata {},
256						[
257							231u8, 24u8, 67u8, 152u8, 23u8, 26u8, 188u8, 82u8, 229u8, 6u8, 185u8,
258							27u8, 175u8, 68u8, 83u8, 122u8, 69u8, 89u8, 185u8, 74u8, 248u8, 87u8,
259							217u8, 124u8, 193u8, 252u8, 199u8, 186u8, 196u8, 179u8, 179u8, 96u8,
260						],
261					)
262				}
263				#[doc = " Returns the metadata at a given version."]
264				#[doc = ""]
265				#[doc = " If the given `version` isn't supported, this will return `None`."]
266				#[doc = " Use [`Self::metadata_versions`] to find out about supported metadata version of the runtime."]
267				pub fn metadata_at_version(
268					&self,
269					version: types::metadata_at_version::Version,
270				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
271					types::MetadataAtVersion,
272					types::metadata_at_version::output::Output,
273				> {
274					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
275						"Metadata",
276						"metadata_at_version",
277						types::MetadataAtVersion { version },
278						[
279							131u8, 53u8, 212u8, 234u8, 16u8, 25u8, 120u8, 252u8, 153u8, 153u8,
280							216u8, 28u8, 54u8, 113u8, 52u8, 236u8, 146u8, 68u8, 142u8, 8u8, 10u8,
281							169u8, 131u8, 142u8, 204u8, 38u8, 48u8, 108u8, 134u8, 86u8, 226u8,
282							61u8,
283						],
284					)
285				}
286				#[doc = " Returns the supported metadata versions."]
287				#[doc = ""]
288				#[doc = " This can be used to call `metadata_at_version`."]
289				pub fn metadata_versions(
290					&self,
291				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
292					types::MetadataVersions,
293					types::metadata_versions::output::Output,
294				> {
295					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
296						"Metadata",
297						"metadata_versions",
298						types::MetadataVersions {},
299						[
300							23u8, 144u8, 137u8, 91u8, 188u8, 39u8, 231u8, 208u8, 252u8, 218u8,
301							224u8, 176u8, 77u8, 32u8, 130u8, 212u8, 223u8, 76u8, 100u8, 190u8,
302							82u8, 94u8, 190u8, 8u8, 82u8, 244u8, 225u8, 179u8, 85u8, 176u8, 56u8,
303							16u8,
304						],
305					)
306				}
307			}
308			pub mod types {
309				use super::runtime_types;
310				pub mod metadata {
311					use super::runtime_types;
312					pub mod output {
313						use super::runtime_types;
314						pub type Output = runtime_types::sp_core::OpaqueMetadata;
315					}
316				}
317				#[derive(
318					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
319					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
320					Debug,
321				)]
322				#[decode_as_type(
323					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
324				)]
325				#[encode_as_type(
326					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
327				)]
328				pub struct Metadata {}
329				pub mod metadata_at_version {
330					use super::runtime_types;
331					pub type Version = ::core::primitive::u32;
332					pub mod output {
333						use super::runtime_types;
334						pub type Output =
335							::core::option::Option<runtime_types::sp_core::OpaqueMetadata>;
336					}
337				}
338				#[derive(
339					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
340					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
341					Debug,
342				)]
343				#[decode_as_type(
344					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
345				)]
346				#[encode_as_type(
347					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
348				)]
349				pub struct MetadataAtVersion {
350					pub version: metadata_at_version::Version,
351				}
352				pub mod metadata_versions {
353					use super::runtime_types;
354					pub mod output {
355						use super::runtime_types;
356						pub type Output =
357							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u32>;
358					}
359				}
360				#[derive(
361					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
362					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
363					Debug,
364				)]
365				#[decode_as_type(
366					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
367				)]
368				#[encode_as_type(
369					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
370				)]
371				pub struct MetadataVersions {}
372			}
373		}
374		pub mod block_builder {
375			use super::{root_mod, runtime_types};
376			#[doc = " The `BlockBuilder` api trait that provides the required functionality for building a block."]
377			pub struct BlockBuilder;
378			impl BlockBuilder {
379				#[doc = " Apply the given extrinsic."]
380				#[doc = ""]
381				#[doc = " Returns an inclusion outcome which specifies if this extrinsic is included in"]
382				#[doc = " this block or not."]
383				pub fn apply_extrinsic(
384					&self,
385					extrinsic: types::apply_extrinsic::Extrinsic,
386				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
387					types::ApplyExtrinsic,
388					types::apply_extrinsic::output::Output,
389				> {
390					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
391						"BlockBuilder",
392						"apply_extrinsic",
393						types::ApplyExtrinsic { extrinsic },
394						[
395							192u8, 184u8, 199u8, 4u8, 85u8, 136u8, 214u8, 205u8, 29u8, 29u8, 98u8,
396							145u8, 172u8, 92u8, 168u8, 161u8, 150u8, 133u8, 100u8, 243u8, 100u8,
397							100u8, 118u8, 28u8, 104u8, 82u8, 93u8, 63u8, 79u8, 36u8, 149u8, 144u8,
398						],
399					)
400				}
401				#[doc = " Finish the current block."]
402				pub fn finalize_block(
403					&self,
404				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
405					types::FinalizeBlock,
406					types::finalize_block::output::Output,
407				> {
408					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
409						"BlockBuilder",
410						"finalize_block",
411						types::FinalizeBlock {},
412						[
413							244u8, 207u8, 24u8, 33u8, 13u8, 69u8, 9u8, 249u8, 145u8, 143u8, 122u8,
414							96u8, 197u8, 55u8, 64u8, 111u8, 238u8, 224u8, 34u8, 201u8, 27u8, 146u8,
415							232u8, 99u8, 191u8, 30u8, 114u8, 16u8, 32u8, 220u8, 58u8, 62u8,
416						],
417					)
418				}
419				#[doc = " Generate inherent extrinsics. The inherent data will vary from chain to chain."]
420				pub fn inherent_extrinsics(
421					&self,
422					inherent: types::inherent_extrinsics::Inherent,
423				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
424					types::InherentExtrinsics,
425					types::inherent_extrinsics::output::Output,
426				> {
427					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
428						"BlockBuilder",
429						"inherent_extrinsics",
430						types::InherentExtrinsics { inherent },
431						[
432							254u8, 110u8, 245u8, 201u8, 250u8, 192u8, 27u8, 228u8, 151u8, 213u8,
433							166u8, 89u8, 94u8, 81u8, 189u8, 234u8, 64u8, 18u8, 245u8, 80u8, 29u8,
434							18u8, 140u8, 129u8, 113u8, 236u8, 135u8, 55u8, 79u8, 159u8, 175u8,
435							183u8,
436						],
437					)
438				}
439				#[doc = " Check that the inherents are valid. The inherent data will vary from chain to chain."]
440				pub fn check_inherents(
441					&self,
442					block: types::check_inherents::Block,
443					data: types::check_inherents::Data,
444				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
445					types::CheckInherents,
446					types::check_inherents::output::Output,
447				> {
448					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
449						"BlockBuilder",
450						"check_inherents",
451						types::CheckInherents { block, data },
452						[
453							153u8, 134u8, 1u8, 215u8, 139u8, 11u8, 53u8, 51u8, 210u8, 175u8, 197u8,
454							28u8, 38u8, 209u8, 175u8, 247u8, 142u8, 157u8, 50u8, 151u8, 164u8,
455							191u8, 181u8, 118u8, 80u8, 97u8, 160u8, 248u8, 110u8, 217u8, 181u8,
456							234u8,
457						],
458					)
459				}
460			}
461			pub mod types {
462				use super::runtime_types;
463				pub mod apply_extrinsic {
464					use super::runtime_types;
465					pub type Extrinsic = :: subxt :: ext :: subxt_core :: utils :: UncheckedExtrinsic < :: subxt :: ext :: subxt_core :: utils :: MultiAddress < :: subxt :: ext :: subxt_core :: utils :: AccountId32 , () > , runtime_types :: quantus_runtime :: RuntimeCall , runtime_types :: dilithium_crypto :: types :: DilithiumSignatureScheme , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: frame_metadata_hash_extension :: CheckMetadataHash , runtime_types :: quantus_runtime :: transaction_extensions :: ReversibleTransactionExtension ,) > ;
466					pub mod output {
467						use super::runtime_types;
468						pub type Output = :: core :: result :: Result < :: core :: result :: Result < () , runtime_types :: sp_runtime :: DispatchError > , runtime_types :: sp_runtime :: transaction_validity :: TransactionValidityError > ;
469					}
470				}
471				#[derive(
472					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
473					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
474					Debug,
475				)]
476				#[decode_as_type(
477					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
478				)]
479				#[encode_as_type(
480					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
481				)]
482				pub struct ApplyExtrinsic {
483					pub extrinsic: apply_extrinsic::Extrinsic,
484				}
485				pub mod finalize_block {
486					use super::runtime_types;
487					pub mod output {
488						use super::runtime_types;
489						pub type Output = runtime_types::sp_runtime::generic::header::Header<
490							::core::primitive::u32,
491						>;
492					}
493				}
494				#[derive(
495					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
496					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
497					Debug,
498				)]
499				#[decode_as_type(
500					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
501				)]
502				#[encode_as_type(
503					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
504				)]
505				pub struct FinalizeBlock {}
506				pub mod inherent_extrinsics {
507					use super::runtime_types;
508					pub type Inherent = runtime_types::sp_inherents::InherentData;
509					pub mod output {
510						use super::runtime_types;
511						pub type Output = :: subxt :: ext :: subxt_core :: alloc :: vec :: Vec < :: subxt :: ext :: subxt_core :: utils :: UncheckedExtrinsic < :: subxt :: ext :: subxt_core :: utils :: MultiAddress < :: subxt :: ext :: subxt_core :: utils :: AccountId32 , () > , runtime_types :: quantus_runtime :: RuntimeCall , runtime_types :: dilithium_crypto :: types :: DilithiumSignatureScheme , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: frame_metadata_hash_extension :: CheckMetadataHash , runtime_types :: quantus_runtime :: transaction_extensions :: ReversibleTransactionExtension ,) > > ;
512					}
513				}
514				#[derive(
515					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
516					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
517					Debug,
518				)]
519				#[decode_as_type(
520					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
521				)]
522				#[encode_as_type(
523					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
524				)]
525				pub struct InherentExtrinsics {
526					pub inherent: inherent_extrinsics::Inherent,
527				}
528				pub mod check_inherents {
529					use super::runtime_types;
530					pub type Block = runtime_types :: sp_runtime :: generic :: block :: Block < runtime_types :: sp_runtime :: generic :: header :: Header < :: core :: primitive :: u32 > , :: subxt :: ext :: subxt_core :: utils :: UncheckedExtrinsic < :: subxt :: ext :: subxt_core :: utils :: MultiAddress < :: subxt :: ext :: subxt_core :: utils :: AccountId32 , () > , runtime_types :: quantus_runtime :: RuntimeCall , runtime_types :: dilithium_crypto :: types :: DilithiumSignatureScheme , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: frame_metadata_hash_extension :: CheckMetadataHash , runtime_types :: quantus_runtime :: transaction_extensions :: ReversibleTransactionExtension ,) > > ;
531					pub type Data = runtime_types::sp_inherents::InherentData;
532					pub mod output {
533						use super::runtime_types;
534						pub type Output = runtime_types::sp_inherents::CheckInherentsResult;
535					}
536				}
537				#[derive(
538					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
539					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
540					Debug,
541				)]
542				#[decode_as_type(
543					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
544				)]
545				#[encode_as_type(
546					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
547				)]
548				pub struct CheckInherents {
549					pub block: check_inherents::Block,
550					pub data: check_inherents::Data,
551				}
552			}
553		}
554		pub mod tagged_transaction_queue {
555			use super::{root_mod, runtime_types};
556			#[doc = " The `TaggedTransactionQueue` api trait for interfering with the transaction queue."]
557			pub struct TaggedTransactionQueue;
558			impl TaggedTransactionQueue {
559				#[doc = " Validate the transaction."]
560				#[doc = ""]
561				#[doc = " This method is invoked by the transaction pool to learn details about given transaction."]
562				#[doc = " The implementation should make sure to verify the correctness of the transaction"]
563				#[doc = " against current state. The given `block_hash` corresponds to the hash of the block"]
564				#[doc = " that is used as current state."]
565				#[doc = ""]
566				#[doc = " Note that this call may be performed by the pool multiple times and transactions"]
567				#[doc = " might be verified in any possible order."]
568				pub fn validate_transaction(
569					&self,
570					source: types::validate_transaction::Source,
571					tx: types::validate_transaction::Tx,
572					block_hash: types::validate_transaction::BlockHash,
573				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
574					types::ValidateTransaction,
575					types::validate_transaction::output::Output,
576				> {
577					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
578						"TaggedTransactionQueue",
579						"validate_transaction",
580						types::ValidateTransaction { source, tx, block_hash },
581						[
582							19u8, 53u8, 170u8, 115u8, 75u8, 121u8, 231u8, 50u8, 199u8, 181u8,
583							243u8, 170u8, 163u8, 224u8, 213u8, 134u8, 206u8, 207u8, 88u8, 242u8,
584							80u8, 139u8, 233u8, 87u8, 175u8, 249u8, 178u8, 169u8, 255u8, 171u8,
585							4u8, 125u8,
586						],
587					)
588				}
589			}
590			pub mod types {
591				use super::runtime_types;
592				pub mod validate_transaction {
593					use super::runtime_types;
594					pub type Source =
595						runtime_types::sp_runtime::transaction_validity::TransactionSource;
596					pub type Tx = :: subxt :: ext :: subxt_core :: utils :: UncheckedExtrinsic < :: subxt :: ext :: subxt_core :: utils :: MultiAddress < :: subxt :: ext :: subxt_core :: utils :: AccountId32 , () > , runtime_types :: quantus_runtime :: RuntimeCall , runtime_types :: dilithium_crypto :: types :: DilithiumSignatureScheme , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: frame_metadata_hash_extension :: CheckMetadataHash , runtime_types :: quantus_runtime :: transaction_extensions :: ReversibleTransactionExtension ,) > ;
597					pub type BlockHash = ::subxt::ext::subxt_core::utils::H256;
598					pub mod output {
599						use super::runtime_types;
600						pub type Output = :: core :: result :: Result < runtime_types :: sp_runtime :: transaction_validity :: ValidTransaction , runtime_types :: sp_runtime :: transaction_validity :: TransactionValidityError > ;
601					}
602				}
603				#[derive(
604					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
605					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
606					Debug,
607				)]
608				#[decode_as_type(
609					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
610				)]
611				#[encode_as_type(
612					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
613				)]
614				pub struct ValidateTransaction {
615					pub source: validate_transaction::Source,
616					pub tx: validate_transaction::Tx,
617					pub block_hash: validate_transaction::BlockHash,
618				}
619			}
620		}
621		pub mod offchain_worker_api {
622			use super::{root_mod, runtime_types};
623			#[doc = " The offchain worker api."]
624			pub struct OffchainWorkerApi;
625			impl OffchainWorkerApi {
626				#[doc = " Starts the off-chain task for given block header."]
627				pub fn offchain_worker(
628					&self,
629					header: types::offchain_worker::Header,
630				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
631					types::OffchainWorker,
632					types::offchain_worker::output::Output,
633				> {
634					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
635						"OffchainWorkerApi",
636						"offchain_worker",
637						types::OffchainWorker { header },
638						[
639							10u8, 135u8, 19u8, 153u8, 33u8, 216u8, 18u8, 242u8, 33u8, 140u8, 4u8,
640							223u8, 200u8, 130u8, 103u8, 118u8, 137u8, 24u8, 19u8, 127u8, 161u8,
641							29u8, 184u8, 111u8, 222u8, 111u8, 253u8, 73u8, 45u8, 31u8, 79u8, 60u8,
642						],
643					)
644				}
645			}
646			pub mod types {
647				use super::runtime_types;
648				pub mod offchain_worker {
649					use super::runtime_types;
650					pub type Header =
651						runtime_types::sp_runtime::generic::header::Header<::core::primitive::u32>;
652					pub mod output {
653						use super::runtime_types;
654						pub type Output = ();
655					}
656				}
657				#[derive(
658					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
659					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
660					Debug,
661				)]
662				#[decode_as_type(
663					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
664				)]
665				#[encode_as_type(
666					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
667				)]
668				pub struct OffchainWorker {
669					pub header: offchain_worker::Header,
670				}
671			}
672		}
673		pub mod session_keys {
674			use super::{root_mod, runtime_types};
675			#[doc = " Session keys runtime api."]
676			pub struct SessionKeys;
677			impl SessionKeys {
678				#[doc = " Generate a set of session keys with optionally using the given seed."]
679				#[doc = " The keys should be stored within the keystore exposed via runtime"]
680				#[doc = " externalities."]
681				#[doc = ""]
682				#[doc = " The seed needs to be a valid `utf8` string."]
683				#[doc = ""]
684				#[doc = " Returns the concatenated SCALE encoded public keys."]
685				pub fn generate_session_keys(
686					&self,
687					seed: types::generate_session_keys::Seed,
688				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
689					types::GenerateSessionKeys,
690					types::generate_session_keys::output::Output,
691				> {
692					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
693						"SessionKeys",
694						"generate_session_keys",
695						types::GenerateSessionKeys { seed },
696						[
697							96u8, 171u8, 164u8, 166u8, 175u8, 102u8, 101u8, 47u8, 133u8, 95u8,
698							102u8, 202u8, 83u8, 26u8, 238u8, 47u8, 126u8, 132u8, 22u8, 11u8, 33u8,
699							190u8, 175u8, 94u8, 58u8, 245u8, 46u8, 80u8, 195u8, 184u8, 107u8, 65u8,
700						],
701					)
702				}
703				#[doc = " Decode the given public session keys."]
704				#[doc = ""]
705				#[doc = " Returns the list of public raw public keys + key type."]
706				pub fn decode_session_keys(
707					&self,
708					encoded: types::decode_session_keys::Encoded,
709				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
710					types::DecodeSessionKeys,
711					types::decode_session_keys::output::Output,
712				> {
713					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
714						"SessionKeys",
715						"decode_session_keys",
716						types::DecodeSessionKeys { encoded },
717						[
718							57u8, 242u8, 18u8, 51u8, 132u8, 110u8, 238u8, 255u8, 39u8, 194u8, 8u8,
719							54u8, 198u8, 178u8, 75u8, 151u8, 148u8, 176u8, 144u8, 197u8, 87u8,
720							29u8, 179u8, 235u8, 176u8, 78u8, 252u8, 103u8, 72u8, 203u8, 151u8,
721							248u8,
722						],
723					)
724				}
725			}
726			pub mod types {
727				use super::runtime_types;
728				pub mod generate_session_keys {
729					use super::runtime_types;
730					pub type Seed = ::core::option::Option<
731						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
732					>;
733					pub mod output {
734						use super::runtime_types;
735						pub type Output =
736							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
737					}
738				}
739				#[derive(
740					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
741					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
742					Debug,
743				)]
744				#[decode_as_type(
745					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
746				)]
747				#[encode_as_type(
748					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
749				)]
750				pub struct GenerateSessionKeys {
751					pub seed: generate_session_keys::Seed,
752				}
753				pub mod decode_session_keys {
754					use super::runtime_types;
755					pub type Encoded =
756						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
757					pub mod output {
758						use super::runtime_types;
759						pub type Output = ::core::option::Option<
760							::subxt::ext::subxt_core::alloc::vec::Vec<(
761								::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
762								runtime_types::sp_core::crypto::KeyTypeId,
763							)>,
764						>;
765					}
766				}
767				#[derive(
768					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
769					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
770					Debug,
771				)]
772				#[decode_as_type(
773					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
774				)]
775				#[encode_as_type(
776					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
777				)]
778				pub struct DecodeSessionKeys {
779					pub encoded: decode_session_keys::Encoded,
780				}
781			}
782		}
783		pub mod q_po_w_api {
784			use super::{root_mod, runtime_types};
785			pub struct QPoWApi;
786			impl QPoWApi {
787				#[doc = " Verify a nonce for a historical block that's already in the chain"]
788				pub fn verify_historical_block(
789					&self,
790					header: types::verify_historical_block::Header,
791					nonce: types::verify_historical_block::Nonce,
792					block_number: types::verify_historical_block::BlockNumber,
793				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
794					types::VerifyHistoricalBlock,
795					types::verify_historical_block::output::Output,
796				> {
797					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
798						"QPoWApi",
799						"verify_historical_block",
800						types::VerifyHistoricalBlock { header, nonce, block_number },
801						[
802							110u8, 10u8, 34u8, 119u8, 84u8, 17u8, 127u8, 204u8, 198u8, 160u8,
803							190u8, 122u8, 224u8, 127u8, 150u8, 62u8, 227u8, 220u8, 49u8, 212u8,
804							211u8, 96u8, 227u8, 95u8, 212u8, 124u8, 124u8, 159u8, 93u8, 74u8, 62u8,
805							203u8,
806						],
807					)
808				}
809				#[doc = " calculate distance header with nonce to with nonce"]
810				pub fn get_nonce_distance(
811					&self,
812					block_hash: types::get_nonce_distance::BlockHash,
813					nonce: types::get_nonce_distance::Nonce,
814				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
815					types::GetNonceDistance,
816					types::get_nonce_distance::output::Output,
817				> {
818					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
819						"QPoWApi",
820						"get_nonce_distance",
821						types::GetNonceDistance { block_hash, nonce },
822						[
823							129u8, 114u8, 220u8, 23u8, 229u8, 124u8, 105u8, 65u8, 77u8, 91u8, 9u8,
824							2u8, 2u8, 177u8, 124u8, 108u8, 143u8, 100u8, 174u8, 61u8, 29u8, 55u8,
825							166u8, 162u8, 16u8, 61u8, 75u8, 213u8, 182u8, 125u8, 7u8, 120u8,
826						],
827					)
828				}
829				#[doc = " Get the max possible reorg depth"]
830				pub fn get_max_reorg_depth(
831					&self,
832				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
833					types::GetMaxReorgDepth,
834					types::get_max_reorg_depth::output::Output,
835				> {
836					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
837						"QPoWApi",
838						"get_max_reorg_depth",
839						types::GetMaxReorgDepth {},
840						[
841							95u8, 253u8, 190u8, 31u8, 75u8, 182u8, 224u8, 166u8, 3u8, 9u8, 29u8,
842							200u8, 89u8, 143u8, 104u8, 126u8, 178u8, 83u8, 156u8, 109u8, 140u8,
843							177u8, 70u8, 113u8, 23u8, 182u8, 236u8, 236u8, 111u8, 145u8, 237u8,
844							148u8,
845						],
846					)
847				}
848				#[doc = " Get the max possible distance_threshold for work calculation"]
849				pub fn get_max_distance(
850					&self,
851				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
852					types::GetMaxDistance,
853					types::get_max_distance::output::Output,
854				> {
855					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
856						"QPoWApi",
857						"get_max_distance",
858						types::GetMaxDistance {},
859						[
860							228u8, 221u8, 157u8, 71u8, 206u8, 66u8, 16u8, 79u8, 17u8, 1u8, 0u8,
861							134u8, 36u8, 195u8, 232u8, 254u8, 165u8, 162u8, 169u8, 184u8, 85u8,
862							136u8, 11u8, 10u8, 40u8, 197u8, 225u8, 249u8, 240u8, 43u8, 120u8, 45u8,
863						],
864					)
865				}
866				#[doc = " Get the current difficulty (max_distance / distance_threshold)"]
867				pub fn get_difficulty(
868					&self,
869				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
870					types::GetDifficulty,
871					types::get_difficulty::output::Output,
872				> {
873					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
874						"QPoWApi",
875						"get_difficulty",
876						types::GetDifficulty {},
877						[
878							180u8, 101u8, 92u8, 73u8, 15u8, 146u8, 167u8, 45u8, 127u8, 230u8,
879							148u8, 6u8, 174u8, 121u8, 38u8, 103u8, 46u8, 5u8, 235u8, 20u8, 133u8,
880							207u8, 67u8, 211u8, 25u8, 112u8, 83u8, 196u8, 118u8, 66u8, 118u8,
881							179u8,
882						],
883					)
884				}
885				#[doc = " Get the current distance_threshold target for proof generation"]
886				pub fn get_distance_threshold(
887					&self,
888				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
889					types::GetDistanceThreshold,
890					types::get_distance_threshold::output::Output,
891				> {
892					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
893						"QPoWApi",
894						"get_distance_threshold",
895						types::GetDistanceThreshold {},
896						[
897							84u8, 236u8, 60u8, 104u8, 10u8, 61u8, 150u8, 165u8, 61u8, 214u8, 204u8,
898							210u8, 47u8, 211u8, 67u8, 136u8, 243u8, 72u8, 252u8, 132u8, 128u8,
899							28u8, 166u8, 87u8, 131u8, 48u8, 61u8, 109u8, 115u8, 66u8, 190u8, 201u8,
900						],
901					)
902				}
903				#[doc = " Get distance_threshold at block"]
904				pub fn get_distance_threshold_at_block(
905					&self,
906					block_number: types::get_distance_threshold_at_block::BlockNumber,
907				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
908					types::GetDistanceThresholdAtBlock,
909					types::get_distance_threshold_at_block::output::Output,
910				> {
911					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
912						"QPoWApi",
913						"get_distance_threshold_at_block",
914						types::GetDistanceThresholdAtBlock { block_number },
915						[
916							22u8, 139u8, 170u8, 164u8, 154u8, 98u8, 153u8, 248u8, 43u8, 220u8,
917							56u8, 38u8, 101u8, 236u8, 112u8, 68u8, 45u8, 57u8, 158u8, 156u8, 252u8,
918							177u8, 112u8, 188u8, 176u8, 200u8, 221u8, 206u8, 144u8, 8u8, 98u8,
919							106u8,
920						],
921					)
922				}
923				#[doc = " Get total work"]
924				pub fn get_total_work(
925					&self,
926				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
927					types::GetTotalWork,
928					types::get_total_work::output::Output,
929				> {
930					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
931						"QPoWApi",
932						"get_total_work",
933						types::GetTotalWork {},
934						[
935							1u8, 91u8, 59u8, 140u8, 203u8, 250u8, 8u8, 65u8, 208u8, 35u8, 187u8,
936							190u8, 255u8, 125u8, 190u8, 111u8, 216u8, 168u8, 83u8, 32u8, 37u8,
937							203u8, 102u8, 226u8, 88u8, 207u8, 253u8, 59u8, 86u8, 72u8, 30u8, 171u8,
938						],
939					)
940				}
941				#[doc = " Get sum of block times in rolling history"]
942				pub fn get_block_time_sum(
943					&self,
944				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
945					types::GetBlockTimeSum,
946					types::get_block_time_sum::output::Output,
947				> {
948					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
949						"QPoWApi",
950						"get_block_time_sum",
951						types::GetBlockTimeSum {},
952						[
953							135u8, 226u8, 38u8, 138u8, 155u8, 194u8, 162u8, 121u8, 106u8, 22u8,
954							48u8, 208u8, 71u8, 14u8, 50u8, 123u8, 66u8, 153u8, 169u8, 95u8, 75u8,
955							70u8, 237u8, 160u8, 129u8, 81u8, 117u8, 200u8, 238u8, 102u8, 138u8,
956							98u8,
957						],
958					)
959				}
960				#[doc = " Get median block time for preconfigured list of elements"]
961				pub fn get_median_block_time(
962					&self,
963				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
964					types::GetMedianBlockTime,
965					types::get_median_block_time::output::Output,
966				> {
967					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
968						"QPoWApi",
969						"get_median_block_time",
970						types::GetMedianBlockTime {},
971						[
972							202u8, 211u8, 53u8, 71u8, 198u8, 56u8, 32u8, 243u8, 236u8, 124u8,
973							116u8, 100u8, 215u8, 111u8, 101u8, 20u8, 4u8, 55u8, 98u8, 187u8, 90u8,
974							224u8, 167u8, 20u8, 175u8, 252u8, 50u8, 220u8, 146u8, 87u8, 245u8,
975							52u8,
976						],
977					)
978				}
979				#[doc = " Get last block timestamp"]
980				pub fn get_last_block_time(
981					&self,
982				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
983					types::GetLastBlockTime,
984					types::get_last_block_time::output::Output,
985				> {
986					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
987						"QPoWApi",
988						"get_last_block_time",
989						types::GetLastBlockTime {},
990						[
991							207u8, 192u8, 227u8, 7u8, 154u8, 92u8, 133u8, 111u8, 21u8, 9u8, 21u8,
992							171u8, 235u8, 117u8, 143u8, 199u8, 19u8, 67u8, 76u8, 35u8, 220u8, 32u8,
993							221u8, 166u8, 0u8, 234u8, 107u8, 217u8, 122u8, 89u8, 91u8, 144u8,
994						],
995					)
996				}
997				pub fn get_last_block_duration(
998					&self,
999				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1000					types::GetLastBlockDuration,
1001					types::get_last_block_duration::output::Output,
1002				> {
1003					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1004						"QPoWApi",
1005						"get_last_block_duration",
1006						types::GetLastBlockDuration {},
1007						[
1008							103u8, 98u8, 123u8, 21u8, 125u8, 171u8, 88u8, 46u8, 187u8, 94u8, 96u8,
1009							238u8, 16u8, 122u8, 81u8, 108u8, 157u8, 204u8, 79u8, 43u8, 170u8,
1010							235u8, 176u8, 238u8, 174u8, 235u8, 47u8, 152u8, 167u8, 245u8, 243u8,
1011							157u8,
1012						],
1013					)
1014				}
1015				pub fn get_chain_height(
1016					&self,
1017				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1018					types::GetChainHeight,
1019					types::get_chain_height::output::Output,
1020				> {
1021					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1022						"QPoWApi",
1023						"get_chain_height",
1024						types::GetChainHeight {},
1025						[
1026							249u8, 203u8, 37u8, 234u8, 170u8, 203u8, 200u8, 147u8, 30u8, 193u8,
1027							91u8, 97u8, 96u8, 104u8, 39u8, 96u8, 171u8, 69u8, 119u8, 30u8, 112u8,
1028							81u8, 132u8, 33u8, 69u8, 168u8, 70u8, 33u8, 196u8, 16u8, 215u8, 113u8,
1029						],
1030					)
1031				}
1032				pub fn get_random_rsa(
1033					&self,
1034					block_hash: types::get_random_rsa::BlockHash,
1035				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1036					types::GetRandomRsa,
1037					types::get_random_rsa::output::Output,
1038				> {
1039					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1040						"QPoWApi",
1041						"get_random_rsa",
1042						types::GetRandomRsa { block_hash },
1043						[
1044							179u8, 195u8, 121u8, 252u8, 235u8, 176u8, 160u8, 58u8, 188u8, 236u8,
1045							106u8, 222u8, 47u8, 7u8, 73u8, 89u8, 186u8, 175u8, 25u8, 77u8, 196u8,
1046							68u8, 111u8, 186u8, 181u8, 178u8, 2u8, 205u8, 215u8, 142u8, 157u8,
1047							160u8,
1048						],
1049					)
1050				}
1051				pub fn hash_to_group_bigint(
1052					&self,
1053					h: types::hash_to_group_bigint::H,
1054					m: types::hash_to_group_bigint::M,
1055					n: types::hash_to_group_bigint::N,
1056					solution: types::hash_to_group_bigint::Solution,
1057				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1058					types::HashToGroupBigint,
1059					types::hash_to_group_bigint::output::Output,
1060				> {
1061					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1062						"QPoWApi",
1063						"hash_to_group_bigint",
1064						types::HashToGroupBigint { h, m, n, solution },
1065						[
1066							117u8, 71u8, 148u8, 115u8, 194u8, 210u8, 59u8, 139u8, 102u8, 255u8,
1067							55u8, 207u8, 118u8, 114u8, 98u8, 151u8, 147u8, 99u8, 142u8, 158u8,
1068							185u8, 151u8, 118u8, 31u8, 192u8, 26u8, 63u8, 150u8, 50u8, 123u8, 40u8,
1069							163u8,
1070						],
1071					)
1072				}
1073				pub fn verify_nonce_on_import_block(
1074					&self,
1075					block_hash: types::verify_nonce_on_import_block::BlockHash,
1076					nonce: types::verify_nonce_on_import_block::Nonce,
1077				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1078					types::VerifyNonceOnImportBlock,
1079					types::verify_nonce_on_import_block::output::Output,
1080				> {
1081					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1082						"QPoWApi",
1083						"verify_nonce_on_import_block",
1084						types::VerifyNonceOnImportBlock { block_hash, nonce },
1085						[
1086							178u8, 216u8, 20u8, 254u8, 253u8, 202u8, 63u8, 238u8, 164u8, 135u8,
1087							163u8, 28u8, 170u8, 44u8, 183u8, 157u8, 211u8, 62u8, 4u8, 77u8, 30u8,
1088							32u8, 68u8, 166u8, 42u8, 161u8, 111u8, 79u8, 54u8, 54u8, 40u8, 15u8,
1089						],
1090					)
1091				}
1092				pub fn verify_nonce_local_mining(
1093					&self,
1094					block_hash: types::verify_nonce_local_mining::BlockHash,
1095					nonce: types::verify_nonce_local_mining::Nonce,
1096				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1097					types::VerifyNonceLocalMining,
1098					types::verify_nonce_local_mining::output::Output,
1099				> {
1100					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1101						"QPoWApi",
1102						"verify_nonce_local_mining",
1103						types::VerifyNonceLocalMining { block_hash, nonce },
1104						[
1105							10u8, 191u8, 243u8, 4u8, 31u8, 132u8, 202u8, 157u8, 183u8, 189u8, 49u8,
1106							76u8, 201u8, 182u8, 52u8, 197u8, 34u8, 248u8, 253u8, 226u8, 64u8,
1107							100u8, 108u8, 2u8, 119u8, 85u8, 184u8, 96u8, 25u8, 156u8, 108u8, 240u8,
1108						],
1109					)
1110				}
1111			}
1112			pub mod types {
1113				use super::runtime_types;
1114				pub mod verify_historical_block {
1115					use super::runtime_types;
1116					pub type Header = [::core::primitive::u8; 32usize];
1117					pub type Nonce = [::core::primitive::u8; 64usize];
1118					pub type BlockNumber = ::core::primitive::u32;
1119					pub mod output {
1120						use super::runtime_types;
1121						pub type Output = ::core::primitive::bool;
1122					}
1123				}
1124				#[derive(
1125					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1126					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1127					Debug,
1128				)]
1129				#[decode_as_type(
1130					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1131				)]
1132				#[encode_as_type(
1133					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1134				)]
1135				pub struct VerifyHistoricalBlock {
1136					pub header: verify_historical_block::Header,
1137					pub nonce: verify_historical_block::Nonce,
1138					pub block_number: verify_historical_block::BlockNumber,
1139				}
1140				pub mod get_nonce_distance {
1141					use super::runtime_types;
1142					pub type BlockHash = [::core::primitive::u8; 32usize];
1143					pub type Nonce = [::core::primitive::u8; 64usize];
1144					pub mod output {
1145						use super::runtime_types;
1146						pub type Output = runtime_types::primitive_types::U512;
1147					}
1148				}
1149				#[derive(
1150					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1151					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1152					Debug,
1153				)]
1154				#[decode_as_type(
1155					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1156				)]
1157				#[encode_as_type(
1158					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1159				)]
1160				pub struct GetNonceDistance {
1161					pub block_hash: get_nonce_distance::BlockHash,
1162					pub nonce: get_nonce_distance::Nonce,
1163				}
1164				pub mod get_max_reorg_depth {
1165					use super::runtime_types;
1166					pub mod output {
1167						use super::runtime_types;
1168						pub type Output = ::core::primitive::u32;
1169					}
1170				}
1171				#[derive(
1172					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1173					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1174					Debug,
1175				)]
1176				#[decode_as_type(
1177					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1178				)]
1179				#[encode_as_type(
1180					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1181				)]
1182				pub struct GetMaxReorgDepth {}
1183				pub mod get_max_distance {
1184					use super::runtime_types;
1185					pub mod output {
1186						use super::runtime_types;
1187						pub type Output = runtime_types::primitive_types::U512;
1188					}
1189				}
1190				#[derive(
1191					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1192					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1193					Debug,
1194				)]
1195				#[decode_as_type(
1196					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1197				)]
1198				#[encode_as_type(
1199					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1200				)]
1201				pub struct GetMaxDistance {}
1202				pub mod get_difficulty {
1203					use super::runtime_types;
1204					pub mod output {
1205						use super::runtime_types;
1206						pub type Output = runtime_types::primitive_types::U512;
1207					}
1208				}
1209				#[derive(
1210					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1211					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1212					Debug,
1213				)]
1214				#[decode_as_type(
1215					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1216				)]
1217				#[encode_as_type(
1218					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1219				)]
1220				pub struct GetDifficulty {}
1221				pub mod get_distance_threshold {
1222					use super::runtime_types;
1223					pub mod output {
1224						use super::runtime_types;
1225						pub type Output = runtime_types::primitive_types::U512;
1226					}
1227				}
1228				#[derive(
1229					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1230					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1231					Debug,
1232				)]
1233				#[decode_as_type(
1234					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1235				)]
1236				#[encode_as_type(
1237					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1238				)]
1239				pub struct GetDistanceThreshold {}
1240				pub mod get_distance_threshold_at_block {
1241					use super::runtime_types;
1242					pub type BlockNumber = ::core::primitive::u32;
1243					pub mod output {
1244						use super::runtime_types;
1245						pub type Output = runtime_types::primitive_types::U512;
1246					}
1247				}
1248				#[derive(
1249					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1250					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1251					Debug,
1252				)]
1253				#[decode_as_type(
1254					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1255				)]
1256				#[encode_as_type(
1257					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1258				)]
1259				pub struct GetDistanceThresholdAtBlock {
1260					pub block_number: get_distance_threshold_at_block::BlockNumber,
1261				}
1262				pub mod get_total_work {
1263					use super::runtime_types;
1264					pub mod output {
1265						use super::runtime_types;
1266						pub type Output = runtime_types::primitive_types::U512;
1267					}
1268				}
1269				#[derive(
1270					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1271					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1272					Debug,
1273				)]
1274				#[decode_as_type(
1275					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1276				)]
1277				#[encode_as_type(
1278					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1279				)]
1280				pub struct GetTotalWork {}
1281				pub mod get_block_time_sum {
1282					use super::runtime_types;
1283					pub mod output {
1284						use super::runtime_types;
1285						pub type Output = ::core::primitive::u64;
1286					}
1287				}
1288				#[derive(
1289					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1290					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1291					Debug,
1292				)]
1293				#[decode_as_type(
1294					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1295				)]
1296				#[encode_as_type(
1297					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1298				)]
1299				pub struct GetBlockTimeSum {}
1300				pub mod get_median_block_time {
1301					use super::runtime_types;
1302					pub mod output {
1303						use super::runtime_types;
1304						pub type Output = ::core::primitive::u64;
1305					}
1306				}
1307				#[derive(
1308					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1309					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1310					Debug,
1311				)]
1312				#[decode_as_type(
1313					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1314				)]
1315				#[encode_as_type(
1316					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1317				)]
1318				pub struct GetMedianBlockTime {}
1319				pub mod get_last_block_time {
1320					use super::runtime_types;
1321					pub mod output {
1322						use super::runtime_types;
1323						pub type Output = ::core::primitive::u64;
1324					}
1325				}
1326				#[derive(
1327					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1328					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1329					Debug,
1330				)]
1331				#[decode_as_type(
1332					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1333				)]
1334				#[encode_as_type(
1335					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1336				)]
1337				pub struct GetLastBlockTime {}
1338				pub mod get_last_block_duration {
1339					use super::runtime_types;
1340					pub mod output {
1341						use super::runtime_types;
1342						pub type Output = ::core::primitive::u64;
1343					}
1344				}
1345				#[derive(
1346					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1347					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1348					Debug,
1349				)]
1350				#[decode_as_type(
1351					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1352				)]
1353				#[encode_as_type(
1354					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1355				)]
1356				pub struct GetLastBlockDuration {}
1357				pub mod get_chain_height {
1358					use super::runtime_types;
1359					pub mod output {
1360						use super::runtime_types;
1361						pub type Output = ::core::primitive::u32;
1362					}
1363				}
1364				#[derive(
1365					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1366					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1367					Debug,
1368				)]
1369				#[decode_as_type(
1370					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1371				)]
1372				#[encode_as_type(
1373					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1374				)]
1375				pub struct GetChainHeight {}
1376				pub mod get_random_rsa {
1377					use super::runtime_types;
1378					pub type BlockHash = [::core::primitive::u8; 32usize];
1379					pub mod output {
1380						use super::runtime_types;
1381						pub type Output = (
1382							runtime_types::primitive_types::U512,
1383							runtime_types::primitive_types::U512,
1384						);
1385					}
1386				}
1387				#[derive(
1388					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1389					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1390					Debug,
1391				)]
1392				#[decode_as_type(
1393					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1394				)]
1395				#[encode_as_type(
1396					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1397				)]
1398				pub struct GetRandomRsa {
1399					pub block_hash: get_random_rsa::BlockHash,
1400				}
1401				pub mod hash_to_group_bigint {
1402					use super::runtime_types;
1403					pub type H = runtime_types::primitive_types::U512;
1404					pub type M = runtime_types::primitive_types::U512;
1405					pub type N = runtime_types::primitive_types::U512;
1406					pub type Solution = runtime_types::primitive_types::U512;
1407					pub mod output {
1408						use super::runtime_types;
1409						pub type Output = runtime_types::primitive_types::U512;
1410					}
1411				}
1412				#[derive(
1413					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1414					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1415					Debug,
1416				)]
1417				#[decode_as_type(
1418					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1419				)]
1420				#[encode_as_type(
1421					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1422				)]
1423				pub struct HashToGroupBigint {
1424					pub h: hash_to_group_bigint::H,
1425					pub m: hash_to_group_bigint::M,
1426					pub n: hash_to_group_bigint::N,
1427					pub solution: hash_to_group_bigint::Solution,
1428				}
1429				pub mod verify_nonce_on_import_block {
1430					use super::runtime_types;
1431					pub type BlockHash = [::core::primitive::u8; 32usize];
1432					pub type Nonce = [::core::primitive::u8; 64usize];
1433					pub mod output {
1434						use super::runtime_types;
1435						pub type Output = ::core::primitive::bool;
1436					}
1437				}
1438				#[derive(
1439					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1440					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1441					Debug,
1442				)]
1443				#[decode_as_type(
1444					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1445				)]
1446				#[encode_as_type(
1447					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1448				)]
1449				pub struct VerifyNonceOnImportBlock {
1450					pub block_hash: verify_nonce_on_import_block::BlockHash,
1451					pub nonce: verify_nonce_on_import_block::Nonce,
1452				}
1453				pub mod verify_nonce_local_mining {
1454					use super::runtime_types;
1455					pub type BlockHash = [::core::primitive::u8; 32usize];
1456					pub type Nonce = [::core::primitive::u8; 64usize];
1457					pub mod output {
1458						use super::runtime_types;
1459						pub type Output = ::core::primitive::bool;
1460					}
1461				}
1462				#[derive(
1463					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1464					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1465					Debug,
1466				)]
1467				#[decode_as_type(
1468					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1469				)]
1470				#[encode_as_type(
1471					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1472				)]
1473				pub struct VerifyNonceLocalMining {
1474					pub block_hash: verify_nonce_local_mining::BlockHash,
1475					pub nonce: verify_nonce_local_mining::Nonce,
1476				}
1477			}
1478		}
1479		pub mod account_nonce_api {
1480			use super::{root_mod, runtime_types};
1481			#[doc = " The API to query account nonce."]
1482			pub struct AccountNonceApi;
1483			impl AccountNonceApi {
1484				#[doc = " Get current account nonce of given `AccountId`."]
1485				pub fn account_nonce(
1486					&self,
1487					account: types::account_nonce::Account,
1488				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1489					types::AccountNonce,
1490					types::account_nonce::output::Output,
1491				> {
1492					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1493						"AccountNonceApi",
1494						"account_nonce",
1495						types::AccountNonce { account },
1496						[
1497							231u8, 82u8, 7u8, 227u8, 131u8, 2u8, 215u8, 252u8, 173u8, 82u8, 11u8,
1498							103u8, 200u8, 25u8, 114u8, 116u8, 79u8, 229u8, 152u8, 150u8, 236u8,
1499							37u8, 101u8, 26u8, 220u8, 146u8, 182u8, 101u8, 73u8, 55u8, 191u8,
1500							171u8,
1501						],
1502					)
1503				}
1504			}
1505			pub mod types {
1506				use super::runtime_types;
1507				pub mod account_nonce {
1508					use super::runtime_types;
1509					pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
1510					pub mod output {
1511						use super::runtime_types;
1512						pub type Output = ::core::primitive::u32;
1513					}
1514				}
1515				#[derive(
1516					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1517					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1518					Debug,
1519				)]
1520				#[decode_as_type(
1521					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1522				)]
1523				#[encode_as_type(
1524					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1525				)]
1526				pub struct AccountNonce {
1527					pub account: account_nonce::Account,
1528				}
1529			}
1530		}
1531		pub mod transaction_payment_api {
1532			use super::{root_mod, runtime_types};
1533			pub struct TransactionPaymentApi;
1534			impl TransactionPaymentApi {
1535				pub fn query_info(
1536					&self,
1537					uxt: types::query_info::Uxt,
1538					len: types::query_info::Len,
1539				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1540					types::QueryInfo,
1541					types::query_info::output::Output,
1542				> {
1543					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1544						"TransactionPaymentApi",
1545						"query_info",
1546						types::QueryInfo { uxt, len },
1547						[
1548							56u8, 30u8, 174u8, 34u8, 202u8, 24u8, 177u8, 189u8, 145u8, 36u8, 1u8,
1549							156u8, 98u8, 209u8, 178u8, 49u8, 198u8, 23u8, 150u8, 173u8, 35u8,
1550							205u8, 147u8, 129u8, 42u8, 22u8, 69u8, 3u8, 129u8, 8u8, 196u8, 139u8,
1551						],
1552					)
1553				}
1554				pub fn query_fee_details(
1555					&self,
1556					uxt: types::query_fee_details::Uxt,
1557					len: types::query_fee_details::Len,
1558				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1559					types::QueryFeeDetails,
1560					types::query_fee_details::output::Output,
1561				> {
1562					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1563						"TransactionPaymentApi",
1564						"query_fee_details",
1565						types::QueryFeeDetails { uxt, len },
1566						[
1567							117u8, 60u8, 137u8, 159u8, 237u8, 252u8, 216u8, 238u8, 232u8, 1u8,
1568							100u8, 152u8, 26u8, 185u8, 145u8, 125u8, 68u8, 189u8, 4u8, 30u8, 125u8,
1569							7u8, 196u8, 153u8, 235u8, 51u8, 219u8, 108u8, 185u8, 254u8, 100u8,
1570							201u8,
1571						],
1572					)
1573				}
1574				pub fn query_weight_to_fee(
1575					&self,
1576					weight: types::query_weight_to_fee::Weight,
1577				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1578					types::QueryWeightToFee,
1579					types::query_weight_to_fee::output::Output,
1580				> {
1581					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1582						"TransactionPaymentApi",
1583						"query_weight_to_fee",
1584						types::QueryWeightToFee { weight },
1585						[
1586							206u8, 243u8, 189u8, 83u8, 231u8, 244u8, 247u8, 52u8, 126u8, 208u8,
1587							224u8, 5u8, 163u8, 108u8, 254u8, 114u8, 214u8, 156u8, 227u8, 217u8,
1588							211u8, 198u8, 121u8, 164u8, 110u8, 54u8, 181u8, 146u8, 50u8, 146u8,
1589							146u8, 23u8,
1590						],
1591					)
1592				}
1593				pub fn query_length_to_fee(
1594					&self,
1595					length: types::query_length_to_fee::Length,
1596				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1597					types::QueryLengthToFee,
1598					types::query_length_to_fee::output::Output,
1599				> {
1600					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1601						"TransactionPaymentApi",
1602						"query_length_to_fee",
1603						types::QueryLengthToFee { length },
1604						[
1605							92u8, 132u8, 29u8, 119u8, 66u8, 11u8, 196u8, 224u8, 129u8, 23u8, 249u8,
1606							12u8, 32u8, 28u8, 92u8, 50u8, 188u8, 101u8, 203u8, 229u8, 248u8, 216u8,
1607							130u8, 150u8, 212u8, 161u8, 81u8, 254u8, 116u8, 89u8, 162u8, 48u8,
1608						],
1609					)
1610				}
1611			}
1612			pub mod types {
1613				use super::runtime_types;
1614				pub mod query_info {
1615					use super::runtime_types;
1616					pub type Uxt = :: subxt :: ext :: subxt_core :: utils :: UncheckedExtrinsic < :: subxt :: ext :: subxt_core :: utils :: MultiAddress < :: subxt :: ext :: subxt_core :: utils :: AccountId32 , () > , runtime_types :: quantus_runtime :: RuntimeCall , runtime_types :: dilithium_crypto :: types :: DilithiumSignatureScheme , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: frame_metadata_hash_extension :: CheckMetadataHash , runtime_types :: quantus_runtime :: transaction_extensions :: ReversibleTransactionExtension ,) > ;
1617					pub type Len = ::core::primitive::u32;
1618					pub mod output {
1619						use super::runtime_types;
1620						pub type Output =
1621							runtime_types::pallet_transaction_payment::types::RuntimeDispatchInfo<
1622								::core::primitive::u128,
1623								runtime_types::sp_weights::weight_v2::Weight,
1624							>;
1625					}
1626				}
1627				#[derive(
1628					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1629					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1630					Debug,
1631				)]
1632				#[decode_as_type(
1633					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1634				)]
1635				#[encode_as_type(
1636					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1637				)]
1638				pub struct QueryInfo {
1639					pub uxt: query_info::Uxt,
1640					pub len: query_info::Len,
1641				}
1642				pub mod query_fee_details {
1643					use super::runtime_types;
1644					pub type Uxt = :: subxt :: ext :: subxt_core :: utils :: UncheckedExtrinsic < :: subxt :: ext :: subxt_core :: utils :: MultiAddress < :: subxt :: ext :: subxt_core :: utils :: AccountId32 , () > , runtime_types :: quantus_runtime :: RuntimeCall , runtime_types :: dilithium_crypto :: types :: DilithiumSignatureScheme , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: frame_metadata_hash_extension :: CheckMetadataHash , runtime_types :: quantus_runtime :: transaction_extensions :: ReversibleTransactionExtension ,) > ;
1645					pub type Len = ::core::primitive::u32;
1646					pub mod output {
1647						use super::runtime_types;
1648						pub type Output =
1649							runtime_types::pallet_transaction_payment::types::FeeDetails<
1650								::core::primitive::u128,
1651							>;
1652					}
1653				}
1654				#[derive(
1655					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1656					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1657					Debug,
1658				)]
1659				#[decode_as_type(
1660					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1661				)]
1662				#[encode_as_type(
1663					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1664				)]
1665				pub struct QueryFeeDetails {
1666					pub uxt: query_fee_details::Uxt,
1667					pub len: query_fee_details::Len,
1668				}
1669				pub mod query_weight_to_fee {
1670					use super::runtime_types;
1671					pub type Weight = runtime_types::sp_weights::weight_v2::Weight;
1672					pub mod output {
1673						use super::runtime_types;
1674						pub type Output = ::core::primitive::u128;
1675					}
1676				}
1677				#[derive(
1678					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1679					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1680					Debug,
1681				)]
1682				#[decode_as_type(
1683					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1684				)]
1685				#[encode_as_type(
1686					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1687				)]
1688				pub struct QueryWeightToFee {
1689					pub weight: query_weight_to_fee::Weight,
1690				}
1691				pub mod query_length_to_fee {
1692					use super::runtime_types;
1693					pub type Length = ::core::primitive::u32;
1694					pub mod output {
1695						use super::runtime_types;
1696						pub type Output = ::core::primitive::u128;
1697					}
1698				}
1699				#[derive(
1700					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1701					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1702					Debug,
1703				)]
1704				#[decode_as_type(
1705					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1706				)]
1707				#[encode_as_type(
1708					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1709				)]
1710				pub struct QueryLengthToFee {
1711					pub length: query_length_to_fee::Length,
1712				}
1713			}
1714		}
1715		pub mod transaction_payment_call_api {
1716			use super::{root_mod, runtime_types};
1717			pub struct TransactionPaymentCallApi;
1718			impl TransactionPaymentCallApi {
1719				#[doc = " Query information of a dispatch class, weight, and fee of a given encoded `Call`."]
1720				pub fn query_call_info(
1721					&self,
1722					call: types::query_call_info::Call,
1723					len: types::query_call_info::Len,
1724				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1725					types::QueryCallInfo,
1726					types::query_call_info::output::Output,
1727				> {
1728					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1729						"TransactionPaymentCallApi",
1730						"query_call_info",
1731						types::QueryCallInfo { call, len },
1732						[
1733							148u8, 128u8, 119u8, 67u8, 237u8, 151u8, 224u8, 163u8, 125u8, 21u8,
1734							226u8, 226u8, 187u8, 223u8, 84u8, 42u8, 77u8, 71u8, 127u8, 73u8, 180u8,
1735							253u8, 21u8, 52u8, 65u8, 82u8, 161u8, 192u8, 199u8, 133u8, 160u8,
1736							117u8,
1737						],
1738					)
1739				}
1740				#[doc = " Query fee details of a given encoded `Call`."]
1741				pub fn query_call_fee_details(
1742					&self,
1743					call: types::query_call_fee_details::Call,
1744					len: types::query_call_fee_details::Len,
1745				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1746					types::QueryCallFeeDetails,
1747					types::query_call_fee_details::output::Output,
1748				> {
1749					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1750						"TransactionPaymentCallApi",
1751						"query_call_fee_details",
1752						types::QueryCallFeeDetails { call, len },
1753						[
1754							43u8, 173u8, 253u8, 181u8, 107u8, 160u8, 168u8, 209u8, 78u8, 22u8,
1755							229u8, 97u8, 8u8, 136u8, 41u8, 219u8, 71u8, 13u8, 21u8, 214u8, 1u8,
1756							249u8, 159u8, 250u8, 154u8, 75u8, 15u8, 250u8, 236u8, 14u8, 211u8,
1757							123u8,
1758						],
1759					)
1760				}
1761				#[doc = " Query the output of the current `WeightToFee` given some input."]
1762				pub fn query_weight_to_fee(
1763					&self,
1764					weight: types::query_weight_to_fee::Weight,
1765				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1766					types::QueryWeightToFee,
1767					types::query_weight_to_fee::output::Output,
1768				> {
1769					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1770						"TransactionPaymentCallApi",
1771						"query_weight_to_fee",
1772						types::QueryWeightToFee { weight },
1773						[
1774							117u8, 91u8, 94u8, 22u8, 248u8, 212u8, 15u8, 23u8, 97u8, 116u8, 64u8,
1775							228u8, 83u8, 123u8, 87u8, 77u8, 97u8, 7u8, 98u8, 181u8, 6u8, 165u8,
1776							114u8, 141u8, 164u8, 113u8, 126u8, 88u8, 174u8, 171u8, 224u8, 35u8,
1777						],
1778					)
1779				}
1780				#[doc = " Query the output of the current `LengthToFee` given some input."]
1781				pub fn query_length_to_fee(
1782					&self,
1783					length: types::query_length_to_fee::Length,
1784				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1785					types::QueryLengthToFee,
1786					types::query_length_to_fee::output::Output,
1787				> {
1788					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1789						"TransactionPaymentCallApi",
1790						"query_length_to_fee",
1791						types::QueryLengthToFee { length },
1792						[
1793							246u8, 40u8, 4u8, 160u8, 152u8, 94u8, 170u8, 53u8, 205u8, 122u8, 5u8,
1794							69u8, 70u8, 25u8, 128u8, 156u8, 119u8, 134u8, 116u8, 147u8, 14u8,
1795							164u8, 65u8, 140u8, 86u8, 13u8, 250u8, 218u8, 89u8, 95u8, 234u8, 228u8,
1796						],
1797					)
1798				}
1799			}
1800			pub mod types {
1801				use super::runtime_types;
1802				pub mod query_call_info {
1803					use super::runtime_types;
1804					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
1805					pub type Len = ::core::primitive::u32;
1806					pub mod output {
1807						use super::runtime_types;
1808						pub type Output =
1809							runtime_types::pallet_transaction_payment::types::RuntimeDispatchInfo<
1810								::core::primitive::u128,
1811								runtime_types::sp_weights::weight_v2::Weight,
1812							>;
1813					}
1814				}
1815				#[derive(
1816					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1817					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1818					Debug,
1819				)]
1820				#[decode_as_type(
1821					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1822				)]
1823				#[encode_as_type(
1824					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1825				)]
1826				pub struct QueryCallInfo {
1827					pub call: query_call_info::Call,
1828					pub len: query_call_info::Len,
1829				}
1830				pub mod query_call_fee_details {
1831					use super::runtime_types;
1832					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
1833					pub type Len = ::core::primitive::u32;
1834					pub mod output {
1835						use super::runtime_types;
1836						pub type Output =
1837							runtime_types::pallet_transaction_payment::types::FeeDetails<
1838								::core::primitive::u128,
1839							>;
1840					}
1841				}
1842				#[derive(
1843					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1844					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1845					Debug,
1846				)]
1847				#[decode_as_type(
1848					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1849				)]
1850				#[encode_as_type(
1851					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1852				)]
1853				pub struct QueryCallFeeDetails {
1854					pub call: query_call_fee_details::Call,
1855					pub len: query_call_fee_details::Len,
1856				}
1857				pub mod query_weight_to_fee {
1858					use super::runtime_types;
1859					pub type Weight = runtime_types::sp_weights::weight_v2::Weight;
1860					pub mod output {
1861						use super::runtime_types;
1862						pub type Output = ::core::primitive::u128;
1863					}
1864				}
1865				#[derive(
1866					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1867					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1868					Debug,
1869				)]
1870				#[decode_as_type(
1871					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1872				)]
1873				#[encode_as_type(
1874					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1875				)]
1876				pub struct QueryWeightToFee {
1877					pub weight: query_weight_to_fee::Weight,
1878				}
1879				pub mod query_length_to_fee {
1880					use super::runtime_types;
1881					pub type Length = ::core::primitive::u32;
1882					pub mod output {
1883						use super::runtime_types;
1884						pub type Output = ::core::primitive::u128;
1885					}
1886				}
1887				#[derive(
1888					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1889					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1890					Debug,
1891				)]
1892				#[decode_as_type(
1893					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1894				)]
1895				#[encode_as_type(
1896					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1897				)]
1898				pub struct QueryLengthToFee {
1899					pub length: query_length_to_fee::Length,
1900				}
1901			}
1902		}
1903		pub mod genesis_builder {
1904			use super::{root_mod, runtime_types};
1905			#[doc = " API to interact with `RuntimeGenesisConfig` for the runtime"]
1906			pub struct GenesisBuilder;
1907			impl GenesisBuilder {
1908				#[doc = " Build `RuntimeGenesisConfig` from a JSON blob not using any defaults and store it in the"]
1909				#[doc = " storage."]
1910				#[doc = ""]
1911				#[doc = " In the case of a FRAME-based runtime, this function deserializes the full"]
1912				#[doc = " `RuntimeGenesisConfig` from the given JSON blob and puts it into the storage. If the"]
1913				#[doc = " provided JSON blob is incorrect or incomplete or the deserialization fails, an error"]
1914				#[doc = " is returned."]
1915				#[doc = ""]
1916				#[doc = " Please note that provided JSON blob must contain all `RuntimeGenesisConfig` fields, no"]
1917				#[doc = " defaults will be used."]
1918				pub fn build_state(
1919					&self,
1920					json: types::build_state::Json,
1921				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1922					types::BuildState,
1923					types::build_state::output::Output,
1924				> {
1925					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1926						"GenesisBuilder",
1927						"build_state",
1928						types::BuildState { json },
1929						[
1930							203u8, 233u8, 104u8, 116u8, 111u8, 131u8, 201u8, 235u8, 117u8, 116u8,
1931							140u8, 185u8, 93u8, 25u8, 155u8, 210u8, 56u8, 49u8, 23u8, 32u8, 253u8,
1932							92u8, 149u8, 241u8, 85u8, 245u8, 137u8, 45u8, 209u8, 189u8, 81u8, 2u8,
1933						],
1934					)
1935				}
1936				#[doc = " Returns a JSON blob representation of the built-in `RuntimeGenesisConfig` identified by"]
1937				#[doc = " `id`."]
1938				#[doc = ""]
1939				#[doc = " If `id` is `None` the function should return JSON blob representation of the default"]
1940				#[doc = " `RuntimeGenesisConfig` struct of the runtime. Implementation must provide default"]
1941				#[doc = " `RuntimeGenesisConfig`."]
1942				#[doc = ""]
1943				#[doc = " Otherwise function returns a JSON representation of the built-in, named"]
1944				#[doc = " `RuntimeGenesisConfig` preset identified by `id`, or `None` if such preset does not"]
1945				#[doc = " exist. Returned `Vec<u8>` contains bytes of JSON blob (patch) which comprises a list of"]
1946				#[doc = " (potentially nested) key-value pairs that are intended for customizing the default"]
1947				#[doc = " runtime genesis config. The patch shall be merged (rfc7386) with the JSON representation"]
1948				#[doc = " of the default `RuntimeGenesisConfig` to create a comprehensive genesis config that can"]
1949				#[doc = " be used in `build_state` method."]
1950				pub fn get_preset(
1951					&self,
1952					id: types::get_preset::Id,
1953				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1954					types::GetPreset,
1955					types::get_preset::output::Output,
1956				> {
1957					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1958						"GenesisBuilder",
1959						"get_preset",
1960						types::GetPreset { id },
1961						[
1962							43u8, 153u8, 23u8, 52u8, 113u8, 161u8, 227u8, 122u8, 169u8, 135u8,
1963							119u8, 8u8, 128u8, 33u8, 143u8, 235u8, 13u8, 173u8, 58u8, 121u8, 178u8,
1964							223u8, 66u8, 217u8, 22u8, 244u8, 168u8, 113u8, 202u8, 186u8, 241u8,
1965							124u8,
1966						],
1967					)
1968				}
1969				#[doc = " Returns a list of identifiers for available builtin `RuntimeGenesisConfig` presets."]
1970				#[doc = ""]
1971				#[doc = " The presets from the list can be queried with [`GenesisBuilder::get_preset`] method. If"]
1972				#[doc = " no named presets are provided by the runtime the list is empty."]
1973				pub fn preset_names(
1974					&self,
1975				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1976					types::PresetNames,
1977					types::preset_names::output::Output,
1978				> {
1979					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1980						"GenesisBuilder",
1981						"preset_names",
1982						types::PresetNames {},
1983						[
1984							150u8, 117u8, 54u8, 129u8, 221u8, 130u8, 186u8, 71u8, 13u8, 140u8,
1985							77u8, 180u8, 141u8, 37u8, 22u8, 219u8, 149u8, 218u8, 186u8, 206u8,
1986							80u8, 42u8, 165u8, 41u8, 99u8, 184u8, 73u8, 37u8, 125u8, 188u8, 167u8,
1987							122u8,
1988						],
1989					)
1990				}
1991			}
1992			pub mod types {
1993				use super::runtime_types;
1994				pub mod build_state {
1995					use super::runtime_types;
1996					pub type Json =
1997						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
1998					pub mod output {
1999						use super::runtime_types;
2000						pub type Output = ::core::result::Result<
2001							(),
2002							::subxt::ext::subxt_core::alloc::string::String,
2003						>;
2004					}
2005				}
2006				#[derive(
2007					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2008					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2009					Debug,
2010				)]
2011				#[decode_as_type(
2012					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2013				)]
2014				#[encode_as_type(
2015					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2016				)]
2017				pub struct BuildState {
2018					pub json: build_state::Json,
2019				}
2020				pub mod get_preset {
2021					use super::runtime_types;
2022					pub type Id =
2023						::core::option::Option<::subxt::ext::subxt_core::alloc::string::String>;
2024					pub mod output {
2025						use super::runtime_types;
2026						pub type Output = ::core::option::Option<
2027							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
2028						>;
2029					}
2030				}
2031				#[derive(
2032					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2033					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2034					Debug,
2035				)]
2036				#[decode_as_type(
2037					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2038				)]
2039				#[encode_as_type(
2040					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2041				)]
2042				pub struct GetPreset {
2043					pub id: get_preset::Id,
2044				}
2045				pub mod preset_names {
2046					use super::runtime_types;
2047					pub mod output {
2048						use super::runtime_types;
2049						pub type Output = ::subxt::ext::subxt_core::alloc::vec::Vec<
2050							::subxt::ext::subxt_core::alloc::string::String,
2051						>;
2052					}
2053				}
2054				#[derive(
2055					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2056					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2057					Debug,
2058				)]
2059				#[decode_as_type(
2060					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2061				)]
2062				#[encode_as_type(
2063					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2064				)]
2065				pub struct PresetNames {}
2066			}
2067		}
2068	}
2069	pub fn view_functions() -> ViewFunctionsApi {
2070		ViewFunctionsApi
2071	}
2072	pub fn custom() -> CustomValuesApi {
2073		CustomValuesApi
2074	}
2075	pub struct CustomValuesApi;
2076	impl CustomValuesApi {}
2077	pub struct ConstantsApi;
2078	impl ConstantsApi {
2079		pub fn system(&self) -> system::constants::ConstantsApi {
2080			system::constants::ConstantsApi
2081		}
2082		pub fn timestamp(&self) -> timestamp::constants::ConstantsApi {
2083			timestamp::constants::ConstantsApi
2084		}
2085		pub fn balances(&self) -> balances::constants::ConstantsApi {
2086			balances::constants::ConstantsApi
2087		}
2088		pub fn transaction_payment(&self) -> transaction_payment::constants::ConstantsApi {
2089			transaction_payment::constants::ConstantsApi
2090		}
2091		pub fn q_po_w(&self) -> q_po_w::constants::ConstantsApi {
2092			q_po_w::constants::ConstantsApi
2093		}
2094		pub fn wormhole(&self) -> wormhole::constants::ConstantsApi {
2095			wormhole::constants::ConstantsApi
2096		}
2097		pub fn mining_rewards(&self) -> mining_rewards::constants::ConstantsApi {
2098			mining_rewards::constants::ConstantsApi
2099		}
2100		pub fn vesting(&self) -> vesting::constants::ConstantsApi {
2101			vesting::constants::ConstantsApi
2102		}
2103		pub fn scheduler(&self) -> scheduler::constants::ConstantsApi {
2104			scheduler::constants::ConstantsApi
2105		}
2106		pub fn utility(&self) -> utility::constants::ConstantsApi {
2107			utility::constants::ConstantsApi
2108		}
2109		pub fn referenda(&self) -> referenda::constants::ConstantsApi {
2110			referenda::constants::ConstantsApi
2111		}
2112		pub fn reversible_transfers(&self) -> reversible_transfers::constants::ConstantsApi {
2113			reversible_transfers::constants::ConstantsApi
2114		}
2115		pub fn conviction_voting(&self) -> conviction_voting::constants::ConstantsApi {
2116			conviction_voting::constants::ConstantsApi
2117		}
2118		pub fn tech_referenda(&self) -> tech_referenda::constants::ConstantsApi {
2119			tech_referenda::constants::ConstantsApi
2120		}
2121		pub fn merkle_airdrop(&self) -> merkle_airdrop::constants::ConstantsApi {
2122			merkle_airdrop::constants::ConstantsApi
2123		}
2124		pub fn treasury_pallet(&self) -> treasury_pallet::constants::ConstantsApi {
2125			treasury_pallet::constants::ConstantsApi
2126		}
2127		pub fn recovery(&self) -> recovery::constants::ConstantsApi {
2128			recovery::constants::ConstantsApi
2129		}
2130	}
2131	pub struct StorageApi;
2132	impl StorageApi {
2133		pub fn system(&self) -> system::storage::StorageApi {
2134			system::storage::StorageApi
2135		}
2136		pub fn timestamp(&self) -> timestamp::storage::StorageApi {
2137			timestamp::storage::StorageApi
2138		}
2139		pub fn balances(&self) -> balances::storage::StorageApi {
2140			balances::storage::StorageApi
2141		}
2142		pub fn transaction_payment(&self) -> transaction_payment::storage::StorageApi {
2143			transaction_payment::storage::StorageApi
2144		}
2145		pub fn sudo(&self) -> sudo::storage::StorageApi {
2146			sudo::storage::StorageApi
2147		}
2148		pub fn q_po_w(&self) -> q_po_w::storage::StorageApi {
2149			q_po_w::storage::StorageApi
2150		}
2151		pub fn wormhole(&self) -> wormhole::storage::StorageApi {
2152			wormhole::storage::StorageApi
2153		}
2154		pub fn mining_rewards(&self) -> mining_rewards::storage::StorageApi {
2155			mining_rewards::storage::StorageApi
2156		}
2157		pub fn vesting(&self) -> vesting::storage::StorageApi {
2158			vesting::storage::StorageApi
2159		}
2160		pub fn preimage(&self) -> preimage::storage::StorageApi {
2161			preimage::storage::StorageApi
2162		}
2163		pub fn scheduler(&self) -> scheduler::storage::StorageApi {
2164			scheduler::storage::StorageApi
2165		}
2166		pub fn referenda(&self) -> referenda::storage::StorageApi {
2167			referenda::storage::StorageApi
2168		}
2169		pub fn reversible_transfers(&self) -> reversible_transfers::storage::StorageApi {
2170			reversible_transfers::storage::StorageApi
2171		}
2172		pub fn conviction_voting(&self) -> conviction_voting::storage::StorageApi {
2173			conviction_voting::storage::StorageApi
2174		}
2175		pub fn tech_collective(&self) -> tech_collective::storage::StorageApi {
2176			tech_collective::storage::StorageApi
2177		}
2178		pub fn tech_referenda(&self) -> tech_referenda::storage::StorageApi {
2179			tech_referenda::storage::StorageApi
2180		}
2181		pub fn merkle_airdrop(&self) -> merkle_airdrop::storage::StorageApi {
2182			merkle_airdrop::storage::StorageApi
2183		}
2184		pub fn treasury_pallet(&self) -> treasury_pallet::storage::StorageApi {
2185			treasury_pallet::storage::StorageApi
2186		}
2187		pub fn recovery(&self) -> recovery::storage::StorageApi {
2188			recovery::storage::StorageApi
2189		}
2190	}
2191	pub struct TransactionApi;
2192	impl TransactionApi {
2193		pub fn system(&self) -> system::calls::TransactionApi {
2194			system::calls::TransactionApi
2195		}
2196		pub fn timestamp(&self) -> timestamp::calls::TransactionApi {
2197			timestamp::calls::TransactionApi
2198		}
2199		pub fn balances(&self) -> balances::calls::TransactionApi {
2200			balances::calls::TransactionApi
2201		}
2202		pub fn sudo(&self) -> sudo::calls::TransactionApi {
2203			sudo::calls::TransactionApi
2204		}
2205		pub fn wormhole(&self) -> wormhole::calls::TransactionApi {
2206			wormhole::calls::TransactionApi
2207		}
2208		pub fn vesting(&self) -> vesting::calls::TransactionApi {
2209			vesting::calls::TransactionApi
2210		}
2211		pub fn preimage(&self) -> preimage::calls::TransactionApi {
2212			preimage::calls::TransactionApi
2213		}
2214		pub fn scheduler(&self) -> scheduler::calls::TransactionApi {
2215			scheduler::calls::TransactionApi
2216		}
2217		pub fn utility(&self) -> utility::calls::TransactionApi {
2218			utility::calls::TransactionApi
2219		}
2220		pub fn referenda(&self) -> referenda::calls::TransactionApi {
2221			referenda::calls::TransactionApi
2222		}
2223		pub fn reversible_transfers(&self) -> reversible_transfers::calls::TransactionApi {
2224			reversible_transfers::calls::TransactionApi
2225		}
2226		pub fn conviction_voting(&self) -> conviction_voting::calls::TransactionApi {
2227			conviction_voting::calls::TransactionApi
2228		}
2229		pub fn tech_collective(&self) -> tech_collective::calls::TransactionApi {
2230			tech_collective::calls::TransactionApi
2231		}
2232		pub fn tech_referenda(&self) -> tech_referenda::calls::TransactionApi {
2233			tech_referenda::calls::TransactionApi
2234		}
2235		pub fn merkle_airdrop(&self) -> merkle_airdrop::calls::TransactionApi {
2236			merkle_airdrop::calls::TransactionApi
2237		}
2238		pub fn treasury_pallet(&self) -> treasury_pallet::calls::TransactionApi {
2239			treasury_pallet::calls::TransactionApi
2240		}
2241		pub fn recovery(&self) -> recovery::calls::TransactionApi {
2242			recovery::calls::TransactionApi
2243		}
2244	}
2245	pub struct ViewFunctionsApi;
2246	impl ViewFunctionsApi {}
2247	#[doc = r" check whether the metadata provided is aligned with this statically generated code."]
2248	pub fn is_codegen_valid_for(metadata: &::subxt::ext::subxt_core::Metadata) -> bool {
2249		let runtime_metadata_hash = metadata
2250			.hasher()
2251			.only_these_pallets(&PALLETS)
2252			.only_these_runtime_apis(&RUNTIME_APIS)
2253			.hash();
2254		runtime_metadata_hash ==
2255			[
2256				157u8, 155u8, 114u8, 204u8, 148u8, 96u8, 131u8, 139u8, 202u8, 79u8, 247u8, 156u8,
2257				184u8, 178u8, 178u8, 170u8, 46u8, 42u8, 245u8, 21u8, 255u8, 201u8, 150u8, 11u8,
2258				132u8, 69u8, 181u8, 62u8, 127u8, 83u8, 48u8, 230u8,
2259			]
2260	}
2261	pub mod system {
2262		use super::{root_mod, runtime_types};
2263		#[doc = "Error for the System pallet"]
2264		pub type Error = runtime_types::frame_system::pallet::Error;
2265		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
2266		pub type Call = runtime_types::frame_system::pallet::Call;
2267		pub mod calls {
2268			use super::{root_mod, runtime_types};
2269			type DispatchError = runtime_types::sp_runtime::DispatchError;
2270			pub mod types {
2271				use super::runtime_types;
2272				#[derive(
2273					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2274					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2275					Debug,
2276				)]
2277				#[decode_as_type(
2278					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2279				)]
2280				#[encode_as_type(
2281					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2282				)]
2283				#[doc = "Make some on-chain remark."]
2284				#[doc = ""]
2285				#[doc = "Can be executed by every `origin`."]
2286				pub struct Remark {
2287					pub remark: remark::Remark,
2288				}
2289				pub mod remark {
2290					use super::runtime_types;
2291					pub type Remark =
2292						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2293				}
2294				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Remark {
2295					const PALLET: &'static str = "System";
2296					const CALL: &'static str = "remark";
2297				}
2298				#[derive(
2299					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2300					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2301					Debug,
2302				)]
2303				#[decode_as_type(
2304					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2305				)]
2306				#[encode_as_type(
2307					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2308				)]
2309				#[doc = "Set the number of pages in the WebAssembly environment's heap."]
2310				pub struct SetHeapPages {
2311					pub pages: set_heap_pages::Pages,
2312				}
2313				pub mod set_heap_pages {
2314					use super::runtime_types;
2315					pub type Pages = ::core::primitive::u64;
2316				}
2317				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetHeapPages {
2318					const PALLET: &'static str = "System";
2319					const CALL: &'static str = "set_heap_pages";
2320				}
2321				#[derive(
2322					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2323					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2324					Debug,
2325				)]
2326				#[decode_as_type(
2327					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2328				)]
2329				#[encode_as_type(
2330					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2331				)]
2332				#[doc = "Set the new runtime code."]
2333				pub struct SetCode {
2334					pub code: set_code::Code,
2335				}
2336				pub mod set_code {
2337					use super::runtime_types;
2338					pub type Code =
2339						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2340				}
2341				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetCode {
2342					const PALLET: &'static str = "System";
2343					const CALL: &'static str = "set_code";
2344				}
2345				#[derive(
2346					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2347					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2348					Debug,
2349				)]
2350				#[decode_as_type(
2351					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2352				)]
2353				#[encode_as_type(
2354					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2355				)]
2356				#[doc = "Set the new runtime code without doing any checks of the given `code`."]
2357				#[doc = ""]
2358				#[doc = "Note that runtime upgrades will not run if this is called with a not-increasing spec"]
2359				#[doc = "version!"]
2360				pub struct SetCodeWithoutChecks {
2361					pub code: set_code_without_checks::Code,
2362				}
2363				pub mod set_code_without_checks {
2364					use super::runtime_types;
2365					pub type Code =
2366						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2367				}
2368				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetCodeWithoutChecks {
2369					const PALLET: &'static str = "System";
2370					const CALL: &'static str = "set_code_without_checks";
2371				}
2372				#[derive(
2373					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2374					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2375					Debug,
2376				)]
2377				#[decode_as_type(
2378					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2379				)]
2380				#[encode_as_type(
2381					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2382				)]
2383				#[doc = "Set some items of storage."]
2384				pub struct SetStorage {
2385					pub items: set_storage::Items,
2386				}
2387				pub mod set_storage {
2388					use super::runtime_types;
2389					pub type Items = ::subxt::ext::subxt_core::alloc::vec::Vec<(
2390						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
2391						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
2392					)>;
2393				}
2394				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetStorage {
2395					const PALLET: &'static str = "System";
2396					const CALL: &'static str = "set_storage";
2397				}
2398				#[derive(
2399					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2400					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2401					Debug,
2402				)]
2403				#[decode_as_type(
2404					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2405				)]
2406				#[encode_as_type(
2407					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2408				)]
2409				#[doc = "Kill some items from storage."]
2410				pub struct KillStorage {
2411					pub keys: kill_storage::Keys,
2412				}
2413				pub mod kill_storage {
2414					use super::runtime_types;
2415					pub type Keys = ::subxt::ext::subxt_core::alloc::vec::Vec<
2416						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
2417					>;
2418				}
2419				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for KillStorage {
2420					const PALLET: &'static str = "System";
2421					const CALL: &'static str = "kill_storage";
2422				}
2423				#[derive(
2424					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2425					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2426					Debug,
2427				)]
2428				#[decode_as_type(
2429					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2430				)]
2431				#[encode_as_type(
2432					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2433				)]
2434				#[doc = "Kill all storage items with a key that starts with the given prefix."]
2435				#[doc = ""]
2436				#[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"]
2437				#[doc = "the prefix we are removing to accurately calculate the weight of this function."]
2438				pub struct KillPrefix {
2439					pub prefix: kill_prefix::Prefix,
2440					pub subkeys: kill_prefix::Subkeys,
2441				}
2442				pub mod kill_prefix {
2443					use super::runtime_types;
2444					pub type Prefix =
2445						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2446					pub type Subkeys = ::core::primitive::u32;
2447				}
2448				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for KillPrefix {
2449					const PALLET: &'static str = "System";
2450					const CALL: &'static str = "kill_prefix";
2451				}
2452				#[derive(
2453					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2454					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2455					Debug,
2456				)]
2457				#[decode_as_type(
2458					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2459				)]
2460				#[encode_as_type(
2461					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2462				)]
2463				#[doc = "Make some on-chain remark and emit event."]
2464				pub struct RemarkWithEvent {
2465					pub remark: remark_with_event::Remark,
2466				}
2467				pub mod remark_with_event {
2468					use super::runtime_types;
2469					pub type Remark =
2470						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2471				}
2472				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemarkWithEvent {
2473					const PALLET: &'static str = "System";
2474					const CALL: &'static str = "remark_with_event";
2475				}
2476				#[derive(
2477					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2478					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2479					Debug,
2480				)]
2481				#[decode_as_type(
2482					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2483				)]
2484				#[encode_as_type(
2485					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2486				)]
2487				#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
2488				#[doc = "later."]
2489				#[doc = ""]
2490				#[doc = "This call requires Root origin."]
2491				pub struct AuthorizeUpgrade {
2492					pub code_hash: authorize_upgrade::CodeHash,
2493				}
2494				pub mod authorize_upgrade {
2495					use super::runtime_types;
2496					pub type CodeHash = ::subxt::ext::subxt_core::utils::H256;
2497				}
2498				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for AuthorizeUpgrade {
2499					const PALLET: &'static str = "System";
2500					const CALL: &'static str = "authorize_upgrade";
2501				}
2502				#[derive(
2503					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2504					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2505					Debug,
2506				)]
2507				#[decode_as_type(
2508					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2509				)]
2510				#[encode_as_type(
2511					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2512				)]
2513				#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
2514				#[doc = "later."]
2515				#[doc = ""]
2516				#[doc = "WARNING: This authorizes an upgrade that will take place without any safety checks, for"]
2517				#[doc = "example that the spec name remains the same and that the version number increases. Not"]
2518				#[doc = "recommended for normal use. Use `authorize_upgrade` instead."]
2519				#[doc = ""]
2520				#[doc = "This call requires Root origin."]
2521				pub struct AuthorizeUpgradeWithoutChecks {
2522					pub code_hash: authorize_upgrade_without_checks::CodeHash,
2523				}
2524				pub mod authorize_upgrade_without_checks {
2525					use super::runtime_types;
2526					pub type CodeHash = ::subxt::ext::subxt_core::utils::H256;
2527				}
2528				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for AuthorizeUpgradeWithoutChecks {
2529					const PALLET: &'static str = "System";
2530					const CALL: &'static str = "authorize_upgrade_without_checks";
2531				}
2532				#[derive(
2533					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2534					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2535					Debug,
2536				)]
2537				#[decode_as_type(
2538					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2539				)]
2540				#[encode_as_type(
2541					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2542				)]
2543				#[doc = "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized."]
2544				#[doc = ""]
2545				#[doc = "If the authorization required a version check, this call will ensure the spec name"]
2546				#[doc = "remains unchanged and that the spec version has increased."]
2547				#[doc = ""]
2548				#[doc = "Depending on the runtime's `OnSetCode` configuration, this function may directly apply"]
2549				#[doc = "the new `code` in the same block or attempt to schedule the upgrade."]
2550				#[doc = ""]
2551				#[doc = "All origins are allowed."]
2552				pub struct ApplyAuthorizedUpgrade {
2553					pub code: apply_authorized_upgrade::Code,
2554				}
2555				pub mod apply_authorized_upgrade {
2556					use super::runtime_types;
2557					pub type Code =
2558						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2559				}
2560				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ApplyAuthorizedUpgrade {
2561					const PALLET: &'static str = "System";
2562					const CALL: &'static str = "apply_authorized_upgrade";
2563				}
2564			}
2565			pub struct TransactionApi;
2566			impl TransactionApi {
2567				#[doc = "Make some on-chain remark."]
2568				#[doc = ""]
2569				#[doc = "Can be executed by every `origin`."]
2570				pub fn remark(
2571					&self,
2572					remark: types::remark::Remark,
2573				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Remark> {
2574					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2575						"System",
2576						"remark",
2577						types::Remark { remark },
2578						[
2579							43u8, 126u8, 180u8, 174u8, 141u8, 48u8, 52u8, 125u8, 166u8, 212u8,
2580							216u8, 98u8, 100u8, 24u8, 132u8, 71u8, 101u8, 64u8, 246u8, 169u8, 33u8,
2581							250u8, 147u8, 208u8, 2u8, 40u8, 129u8, 209u8, 232u8, 207u8, 207u8,
2582							13u8,
2583						],
2584					)
2585				}
2586				#[doc = "Set the number of pages in the WebAssembly environment's heap."]
2587				pub fn set_heap_pages(
2588					&self,
2589					pages: types::set_heap_pages::Pages,
2590				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetHeapPages> {
2591					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2592						"System",
2593						"set_heap_pages",
2594						types::SetHeapPages { pages },
2595						[
2596							188u8, 191u8, 99u8, 216u8, 219u8, 109u8, 141u8, 50u8, 78u8, 235u8,
2597							215u8, 242u8, 195u8, 24u8, 111u8, 76u8, 229u8, 64u8, 99u8, 225u8,
2598							134u8, 121u8, 81u8, 209u8, 127u8, 223u8, 98u8, 215u8, 150u8, 70u8,
2599							57u8, 147u8,
2600						],
2601					)
2602				}
2603				#[doc = "Set the new runtime code."]
2604				pub fn set_code(
2605					&self,
2606					code: types::set_code::Code,
2607				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetCode> {
2608					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2609						"System",
2610						"set_code",
2611						types::SetCode { code },
2612						[
2613							233u8, 248u8, 88u8, 245u8, 28u8, 65u8, 25u8, 169u8, 35u8, 237u8, 19u8,
2614							203u8, 136u8, 160u8, 18u8, 3u8, 20u8, 197u8, 81u8, 169u8, 244u8, 188u8,
2615							27u8, 147u8, 147u8, 236u8, 65u8, 25u8, 3u8, 143u8, 182u8, 22u8,
2616						],
2617					)
2618				}
2619				#[doc = "Set the new runtime code without doing any checks of the given `code`."]
2620				#[doc = ""]
2621				#[doc = "Note that runtime upgrades will not run if this is called with a not-increasing spec"]
2622				#[doc = "version!"]
2623				pub fn set_code_without_checks(
2624					&self,
2625					code: types::set_code_without_checks::Code,
2626				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetCodeWithoutChecks>
2627				{
2628					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2629						"System",
2630						"set_code_without_checks",
2631						types::SetCodeWithoutChecks { code },
2632						[
2633							82u8, 212u8, 157u8, 44u8, 70u8, 0u8, 143u8, 15u8, 109u8, 109u8, 107u8,
2634							157u8, 141u8, 42u8, 169u8, 11u8, 15u8, 186u8, 252u8, 138u8, 10u8,
2635							147u8, 15u8, 178u8, 247u8, 229u8, 213u8, 98u8, 207u8, 231u8, 119u8,
2636							115u8,
2637						],
2638					)
2639				}
2640				#[doc = "Set some items of storage."]
2641				pub fn set_storage(
2642					&self,
2643					items: types::set_storage::Items,
2644				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetStorage> {
2645					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2646						"System",
2647						"set_storage",
2648						types::SetStorage { items },
2649						[
2650							141u8, 216u8, 52u8, 222u8, 223u8, 136u8, 123u8, 181u8, 19u8, 75u8,
2651							163u8, 102u8, 229u8, 189u8, 158u8, 142u8, 95u8, 235u8, 240u8, 49u8,
2652							150u8, 76u8, 78u8, 137u8, 126u8, 88u8, 183u8, 88u8, 231u8, 146u8,
2653							234u8, 43u8,
2654						],
2655					)
2656				}
2657				#[doc = "Kill some items from storage."]
2658				pub fn kill_storage(
2659					&self,
2660					keys: types::kill_storage::Keys,
2661				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::KillStorage> {
2662					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2663						"System",
2664						"kill_storage",
2665						types::KillStorage { keys },
2666						[
2667							73u8, 63u8, 196u8, 36u8, 144u8, 114u8, 34u8, 213u8, 108u8, 93u8, 209u8,
2668							234u8, 153u8, 185u8, 33u8, 91u8, 187u8, 195u8, 223u8, 130u8, 58u8,
2669							156u8, 63u8, 47u8, 228u8, 249u8, 216u8, 139u8, 143u8, 177u8, 41u8,
2670							35u8,
2671						],
2672					)
2673				}
2674				#[doc = "Kill all storage items with a key that starts with the given prefix."]
2675				#[doc = ""]
2676				#[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"]
2677				#[doc = "the prefix we are removing to accurately calculate the weight of this function."]
2678				pub fn kill_prefix(
2679					&self,
2680					prefix: types::kill_prefix::Prefix,
2681					subkeys: types::kill_prefix::Subkeys,
2682				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::KillPrefix> {
2683					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2684						"System",
2685						"kill_prefix",
2686						types::KillPrefix { prefix, subkeys },
2687						[
2688							184u8, 57u8, 139u8, 24u8, 208u8, 87u8, 108u8, 215u8, 198u8, 189u8,
2689							175u8, 242u8, 167u8, 215u8, 97u8, 63u8, 110u8, 166u8, 238u8, 98u8,
2690							67u8, 236u8, 111u8, 110u8, 234u8, 81u8, 102u8, 5u8, 182u8, 5u8, 214u8,
2691							85u8,
2692						],
2693					)
2694				}
2695				#[doc = "Make some on-chain remark and emit event."]
2696				pub fn remark_with_event(
2697					&self,
2698					remark: types::remark_with_event::Remark,
2699				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemarkWithEvent>
2700				{
2701					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2702						"System",
2703						"remark_with_event",
2704						types::RemarkWithEvent { remark },
2705						[
2706							120u8, 120u8, 153u8, 92u8, 184u8, 85u8, 34u8, 2u8, 174u8, 206u8, 105u8,
2707							228u8, 233u8, 130u8, 80u8, 246u8, 228u8, 59u8, 234u8, 240u8, 4u8, 49u8,
2708							147u8, 170u8, 115u8, 91u8, 149u8, 200u8, 228u8, 181u8, 8u8, 154u8,
2709						],
2710					)
2711				}
2712				#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
2713				#[doc = "later."]
2714				#[doc = ""]
2715				#[doc = "This call requires Root origin."]
2716				pub fn authorize_upgrade(
2717					&self,
2718					code_hash: types::authorize_upgrade::CodeHash,
2719				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::AuthorizeUpgrade>
2720				{
2721					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2722						"System",
2723						"authorize_upgrade",
2724						types::AuthorizeUpgrade { code_hash },
2725						[
2726							4u8, 14u8, 76u8, 107u8, 209u8, 129u8, 9u8, 39u8, 193u8, 17u8, 84u8,
2727							254u8, 170u8, 214u8, 24u8, 155u8, 29u8, 184u8, 249u8, 241u8, 109u8,
2728							58u8, 145u8, 131u8, 109u8, 63u8, 38u8, 165u8, 107u8, 215u8, 217u8,
2729							172u8,
2730						],
2731					)
2732				}
2733				#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
2734				#[doc = "later."]
2735				#[doc = ""]
2736				#[doc = "WARNING: This authorizes an upgrade that will take place without any safety checks, for"]
2737				#[doc = "example that the spec name remains the same and that the version number increases. Not"]
2738				#[doc = "recommended for normal use. Use `authorize_upgrade` instead."]
2739				#[doc = ""]
2740				#[doc = "This call requires Root origin."]
2741				pub fn authorize_upgrade_without_checks(
2742					&self,
2743					code_hash: types::authorize_upgrade_without_checks::CodeHash,
2744				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
2745					types::AuthorizeUpgradeWithoutChecks,
2746				> {
2747					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2748						"System",
2749						"authorize_upgrade_without_checks",
2750						types::AuthorizeUpgradeWithoutChecks { code_hash },
2751						[
2752							126u8, 126u8, 55u8, 26u8, 47u8, 55u8, 66u8, 8u8, 167u8, 18u8, 29u8,
2753							136u8, 146u8, 14u8, 189u8, 117u8, 16u8, 227u8, 162u8, 61u8, 149u8,
2754							197u8, 104u8, 184u8, 185u8, 161u8, 99u8, 154u8, 80u8, 125u8, 181u8,
2755							233u8,
2756						],
2757					)
2758				}
2759				#[doc = "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized."]
2760				#[doc = ""]
2761				#[doc = "If the authorization required a version check, this call will ensure the spec name"]
2762				#[doc = "remains unchanged and that the spec version has increased."]
2763				#[doc = ""]
2764				#[doc = "Depending on the runtime's `OnSetCode` configuration, this function may directly apply"]
2765				#[doc = "the new `code` in the same block or attempt to schedule the upgrade."]
2766				#[doc = ""]
2767				#[doc = "All origins are allowed."]
2768				pub fn apply_authorized_upgrade(
2769					&self,
2770					code: types::apply_authorized_upgrade::Code,
2771				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
2772					types::ApplyAuthorizedUpgrade,
2773				> {
2774					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2775						"System",
2776						"apply_authorized_upgrade",
2777						types::ApplyAuthorizedUpgrade { code },
2778						[
2779							232u8, 107u8, 127u8, 38u8, 230u8, 29u8, 97u8, 4u8, 160u8, 191u8, 222u8,
2780							156u8, 245u8, 102u8, 196u8, 141u8, 44u8, 163u8, 98u8, 68u8, 125u8,
2781							32u8, 124u8, 101u8, 108u8, 93u8, 211u8, 52u8, 0u8, 231u8, 33u8, 227u8,
2782						],
2783					)
2784				}
2785			}
2786		}
2787		#[doc = "Event for the System pallet."]
2788		pub type Event = runtime_types::frame_system::pallet::Event;
2789		pub mod events {
2790			use super::runtime_types;
2791			#[derive(
2792				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2793				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2794				Debug,
2795			)]
2796			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2797			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2798			#[doc = "An extrinsic completed successfully."]
2799			pub struct ExtrinsicSuccess {
2800				pub dispatch_info: extrinsic_success::DispatchInfo,
2801			}
2802			pub mod extrinsic_success {
2803				use super::runtime_types;
2804				pub type DispatchInfo = runtime_types::frame_system::DispatchEventInfo;
2805			}
2806			impl ::subxt::ext::subxt_core::events::StaticEvent for ExtrinsicSuccess {
2807				const PALLET: &'static str = "System";
2808				const EVENT: &'static str = "ExtrinsicSuccess";
2809			}
2810			#[derive(
2811				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2812				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2813				Debug,
2814			)]
2815			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2816			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2817			#[doc = "An extrinsic failed."]
2818			pub struct ExtrinsicFailed {
2819				pub dispatch_error: extrinsic_failed::DispatchError,
2820				pub dispatch_info: extrinsic_failed::DispatchInfo,
2821			}
2822			pub mod extrinsic_failed {
2823				use super::runtime_types;
2824				pub type DispatchError = runtime_types::sp_runtime::DispatchError;
2825				pub type DispatchInfo = runtime_types::frame_system::DispatchEventInfo;
2826			}
2827			impl ::subxt::ext::subxt_core::events::StaticEvent for ExtrinsicFailed {
2828				const PALLET: &'static str = "System";
2829				const EVENT: &'static str = "ExtrinsicFailed";
2830			}
2831			#[derive(
2832				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2833				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2834				Debug,
2835			)]
2836			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2837			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2838			#[doc = "`:code` was updated."]
2839			pub struct CodeUpdated;
2840			impl ::subxt::ext::subxt_core::events::StaticEvent for CodeUpdated {
2841				const PALLET: &'static str = "System";
2842				const EVENT: &'static str = "CodeUpdated";
2843			}
2844			#[derive(
2845				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2846				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2847				Debug,
2848			)]
2849			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2850			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2851			#[doc = "A new account was created."]
2852			pub struct NewAccount {
2853				pub account: new_account::Account,
2854			}
2855			pub mod new_account {
2856				use super::runtime_types;
2857				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
2858			}
2859			impl ::subxt::ext::subxt_core::events::StaticEvent for NewAccount {
2860				const PALLET: &'static str = "System";
2861				const EVENT: &'static str = "NewAccount";
2862			}
2863			#[derive(
2864				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2865				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2866				Debug,
2867			)]
2868			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2869			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2870			#[doc = "An account was reaped."]
2871			pub struct KilledAccount {
2872				pub account: killed_account::Account,
2873			}
2874			pub mod killed_account {
2875				use super::runtime_types;
2876				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
2877			}
2878			impl ::subxt::ext::subxt_core::events::StaticEvent for KilledAccount {
2879				const PALLET: &'static str = "System";
2880				const EVENT: &'static str = "KilledAccount";
2881			}
2882			#[derive(
2883				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2884				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2885				Debug,
2886			)]
2887			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2888			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2889			#[doc = "On on-chain remark happened."]
2890			pub struct Remarked {
2891				pub sender: remarked::Sender,
2892				pub hash: remarked::Hash,
2893			}
2894			pub mod remarked {
2895				use super::runtime_types;
2896				pub type Sender = ::subxt::ext::subxt_core::utils::AccountId32;
2897				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
2898			}
2899			impl ::subxt::ext::subxt_core::events::StaticEvent for Remarked {
2900				const PALLET: &'static str = "System";
2901				const EVENT: &'static str = "Remarked";
2902			}
2903			#[derive(
2904				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2905				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2906				Debug,
2907			)]
2908			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2909			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2910			#[doc = "An upgrade was authorized."]
2911			pub struct UpgradeAuthorized {
2912				pub code_hash: upgrade_authorized::CodeHash,
2913				pub check_version: upgrade_authorized::CheckVersion,
2914			}
2915			pub mod upgrade_authorized {
2916				use super::runtime_types;
2917				pub type CodeHash = ::subxt::ext::subxt_core::utils::H256;
2918				pub type CheckVersion = ::core::primitive::bool;
2919			}
2920			impl ::subxt::ext::subxt_core::events::StaticEvent for UpgradeAuthorized {
2921				const PALLET: &'static str = "System";
2922				const EVENT: &'static str = "UpgradeAuthorized";
2923			}
2924			#[derive(
2925				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2926				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2927				Debug,
2928			)]
2929			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2930			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2931			#[doc = "An invalid authorized upgrade was rejected while trying to apply it."]
2932			pub struct RejectedInvalidAuthorizedUpgrade {
2933				pub code_hash: rejected_invalid_authorized_upgrade::CodeHash,
2934				pub error: rejected_invalid_authorized_upgrade::Error,
2935			}
2936			pub mod rejected_invalid_authorized_upgrade {
2937				use super::runtime_types;
2938				pub type CodeHash = ::subxt::ext::subxt_core::utils::H256;
2939				pub type Error = runtime_types::sp_runtime::DispatchError;
2940			}
2941			impl ::subxt::ext::subxt_core::events::StaticEvent for RejectedInvalidAuthorizedUpgrade {
2942				const PALLET: &'static str = "System";
2943				const EVENT: &'static str = "RejectedInvalidAuthorizedUpgrade";
2944			}
2945		}
2946		pub mod storage {
2947			use super::runtime_types;
2948			pub mod types {
2949				use super::runtime_types;
2950				pub mod account {
2951					use super::runtime_types;
2952					pub type Account = runtime_types::frame_system::AccountInfo<
2953						::core::primitive::u32,
2954						runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>,
2955					>;
2956					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
2957				}
2958				pub mod extrinsic_count {
2959					use super::runtime_types;
2960					pub type ExtrinsicCount = ::core::primitive::u32;
2961				}
2962				pub mod inherents_applied {
2963					use super::runtime_types;
2964					pub type InherentsApplied = ::core::primitive::bool;
2965				}
2966				pub mod block_weight {
2967					use super::runtime_types;
2968					pub type BlockWeight = runtime_types::frame_support::dispatch::PerDispatchClass<
2969						runtime_types::sp_weights::weight_v2::Weight,
2970					>;
2971				}
2972				pub mod all_extrinsics_len {
2973					use super::runtime_types;
2974					pub type AllExtrinsicsLen = ::core::primitive::u32;
2975				}
2976				pub mod block_hash {
2977					use super::runtime_types;
2978					pub type BlockHash = ::subxt::ext::subxt_core::utils::H256;
2979					pub type Param0 = ::core::primitive::u32;
2980				}
2981				pub mod extrinsic_data {
2982					use super::runtime_types;
2983					pub type ExtrinsicData =
2984						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2985					pub type Param0 = ::core::primitive::u32;
2986				}
2987				pub mod number {
2988					use super::runtime_types;
2989					pub type Number = ::core::primitive::u32;
2990				}
2991				pub mod parent_hash {
2992					use super::runtime_types;
2993					pub type ParentHash = ::subxt::ext::subxt_core::utils::H256;
2994				}
2995				pub mod digest {
2996					use super::runtime_types;
2997					pub type Digest = runtime_types::sp_runtime::generic::digest::Digest;
2998				}
2999				pub mod events {
3000					use super::runtime_types;
3001					pub type Events = ::subxt::ext::subxt_core::alloc::vec::Vec<
3002						runtime_types::frame_system::EventRecord<
3003							runtime_types::quantus_runtime::RuntimeEvent,
3004							::subxt::ext::subxt_core::utils::H256,
3005						>,
3006					>;
3007				}
3008				pub mod event_count {
3009					use super::runtime_types;
3010					pub type EventCount = ::core::primitive::u32;
3011				}
3012				pub mod event_topics {
3013					use super::runtime_types;
3014					pub type EventTopics = ::subxt::ext::subxt_core::alloc::vec::Vec<(
3015						::core::primitive::u32,
3016						::core::primitive::u32,
3017					)>;
3018					pub type Param0 = ::subxt::ext::subxt_core::utils::H256;
3019				}
3020				pub mod last_runtime_upgrade {
3021					use super::runtime_types;
3022					pub type LastRuntimeUpgrade =
3023						runtime_types::frame_system::LastRuntimeUpgradeInfo;
3024				}
3025				pub mod upgraded_to_u32_ref_count {
3026					use super::runtime_types;
3027					pub type UpgradedToU32RefCount = ::core::primitive::bool;
3028				}
3029				pub mod upgraded_to_triple_ref_count {
3030					use super::runtime_types;
3031					pub type UpgradedToTripleRefCount = ::core::primitive::bool;
3032				}
3033				pub mod execution_phase {
3034					use super::runtime_types;
3035					pub type ExecutionPhase = runtime_types::frame_system::Phase;
3036				}
3037				pub mod authorized_upgrade {
3038					use super::runtime_types;
3039					pub type AuthorizedUpgrade =
3040						runtime_types::frame_system::CodeUpgradeAuthorization;
3041				}
3042				pub mod extrinsic_weight_reclaimed {
3043					use super::runtime_types;
3044					pub type ExtrinsicWeightReclaimed =
3045						runtime_types::sp_weights::weight_v2::Weight;
3046				}
3047			}
3048			pub struct StorageApi;
3049			impl StorageApi {
3050				#[doc = " The full account information for a particular account ID."]
3051				pub fn account_iter(
3052					&self,
3053				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3054					(),
3055					types::account::Account,
3056					(),
3057					::subxt::ext::subxt_core::utils::Yes,
3058					::subxt::ext::subxt_core::utils::Yes,
3059				> {
3060					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3061						"System",
3062						"Account",
3063						(),
3064						[
3065							14u8, 233u8, 115u8, 214u8, 0u8, 109u8, 222u8, 121u8, 162u8, 65u8, 60u8,
3066							175u8, 209u8, 79u8, 222u8, 124u8, 22u8, 235u8, 138u8, 176u8, 133u8,
3067							124u8, 90u8, 158u8, 85u8, 45u8, 37u8, 174u8, 47u8, 79u8, 47u8, 166u8,
3068						],
3069					)
3070				}
3071				#[doc = " The full account information for a particular account ID."]
3072				pub fn account(
3073					&self,
3074					_0: types::account::Param0,
3075				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3076					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
3077						types::account::Param0,
3078					>,
3079					types::account::Account,
3080					::subxt::ext::subxt_core::utils::Yes,
3081					::subxt::ext::subxt_core::utils::Yes,
3082					(),
3083				> {
3084					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3085						"System",
3086						"Account",
3087						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
3088						[
3089							14u8, 233u8, 115u8, 214u8, 0u8, 109u8, 222u8, 121u8, 162u8, 65u8, 60u8,
3090							175u8, 209u8, 79u8, 222u8, 124u8, 22u8, 235u8, 138u8, 176u8, 133u8,
3091							124u8, 90u8, 158u8, 85u8, 45u8, 37u8, 174u8, 47u8, 79u8, 47u8, 166u8,
3092						],
3093					)
3094				}
3095				#[doc = " Total extrinsics count for the current block."]
3096				pub fn extrinsic_count(
3097					&self,
3098				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3099					(),
3100					types::extrinsic_count::ExtrinsicCount,
3101					::subxt::ext::subxt_core::utils::Yes,
3102					(),
3103					(),
3104				> {
3105					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3106						"System",
3107						"ExtrinsicCount",
3108						(),
3109						[
3110							102u8, 76u8, 236u8, 42u8, 40u8, 231u8, 33u8, 222u8, 123u8, 147u8,
3111							153u8, 148u8, 234u8, 203u8, 181u8, 119u8, 6u8, 187u8, 177u8, 199u8,
3112							120u8, 47u8, 137u8, 254u8, 96u8, 100u8, 165u8, 182u8, 249u8, 230u8,
3113							159u8, 79u8,
3114						],
3115					)
3116				}
3117				#[doc = " Whether all inherents have been applied."]
3118				pub fn inherents_applied(
3119					&self,
3120				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3121					(),
3122					types::inherents_applied::InherentsApplied,
3123					::subxt::ext::subxt_core::utils::Yes,
3124					::subxt::ext::subxt_core::utils::Yes,
3125					(),
3126				> {
3127					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3128						"System",
3129						"InherentsApplied",
3130						(),
3131						[
3132							132u8, 249u8, 142u8, 252u8, 8u8, 103u8, 80u8, 120u8, 50u8, 6u8, 188u8,
3133							223u8, 101u8, 55u8, 165u8, 189u8, 172u8, 249u8, 165u8, 230u8, 183u8,
3134							109u8, 34u8, 65u8, 185u8, 150u8, 29u8, 8u8, 186u8, 129u8, 135u8, 239u8,
3135						],
3136					)
3137				}
3138				#[doc = " The current weight for the block."]
3139				pub fn block_weight(
3140					&self,
3141				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3142					(),
3143					types::block_weight::BlockWeight,
3144					::subxt::ext::subxt_core::utils::Yes,
3145					::subxt::ext::subxt_core::utils::Yes,
3146					(),
3147				> {
3148					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3149						"System",
3150						"BlockWeight",
3151						(),
3152						[
3153							158u8, 46u8, 228u8, 89u8, 210u8, 214u8, 84u8, 154u8, 50u8, 68u8, 63u8,
3154							62u8, 43u8, 42u8, 99u8, 27u8, 54u8, 42u8, 146u8, 44u8, 241u8, 216u8,
3155							229u8, 30u8, 216u8, 255u8, 165u8, 238u8, 181u8, 130u8, 36u8, 102u8,
3156						],
3157					)
3158				}
3159				#[doc = " Total length (in bytes) for all extrinsics put together, for the current block."]
3160				pub fn all_extrinsics_len(
3161					&self,
3162				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3163					(),
3164					types::all_extrinsics_len::AllExtrinsicsLen,
3165					::subxt::ext::subxt_core::utils::Yes,
3166					(),
3167					(),
3168				> {
3169					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3170						"System",
3171						"AllExtrinsicsLen",
3172						(),
3173						[
3174							117u8, 86u8, 61u8, 243u8, 41u8, 51u8, 102u8, 214u8, 137u8, 100u8,
3175							243u8, 185u8, 122u8, 174u8, 187u8, 117u8, 86u8, 189u8, 63u8, 135u8,
3176							101u8, 218u8, 203u8, 201u8, 237u8, 254u8, 128u8, 183u8, 169u8, 221u8,
3177							242u8, 65u8,
3178						],
3179					)
3180				}
3181				#[doc = " Map of block numbers to block hashes."]
3182				pub fn block_hash_iter(
3183					&self,
3184				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3185					(),
3186					types::block_hash::BlockHash,
3187					(),
3188					::subxt::ext::subxt_core::utils::Yes,
3189					::subxt::ext::subxt_core::utils::Yes,
3190				> {
3191					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3192						"System",
3193						"BlockHash",
3194						(),
3195						[
3196							217u8, 32u8, 215u8, 253u8, 24u8, 182u8, 207u8, 178u8, 157u8, 24u8,
3197							103u8, 100u8, 195u8, 165u8, 69u8, 152u8, 112u8, 181u8, 56u8, 192u8,
3198							164u8, 16u8, 20u8, 222u8, 28u8, 214u8, 144u8, 142u8, 146u8, 69u8,
3199							202u8, 118u8,
3200						],
3201					)
3202				}
3203				#[doc = " Map of block numbers to block hashes."]
3204				pub fn block_hash(
3205					&self,
3206					_0: types::block_hash::Param0,
3207				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3208					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
3209						types::block_hash::Param0,
3210					>,
3211					types::block_hash::BlockHash,
3212					::subxt::ext::subxt_core::utils::Yes,
3213					::subxt::ext::subxt_core::utils::Yes,
3214					(),
3215				> {
3216					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3217						"System",
3218						"BlockHash",
3219						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
3220						[
3221							217u8, 32u8, 215u8, 253u8, 24u8, 182u8, 207u8, 178u8, 157u8, 24u8,
3222							103u8, 100u8, 195u8, 165u8, 69u8, 152u8, 112u8, 181u8, 56u8, 192u8,
3223							164u8, 16u8, 20u8, 222u8, 28u8, 214u8, 144u8, 142u8, 146u8, 69u8,
3224							202u8, 118u8,
3225						],
3226					)
3227				}
3228				#[doc = " Extrinsics data for the current block (maps an extrinsic's index to its data)."]
3229				pub fn extrinsic_data_iter(
3230					&self,
3231				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3232					(),
3233					types::extrinsic_data::ExtrinsicData,
3234					(),
3235					::subxt::ext::subxt_core::utils::Yes,
3236					::subxt::ext::subxt_core::utils::Yes,
3237				> {
3238					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3239						"System",
3240						"ExtrinsicData",
3241						(),
3242						[
3243							160u8, 180u8, 122u8, 18u8, 196u8, 26u8, 2u8, 37u8, 115u8, 232u8, 133u8,
3244							220u8, 106u8, 245u8, 4u8, 129u8, 42u8, 84u8, 241u8, 45u8, 199u8, 179u8,
3245							128u8, 61u8, 170u8, 137u8, 231u8, 156u8, 247u8, 57u8, 47u8, 38u8,
3246						],
3247					)
3248				}
3249				#[doc = " Extrinsics data for the current block (maps an extrinsic's index to its data)."]
3250				pub fn extrinsic_data(
3251					&self,
3252					_0: types::extrinsic_data::Param0,
3253				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3254					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
3255						types::extrinsic_data::Param0,
3256					>,
3257					types::extrinsic_data::ExtrinsicData,
3258					::subxt::ext::subxt_core::utils::Yes,
3259					::subxt::ext::subxt_core::utils::Yes,
3260					(),
3261				> {
3262					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3263						"System",
3264						"ExtrinsicData",
3265						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
3266						[
3267							160u8, 180u8, 122u8, 18u8, 196u8, 26u8, 2u8, 37u8, 115u8, 232u8, 133u8,
3268							220u8, 106u8, 245u8, 4u8, 129u8, 42u8, 84u8, 241u8, 45u8, 199u8, 179u8,
3269							128u8, 61u8, 170u8, 137u8, 231u8, 156u8, 247u8, 57u8, 47u8, 38u8,
3270						],
3271					)
3272				}
3273				#[doc = " The current block number being processed. Set by `execute_block`."]
3274				pub fn number(
3275					&self,
3276				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3277					(),
3278					types::number::Number,
3279					::subxt::ext::subxt_core::utils::Yes,
3280					::subxt::ext::subxt_core::utils::Yes,
3281					(),
3282				> {
3283					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3284						"System",
3285						"Number",
3286						(),
3287						[
3288							30u8, 194u8, 177u8, 90u8, 194u8, 232u8, 46u8, 180u8, 85u8, 129u8, 14u8,
3289							9u8, 8u8, 8u8, 23u8, 95u8, 230u8, 5u8, 13u8, 105u8, 125u8, 2u8, 22u8,
3290							200u8, 78u8, 93u8, 115u8, 28u8, 150u8, 113u8, 48u8, 53u8,
3291						],
3292					)
3293				}
3294				#[doc = " Hash of the previous block."]
3295				pub fn parent_hash(
3296					&self,
3297				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3298					(),
3299					types::parent_hash::ParentHash,
3300					::subxt::ext::subxt_core::utils::Yes,
3301					::subxt::ext::subxt_core::utils::Yes,
3302					(),
3303				> {
3304					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3305						"System",
3306						"ParentHash",
3307						(),
3308						[
3309							26u8, 130u8, 11u8, 216u8, 155u8, 71u8, 128u8, 170u8, 30u8, 153u8, 21u8,
3310							192u8, 62u8, 93u8, 137u8, 80u8, 120u8, 81u8, 202u8, 94u8, 248u8, 125u8,
3311							71u8, 82u8, 141u8, 229u8, 32u8, 56u8, 73u8, 50u8, 101u8, 78u8,
3312						],
3313					)
3314				}
3315				#[doc = " Digest of the current block, also part of the block header."]
3316				pub fn digest(
3317					&self,
3318				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3319					(),
3320					types::digest::Digest,
3321					::subxt::ext::subxt_core::utils::Yes,
3322					::subxt::ext::subxt_core::utils::Yes,
3323					(),
3324				> {
3325					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3326						"System",
3327						"Digest",
3328						(),
3329						[
3330							61u8, 64u8, 237u8, 91u8, 145u8, 232u8, 17u8, 254u8, 181u8, 16u8, 234u8,
3331							91u8, 51u8, 140u8, 254u8, 131u8, 98u8, 135u8, 21u8, 37u8, 251u8, 20u8,
3332							58u8, 92u8, 123u8, 141u8, 14u8, 227u8, 146u8, 46u8, 222u8, 117u8,
3333						],
3334					)
3335				}
3336				#[doc = " Events deposited for the current block."]
3337				#[doc = ""]
3338				#[doc = " NOTE: The item is unbound and should therefore never be read on chain."]
3339				#[doc = " It could otherwise inflate the PoV size of a block."]
3340				#[doc = ""]
3341				#[doc = " Events have a large in-memory size. Box the events to not go out-of-memory"]
3342				#[doc = " just in case someone still reads them from within the runtime."]
3343				pub fn events(
3344					&self,
3345				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3346					(),
3347					types::events::Events,
3348					::subxt::ext::subxt_core::utils::Yes,
3349					::subxt::ext::subxt_core::utils::Yes,
3350					(),
3351				> {
3352					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3353						"System",
3354						"Events",
3355						(),
3356						[
3357							247u8, 113u8, 206u8, 36u8, 120u8, 159u8, 199u8, 114u8, 139u8, 213u8,
3358							233u8, 3u8, 45u8, 108u8, 1u8, 57u8, 21u8, 248u8, 251u8, 33u8, 53u8,
3359							239u8, 202u8, 118u8, 254u8, 168u8, 223u8, 3u8, 58u8, 212u8, 160u8,
3360							106u8,
3361						],
3362					)
3363				}
3364				#[doc = " The number of events in the `Events<T>` list."]
3365				pub fn event_count(
3366					&self,
3367				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3368					(),
3369					types::event_count::EventCount,
3370					::subxt::ext::subxt_core::utils::Yes,
3371					::subxt::ext::subxt_core::utils::Yes,
3372					(),
3373				> {
3374					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3375						"System",
3376						"EventCount",
3377						(),
3378						[
3379							175u8, 24u8, 252u8, 184u8, 210u8, 167u8, 146u8, 143u8, 164u8, 80u8,
3380							151u8, 205u8, 189u8, 189u8, 55u8, 220u8, 47u8, 101u8, 181u8, 33u8,
3381							254u8, 131u8, 13u8, 143u8, 3u8, 244u8, 245u8, 45u8, 2u8, 210u8, 79u8,
3382							133u8,
3383						],
3384					)
3385				}
3386				#[doc = " Mapping between a topic (represented by T::Hash) and a vector of indexes"]
3387				#[doc = " of events in the `<Events<T>>` list."]
3388				#[doc = ""]
3389				#[doc = " All topic vectors have deterministic storage locations depending on the topic. This"]
3390				#[doc = " allows light-clients to leverage the changes trie storage tracking mechanism and"]
3391				#[doc = " in case of changes fetch the list of events of interest."]
3392				#[doc = ""]
3393				#[doc = " The value has the type `(BlockNumberFor<T>, EventIndex)` because if we used only just"]
3394				#[doc = " the `EventIndex` then in case if the topic has the same contents on the next block"]
3395				#[doc = " no notification will be triggered thus the event might be lost."]
3396				pub fn event_topics_iter(
3397					&self,
3398				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3399					(),
3400					types::event_topics::EventTopics,
3401					(),
3402					::subxt::ext::subxt_core::utils::Yes,
3403					::subxt::ext::subxt_core::utils::Yes,
3404				> {
3405					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3406						"System",
3407						"EventTopics",
3408						(),
3409						[
3410							40u8, 225u8, 14u8, 75u8, 44u8, 176u8, 76u8, 34u8, 143u8, 107u8, 69u8,
3411							133u8, 114u8, 13u8, 172u8, 250u8, 141u8, 73u8, 12u8, 65u8, 217u8, 63u8,
3412							120u8, 241u8, 48u8, 106u8, 143u8, 161u8, 128u8, 100u8, 166u8, 59u8,
3413						],
3414					)
3415				}
3416				#[doc = " Mapping between a topic (represented by T::Hash) and a vector of indexes"]
3417				#[doc = " of events in the `<Events<T>>` list."]
3418				#[doc = ""]
3419				#[doc = " All topic vectors have deterministic storage locations depending on the topic. This"]
3420				#[doc = " allows light-clients to leverage the changes trie storage tracking mechanism and"]
3421				#[doc = " in case of changes fetch the list of events of interest."]
3422				#[doc = ""]
3423				#[doc = " The value has the type `(BlockNumberFor<T>, EventIndex)` because if we used only just"]
3424				#[doc = " the `EventIndex` then in case if the topic has the same contents on the next block"]
3425				#[doc = " no notification will be triggered thus the event might be lost."]
3426				pub fn event_topics(
3427					&self,
3428					_0: types::event_topics::Param0,
3429				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3430					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
3431						types::event_topics::Param0,
3432					>,
3433					types::event_topics::EventTopics,
3434					::subxt::ext::subxt_core::utils::Yes,
3435					::subxt::ext::subxt_core::utils::Yes,
3436					(),
3437				> {
3438					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3439						"System",
3440						"EventTopics",
3441						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
3442						[
3443							40u8, 225u8, 14u8, 75u8, 44u8, 176u8, 76u8, 34u8, 143u8, 107u8, 69u8,
3444							133u8, 114u8, 13u8, 172u8, 250u8, 141u8, 73u8, 12u8, 65u8, 217u8, 63u8,
3445							120u8, 241u8, 48u8, 106u8, 143u8, 161u8, 128u8, 100u8, 166u8, 59u8,
3446						],
3447					)
3448				}
3449				#[doc = " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened."]
3450				pub fn last_runtime_upgrade(
3451					&self,
3452				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3453					(),
3454					types::last_runtime_upgrade::LastRuntimeUpgrade,
3455					::subxt::ext::subxt_core::utils::Yes,
3456					(),
3457					(),
3458				> {
3459					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3460						"System",
3461						"LastRuntimeUpgrade",
3462						(),
3463						[
3464							197u8, 212u8, 249u8, 209u8, 79u8, 34u8, 55u8, 203u8, 31u8, 42u8, 199u8,
3465							242u8, 188u8, 74u8, 234u8, 250u8, 245u8, 44u8, 139u8, 162u8, 45u8,
3466							150u8, 230u8, 249u8, 135u8, 100u8, 158u8, 167u8, 118u8, 219u8, 28u8,
3467							98u8,
3468						],
3469					)
3470				}
3471				#[doc = " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not."]
3472				pub fn upgraded_to_u32_ref_count(
3473					&self,
3474				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3475					(),
3476					types::upgraded_to_u32_ref_count::UpgradedToU32RefCount,
3477					::subxt::ext::subxt_core::utils::Yes,
3478					::subxt::ext::subxt_core::utils::Yes,
3479					(),
3480				> {
3481					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3482						"System",
3483						"UpgradedToU32RefCount",
3484						(),
3485						[
3486							229u8, 73u8, 9u8, 132u8, 186u8, 116u8, 151u8, 171u8, 145u8, 29u8, 34u8,
3487							130u8, 52u8, 146u8, 124u8, 175u8, 79u8, 189u8, 147u8, 230u8, 234u8,
3488							107u8, 124u8, 31u8, 2u8, 22u8, 86u8, 190u8, 4u8, 147u8, 50u8, 245u8,
3489						],
3490					)
3491				}
3492				#[doc = " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False"]
3493				#[doc = " (default) if not."]
3494				pub fn upgraded_to_triple_ref_count(
3495					&self,
3496				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3497					(),
3498					types::upgraded_to_triple_ref_count::UpgradedToTripleRefCount,
3499					::subxt::ext::subxt_core::utils::Yes,
3500					::subxt::ext::subxt_core::utils::Yes,
3501					(),
3502				> {
3503					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3504						"System",
3505						"UpgradedToTripleRefCount",
3506						(),
3507						[
3508							97u8, 66u8, 124u8, 243u8, 27u8, 167u8, 147u8, 81u8, 254u8, 201u8,
3509							101u8, 24u8, 40u8, 231u8, 14u8, 179u8, 154u8, 163u8, 71u8, 81u8, 185u8,
3510							167u8, 82u8, 254u8, 189u8, 3u8, 101u8, 207u8, 206u8, 194u8, 155u8,
3511							151u8,
3512						],
3513					)
3514				}
3515				#[doc = " The execution phase of the block."]
3516				pub fn execution_phase(
3517					&self,
3518				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3519					(),
3520					types::execution_phase::ExecutionPhase,
3521					::subxt::ext::subxt_core::utils::Yes,
3522					(),
3523					(),
3524				> {
3525					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3526						"System",
3527						"ExecutionPhase",
3528						(),
3529						[
3530							191u8, 129u8, 100u8, 134u8, 126u8, 116u8, 154u8, 203u8, 220u8, 200u8,
3531							0u8, 26u8, 161u8, 250u8, 133u8, 205u8, 146u8, 24u8, 5u8, 156u8, 158u8,
3532							35u8, 36u8, 253u8, 52u8, 235u8, 86u8, 167u8, 35u8, 100u8, 119u8, 27u8,
3533						],
3534					)
3535				}
3536				#[doc = " `Some` if a code upgrade has been authorized."]
3537				pub fn authorized_upgrade(
3538					&self,
3539				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3540					(),
3541					types::authorized_upgrade::AuthorizedUpgrade,
3542					::subxt::ext::subxt_core::utils::Yes,
3543					(),
3544					(),
3545				> {
3546					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3547						"System",
3548						"AuthorizedUpgrade",
3549						(),
3550						[
3551							165u8, 97u8, 27u8, 138u8, 2u8, 28u8, 55u8, 92u8, 96u8, 96u8, 168u8,
3552							169u8, 55u8, 178u8, 44u8, 127u8, 58u8, 140u8, 206u8, 178u8, 1u8, 37u8,
3553							214u8, 213u8, 251u8, 123u8, 5u8, 111u8, 90u8, 148u8, 217u8, 135u8,
3554						],
3555					)
3556				}
3557				#[doc = " The weight reclaimed for the extrinsic."]
3558				#[doc = ""]
3559				#[doc = " This information is available until the end of the extrinsic execution."]
3560				#[doc = " More precisely this information is removed in `note_applied_extrinsic`."]
3561				#[doc = ""]
3562				#[doc = " Logic doing some post dispatch weight reduction must update this storage to avoid duplicate"]
3563				#[doc = " reduction."]
3564				pub fn extrinsic_weight_reclaimed(
3565					&self,
3566				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3567					(),
3568					types::extrinsic_weight_reclaimed::ExtrinsicWeightReclaimed,
3569					::subxt::ext::subxt_core::utils::Yes,
3570					::subxt::ext::subxt_core::utils::Yes,
3571					(),
3572				> {
3573					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3574						"System",
3575						"ExtrinsicWeightReclaimed",
3576						(),
3577						[
3578							195u8, 143u8, 164u8, 84u8, 225u8, 194u8, 227u8, 128u8, 196u8, 241u8,
3579							188u8, 159u8, 59u8, 197u8, 11u8, 12u8, 119u8, 164u8, 46u8, 229u8, 92u8,
3580							212u8, 236u8, 255u8, 238u8, 54u8, 105u8, 200u8, 229u8, 191u8, 221u8,
3581							202u8,
3582						],
3583					)
3584				}
3585			}
3586		}
3587		pub mod constants {
3588			use super::runtime_types;
3589			pub struct ConstantsApi;
3590			impl ConstantsApi {
3591				#[doc = " Block & extrinsics weights: base values and limits."]
3592				pub fn block_weights(
3593					&self,
3594				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3595					runtime_types::frame_system::limits::BlockWeights,
3596				> {
3597					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3598						"System",
3599						"BlockWeights",
3600						[
3601							176u8, 124u8, 225u8, 136u8, 25u8, 73u8, 247u8, 33u8, 82u8, 206u8, 85u8,
3602							190u8, 127u8, 102u8, 71u8, 11u8, 185u8, 8u8, 58u8, 0u8, 94u8, 55u8,
3603							163u8, 177u8, 104u8, 59u8, 60u8, 136u8, 246u8, 116u8, 0u8, 239u8,
3604						],
3605					)
3606				}
3607				#[doc = " The maximum length of a block (in bytes)."]
3608				pub fn block_length(
3609					&self,
3610				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3611					runtime_types::frame_system::limits::BlockLength,
3612				> {
3613					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3614						"System",
3615						"BlockLength",
3616						[
3617							23u8, 242u8, 225u8, 39u8, 225u8, 67u8, 152u8, 41u8, 155u8, 104u8, 68u8,
3618							229u8, 185u8, 133u8, 10u8, 143u8, 184u8, 152u8, 234u8, 44u8, 140u8,
3619							96u8, 166u8, 235u8, 162u8, 160u8, 72u8, 7u8, 35u8, 194u8, 3u8, 37u8,
3620						],
3621					)
3622				}
3623				#[doc = " Maximum number of block number to block hash mappings to keep (oldest pruned first)."]
3624				pub fn block_hash_count(
3625					&self,
3626				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3627					::core::primitive::u32,
3628				> {
3629					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3630						"System",
3631						"BlockHashCount",
3632						[
3633							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
3634							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
3635							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
3636							145u8,
3637						],
3638					)
3639				}
3640				#[doc = " The weight of runtime database operations the runtime can invoke."]
3641				pub fn db_weight(
3642					&self,
3643				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3644					runtime_types::sp_weights::RuntimeDbWeight,
3645				> {
3646					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3647						"System",
3648						"DbWeight",
3649						[
3650							42u8, 43u8, 178u8, 142u8, 243u8, 203u8, 60u8, 173u8, 118u8, 111u8,
3651							200u8, 170u8, 102u8, 70u8, 237u8, 187u8, 198u8, 120u8, 153u8, 232u8,
3652							183u8, 76u8, 74u8, 10u8, 70u8, 243u8, 14u8, 218u8, 213u8, 126u8, 29u8,
3653							177u8,
3654						],
3655					)
3656				}
3657				#[doc = " Get the chain's in-code version."]
3658				pub fn version(
3659					&self,
3660				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3661					runtime_types::sp_version::RuntimeVersion,
3662				> {
3663					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3664						"System",
3665						"Version",
3666						[
3667							214u8, 43u8, 96u8, 193u8, 96u8, 213u8, 63u8, 124u8, 22u8, 111u8, 41u8,
3668							78u8, 146u8, 77u8, 34u8, 163u8, 117u8, 100u8, 6u8, 216u8, 238u8, 54u8,
3669							80u8, 185u8, 219u8, 11u8, 192u8, 200u8, 129u8, 88u8, 161u8, 250u8,
3670						],
3671					)
3672				}
3673				#[doc = " The designated SS58 prefix of this chain."]
3674				#[doc = ""]
3675				#[doc = " This replaces the \"ss58Format\" property declared in the chain spec. Reason is"]
3676				#[doc = " that the runtime should know about the prefix in order to make use of it as"]
3677				#[doc = " an identifier of the chain."]
3678				pub fn ss58_prefix(
3679					&self,
3680				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3681					::core::primitive::u16,
3682				> {
3683					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3684						"System",
3685						"SS58Prefix",
3686						[
3687							116u8, 33u8, 2u8, 170u8, 181u8, 147u8, 171u8, 169u8, 167u8, 227u8,
3688							41u8, 144u8, 11u8, 236u8, 82u8, 100u8, 74u8, 60u8, 184u8, 72u8, 169u8,
3689							90u8, 208u8, 135u8, 15u8, 117u8, 10u8, 123u8, 128u8, 193u8, 29u8, 70u8,
3690						],
3691					)
3692				}
3693			}
3694		}
3695	}
3696	pub mod timestamp {
3697		use super::{root_mod, runtime_types};
3698		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
3699		pub type Call = runtime_types::pallet_timestamp::pallet::Call;
3700		pub mod calls {
3701			use super::{root_mod, runtime_types};
3702			type DispatchError = runtime_types::sp_runtime::DispatchError;
3703			pub mod types {
3704				use super::runtime_types;
3705				#[derive(
3706					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3707					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3708					Debug,
3709				)]
3710				#[decode_as_type(
3711					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3712				)]
3713				#[encode_as_type(
3714					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3715				)]
3716				#[doc = "Set the current time."]
3717				#[doc = ""]
3718				#[doc = "This call should be invoked exactly once per block. It will panic at the finalization"]
3719				#[doc = "phase, if this call hasn't been invoked by that time."]
3720				#[doc = ""]
3721				#[doc = "The timestamp should be greater than the previous one by the amount specified by"]
3722				#[doc = "[`Config::MinimumPeriod`]."]
3723				#[doc = ""]
3724				#[doc = "The dispatch origin for this call must be _None_."]
3725				#[doc = ""]
3726				#[doc = "This dispatch class is _Mandatory_ to ensure it gets executed in the block. Be aware"]
3727				#[doc = "that changing the complexity of this call could result exhausting the resources in a"]
3728				#[doc = "block to execute any other calls."]
3729				#[doc = ""]
3730				#[doc = "## Complexity"]
3731				#[doc = "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)"]
3732				#[doc = "- 1 storage read and 1 storage mutation (codec `O(1)` because of `DidUpdate::take` in"]
3733				#[doc = "  `on_finalize`)"]
3734				#[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."]
3735				pub struct Set {
3736					#[codec(compact)]
3737					pub now: set::Now,
3738				}
3739				pub mod set {
3740					use super::runtime_types;
3741					pub type Now = ::core::primitive::u64;
3742				}
3743				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Set {
3744					const PALLET: &'static str = "Timestamp";
3745					const CALL: &'static str = "set";
3746				}
3747			}
3748			pub struct TransactionApi;
3749			impl TransactionApi {
3750				#[doc = "Set the current time."]
3751				#[doc = ""]
3752				#[doc = "This call should be invoked exactly once per block. It will panic at the finalization"]
3753				#[doc = "phase, if this call hasn't been invoked by that time."]
3754				#[doc = ""]
3755				#[doc = "The timestamp should be greater than the previous one by the amount specified by"]
3756				#[doc = "[`Config::MinimumPeriod`]."]
3757				#[doc = ""]
3758				#[doc = "The dispatch origin for this call must be _None_."]
3759				#[doc = ""]
3760				#[doc = "This dispatch class is _Mandatory_ to ensure it gets executed in the block. Be aware"]
3761				#[doc = "that changing the complexity of this call could result exhausting the resources in a"]
3762				#[doc = "block to execute any other calls."]
3763				#[doc = ""]
3764				#[doc = "## Complexity"]
3765				#[doc = "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)"]
3766				#[doc = "- 1 storage read and 1 storage mutation (codec `O(1)` because of `DidUpdate::take` in"]
3767				#[doc = "  `on_finalize`)"]
3768				#[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."]
3769				pub fn set(
3770					&self,
3771					now: types::set::Now,
3772				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Set> {
3773					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
3774						"Timestamp",
3775						"set",
3776						types::Set { now },
3777						[
3778							37u8, 95u8, 49u8, 218u8, 24u8, 22u8, 0u8, 95u8, 72u8, 35u8, 155u8,
3779							199u8, 213u8, 54u8, 207u8, 22u8, 185u8, 193u8, 221u8, 70u8, 18u8,
3780							200u8, 4u8, 231u8, 195u8, 173u8, 6u8, 122u8, 11u8, 203u8, 231u8, 227u8,
3781						],
3782					)
3783				}
3784			}
3785		}
3786		pub mod storage {
3787			use super::runtime_types;
3788			pub mod types {
3789				use super::runtime_types;
3790				pub mod now {
3791					use super::runtime_types;
3792					pub type Now = ::core::primitive::u64;
3793				}
3794				pub mod did_update {
3795					use super::runtime_types;
3796					pub type DidUpdate = ::core::primitive::bool;
3797				}
3798			}
3799			pub struct StorageApi;
3800			impl StorageApi {
3801				#[doc = " The current time for the current block."]
3802				pub fn now(
3803					&self,
3804				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3805					(),
3806					types::now::Now,
3807					::subxt::ext::subxt_core::utils::Yes,
3808					::subxt::ext::subxt_core::utils::Yes,
3809					(),
3810				> {
3811					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3812						"Timestamp",
3813						"Now",
3814						(),
3815						[
3816							44u8, 50u8, 80u8, 30u8, 195u8, 146u8, 123u8, 238u8, 8u8, 163u8, 187u8,
3817							92u8, 61u8, 39u8, 51u8, 29u8, 173u8, 169u8, 217u8, 158u8, 85u8, 187u8,
3818							141u8, 26u8, 12u8, 115u8, 51u8, 11u8, 200u8, 244u8, 138u8, 152u8,
3819						],
3820					)
3821				}
3822				#[doc = " Whether the timestamp has been updated in this block."]
3823				#[doc = ""]
3824				#[doc = " This value is updated to `true` upon successful submission of a timestamp by a node."]
3825				#[doc = " It is then checked at the end of each block execution in the `on_finalize` hook."]
3826				pub fn did_update(
3827					&self,
3828				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3829					(),
3830					types::did_update::DidUpdate,
3831					::subxt::ext::subxt_core::utils::Yes,
3832					::subxt::ext::subxt_core::utils::Yes,
3833					(),
3834				> {
3835					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3836						"Timestamp",
3837						"DidUpdate",
3838						(),
3839						[
3840							229u8, 175u8, 246u8, 102u8, 237u8, 158u8, 212u8, 229u8, 238u8, 214u8,
3841							205u8, 160u8, 164u8, 252u8, 195u8, 75u8, 139u8, 110u8, 22u8, 34u8,
3842							248u8, 204u8, 107u8, 46u8, 20u8, 200u8, 238u8, 167u8, 71u8, 41u8,
3843							214u8, 140u8,
3844						],
3845					)
3846				}
3847			}
3848		}
3849		pub mod constants {
3850			use super::runtime_types;
3851			pub struct ConstantsApi;
3852			impl ConstantsApi {
3853				#[doc = " The minimum period between blocks."]
3854				#[doc = ""]
3855				#[doc = " Be aware that this is different to the *expected* period that the block production"]
3856				#[doc = " apparatus provides. Your chosen consensus system will generally work with this to"]
3857				#[doc = " determine a sensible block time. For example, in the Aura pallet it will be double this"]
3858				#[doc = " period on default settings."]
3859				pub fn minimum_period(
3860					&self,
3861				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3862					::core::primitive::u64,
3863				> {
3864					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3865						"Timestamp",
3866						"MinimumPeriod",
3867						[
3868							128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8,
3869							59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8,
3870							103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8,
3871							246u8,
3872						],
3873					)
3874				}
3875			}
3876		}
3877	}
3878	pub mod balances {
3879		use super::{root_mod, runtime_types};
3880		#[doc = "The `Error` enum of this pallet."]
3881		pub type Error = runtime_types::pallet_balances::pallet::Error;
3882		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
3883		pub type Call = runtime_types::pallet_balances::pallet::Call;
3884		pub mod calls {
3885			use super::{root_mod, runtime_types};
3886			type DispatchError = runtime_types::sp_runtime::DispatchError;
3887			pub mod types {
3888				use super::runtime_types;
3889				#[derive(
3890					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3891					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3892					Debug,
3893				)]
3894				#[decode_as_type(
3895					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3896				)]
3897				#[encode_as_type(
3898					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3899				)]
3900				#[doc = "Transfer some liquid free balance to another account."]
3901				#[doc = ""]
3902				#[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."]
3903				#[doc = "If the sender's account is below the existential deposit as a result"]
3904				#[doc = "of the transfer, the account will be reaped."]
3905				#[doc = ""]
3906				#[doc = "The dispatch origin for this call must be `Signed` by the transactor."]
3907				pub struct TransferAllowDeath {
3908					pub dest: transfer_allow_death::Dest,
3909					#[codec(compact)]
3910					pub value: transfer_allow_death::Value,
3911				}
3912				pub mod transfer_allow_death {
3913					use super::runtime_types;
3914					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
3915						::subxt::ext::subxt_core::utils::AccountId32,
3916						(),
3917					>;
3918					pub type Value = ::core::primitive::u128;
3919				}
3920				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferAllowDeath {
3921					const PALLET: &'static str = "Balances";
3922					const CALL: &'static str = "transfer_allow_death";
3923				}
3924				#[derive(
3925					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3926					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3927					Debug,
3928				)]
3929				#[decode_as_type(
3930					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3931				)]
3932				#[encode_as_type(
3933					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3934				)]
3935				#[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"]
3936				#[doc = "may be specified."]
3937				pub struct ForceTransfer {
3938					pub source: force_transfer::Source,
3939					pub dest: force_transfer::Dest,
3940					#[codec(compact)]
3941					pub value: force_transfer::Value,
3942				}
3943				pub mod force_transfer {
3944					use super::runtime_types;
3945					pub type Source = ::subxt::ext::subxt_core::utils::MultiAddress<
3946						::subxt::ext::subxt_core::utils::AccountId32,
3947						(),
3948					>;
3949					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
3950						::subxt::ext::subxt_core::utils::AccountId32,
3951						(),
3952					>;
3953					pub type Value = ::core::primitive::u128;
3954				}
3955				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceTransfer {
3956					const PALLET: &'static str = "Balances";
3957					const CALL: &'static str = "force_transfer";
3958				}
3959				#[derive(
3960					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3961					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3962					Debug,
3963				)]
3964				#[decode_as_type(
3965					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3966				)]
3967				#[encode_as_type(
3968					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3969				)]
3970				#[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"]
3971				#[doc = "kill the origin account."]
3972				#[doc = ""]
3973				#[doc = "99% of the time you want [`transfer_allow_death`] instead."]
3974				#[doc = ""]
3975				#[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"]
3976				pub struct TransferKeepAlive {
3977					pub dest: transfer_keep_alive::Dest,
3978					#[codec(compact)]
3979					pub value: transfer_keep_alive::Value,
3980				}
3981				pub mod transfer_keep_alive {
3982					use super::runtime_types;
3983					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
3984						::subxt::ext::subxt_core::utils::AccountId32,
3985						(),
3986					>;
3987					pub type Value = ::core::primitive::u128;
3988				}
3989				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferKeepAlive {
3990					const PALLET: &'static str = "Balances";
3991					const CALL: &'static str = "transfer_keep_alive";
3992				}
3993				#[derive(
3994					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3995					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3996					Debug,
3997				)]
3998				#[decode_as_type(
3999					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
4000				)]
4001				#[encode_as_type(
4002					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
4003				)]
4004				#[doc = "Transfer the entire transferable balance from the caller account."]
4005				#[doc = ""]
4006				#[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"]
4007				#[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"]
4008				#[doc = "transferred by this function. To ensure that this function results in a killed account,"]
4009				#[doc = "you might need to prepare the account by removing any reference counters, storage"]
4010				#[doc = "deposits, etc..."]
4011				#[doc = ""]
4012				#[doc = "The dispatch origin of this call must be Signed."]
4013				#[doc = ""]
4014				#[doc = "- `dest`: The recipient of the transfer."]
4015				#[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"]
4016				#[doc = "  of the funds the account has, causing the sender account to be killed (false), or"]
4017				#[doc = "  transfer everything except at least the existential deposit, which will guarantee to"]
4018				#[doc = "  keep the sender account alive (true)."]
4019				pub struct TransferAll {
4020					pub dest: transfer_all::Dest,
4021					pub keep_alive: transfer_all::KeepAlive,
4022				}
4023				pub mod transfer_all {
4024					use super::runtime_types;
4025					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
4026						::subxt::ext::subxt_core::utils::AccountId32,
4027						(),
4028					>;
4029					pub type KeepAlive = ::core::primitive::bool;
4030				}
4031				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferAll {
4032					const PALLET: &'static str = "Balances";
4033					const CALL: &'static str = "transfer_all";
4034				}
4035				#[derive(
4036					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4037					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4038					Debug,
4039				)]
4040				#[decode_as_type(
4041					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
4042				)]
4043				#[encode_as_type(
4044					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
4045				)]
4046				#[doc = "Unreserve some balance from a user by force."]
4047				#[doc = ""]
4048				#[doc = "Can only be called by ROOT."]
4049				pub struct ForceUnreserve {
4050					pub who: force_unreserve::Who,
4051					pub amount: force_unreserve::Amount,
4052				}
4053				pub mod force_unreserve {
4054					use super::runtime_types;
4055					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
4056						::subxt::ext::subxt_core::utils::AccountId32,
4057						(),
4058					>;
4059					pub type Amount = ::core::primitive::u128;
4060				}
4061				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceUnreserve {
4062					const PALLET: &'static str = "Balances";
4063					const CALL: &'static str = "force_unreserve";
4064				}
4065				#[derive(
4066					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4067					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4068					Debug,
4069				)]
4070				#[decode_as_type(
4071					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
4072				)]
4073				#[encode_as_type(
4074					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
4075				)]
4076				#[doc = "Upgrade a specified account."]
4077				#[doc = ""]
4078				#[doc = "- `origin`: Must be `Signed`."]
4079				#[doc = "- `who`: The account to be upgraded."]
4080				#[doc = ""]
4081				#[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"]
4082				#[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"]
4083				#[doc = "possibility of churn)."]
4084				pub struct UpgradeAccounts {
4085					pub who: upgrade_accounts::Who,
4086				}
4087				pub mod upgrade_accounts {
4088					use super::runtime_types;
4089					pub type Who = ::subxt::ext::subxt_core::alloc::vec::Vec<
4090						::subxt::ext::subxt_core::utils::AccountId32,
4091					>;
4092				}
4093				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for UpgradeAccounts {
4094					const PALLET: &'static str = "Balances";
4095					const CALL: &'static str = "upgrade_accounts";
4096				}
4097				#[derive(
4098					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4099					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4100					Debug,
4101				)]
4102				#[decode_as_type(
4103					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
4104				)]
4105				#[encode_as_type(
4106					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
4107				)]
4108				#[doc = "Set the regular balance of a given account."]
4109				#[doc = ""]
4110				#[doc = "The dispatch origin for this call is `root`."]
4111				pub struct ForceSetBalance {
4112					pub who: force_set_balance::Who,
4113					#[codec(compact)]
4114					pub new_free: force_set_balance::NewFree,
4115				}
4116				pub mod force_set_balance {
4117					use super::runtime_types;
4118					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
4119						::subxt::ext::subxt_core::utils::AccountId32,
4120						(),
4121					>;
4122					pub type NewFree = ::core::primitive::u128;
4123				}
4124				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceSetBalance {
4125					const PALLET: &'static str = "Balances";
4126					const CALL: &'static str = "force_set_balance";
4127				}
4128				#[derive(
4129					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4130					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4131					Debug,
4132				)]
4133				#[decode_as_type(
4134					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
4135				)]
4136				#[encode_as_type(
4137					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
4138				)]
4139				#[doc = "Adjust the total issuance in a saturating way."]
4140				#[doc = ""]
4141				#[doc = "Can only be called by root and always needs a positive `delta`."]
4142				#[doc = ""]
4143				#[doc = "# Example"]
4144				pub struct ForceAdjustTotalIssuance {
4145					pub direction: force_adjust_total_issuance::Direction,
4146					#[codec(compact)]
4147					pub delta: force_adjust_total_issuance::Delta,
4148				}
4149				pub mod force_adjust_total_issuance {
4150					use super::runtime_types;
4151					pub type Direction = runtime_types::pallet_balances::types::AdjustmentDirection;
4152					pub type Delta = ::core::primitive::u128;
4153				}
4154				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceAdjustTotalIssuance {
4155					const PALLET: &'static str = "Balances";
4156					const CALL: &'static str = "force_adjust_total_issuance";
4157				}
4158				#[derive(
4159					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4160					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4161					Debug,
4162				)]
4163				#[decode_as_type(
4164					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
4165				)]
4166				#[encode_as_type(
4167					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
4168				)]
4169				#[doc = "Burn the specified liquid free balance from the origin account."]
4170				#[doc = ""]
4171				#[doc = "If the origin's account ends up below the existential deposit as a result"]
4172				#[doc = "of the burn and `keep_alive` is false, the account will be reaped."]
4173				#[doc = ""]
4174				#[doc = "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,"]
4175				#[doc = "this `burn` operation will reduce total issuance by the amount _burned_."]
4176				pub struct Burn {
4177					#[codec(compact)]
4178					pub value: burn::Value,
4179					pub keep_alive: burn::KeepAlive,
4180				}
4181				pub mod burn {
4182					use super::runtime_types;
4183					pub type Value = ::core::primitive::u128;
4184					pub type KeepAlive = ::core::primitive::bool;
4185				}
4186				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Burn {
4187					const PALLET: &'static str = "Balances";
4188					const CALL: &'static str = "burn";
4189				}
4190			}
4191			pub struct TransactionApi;
4192			impl TransactionApi {
4193				#[doc = "Transfer some liquid free balance to another account."]
4194				#[doc = ""]
4195				#[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."]
4196				#[doc = "If the sender's account is below the existential deposit as a result"]
4197				#[doc = "of the transfer, the account will be reaped."]
4198				#[doc = ""]
4199				#[doc = "The dispatch origin for this call must be `Signed` by the transactor."]
4200				pub fn transfer_allow_death(
4201					&self,
4202					dest: types::transfer_allow_death::Dest,
4203					value: types::transfer_allow_death::Value,
4204				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferAllowDeath>
4205				{
4206					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4207						"Balances",
4208						"transfer_allow_death",
4209						types::TransferAllowDeath { dest, value },
4210						[
4211							51u8, 166u8, 195u8, 10u8, 139u8, 218u8, 55u8, 130u8, 6u8, 194u8, 35u8,
4212							140u8, 27u8, 205u8, 214u8, 222u8, 102u8, 43u8, 143u8, 145u8, 86u8,
4213							219u8, 210u8, 147u8, 13u8, 39u8, 51u8, 21u8, 237u8, 179u8, 132u8,
4214							130u8,
4215						],
4216					)
4217				}
4218				#[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"]
4219				#[doc = "may be specified."]
4220				pub fn force_transfer(
4221					&self,
4222					source: types::force_transfer::Source,
4223					dest: types::force_transfer::Dest,
4224					value: types::force_transfer::Value,
4225				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceTransfer>
4226				{
4227					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4228						"Balances",
4229						"force_transfer",
4230						types::ForceTransfer { source, dest, value },
4231						[
4232							154u8, 93u8, 222u8, 27u8, 12u8, 248u8, 63u8, 213u8, 224u8, 86u8, 250u8,
4233							153u8, 249u8, 102u8, 83u8, 160u8, 79u8, 125u8, 105u8, 222u8, 77u8,
4234							180u8, 90u8, 105u8, 81u8, 217u8, 60u8, 25u8, 213u8, 51u8, 185u8, 96u8,
4235						],
4236					)
4237				}
4238				#[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"]
4239				#[doc = "kill the origin account."]
4240				#[doc = ""]
4241				#[doc = "99% of the time you want [`transfer_allow_death`] instead."]
4242				#[doc = ""]
4243				#[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"]
4244				pub fn transfer_keep_alive(
4245					&self,
4246					dest: types::transfer_keep_alive::Dest,
4247					value: types::transfer_keep_alive::Value,
4248				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferKeepAlive>
4249				{
4250					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4251						"Balances",
4252						"transfer_keep_alive",
4253						types::TransferKeepAlive { dest, value },
4254						[
4255							245u8, 14u8, 190u8, 193u8, 32u8, 210u8, 74u8, 92u8, 25u8, 182u8, 76u8,
4256							55u8, 247u8, 83u8, 114u8, 75u8, 143u8, 236u8, 117u8, 25u8, 54u8, 157u8,
4257							208u8, 207u8, 233u8, 89u8, 70u8, 161u8, 235u8, 242u8, 222u8, 59u8,
4258						],
4259					)
4260				}
4261				#[doc = "Transfer the entire transferable balance from the caller account."]
4262				#[doc = ""]
4263				#[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"]
4264				#[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"]
4265				#[doc = "transferred by this function. To ensure that this function results in a killed account,"]
4266				#[doc = "you might need to prepare the account by removing any reference counters, storage"]
4267				#[doc = "deposits, etc..."]
4268				#[doc = ""]
4269				#[doc = "The dispatch origin of this call must be Signed."]
4270				#[doc = ""]
4271				#[doc = "- `dest`: The recipient of the transfer."]
4272				#[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"]
4273				#[doc = "  of the funds the account has, causing the sender account to be killed (false), or"]
4274				#[doc = "  transfer everything except at least the existential deposit, which will guarantee to"]
4275				#[doc = "  keep the sender account alive (true)."]
4276				pub fn transfer_all(
4277					&self,
4278					dest: types::transfer_all::Dest,
4279					keep_alive: types::transfer_all::KeepAlive,
4280				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferAll> {
4281					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4282						"Balances",
4283						"transfer_all",
4284						types::TransferAll { dest, keep_alive },
4285						[
4286							105u8, 132u8, 49u8, 144u8, 195u8, 250u8, 34u8, 46u8, 213u8, 248u8,
4287							112u8, 188u8, 81u8, 228u8, 136u8, 18u8, 67u8, 172u8, 37u8, 38u8, 238u8,
4288							9u8, 34u8, 15u8, 67u8, 34u8, 148u8, 195u8, 223u8, 29u8, 154u8, 6u8,
4289						],
4290					)
4291				}
4292				#[doc = "Unreserve some balance from a user by force."]
4293				#[doc = ""]
4294				#[doc = "Can only be called by ROOT."]
4295				pub fn force_unreserve(
4296					&self,
4297					who: types::force_unreserve::Who,
4298					amount: types::force_unreserve::Amount,
4299				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceUnreserve>
4300				{
4301					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4302						"Balances",
4303						"force_unreserve",
4304						types::ForceUnreserve { who, amount },
4305						[
4306							142u8, 151u8, 64u8, 205u8, 46u8, 64u8, 62u8, 122u8, 108u8, 49u8, 223u8,
4307							140u8, 120u8, 153u8, 35u8, 165u8, 187u8, 38u8, 157u8, 200u8, 123u8,
4308							199u8, 198u8, 168u8, 208u8, 159u8, 39u8, 134u8, 92u8, 103u8, 84u8,
4309							171u8,
4310						],
4311					)
4312				}
4313				#[doc = "Upgrade a specified account."]
4314				#[doc = ""]
4315				#[doc = "- `origin`: Must be `Signed`."]
4316				#[doc = "- `who`: The account to be upgraded."]
4317				#[doc = ""]
4318				#[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"]
4319				#[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"]
4320				#[doc = "possibility of churn)."]
4321				pub fn upgrade_accounts(
4322					&self,
4323					who: types::upgrade_accounts::Who,
4324				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::UpgradeAccounts>
4325				{
4326					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4327						"Balances",
4328						"upgrade_accounts",
4329						types::UpgradeAccounts { who },
4330						[
4331							66u8, 200u8, 179u8, 104u8, 65u8, 2u8, 101u8, 56u8, 130u8, 161u8, 224u8,
4332							233u8, 255u8, 124u8, 70u8, 122u8, 8u8, 49u8, 103u8, 178u8, 68u8, 47u8,
4333							214u8, 166u8, 217u8, 116u8, 178u8, 50u8, 212u8, 164u8, 98u8, 226u8,
4334						],
4335					)
4336				}
4337				#[doc = "Set the regular balance of a given account."]
4338				#[doc = ""]
4339				#[doc = "The dispatch origin for this call is `root`."]
4340				pub fn force_set_balance(
4341					&self,
4342					who: types::force_set_balance::Who,
4343					new_free: types::force_set_balance::NewFree,
4344				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceSetBalance>
4345				{
4346					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4347						"Balances",
4348						"force_set_balance",
4349						types::ForceSetBalance { who, new_free },
4350						[
4351							114u8, 229u8, 59u8, 204u8, 180u8, 83u8, 17u8, 4u8, 59u8, 4u8, 55u8,
4352							39u8, 151u8, 196u8, 124u8, 60u8, 209u8, 65u8, 193u8, 11u8, 44u8, 164u8,
4353							116u8, 93u8, 169u8, 30u8, 199u8, 165u8, 55u8, 231u8, 223u8, 43u8,
4354						],
4355					)
4356				}
4357				#[doc = "Adjust the total issuance in a saturating way."]
4358				#[doc = ""]
4359				#[doc = "Can only be called by root and always needs a positive `delta`."]
4360				#[doc = ""]
4361				#[doc = "# Example"]
4362				pub fn force_adjust_total_issuance(
4363					&self,
4364					direction: types::force_adjust_total_issuance::Direction,
4365					delta: types::force_adjust_total_issuance::Delta,
4366				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
4367					types::ForceAdjustTotalIssuance,
4368				> {
4369					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4370						"Balances",
4371						"force_adjust_total_issuance",
4372						types::ForceAdjustTotalIssuance { direction, delta },
4373						[
4374							208u8, 134u8, 56u8, 133u8, 232u8, 164u8, 10u8, 213u8, 53u8, 193u8,
4375							190u8, 63u8, 236u8, 186u8, 96u8, 122u8, 104u8, 87u8, 173u8, 38u8, 58u8,
4376							176u8, 21u8, 78u8, 42u8, 106u8, 46u8, 248u8, 251u8, 190u8, 150u8,
4377							202u8,
4378						],
4379					)
4380				}
4381				#[doc = "Burn the specified liquid free balance from the origin account."]
4382				#[doc = ""]
4383				#[doc = "If the origin's account ends up below the existential deposit as a result"]
4384				#[doc = "of the burn and `keep_alive` is false, the account will be reaped."]
4385				#[doc = ""]
4386				#[doc = "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,"]
4387				#[doc = "this `burn` operation will reduce total issuance by the amount _burned_."]
4388				pub fn burn(
4389					&self,
4390					value: types::burn::Value,
4391					keep_alive: types::burn::KeepAlive,
4392				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Burn> {
4393					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4394						"Balances",
4395						"burn",
4396						types::Burn { value, keep_alive },
4397						[
4398							176u8, 64u8, 7u8, 109u8, 16u8, 44u8, 145u8, 125u8, 147u8, 152u8, 130u8,
4399							114u8, 221u8, 201u8, 150u8, 162u8, 118u8, 71u8, 52u8, 92u8, 240u8,
4400							116u8, 203u8, 98u8, 5u8, 22u8, 43u8, 102u8, 94u8, 208u8, 101u8, 57u8,
4401						],
4402					)
4403				}
4404			}
4405		}
4406		#[doc = "The `Event` enum of this pallet"]
4407		pub type Event = runtime_types::pallet_balances::pallet::Event;
4408		pub mod events {
4409			use super::runtime_types;
4410			#[derive(
4411				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4412				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4413				Debug,
4414			)]
4415			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4416			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4417			#[doc = "An account was created with some free balance."]
4418			pub struct Endowed {
4419				pub account: endowed::Account,
4420				pub free_balance: endowed::FreeBalance,
4421			}
4422			pub mod endowed {
4423				use super::runtime_types;
4424				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
4425				pub type FreeBalance = ::core::primitive::u128;
4426			}
4427			impl ::subxt::ext::subxt_core::events::StaticEvent for Endowed {
4428				const PALLET: &'static str = "Balances";
4429				const EVENT: &'static str = "Endowed";
4430			}
4431			#[derive(
4432				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4433				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4434				Debug,
4435			)]
4436			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4437			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4438			#[doc = "An account was removed whose balance was non-zero but below ExistentialDeposit,"]
4439			#[doc = "resulting in an outright loss."]
4440			pub struct DustLost {
4441				pub account: dust_lost::Account,
4442				pub amount: dust_lost::Amount,
4443			}
4444			pub mod dust_lost {
4445				use super::runtime_types;
4446				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
4447				pub type Amount = ::core::primitive::u128;
4448			}
4449			impl ::subxt::ext::subxt_core::events::StaticEvent for DustLost {
4450				const PALLET: &'static str = "Balances";
4451				const EVENT: &'static str = "DustLost";
4452			}
4453			#[derive(
4454				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4455				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4456				Debug,
4457			)]
4458			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4459			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4460			#[doc = "Transfer succeeded."]
4461			pub struct Transfer {
4462				pub from: transfer::From,
4463				pub to: transfer::To,
4464				pub amount: transfer::Amount,
4465			}
4466			pub mod transfer {
4467				use super::runtime_types;
4468				pub type From = ::subxt::ext::subxt_core::utils::AccountId32;
4469				pub type To = ::subxt::ext::subxt_core::utils::AccountId32;
4470				pub type Amount = ::core::primitive::u128;
4471			}
4472			impl ::subxt::ext::subxt_core::events::StaticEvent for Transfer {
4473				const PALLET: &'static str = "Balances";
4474				const EVENT: &'static str = "Transfer";
4475			}
4476			#[derive(
4477				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4478				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4479				Debug,
4480			)]
4481			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4482			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4483			#[doc = "A balance was set by root."]
4484			pub struct BalanceSet {
4485				pub who: balance_set::Who,
4486				pub free: balance_set::Free,
4487			}
4488			pub mod balance_set {
4489				use super::runtime_types;
4490				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4491				pub type Free = ::core::primitive::u128;
4492			}
4493			impl ::subxt::ext::subxt_core::events::StaticEvent for BalanceSet {
4494				const PALLET: &'static str = "Balances";
4495				const EVENT: &'static str = "BalanceSet";
4496			}
4497			#[derive(
4498				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4499				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4500				Debug,
4501			)]
4502			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4503			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4504			#[doc = "Some balance was reserved (moved from free to reserved)."]
4505			pub struct Reserved {
4506				pub who: reserved::Who,
4507				pub amount: reserved::Amount,
4508			}
4509			pub mod reserved {
4510				use super::runtime_types;
4511				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4512				pub type Amount = ::core::primitive::u128;
4513			}
4514			impl ::subxt::ext::subxt_core::events::StaticEvent for Reserved {
4515				const PALLET: &'static str = "Balances";
4516				const EVENT: &'static str = "Reserved";
4517			}
4518			#[derive(
4519				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4520				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4521				Debug,
4522			)]
4523			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4524			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4525			#[doc = "Some balance was unreserved (moved from reserved to free)."]
4526			pub struct Unreserved {
4527				pub who: unreserved::Who,
4528				pub amount: unreserved::Amount,
4529			}
4530			pub mod unreserved {
4531				use super::runtime_types;
4532				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4533				pub type Amount = ::core::primitive::u128;
4534			}
4535			impl ::subxt::ext::subxt_core::events::StaticEvent for Unreserved {
4536				const PALLET: &'static str = "Balances";
4537				const EVENT: &'static str = "Unreserved";
4538			}
4539			#[derive(
4540				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4541				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4542				Debug,
4543			)]
4544			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4545			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4546			#[doc = "Some balance was moved from the reserve of the first account to the second account."]
4547			#[doc = "Final argument indicates the destination balance type."]
4548			pub struct ReserveRepatriated {
4549				pub from: reserve_repatriated::From,
4550				pub to: reserve_repatriated::To,
4551				pub amount: reserve_repatriated::Amount,
4552				pub destination_status: reserve_repatriated::DestinationStatus,
4553			}
4554			pub mod reserve_repatriated {
4555				use super::runtime_types;
4556				pub type From = ::subxt::ext::subxt_core::utils::AccountId32;
4557				pub type To = ::subxt::ext::subxt_core::utils::AccountId32;
4558				pub type Amount = ::core::primitive::u128;
4559				pub type DestinationStatus =
4560					runtime_types::frame_support::traits::tokens::misc::BalanceStatus;
4561			}
4562			impl ::subxt::ext::subxt_core::events::StaticEvent for ReserveRepatriated {
4563				const PALLET: &'static str = "Balances";
4564				const EVENT: &'static str = "ReserveRepatriated";
4565			}
4566			#[derive(
4567				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4568				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4569				Debug,
4570			)]
4571			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4572			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4573			#[doc = "Some amount was deposited (e.g. for transaction fees)."]
4574			pub struct Deposit {
4575				pub who: deposit::Who,
4576				pub amount: deposit::Amount,
4577			}
4578			pub mod deposit {
4579				use super::runtime_types;
4580				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4581				pub type Amount = ::core::primitive::u128;
4582			}
4583			impl ::subxt::ext::subxt_core::events::StaticEvent for Deposit {
4584				const PALLET: &'static str = "Balances";
4585				const EVENT: &'static str = "Deposit";
4586			}
4587			#[derive(
4588				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4589				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4590				Debug,
4591			)]
4592			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4593			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4594			#[doc = "Some amount was withdrawn from the account (e.g. for transaction fees)."]
4595			pub struct Withdraw {
4596				pub who: withdraw::Who,
4597				pub amount: withdraw::Amount,
4598			}
4599			pub mod withdraw {
4600				use super::runtime_types;
4601				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4602				pub type Amount = ::core::primitive::u128;
4603			}
4604			impl ::subxt::ext::subxt_core::events::StaticEvent for Withdraw {
4605				const PALLET: &'static str = "Balances";
4606				const EVENT: &'static str = "Withdraw";
4607			}
4608			#[derive(
4609				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4610				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4611				Debug,
4612			)]
4613			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4614			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4615			#[doc = "Some amount was removed from the account (e.g. for misbehavior)."]
4616			pub struct Slashed {
4617				pub who: slashed::Who,
4618				pub amount: slashed::Amount,
4619			}
4620			pub mod slashed {
4621				use super::runtime_types;
4622				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4623				pub type Amount = ::core::primitive::u128;
4624			}
4625			impl ::subxt::ext::subxt_core::events::StaticEvent for Slashed {
4626				const PALLET: &'static str = "Balances";
4627				const EVENT: &'static str = "Slashed";
4628			}
4629			#[derive(
4630				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4631				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4632				Debug,
4633			)]
4634			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4635			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4636			#[doc = "Some amount was minted into an account."]
4637			pub struct Minted {
4638				pub who: minted::Who,
4639				pub amount: minted::Amount,
4640			}
4641			pub mod minted {
4642				use super::runtime_types;
4643				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4644				pub type Amount = ::core::primitive::u128;
4645			}
4646			impl ::subxt::ext::subxt_core::events::StaticEvent for Minted {
4647				const PALLET: &'static str = "Balances";
4648				const EVENT: &'static str = "Minted";
4649			}
4650			#[derive(
4651				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4652				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4653				Debug,
4654			)]
4655			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4656			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4657			#[doc = "Some amount was burned from an account."]
4658			pub struct Burned {
4659				pub who: burned::Who,
4660				pub amount: burned::Amount,
4661			}
4662			pub mod burned {
4663				use super::runtime_types;
4664				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4665				pub type Amount = ::core::primitive::u128;
4666			}
4667			impl ::subxt::ext::subxt_core::events::StaticEvent for Burned {
4668				const PALLET: &'static str = "Balances";
4669				const EVENT: &'static str = "Burned";
4670			}
4671			#[derive(
4672				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4673				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4674				Debug,
4675			)]
4676			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4677			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4678			#[doc = "Some amount was suspended from an account (it can be restored later)."]
4679			pub struct Suspended {
4680				pub who: suspended::Who,
4681				pub amount: suspended::Amount,
4682			}
4683			pub mod suspended {
4684				use super::runtime_types;
4685				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4686				pub type Amount = ::core::primitive::u128;
4687			}
4688			impl ::subxt::ext::subxt_core::events::StaticEvent for Suspended {
4689				const PALLET: &'static str = "Balances";
4690				const EVENT: &'static str = "Suspended";
4691			}
4692			#[derive(
4693				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4694				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4695				Debug,
4696			)]
4697			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4698			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4699			#[doc = "Some amount was restored into an account."]
4700			pub struct Restored {
4701				pub who: restored::Who,
4702				pub amount: restored::Amount,
4703			}
4704			pub mod restored {
4705				use super::runtime_types;
4706				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4707				pub type Amount = ::core::primitive::u128;
4708			}
4709			impl ::subxt::ext::subxt_core::events::StaticEvent for Restored {
4710				const PALLET: &'static str = "Balances";
4711				const EVENT: &'static str = "Restored";
4712			}
4713			#[derive(
4714				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4715				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4716				Debug,
4717			)]
4718			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4719			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4720			#[doc = "An account was upgraded."]
4721			pub struct Upgraded {
4722				pub who: upgraded::Who,
4723			}
4724			pub mod upgraded {
4725				use super::runtime_types;
4726				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4727			}
4728			impl ::subxt::ext::subxt_core::events::StaticEvent for Upgraded {
4729				const PALLET: &'static str = "Balances";
4730				const EVENT: &'static str = "Upgraded";
4731			}
4732			#[derive(
4733				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4734				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4735				Debug,
4736			)]
4737			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4738			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4739			#[doc = "Total issuance was increased by `amount`, creating a credit to be balanced."]
4740			pub struct Issued {
4741				pub amount: issued::Amount,
4742			}
4743			pub mod issued {
4744				use super::runtime_types;
4745				pub type Amount = ::core::primitive::u128;
4746			}
4747			impl ::subxt::ext::subxt_core::events::StaticEvent for Issued {
4748				const PALLET: &'static str = "Balances";
4749				const EVENT: &'static str = "Issued";
4750			}
4751			#[derive(
4752				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4753				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4754				Debug,
4755			)]
4756			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4757			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4758			#[doc = "Total issuance was decreased by `amount`, creating a debt to be balanced."]
4759			pub struct Rescinded {
4760				pub amount: rescinded::Amount,
4761			}
4762			pub mod rescinded {
4763				use super::runtime_types;
4764				pub type Amount = ::core::primitive::u128;
4765			}
4766			impl ::subxt::ext::subxt_core::events::StaticEvent for Rescinded {
4767				const PALLET: &'static str = "Balances";
4768				const EVENT: &'static str = "Rescinded";
4769			}
4770			#[derive(
4771				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4772				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4773				Debug,
4774			)]
4775			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4776			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4777			#[doc = "Some balance was locked."]
4778			pub struct Locked {
4779				pub who: locked::Who,
4780				pub amount: locked::Amount,
4781			}
4782			pub mod locked {
4783				use super::runtime_types;
4784				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4785				pub type Amount = ::core::primitive::u128;
4786			}
4787			impl ::subxt::ext::subxt_core::events::StaticEvent for Locked {
4788				const PALLET: &'static str = "Balances";
4789				const EVENT: &'static str = "Locked";
4790			}
4791			#[derive(
4792				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4793				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4794				Debug,
4795			)]
4796			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4797			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4798			#[doc = "Some balance was unlocked."]
4799			pub struct Unlocked {
4800				pub who: unlocked::Who,
4801				pub amount: unlocked::Amount,
4802			}
4803			pub mod unlocked {
4804				use super::runtime_types;
4805				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4806				pub type Amount = ::core::primitive::u128;
4807			}
4808			impl ::subxt::ext::subxt_core::events::StaticEvent for Unlocked {
4809				const PALLET: &'static str = "Balances";
4810				const EVENT: &'static str = "Unlocked";
4811			}
4812			#[derive(
4813				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4814				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4815				Debug,
4816			)]
4817			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4818			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4819			#[doc = "Some balance was frozen."]
4820			pub struct Frozen {
4821				pub who: frozen::Who,
4822				pub amount: frozen::Amount,
4823			}
4824			pub mod frozen {
4825				use super::runtime_types;
4826				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4827				pub type Amount = ::core::primitive::u128;
4828			}
4829			impl ::subxt::ext::subxt_core::events::StaticEvent for Frozen {
4830				const PALLET: &'static str = "Balances";
4831				const EVENT: &'static str = "Frozen";
4832			}
4833			#[derive(
4834				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4835				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4836				Debug,
4837			)]
4838			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4839			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4840			#[doc = "Some balance was thawed."]
4841			pub struct Thawed {
4842				pub who: thawed::Who,
4843				pub amount: thawed::Amount,
4844			}
4845			pub mod thawed {
4846				use super::runtime_types;
4847				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4848				pub type Amount = ::core::primitive::u128;
4849			}
4850			impl ::subxt::ext::subxt_core::events::StaticEvent for Thawed {
4851				const PALLET: &'static str = "Balances";
4852				const EVENT: &'static str = "Thawed";
4853			}
4854			#[derive(
4855				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4856				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4857				Debug,
4858			)]
4859			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4860			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4861			#[doc = "The `TotalIssuance` was forcefully changed."]
4862			pub struct TotalIssuanceForced {
4863				pub old: total_issuance_forced::Old,
4864				pub new: total_issuance_forced::New,
4865			}
4866			pub mod total_issuance_forced {
4867				use super::runtime_types;
4868				pub type Old = ::core::primitive::u128;
4869				pub type New = ::core::primitive::u128;
4870			}
4871			impl ::subxt::ext::subxt_core::events::StaticEvent for TotalIssuanceForced {
4872				const PALLET: &'static str = "Balances";
4873				const EVENT: &'static str = "TotalIssuanceForced";
4874			}
4875		}
4876		pub mod storage {
4877			use super::runtime_types;
4878			pub mod types {
4879				use super::runtime_types;
4880				pub mod total_issuance {
4881					use super::runtime_types;
4882					pub type TotalIssuance = ::core::primitive::u128;
4883				}
4884				pub mod inactive_issuance {
4885					use super::runtime_types;
4886					pub type InactiveIssuance = ::core::primitive::u128;
4887				}
4888				pub mod account {
4889					use super::runtime_types;
4890					pub type Account =
4891						runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>;
4892					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
4893				}
4894				pub mod locks {
4895					use super::runtime_types;
4896					pub type Locks =
4897						runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
4898							runtime_types::pallet_balances::types::BalanceLock<
4899								::core::primitive::u128,
4900							>,
4901						>;
4902					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
4903				}
4904				pub mod reserves {
4905					use super::runtime_types;
4906					pub type Reserves = runtime_types::bounded_collections::bounded_vec::BoundedVec<
4907						runtime_types::pallet_balances::types::ReserveData<
4908							[::core::primitive::u8; 8usize],
4909							::core::primitive::u128,
4910						>,
4911					>;
4912					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
4913				}
4914				pub mod holds {
4915					use super::runtime_types;
4916					pub type Holds = runtime_types::bounded_collections::bounded_vec::BoundedVec<
4917						runtime_types::frame_support::traits::tokens::misc::IdAmount<
4918							runtime_types::quantus_runtime::RuntimeHoldReason,
4919							::core::primitive::u128,
4920						>,
4921					>;
4922					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
4923				}
4924				pub mod freezes {
4925					use super::runtime_types;
4926					pub type Freezes = runtime_types::bounded_collections::bounded_vec::BoundedVec<
4927						runtime_types::frame_support::traits::tokens::misc::IdAmount<
4928							runtime_types::quantus_runtime::RuntimeFreezeReason,
4929							::core::primitive::u128,
4930						>,
4931					>;
4932					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
4933				}
4934				pub mod transfer_proof {
4935					use super::runtime_types;
4936					pub type TransferProof = ();
4937					pub type Param0 = (
4938						::core::primitive::u64,
4939						::subxt::ext::subxt_core::utils::AccountId32,
4940						::subxt::ext::subxt_core::utils::AccountId32,
4941						::core::primitive::u128,
4942					);
4943				}
4944				pub mod transfer_count {
4945					use super::runtime_types;
4946					pub type TransferCount = ::core::primitive::u64;
4947				}
4948			}
4949			pub struct StorageApi;
4950			impl StorageApi {
4951				#[doc = " The total units issued in the system."]
4952				pub fn total_issuance(
4953					&self,
4954				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4955					(),
4956					types::total_issuance::TotalIssuance,
4957					::subxt::ext::subxt_core::utils::Yes,
4958					::subxt::ext::subxt_core::utils::Yes,
4959					(),
4960				> {
4961					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4962						"Balances",
4963						"TotalIssuance",
4964						(),
4965						[
4966							116u8, 70u8, 119u8, 194u8, 69u8, 37u8, 116u8, 206u8, 171u8, 70u8,
4967							171u8, 210u8, 226u8, 111u8, 184u8, 204u8, 206u8, 11u8, 68u8, 72u8,
4968							255u8, 19u8, 194u8, 11u8, 27u8, 194u8, 81u8, 204u8, 59u8, 224u8, 202u8,
4969							185u8,
4970						],
4971					)
4972				}
4973				#[doc = " The total units of outstanding deactivated balance in the system."]
4974				pub fn inactive_issuance(
4975					&self,
4976				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4977					(),
4978					types::inactive_issuance::InactiveIssuance,
4979					::subxt::ext::subxt_core::utils::Yes,
4980					::subxt::ext::subxt_core::utils::Yes,
4981					(),
4982				> {
4983					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4984						"Balances",
4985						"InactiveIssuance",
4986						(),
4987						[
4988							212u8, 185u8, 19u8, 50u8, 250u8, 72u8, 173u8, 50u8, 4u8, 104u8, 161u8,
4989							249u8, 77u8, 247u8, 204u8, 248u8, 11u8, 18u8, 57u8, 4u8, 82u8, 110u8,
4990							30u8, 216u8, 16u8, 37u8, 87u8, 67u8, 189u8, 235u8, 214u8, 155u8,
4991						],
4992					)
4993				}
4994				#[doc = " The Balances pallet example of storing the balance of an account."]
4995				#[doc = ""]
4996				#[doc = " # Example"]
4997				#[doc = ""]
4998				#[doc = " ```nocompile"]
4999				#[doc = "  impl pallet_balances::Config for Runtime {"]
5000				#[doc = "    type AccountStore = StorageMapShim<Self::Account<Runtime>, frame_system::Provider<Runtime>, AccountId, Self::AccountData<Balance>>"]
5001				#[doc = "  }"]
5002				#[doc = " ```"]
5003				#[doc = ""]
5004				#[doc = " You can also store the balance of an account in the `System` pallet."]
5005				#[doc = ""]
5006				#[doc = " # Example"]
5007				#[doc = ""]
5008				#[doc = " ```nocompile"]
5009				#[doc = "  impl pallet_balances::Config for Runtime {"]
5010				#[doc = "   type AccountStore = System"]
5011				#[doc = "  }"]
5012				#[doc = " ```"]
5013				#[doc = ""]
5014				#[doc = " But this comes with tradeoffs, storing account balances in the system pallet stores"]
5015				#[doc = " `frame_system` data alongside the account data contrary to storing account balances in the"]
5016				#[doc = " `Balances` pallet, which uses a `StorageMap` to store balances data only."]
5017				#[doc = " NOTE: This is only used in the case that this pallet is used to store balances."]
5018				pub fn account_iter(
5019					&self,
5020				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5021					(),
5022					types::account::Account,
5023					(),
5024					::subxt::ext::subxt_core::utils::Yes,
5025					::subxt::ext::subxt_core::utils::Yes,
5026				> {
5027					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5028						"Balances",
5029						"Account",
5030						(),
5031						[
5032							213u8, 38u8, 200u8, 69u8, 218u8, 0u8, 112u8, 181u8, 160u8, 23u8, 96u8,
5033							90u8, 3u8, 88u8, 126u8, 22u8, 103u8, 74u8, 64u8, 69u8, 29u8, 247u8,
5034							18u8, 17u8, 234u8, 143u8, 189u8, 22u8, 247u8, 194u8, 154u8, 249u8,
5035						],
5036					)
5037				}
5038				#[doc = " The Balances pallet example of storing the balance of an account."]
5039				#[doc = ""]
5040				#[doc = " # Example"]
5041				#[doc = ""]
5042				#[doc = " ```nocompile"]
5043				#[doc = "  impl pallet_balances::Config for Runtime {"]
5044				#[doc = "    type AccountStore = StorageMapShim<Self::Account<Runtime>, frame_system::Provider<Runtime>, AccountId, Self::AccountData<Balance>>"]
5045				#[doc = "  }"]
5046				#[doc = " ```"]
5047				#[doc = ""]
5048				#[doc = " You can also store the balance of an account in the `System` pallet."]
5049				#[doc = ""]
5050				#[doc = " # Example"]
5051				#[doc = ""]
5052				#[doc = " ```nocompile"]
5053				#[doc = "  impl pallet_balances::Config for Runtime {"]
5054				#[doc = "   type AccountStore = System"]
5055				#[doc = "  }"]
5056				#[doc = " ```"]
5057				#[doc = ""]
5058				#[doc = " But this comes with tradeoffs, storing account balances in the system pallet stores"]
5059				#[doc = " `frame_system` data alongside the account data contrary to storing account balances in the"]
5060				#[doc = " `Balances` pallet, which uses a `StorageMap` to store balances data only."]
5061				#[doc = " NOTE: This is only used in the case that this pallet is used to store balances."]
5062				pub fn account(
5063					&self,
5064					_0: types::account::Param0,
5065				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5066					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
5067						types::account::Param0,
5068					>,
5069					types::account::Account,
5070					::subxt::ext::subxt_core::utils::Yes,
5071					::subxt::ext::subxt_core::utils::Yes,
5072					(),
5073				> {
5074					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5075						"Balances",
5076						"Account",
5077						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
5078						[
5079							213u8, 38u8, 200u8, 69u8, 218u8, 0u8, 112u8, 181u8, 160u8, 23u8, 96u8,
5080							90u8, 3u8, 88u8, 126u8, 22u8, 103u8, 74u8, 64u8, 69u8, 29u8, 247u8,
5081							18u8, 17u8, 234u8, 143u8, 189u8, 22u8, 247u8, 194u8, 154u8, 249u8,
5082						],
5083					)
5084				}
5085				#[doc = " Any liquidity locks on some account balances."]
5086				#[doc = " NOTE: Should only be accessed when setting, changing and freeing a lock."]
5087				#[doc = ""]
5088				#[doc = " Use of locks is deprecated in favour of freezes. See `https://github.com/paritytech/substrate/pull/12951/`"]
5089				pub fn locks_iter(
5090					&self,
5091				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5092					(),
5093					types::locks::Locks,
5094					(),
5095					::subxt::ext::subxt_core::utils::Yes,
5096					::subxt::ext::subxt_core::utils::Yes,
5097				> {
5098					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5099						"Balances",
5100						"Locks",
5101						(),
5102						[
5103							10u8, 223u8, 55u8, 0u8, 249u8, 69u8, 168u8, 41u8, 75u8, 35u8, 120u8,
5104							167u8, 18u8, 132u8, 9u8, 20u8, 91u8, 51u8, 27u8, 69u8, 136u8, 187u8,
5105							13u8, 220u8, 163u8, 122u8, 26u8, 141u8, 174u8, 249u8, 85u8, 37u8,
5106						],
5107					)
5108				}
5109				#[doc = " Any liquidity locks on some account balances."]
5110				#[doc = " NOTE: Should only be accessed when setting, changing and freeing a lock."]
5111				#[doc = ""]
5112				#[doc = " Use of locks is deprecated in favour of freezes. See `https://github.com/paritytech/substrate/pull/12951/`"]
5113				pub fn locks(
5114					&self,
5115					_0: types::locks::Param0,
5116				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5117					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
5118						types::locks::Param0,
5119					>,
5120					types::locks::Locks,
5121					::subxt::ext::subxt_core::utils::Yes,
5122					::subxt::ext::subxt_core::utils::Yes,
5123					(),
5124				> {
5125					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5126						"Balances",
5127						"Locks",
5128						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
5129						[
5130							10u8, 223u8, 55u8, 0u8, 249u8, 69u8, 168u8, 41u8, 75u8, 35u8, 120u8,
5131							167u8, 18u8, 132u8, 9u8, 20u8, 91u8, 51u8, 27u8, 69u8, 136u8, 187u8,
5132							13u8, 220u8, 163u8, 122u8, 26u8, 141u8, 174u8, 249u8, 85u8, 37u8,
5133						],
5134					)
5135				}
5136				#[doc = " Named reserves on some account balances."]
5137				#[doc = ""]
5138				#[doc = " Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/`"]
5139				pub fn reserves_iter(
5140					&self,
5141				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5142					(),
5143					types::reserves::Reserves,
5144					(),
5145					::subxt::ext::subxt_core::utils::Yes,
5146					::subxt::ext::subxt_core::utils::Yes,
5147				> {
5148					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5149						"Balances",
5150						"Reserves",
5151						(),
5152						[
5153							112u8, 10u8, 241u8, 77u8, 64u8, 187u8, 106u8, 159u8, 13u8, 153u8,
5154							140u8, 178u8, 182u8, 50u8, 1u8, 55u8, 149u8, 92u8, 196u8, 229u8, 170u8,
5155							106u8, 193u8, 88u8, 255u8, 244u8, 2u8, 193u8, 62u8, 235u8, 204u8, 91u8,
5156						],
5157					)
5158				}
5159				#[doc = " Named reserves on some account balances."]
5160				#[doc = ""]
5161				#[doc = " Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/`"]
5162				pub fn reserves(
5163					&self,
5164					_0: types::reserves::Param0,
5165				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5166					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
5167						types::reserves::Param0,
5168					>,
5169					types::reserves::Reserves,
5170					::subxt::ext::subxt_core::utils::Yes,
5171					::subxt::ext::subxt_core::utils::Yes,
5172					(),
5173				> {
5174					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5175						"Balances",
5176						"Reserves",
5177						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
5178						[
5179							112u8, 10u8, 241u8, 77u8, 64u8, 187u8, 106u8, 159u8, 13u8, 153u8,
5180							140u8, 178u8, 182u8, 50u8, 1u8, 55u8, 149u8, 92u8, 196u8, 229u8, 170u8,
5181							106u8, 193u8, 88u8, 255u8, 244u8, 2u8, 193u8, 62u8, 235u8, 204u8, 91u8,
5182						],
5183					)
5184				}
5185				#[doc = " Holds on account balances."]
5186				pub fn holds_iter(
5187					&self,
5188				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5189					(),
5190					types::holds::Holds,
5191					(),
5192					::subxt::ext::subxt_core::utils::Yes,
5193					::subxt::ext::subxt_core::utils::Yes,
5194				> {
5195					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5196						"Balances",
5197						"Holds",
5198						(),
5199						[
5200							108u8, 118u8, 163u8, 86u8, 4u8, 174u8, 42u8, 210u8, 139u8, 171u8, 15u8,
5201							242u8, 10u8, 4u8, 255u8, 205u8, 247u8, 61u8, 236u8, 127u8, 54u8, 175u8,
5202							182u8, 131u8, 84u8, 129u8, 78u8, 242u8, 92u8, 143u8, 219u8, 35u8,
5203						],
5204					)
5205				}
5206				#[doc = " Holds on account balances."]
5207				pub fn holds(
5208					&self,
5209					_0: types::holds::Param0,
5210				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5211					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
5212						types::holds::Param0,
5213					>,
5214					types::holds::Holds,
5215					::subxt::ext::subxt_core::utils::Yes,
5216					::subxt::ext::subxt_core::utils::Yes,
5217					(),
5218				> {
5219					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5220						"Balances",
5221						"Holds",
5222						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
5223						[
5224							108u8, 118u8, 163u8, 86u8, 4u8, 174u8, 42u8, 210u8, 139u8, 171u8, 15u8,
5225							242u8, 10u8, 4u8, 255u8, 205u8, 247u8, 61u8, 236u8, 127u8, 54u8, 175u8,
5226							182u8, 131u8, 84u8, 129u8, 78u8, 242u8, 92u8, 143u8, 219u8, 35u8,
5227						],
5228					)
5229				}
5230				#[doc = " Freeze locks on account balances."]
5231				pub fn freezes_iter(
5232					&self,
5233				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5234					(),
5235					types::freezes::Freezes,
5236					(),
5237					::subxt::ext::subxt_core::utils::Yes,
5238					::subxt::ext::subxt_core::utils::Yes,
5239				> {
5240					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5241						"Balances",
5242						"Freezes",
5243						(),
5244						[
5245							170u8, 69u8, 116u8, 92u8, 165u8, 14u8, 129u8, 179u8, 165u8, 6u8, 123u8,
5246							156u8, 4u8, 30u8, 25u8, 181u8, 191u8, 29u8, 3u8, 92u8, 96u8, 167u8,
5247							102u8, 38u8, 128u8, 140u8, 85u8, 248u8, 114u8, 127u8, 128u8, 40u8,
5248						],
5249					)
5250				}
5251				#[doc = " Freeze locks on account balances."]
5252				pub fn freezes(
5253					&self,
5254					_0: types::freezes::Param0,
5255				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5256					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
5257						types::freezes::Param0,
5258					>,
5259					types::freezes::Freezes,
5260					::subxt::ext::subxt_core::utils::Yes,
5261					::subxt::ext::subxt_core::utils::Yes,
5262					(),
5263				> {
5264					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5265						"Balances",
5266						"Freezes",
5267						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
5268						[
5269							170u8, 69u8, 116u8, 92u8, 165u8, 14u8, 129u8, 179u8, 165u8, 6u8, 123u8,
5270							156u8, 4u8, 30u8, 25u8, 181u8, 191u8, 29u8, 3u8, 92u8, 96u8, 167u8,
5271							102u8, 38u8, 128u8, 140u8, 85u8, 248u8, 114u8, 127u8, 128u8, 40u8,
5272						],
5273					)
5274				}
5275				#[doc = " Transfer proofs for a wormhole transfers"]
5276				pub fn transfer_proof_iter(
5277					&self,
5278				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5279					(),
5280					types::transfer_proof::TransferProof,
5281					(),
5282					(),
5283					::subxt::ext::subxt_core::utils::Yes,
5284				> {
5285					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5286						"Balances",
5287						"TransferProof",
5288						(),
5289						[
5290							210u8, 54u8, 36u8, 79u8, 12u8, 123u8, 227u8, 172u8, 23u8, 232u8, 200u8,
5291							138u8, 130u8, 99u8, 12u8, 186u8, 77u8, 74u8, 208u8, 111u8, 137u8,
5292							159u8, 169u8, 112u8, 227u8, 111u8, 65u8, 127u8, 232u8, 57u8, 166u8,
5293							14u8,
5294						],
5295					)
5296				}
5297				#[doc = " Transfer proofs for a wormhole transfers"]
5298				pub fn transfer_proof(
5299					&self,
5300					_0: types::transfer_proof::Param0,
5301				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5302					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
5303						types::transfer_proof::Param0,
5304					>,
5305					types::transfer_proof::TransferProof,
5306					::subxt::ext::subxt_core::utils::Yes,
5307					(),
5308					(),
5309				> {
5310					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5311						"Balances",
5312						"TransferProof",
5313						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
5314						[
5315							210u8, 54u8, 36u8, 79u8, 12u8, 123u8, 227u8, 172u8, 23u8, 232u8, 200u8,
5316							138u8, 130u8, 99u8, 12u8, 186u8, 77u8, 74u8, 208u8, 111u8, 137u8,
5317							159u8, 169u8, 112u8, 227u8, 111u8, 65u8, 127u8, 232u8, 57u8, 166u8,
5318							14u8,
5319						],
5320					)
5321				}
5322				pub fn transfer_count(
5323					&self,
5324				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5325					(),
5326					types::transfer_count::TransferCount,
5327					::subxt::ext::subxt_core::utils::Yes,
5328					::subxt::ext::subxt_core::utils::Yes,
5329					(),
5330				> {
5331					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5332						"Balances",
5333						"TransferCount",
5334						(),
5335						[
5336							105u8, 10u8, 160u8, 118u8, 193u8, 131u8, 207u8, 188u8, 78u8, 238u8,
5337							252u8, 99u8, 31u8, 72u8, 159u8, 128u8, 159u8, 215u8, 110u8, 101u8,
5338							27u8, 132u8, 12u8, 59u8, 182u8, 107u8, 98u8, 77u8, 189u8, 100u8, 51u8,
5339							209u8,
5340						],
5341					)
5342				}
5343			}
5344		}
5345		pub mod constants {
5346			use super::runtime_types;
5347			pub struct ConstantsApi;
5348			impl ConstantsApi {
5349				#[doc = " The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!"]
5350				#[doc = ""]
5351				#[doc = " If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for"]
5352				#[doc = " this pallet. However, you do so at your own risk: this will open up a major DoS vector."]
5353				#[doc = " In case you have multiple sources of provider references, you may also get unexpected"]
5354				#[doc = " behaviour if you set this to zero."]
5355				#[doc = ""]
5356				#[doc = " Bottom line: Do yourself a favour and make it at least one!"]
5357				pub fn existential_deposit(
5358					&self,
5359				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5360					::core::primitive::u128,
5361				> {
5362					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5363						"Balances",
5364						"ExistentialDeposit",
5365						[
5366							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
5367							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
5368							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
5369						],
5370					)
5371				}
5372				#[doc = " The maximum number of locks that should exist on an account."]
5373				#[doc = " Not strictly enforced, but used for weight estimation."]
5374				#[doc = ""]
5375				#[doc = " Use of locks is deprecated in favour of freezes. See `https://github.com/paritytech/substrate/pull/12951/`"]
5376				pub fn max_locks(
5377					&self,
5378				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5379					::core::primitive::u32,
5380				> {
5381					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5382						"Balances",
5383						"MaxLocks",
5384						[
5385							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
5386							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
5387							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
5388							145u8,
5389						],
5390					)
5391				}
5392				#[doc = " The maximum number of named reserves that can exist on an account."]
5393				#[doc = ""]
5394				#[doc = " Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/`"]
5395				pub fn max_reserves(
5396					&self,
5397				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5398					::core::primitive::u32,
5399				> {
5400					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5401						"Balances",
5402						"MaxReserves",
5403						[
5404							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
5405							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
5406							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
5407							145u8,
5408						],
5409					)
5410				}
5411				#[doc = " The maximum number of individual freeze locks that can exist on an account at any time."]
5412				pub fn max_freezes(
5413					&self,
5414				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5415					::core::primitive::u32,
5416				> {
5417					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5418						"Balances",
5419						"MaxFreezes",
5420						[
5421							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
5422							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
5423							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
5424							145u8,
5425						],
5426					)
5427				}
5428			}
5429		}
5430	}
5431	pub mod transaction_payment {
5432		use super::{root_mod, runtime_types};
5433		#[doc = "The `Event` enum of this pallet"]
5434		pub type Event = runtime_types::pallet_transaction_payment::pallet::Event;
5435		pub mod events {
5436			use super::runtime_types;
5437			#[derive(
5438				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5439				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5440				Debug,
5441			)]
5442			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5443			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5444			#[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"]
5445			#[doc = "has been paid by `who`."]
5446			pub struct TransactionFeePaid {
5447				pub who: transaction_fee_paid::Who,
5448				pub actual_fee: transaction_fee_paid::ActualFee,
5449				pub tip: transaction_fee_paid::Tip,
5450			}
5451			pub mod transaction_fee_paid {
5452				use super::runtime_types;
5453				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
5454				pub type ActualFee = ::core::primitive::u128;
5455				pub type Tip = ::core::primitive::u128;
5456			}
5457			impl ::subxt::ext::subxt_core::events::StaticEvent for TransactionFeePaid {
5458				const PALLET: &'static str = "TransactionPayment";
5459				const EVENT: &'static str = "TransactionFeePaid";
5460			}
5461		}
5462		pub mod storage {
5463			use super::runtime_types;
5464			pub mod types {
5465				use super::runtime_types;
5466				pub mod next_fee_multiplier {
5467					use super::runtime_types;
5468					pub type NextFeeMultiplier =
5469						runtime_types::sp_arithmetic::fixed_point::FixedU128;
5470				}
5471				pub mod storage_version {
5472					use super::runtime_types;
5473					pub type StorageVersion = runtime_types::pallet_transaction_payment::Releases;
5474				}
5475			}
5476			pub struct StorageApi;
5477			impl StorageApi {
5478				pub fn next_fee_multiplier(
5479					&self,
5480				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5481					(),
5482					types::next_fee_multiplier::NextFeeMultiplier,
5483					::subxt::ext::subxt_core::utils::Yes,
5484					::subxt::ext::subxt_core::utils::Yes,
5485					(),
5486				> {
5487					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5488						"TransactionPayment",
5489						"NextFeeMultiplier",
5490						(),
5491						[
5492							247u8, 39u8, 81u8, 170u8, 225u8, 226u8, 82u8, 147u8, 34u8, 113u8,
5493							147u8, 213u8, 59u8, 80u8, 139u8, 35u8, 36u8, 196u8, 152u8, 19u8, 9u8,
5494							159u8, 176u8, 79u8, 249u8, 201u8, 170u8, 1u8, 129u8, 79u8, 146u8,
5495							197u8,
5496						],
5497					)
5498				}
5499				pub fn storage_version(
5500					&self,
5501				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5502					(),
5503					types::storage_version::StorageVersion,
5504					::subxt::ext::subxt_core::utils::Yes,
5505					::subxt::ext::subxt_core::utils::Yes,
5506					(),
5507				> {
5508					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5509						"TransactionPayment",
5510						"StorageVersion",
5511						(),
5512						[
5513							105u8, 243u8, 158u8, 241u8, 159u8, 231u8, 253u8, 6u8, 4u8, 32u8, 85u8,
5514							178u8, 126u8, 31u8, 203u8, 134u8, 154u8, 38u8, 122u8, 155u8, 150u8,
5515							251u8, 174u8, 15u8, 74u8, 134u8, 216u8, 244u8, 168u8, 175u8, 158u8,
5516							144u8,
5517						],
5518					)
5519				}
5520			}
5521		}
5522		pub mod constants {
5523			use super::runtime_types;
5524			pub struct ConstantsApi;
5525			impl ConstantsApi {
5526				#[doc = " A fee multiplier for `Operational` extrinsics to compute \"virtual tip\" to boost their"]
5527				#[doc = " `priority`"]
5528				#[doc = ""]
5529				#[doc = " This value is multiplied by the `final_fee` to obtain a \"virtual tip\" that is later"]
5530				#[doc = " added to a tip component in regular `priority` calculations."]
5531				#[doc = " It means that a `Normal` transaction can front-run a similarly-sized `Operational`"]
5532				#[doc = " extrinsic (with no tip), by including a tip value greater than the virtual tip."]
5533				#[doc = ""]
5534				#[doc = " ```rust,ignore"]
5535				#[doc = " // For `Normal`"]
5536				#[doc = " let priority = priority_calc(tip);"]
5537				#[doc = ""]
5538				#[doc = " // For `Operational`"]
5539				#[doc = " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;"]
5540				#[doc = " let priority = priority_calc(tip + virtual_tip);"]
5541				#[doc = " ```"]
5542				#[doc = ""]
5543				#[doc = " Note that since we use `final_fee` the multiplier applies also to the regular `tip`"]
5544				#[doc = " sent with the transaction. So, not only does the transaction get a priority bump based"]
5545				#[doc = " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`"]
5546				#[doc = " transactions."]
5547				pub fn operational_fee_multiplier(
5548					&self,
5549				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5550					::core::primitive::u8,
5551				> {
5552					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5553						"TransactionPayment",
5554						"OperationalFeeMultiplier",
5555						[
5556							141u8, 130u8, 11u8, 35u8, 226u8, 114u8, 92u8, 179u8, 168u8, 110u8,
5557							28u8, 91u8, 221u8, 64u8, 4u8, 148u8, 201u8, 193u8, 185u8, 66u8, 226u8,
5558							114u8, 97u8, 79u8, 62u8, 212u8, 202u8, 114u8, 237u8, 228u8, 183u8,
5559							165u8,
5560						],
5561					)
5562				}
5563			}
5564		}
5565	}
5566	pub mod sudo {
5567		use super::{root_mod, runtime_types};
5568		#[doc = "Error for the Sudo pallet."]
5569		pub type Error = runtime_types::pallet_sudo::pallet::Error;
5570		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
5571		pub type Call = runtime_types::pallet_sudo::pallet::Call;
5572		pub mod calls {
5573			use super::{root_mod, runtime_types};
5574			type DispatchError = runtime_types::sp_runtime::DispatchError;
5575			pub mod types {
5576				use super::runtime_types;
5577				#[derive(
5578					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5579					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5580					Debug,
5581				)]
5582				#[decode_as_type(
5583					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
5584				)]
5585				#[encode_as_type(
5586					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
5587				)]
5588				#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
5589				pub struct Sudo {
5590					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<sudo::Call>,
5591				}
5592				pub mod sudo {
5593					use super::runtime_types;
5594					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
5595				}
5596				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Sudo {
5597					const PALLET: &'static str = "Sudo";
5598					const CALL: &'static str = "sudo";
5599				}
5600				#[derive(
5601					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5602					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5603					Debug,
5604				)]
5605				#[decode_as_type(
5606					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
5607				)]
5608				#[encode_as_type(
5609					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
5610				)]
5611				#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
5612				#[doc = "This function does not check the weight of the call, and instead allows the"]
5613				#[doc = "Sudo user to specify the weight of the call."]
5614				#[doc = ""]
5615				#[doc = "The dispatch origin for this call must be _Signed_."]
5616				pub struct SudoUncheckedWeight {
5617					pub call:
5618						::subxt::ext::subxt_core::alloc::boxed::Box<sudo_unchecked_weight::Call>,
5619					pub weight: sudo_unchecked_weight::Weight,
5620				}
5621				pub mod sudo_unchecked_weight {
5622					use super::runtime_types;
5623					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
5624					pub type Weight = runtime_types::sp_weights::weight_v2::Weight;
5625				}
5626				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SudoUncheckedWeight {
5627					const PALLET: &'static str = "Sudo";
5628					const CALL: &'static str = "sudo_unchecked_weight";
5629				}
5630				#[derive(
5631					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5632					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5633					Debug,
5634				)]
5635				#[decode_as_type(
5636					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
5637				)]
5638				#[encode_as_type(
5639					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
5640				)]
5641				#[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"]
5642				#[doc = "key."]
5643				pub struct SetKey {
5644					pub new: set_key::New,
5645				}
5646				pub mod set_key {
5647					use super::runtime_types;
5648					pub type New = ::subxt::ext::subxt_core::utils::MultiAddress<
5649						::subxt::ext::subxt_core::utils::AccountId32,
5650						(),
5651					>;
5652				}
5653				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetKey {
5654					const PALLET: &'static str = "Sudo";
5655					const CALL: &'static str = "set_key";
5656				}
5657				#[derive(
5658					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5659					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5660					Debug,
5661				)]
5662				#[decode_as_type(
5663					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
5664				)]
5665				#[encode_as_type(
5666					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
5667				)]
5668				#[doc = "Authenticates the sudo key and dispatches a function call with `Signed` origin from"]
5669				#[doc = "a given account."]
5670				#[doc = ""]
5671				#[doc = "The dispatch origin for this call must be _Signed_."]
5672				pub struct SudoAs {
5673					pub who: sudo_as::Who,
5674					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<sudo_as::Call>,
5675				}
5676				pub mod sudo_as {
5677					use super::runtime_types;
5678					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
5679						::subxt::ext::subxt_core::utils::AccountId32,
5680						(),
5681					>;
5682					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
5683				}
5684				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SudoAs {
5685					const PALLET: &'static str = "Sudo";
5686					const CALL: &'static str = "sudo_as";
5687				}
5688				#[derive(
5689					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5690					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5691					Debug,
5692				)]
5693				#[decode_as_type(
5694					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
5695				)]
5696				#[encode_as_type(
5697					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
5698				)]
5699				#[doc = "Permanently removes the sudo key."]
5700				#[doc = ""]
5701				#[doc = "**This cannot be un-done.**"]
5702				pub struct RemoveKey;
5703				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveKey {
5704					const PALLET: &'static str = "Sudo";
5705					const CALL: &'static str = "remove_key";
5706				}
5707			}
5708			pub struct TransactionApi;
5709			impl TransactionApi {
5710				#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
5711				pub fn sudo(
5712					&self,
5713					call: types::sudo::Call,
5714				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Sudo> {
5715					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
5716						"Sudo",
5717						"sudo",
5718						types::Sudo {
5719							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
5720						},
5721						[
5722							226u8, 13u8, 120u8, 131u8, 148u8, 75u8, 28u8, 201u8, 23u8, 105u8,
5723							162u8, 50u8, 130u8, 0u8, 90u8, 154u8, 92u8, 255u8, 56u8, 74u8, 131u8,
5724							20u8, 147u8, 15u8, 68u8, 25u8, 87u8, 96u8, 82u8, 253u8, 126u8, 137u8,
5725						],
5726					)
5727				}
5728				#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
5729				#[doc = "This function does not check the weight of the call, and instead allows the"]
5730				#[doc = "Sudo user to specify the weight of the call."]
5731				#[doc = ""]
5732				#[doc = "The dispatch origin for this call must be _Signed_."]
5733				pub fn sudo_unchecked_weight(
5734					&self,
5735					call: types::sudo_unchecked_weight::Call,
5736					weight: types::sudo_unchecked_weight::Weight,
5737				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SudoUncheckedWeight>
5738				{
5739					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
5740						"Sudo",
5741						"sudo_unchecked_weight",
5742						types::SudoUncheckedWeight {
5743							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
5744							weight,
5745						},
5746						[
5747							3u8, 29u8, 145u8, 217u8, 139u8, 99u8, 189u8, 227u8, 29u8, 208u8, 41u8,
5748							95u8, 160u8, 161u8, 245u8, 92u8, 8u8, 101u8, 132u8, 102u8, 92u8, 181u8,
5749							251u8, 214u8, 240u8, 227u8, 0u8, 146u8, 127u8, 251u8, 129u8, 111u8,
5750						],
5751					)
5752				}
5753				#[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"]
5754				#[doc = "key."]
5755				pub fn set_key(
5756					&self,
5757					new: types::set_key::New,
5758				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetKey> {
5759					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
5760						"Sudo",
5761						"set_key",
5762						types::SetKey { new },
5763						[
5764							9u8, 73u8, 39u8, 205u8, 188u8, 127u8, 143u8, 54u8, 128u8, 94u8, 8u8,
5765							227u8, 197u8, 44u8, 70u8, 93u8, 228u8, 196u8, 64u8, 165u8, 226u8,
5766							158u8, 101u8, 192u8, 22u8, 193u8, 102u8, 84u8, 21u8, 35u8, 92u8, 198u8,
5767						],
5768					)
5769				}
5770				#[doc = "Authenticates the sudo key and dispatches a function call with `Signed` origin from"]
5771				#[doc = "a given account."]
5772				#[doc = ""]
5773				#[doc = "The dispatch origin for this call must be _Signed_."]
5774				pub fn sudo_as(
5775					&self,
5776					who: types::sudo_as::Who,
5777					call: types::sudo_as::Call,
5778				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SudoAs> {
5779					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
5780						"Sudo",
5781						"sudo_as",
5782						types::SudoAs {
5783							who,
5784							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
5785						},
5786						[
5787							53u8, 107u8, 54u8, 177u8, 231u8, 29u8, 253u8, 33u8, 192u8, 62u8, 101u8,
5788							94u8, 31u8, 165u8, 94u8, 24u8, 171u8, 201u8, 98u8, 116u8, 183u8, 43u8,
5789							141u8, 174u8, 30u8, 238u8, 102u8, 185u8, 47u8, 93u8, 21u8, 69u8,
5790						],
5791					)
5792				}
5793				#[doc = "Permanently removes the sudo key."]
5794				#[doc = ""]
5795				#[doc = "**This cannot be un-done.**"]
5796				pub fn remove_key(
5797					&self,
5798				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveKey> {
5799					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
5800						"Sudo",
5801						"remove_key",
5802						types::RemoveKey {},
5803						[
5804							133u8, 253u8, 54u8, 175u8, 202u8, 239u8, 5u8, 198u8, 180u8, 138u8,
5805							25u8, 28u8, 109u8, 40u8, 30u8, 56u8, 126u8, 100u8, 52u8, 205u8, 250u8,
5806							191u8, 61u8, 195u8, 172u8, 142u8, 184u8, 239u8, 247u8, 10u8, 211u8,
5807							79u8,
5808						],
5809					)
5810				}
5811			}
5812		}
5813		#[doc = "The `Event` enum of this pallet"]
5814		pub type Event = runtime_types::pallet_sudo::pallet::Event;
5815		pub mod events {
5816			use super::runtime_types;
5817			#[derive(
5818				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5819				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5820				Debug,
5821			)]
5822			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5823			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5824			#[doc = "A sudo call just took place."]
5825			pub struct Sudid {
5826				pub sudo_result: sudid::SudoResult,
5827			}
5828			pub mod sudid {
5829				use super::runtime_types;
5830				pub type SudoResult =
5831					::core::result::Result<(), runtime_types::sp_runtime::DispatchError>;
5832			}
5833			impl ::subxt::ext::subxt_core::events::StaticEvent for Sudid {
5834				const PALLET: &'static str = "Sudo";
5835				const EVENT: &'static str = "Sudid";
5836			}
5837			#[derive(
5838				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5839				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5840				Debug,
5841			)]
5842			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5843			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5844			#[doc = "The sudo key has been updated."]
5845			pub struct KeyChanged {
5846				pub old: key_changed::Old,
5847				pub new: key_changed::New,
5848			}
5849			pub mod key_changed {
5850				use super::runtime_types;
5851				pub type Old = ::core::option::Option<::subxt::ext::subxt_core::utils::AccountId32>;
5852				pub type New = ::subxt::ext::subxt_core::utils::AccountId32;
5853			}
5854			impl ::subxt::ext::subxt_core::events::StaticEvent for KeyChanged {
5855				const PALLET: &'static str = "Sudo";
5856				const EVENT: &'static str = "KeyChanged";
5857			}
5858			#[derive(
5859				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5860				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5861				Debug,
5862			)]
5863			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5864			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5865			#[doc = "The key was permanently removed."]
5866			pub struct KeyRemoved;
5867			impl ::subxt::ext::subxt_core::events::StaticEvent for KeyRemoved {
5868				const PALLET: &'static str = "Sudo";
5869				const EVENT: &'static str = "KeyRemoved";
5870			}
5871			#[derive(
5872				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5873				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5874				Debug,
5875			)]
5876			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5877			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5878			#[doc = "A [sudo_as](Pallet::sudo_as) call just took place."]
5879			pub struct SudoAsDone {
5880				pub sudo_result: sudo_as_done::SudoResult,
5881			}
5882			pub mod sudo_as_done {
5883				use super::runtime_types;
5884				pub type SudoResult =
5885					::core::result::Result<(), runtime_types::sp_runtime::DispatchError>;
5886			}
5887			impl ::subxt::ext::subxt_core::events::StaticEvent for SudoAsDone {
5888				const PALLET: &'static str = "Sudo";
5889				const EVENT: &'static str = "SudoAsDone";
5890			}
5891		}
5892		pub mod storage {
5893			use super::runtime_types;
5894			pub mod types {
5895				use super::runtime_types;
5896				pub mod key {
5897					use super::runtime_types;
5898					pub type Key = ::subxt::ext::subxt_core::utils::AccountId32;
5899				}
5900			}
5901			pub struct StorageApi;
5902			impl StorageApi {
5903				#[doc = " The `AccountId` of the sudo key."]
5904				pub fn key(
5905					&self,
5906				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5907					(),
5908					types::key::Key,
5909					::subxt::ext::subxt_core::utils::Yes,
5910					(),
5911					(),
5912				> {
5913					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5914						"Sudo",
5915						"Key",
5916						(),
5917						[
5918							72u8, 14u8, 225u8, 162u8, 205u8, 247u8, 227u8, 105u8, 116u8, 57u8, 4u8,
5919							31u8, 84u8, 137u8, 227u8, 228u8, 133u8, 245u8, 206u8, 227u8, 117u8,
5920							36u8, 252u8, 151u8, 107u8, 15u8, 180u8, 4u8, 4u8, 152u8, 195u8, 144u8,
5921						],
5922					)
5923				}
5924			}
5925		}
5926	}
5927	pub mod q_po_w {
5928		use super::{root_mod, runtime_types};
5929		#[doc = "The `Error` enum of this pallet."]
5930		pub type Error = runtime_types::pallet_qpow::pallet::Error;
5931		#[doc = "The `Event` enum of this pallet"]
5932		pub type Event = runtime_types::pallet_qpow::pallet::Event;
5933		pub mod events {
5934			use super::runtime_types;
5935			#[derive(
5936				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5937				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5938				Debug,
5939			)]
5940			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5941			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5942			pub struct ProofSubmitted {
5943				pub nonce: proof_submitted::Nonce,
5944				pub difficulty: proof_submitted::Difficulty,
5945				pub distance_achieved: proof_submitted::DistanceAchieved,
5946			}
5947			pub mod proof_submitted {
5948				use super::runtime_types;
5949				pub type Nonce = [::core::primitive::u8; 64usize];
5950				pub type Difficulty = runtime_types::primitive_types::U512;
5951				pub type DistanceAchieved = runtime_types::primitive_types::U512;
5952			}
5953			impl ::subxt::ext::subxt_core::events::StaticEvent for ProofSubmitted {
5954				const PALLET: &'static str = "QPoW";
5955				const EVENT: &'static str = "ProofSubmitted";
5956			}
5957			#[derive(
5958				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5959				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5960				Debug,
5961			)]
5962			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5963			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5964			pub struct DistanceThresholdAdjusted {
5965				pub old_distance_threshold: distance_threshold_adjusted::OldDistanceThreshold,
5966				pub new_distance_threshold: distance_threshold_adjusted::NewDistanceThreshold,
5967				pub observed_block_time: distance_threshold_adjusted::ObservedBlockTime,
5968			}
5969			pub mod distance_threshold_adjusted {
5970				use super::runtime_types;
5971				pub type OldDistanceThreshold = runtime_types::primitive_types::U512;
5972				pub type NewDistanceThreshold = runtime_types::primitive_types::U512;
5973				pub type ObservedBlockTime = ::core::primitive::u64;
5974			}
5975			impl ::subxt::ext::subxt_core::events::StaticEvent for DistanceThresholdAdjusted {
5976				const PALLET: &'static str = "QPoW";
5977				const EVENT: &'static str = "DistanceThresholdAdjusted";
5978			}
5979		}
5980		pub mod storage {
5981			use super::runtime_types;
5982			pub mod types {
5983				use super::runtime_types;
5984				pub mod block_distance_thresholds {
5985					use super::runtime_types;
5986					pub type BlockDistanceThresholds = runtime_types::primitive_types::U512;
5987					pub type Param0 = ::core::primitive::u32;
5988				}
5989				pub mod last_block_time {
5990					use super::runtime_types;
5991					pub type LastBlockTime = ::core::primitive::u64;
5992				}
5993				pub mod last_block_duration {
5994					use super::runtime_types;
5995					pub type LastBlockDuration = ::core::primitive::u64;
5996				}
5997				pub mod current_distance_threshold {
5998					use super::runtime_types;
5999					pub type CurrentDistanceThreshold = runtime_types::primitive_types::U512;
6000				}
6001				pub mod total_work {
6002					use super::runtime_types;
6003					pub type TotalWork = runtime_types::primitive_types::U512;
6004				}
6005				pub mod blocks_in_period {
6006					use super::runtime_types;
6007					pub type BlocksInPeriod = ::core::primitive::u32;
6008				}
6009				pub mod block_time_history {
6010					use super::runtime_types;
6011					pub type BlockTimeHistory = ::core::primitive::u64;
6012					pub type Param0 = ::core::primitive::u32;
6013				}
6014				pub mod history_index {
6015					use super::runtime_types;
6016					pub type HistoryIndex = ::core::primitive::u32;
6017				}
6018				pub mod history_size {
6019					use super::runtime_types;
6020					pub type HistorySize = ::core::primitive::u32;
6021				}
6022			}
6023			pub struct StorageApi;
6024			impl StorageApi {
6025				pub fn block_distance_thresholds_iter(
6026					&self,
6027				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6028					(),
6029					types::block_distance_thresholds::BlockDistanceThresholds,
6030					(),
6031					::subxt::ext::subxt_core::utils::Yes,
6032					::subxt::ext::subxt_core::utils::Yes,
6033				> {
6034					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6035						"QPoW",
6036						"BlockDistanceThresholds",
6037						(),
6038						[
6039							245u8, 88u8, 219u8, 50u8, 137u8, 246u8, 187u8, 252u8, 181u8, 133u8,
6040							227u8, 54u8, 166u8, 201u8, 139u8, 81u8, 223u8, 125u8, 243u8, 78u8, 5u8,
6041							216u8, 42u8, 222u8, 152u8, 140u8, 234u8, 243u8, 47u8, 240u8, 251u8,
6042							220u8,
6043						],
6044					)
6045				}
6046				pub fn block_distance_thresholds(
6047					&self,
6048					_0: types::block_distance_thresholds::Param0,
6049				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6050					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
6051						types::block_distance_thresholds::Param0,
6052					>,
6053					types::block_distance_thresholds::BlockDistanceThresholds,
6054					::subxt::ext::subxt_core::utils::Yes,
6055					::subxt::ext::subxt_core::utils::Yes,
6056					(),
6057				> {
6058					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6059						"QPoW",
6060						"BlockDistanceThresholds",
6061						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
6062						[
6063							245u8, 88u8, 219u8, 50u8, 137u8, 246u8, 187u8, 252u8, 181u8, 133u8,
6064							227u8, 54u8, 166u8, 201u8, 139u8, 81u8, 223u8, 125u8, 243u8, 78u8, 5u8,
6065							216u8, 42u8, 222u8, 152u8, 140u8, 234u8, 243u8, 47u8, 240u8, 251u8,
6066							220u8,
6067						],
6068					)
6069				}
6070				pub fn last_block_time(
6071					&self,
6072				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6073					(),
6074					types::last_block_time::LastBlockTime,
6075					::subxt::ext::subxt_core::utils::Yes,
6076					::subxt::ext::subxt_core::utils::Yes,
6077					(),
6078				> {
6079					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6080						"QPoW",
6081						"LastBlockTime",
6082						(),
6083						[
6084							239u8, 229u8, 252u8, 169u8, 178u8, 1u8, 146u8, 236u8, 50u8, 59u8,
6085							221u8, 169u8, 107u8, 168u8, 203u8, 103u8, 252u8, 189u8, 52u8, 64u8,
6086							235u8, 110u8, 164u8, 100u8, 85u8, 66u8, 202u8, 71u8, 189u8, 18u8, 4u8,
6087							217u8,
6088						],
6089					)
6090				}
6091				pub fn last_block_duration(
6092					&self,
6093				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6094					(),
6095					types::last_block_duration::LastBlockDuration,
6096					::subxt::ext::subxt_core::utils::Yes,
6097					::subxt::ext::subxt_core::utils::Yes,
6098					(),
6099				> {
6100					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6101						"QPoW",
6102						"LastBlockDuration",
6103						(),
6104						[
6105							44u8, 139u8, 180u8, 95u8, 43u8, 58u8, 255u8, 71u8, 201u8, 240u8, 61u8,
6106							131u8, 214u8, 202u8, 118u8, 157u8, 21u8, 52u8, 154u8, 123u8, 253u8,
6107							160u8, 68u8, 100u8, 91u8, 196u8, 168u8, 14u8, 84u8, 60u8, 160u8, 229u8,
6108						],
6109					)
6110				}
6111				pub fn current_distance_threshold(
6112					&self,
6113				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6114					(),
6115					types::current_distance_threshold::CurrentDistanceThreshold,
6116					::subxt::ext::subxt_core::utils::Yes,
6117					::subxt::ext::subxt_core::utils::Yes,
6118					(),
6119				> {
6120					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6121						"QPoW",
6122						"CurrentDistanceThreshold",
6123						(),
6124						[
6125							241u8, 84u8, 91u8, 177u8, 115u8, 209u8, 7u8, 88u8, 15u8, 186u8, 180u8,
6126							244u8, 29u8, 198u8, 42u8, 162u8, 144u8, 70u8, 255u8, 39u8, 235u8,
6127							121u8, 239u8, 136u8, 137u8, 171u8, 183u8, 245u8, 158u8, 225u8, 244u8,
6128							147u8,
6129						],
6130					)
6131				}
6132				pub fn total_work(
6133					&self,
6134				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6135					(),
6136					types::total_work::TotalWork,
6137					::subxt::ext::subxt_core::utils::Yes,
6138					::subxt::ext::subxt_core::utils::Yes,
6139					(),
6140				> {
6141					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6142						"QPoW",
6143						"TotalWork",
6144						(),
6145						[
6146							184u8, 29u8, 54u8, 146u8, 220u8, 155u8, 103u8, 67u8, 21u8, 188u8, 53u8,
6147							160u8, 171u8, 107u8, 52u8, 211u8, 251u8, 52u8, 192u8, 227u8, 150u8,
6148							156u8, 172u8, 1u8, 233u8, 37u8, 49u8, 13u8, 213u8, 104u8, 10u8, 134u8,
6149						],
6150					)
6151				}
6152				pub fn blocks_in_period(
6153					&self,
6154				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6155					(),
6156					types::blocks_in_period::BlocksInPeriod,
6157					::subxt::ext::subxt_core::utils::Yes,
6158					::subxt::ext::subxt_core::utils::Yes,
6159					(),
6160				> {
6161					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6162						"QPoW",
6163						"BlocksInPeriod",
6164						(),
6165						[
6166							151u8, 58u8, 246u8, 176u8, 204u8, 107u8, 224u8, 209u8, 240u8, 52u8,
6167							246u8, 45u8, 69u8, 123u8, 23u8, 193u8, 126u8, 200u8, 131u8, 199u8,
6168							65u8, 39u8, 43u8, 20u8, 18u8, 4u8, 13u8, 120u8, 115u8, 31u8, 204u8,
6169							134u8,
6170						],
6171					)
6172				}
6173				pub fn block_time_history_iter(
6174					&self,
6175				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6176					(),
6177					types::block_time_history::BlockTimeHistory,
6178					(),
6179					::subxt::ext::subxt_core::utils::Yes,
6180					::subxt::ext::subxt_core::utils::Yes,
6181				> {
6182					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6183						"QPoW",
6184						"BlockTimeHistory",
6185						(),
6186						[
6187							149u8, 198u8, 140u8, 12u8, 144u8, 112u8, 153u8, 141u8, 207u8, 242u8,
6188							220u8, 87u8, 63u8, 234u8, 158u8, 87u8, 143u8, 186u8, 111u8, 14u8, 94u8,
6189							134u8, 215u8, 201u8, 141u8, 196u8, 39u8, 107u8, 113u8, 219u8, 41u8,
6190							58u8,
6191						],
6192					)
6193				}
6194				pub fn block_time_history(
6195					&self,
6196					_0: types::block_time_history::Param0,
6197				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6198					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
6199						types::block_time_history::Param0,
6200					>,
6201					types::block_time_history::BlockTimeHistory,
6202					::subxt::ext::subxt_core::utils::Yes,
6203					::subxt::ext::subxt_core::utils::Yes,
6204					(),
6205				> {
6206					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6207						"QPoW",
6208						"BlockTimeHistory",
6209						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
6210						[
6211							149u8, 198u8, 140u8, 12u8, 144u8, 112u8, 153u8, 141u8, 207u8, 242u8,
6212							220u8, 87u8, 63u8, 234u8, 158u8, 87u8, 143u8, 186u8, 111u8, 14u8, 94u8,
6213							134u8, 215u8, 201u8, 141u8, 196u8, 39u8, 107u8, 113u8, 219u8, 41u8,
6214							58u8,
6215						],
6216					)
6217				}
6218				pub fn history_index(
6219					&self,
6220				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6221					(),
6222					types::history_index::HistoryIndex,
6223					::subxt::ext::subxt_core::utils::Yes,
6224					::subxt::ext::subxt_core::utils::Yes,
6225					(),
6226				> {
6227					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6228						"QPoW",
6229						"HistoryIndex",
6230						(),
6231						[
6232							86u8, 246u8, 20u8, 135u8, 119u8, 68u8, 164u8, 167u8, 110u8, 235u8,
6233							121u8, 151u8, 221u8, 179u8, 25u8, 155u8, 187u8, 30u8, 43u8, 45u8,
6234							220u8, 156u8, 218u8, 20u8, 78u8, 59u8, 41u8, 144u8, 124u8, 166u8, 84u8,
6235							149u8,
6236						],
6237					)
6238				}
6239				pub fn history_size(
6240					&self,
6241				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6242					(),
6243					types::history_size::HistorySize,
6244					::subxt::ext::subxt_core::utils::Yes,
6245					::subxt::ext::subxt_core::utils::Yes,
6246					(),
6247				> {
6248					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6249						"QPoW",
6250						"HistorySize",
6251						(),
6252						[
6253							77u8, 208u8, 178u8, 115u8, 101u8, 133u8, 140u8, 3u8, 76u8, 240u8,
6254							162u8, 223u8, 90u8, 131u8, 243u8, 231u8, 54u8, 101u8, 3u8, 25u8, 126u8,
6255							93u8, 42u8, 4u8, 82u8, 198u8, 226u8, 198u8, 59u8, 74u8, 205u8, 218u8,
6256						],
6257					)
6258				}
6259			}
6260		}
6261		pub mod constants {
6262			use super::runtime_types;
6263			pub struct ConstantsApi;
6264			impl ConstantsApi {
6265				#[doc = " Pallet's weight info"]
6266				pub fn initial_distance_threshold_exponent(
6267					&self,
6268				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6269					::core::primitive::u32,
6270				> {
6271					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6272						"QPoW",
6273						"InitialDistanceThresholdExponent",
6274						[
6275							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
6276							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
6277							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
6278							145u8,
6279						],
6280					)
6281				}
6282				pub fn difficulty_adjust_percent_clamp(
6283					&self,
6284				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6285					::core::primitive::u8,
6286				> {
6287					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6288						"QPoW",
6289						"DifficultyAdjustPercentClamp",
6290						[
6291							141u8, 130u8, 11u8, 35u8, 226u8, 114u8, 92u8, 179u8, 168u8, 110u8,
6292							28u8, 91u8, 221u8, 64u8, 4u8, 148u8, 201u8, 193u8, 185u8, 66u8, 226u8,
6293							114u8, 97u8, 79u8, 62u8, 212u8, 202u8, 114u8, 237u8, 228u8, 183u8,
6294							165u8,
6295						],
6296					)
6297				}
6298				pub fn target_block_time(
6299					&self,
6300				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6301					::core::primitive::u64,
6302				> {
6303					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6304						"QPoW",
6305						"TargetBlockTime",
6306						[
6307							128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8,
6308							59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8,
6309							103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8,
6310							246u8,
6311						],
6312					)
6313				}
6314				pub fn adjustment_period(
6315					&self,
6316				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6317					::core::primitive::u32,
6318				> {
6319					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6320						"QPoW",
6321						"AdjustmentPeriod",
6322						[
6323							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
6324							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
6325							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
6326							145u8,
6327						],
6328					)
6329				}
6330				pub fn block_time_history_size(
6331					&self,
6332				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6333					::core::primitive::u32,
6334				> {
6335					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6336						"QPoW",
6337						"BlockTimeHistorySize",
6338						[
6339							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
6340							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
6341							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
6342							145u8,
6343						],
6344					)
6345				}
6346				pub fn max_reorg_depth(
6347					&self,
6348				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6349					::core::primitive::u32,
6350				> {
6351					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6352						"QPoW",
6353						"MaxReorgDepth",
6354						[
6355							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
6356							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
6357							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
6358							145u8,
6359						],
6360					)
6361				}
6362				#[doc = " Fixed point scale for calculations (default: 10^18)"]
6363				pub fn fixed_u128_scale(
6364					&self,
6365				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6366					::core::primitive::u128,
6367				> {
6368					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6369						"QPoW",
6370						"FixedU128Scale",
6371						[
6372							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
6373							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
6374							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
6375						],
6376					)
6377				}
6378				#[doc = " Maximum distance threshold multiplier (default: 4)"]
6379				pub fn max_distance_multiplier(
6380					&self,
6381				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6382					::core::primitive::u32,
6383				> {
6384					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6385						"QPoW",
6386						"MaxDistanceMultiplier",
6387						[
6388							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
6389							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
6390							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
6391							145u8,
6392						],
6393					)
6394				}
6395			}
6396		}
6397	}
6398	pub mod wormhole {
6399		use super::{root_mod, runtime_types};
6400		#[doc = "The `Error` enum of this pallet."]
6401		pub type Error = runtime_types::pallet_wormhole::pallet::Error;
6402		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
6403		pub type Call = runtime_types::pallet_wormhole::pallet::Call;
6404		pub mod calls {
6405			use super::{root_mod, runtime_types};
6406			type DispatchError = runtime_types::sp_runtime::DispatchError;
6407			pub mod types {
6408				use super::runtime_types;
6409				#[derive(
6410					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6411					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6412					Debug,
6413				)]
6414				#[decode_as_type(
6415					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6416				)]
6417				#[encode_as_type(
6418					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6419				)]
6420				pub struct VerifyWormholeProof {
6421					pub proof_bytes: verify_wormhole_proof::ProofBytes,
6422					pub block_number: verify_wormhole_proof::BlockNumber,
6423				}
6424				pub mod verify_wormhole_proof {
6425					use super::runtime_types;
6426					pub type ProofBytes =
6427						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
6428					pub type BlockNumber = ::core::primitive::u32;
6429				}
6430				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for VerifyWormholeProof {
6431					const PALLET: &'static str = "Wormhole";
6432					const CALL: &'static str = "verify_wormhole_proof";
6433				}
6434			}
6435			pub struct TransactionApi;
6436			impl TransactionApi {
6437				pub fn verify_wormhole_proof(
6438					&self,
6439					proof_bytes: types::verify_wormhole_proof::ProofBytes,
6440					block_number: types::verify_wormhole_proof::BlockNumber,
6441				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::VerifyWormholeProof>
6442				{
6443					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6444						"Wormhole",
6445						"verify_wormhole_proof",
6446						types::VerifyWormholeProof { proof_bytes, block_number },
6447						[
6448							243u8, 243u8, 212u8, 153u8, 44u8, 36u8, 106u8, 182u8, 177u8, 104u8,
6449							202u8, 172u8, 53u8, 111u8, 255u8, 121u8, 131u8, 84u8, 224u8, 250u8,
6450							104u8, 52u8, 241u8, 228u8, 51u8, 63u8, 233u8, 191u8, 215u8, 100u8,
6451							166u8, 76u8,
6452						],
6453					)
6454				}
6455			}
6456		}
6457		#[doc = "The `Event` enum of this pallet"]
6458		pub type Event = runtime_types::pallet_wormhole::pallet::Event;
6459		pub mod events {
6460			use super::runtime_types;
6461			#[derive(
6462				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6463				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6464				Debug,
6465			)]
6466			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
6467			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
6468			pub struct ProofVerified {
6469				pub exit_amount: proof_verified::ExitAmount,
6470			}
6471			pub mod proof_verified {
6472				use super::runtime_types;
6473				pub type ExitAmount = ::core::primitive::u128;
6474			}
6475			impl ::subxt::ext::subxt_core::events::StaticEvent for ProofVerified {
6476				const PALLET: &'static str = "Wormhole";
6477				const EVENT: &'static str = "ProofVerified";
6478			}
6479		}
6480		pub mod storage {
6481			use super::runtime_types;
6482			pub mod types {
6483				use super::runtime_types;
6484				pub mod used_nullifiers {
6485					use super::runtime_types;
6486					pub type UsedNullifiers = ::core::primitive::bool;
6487					pub type Param0 = [::core::primitive::u8; 32usize];
6488				}
6489			}
6490			pub struct StorageApi;
6491			impl StorageApi {
6492				pub fn used_nullifiers_iter(
6493					&self,
6494				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6495					(),
6496					types::used_nullifiers::UsedNullifiers,
6497					(),
6498					::subxt::ext::subxt_core::utils::Yes,
6499					::subxt::ext::subxt_core::utils::Yes,
6500				> {
6501					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6502						"Wormhole",
6503						"UsedNullifiers",
6504						(),
6505						[
6506							111u8, 222u8, 249u8, 87u8, 31u8, 249u8, 120u8, 32u8, 221u8, 33u8, 86u8,
6507							103u8, 116u8, 235u8, 16u8, 191u8, 73u8, 183u8, 183u8, 77u8, 229u8,
6508							255u8, 221u8, 186u8, 29u8, 179u8, 110u8, 138u8, 146u8, 113u8, 241u8,
6509							222u8,
6510						],
6511					)
6512				}
6513				pub fn used_nullifiers(
6514					&self,
6515					_0: types::used_nullifiers::Param0,
6516				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6517					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
6518						types::used_nullifiers::Param0,
6519					>,
6520					types::used_nullifiers::UsedNullifiers,
6521					::subxt::ext::subxt_core::utils::Yes,
6522					::subxt::ext::subxt_core::utils::Yes,
6523					(),
6524				> {
6525					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6526						"Wormhole",
6527						"UsedNullifiers",
6528						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
6529						[
6530							111u8, 222u8, 249u8, 87u8, 31u8, 249u8, 120u8, 32u8, 221u8, 33u8, 86u8,
6531							103u8, 116u8, 235u8, 16u8, 191u8, 73u8, 183u8, 183u8, 77u8, 229u8,
6532							255u8, 221u8, 186u8, 29u8, 179u8, 110u8, 138u8, 146u8, 113u8, 241u8,
6533							222u8,
6534						],
6535					)
6536				}
6537			}
6538		}
6539		pub mod constants {
6540			use super::runtime_types;
6541			pub struct ConstantsApi;
6542			impl ConstantsApi {
6543				#[doc = " Account ID used as the \"from\" account when creating transfer proofs for minted tokens"]
6544				pub fn minting_account(
6545					&self,
6546				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6547					::subxt::ext::subxt_core::utils::AccountId32,
6548				> {
6549					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6550						"Wormhole",
6551						"MintingAccount",
6552						[
6553							115u8, 233u8, 13u8, 223u8, 88u8, 20u8, 202u8, 139u8, 153u8, 28u8,
6554							155u8, 157u8, 224u8, 66u8, 3u8, 250u8, 23u8, 53u8, 88u8, 168u8, 211u8,
6555							204u8, 122u8, 166u8, 248u8, 23u8, 174u8, 225u8, 99u8, 108u8, 89u8,
6556							135u8,
6557						],
6558					)
6559				}
6560			}
6561		}
6562	}
6563	pub mod mining_rewards {
6564		use super::{root_mod, runtime_types};
6565		#[doc = "The `Event` enum of this pallet"]
6566		pub type Event = runtime_types::pallet_mining_rewards::pallet::Event;
6567		pub mod events {
6568			use super::runtime_types;
6569			#[derive(
6570				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6571				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6572				Debug,
6573			)]
6574			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
6575			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
6576			#[doc = "A miner has been identified for a block"]
6577			pub struct MinerRewarded {
6578				pub miner: miner_rewarded::Miner,
6579				pub reward: miner_rewarded::Reward,
6580			}
6581			pub mod miner_rewarded {
6582				use super::runtime_types;
6583				pub type Miner = ::subxt::ext::subxt_core::utils::AccountId32;
6584				pub type Reward = ::core::primitive::u128;
6585			}
6586			impl ::subxt::ext::subxt_core::events::StaticEvent for MinerRewarded {
6587				const PALLET: &'static str = "MiningRewards";
6588				const EVENT: &'static str = "MinerRewarded";
6589			}
6590			#[derive(
6591				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6592				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6593				Debug,
6594			)]
6595			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
6596			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
6597			#[doc = "Transaction fees were collected for later distribution"]
6598			pub struct FeesCollected {
6599				pub amount: fees_collected::Amount,
6600				pub total: fees_collected::Total,
6601			}
6602			pub mod fees_collected {
6603				use super::runtime_types;
6604				pub type Amount = ::core::primitive::u128;
6605				pub type Total = ::core::primitive::u128;
6606			}
6607			impl ::subxt::ext::subxt_core::events::StaticEvent for FeesCollected {
6608				const PALLET: &'static str = "MiningRewards";
6609				const EVENT: &'static str = "FeesCollected";
6610			}
6611			#[derive(
6612				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6613				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6614				Debug,
6615			)]
6616			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
6617			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
6618			#[doc = "Rewards were sent to Treasury when no miner was specified"]
6619			pub struct TreasuryRewarded {
6620				pub reward: treasury_rewarded::Reward,
6621			}
6622			pub mod treasury_rewarded {
6623				use super::runtime_types;
6624				pub type Reward = ::core::primitive::u128;
6625			}
6626			impl ::subxt::ext::subxt_core::events::StaticEvent for TreasuryRewarded {
6627				const PALLET: &'static str = "MiningRewards";
6628				const EVENT: &'static str = "TreasuryRewarded";
6629			}
6630		}
6631		pub mod storage {
6632			use super::runtime_types;
6633			pub mod types {
6634				use super::runtime_types;
6635				pub mod collected_fees {
6636					use super::runtime_types;
6637					pub type CollectedFees = ::core::primitive::u128;
6638				}
6639			}
6640			pub struct StorageApi;
6641			impl StorageApi {
6642				pub fn collected_fees(
6643					&self,
6644				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6645					(),
6646					types::collected_fees::CollectedFees,
6647					::subxt::ext::subxt_core::utils::Yes,
6648					::subxt::ext::subxt_core::utils::Yes,
6649					(),
6650				> {
6651					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6652						"MiningRewards",
6653						"CollectedFees",
6654						(),
6655						[
6656							136u8, 52u8, 218u8, 204u8, 2u8, 250u8, 34u8, 8u8, 16u8, 23u8, 171u8,
6657							3u8, 253u8, 35u8, 59u8, 7u8, 167u8, 227u8, 86u8, 15u8, 155u8, 14u8,
6658							139u8, 44u8, 208u8, 108u8, 85u8, 131u8, 170u8, 37u8, 211u8, 211u8,
6659						],
6660					)
6661				}
6662			}
6663		}
6664		pub mod constants {
6665			use super::runtime_types;
6666			pub struct ConstantsApi;
6667			impl ConstantsApi {
6668				#[doc = " The base block reward given to miners"]
6669				pub fn miner_block_reward(
6670					&self,
6671				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6672					::core::primitive::u128,
6673				> {
6674					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6675						"MiningRewards",
6676						"MinerBlockReward",
6677						[
6678							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
6679							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
6680							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
6681						],
6682					)
6683				}
6684				#[doc = " The base block reward given to treasury"]
6685				pub fn treasury_block_reward(
6686					&self,
6687				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6688					::core::primitive::u128,
6689				> {
6690					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6691						"MiningRewards",
6692						"TreasuryBlockReward",
6693						[
6694							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
6695							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
6696							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
6697						],
6698					)
6699				}
6700				#[doc = " The treasury pallet ID"]
6701				pub fn treasury_pallet_id(
6702					&self,
6703				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6704					runtime_types::frame_support::PalletId,
6705				> {
6706					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6707						"MiningRewards",
6708						"TreasuryPalletId",
6709						[
6710							56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8,
6711							161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8,
6712							129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8,
6713						],
6714					)
6715				}
6716				#[doc = " Account ID used as the \"from\" account when creating transfer proofs for minted tokens"]
6717				pub fn minting_account(
6718					&self,
6719				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6720					::subxt::ext::subxt_core::utils::AccountId32,
6721				> {
6722					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6723						"MiningRewards",
6724						"MintingAccount",
6725						[
6726							115u8, 233u8, 13u8, 223u8, 88u8, 20u8, 202u8, 139u8, 153u8, 28u8,
6727							155u8, 157u8, 224u8, 66u8, 3u8, 250u8, 23u8, 53u8, 88u8, 168u8, 211u8,
6728							204u8, 122u8, 166u8, 248u8, 23u8, 174u8, 225u8, 99u8, 108u8, 89u8,
6729							135u8,
6730						],
6731					)
6732				}
6733			}
6734		}
6735	}
6736	pub mod vesting {
6737		use super::{root_mod, runtime_types};
6738		#[doc = "Error for the vesting pallet."]
6739		pub type Error = runtime_types::pallet_vesting::pallet::Error;
6740		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
6741		pub type Call = runtime_types::pallet_vesting::pallet::Call;
6742		pub mod calls {
6743			use super::{root_mod, runtime_types};
6744			type DispatchError = runtime_types::sp_runtime::DispatchError;
6745			pub mod types {
6746				use super::runtime_types;
6747				#[derive(
6748					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6749					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6750					Debug,
6751				)]
6752				#[decode_as_type(
6753					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6754				)]
6755				#[encode_as_type(
6756					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6757				)]
6758				#[doc = "Unlock any vested funds of the sender account."]
6759				#[doc = ""]
6760				#[doc = "The dispatch origin for this call must be _Signed_ and the sender must have funds still"]
6761				#[doc = "locked under this pallet."]
6762				#[doc = ""]
6763				#[doc = "Emits either `VestingCompleted` or `VestingUpdated`."]
6764				#[doc = ""]
6765				#[doc = "## Complexity"]
6766				#[doc = "- `O(1)`."]
6767				pub struct Vest;
6768				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Vest {
6769					const PALLET: &'static str = "Vesting";
6770					const CALL: &'static str = "vest";
6771				}
6772				#[derive(
6773					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6774					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6775					Debug,
6776				)]
6777				#[decode_as_type(
6778					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6779				)]
6780				#[encode_as_type(
6781					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6782				)]
6783				#[doc = "Unlock any vested funds of a `target` account."]
6784				#[doc = ""]
6785				#[doc = "The dispatch origin for this call must be _Signed_."]
6786				#[doc = ""]
6787				#[doc = "- `target`: The account whose vested funds should be unlocked. Must have funds still"]
6788				#[doc = "locked under this pallet."]
6789				#[doc = ""]
6790				#[doc = "Emits either `VestingCompleted` or `VestingUpdated`."]
6791				#[doc = ""]
6792				#[doc = "## Complexity"]
6793				#[doc = "- `O(1)`."]
6794				pub struct VestOther {
6795					pub target: vest_other::Target,
6796				}
6797				pub mod vest_other {
6798					use super::runtime_types;
6799					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
6800						::subxt::ext::subxt_core::utils::AccountId32,
6801						(),
6802					>;
6803				}
6804				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for VestOther {
6805					const PALLET: &'static str = "Vesting";
6806					const CALL: &'static str = "vest_other";
6807				}
6808				#[derive(
6809					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6810					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6811					Debug,
6812				)]
6813				#[decode_as_type(
6814					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6815				)]
6816				#[encode_as_type(
6817					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6818				)]
6819				#[doc = "Create a vested transfer."]
6820				#[doc = ""]
6821				#[doc = "The dispatch origin for this call must be _Signed_."]
6822				#[doc = ""]
6823				#[doc = "- `target`: The account receiving the vested funds."]
6824				#[doc = "- `schedule`: The vesting schedule attached to the transfer."]
6825				#[doc = ""]
6826				#[doc = "Emits `VestingCreated`."]
6827				#[doc = ""]
6828				#[doc = "NOTE: This will unlock all schedules through the current block."]
6829				#[doc = ""]
6830				#[doc = "## Complexity"]
6831				#[doc = "- `O(1)`."]
6832				pub struct VestedTransfer {
6833					pub target: vested_transfer::Target,
6834					pub schedule: vested_transfer::Schedule,
6835				}
6836				pub mod vested_transfer {
6837					use super::runtime_types;
6838					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
6839						::subxt::ext::subxt_core::utils::AccountId32,
6840						(),
6841					>;
6842					pub type Schedule = runtime_types::pallet_vesting::vesting_info::VestingInfo<
6843						::core::primitive::u128,
6844						::core::primitive::u32,
6845					>;
6846				}
6847				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for VestedTransfer {
6848					const PALLET: &'static str = "Vesting";
6849					const CALL: &'static str = "vested_transfer";
6850				}
6851				#[derive(
6852					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6853					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6854					Debug,
6855				)]
6856				#[decode_as_type(
6857					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6858				)]
6859				#[encode_as_type(
6860					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6861				)]
6862				#[doc = "Force a vested transfer."]
6863				#[doc = ""]
6864				#[doc = "The dispatch origin for this call must be _Root_."]
6865				#[doc = ""]
6866				#[doc = "- `source`: The account whose funds should be transferred."]
6867				#[doc = "- `target`: The account that should be transferred the vested funds."]
6868				#[doc = "- `schedule`: The vesting schedule attached to the transfer."]
6869				#[doc = ""]
6870				#[doc = "Emits `VestingCreated`."]
6871				#[doc = ""]
6872				#[doc = "NOTE: This will unlock all schedules through the current block."]
6873				#[doc = ""]
6874				#[doc = "## Complexity"]
6875				#[doc = "- `O(1)`."]
6876				pub struct ForceVestedTransfer {
6877					pub source: force_vested_transfer::Source,
6878					pub target: force_vested_transfer::Target,
6879					pub schedule: force_vested_transfer::Schedule,
6880				}
6881				pub mod force_vested_transfer {
6882					use super::runtime_types;
6883					pub type Source = ::subxt::ext::subxt_core::utils::MultiAddress<
6884						::subxt::ext::subxt_core::utils::AccountId32,
6885						(),
6886					>;
6887					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
6888						::subxt::ext::subxt_core::utils::AccountId32,
6889						(),
6890					>;
6891					pub type Schedule = runtime_types::pallet_vesting::vesting_info::VestingInfo<
6892						::core::primitive::u128,
6893						::core::primitive::u32,
6894					>;
6895				}
6896				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceVestedTransfer {
6897					const PALLET: &'static str = "Vesting";
6898					const CALL: &'static str = "force_vested_transfer";
6899				}
6900				#[derive(
6901					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6902					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6903					Debug,
6904				)]
6905				#[decode_as_type(
6906					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6907				)]
6908				#[encode_as_type(
6909					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6910				)]
6911				#[doc = "Merge two vesting schedules together, creating a new vesting schedule that unlocks over"]
6912				#[doc = "the highest possible start and end blocks. If both schedules have already started the"]
6913				#[doc = "current block will be used as the schedule start; with the caveat that if one schedule"]
6914				#[doc = "is finished by the current block, the other will be treated as the new merged schedule,"]
6915				#[doc = "unmodified."]
6916				#[doc = ""]
6917				#[doc = "NOTE: If `schedule1_index == schedule2_index` this is a no-op."]
6918				#[doc = "NOTE: This will unlock all schedules through the current block prior to merging."]
6919				#[doc = "NOTE: If both schedules have ended by the current block, no new schedule will be created"]
6920				#[doc = "and both will be removed."]
6921				#[doc = ""]
6922				#[doc = "Merged schedule attributes:"]
6923				#[doc = "- `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block,"]
6924				#[doc = "  current_block)`."]
6925				#[doc = "- `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`."]
6926				#[doc = "- `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`."]
6927				#[doc = ""]
6928				#[doc = "The dispatch origin for this call must be _Signed_."]
6929				#[doc = ""]
6930				#[doc = "- `schedule1_index`: index of the first schedule to merge."]
6931				#[doc = "- `schedule2_index`: index of the second schedule to merge."]
6932				pub struct MergeSchedules {
6933					pub schedule1_index: merge_schedules::Schedule1Index,
6934					pub schedule2_index: merge_schedules::Schedule2Index,
6935				}
6936				pub mod merge_schedules {
6937					use super::runtime_types;
6938					pub type Schedule1Index = ::core::primitive::u32;
6939					pub type Schedule2Index = ::core::primitive::u32;
6940				}
6941				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for MergeSchedules {
6942					const PALLET: &'static str = "Vesting";
6943					const CALL: &'static str = "merge_schedules";
6944				}
6945				#[derive(
6946					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6947					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6948					Debug,
6949				)]
6950				#[decode_as_type(
6951					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6952				)]
6953				#[encode_as_type(
6954					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6955				)]
6956				#[doc = "Force remove a vesting schedule"]
6957				#[doc = ""]
6958				#[doc = "The dispatch origin for this call must be _Root_."]
6959				#[doc = ""]
6960				#[doc = "- `target`: An account that has a vesting schedule"]
6961				#[doc = "- `schedule_index`: The vesting schedule index that should be removed"]
6962				pub struct ForceRemoveVestingSchedule {
6963					pub target: force_remove_vesting_schedule::Target,
6964					pub schedule_index: force_remove_vesting_schedule::ScheduleIndex,
6965				}
6966				pub mod force_remove_vesting_schedule {
6967					use super::runtime_types;
6968					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
6969						::subxt::ext::subxt_core::utils::AccountId32,
6970						(),
6971					>;
6972					pub type ScheduleIndex = ::core::primitive::u32;
6973				}
6974				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceRemoveVestingSchedule {
6975					const PALLET: &'static str = "Vesting";
6976					const CALL: &'static str = "force_remove_vesting_schedule";
6977				}
6978			}
6979			pub struct TransactionApi;
6980			impl TransactionApi {
6981				#[doc = "Unlock any vested funds of the sender account."]
6982				#[doc = ""]
6983				#[doc = "The dispatch origin for this call must be _Signed_ and the sender must have funds still"]
6984				#[doc = "locked under this pallet."]
6985				#[doc = ""]
6986				#[doc = "Emits either `VestingCompleted` or `VestingUpdated`."]
6987				#[doc = ""]
6988				#[doc = "## Complexity"]
6989				#[doc = "- `O(1)`."]
6990				pub fn vest(
6991					&self,
6992				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Vest> {
6993					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6994						"Vesting",
6995						"vest",
6996						types::Vest {},
6997						[
6998							149u8, 89u8, 178u8, 148u8, 127u8, 127u8, 155u8, 60u8, 114u8, 126u8,
6999							204u8, 123u8, 166u8, 70u8, 104u8, 208u8, 186u8, 69u8, 139u8, 181u8,
7000							151u8, 154u8, 235u8, 161u8, 191u8, 35u8, 111u8, 60u8, 21u8, 165u8,
7001							44u8, 122u8,
7002						],
7003					)
7004				}
7005				#[doc = "Unlock any vested funds of a `target` account."]
7006				#[doc = ""]
7007				#[doc = "The dispatch origin for this call must be _Signed_."]
7008				#[doc = ""]
7009				#[doc = "- `target`: The account whose vested funds should be unlocked. Must have funds still"]
7010				#[doc = "locked under this pallet."]
7011				#[doc = ""]
7012				#[doc = "Emits either `VestingCompleted` or `VestingUpdated`."]
7013				#[doc = ""]
7014				#[doc = "## Complexity"]
7015				#[doc = "- `O(1)`."]
7016				pub fn vest_other(
7017					&self,
7018					target: types::vest_other::Target,
7019				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::VestOther> {
7020					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7021						"Vesting",
7022						"vest_other",
7023						types::VestOther { target },
7024						[
7025							238u8, 92u8, 25u8, 149u8, 27u8, 211u8, 196u8, 31u8, 211u8, 28u8, 241u8,
7026							30u8, 128u8, 35u8, 0u8, 227u8, 202u8, 215u8, 186u8, 69u8, 216u8, 110u8,
7027							199u8, 120u8, 134u8, 141u8, 176u8, 224u8, 234u8, 42u8, 152u8, 128u8,
7028						],
7029					)
7030				}
7031				#[doc = "Create a vested transfer."]
7032				#[doc = ""]
7033				#[doc = "The dispatch origin for this call must be _Signed_."]
7034				#[doc = ""]
7035				#[doc = "- `target`: The account receiving the vested funds."]
7036				#[doc = "- `schedule`: The vesting schedule attached to the transfer."]
7037				#[doc = ""]
7038				#[doc = "Emits `VestingCreated`."]
7039				#[doc = ""]
7040				#[doc = "NOTE: This will unlock all schedules through the current block."]
7041				#[doc = ""]
7042				#[doc = "## Complexity"]
7043				#[doc = "- `O(1)`."]
7044				pub fn vested_transfer(
7045					&self,
7046					target: types::vested_transfer::Target,
7047					schedule: types::vested_transfer::Schedule,
7048				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::VestedTransfer>
7049				{
7050					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7051						"Vesting",
7052						"vested_transfer",
7053						types::VestedTransfer { target, schedule },
7054						[
7055							198u8, 133u8, 254u8, 5u8, 22u8, 170u8, 205u8, 79u8, 218u8, 30u8, 81u8,
7056							207u8, 227u8, 121u8, 132u8, 14u8, 217u8, 43u8, 66u8, 206u8, 15u8, 80u8,
7057							173u8, 208u8, 128u8, 72u8, 223u8, 175u8, 93u8, 69u8, 128u8, 88u8,
7058						],
7059					)
7060				}
7061				#[doc = "Force a vested transfer."]
7062				#[doc = ""]
7063				#[doc = "The dispatch origin for this call must be _Root_."]
7064				#[doc = ""]
7065				#[doc = "- `source`: The account whose funds should be transferred."]
7066				#[doc = "- `target`: The account that should be transferred the vested funds."]
7067				#[doc = "- `schedule`: The vesting schedule attached to the transfer."]
7068				#[doc = ""]
7069				#[doc = "Emits `VestingCreated`."]
7070				#[doc = ""]
7071				#[doc = "NOTE: This will unlock all schedules through the current block."]
7072				#[doc = ""]
7073				#[doc = "## Complexity"]
7074				#[doc = "- `O(1)`."]
7075				pub fn force_vested_transfer(
7076					&self,
7077					source: types::force_vested_transfer::Source,
7078					target: types::force_vested_transfer::Target,
7079					schedule: types::force_vested_transfer::Schedule,
7080				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceVestedTransfer>
7081				{
7082					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7083						"Vesting",
7084						"force_vested_transfer",
7085						types::ForceVestedTransfer { source, target, schedule },
7086						[
7087							112u8, 17u8, 176u8, 133u8, 169u8, 192u8, 155u8, 217u8, 153u8, 36u8,
7088							230u8, 45u8, 9u8, 192u8, 2u8, 201u8, 165u8, 60u8, 206u8, 226u8, 95u8,
7089							86u8, 239u8, 196u8, 109u8, 62u8, 224u8, 237u8, 88u8, 74u8, 209u8,
7090							251u8,
7091						],
7092					)
7093				}
7094				#[doc = "Merge two vesting schedules together, creating a new vesting schedule that unlocks over"]
7095				#[doc = "the highest possible start and end blocks. If both schedules have already started the"]
7096				#[doc = "current block will be used as the schedule start; with the caveat that if one schedule"]
7097				#[doc = "is finished by the current block, the other will be treated as the new merged schedule,"]
7098				#[doc = "unmodified."]
7099				#[doc = ""]
7100				#[doc = "NOTE: If `schedule1_index == schedule2_index` this is a no-op."]
7101				#[doc = "NOTE: This will unlock all schedules through the current block prior to merging."]
7102				#[doc = "NOTE: If both schedules have ended by the current block, no new schedule will be created"]
7103				#[doc = "and both will be removed."]
7104				#[doc = ""]
7105				#[doc = "Merged schedule attributes:"]
7106				#[doc = "- `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block,"]
7107				#[doc = "  current_block)`."]
7108				#[doc = "- `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`."]
7109				#[doc = "- `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`."]
7110				#[doc = ""]
7111				#[doc = "The dispatch origin for this call must be _Signed_."]
7112				#[doc = ""]
7113				#[doc = "- `schedule1_index`: index of the first schedule to merge."]
7114				#[doc = "- `schedule2_index`: index of the second schedule to merge."]
7115				pub fn merge_schedules(
7116					&self,
7117					schedule1_index: types::merge_schedules::Schedule1Index,
7118					schedule2_index: types::merge_schedules::Schedule2Index,
7119				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::MergeSchedules>
7120				{
7121					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7122						"Vesting",
7123						"merge_schedules",
7124						types::MergeSchedules { schedule1_index, schedule2_index },
7125						[
7126							45u8, 24u8, 13u8, 108u8, 26u8, 99u8, 61u8, 117u8, 195u8, 218u8, 182u8,
7127							23u8, 188u8, 157u8, 181u8, 81u8, 38u8, 136u8, 31u8, 226u8, 8u8, 190u8,
7128							33u8, 81u8, 86u8, 185u8, 156u8, 77u8, 157u8, 197u8, 41u8, 58u8,
7129						],
7130					)
7131				}
7132				#[doc = "Force remove a vesting schedule"]
7133				#[doc = ""]
7134				#[doc = "The dispatch origin for this call must be _Root_."]
7135				#[doc = ""]
7136				#[doc = "- `target`: An account that has a vesting schedule"]
7137				#[doc = "- `schedule_index`: The vesting schedule index that should be removed"]
7138				pub fn force_remove_vesting_schedule(
7139					&self,
7140					target: types::force_remove_vesting_schedule::Target,
7141					schedule_index: types::force_remove_vesting_schedule::ScheduleIndex,
7142				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
7143					types::ForceRemoveVestingSchedule,
7144				> {
7145					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7146						"Vesting",
7147						"force_remove_vesting_schedule",
7148						types::ForceRemoveVestingSchedule { target, schedule_index },
7149						[
7150							211u8, 253u8, 60u8, 15u8, 20u8, 53u8, 23u8, 13u8, 45u8, 223u8, 136u8,
7151							183u8, 162u8, 143u8, 196u8, 188u8, 35u8, 64u8, 174u8, 16u8, 47u8, 13u8,
7152							147u8, 173u8, 120u8, 143u8, 75u8, 89u8, 128u8, 187u8, 9u8, 18u8,
7153						],
7154					)
7155				}
7156			}
7157		}
7158		#[doc = "The `Event` enum of this pallet"]
7159		pub type Event = runtime_types::pallet_vesting::pallet::Event;
7160		pub mod events {
7161			use super::runtime_types;
7162			#[derive(
7163				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7164				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7165				Debug,
7166			)]
7167			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7168			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7169			#[doc = "A vesting schedule has been created."]
7170			pub struct VestingCreated {
7171				pub account: vesting_created::Account,
7172				pub schedule_index: vesting_created::ScheduleIndex,
7173			}
7174			pub mod vesting_created {
7175				use super::runtime_types;
7176				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
7177				pub type ScheduleIndex = ::core::primitive::u32;
7178			}
7179			impl ::subxt::ext::subxt_core::events::StaticEvent for VestingCreated {
7180				const PALLET: &'static str = "Vesting";
7181				const EVENT: &'static str = "VestingCreated";
7182			}
7183			#[derive(
7184				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7185				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7186				Debug,
7187			)]
7188			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7189			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7190			#[doc = "The amount vested has been updated. This could indicate a change in funds available."]
7191			#[doc = "The balance given is the amount which is left unvested (and thus locked)."]
7192			pub struct VestingUpdated {
7193				pub account: vesting_updated::Account,
7194				pub unvested: vesting_updated::Unvested,
7195			}
7196			pub mod vesting_updated {
7197				use super::runtime_types;
7198				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
7199				pub type Unvested = ::core::primitive::u128;
7200			}
7201			impl ::subxt::ext::subxt_core::events::StaticEvent for VestingUpdated {
7202				const PALLET: &'static str = "Vesting";
7203				const EVENT: &'static str = "VestingUpdated";
7204			}
7205			#[derive(
7206				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7207				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7208				Debug,
7209			)]
7210			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7211			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7212			#[doc = "An \\[account\\] has become fully vested."]
7213			pub struct VestingCompleted {
7214				pub account: vesting_completed::Account,
7215			}
7216			pub mod vesting_completed {
7217				use super::runtime_types;
7218				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
7219			}
7220			impl ::subxt::ext::subxt_core::events::StaticEvent for VestingCompleted {
7221				const PALLET: &'static str = "Vesting";
7222				const EVENT: &'static str = "VestingCompleted";
7223			}
7224		}
7225		pub mod storage {
7226			use super::runtime_types;
7227			pub mod types {
7228				use super::runtime_types;
7229				pub mod vesting {
7230					use super::runtime_types;
7231					pub type Vesting = runtime_types::bounded_collections::bounded_vec::BoundedVec<
7232						runtime_types::pallet_vesting::vesting_info::VestingInfo<
7233							::core::primitive::u128,
7234							::core::primitive::u32,
7235						>,
7236					>;
7237					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
7238				}
7239				pub mod storage_version {
7240					use super::runtime_types;
7241					pub type StorageVersion = runtime_types::pallet_vesting::Releases;
7242				}
7243			}
7244			pub struct StorageApi;
7245			impl StorageApi {
7246				#[doc = " Information regarding the vesting of a given account."]
7247				pub fn vesting_iter(
7248					&self,
7249				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7250					(),
7251					types::vesting::Vesting,
7252					(),
7253					(),
7254					::subxt::ext::subxt_core::utils::Yes,
7255				> {
7256					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7257						"Vesting",
7258						"Vesting",
7259						(),
7260						[
7261							95u8, 168u8, 217u8, 248u8, 149u8, 86u8, 195u8, 93u8, 73u8, 206u8,
7262							105u8, 165u8, 33u8, 173u8, 232u8, 81u8, 147u8, 254u8, 50u8, 228u8,
7263							156u8, 92u8, 242u8, 149u8, 42u8, 91u8, 58u8, 209u8, 142u8, 221u8,
7264							230u8, 112u8,
7265						],
7266					)
7267				}
7268				#[doc = " Information regarding the vesting of a given account."]
7269				pub fn vesting(
7270					&self,
7271					_0: types::vesting::Param0,
7272				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7273					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
7274						types::vesting::Param0,
7275					>,
7276					types::vesting::Vesting,
7277					::subxt::ext::subxt_core::utils::Yes,
7278					(),
7279					(),
7280				> {
7281					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7282						"Vesting",
7283						"Vesting",
7284						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
7285						[
7286							95u8, 168u8, 217u8, 248u8, 149u8, 86u8, 195u8, 93u8, 73u8, 206u8,
7287							105u8, 165u8, 33u8, 173u8, 232u8, 81u8, 147u8, 254u8, 50u8, 228u8,
7288							156u8, 92u8, 242u8, 149u8, 42u8, 91u8, 58u8, 209u8, 142u8, 221u8,
7289							230u8, 112u8,
7290						],
7291					)
7292				}
7293				#[doc = " Storage version of the pallet."]
7294				#[doc = ""]
7295				#[doc = " New networks start with latest version, as determined by the genesis build."]
7296				pub fn storage_version(
7297					&self,
7298				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7299					(),
7300					types::storage_version::StorageVersion,
7301					::subxt::ext::subxt_core::utils::Yes,
7302					::subxt::ext::subxt_core::utils::Yes,
7303					(),
7304				> {
7305					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7306						"Vesting",
7307						"StorageVersion",
7308						(),
7309						[
7310							230u8, 137u8, 180u8, 133u8, 142u8, 124u8, 231u8, 234u8, 223u8, 10u8,
7311							154u8, 98u8, 158u8, 253u8, 228u8, 80u8, 5u8, 9u8, 91u8, 210u8, 252u8,
7312							9u8, 13u8, 195u8, 193u8, 164u8, 129u8, 113u8, 128u8, 218u8, 8u8, 40u8,
7313						],
7314					)
7315				}
7316			}
7317		}
7318		pub mod constants {
7319			use super::runtime_types;
7320			pub struct ConstantsApi;
7321			impl ConstantsApi {
7322				#[doc = " The minimum amount transferred to call `vested_transfer`."]
7323				pub fn min_vested_transfer(
7324					&self,
7325				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
7326					::core::primitive::u128,
7327				> {
7328					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
7329						"Vesting",
7330						"MinVestedTransfer",
7331						[
7332							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
7333							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
7334							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
7335						],
7336					)
7337				}
7338				pub fn max_vesting_schedules(
7339					&self,
7340				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
7341					::core::primitive::u32,
7342				> {
7343					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
7344						"Vesting",
7345						"MaxVestingSchedules",
7346						[
7347							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
7348							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
7349							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
7350							145u8,
7351						],
7352					)
7353				}
7354			}
7355		}
7356	}
7357	pub mod preimage {
7358		use super::{root_mod, runtime_types};
7359		#[doc = "The `Error` enum of this pallet."]
7360		pub type Error = runtime_types::pallet_preimage::pallet::Error;
7361		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
7362		pub type Call = runtime_types::pallet_preimage::pallet::Call;
7363		pub mod calls {
7364			use super::{root_mod, runtime_types};
7365			type DispatchError = runtime_types::sp_runtime::DispatchError;
7366			pub mod types {
7367				use super::runtime_types;
7368				#[derive(
7369					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7370					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7371					Debug,
7372				)]
7373				#[decode_as_type(
7374					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7375				)]
7376				#[encode_as_type(
7377					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7378				)]
7379				#[doc = "Register a preimage on-chain."]
7380				#[doc = ""]
7381				#[doc = "If the preimage was previously requested, no fees or deposits are taken for providing"]
7382				#[doc = "the preimage. Otherwise, a deposit is taken proportional to the size of the preimage."]
7383				pub struct NotePreimage {
7384					pub bytes: note_preimage::Bytes,
7385				}
7386				pub mod note_preimage {
7387					use super::runtime_types;
7388					pub type Bytes =
7389						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
7390				}
7391				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for NotePreimage {
7392					const PALLET: &'static str = "Preimage";
7393					const CALL: &'static str = "note_preimage";
7394				}
7395				#[derive(
7396					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7397					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7398					Debug,
7399				)]
7400				#[decode_as_type(
7401					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7402				)]
7403				#[encode_as_type(
7404					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7405				)]
7406				#[doc = "Clear an unrequested preimage from the runtime storage."]
7407				#[doc = ""]
7408				#[doc = "If `len` is provided, then it will be a much cheaper operation."]
7409				#[doc = ""]
7410				#[doc = "- `hash`: The hash of the preimage to be removed from the store."]
7411				#[doc = "- `len`: The length of the preimage of `hash`."]
7412				pub struct UnnotePreimage {
7413					pub hash: unnote_preimage::Hash,
7414				}
7415				pub mod unnote_preimage {
7416					use super::runtime_types;
7417					pub type Hash = ::subxt::ext::subxt_core::utils::H256;
7418				}
7419				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for UnnotePreimage {
7420					const PALLET: &'static str = "Preimage";
7421					const CALL: &'static str = "unnote_preimage";
7422				}
7423				#[derive(
7424					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7425					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7426					Debug,
7427				)]
7428				#[decode_as_type(
7429					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7430				)]
7431				#[encode_as_type(
7432					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7433				)]
7434				#[doc = "Request a preimage be uploaded to the chain without paying any fees or deposits."]
7435				#[doc = ""]
7436				#[doc = "If the preimage requests has already been provided on-chain, we unreserve any deposit"]
7437				#[doc = "a user may have paid, and take the control of the preimage out of their hands."]
7438				pub struct RequestPreimage {
7439					pub hash: request_preimage::Hash,
7440				}
7441				pub mod request_preimage {
7442					use super::runtime_types;
7443					pub type Hash = ::subxt::ext::subxt_core::utils::H256;
7444				}
7445				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RequestPreimage {
7446					const PALLET: &'static str = "Preimage";
7447					const CALL: &'static str = "request_preimage";
7448				}
7449				#[derive(
7450					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7451					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7452					Debug,
7453				)]
7454				#[decode_as_type(
7455					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7456				)]
7457				#[encode_as_type(
7458					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7459				)]
7460				#[doc = "Clear a previously made request for a preimage."]
7461				#[doc = ""]
7462				#[doc = "NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`."]
7463				pub struct UnrequestPreimage {
7464					pub hash: unrequest_preimage::Hash,
7465				}
7466				pub mod unrequest_preimage {
7467					use super::runtime_types;
7468					pub type Hash = ::subxt::ext::subxt_core::utils::H256;
7469				}
7470				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for UnrequestPreimage {
7471					const PALLET: &'static str = "Preimage";
7472					const CALL: &'static str = "unrequest_preimage";
7473				}
7474				#[derive(
7475					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7476					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7477					Debug,
7478				)]
7479				#[decode_as_type(
7480					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7481				)]
7482				#[encode_as_type(
7483					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7484				)]
7485				#[doc = "Ensure that the bulk of pre-images is upgraded."]
7486				#[doc = ""]
7487				#[doc = "The caller pays no fee if at least 90% of pre-images were successfully updated."]
7488				pub struct EnsureUpdated {
7489					pub hashes: ensure_updated::Hashes,
7490				}
7491				pub mod ensure_updated {
7492					use super::runtime_types;
7493					pub type Hashes = ::subxt::ext::subxt_core::alloc::vec::Vec<
7494						::subxt::ext::subxt_core::utils::H256,
7495					>;
7496				}
7497				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for EnsureUpdated {
7498					const PALLET: &'static str = "Preimage";
7499					const CALL: &'static str = "ensure_updated";
7500				}
7501			}
7502			pub struct TransactionApi;
7503			impl TransactionApi {
7504				#[doc = "Register a preimage on-chain."]
7505				#[doc = ""]
7506				#[doc = "If the preimage was previously requested, no fees or deposits are taken for providing"]
7507				#[doc = "the preimage. Otherwise, a deposit is taken proportional to the size of the preimage."]
7508				pub fn note_preimage(
7509					&self,
7510					bytes: types::note_preimage::Bytes,
7511				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::NotePreimage> {
7512					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7513						"Preimage",
7514						"note_preimage",
7515						types::NotePreimage { bytes },
7516						[
7517							121u8, 88u8, 18u8, 92u8, 176u8, 15u8, 192u8, 198u8, 146u8, 198u8, 38u8,
7518							242u8, 213u8, 83u8, 7u8, 230u8, 14u8, 110u8, 235u8, 32u8, 215u8, 26u8,
7519							192u8, 217u8, 113u8, 224u8, 206u8, 96u8, 177u8, 198u8, 246u8, 33u8,
7520						],
7521					)
7522				}
7523				#[doc = "Clear an unrequested preimage from the runtime storage."]
7524				#[doc = ""]
7525				#[doc = "If `len` is provided, then it will be a much cheaper operation."]
7526				#[doc = ""]
7527				#[doc = "- `hash`: The hash of the preimage to be removed from the store."]
7528				#[doc = "- `len`: The length of the preimage of `hash`."]
7529				pub fn unnote_preimage(
7530					&self,
7531					hash: types::unnote_preimage::Hash,
7532				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::UnnotePreimage>
7533				{
7534					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7535						"Preimage",
7536						"unnote_preimage",
7537						types::UnnotePreimage { hash },
7538						[
7539							188u8, 116u8, 222u8, 22u8, 127u8, 215u8, 2u8, 133u8, 96u8, 202u8,
7540							190u8, 123u8, 203u8, 43u8, 200u8, 161u8, 226u8, 24u8, 49u8, 36u8,
7541							221u8, 160u8, 130u8, 119u8, 30u8, 138u8, 144u8, 85u8, 5u8, 164u8,
7542							252u8, 222u8,
7543						],
7544					)
7545				}
7546				#[doc = "Request a preimage be uploaded to the chain without paying any fees or deposits."]
7547				#[doc = ""]
7548				#[doc = "If the preimage requests has already been provided on-chain, we unreserve any deposit"]
7549				#[doc = "a user may have paid, and take the control of the preimage out of their hands."]
7550				pub fn request_preimage(
7551					&self,
7552					hash: types::request_preimage::Hash,
7553				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RequestPreimage>
7554				{
7555					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7556						"Preimage",
7557						"request_preimage",
7558						types::RequestPreimage { hash },
7559						[
7560							87u8, 0u8, 204u8, 111u8, 43u8, 115u8, 64u8, 209u8, 133u8, 13u8, 83u8,
7561							45u8, 164u8, 166u8, 233u8, 105u8, 242u8, 238u8, 235u8, 208u8, 113u8,
7562							134u8, 93u8, 242u8, 86u8, 32u8, 7u8, 152u8, 107u8, 208u8, 79u8, 59u8,
7563						],
7564					)
7565				}
7566				#[doc = "Clear a previously made request for a preimage."]
7567				#[doc = ""]
7568				#[doc = "NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`."]
7569				pub fn unrequest_preimage(
7570					&self,
7571					hash: types::unrequest_preimage::Hash,
7572				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::UnrequestPreimage>
7573				{
7574					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7575						"Preimage",
7576						"unrequest_preimage",
7577						types::UnrequestPreimage { hash },
7578						[
7579							55u8, 37u8, 224u8, 149u8, 142u8, 120u8, 8u8, 68u8, 183u8, 225u8, 255u8,
7580							240u8, 254u8, 111u8, 58u8, 200u8, 113u8, 217u8, 177u8, 203u8, 107u8,
7581							104u8, 233u8, 87u8, 252u8, 53u8, 33u8, 112u8, 116u8, 254u8, 117u8,
7582							134u8,
7583						],
7584					)
7585				}
7586				#[doc = "Ensure that the bulk of pre-images is upgraded."]
7587				#[doc = ""]
7588				#[doc = "The caller pays no fee if at least 90% of pre-images were successfully updated."]
7589				pub fn ensure_updated(
7590					&self,
7591					hashes: types::ensure_updated::Hashes,
7592				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::EnsureUpdated>
7593				{
7594					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7595						"Preimage",
7596						"ensure_updated",
7597						types::EnsureUpdated { hashes },
7598						[
7599							254u8, 228u8, 88u8, 44u8, 126u8, 235u8, 188u8, 153u8, 61u8, 27u8,
7600							103u8, 253u8, 163u8, 161u8, 113u8, 243u8, 87u8, 136u8, 2u8, 231u8,
7601							209u8, 188u8, 215u8, 106u8, 192u8, 225u8, 75u8, 125u8, 224u8, 96u8,
7602							221u8, 90u8,
7603						],
7604					)
7605				}
7606			}
7607		}
7608		#[doc = "The `Event` enum of this pallet"]
7609		pub type Event = runtime_types::pallet_preimage::pallet::Event;
7610		pub mod events {
7611			use super::runtime_types;
7612			#[derive(
7613				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7614				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7615				Debug,
7616			)]
7617			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7618			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7619			#[doc = "A preimage has been noted."]
7620			pub struct Noted {
7621				pub hash: noted::Hash,
7622			}
7623			pub mod noted {
7624				use super::runtime_types;
7625				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
7626			}
7627			impl ::subxt::ext::subxt_core::events::StaticEvent for Noted {
7628				const PALLET: &'static str = "Preimage";
7629				const EVENT: &'static str = "Noted";
7630			}
7631			#[derive(
7632				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7633				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7634				Debug,
7635			)]
7636			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7637			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7638			#[doc = "A preimage has been requested."]
7639			pub struct Requested {
7640				pub hash: requested::Hash,
7641			}
7642			pub mod requested {
7643				use super::runtime_types;
7644				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
7645			}
7646			impl ::subxt::ext::subxt_core::events::StaticEvent for Requested {
7647				const PALLET: &'static str = "Preimage";
7648				const EVENT: &'static str = "Requested";
7649			}
7650			#[derive(
7651				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7652				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7653				Debug,
7654			)]
7655			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7656			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7657			#[doc = "A preimage has ben cleared."]
7658			pub struct Cleared {
7659				pub hash: cleared::Hash,
7660			}
7661			pub mod cleared {
7662				use super::runtime_types;
7663				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
7664			}
7665			impl ::subxt::ext::subxt_core::events::StaticEvent for Cleared {
7666				const PALLET: &'static str = "Preimage";
7667				const EVENT: &'static str = "Cleared";
7668			}
7669		}
7670		pub mod storage {
7671			use super::runtime_types;
7672			pub mod types {
7673				use super::runtime_types;
7674				pub mod status_for {
7675					use super::runtime_types;
7676					pub type StatusFor = runtime_types::pallet_preimage::OldRequestStatus<
7677						::subxt::ext::subxt_core::utils::AccountId32,
7678						::core::primitive::u128,
7679					>;
7680					pub type Param0 = ::subxt::ext::subxt_core::utils::H256;
7681				}
7682				pub mod request_status_for {
7683					use super::runtime_types;
7684					pub type RequestStatusFor = runtime_types::pallet_preimage::RequestStatus<
7685						::subxt::ext::subxt_core::utils::AccountId32,
7686						runtime_types::quantus_runtime::governance::definitions::PreimageDeposit,
7687					>;
7688					pub type Param0 = ::subxt::ext::subxt_core::utils::H256;
7689				}
7690				pub mod preimage_for {
7691					use super::runtime_types;
7692					pub type PreimageFor =
7693						runtime_types::bounded_collections::bounded_vec::BoundedVec<
7694							::core::primitive::u8,
7695						>;
7696					pub type Param0 =
7697						(::subxt::ext::subxt_core::utils::H256, ::core::primitive::u32);
7698				}
7699			}
7700			pub struct StorageApi;
7701			impl StorageApi {
7702				#[doc = " The request status of a given hash."]
7703				pub fn status_for_iter(
7704					&self,
7705				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7706					(),
7707					types::status_for::StatusFor,
7708					(),
7709					(),
7710					::subxt::ext::subxt_core::utils::Yes,
7711				> {
7712					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7713						"Preimage",
7714						"StatusFor",
7715						(),
7716						[
7717							187u8, 100u8, 54u8, 112u8, 96u8, 129u8, 36u8, 149u8, 127u8, 226u8,
7718							126u8, 171u8, 72u8, 189u8, 59u8, 126u8, 204u8, 125u8, 67u8, 204u8,
7719							231u8, 6u8, 212u8, 135u8, 166u8, 252u8, 5u8, 46u8, 111u8, 120u8, 54u8,
7720							209u8,
7721						],
7722					)
7723				}
7724				#[doc = " The request status of a given hash."]
7725				pub fn status_for(
7726					&self,
7727					_0: types::status_for::Param0,
7728				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7729					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
7730						types::status_for::Param0,
7731					>,
7732					types::status_for::StatusFor,
7733					::subxt::ext::subxt_core::utils::Yes,
7734					(),
7735					(),
7736				> {
7737					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7738						"Preimage",
7739						"StatusFor",
7740						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
7741						[
7742							187u8, 100u8, 54u8, 112u8, 96u8, 129u8, 36u8, 149u8, 127u8, 226u8,
7743							126u8, 171u8, 72u8, 189u8, 59u8, 126u8, 204u8, 125u8, 67u8, 204u8,
7744							231u8, 6u8, 212u8, 135u8, 166u8, 252u8, 5u8, 46u8, 111u8, 120u8, 54u8,
7745							209u8,
7746						],
7747					)
7748				}
7749				#[doc = " The request status of a given hash."]
7750				pub fn request_status_for_iter(
7751					&self,
7752				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7753					(),
7754					types::request_status_for::RequestStatusFor,
7755					(),
7756					(),
7757					::subxt::ext::subxt_core::utils::Yes,
7758				> {
7759					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7760						"Preimage",
7761						"RequestStatusFor",
7762						(),
7763						[
7764							113u8, 195u8, 77u8, 23u8, 125u8, 170u8, 77u8, 145u8, 201u8, 168u8,
7765							39u8, 13u8, 143u8, 50u8, 100u8, 92u8, 25u8, 110u8, 125u8, 20u8, 96u8,
7766							156u8, 225u8, 200u8, 57u8, 199u8, 226u8, 242u8, 230u8, 126u8, 138u8,
7767							123u8,
7768						],
7769					)
7770				}
7771				#[doc = " The request status of a given hash."]
7772				pub fn request_status_for(
7773					&self,
7774					_0: types::request_status_for::Param0,
7775				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7776					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
7777						types::request_status_for::Param0,
7778					>,
7779					types::request_status_for::RequestStatusFor,
7780					::subxt::ext::subxt_core::utils::Yes,
7781					(),
7782					(),
7783				> {
7784					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7785						"Preimage",
7786						"RequestStatusFor",
7787						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
7788						[
7789							113u8, 195u8, 77u8, 23u8, 125u8, 170u8, 77u8, 145u8, 201u8, 168u8,
7790							39u8, 13u8, 143u8, 50u8, 100u8, 92u8, 25u8, 110u8, 125u8, 20u8, 96u8,
7791							156u8, 225u8, 200u8, 57u8, 199u8, 226u8, 242u8, 230u8, 126u8, 138u8,
7792							123u8,
7793						],
7794					)
7795				}
7796				pub fn preimage_for_iter(
7797					&self,
7798				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7799					(),
7800					types::preimage_for::PreimageFor,
7801					(),
7802					(),
7803					::subxt::ext::subxt_core::utils::Yes,
7804				> {
7805					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7806						"Preimage",
7807						"PreimageFor",
7808						(),
7809						[
7810							106u8, 5u8, 17u8, 46u8, 6u8, 184u8, 177u8, 113u8, 169u8, 34u8, 119u8,
7811							141u8, 117u8, 40u8, 30u8, 94u8, 187u8, 35u8, 206u8, 216u8, 143u8,
7812							208u8, 49u8, 156u8, 200u8, 255u8, 109u8, 200u8, 210u8, 134u8, 24u8,
7813							139u8,
7814						],
7815					)
7816				}
7817				pub fn preimage_for(
7818					&self,
7819					_0: types::preimage_for::Param0,
7820				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7821					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
7822						types::preimage_for::Param0,
7823					>,
7824					types::preimage_for::PreimageFor,
7825					::subxt::ext::subxt_core::utils::Yes,
7826					(),
7827					(),
7828				> {
7829					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7830						"Preimage",
7831						"PreimageFor",
7832						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
7833						[
7834							106u8, 5u8, 17u8, 46u8, 6u8, 184u8, 177u8, 113u8, 169u8, 34u8, 119u8,
7835							141u8, 117u8, 40u8, 30u8, 94u8, 187u8, 35u8, 206u8, 216u8, 143u8,
7836							208u8, 49u8, 156u8, 200u8, 255u8, 109u8, 200u8, 210u8, 134u8, 24u8,
7837							139u8,
7838						],
7839					)
7840				}
7841			}
7842		}
7843	}
7844	pub mod scheduler {
7845		use super::{root_mod, runtime_types};
7846		#[doc = "The `Error` enum of this pallet."]
7847		pub type Error = runtime_types::pallet_scheduler::pallet::Error;
7848		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
7849		pub type Call = runtime_types::pallet_scheduler::pallet::Call;
7850		pub mod calls {
7851			use super::{root_mod, runtime_types};
7852			type DispatchError = runtime_types::sp_runtime::DispatchError;
7853			pub mod types {
7854				use super::runtime_types;
7855				#[derive(
7856					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7857					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7858					Debug,
7859				)]
7860				#[decode_as_type(
7861					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7862				)]
7863				#[encode_as_type(
7864					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7865				)]
7866				#[doc = "Anonymously schedule a task."]
7867				pub struct Schedule {
7868					pub when: schedule::When,
7869					pub maybe_periodic: schedule::MaybePeriodic,
7870					pub priority: schedule::Priority,
7871					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<schedule::Call>,
7872				}
7873				pub mod schedule {
7874					use super::runtime_types;
7875					pub type When = ::core::primitive::u32;
7876					pub type MaybePeriodic = ::core::option::Option<(
7877						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7878							::core::primitive::u32,
7879							::core::primitive::u64,
7880						>,
7881						::core::primitive::u32,
7882					)>;
7883					pub type Priority = ::core::primitive::u8;
7884					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
7885				}
7886				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Schedule {
7887					const PALLET: &'static str = "Scheduler";
7888					const CALL: &'static str = "schedule";
7889				}
7890				#[derive(
7891					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7892					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7893					Debug,
7894				)]
7895				#[decode_as_type(
7896					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7897				)]
7898				#[encode_as_type(
7899					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7900				)]
7901				#[doc = "Cancel an anonymously scheduled task."]
7902				pub struct Cancel {
7903					pub when: cancel::When,
7904					pub index: cancel::Index,
7905				}
7906				pub mod cancel {
7907					use super::runtime_types;
7908					pub type When = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7909						::core::primitive::u32,
7910						::core::primitive::u64,
7911					>;
7912					pub type Index = ::core::primitive::u32;
7913				}
7914				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Cancel {
7915					const PALLET: &'static str = "Scheduler";
7916					const CALL: &'static str = "cancel";
7917				}
7918				#[derive(
7919					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7920					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7921					Debug,
7922				)]
7923				#[decode_as_type(
7924					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7925				)]
7926				#[encode_as_type(
7927					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7928				)]
7929				#[doc = "Schedule a named task."]
7930				pub struct ScheduleNamed {
7931					pub id: schedule_named::Id,
7932					pub when: schedule_named::When,
7933					pub maybe_periodic: schedule_named::MaybePeriodic,
7934					pub priority: schedule_named::Priority,
7935					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<schedule_named::Call>,
7936				}
7937				pub mod schedule_named {
7938					use super::runtime_types;
7939					pub type Id = [::core::primitive::u8; 32usize];
7940					pub type When = ::core::primitive::u32;
7941					pub type MaybePeriodic = ::core::option::Option<(
7942						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7943							::core::primitive::u32,
7944							::core::primitive::u64,
7945						>,
7946						::core::primitive::u32,
7947					)>;
7948					pub type Priority = ::core::primitive::u8;
7949					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
7950				}
7951				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleNamed {
7952					const PALLET: &'static str = "Scheduler";
7953					const CALL: &'static str = "schedule_named";
7954				}
7955				#[derive(
7956					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7957					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7958					Debug,
7959				)]
7960				#[decode_as_type(
7961					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7962				)]
7963				#[encode_as_type(
7964					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7965				)]
7966				#[doc = "Cancel a named scheduled task."]
7967				pub struct CancelNamed {
7968					pub id: cancel_named::Id,
7969				}
7970				pub mod cancel_named {
7971					use super::runtime_types;
7972					pub type Id = [::core::primitive::u8; 32usize];
7973				}
7974				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CancelNamed {
7975					const PALLET: &'static str = "Scheduler";
7976					const CALL: &'static str = "cancel_named";
7977				}
7978				#[derive(
7979					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7980					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7981					Debug,
7982				)]
7983				#[decode_as_type(
7984					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7985				)]
7986				#[encode_as_type(
7987					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7988				)]
7989				#[doc = "Anonymously schedule a task after a delay."]
7990				pub struct ScheduleAfter {
7991					pub after: schedule_after::After,
7992					pub maybe_periodic: schedule_after::MaybePeriodic,
7993					pub priority: schedule_after::Priority,
7994					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<schedule_after::Call>,
7995				}
7996				pub mod schedule_after {
7997					use super::runtime_types;
7998					pub type After = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7999						::core::primitive::u32,
8000						::core::primitive::u64,
8001					>;
8002					pub type MaybePeriodic = ::core::option::Option<(
8003						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8004							::core::primitive::u32,
8005							::core::primitive::u64,
8006						>,
8007						::core::primitive::u32,
8008					)>;
8009					pub type Priority = ::core::primitive::u8;
8010					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
8011				}
8012				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleAfter {
8013					const PALLET: &'static str = "Scheduler";
8014					const CALL: &'static str = "schedule_after";
8015				}
8016				#[derive(
8017					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8018					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8019					Debug,
8020				)]
8021				#[decode_as_type(
8022					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8023				)]
8024				#[encode_as_type(
8025					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8026				)]
8027				#[doc = "Schedule a named task after a delay."]
8028				pub struct ScheduleNamedAfter {
8029					pub id: schedule_named_after::Id,
8030					pub after: schedule_named_after::After,
8031					pub maybe_periodic: schedule_named_after::MaybePeriodic,
8032					pub priority: schedule_named_after::Priority,
8033					pub call:
8034						::subxt::ext::subxt_core::alloc::boxed::Box<schedule_named_after::Call>,
8035				}
8036				pub mod schedule_named_after {
8037					use super::runtime_types;
8038					pub type Id = [::core::primitive::u8; 32usize];
8039					pub type After = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8040						::core::primitive::u32,
8041						::core::primitive::u64,
8042					>;
8043					pub type MaybePeriodic = ::core::option::Option<(
8044						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8045							::core::primitive::u32,
8046							::core::primitive::u64,
8047						>,
8048						::core::primitive::u32,
8049					)>;
8050					pub type Priority = ::core::primitive::u8;
8051					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
8052				}
8053				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleNamedAfter {
8054					const PALLET: &'static str = "Scheduler";
8055					const CALL: &'static str = "schedule_named_after";
8056				}
8057				#[derive(
8058					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8059					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8060					Debug,
8061				)]
8062				#[decode_as_type(
8063					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8064				)]
8065				#[encode_as_type(
8066					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8067				)]
8068				#[doc = "Set a retry configuration for a task so that, in case its scheduled run fails, it will"]
8069				#[doc = "be retried after `period` blocks, for a total amount of `retries` retries or until it"]
8070				#[doc = "succeeds."]
8071				#[doc = ""]
8072				#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
8073				#[doc = "agenda space, same as a regular task. If a periodic task fails, it will be scheduled"]
8074				#[doc = "normally while the task is retrying."]
8075				#[doc = ""]
8076				#[doc = "Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic"]
8077				#[doc = "clones of the original task. Their retry configuration will be derived from the"]
8078				#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
8079				#[doc = "original `total_retries`."]
8080				pub struct SetRetry {
8081					pub task: set_retry::Task,
8082					pub retries: set_retry::Retries,
8083					pub period: set_retry::Period,
8084				}
8085				pub mod set_retry {
8086					use super::runtime_types;
8087					pub type Task = (
8088						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8089							::core::primitive::u32,
8090							::core::primitive::u64,
8091						>,
8092						::core::primitive::u32,
8093					);
8094					pub type Retries = ::core::primitive::u8;
8095					pub type Period = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8096						::core::primitive::u32,
8097						::core::primitive::u64,
8098					>;
8099				}
8100				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetRetry {
8101					const PALLET: &'static str = "Scheduler";
8102					const CALL: &'static str = "set_retry";
8103				}
8104				#[derive(
8105					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8106					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8107					Debug,
8108				)]
8109				#[decode_as_type(
8110					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8111				)]
8112				#[encode_as_type(
8113					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8114				)]
8115				#[doc = "Set a retry configuration for a named task so that, in case its scheduled run fails, it"]
8116				#[doc = "will be retried after `period` blocks, for a total amount of `retries` retries or until"]
8117				#[doc = "it succeeds."]
8118				#[doc = ""]
8119				#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
8120				#[doc = "agenda space, same as a regular task. If a periodic task fails, it will be scheduled"]
8121				#[doc = "normally while the task is retrying."]
8122				#[doc = ""]
8123				#[doc = "Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic"]
8124				#[doc = "clones of the original task. Their retry configuration will be derived from the"]
8125				#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
8126				#[doc = "original `total_retries`."]
8127				pub struct SetRetryNamed {
8128					pub id: set_retry_named::Id,
8129					pub retries: set_retry_named::Retries,
8130					pub period: set_retry_named::Period,
8131				}
8132				pub mod set_retry_named {
8133					use super::runtime_types;
8134					pub type Id = [::core::primitive::u8; 32usize];
8135					pub type Retries = ::core::primitive::u8;
8136					pub type Period = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8137						::core::primitive::u32,
8138						::core::primitive::u64,
8139					>;
8140				}
8141				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetRetryNamed {
8142					const PALLET: &'static str = "Scheduler";
8143					const CALL: &'static str = "set_retry_named";
8144				}
8145				#[derive(
8146					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8147					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8148					Debug,
8149				)]
8150				#[decode_as_type(
8151					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8152				)]
8153				#[encode_as_type(
8154					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8155				)]
8156				#[doc = "Removes the retry configuration of a task."]
8157				pub struct CancelRetry {
8158					pub task: cancel_retry::Task,
8159				}
8160				pub mod cancel_retry {
8161					use super::runtime_types;
8162					pub type Task = (
8163						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8164							::core::primitive::u32,
8165							::core::primitive::u64,
8166						>,
8167						::core::primitive::u32,
8168					);
8169				}
8170				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CancelRetry {
8171					const PALLET: &'static str = "Scheduler";
8172					const CALL: &'static str = "cancel_retry";
8173				}
8174				#[derive(
8175					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8176					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8177					Debug,
8178				)]
8179				#[decode_as_type(
8180					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8181				)]
8182				#[encode_as_type(
8183					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8184				)]
8185				#[doc = "Cancel the retry configuration of a named task."]
8186				pub struct CancelRetryNamed {
8187					pub id: cancel_retry_named::Id,
8188				}
8189				pub mod cancel_retry_named {
8190					use super::runtime_types;
8191					pub type Id = [::core::primitive::u8; 32usize];
8192				}
8193				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CancelRetryNamed {
8194					const PALLET: &'static str = "Scheduler";
8195					const CALL: &'static str = "cancel_retry_named";
8196				}
8197			}
8198			pub struct TransactionApi;
8199			impl TransactionApi {
8200				#[doc = "Anonymously schedule a task."]
8201				pub fn schedule(
8202					&self,
8203					when: types::schedule::When,
8204					maybe_periodic: types::schedule::MaybePeriodic,
8205					priority: types::schedule::Priority,
8206					call: types::schedule::Call,
8207				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Schedule> {
8208					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8209						"Scheduler",
8210						"schedule",
8211						types::Schedule {
8212							when,
8213							maybe_periodic,
8214							priority,
8215							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
8216						},
8217						[
8218							194u8, 5u8, 9u8, 214u8, 152u8, 152u8, 73u8, 196u8, 61u8, 76u8, 101u8,
8219							85u8, 216u8, 10u8, 40u8, 112u8, 113u8, 29u8, 48u8, 3u8, 202u8, 8u8,
8220							201u8, 182u8, 110u8, 160u8, 146u8, 148u8, 162u8, 144u8, 11u8, 113u8,
8221						],
8222					)
8223				}
8224				#[doc = "Cancel an anonymously scheduled task."]
8225				pub fn cancel(
8226					&self,
8227					when: types::cancel::When,
8228					index: types::cancel::Index,
8229				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Cancel> {
8230					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8231						"Scheduler",
8232						"cancel",
8233						types::Cancel { when, index },
8234						[
8235							134u8, 77u8, 15u8, 56u8, 137u8, 12u8, 58u8, 147u8, 164u8, 204u8, 221u8,
8236							150u8, 103u8, 42u8, 36u8, 79u8, 146u8, 115u8, 13u8, 194u8, 39u8, 73u8,
8237							109u8, 10u8, 168u8, 164u8, 190u8, 173u8, 30u8, 17u8, 35u8, 17u8,
8238						],
8239					)
8240				}
8241				#[doc = "Schedule a named task."]
8242				pub fn schedule_named(
8243					&self,
8244					id: types::schedule_named::Id,
8245					when: types::schedule_named::When,
8246					maybe_periodic: types::schedule_named::MaybePeriodic,
8247					priority: types::schedule_named::Priority,
8248					call: types::schedule_named::Call,
8249				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ScheduleNamed>
8250				{
8251					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8252						"Scheduler",
8253						"schedule_named",
8254						types::ScheduleNamed {
8255							id,
8256							when,
8257							maybe_periodic,
8258							priority,
8259							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
8260						},
8261						[
8262							206u8, 123u8, 136u8, 68u8, 23u8, 17u8, 237u8, 5u8, 64u8, 1u8, 217u8,
8263							33u8, 184u8, 27u8, 210u8, 126u8, 141u8, 227u8, 187u8, 47u8, 203u8,
8264							113u8, 212u8, 127u8, 46u8, 176u8, 117u8, 103u8, 213u8, 237u8, 121u8,
8265							187u8,
8266						],
8267					)
8268				}
8269				#[doc = "Cancel a named scheduled task."]
8270				pub fn cancel_named(
8271					&self,
8272					id: types::cancel_named::Id,
8273				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CancelNamed> {
8274					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8275						"Scheduler",
8276						"cancel_named",
8277						types::CancelNamed { id },
8278						[
8279							205u8, 35u8, 28u8, 57u8, 224u8, 7u8, 49u8, 233u8, 236u8, 163u8, 93u8,
8280							236u8, 103u8, 69u8, 65u8, 51u8, 121u8, 84u8, 9u8, 196u8, 147u8, 122u8,
8281							227u8, 200u8, 181u8, 233u8, 62u8, 240u8, 174u8, 83u8, 129u8, 193u8,
8282						],
8283					)
8284				}
8285				#[doc = "Anonymously schedule a task after a delay."]
8286				pub fn schedule_after(
8287					&self,
8288					after: types::schedule_after::After,
8289					maybe_periodic: types::schedule_after::MaybePeriodic,
8290					priority: types::schedule_after::Priority,
8291					call: types::schedule_after::Call,
8292				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ScheduleAfter>
8293				{
8294					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8295						"Scheduler",
8296						"schedule_after",
8297						types::ScheduleAfter {
8298							after,
8299							maybe_periodic,
8300							priority,
8301							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
8302						},
8303						[
8304							50u8, 250u8, 128u8, 55u8, 8u8, 69u8, 136u8, 110u8, 240u8, 28u8, 34u8,
8305							118u8, 216u8, 6u8, 17u8, 200u8, 242u8, 75u8, 59u8, 174u8, 223u8, 131u8,
8306							81u8, 31u8, 173u8, 106u8, 110u8, 100u8, 102u8, 177u8, 4u8, 171u8,
8307						],
8308					)
8309				}
8310				#[doc = "Schedule a named task after a delay."]
8311				pub fn schedule_named_after(
8312					&self,
8313					id: types::schedule_named_after::Id,
8314					after: types::schedule_named_after::After,
8315					maybe_periodic: types::schedule_named_after::MaybePeriodic,
8316					priority: types::schedule_named_after::Priority,
8317					call: types::schedule_named_after::Call,
8318				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ScheduleNamedAfter>
8319				{
8320					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8321						"Scheduler",
8322						"schedule_named_after",
8323						types::ScheduleNamedAfter {
8324							id,
8325							after,
8326							maybe_periodic,
8327							priority,
8328							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
8329						},
8330						[
8331							87u8, 169u8, 152u8, 52u8, 117u8, 15u8, 166u8, 36u8, 128u8, 119u8,
8332							111u8, 113u8, 199u8, 89u8, 186u8, 195u8, 212u8, 14u8, 78u8, 238u8,
8333							48u8, 143u8, 82u8, 183u8, 215u8, 71u8, 63u8, 225u8, 103u8, 235u8,
8334							247u8, 151u8,
8335						],
8336					)
8337				}
8338				#[doc = "Set a retry configuration for a task so that, in case its scheduled run fails, it will"]
8339				#[doc = "be retried after `period` blocks, for a total amount of `retries` retries or until it"]
8340				#[doc = "succeeds."]
8341				#[doc = ""]
8342				#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
8343				#[doc = "agenda space, same as a regular task. If a periodic task fails, it will be scheduled"]
8344				#[doc = "normally while the task is retrying."]
8345				#[doc = ""]
8346				#[doc = "Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic"]
8347				#[doc = "clones of the original task. Their retry configuration will be derived from the"]
8348				#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
8349				#[doc = "original `total_retries`."]
8350				pub fn set_retry(
8351					&self,
8352					task: types::set_retry::Task,
8353					retries: types::set_retry::Retries,
8354					period: types::set_retry::Period,
8355				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetRetry> {
8356					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8357						"Scheduler",
8358						"set_retry",
8359						types::SetRetry { task, retries, period },
8360						[
8361							31u8, 128u8, 255u8, 13u8, 13u8, 252u8, 74u8, 151u8, 60u8, 242u8, 152u8,
8362							58u8, 190u8, 155u8, 132u8, 65u8, 139u8, 208u8, 222u8, 175u8, 89u8,
8363							222u8, 186u8, 98u8, 53u8, 125u8, 71u8, 55u8, 95u8, 2u8, 76u8, 248u8,
8364						],
8365					)
8366				}
8367				#[doc = "Set a retry configuration for a named task so that, in case its scheduled run fails, it"]
8368				#[doc = "will be retried after `period` blocks, for a total amount of `retries` retries or until"]
8369				#[doc = "it succeeds."]
8370				#[doc = ""]
8371				#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
8372				#[doc = "agenda space, same as a regular task. If a periodic task fails, it will be scheduled"]
8373				#[doc = "normally while the task is retrying."]
8374				#[doc = ""]
8375				#[doc = "Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic"]
8376				#[doc = "clones of the original task. Their retry configuration will be derived from the"]
8377				#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
8378				#[doc = "original `total_retries`."]
8379				pub fn set_retry_named(
8380					&self,
8381					id: types::set_retry_named::Id,
8382					retries: types::set_retry_named::Retries,
8383					period: types::set_retry_named::Period,
8384				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetRetryNamed>
8385				{
8386					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8387						"Scheduler",
8388						"set_retry_named",
8389						types::SetRetryNamed { id, retries, period },
8390						[
8391							102u8, 70u8, 114u8, 48u8, 180u8, 194u8, 107u8, 81u8, 104u8, 117u8,
8392							33u8, 169u8, 43u8, 172u8, 61u8, 129u8, 143u8, 221u8, 44u8, 101u8,
8393							235u8, 228u8, 224u8, 71u8, 65u8, 223u8, 180u8, 130u8, 83u8, 89u8,
8394							157u8, 75u8,
8395						],
8396					)
8397				}
8398				#[doc = "Removes the retry configuration of a task."]
8399				pub fn cancel_retry(
8400					&self,
8401					task: types::cancel_retry::Task,
8402				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CancelRetry> {
8403					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8404						"Scheduler",
8405						"cancel_retry",
8406						types::CancelRetry { task },
8407						[
8408							153u8, 252u8, 168u8, 142u8, 100u8, 114u8, 25u8, 46u8, 225u8, 95u8,
8409							243u8, 78u8, 160u8, 175u8, 17u8, 33u8, 27u8, 241u8, 149u8, 187u8,
8410							228u8, 182u8, 233u8, 74u8, 10u8, 228u8, 117u8, 218u8, 210u8, 127u8,
8411							245u8, 105u8,
8412						],
8413					)
8414				}
8415				#[doc = "Cancel the retry configuration of a named task."]
8416				pub fn cancel_retry_named(
8417					&self,
8418					id: types::cancel_retry_named::Id,
8419				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CancelRetryNamed>
8420				{
8421					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8422						"Scheduler",
8423						"cancel_retry_named",
8424						types::CancelRetryNamed { id },
8425						[
8426							76u8, 157u8, 253u8, 113u8, 162u8, 54u8, 98u8, 21u8, 62u8, 44u8, 155u8,
8427							202u8, 2u8, 28u8, 153u8, 219u8, 67u8, 166u8, 206u8, 79u8, 139u8, 3u8,
8428							119u8, 182u8, 254u8, 134u8, 143u8, 121u8, 155u8, 220u8, 192u8, 209u8,
8429						],
8430					)
8431				}
8432			}
8433		}
8434		#[doc = "Events type."]
8435		pub type Event = runtime_types::pallet_scheduler::pallet::Event;
8436		pub mod events {
8437			use super::runtime_types;
8438			#[derive(
8439				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8440				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8441				Debug,
8442			)]
8443			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8444			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8445			#[doc = "Scheduled some task."]
8446			pub struct Scheduled {
8447				pub when: scheduled::When,
8448				pub index: scheduled::Index,
8449			}
8450			pub mod scheduled {
8451				use super::runtime_types;
8452				pub type When = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8453					::core::primitive::u32,
8454					::core::primitive::u64,
8455				>;
8456				pub type Index = ::core::primitive::u32;
8457			}
8458			impl ::subxt::ext::subxt_core::events::StaticEvent for Scheduled {
8459				const PALLET: &'static str = "Scheduler";
8460				const EVENT: &'static str = "Scheduled";
8461			}
8462			#[derive(
8463				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8464				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8465				Debug,
8466			)]
8467			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8468			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8469			#[doc = "Canceled some task."]
8470			pub struct Canceled {
8471				pub when: canceled::When,
8472				pub index: canceled::Index,
8473			}
8474			pub mod canceled {
8475				use super::runtime_types;
8476				pub type When = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8477					::core::primitive::u32,
8478					::core::primitive::u64,
8479				>;
8480				pub type Index = ::core::primitive::u32;
8481			}
8482			impl ::subxt::ext::subxt_core::events::StaticEvent for Canceled {
8483				const PALLET: &'static str = "Scheduler";
8484				const EVENT: &'static str = "Canceled";
8485			}
8486			#[derive(
8487				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8488				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8489				Debug,
8490			)]
8491			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8492			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8493			#[doc = "Dispatched some task."]
8494			pub struct Dispatched {
8495				pub task: dispatched::Task,
8496				pub id: dispatched::Id,
8497				pub result: dispatched::Result,
8498			}
8499			pub mod dispatched {
8500				use super::runtime_types;
8501				pub type Task = (
8502					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8503						::core::primitive::u32,
8504						::core::primitive::u64,
8505					>,
8506					::core::primitive::u32,
8507				);
8508				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
8509				pub type Result =
8510					::core::result::Result<(), runtime_types::sp_runtime::DispatchError>;
8511			}
8512			impl ::subxt::ext::subxt_core::events::StaticEvent for Dispatched {
8513				const PALLET: &'static str = "Scheduler";
8514				const EVENT: &'static str = "Dispatched";
8515			}
8516			#[derive(
8517				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8518				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8519				Debug,
8520			)]
8521			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8522			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8523			#[doc = "Set a retry configuration for some task."]
8524			pub struct RetrySet {
8525				pub task: retry_set::Task,
8526				pub id: retry_set::Id,
8527				pub period: retry_set::Period,
8528				pub retries: retry_set::Retries,
8529			}
8530			pub mod retry_set {
8531				use super::runtime_types;
8532				pub type Task = (
8533					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8534						::core::primitive::u32,
8535						::core::primitive::u64,
8536					>,
8537					::core::primitive::u32,
8538				);
8539				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
8540				pub type Period = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8541					::core::primitive::u32,
8542					::core::primitive::u64,
8543				>;
8544				pub type Retries = ::core::primitive::u8;
8545			}
8546			impl ::subxt::ext::subxt_core::events::StaticEvent for RetrySet {
8547				const PALLET: &'static str = "Scheduler";
8548				const EVENT: &'static str = "RetrySet";
8549			}
8550			#[derive(
8551				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8552				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8553				Debug,
8554			)]
8555			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8556			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8557			#[doc = "Cancel a retry configuration for some task."]
8558			pub struct RetryCancelled {
8559				pub task: retry_cancelled::Task,
8560				pub id: retry_cancelled::Id,
8561			}
8562			pub mod retry_cancelled {
8563				use super::runtime_types;
8564				pub type Task = (
8565					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8566						::core::primitive::u32,
8567						::core::primitive::u64,
8568					>,
8569					::core::primitive::u32,
8570				);
8571				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
8572			}
8573			impl ::subxt::ext::subxt_core::events::StaticEvent for RetryCancelled {
8574				const PALLET: &'static str = "Scheduler";
8575				const EVENT: &'static str = "RetryCancelled";
8576			}
8577			#[derive(
8578				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8579				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8580				Debug,
8581			)]
8582			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8583			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8584			#[doc = "The call for the provided hash was not found so the task has been aborted."]
8585			pub struct CallUnavailable {
8586				pub task: call_unavailable::Task,
8587				pub id: call_unavailable::Id,
8588			}
8589			pub mod call_unavailable {
8590				use super::runtime_types;
8591				pub type Task = (
8592					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8593						::core::primitive::u32,
8594						::core::primitive::u64,
8595					>,
8596					::core::primitive::u32,
8597				);
8598				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
8599			}
8600			impl ::subxt::ext::subxt_core::events::StaticEvent for CallUnavailable {
8601				const PALLET: &'static str = "Scheduler";
8602				const EVENT: &'static str = "CallUnavailable";
8603			}
8604			#[derive(
8605				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8606				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8607				Debug,
8608			)]
8609			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8610			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8611			#[doc = "The given task was unable to be renewed since the agenda is full at that block."]
8612			pub struct PeriodicFailed {
8613				pub task: periodic_failed::Task,
8614				pub id: periodic_failed::Id,
8615			}
8616			pub mod periodic_failed {
8617				use super::runtime_types;
8618				pub type Task = (
8619					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8620						::core::primitive::u32,
8621						::core::primitive::u64,
8622					>,
8623					::core::primitive::u32,
8624				);
8625				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
8626			}
8627			impl ::subxt::ext::subxt_core::events::StaticEvent for PeriodicFailed {
8628				const PALLET: &'static str = "Scheduler";
8629				const EVENT: &'static str = "PeriodicFailed";
8630			}
8631			#[derive(
8632				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8633				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8634				Debug,
8635			)]
8636			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8637			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8638			#[doc = "The given task was unable to be retried since the agenda is full at that block or there"]
8639			#[doc = "was not enough weight to reschedule it."]
8640			pub struct RetryFailed {
8641				pub task: retry_failed::Task,
8642				pub id: retry_failed::Id,
8643			}
8644			pub mod retry_failed {
8645				use super::runtime_types;
8646				pub type Task = (
8647					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8648						::core::primitive::u32,
8649						::core::primitive::u64,
8650					>,
8651					::core::primitive::u32,
8652				);
8653				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
8654			}
8655			impl ::subxt::ext::subxt_core::events::StaticEvent for RetryFailed {
8656				const PALLET: &'static str = "Scheduler";
8657				const EVENT: &'static str = "RetryFailed";
8658			}
8659			#[derive(
8660				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8661				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8662				Debug,
8663			)]
8664			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8665			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8666			#[doc = "The given task can never be executed since it is overweight."]
8667			pub struct PermanentlyOverweight {
8668				pub task: permanently_overweight::Task,
8669				pub id: permanently_overweight::Id,
8670			}
8671			pub mod permanently_overweight {
8672				use super::runtime_types;
8673				pub type Task = (
8674					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8675						::core::primitive::u32,
8676						::core::primitive::u64,
8677					>,
8678					::core::primitive::u32,
8679				);
8680				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
8681			}
8682			impl ::subxt::ext::subxt_core::events::StaticEvent for PermanentlyOverweight {
8683				const PALLET: &'static str = "Scheduler";
8684				const EVENT: &'static str = "PermanentlyOverweight";
8685			}
8686		}
8687		pub mod storage {
8688			use super::runtime_types;
8689			pub mod types {
8690				use super::runtime_types;
8691				pub mod incomplete_block_since {
8692					use super::runtime_types;
8693					pub type IncompleteBlockSince = ::core::primitive::u32;
8694				}
8695				pub mod incomplete_timestamp_since {
8696					use super::runtime_types;
8697					pub type IncompleteTimestampSince = ::core::primitive::u64;
8698				}
8699				pub mod last_processed_timestamp {
8700					use super::runtime_types;
8701					pub type LastProcessedTimestamp = ::core::primitive::u64;
8702				}
8703				pub mod agenda {
8704					use super::runtime_types;
8705					pub type Agenda = runtime_types::bounded_collections::bounded_vec::BoundedVec<
8706						::core::option::Option<
8707							runtime_types::pallet_scheduler::Scheduled<
8708								[::core::primitive::u8; 32usize],
8709								runtime_types::frame_support::traits::preimages::Bounded<
8710									runtime_types::quantus_runtime::RuntimeCall,
8711									runtime_types::poseidon_resonance::PoseidonHasher,
8712								>,
8713								::core::primitive::u32,
8714								runtime_types::quantus_runtime::OriginCaller,
8715								::subxt::ext::subxt_core::utils::AccountId32,
8716								::core::primitive::u64,
8717							>,
8718						>,
8719					>;
8720					pub type Param0 = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8721						::core::primitive::u32,
8722						::core::primitive::u64,
8723					>;
8724				}
8725				pub mod retries {
8726					use super::runtime_types;
8727					pub type Retries = runtime_types::pallet_scheduler::RetryConfig<
8728						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8729							::core::primitive::u32,
8730							::core::primitive::u64,
8731						>,
8732					>;
8733					pub type Param0 = (
8734						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8735							::core::primitive::u32,
8736							::core::primitive::u64,
8737						>,
8738						::core::primitive::u32,
8739					);
8740				}
8741				pub mod lookup {
8742					use super::runtime_types;
8743					pub type Lookup = (
8744						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8745							::core::primitive::u32,
8746							::core::primitive::u64,
8747						>,
8748						::core::primitive::u32,
8749					);
8750					pub type Param0 = [::core::primitive::u8; 32usize];
8751				}
8752			}
8753			pub struct StorageApi;
8754			impl StorageApi {
8755				#[doc = " Tracks incomplete block-based agendas that need to be processed in a later block."]
8756				pub fn incomplete_block_since(
8757					&self,
8758				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8759					(),
8760					types::incomplete_block_since::IncompleteBlockSince,
8761					::subxt::ext::subxt_core::utils::Yes,
8762					(),
8763					(),
8764				> {
8765					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8766						"Scheduler",
8767						"IncompleteBlockSince",
8768						(),
8769						[
8770							134u8, 34u8, 161u8, 236u8, 176u8, 35u8, 218u8, 109u8, 229u8, 93u8,
8771							29u8, 95u8, 81u8, 106u8, 98u8, 65u8, 132u8, 91u8, 237u8, 225u8, 75u8,
8772							125u8, 81u8, 218u8, 72u8, 215u8, 20u8, 66u8, 160u8, 196u8, 68u8, 34u8,
8773						],
8774					)
8775				}
8776				#[doc = " Tracks incomplete timestamp-based agendas that need to be processed in a later block."]
8777				pub fn incomplete_timestamp_since(
8778					&self,
8779				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8780					(),
8781					types::incomplete_timestamp_since::IncompleteTimestampSince,
8782					::subxt::ext::subxt_core::utils::Yes,
8783					(),
8784					(),
8785				> {
8786					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8787						"Scheduler",
8788						"IncompleteTimestampSince",
8789						(),
8790						[
8791							223u8, 125u8, 99u8, 28u8, 81u8, 135u8, 125u8, 26u8, 3u8, 20u8, 32u8,
8792							125u8, 141u8, 114u8, 100u8, 38u8, 219u8, 191u8, 30u8, 88u8, 82u8, 33u8,
8793							140u8, 223u8, 168u8, 84u8, 144u8, 85u8, 57u8, 241u8, 97u8, 141u8,
8794						],
8795					)
8796				}
8797				#[doc = " Tracks the last timestamp bucket that was fully processed."]
8798				#[doc = " Used to avoid reprocessing all buckets from 0 on every run."]
8799				pub fn last_processed_timestamp(
8800					&self,
8801				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8802					(),
8803					types::last_processed_timestamp::LastProcessedTimestamp,
8804					::subxt::ext::subxt_core::utils::Yes,
8805					(),
8806					(),
8807				> {
8808					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8809						"Scheduler",
8810						"LastProcessedTimestamp",
8811						(),
8812						[
8813							172u8, 193u8, 6u8, 47u8, 185u8, 134u8, 179u8, 132u8, 178u8, 0u8, 228u8,
8814							198u8, 232u8, 24u8, 85u8, 199u8, 102u8, 222u8, 246u8, 178u8, 8u8,
8815							221u8, 51u8, 188u8, 239u8, 218u8, 112u8, 245u8, 46u8, 146u8, 65u8,
8816							119u8,
8817						],
8818					)
8819				}
8820				#[doc = " Items to be executed, indexed by the block number that they should be executed on."]
8821				pub fn agenda_iter(
8822					&self,
8823				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8824					(),
8825					types::agenda::Agenda,
8826					(),
8827					::subxt::ext::subxt_core::utils::Yes,
8828					::subxt::ext::subxt_core::utils::Yes,
8829				> {
8830					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8831						"Scheduler",
8832						"Agenda",
8833						(),
8834						[
8835							188u8, 177u8, 84u8, 167u8, 206u8, 4u8, 136u8, 133u8, 67u8, 121u8,
8836							247u8, 186u8, 6u8, 46u8, 115u8, 104u8, 239u8, 41u8, 75u8, 143u8, 24u8,
8837							155u8, 212u8, 196u8, 166u8, 82u8, 63u8, 39u8, 104u8, 21u8, 19u8, 93u8,
8838						],
8839					)
8840				}
8841				#[doc = " Items to be executed, indexed by the block number that they should be executed on."]
8842				pub fn agenda(
8843					&self,
8844					_0: types::agenda::Param0,
8845				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8846					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
8847						types::agenda::Param0,
8848					>,
8849					types::agenda::Agenda,
8850					::subxt::ext::subxt_core::utils::Yes,
8851					::subxt::ext::subxt_core::utils::Yes,
8852					(),
8853				> {
8854					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8855						"Scheduler",
8856						"Agenda",
8857						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
8858						[
8859							188u8, 177u8, 84u8, 167u8, 206u8, 4u8, 136u8, 133u8, 67u8, 121u8,
8860							247u8, 186u8, 6u8, 46u8, 115u8, 104u8, 239u8, 41u8, 75u8, 143u8, 24u8,
8861							155u8, 212u8, 196u8, 166u8, 82u8, 63u8, 39u8, 104u8, 21u8, 19u8, 93u8,
8862						],
8863					)
8864				}
8865				#[doc = " Retry configurations for items to be executed, indexed by task address."]
8866				pub fn retries_iter(
8867					&self,
8868				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8869					(),
8870					types::retries::Retries,
8871					(),
8872					(),
8873					::subxt::ext::subxt_core::utils::Yes,
8874				> {
8875					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8876						"Scheduler",
8877						"Retries",
8878						(),
8879						[
8880							94u8, 54u8, 136u8, 189u8, 244u8, 118u8, 102u8, 67u8, 203u8, 238u8,
8881							109u8, 130u8, 229u8, 246u8, 244u8, 68u8, 59u8, 132u8, 12u8, 9u8, 219u8,
8882							176u8, 251u8, 1u8, 216u8, 200u8, 205u8, 176u8, 145u8, 201u8, 206u8,
8883							108u8,
8884						],
8885					)
8886				}
8887				#[doc = " Retry configurations for items to be executed, indexed by task address."]
8888				pub fn retries(
8889					&self,
8890					_0: types::retries::Param0,
8891				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8892					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
8893						types::retries::Param0,
8894					>,
8895					types::retries::Retries,
8896					::subxt::ext::subxt_core::utils::Yes,
8897					(),
8898					(),
8899				> {
8900					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8901						"Scheduler",
8902						"Retries",
8903						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
8904						[
8905							94u8, 54u8, 136u8, 189u8, 244u8, 118u8, 102u8, 67u8, 203u8, 238u8,
8906							109u8, 130u8, 229u8, 246u8, 244u8, 68u8, 59u8, 132u8, 12u8, 9u8, 219u8,
8907							176u8, 251u8, 1u8, 216u8, 200u8, 205u8, 176u8, 145u8, 201u8, 206u8,
8908							108u8,
8909						],
8910					)
8911				}
8912				#[doc = " Lookup from a name to the block number and index of the task."]
8913				#[doc = ""]
8914				#[doc = " For v3 -> v4 the previously unbounded identities are Blake2-256 hashed to form the v4"]
8915				#[doc = " identities."]
8916				pub fn lookup_iter(
8917					&self,
8918				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8919					(),
8920					types::lookup::Lookup,
8921					(),
8922					(),
8923					::subxt::ext::subxt_core::utils::Yes,
8924				> {
8925					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8926						"Scheduler",
8927						"Lookup",
8928						(),
8929						[
8930							133u8, 194u8, 6u8, 16u8, 27u8, 10u8, 159u8, 62u8, 113u8, 59u8, 58u8,
8931							225u8, 244u8, 206u8, 35u8, 113u8, 41u8, 40u8, 89u8, 71u8, 133u8, 117u8,
8932							33u8, 192u8, 106u8, 85u8, 83u8, 186u8, 36u8, 160u8, 144u8, 221u8,
8933						],
8934					)
8935				}
8936				#[doc = " Lookup from a name to the block number and index of the task."]
8937				#[doc = ""]
8938				#[doc = " For v3 -> v4 the previously unbounded identities are Blake2-256 hashed to form the v4"]
8939				#[doc = " identities."]
8940				pub fn lookup(
8941					&self,
8942					_0: types::lookup::Param0,
8943				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8944					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
8945						types::lookup::Param0,
8946					>,
8947					types::lookup::Lookup,
8948					::subxt::ext::subxt_core::utils::Yes,
8949					(),
8950					(),
8951				> {
8952					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8953						"Scheduler",
8954						"Lookup",
8955						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
8956						[
8957							133u8, 194u8, 6u8, 16u8, 27u8, 10u8, 159u8, 62u8, 113u8, 59u8, 58u8,
8958							225u8, 244u8, 206u8, 35u8, 113u8, 41u8, 40u8, 89u8, 71u8, 133u8, 117u8,
8959							33u8, 192u8, 106u8, 85u8, 83u8, 186u8, 36u8, 160u8, 144u8, 221u8,
8960						],
8961					)
8962				}
8963			}
8964		}
8965		pub mod constants {
8966			use super::runtime_types;
8967			pub struct ConstantsApi;
8968			impl ConstantsApi {
8969				#[doc = " The maximum weight that may be scheduled per block for any dispatchables."]
8970				pub fn maximum_weight(
8971					&self,
8972				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
8973					runtime_types::sp_weights::weight_v2::Weight,
8974				> {
8975					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
8976						"Scheduler",
8977						"MaximumWeight",
8978						[
8979							149u8, 252u8, 129u8, 80u8, 169u8, 36u8, 79u8, 127u8, 240u8, 156u8,
8980							56u8, 202u8, 219u8, 86u8, 5u8, 65u8, 245u8, 148u8, 138u8, 243u8, 210u8,
8981							128u8, 234u8, 216u8, 240u8, 219u8, 123u8, 235u8, 21u8, 158u8, 237u8,
8982							112u8,
8983						],
8984					)
8985				}
8986				#[doc = " The maximum number of scheduled calls in the queue for a single block."]
8987				#[doc = ""]
8988				#[doc = " NOTE:"]
8989				#[doc = " + Dependent pallets' benchmarks might require a higher limit for the setting. Set a"]
8990				#[doc = " higher limit under `runtime-benchmarks` feature."]
8991				pub fn max_scheduled_per_block(
8992					&self,
8993				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
8994					::core::primitive::u32,
8995				> {
8996					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
8997						"Scheduler",
8998						"MaxScheduledPerBlock",
8999						[
9000							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
9001							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
9002							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
9003							145u8,
9004						],
9005					)
9006				}
9007				#[doc = " Precision of the timestamp buckets."]
9008				#[doc = ""]
9009				#[doc = " Timestamp based dispatches are rounded to the nearest bucket of this precision."]
9010				pub fn timestamp_bucket_size(
9011					&self,
9012				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
9013					::core::primitive::u64,
9014				> {
9015					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
9016						"Scheduler",
9017						"TimestampBucketSize",
9018						[
9019							128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8,
9020							59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8,
9021							103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8,
9022							246u8,
9023						],
9024					)
9025				}
9026			}
9027		}
9028	}
9029	pub mod utility {
9030		use super::{root_mod, runtime_types};
9031		#[doc = "The `Error` enum of this pallet."]
9032		pub type Error = runtime_types::pallet_utility::pallet::Error;
9033		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
9034		pub type Call = runtime_types::pallet_utility::pallet::Call;
9035		pub mod calls {
9036			use super::{root_mod, runtime_types};
9037			type DispatchError = runtime_types::sp_runtime::DispatchError;
9038			pub mod types {
9039				use super::runtime_types;
9040				#[derive(
9041					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9042					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9043					Debug,
9044				)]
9045				#[decode_as_type(
9046					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9047				)]
9048				#[encode_as_type(
9049					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9050				)]
9051				#[doc = "Send a batch of dispatch calls."]
9052				#[doc = ""]
9053				#[doc = "May be called from any origin except `None`."]
9054				#[doc = ""]
9055				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
9056				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
9057				#[doc = ""]
9058				#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
9059				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
9060				#[doc = ""]
9061				#[doc = "## Complexity"]
9062				#[doc = "- O(C) where C is the number of calls to be batched."]
9063				#[doc = ""]
9064				#[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"]
9065				#[doc = "event is deposited. If a call failed and the batch was interrupted, then the"]
9066				#[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"]
9067				#[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"]
9068				#[doc = "event is deposited."]
9069				pub struct Batch {
9070					pub calls: batch::Calls,
9071				}
9072				pub mod batch {
9073					use super::runtime_types;
9074					pub type Calls = ::subxt::ext::subxt_core::alloc::vec::Vec<
9075						runtime_types::quantus_runtime::RuntimeCall,
9076					>;
9077				}
9078				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Batch {
9079					const PALLET: &'static str = "Utility";
9080					const CALL: &'static str = "batch";
9081				}
9082				#[derive(
9083					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9084					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9085					Debug,
9086				)]
9087				#[decode_as_type(
9088					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9089				)]
9090				#[encode_as_type(
9091					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9092				)]
9093				#[doc = "Send a call through an indexed pseudonym of the sender."]
9094				#[doc = ""]
9095				#[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"]
9096				#[doc = "use the same filter as the origin of this call."]
9097				#[doc = ""]
9098				#[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."]
9099				#[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"]
9100				#[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"]
9101				#[doc = "in the Multisig pallet instead."]
9102				#[doc = ""]
9103				#[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."]
9104				#[doc = ""]
9105				#[doc = "The dispatch origin for this call must be _Signed_."]
9106				pub struct AsDerivative {
9107					pub index: as_derivative::Index,
9108					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<as_derivative::Call>,
9109				}
9110				pub mod as_derivative {
9111					use super::runtime_types;
9112					pub type Index = ::core::primitive::u16;
9113					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
9114				}
9115				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for AsDerivative {
9116					const PALLET: &'static str = "Utility";
9117					const CALL: &'static str = "as_derivative";
9118				}
9119				#[derive(
9120					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9121					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9122					Debug,
9123				)]
9124				#[decode_as_type(
9125					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9126				)]
9127				#[encode_as_type(
9128					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9129				)]
9130				#[doc = "Send a batch of dispatch calls and atomically execute them."]
9131				#[doc = "The whole transaction will rollback and fail if any of the calls failed."]
9132				#[doc = ""]
9133				#[doc = "May be called from any origin except `None`."]
9134				#[doc = ""]
9135				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
9136				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
9137				#[doc = ""]
9138				#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
9139				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
9140				#[doc = ""]
9141				#[doc = "## Complexity"]
9142				#[doc = "- O(C) where C is the number of calls to be batched."]
9143				pub struct BatchAll {
9144					pub calls: batch_all::Calls,
9145				}
9146				pub mod batch_all {
9147					use super::runtime_types;
9148					pub type Calls = ::subxt::ext::subxt_core::alloc::vec::Vec<
9149						runtime_types::quantus_runtime::RuntimeCall,
9150					>;
9151				}
9152				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for BatchAll {
9153					const PALLET: &'static str = "Utility";
9154					const CALL: &'static str = "batch_all";
9155				}
9156				#[derive(
9157					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9158					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9159					Debug,
9160				)]
9161				#[decode_as_type(
9162					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9163				)]
9164				#[encode_as_type(
9165					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9166				)]
9167				#[doc = "Dispatches a function call with a provided origin."]
9168				#[doc = ""]
9169				#[doc = "The dispatch origin for this call must be _Root_."]
9170				#[doc = ""]
9171				#[doc = "## Complexity"]
9172				#[doc = "- O(1)."]
9173				pub struct DispatchAs {
9174					pub as_origin:
9175						::subxt::ext::subxt_core::alloc::boxed::Box<dispatch_as::AsOrigin>,
9176					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<dispatch_as::Call>,
9177				}
9178				pub mod dispatch_as {
9179					use super::runtime_types;
9180					pub type AsOrigin = runtime_types::quantus_runtime::OriginCaller;
9181					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
9182				}
9183				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for DispatchAs {
9184					const PALLET: &'static str = "Utility";
9185					const CALL: &'static str = "dispatch_as";
9186				}
9187				#[derive(
9188					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9189					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9190					Debug,
9191				)]
9192				#[decode_as_type(
9193					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9194				)]
9195				#[encode_as_type(
9196					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9197				)]
9198				#[doc = "Send a batch of dispatch calls."]
9199				#[doc = "Unlike `batch`, it allows errors and won't interrupt."]
9200				#[doc = ""]
9201				#[doc = "May be called from any origin except `None`."]
9202				#[doc = ""]
9203				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
9204				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
9205				#[doc = ""]
9206				#[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"]
9207				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
9208				#[doc = ""]
9209				#[doc = "## Complexity"]
9210				#[doc = "- O(C) where C is the number of calls to be batched."]
9211				pub struct ForceBatch {
9212					pub calls: force_batch::Calls,
9213				}
9214				pub mod force_batch {
9215					use super::runtime_types;
9216					pub type Calls = ::subxt::ext::subxt_core::alloc::vec::Vec<
9217						runtime_types::quantus_runtime::RuntimeCall,
9218					>;
9219				}
9220				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceBatch {
9221					const PALLET: &'static str = "Utility";
9222					const CALL: &'static str = "force_batch";
9223				}
9224				#[derive(
9225					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9226					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9227					Debug,
9228				)]
9229				#[decode_as_type(
9230					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9231				)]
9232				#[encode_as_type(
9233					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9234				)]
9235				#[doc = "Dispatch a function call with a specified weight."]
9236				#[doc = ""]
9237				#[doc = "This function does not check the weight of the call, and instead allows the"]
9238				#[doc = "Root origin to specify the weight of the call."]
9239				#[doc = ""]
9240				#[doc = "The dispatch origin for this call must be _Root_."]
9241				pub struct WithWeight {
9242					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<with_weight::Call>,
9243					pub weight: with_weight::Weight,
9244				}
9245				pub mod with_weight {
9246					use super::runtime_types;
9247					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
9248					pub type Weight = runtime_types::sp_weights::weight_v2::Weight;
9249				}
9250				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for WithWeight {
9251					const PALLET: &'static str = "Utility";
9252					const CALL: &'static str = "with_weight";
9253				}
9254				#[derive(
9255					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9256					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9257					Debug,
9258				)]
9259				#[decode_as_type(
9260					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9261				)]
9262				#[encode_as_type(
9263					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9264				)]
9265				#[doc = "Dispatch a fallback call in the event the main call fails to execute."]
9266				#[doc = "May be called from any origin except `None`."]
9267				#[doc = ""]
9268				#[doc = "This function first attempts to dispatch the `main` call."]
9269				#[doc = "If the `main` call fails, the `fallback` is attemted."]
9270				#[doc = "if the fallback is successfully dispatched, the weights of both calls"]
9271				#[doc = "are accumulated and an event containing the main call error is deposited."]
9272				#[doc = ""]
9273				#[doc = "In the event of a fallback failure the whole call fails"]
9274				#[doc = "with the weights returned."]
9275				#[doc = ""]
9276				#[doc = "- `main`: The main call to be dispatched. This is the primary action to execute."]
9277				#[doc = "- `fallback`: The fallback call to be dispatched in case the `main` call fails."]
9278				#[doc = ""]
9279				#[doc = "## Dispatch Logic"]
9280				#[doc = "- If the origin is `root`, both the main and fallback calls are executed without"]
9281				#[doc = "  applying any origin filters."]
9282				#[doc = "- If the origin is not `root`, the origin filter is applied to both the `main` and"]
9283				#[doc = "  `fallback` calls."]
9284				#[doc = ""]
9285				#[doc = "## Use Case"]
9286				#[doc = "- Some use cases might involve submitting a `batch` type call in either main, fallback"]
9287				#[doc = "  or both."]
9288				pub struct IfElse {
9289					pub main: ::subxt::ext::subxt_core::alloc::boxed::Box<if_else::Main>,
9290					pub fallback: ::subxt::ext::subxt_core::alloc::boxed::Box<if_else::Fallback>,
9291				}
9292				pub mod if_else {
9293					use super::runtime_types;
9294					pub type Main = runtime_types::quantus_runtime::RuntimeCall;
9295					pub type Fallback = runtime_types::quantus_runtime::RuntimeCall;
9296				}
9297				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for IfElse {
9298					const PALLET: &'static str = "Utility";
9299					const CALL: &'static str = "if_else";
9300				}
9301				#[derive(
9302					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9303					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9304					Debug,
9305				)]
9306				#[decode_as_type(
9307					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9308				)]
9309				#[encode_as_type(
9310					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9311				)]
9312				#[doc = "Dispatches a function call with a provided origin."]
9313				#[doc = ""]
9314				#[doc = "Almost the same as [`Pallet::dispatch_as`] but forwards any error of the inner call."]
9315				#[doc = ""]
9316				#[doc = "The dispatch origin for this call must be _Root_."]
9317				pub struct DispatchAsFallible {
9318					pub as_origin:
9319						::subxt::ext::subxt_core::alloc::boxed::Box<dispatch_as_fallible::AsOrigin>,
9320					pub call:
9321						::subxt::ext::subxt_core::alloc::boxed::Box<dispatch_as_fallible::Call>,
9322				}
9323				pub mod dispatch_as_fallible {
9324					use super::runtime_types;
9325					pub type AsOrigin = runtime_types::quantus_runtime::OriginCaller;
9326					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
9327				}
9328				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for DispatchAsFallible {
9329					const PALLET: &'static str = "Utility";
9330					const CALL: &'static str = "dispatch_as_fallible";
9331				}
9332			}
9333			pub struct TransactionApi;
9334			impl TransactionApi {
9335				#[doc = "Send a batch of dispatch calls."]
9336				#[doc = ""]
9337				#[doc = "May be called from any origin except `None`."]
9338				#[doc = ""]
9339				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
9340				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
9341				#[doc = ""]
9342				#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
9343				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
9344				#[doc = ""]
9345				#[doc = "## Complexity"]
9346				#[doc = "- O(C) where C is the number of calls to be batched."]
9347				#[doc = ""]
9348				#[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"]
9349				#[doc = "event is deposited. If a call failed and the batch was interrupted, then the"]
9350				#[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"]
9351				#[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"]
9352				#[doc = "event is deposited."]
9353				pub fn batch(
9354					&self,
9355					calls: types::batch::Calls,
9356				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Batch> {
9357					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9358						"Utility",
9359						"batch",
9360						types::Batch { calls },
9361						[
9362							199u8, 107u8, 4u8, 184u8, 37u8, 208u8, 138u8, 138u8, 72u8, 80u8, 69u8,
9363							33u8, 68u8, 104u8, 89u8, 106u8, 26u8, 212u8, 101u8, 77u8, 43u8, 64u8,
9364							105u8, 187u8, 65u8, 195u8, 179u8, 63u8, 150u8, 242u8, 147u8, 102u8,
9365						],
9366					)
9367				}
9368				#[doc = "Send a call through an indexed pseudonym of the sender."]
9369				#[doc = ""]
9370				#[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"]
9371				#[doc = "use the same filter as the origin of this call."]
9372				#[doc = ""]
9373				#[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."]
9374				#[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"]
9375				#[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"]
9376				#[doc = "in the Multisig pallet instead."]
9377				#[doc = ""]
9378				#[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."]
9379				#[doc = ""]
9380				#[doc = "The dispatch origin for this call must be _Signed_."]
9381				pub fn as_derivative(
9382					&self,
9383					index: types::as_derivative::Index,
9384					call: types::as_derivative::Call,
9385				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::AsDerivative> {
9386					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9387						"Utility",
9388						"as_derivative",
9389						types::AsDerivative {
9390							index,
9391							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
9392						},
9393						[
9394							255u8, 148u8, 192u8, 241u8, 50u8, 58u8, 115u8, 72u8, 226u8, 159u8,
9395							65u8, 246u8, 183u8, 252u8, 180u8, 175u8, 170u8, 83u8, 88u8, 44u8, 20u8,
9396							216u8, 212u8, 54u8, 231u8, 42u8, 140u8, 122u8, 120u8, 240u8, 177u8,
9397							89u8,
9398						],
9399					)
9400				}
9401				#[doc = "Send a batch of dispatch calls and atomically execute them."]
9402				#[doc = "The whole transaction will rollback and fail if any of the calls failed."]
9403				#[doc = ""]
9404				#[doc = "May be called from any origin except `None`."]
9405				#[doc = ""]
9406				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
9407				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
9408				#[doc = ""]
9409				#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
9410				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
9411				#[doc = ""]
9412				#[doc = "## Complexity"]
9413				#[doc = "- O(C) where C is the number of calls to be batched."]
9414				pub fn batch_all(
9415					&self,
9416					calls: types::batch_all::Calls,
9417				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::BatchAll> {
9418					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9419						"Utility",
9420						"batch_all",
9421						types::BatchAll { calls },
9422						[
9423							80u8, 2u8, 212u8, 226u8, 168u8, 219u8, 189u8, 151u8, 171u8, 238u8,
9424							36u8, 22u8, 214u8, 80u8, 60u8, 134u8, 110u8, 74u8, 127u8, 101u8, 195u8,
9425							100u8, 149u8, 41u8, 116u8, 208u8, 137u8, 173u8, 134u8, 127u8, 202u8,
9426							212u8,
9427						],
9428					)
9429				}
9430				#[doc = "Dispatches a function call with a provided origin."]
9431				#[doc = ""]
9432				#[doc = "The dispatch origin for this call must be _Root_."]
9433				#[doc = ""]
9434				#[doc = "## Complexity"]
9435				#[doc = "- O(1)."]
9436				pub fn dispatch_as(
9437					&self,
9438					as_origin: types::dispatch_as::AsOrigin,
9439					call: types::dispatch_as::Call,
9440				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::DispatchAs> {
9441					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9442						"Utility",
9443						"dispatch_as",
9444						types::DispatchAs {
9445							as_origin: ::subxt::ext::subxt_core::alloc::boxed::Box::new(as_origin),
9446							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
9447						},
9448						[
9449							64u8, 139u8, 112u8, 32u8, 214u8, 116u8, 71u8, 50u8, 4u8, 61u8, 185u8,
9450							230u8, 92u8, 127u8, 63u8, 124u8, 62u8, 42u8, 210u8, 137u8, 155u8,
9451							160u8, 7u8, 117u8, 83u8, 229u8, 49u8, 140u8, 243u8, 158u8, 143u8,
9452							125u8,
9453						],
9454					)
9455				}
9456				#[doc = "Send a batch of dispatch calls."]
9457				#[doc = "Unlike `batch`, it allows errors and won't interrupt."]
9458				#[doc = ""]
9459				#[doc = "May be called from any origin except `None`."]
9460				#[doc = ""]
9461				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
9462				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
9463				#[doc = ""]
9464				#[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"]
9465				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
9466				#[doc = ""]
9467				#[doc = "## Complexity"]
9468				#[doc = "- O(C) where C is the number of calls to be batched."]
9469				pub fn force_batch(
9470					&self,
9471					calls: types::force_batch::Calls,
9472				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceBatch> {
9473					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9474						"Utility",
9475						"force_batch",
9476						types::ForceBatch { calls },
9477						[
9478							178u8, 11u8, 46u8, 170u8, 80u8, 28u8, 31u8, 82u8, 113u8, 185u8, 152u8,
9479							72u8, 51u8, 133u8, 251u8, 231u8, 255u8, 24u8, 80u8, 31u8, 52u8, 151u8,
9480							157u8, 123u8, 132u8, 210u8, 143u8, 150u8, 244u8, 163u8, 169u8, 119u8,
9481						],
9482					)
9483				}
9484				#[doc = "Dispatch a function call with a specified weight."]
9485				#[doc = ""]
9486				#[doc = "This function does not check the weight of the call, and instead allows the"]
9487				#[doc = "Root origin to specify the weight of the call."]
9488				#[doc = ""]
9489				#[doc = "The dispatch origin for this call must be _Root_."]
9490				pub fn with_weight(
9491					&self,
9492					call: types::with_weight::Call,
9493					weight: types::with_weight::Weight,
9494				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::WithWeight> {
9495					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9496						"Utility",
9497						"with_weight",
9498						types::WithWeight {
9499							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
9500							weight,
9501						},
9502						[
9503							148u8, 144u8, 13u8, 219u8, 41u8, 23u8, 240u8, 185u8, 172u8, 80u8,
9504							120u8, 153u8, 253u8, 249u8, 208u8, 88u8, 150u8, 132u8, 94u8, 53u8,
9505							199u8, 177u8, 20u8, 117u8, 115u8, 225u8, 36u8, 149u8, 130u8, 161u8,
9506							213u8, 14u8,
9507						],
9508					)
9509				}
9510				#[doc = "Dispatch a fallback call in the event the main call fails to execute."]
9511				#[doc = "May be called from any origin except `None`."]
9512				#[doc = ""]
9513				#[doc = "This function first attempts to dispatch the `main` call."]
9514				#[doc = "If the `main` call fails, the `fallback` is attemted."]
9515				#[doc = "if the fallback is successfully dispatched, the weights of both calls"]
9516				#[doc = "are accumulated and an event containing the main call error is deposited."]
9517				#[doc = ""]
9518				#[doc = "In the event of a fallback failure the whole call fails"]
9519				#[doc = "with the weights returned."]
9520				#[doc = ""]
9521				#[doc = "- `main`: The main call to be dispatched. This is the primary action to execute."]
9522				#[doc = "- `fallback`: The fallback call to be dispatched in case the `main` call fails."]
9523				#[doc = ""]
9524				#[doc = "## Dispatch Logic"]
9525				#[doc = "- If the origin is `root`, both the main and fallback calls are executed without"]
9526				#[doc = "  applying any origin filters."]
9527				#[doc = "- If the origin is not `root`, the origin filter is applied to both the `main` and"]
9528				#[doc = "  `fallback` calls."]
9529				#[doc = ""]
9530				#[doc = "## Use Case"]
9531				#[doc = "- Some use cases might involve submitting a `batch` type call in either main, fallback"]
9532				#[doc = "  or both."]
9533				pub fn if_else(
9534					&self,
9535					main: types::if_else::Main,
9536					fallback: types::if_else::Fallback,
9537				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::IfElse> {
9538					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9539						"Utility",
9540						"if_else",
9541						types::IfElse {
9542							main: ::subxt::ext::subxt_core::alloc::boxed::Box::new(main),
9543							fallback: ::subxt::ext::subxt_core::alloc::boxed::Box::new(fallback),
9544						},
9545						[
9546							0u8, 27u8, 171u8, 182u8, 168u8, 222u8, 131u8, 139u8, 212u8, 81u8,
9547							244u8, 248u8, 235u8, 235u8, 183u8, 40u8, 200u8, 142u8, 120u8, 206u8,
9548							220u8, 48u8, 168u8, 132u8, 197u8, 162u8, 5u8, 216u8, 217u8, 8u8, 7u8,
9549							212u8,
9550						],
9551					)
9552				}
9553				#[doc = "Dispatches a function call with a provided origin."]
9554				#[doc = ""]
9555				#[doc = "Almost the same as [`Pallet::dispatch_as`] but forwards any error of the inner call."]
9556				#[doc = ""]
9557				#[doc = "The dispatch origin for this call must be _Root_."]
9558				pub fn dispatch_as_fallible(
9559					&self,
9560					as_origin: types::dispatch_as_fallible::AsOrigin,
9561					call: types::dispatch_as_fallible::Call,
9562				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::DispatchAsFallible>
9563				{
9564					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9565						"Utility",
9566						"dispatch_as_fallible",
9567						types::DispatchAsFallible {
9568							as_origin: ::subxt::ext::subxt_core::alloc::boxed::Box::new(as_origin),
9569							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
9570						},
9571						[
9572							161u8, 156u8, 154u8, 193u8, 234u8, 76u8, 172u8, 105u8, 176u8, 172u8,
9573							253u8, 121u8, 19u8, 99u8, 16u8, 232u8, 253u8, 12u8, 33u8, 11u8, 97u8,
9574							64u8, 49u8, 6u8, 4u8, 120u8, 4u8, 175u8, 39u8, 232u8, 129u8, 51u8,
9575						],
9576					)
9577				}
9578			}
9579		}
9580		#[doc = "The `Event` enum of this pallet"]
9581		pub type Event = runtime_types::pallet_utility::pallet::Event;
9582		pub mod events {
9583			use super::runtime_types;
9584			#[derive(
9585				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9586				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9587				Debug,
9588			)]
9589			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9590			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9591			#[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"]
9592			#[doc = "well as the error."]
9593			pub struct BatchInterrupted {
9594				pub index: batch_interrupted::Index,
9595				pub error: batch_interrupted::Error,
9596			}
9597			pub mod batch_interrupted {
9598				use super::runtime_types;
9599				pub type Index = ::core::primitive::u32;
9600				pub type Error = runtime_types::sp_runtime::DispatchError;
9601			}
9602			impl ::subxt::ext::subxt_core::events::StaticEvent for BatchInterrupted {
9603				const PALLET: &'static str = "Utility";
9604				const EVENT: &'static str = "BatchInterrupted";
9605			}
9606			#[derive(
9607				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9608				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9609				Debug,
9610			)]
9611			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9612			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9613			#[doc = "Batch of dispatches completed fully with no error."]
9614			pub struct BatchCompleted;
9615			impl ::subxt::ext::subxt_core::events::StaticEvent for BatchCompleted {
9616				const PALLET: &'static str = "Utility";
9617				const EVENT: &'static str = "BatchCompleted";
9618			}
9619			#[derive(
9620				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9621				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9622				Debug,
9623			)]
9624			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9625			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9626			#[doc = "Batch of dispatches completed but has errors."]
9627			pub struct BatchCompletedWithErrors;
9628			impl ::subxt::ext::subxt_core::events::StaticEvent for BatchCompletedWithErrors {
9629				const PALLET: &'static str = "Utility";
9630				const EVENT: &'static str = "BatchCompletedWithErrors";
9631			}
9632			#[derive(
9633				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9634				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9635				Debug,
9636			)]
9637			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9638			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9639			#[doc = "A single item within a Batch of dispatches has completed with no error."]
9640			pub struct ItemCompleted;
9641			impl ::subxt::ext::subxt_core::events::StaticEvent for ItemCompleted {
9642				const PALLET: &'static str = "Utility";
9643				const EVENT: &'static str = "ItemCompleted";
9644			}
9645			#[derive(
9646				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9647				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9648				Debug,
9649			)]
9650			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9651			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9652			#[doc = "A single item within a Batch of dispatches has completed with error."]
9653			pub struct ItemFailed {
9654				pub error: item_failed::Error,
9655			}
9656			pub mod item_failed {
9657				use super::runtime_types;
9658				pub type Error = runtime_types::sp_runtime::DispatchError;
9659			}
9660			impl ::subxt::ext::subxt_core::events::StaticEvent for ItemFailed {
9661				const PALLET: &'static str = "Utility";
9662				const EVENT: &'static str = "ItemFailed";
9663			}
9664			#[derive(
9665				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9666				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9667				Debug,
9668			)]
9669			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9670			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9671			#[doc = "A call was dispatched."]
9672			pub struct DispatchedAs {
9673				pub result: dispatched_as::Result,
9674			}
9675			pub mod dispatched_as {
9676				use super::runtime_types;
9677				pub type Result =
9678					::core::result::Result<(), runtime_types::sp_runtime::DispatchError>;
9679			}
9680			impl ::subxt::ext::subxt_core::events::StaticEvent for DispatchedAs {
9681				const PALLET: &'static str = "Utility";
9682				const EVENT: &'static str = "DispatchedAs";
9683			}
9684			#[derive(
9685				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9686				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9687				Debug,
9688			)]
9689			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9690			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9691			#[doc = "Main call was dispatched."]
9692			pub struct IfElseMainSuccess;
9693			impl ::subxt::ext::subxt_core::events::StaticEvent for IfElseMainSuccess {
9694				const PALLET: &'static str = "Utility";
9695				const EVENT: &'static str = "IfElseMainSuccess";
9696			}
9697			#[derive(
9698				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9699				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9700				Debug,
9701			)]
9702			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9703			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9704			#[doc = "The fallback call was dispatched."]
9705			pub struct IfElseFallbackCalled {
9706				pub main_error: if_else_fallback_called::MainError,
9707			}
9708			pub mod if_else_fallback_called {
9709				use super::runtime_types;
9710				pub type MainError = runtime_types::sp_runtime::DispatchError;
9711			}
9712			impl ::subxt::ext::subxt_core::events::StaticEvent for IfElseFallbackCalled {
9713				const PALLET: &'static str = "Utility";
9714				const EVENT: &'static str = "IfElseFallbackCalled";
9715			}
9716		}
9717		pub mod constants {
9718			use super::runtime_types;
9719			pub struct ConstantsApi;
9720			impl ConstantsApi {
9721				#[doc = " The limit on the number of batched calls."]
9722				pub fn batched_calls_limit(
9723					&self,
9724				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
9725					::core::primitive::u32,
9726				> {
9727					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
9728						"Utility",
9729						"batched_calls_limit",
9730						[
9731							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
9732							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
9733							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
9734							145u8,
9735						],
9736					)
9737				}
9738			}
9739		}
9740	}
9741	pub mod referenda {
9742		use super::{root_mod, runtime_types};
9743		#[doc = "The `Error` enum of this pallet."]
9744		pub type Error = runtime_types::pallet_referenda::pallet::Error;
9745		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
9746		pub type Call = runtime_types::pallet_referenda::pallet::Call;
9747		pub mod calls {
9748			use super::{root_mod, runtime_types};
9749			type DispatchError = runtime_types::sp_runtime::DispatchError;
9750			pub mod types {
9751				use super::runtime_types;
9752				#[derive(
9753					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9754					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9755					Debug,
9756				)]
9757				#[decode_as_type(
9758					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9759				)]
9760				#[encode_as_type(
9761					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9762				)]
9763				#[doc = "Propose a referendum on a privileged action."]
9764				#[doc = ""]
9765				#[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"]
9766				#[doc = "  available."]
9767				#[doc = "- `proposal_origin`: The origin from which the proposal should be executed."]
9768				#[doc = "- `proposal`: The proposal."]
9769				#[doc = "- `enactment_moment`: The moment that the proposal should be enacted."]
9770				#[doc = ""]
9771				#[doc = "Emits `Submitted`."]
9772				pub struct Submit {
9773					pub proposal_origin:
9774						::subxt::ext::subxt_core::alloc::boxed::Box<submit::ProposalOrigin>,
9775					pub proposal: submit::Proposal,
9776					pub enactment_moment: submit::EnactmentMoment,
9777				}
9778				pub mod submit {
9779					use super::runtime_types;
9780					pub type ProposalOrigin = runtime_types::quantus_runtime::OriginCaller;
9781					pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
9782						runtime_types::quantus_runtime::RuntimeCall,
9783						runtime_types::poseidon_resonance::PoseidonHasher,
9784					>;
9785					pub type EnactmentMoment =
9786						runtime_types::frame_support::traits::schedule::DispatchTime<
9787							::core::primitive::u32,
9788						>;
9789				}
9790				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Submit {
9791					const PALLET: &'static str = "Referenda";
9792					const CALL: &'static str = "submit";
9793				}
9794				#[derive(
9795					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9796					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9797					Debug,
9798				)]
9799				#[decode_as_type(
9800					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9801				)]
9802				#[encode_as_type(
9803					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9804				)]
9805				#[doc = "Post the Decision Deposit for a referendum."]
9806				#[doc = ""]
9807				#[doc = "- `origin`: must be `Signed` and the account must have funds available for the"]
9808				#[doc = "  referendum's track's Decision Deposit."]
9809				#[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"]
9810				#[doc = "  posted."]
9811				#[doc = ""]
9812				#[doc = "Emits `DecisionDepositPlaced`."]
9813				pub struct PlaceDecisionDeposit {
9814					pub index: place_decision_deposit::Index,
9815				}
9816				pub mod place_decision_deposit {
9817					use super::runtime_types;
9818					pub type Index = ::core::primitive::u32;
9819				}
9820				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for PlaceDecisionDeposit {
9821					const PALLET: &'static str = "Referenda";
9822					const CALL: &'static str = "place_decision_deposit";
9823				}
9824				#[derive(
9825					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9826					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9827					Debug,
9828				)]
9829				#[decode_as_type(
9830					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9831				)]
9832				#[encode_as_type(
9833					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9834				)]
9835				#[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."]
9836				#[doc = ""]
9837				#[doc = "- `origin`: must be `Signed` or `Root`."]
9838				#[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"]
9839				#[doc = "  refunded."]
9840				#[doc = ""]
9841				#[doc = "Emits `DecisionDepositRefunded`."]
9842				pub struct RefundDecisionDeposit {
9843					pub index: refund_decision_deposit::Index,
9844				}
9845				pub mod refund_decision_deposit {
9846					use super::runtime_types;
9847					pub type Index = ::core::primitive::u32;
9848				}
9849				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RefundDecisionDeposit {
9850					const PALLET: &'static str = "Referenda";
9851					const CALL: &'static str = "refund_decision_deposit";
9852				}
9853				#[derive(
9854					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9855					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9856					Debug,
9857				)]
9858				#[decode_as_type(
9859					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9860				)]
9861				#[encode_as_type(
9862					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9863				)]
9864				#[doc = "Cancel an ongoing referendum."]
9865				#[doc = ""]
9866				#[doc = "- `origin`: must be the `CancelOrigin`."]
9867				#[doc = "- `index`: The index of the referendum to be cancelled."]
9868				#[doc = ""]
9869				#[doc = "Emits `Cancelled`."]
9870				pub struct Cancel {
9871					pub index: cancel::Index,
9872				}
9873				pub mod cancel {
9874					use super::runtime_types;
9875					pub type Index = ::core::primitive::u32;
9876				}
9877				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Cancel {
9878					const PALLET: &'static str = "Referenda";
9879					const CALL: &'static str = "cancel";
9880				}
9881				#[derive(
9882					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9883					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9884					Debug,
9885				)]
9886				#[decode_as_type(
9887					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9888				)]
9889				#[encode_as_type(
9890					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9891				)]
9892				#[doc = "Cancel an ongoing referendum and slash the deposits."]
9893				#[doc = ""]
9894				#[doc = "- `origin`: must be the `KillOrigin`."]
9895				#[doc = "- `index`: The index of the referendum to be cancelled."]
9896				#[doc = ""]
9897				#[doc = "Emits `Killed` and `DepositSlashed`."]
9898				pub struct Kill {
9899					pub index: kill::Index,
9900				}
9901				pub mod kill {
9902					use super::runtime_types;
9903					pub type Index = ::core::primitive::u32;
9904				}
9905				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Kill {
9906					const PALLET: &'static str = "Referenda";
9907					const CALL: &'static str = "kill";
9908				}
9909				#[derive(
9910					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9911					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9912					Debug,
9913				)]
9914				#[decode_as_type(
9915					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9916				)]
9917				#[encode_as_type(
9918					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9919				)]
9920				#[doc = "Advance a referendum onto its next logical state. Only used internally."]
9921				#[doc = ""]
9922				#[doc = "- `origin`: must be `Root`."]
9923				#[doc = "- `index`: the referendum to be advanced."]
9924				pub struct NudgeReferendum {
9925					pub index: nudge_referendum::Index,
9926				}
9927				pub mod nudge_referendum {
9928					use super::runtime_types;
9929					pub type Index = ::core::primitive::u32;
9930				}
9931				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for NudgeReferendum {
9932					const PALLET: &'static str = "Referenda";
9933					const CALL: &'static str = "nudge_referendum";
9934				}
9935				#[derive(
9936					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9937					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9938					Debug,
9939				)]
9940				#[decode_as_type(
9941					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9942				)]
9943				#[encode_as_type(
9944					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9945				)]
9946				#[doc = "Advance a track onto its next logical state. Only used internally."]
9947				#[doc = ""]
9948				#[doc = "- `origin`: must be `Root`."]
9949				#[doc = "- `track`: the track to be advanced."]
9950				#[doc = ""]
9951				#[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"]
9952				#[doc = "`DecidingCount` is not yet updated. This means that we should either:"]
9953				#[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"]
9954				#[doc = "- decrement `DecidingCount`."]
9955				pub struct OneFewerDeciding {
9956					pub track: one_fewer_deciding::Track,
9957				}
9958				pub mod one_fewer_deciding {
9959					use super::runtime_types;
9960					pub type Track = ::core::primitive::u16;
9961				}
9962				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for OneFewerDeciding {
9963					const PALLET: &'static str = "Referenda";
9964					const CALL: &'static str = "one_fewer_deciding";
9965				}
9966				#[derive(
9967					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9968					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9969					Debug,
9970				)]
9971				#[decode_as_type(
9972					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9973				)]
9974				#[encode_as_type(
9975					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9976				)]
9977				#[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."]
9978				#[doc = ""]
9979				#[doc = "- `origin`: must be `Signed` or `Root`."]
9980				#[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"]
9981				#[doc = "  refunded."]
9982				#[doc = ""]
9983				#[doc = "Emits `SubmissionDepositRefunded`."]
9984				pub struct RefundSubmissionDeposit {
9985					pub index: refund_submission_deposit::Index,
9986				}
9987				pub mod refund_submission_deposit {
9988					use super::runtime_types;
9989					pub type Index = ::core::primitive::u32;
9990				}
9991				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RefundSubmissionDeposit {
9992					const PALLET: &'static str = "Referenda";
9993					const CALL: &'static str = "refund_submission_deposit";
9994				}
9995				#[derive(
9996					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9997					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9998					Debug,
9999				)]
10000				#[decode_as_type(
10001					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
10002				)]
10003				#[encode_as_type(
10004					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
10005				)]
10006				#[doc = "Set or clear metadata of a referendum."]
10007				#[doc = ""]
10008				#[doc = "Parameters:"]
10009				#[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"]
10010				#[doc = "  metadata of a finished referendum."]
10011				#[doc = "- `index`:  The index of a referendum to set or clear metadata for."]
10012				#[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."]
10013				pub struct SetMetadata {
10014					pub index: set_metadata::Index,
10015					pub maybe_hash: set_metadata::MaybeHash,
10016				}
10017				pub mod set_metadata {
10018					use super::runtime_types;
10019					pub type Index = ::core::primitive::u32;
10020					pub type MaybeHash =
10021						::core::option::Option<::subxt::ext::subxt_core::utils::H256>;
10022				}
10023				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetMetadata {
10024					const PALLET: &'static str = "Referenda";
10025					const CALL: &'static str = "set_metadata";
10026				}
10027			}
10028			pub struct TransactionApi;
10029			impl TransactionApi {
10030				#[doc = "Propose a referendum on a privileged action."]
10031				#[doc = ""]
10032				#[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"]
10033				#[doc = "  available."]
10034				#[doc = "- `proposal_origin`: The origin from which the proposal should be executed."]
10035				#[doc = "- `proposal`: The proposal."]
10036				#[doc = "- `enactment_moment`: The moment that the proposal should be enacted."]
10037				#[doc = ""]
10038				#[doc = "Emits `Submitted`."]
10039				pub fn submit(
10040					&self,
10041					proposal_origin: types::submit::ProposalOrigin,
10042					proposal: types::submit::Proposal,
10043					enactment_moment: types::submit::EnactmentMoment,
10044				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Submit> {
10045					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10046						"Referenda",
10047						"submit",
10048						types::Submit {
10049							proposal_origin: ::subxt::ext::subxt_core::alloc::boxed::Box::new(
10050								proposal_origin,
10051							),
10052							proposal,
10053							enactment_moment,
10054						},
10055						[
10056							30u8, 232u8, 132u8, 0u8, 199u8, 166u8, 49u8, 94u8, 238u8, 61u8, 236u8,
10057							207u8, 2u8, 136u8, 37u8, 81u8, 67u8, 133u8, 2u8, 147u8, 177u8, 176u8,
10058							178u8, 113u8, 155u8, 180u8, 104u8, 176u8, 215u8, 255u8, 240u8, 100u8,
10059						],
10060					)
10061				}
10062				#[doc = "Post the Decision Deposit for a referendum."]
10063				#[doc = ""]
10064				#[doc = "- `origin`: must be `Signed` and the account must have funds available for the"]
10065				#[doc = "  referendum's track's Decision Deposit."]
10066				#[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"]
10067				#[doc = "  posted."]
10068				#[doc = ""]
10069				#[doc = "Emits `DecisionDepositPlaced`."]
10070				pub fn place_decision_deposit(
10071					&self,
10072					index: types::place_decision_deposit::Index,
10073				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::PlaceDecisionDeposit>
10074				{
10075					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10076						"Referenda",
10077						"place_decision_deposit",
10078						types::PlaceDecisionDeposit { index },
10079						[
10080							247u8, 158u8, 55u8, 191u8, 188u8, 200u8, 3u8, 47u8, 20u8, 175u8, 86u8,
10081							203u8, 52u8, 253u8, 91u8, 131u8, 21u8, 213u8, 56u8, 68u8, 40u8, 84u8,
10082							184u8, 30u8, 9u8, 193u8, 63u8, 182u8, 178u8, 241u8, 247u8, 220u8,
10083						],
10084					)
10085				}
10086				#[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."]
10087				#[doc = ""]
10088				#[doc = "- `origin`: must be `Signed` or `Root`."]
10089				#[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"]
10090				#[doc = "  refunded."]
10091				#[doc = ""]
10092				#[doc = "Emits `DecisionDepositRefunded`."]
10093				pub fn refund_decision_deposit(
10094					&self,
10095					index: types::refund_decision_deposit::Index,
10096				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
10097					types::RefundDecisionDeposit,
10098				> {
10099					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10100						"Referenda",
10101						"refund_decision_deposit",
10102						types::RefundDecisionDeposit { index },
10103						[
10104							159u8, 19u8, 35u8, 216u8, 114u8, 105u8, 18u8, 42u8, 148u8, 151u8,
10105							136u8, 92u8, 117u8, 30u8, 29u8, 41u8, 238u8, 58u8, 195u8, 91u8, 115u8,
10106							135u8, 96u8, 99u8, 154u8, 233u8, 8u8, 249u8, 145u8, 165u8, 77u8, 164u8,
10107						],
10108					)
10109				}
10110				#[doc = "Cancel an ongoing referendum."]
10111				#[doc = ""]
10112				#[doc = "- `origin`: must be the `CancelOrigin`."]
10113				#[doc = "- `index`: The index of the referendum to be cancelled."]
10114				#[doc = ""]
10115				#[doc = "Emits `Cancelled`."]
10116				pub fn cancel(
10117					&self,
10118					index: types::cancel::Index,
10119				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Cancel> {
10120					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10121						"Referenda",
10122						"cancel",
10123						types::Cancel { index },
10124						[
10125							55u8, 206u8, 119u8, 156u8, 238u8, 165u8, 193u8, 73u8, 242u8, 13u8,
10126							212u8, 75u8, 136u8, 156u8, 151u8, 14u8, 35u8, 41u8, 156u8, 107u8, 60u8,
10127							190u8, 39u8, 216u8, 8u8, 74u8, 213u8, 130u8, 160u8, 131u8, 237u8,
10128							122u8,
10129						],
10130					)
10131				}
10132				#[doc = "Cancel an ongoing referendum and slash the deposits."]
10133				#[doc = ""]
10134				#[doc = "- `origin`: must be the `KillOrigin`."]
10135				#[doc = "- `index`: The index of the referendum to be cancelled."]
10136				#[doc = ""]
10137				#[doc = "Emits `Killed` and `DepositSlashed`."]
10138				pub fn kill(
10139					&self,
10140					index: types::kill::Index,
10141				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Kill> {
10142					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10143						"Referenda",
10144						"kill",
10145						types::Kill { index },
10146						[
10147							50u8, 89u8, 57u8, 0u8, 87u8, 129u8, 113u8, 140u8, 179u8, 178u8, 126u8,
10148							198u8, 92u8, 92u8, 189u8, 64u8, 123u8, 232u8, 57u8, 227u8, 223u8,
10149							219u8, 73u8, 217u8, 179u8, 44u8, 210u8, 125u8, 180u8, 10u8, 143u8,
10150							48u8,
10151						],
10152					)
10153				}
10154				#[doc = "Advance a referendum onto its next logical state. Only used internally."]
10155				#[doc = ""]
10156				#[doc = "- `origin`: must be `Root`."]
10157				#[doc = "- `index`: the referendum to be advanced."]
10158				pub fn nudge_referendum(
10159					&self,
10160					index: types::nudge_referendum::Index,
10161				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::NudgeReferendum>
10162				{
10163					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10164						"Referenda",
10165						"nudge_referendum",
10166						types::NudgeReferendum { index },
10167						[
10168							75u8, 99u8, 172u8, 30u8, 170u8, 150u8, 211u8, 229u8, 249u8, 128u8,
10169							194u8, 246u8, 100u8, 142u8, 193u8, 184u8, 232u8, 81u8, 29u8, 17u8,
10170							99u8, 91u8, 236u8, 85u8, 230u8, 226u8, 57u8, 115u8, 45u8, 170u8, 54u8,
10171							213u8,
10172						],
10173					)
10174				}
10175				#[doc = "Advance a track onto its next logical state. Only used internally."]
10176				#[doc = ""]
10177				#[doc = "- `origin`: must be `Root`."]
10178				#[doc = "- `track`: the track to be advanced."]
10179				#[doc = ""]
10180				#[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"]
10181				#[doc = "`DecidingCount` is not yet updated. This means that we should either:"]
10182				#[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"]
10183				#[doc = "- decrement `DecidingCount`."]
10184				pub fn one_fewer_deciding(
10185					&self,
10186					track: types::one_fewer_deciding::Track,
10187				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::OneFewerDeciding>
10188				{
10189					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10190						"Referenda",
10191						"one_fewer_deciding",
10192						types::OneFewerDeciding { track },
10193						[
10194							15u8, 84u8, 79u8, 231u8, 21u8, 239u8, 244u8, 143u8, 183u8, 215u8,
10195							181u8, 25u8, 225u8, 195u8, 95u8, 171u8, 17u8, 156u8, 182u8, 128u8,
10196							111u8, 40u8, 151u8, 102u8, 196u8, 55u8, 36u8, 212u8, 89u8, 190u8,
10197							131u8, 167u8,
10198						],
10199					)
10200				}
10201				#[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."]
10202				#[doc = ""]
10203				#[doc = "- `origin`: must be `Signed` or `Root`."]
10204				#[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"]
10205				#[doc = "  refunded."]
10206				#[doc = ""]
10207				#[doc = "Emits `SubmissionDepositRefunded`."]
10208				pub fn refund_submission_deposit(
10209					&self,
10210					index: types::refund_submission_deposit::Index,
10211				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
10212					types::RefundSubmissionDeposit,
10213				> {
10214					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10215						"Referenda",
10216						"refund_submission_deposit",
10217						types::RefundSubmissionDeposit { index },
10218						[
10219							20u8, 217u8, 115u8, 6u8, 1u8, 60u8, 54u8, 136u8, 35u8, 41u8, 38u8,
10220							23u8, 85u8, 100u8, 141u8, 126u8, 30u8, 160u8, 61u8, 46u8, 134u8, 98u8,
10221							82u8, 38u8, 211u8, 124u8, 208u8, 222u8, 210u8, 10u8, 155u8, 122u8,
10222						],
10223					)
10224				}
10225				#[doc = "Set or clear metadata of a referendum."]
10226				#[doc = ""]
10227				#[doc = "Parameters:"]
10228				#[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"]
10229				#[doc = "  metadata of a finished referendum."]
10230				#[doc = "- `index`:  The index of a referendum to set or clear metadata for."]
10231				#[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."]
10232				pub fn set_metadata(
10233					&self,
10234					index: types::set_metadata::Index,
10235					maybe_hash: types::set_metadata::MaybeHash,
10236				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetMetadata> {
10237					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10238						"Referenda",
10239						"set_metadata",
10240						types::SetMetadata { index, maybe_hash },
10241						[
10242							207u8, 29u8, 146u8, 233u8, 219u8, 205u8, 88u8, 118u8, 106u8, 61u8,
10243							124u8, 101u8, 2u8, 41u8, 169u8, 70u8, 114u8, 189u8, 162u8, 118u8, 1u8,
10244							108u8, 234u8, 98u8, 245u8, 245u8, 183u8, 126u8, 89u8, 13u8, 112u8,
10245							88u8,
10246						],
10247					)
10248				}
10249			}
10250		}
10251		#[doc = "The `Event` enum of this pallet"]
10252		pub type Event = runtime_types::pallet_referenda::pallet::Event1;
10253		pub mod events {
10254			use super::runtime_types;
10255			#[derive(
10256				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10257				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10258				Debug,
10259			)]
10260			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10261			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10262			#[doc = "A referendum has been submitted."]
10263			pub struct Submitted {
10264				pub index: submitted::Index,
10265				pub track: submitted::Track,
10266				pub proposal: submitted::Proposal,
10267			}
10268			pub mod submitted {
10269				use super::runtime_types;
10270				pub type Index = ::core::primitive::u32;
10271				pub type Track = ::core::primitive::u16;
10272				pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
10273					runtime_types::quantus_runtime::RuntimeCall,
10274					runtime_types::poseidon_resonance::PoseidonHasher,
10275				>;
10276			}
10277			impl ::subxt::ext::subxt_core::events::StaticEvent for Submitted {
10278				const PALLET: &'static str = "Referenda";
10279				const EVENT: &'static str = "Submitted";
10280			}
10281			#[derive(
10282				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10283				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10284				Debug,
10285			)]
10286			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10287			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10288			#[doc = "The decision deposit has been placed."]
10289			pub struct DecisionDepositPlaced {
10290				pub index: decision_deposit_placed::Index,
10291				pub who: decision_deposit_placed::Who,
10292				pub amount: decision_deposit_placed::Amount,
10293			}
10294			pub mod decision_deposit_placed {
10295				use super::runtime_types;
10296				pub type Index = ::core::primitive::u32;
10297				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
10298				pub type Amount = ::core::primitive::u128;
10299			}
10300			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionDepositPlaced {
10301				const PALLET: &'static str = "Referenda";
10302				const EVENT: &'static str = "DecisionDepositPlaced";
10303			}
10304			#[derive(
10305				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10306				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10307				Debug,
10308			)]
10309			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10310			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10311			#[doc = "The decision deposit has been refunded."]
10312			pub struct DecisionDepositRefunded {
10313				pub index: decision_deposit_refunded::Index,
10314				pub who: decision_deposit_refunded::Who,
10315				pub amount: decision_deposit_refunded::Amount,
10316			}
10317			pub mod decision_deposit_refunded {
10318				use super::runtime_types;
10319				pub type Index = ::core::primitive::u32;
10320				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
10321				pub type Amount = ::core::primitive::u128;
10322			}
10323			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionDepositRefunded {
10324				const PALLET: &'static str = "Referenda";
10325				const EVENT: &'static str = "DecisionDepositRefunded";
10326			}
10327			#[derive(
10328				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10329				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10330				Debug,
10331			)]
10332			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10333			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10334			#[doc = "A deposit has been slashed."]
10335			pub struct DepositSlashed {
10336				pub who: deposit_slashed::Who,
10337				pub amount: deposit_slashed::Amount,
10338			}
10339			pub mod deposit_slashed {
10340				use super::runtime_types;
10341				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
10342				pub type Amount = ::core::primitive::u128;
10343			}
10344			impl ::subxt::ext::subxt_core::events::StaticEvent for DepositSlashed {
10345				const PALLET: &'static str = "Referenda";
10346				const EVENT: &'static str = "DepositSlashed";
10347			}
10348			#[derive(
10349				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10350				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10351				Debug,
10352			)]
10353			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10354			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10355			#[doc = "A referendum has moved into the deciding phase."]
10356			pub struct DecisionStarted {
10357				pub index: decision_started::Index,
10358				pub track: decision_started::Track,
10359				pub proposal: decision_started::Proposal,
10360				pub tally: decision_started::Tally,
10361			}
10362			pub mod decision_started {
10363				use super::runtime_types;
10364				pub type Index = ::core::primitive::u32;
10365				pub type Track = ::core::primitive::u16;
10366				pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
10367					runtime_types::quantus_runtime::RuntimeCall,
10368					runtime_types::poseidon_resonance::PoseidonHasher,
10369				>;
10370				pub type Tally =
10371					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
10372			}
10373			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionStarted {
10374				const PALLET: &'static str = "Referenda";
10375				const EVENT: &'static str = "DecisionStarted";
10376			}
10377			#[derive(
10378				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10379				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10380				Debug,
10381			)]
10382			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10383			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10384			pub struct ConfirmStarted {
10385				pub index: confirm_started::Index,
10386			}
10387			pub mod confirm_started {
10388				use super::runtime_types;
10389				pub type Index = ::core::primitive::u32;
10390			}
10391			impl ::subxt::ext::subxt_core::events::StaticEvent for ConfirmStarted {
10392				const PALLET: &'static str = "Referenda";
10393				const EVENT: &'static str = "ConfirmStarted";
10394			}
10395			#[derive(
10396				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10397				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10398				Debug,
10399			)]
10400			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10401			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10402			pub struct ConfirmAborted {
10403				pub index: confirm_aborted::Index,
10404			}
10405			pub mod confirm_aborted {
10406				use super::runtime_types;
10407				pub type Index = ::core::primitive::u32;
10408			}
10409			impl ::subxt::ext::subxt_core::events::StaticEvent for ConfirmAborted {
10410				const PALLET: &'static str = "Referenda";
10411				const EVENT: &'static str = "ConfirmAborted";
10412			}
10413			#[derive(
10414				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10415				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10416				Debug,
10417			)]
10418			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10419			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10420			#[doc = "A referendum has ended its confirmation phase and is ready for approval."]
10421			pub struct Confirmed {
10422				pub index: confirmed::Index,
10423				pub tally: confirmed::Tally,
10424			}
10425			pub mod confirmed {
10426				use super::runtime_types;
10427				pub type Index = ::core::primitive::u32;
10428				pub type Tally =
10429					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
10430			}
10431			impl ::subxt::ext::subxt_core::events::StaticEvent for Confirmed {
10432				const PALLET: &'static str = "Referenda";
10433				const EVENT: &'static str = "Confirmed";
10434			}
10435			#[derive(
10436				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10437				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10438				Debug,
10439			)]
10440			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10441			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10442			#[doc = "A referendum has been approved and its proposal has been scheduled."]
10443			pub struct Approved {
10444				pub index: approved::Index,
10445			}
10446			pub mod approved {
10447				use super::runtime_types;
10448				pub type Index = ::core::primitive::u32;
10449			}
10450			impl ::subxt::ext::subxt_core::events::StaticEvent for Approved {
10451				const PALLET: &'static str = "Referenda";
10452				const EVENT: &'static str = "Approved";
10453			}
10454			#[derive(
10455				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10456				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10457				Debug,
10458			)]
10459			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10460			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10461			#[doc = "A proposal has been rejected by referendum."]
10462			pub struct Rejected {
10463				pub index: rejected::Index,
10464				pub tally: rejected::Tally,
10465			}
10466			pub mod rejected {
10467				use super::runtime_types;
10468				pub type Index = ::core::primitive::u32;
10469				pub type Tally =
10470					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
10471			}
10472			impl ::subxt::ext::subxt_core::events::StaticEvent for Rejected {
10473				const PALLET: &'static str = "Referenda";
10474				const EVENT: &'static str = "Rejected";
10475			}
10476			#[derive(
10477				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10478				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10479				Debug,
10480			)]
10481			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10482			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10483			#[doc = "A referendum has been timed out without being decided."]
10484			pub struct TimedOut {
10485				pub index: timed_out::Index,
10486				pub tally: timed_out::Tally,
10487			}
10488			pub mod timed_out {
10489				use super::runtime_types;
10490				pub type Index = ::core::primitive::u32;
10491				pub type Tally =
10492					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
10493			}
10494			impl ::subxt::ext::subxt_core::events::StaticEvent for TimedOut {
10495				const PALLET: &'static str = "Referenda";
10496				const EVENT: &'static str = "TimedOut";
10497			}
10498			#[derive(
10499				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10500				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10501				Debug,
10502			)]
10503			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10504			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10505			#[doc = "A referendum has been cancelled."]
10506			pub struct Cancelled {
10507				pub index: cancelled::Index,
10508				pub tally: cancelled::Tally,
10509			}
10510			pub mod cancelled {
10511				use super::runtime_types;
10512				pub type Index = ::core::primitive::u32;
10513				pub type Tally =
10514					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
10515			}
10516			impl ::subxt::ext::subxt_core::events::StaticEvent for Cancelled {
10517				const PALLET: &'static str = "Referenda";
10518				const EVENT: &'static str = "Cancelled";
10519			}
10520			#[derive(
10521				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10522				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10523				Debug,
10524			)]
10525			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10526			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10527			#[doc = "A referendum has been killed."]
10528			pub struct Killed {
10529				pub index: killed::Index,
10530				pub tally: killed::Tally,
10531			}
10532			pub mod killed {
10533				use super::runtime_types;
10534				pub type Index = ::core::primitive::u32;
10535				pub type Tally =
10536					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
10537			}
10538			impl ::subxt::ext::subxt_core::events::StaticEvent for Killed {
10539				const PALLET: &'static str = "Referenda";
10540				const EVENT: &'static str = "Killed";
10541			}
10542			#[derive(
10543				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10544				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10545				Debug,
10546			)]
10547			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10548			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10549			#[doc = "The submission deposit has been refunded."]
10550			pub struct SubmissionDepositRefunded {
10551				pub index: submission_deposit_refunded::Index,
10552				pub who: submission_deposit_refunded::Who,
10553				pub amount: submission_deposit_refunded::Amount,
10554			}
10555			pub mod submission_deposit_refunded {
10556				use super::runtime_types;
10557				pub type Index = ::core::primitive::u32;
10558				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
10559				pub type Amount = ::core::primitive::u128;
10560			}
10561			impl ::subxt::ext::subxt_core::events::StaticEvent for SubmissionDepositRefunded {
10562				const PALLET: &'static str = "Referenda";
10563				const EVENT: &'static str = "SubmissionDepositRefunded";
10564			}
10565			#[derive(
10566				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10567				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10568				Debug,
10569			)]
10570			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10571			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10572			#[doc = "Metadata for a referendum has been set."]
10573			pub struct MetadataSet {
10574				pub index: metadata_set::Index,
10575				pub hash: metadata_set::Hash,
10576			}
10577			pub mod metadata_set {
10578				use super::runtime_types;
10579				pub type Index = ::core::primitive::u32;
10580				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
10581			}
10582			impl ::subxt::ext::subxt_core::events::StaticEvent for MetadataSet {
10583				const PALLET: &'static str = "Referenda";
10584				const EVENT: &'static str = "MetadataSet";
10585			}
10586			#[derive(
10587				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10588				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10589				Debug,
10590			)]
10591			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10592			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10593			#[doc = "Metadata for a referendum has been cleared."]
10594			pub struct MetadataCleared {
10595				pub index: metadata_cleared::Index,
10596				pub hash: metadata_cleared::Hash,
10597			}
10598			pub mod metadata_cleared {
10599				use super::runtime_types;
10600				pub type Index = ::core::primitive::u32;
10601				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
10602			}
10603			impl ::subxt::ext::subxt_core::events::StaticEvent for MetadataCleared {
10604				const PALLET: &'static str = "Referenda";
10605				const EVENT: &'static str = "MetadataCleared";
10606			}
10607		}
10608		pub mod storage {
10609			use super::runtime_types;
10610			pub mod types {
10611				use super::runtime_types;
10612				pub mod referendum_count {
10613					use super::runtime_types;
10614					pub type ReferendumCount = ::core::primitive::u32;
10615				}
10616				pub mod referendum_info_for {
10617					use super::runtime_types;
10618					pub type ReferendumInfoFor =
10619						runtime_types::pallet_referenda::types::ReferendumInfo<
10620							::core::primitive::u16,
10621							runtime_types::quantus_runtime::OriginCaller,
10622							::core::primitive::u32,
10623							runtime_types::frame_support::traits::preimages::Bounded<
10624								runtime_types::quantus_runtime::RuntimeCall,
10625								runtime_types::poseidon_resonance::PoseidonHasher,
10626							>,
10627							::core::primitive::u128,
10628							runtime_types::pallet_conviction_voting::types::Tally<
10629								::core::primitive::u128,
10630							>,
10631							::subxt::ext::subxt_core::utils::AccountId32,
10632							(
10633								runtime_types::qp_scheduler::BlockNumberOrTimestamp<
10634									::core::primitive::u32,
10635									::core::primitive::u64,
10636								>,
10637								::core::primitive::u32,
10638							),
10639						>;
10640					pub type Param0 = ::core::primitive::u32;
10641				}
10642				pub mod track_queue {
10643					use super::runtime_types;
10644					pub type TrackQueue =
10645						runtime_types::bounded_collections::bounded_vec::BoundedVec<(
10646							::core::primitive::u32,
10647							::core::primitive::u128,
10648						)>;
10649					pub type Param0 = ::core::primitive::u16;
10650				}
10651				pub mod deciding_count {
10652					use super::runtime_types;
10653					pub type DecidingCount = ::core::primitive::u32;
10654					pub type Param0 = ::core::primitive::u16;
10655				}
10656				pub mod metadata_of {
10657					use super::runtime_types;
10658					pub type MetadataOf = ::subxt::ext::subxt_core::utils::H256;
10659					pub type Param0 = ::core::primitive::u32;
10660				}
10661			}
10662			pub struct StorageApi;
10663			impl StorageApi {
10664				#[doc = " The next free referendum index, aka the number of referenda started so far."]
10665				pub fn referendum_count(
10666					&self,
10667				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10668					(),
10669					types::referendum_count::ReferendumCount,
10670					::subxt::ext::subxt_core::utils::Yes,
10671					::subxt::ext::subxt_core::utils::Yes,
10672					(),
10673				> {
10674					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10675						"Referenda",
10676						"ReferendumCount",
10677						(),
10678						[
10679							64u8, 145u8, 232u8, 153u8, 121u8, 87u8, 128u8, 253u8, 170u8, 192u8,
10680							139u8, 18u8, 0u8, 33u8, 243u8, 11u8, 238u8, 222u8, 244u8, 5u8, 247u8,
10681							198u8, 149u8, 31u8, 122u8, 208u8, 86u8, 179u8, 166u8, 167u8, 93u8,
10682							67u8,
10683						],
10684					)
10685				}
10686				#[doc = " Information concerning any given referendum."]
10687				pub fn referendum_info_for_iter(
10688					&self,
10689				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10690					(),
10691					types::referendum_info_for::ReferendumInfoFor,
10692					(),
10693					(),
10694					::subxt::ext::subxt_core::utils::Yes,
10695				> {
10696					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10697						"Referenda",
10698						"ReferendumInfoFor",
10699						(),
10700						[
10701							141u8, 184u8, 126u8, 61u8, 215u8, 190u8, 148u8, 93u8, 186u8, 72u8,
10702							110u8, 37u8, 82u8, 237u8, 65u8, 197u8, 69u8, 83u8, 173u8, 114u8, 117u8,
10703							72u8, 146u8, 28u8, 235u8, 60u8, 188u8, 247u8, 80u8, 240u8, 16u8, 194u8,
10704						],
10705					)
10706				}
10707				#[doc = " Information concerning any given referendum."]
10708				pub fn referendum_info_for(
10709					&self,
10710					_0: types::referendum_info_for::Param0,
10711				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10712					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
10713						types::referendum_info_for::Param0,
10714					>,
10715					types::referendum_info_for::ReferendumInfoFor,
10716					::subxt::ext::subxt_core::utils::Yes,
10717					(),
10718					(),
10719				> {
10720					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10721						"Referenda",
10722						"ReferendumInfoFor",
10723						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
10724						[
10725							141u8, 184u8, 126u8, 61u8, 215u8, 190u8, 148u8, 93u8, 186u8, 72u8,
10726							110u8, 37u8, 82u8, 237u8, 65u8, 197u8, 69u8, 83u8, 173u8, 114u8, 117u8,
10727							72u8, 146u8, 28u8, 235u8, 60u8, 188u8, 247u8, 80u8, 240u8, 16u8, 194u8,
10728						],
10729					)
10730				}
10731				#[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"]
10732				#[doc = " conviction-weighted approvals."]
10733				#[doc = ""]
10734				#[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."]
10735				pub fn track_queue_iter(
10736					&self,
10737				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10738					(),
10739					types::track_queue::TrackQueue,
10740					(),
10741					::subxt::ext::subxt_core::utils::Yes,
10742					::subxt::ext::subxt_core::utils::Yes,
10743				> {
10744					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10745						"Referenda",
10746						"TrackQueue",
10747						(),
10748						[
10749							125u8, 59u8, 111u8, 68u8, 27u8, 236u8, 82u8, 55u8, 83u8, 159u8, 105u8,
10750							20u8, 241u8, 118u8, 58u8, 141u8, 103u8, 60u8, 246u8, 49u8, 121u8,
10751							183u8, 7u8, 203u8, 225u8, 67u8, 132u8, 79u8, 150u8, 107u8, 71u8, 89u8,
10752						],
10753					)
10754				}
10755				#[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"]
10756				#[doc = " conviction-weighted approvals."]
10757				#[doc = ""]
10758				#[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."]
10759				pub fn track_queue(
10760					&self,
10761					_0: types::track_queue::Param0,
10762				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10763					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
10764						types::track_queue::Param0,
10765					>,
10766					types::track_queue::TrackQueue,
10767					::subxt::ext::subxt_core::utils::Yes,
10768					::subxt::ext::subxt_core::utils::Yes,
10769					(),
10770				> {
10771					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10772						"Referenda",
10773						"TrackQueue",
10774						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
10775						[
10776							125u8, 59u8, 111u8, 68u8, 27u8, 236u8, 82u8, 55u8, 83u8, 159u8, 105u8,
10777							20u8, 241u8, 118u8, 58u8, 141u8, 103u8, 60u8, 246u8, 49u8, 121u8,
10778							183u8, 7u8, 203u8, 225u8, 67u8, 132u8, 79u8, 150u8, 107u8, 71u8, 89u8,
10779						],
10780					)
10781				}
10782				#[doc = " The number of referenda being decided currently."]
10783				pub fn deciding_count_iter(
10784					&self,
10785				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10786					(),
10787					types::deciding_count::DecidingCount,
10788					(),
10789					::subxt::ext::subxt_core::utils::Yes,
10790					::subxt::ext::subxt_core::utils::Yes,
10791				> {
10792					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10793						"Referenda",
10794						"DecidingCount",
10795						(),
10796						[
10797							203u8, 89u8, 158u8, 179u8, 194u8, 82u8, 248u8, 162u8, 93u8, 140u8,
10798							146u8, 51u8, 110u8, 232u8, 51u8, 1u8, 128u8, 212u8, 199u8, 14u8, 182u8,
10799							103u8, 47u8, 252u8, 126u8, 108u8, 166u8, 69u8, 252u8, 179u8, 126u8,
10800							245u8,
10801						],
10802					)
10803				}
10804				#[doc = " The number of referenda being decided currently."]
10805				pub fn deciding_count(
10806					&self,
10807					_0: types::deciding_count::Param0,
10808				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10809					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
10810						types::deciding_count::Param0,
10811					>,
10812					types::deciding_count::DecidingCount,
10813					::subxt::ext::subxt_core::utils::Yes,
10814					::subxt::ext::subxt_core::utils::Yes,
10815					(),
10816				> {
10817					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10818						"Referenda",
10819						"DecidingCount",
10820						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
10821						[
10822							203u8, 89u8, 158u8, 179u8, 194u8, 82u8, 248u8, 162u8, 93u8, 140u8,
10823							146u8, 51u8, 110u8, 232u8, 51u8, 1u8, 128u8, 212u8, 199u8, 14u8, 182u8,
10824							103u8, 47u8, 252u8, 126u8, 108u8, 166u8, 69u8, 252u8, 179u8, 126u8,
10825							245u8,
10826						],
10827					)
10828				}
10829				#[doc = " The metadata is a general information concerning the referendum."]
10830				#[doc = " The `Hash` refers to the preimage of the `Preimages` provider which can be a JSON"]
10831				#[doc = " dump or IPFS hash of a JSON file."]
10832				#[doc = ""]
10833				#[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"]
10834				#[doc = " large preimages."]
10835				pub fn metadata_of_iter(
10836					&self,
10837				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10838					(),
10839					types::metadata_of::MetadataOf,
10840					(),
10841					(),
10842					::subxt::ext::subxt_core::utils::Yes,
10843				> {
10844					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10845						"Referenda",
10846						"MetadataOf",
10847						(),
10848						[
10849							159u8, 250u8, 56u8, 189u8, 247u8, 165u8, 206u8, 166u8, 91u8, 139u8,
10850							124u8, 164u8, 25u8, 246u8, 199u8, 36u8, 159u8, 56u8, 227u8, 136u8, 4u8,
10851							45u8, 193u8, 72u8, 200u8, 164u8, 39u8, 207u8, 224u8, 124u8, 191u8,
10852							110u8,
10853						],
10854					)
10855				}
10856				#[doc = " The metadata is a general information concerning the referendum."]
10857				#[doc = " The `Hash` refers to the preimage of the `Preimages` provider which can be a JSON"]
10858				#[doc = " dump or IPFS hash of a JSON file."]
10859				#[doc = ""]
10860				#[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"]
10861				#[doc = " large preimages."]
10862				pub fn metadata_of(
10863					&self,
10864					_0: types::metadata_of::Param0,
10865				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10866					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
10867						types::metadata_of::Param0,
10868					>,
10869					types::metadata_of::MetadataOf,
10870					::subxt::ext::subxt_core::utils::Yes,
10871					(),
10872					(),
10873				> {
10874					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10875						"Referenda",
10876						"MetadataOf",
10877						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
10878						[
10879							159u8, 250u8, 56u8, 189u8, 247u8, 165u8, 206u8, 166u8, 91u8, 139u8,
10880							124u8, 164u8, 25u8, 246u8, 199u8, 36u8, 159u8, 56u8, 227u8, 136u8, 4u8,
10881							45u8, 193u8, 72u8, 200u8, 164u8, 39u8, 207u8, 224u8, 124u8, 191u8,
10882							110u8,
10883						],
10884					)
10885				}
10886			}
10887		}
10888		pub mod constants {
10889			use super::runtime_types;
10890			pub struct ConstantsApi;
10891			impl ConstantsApi {
10892				#[doc = " The minimum amount to be used as a deposit for a public referendum proposal."]
10893				pub fn submission_deposit(
10894					&self,
10895				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
10896					::core::primitive::u128,
10897				> {
10898					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
10899						"Referenda",
10900						"SubmissionDeposit",
10901						[
10902							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
10903							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
10904							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
10905						],
10906					)
10907				}
10908				#[doc = " Maximum size of the referendum queue for a single track."]
10909				pub fn max_queued(
10910					&self,
10911				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
10912					::core::primitive::u32,
10913				> {
10914					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
10915						"Referenda",
10916						"MaxQueued",
10917						[
10918							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
10919							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
10920							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
10921							145u8,
10922						],
10923					)
10924				}
10925				#[doc = " The number of blocks after submission that a referendum must begin being decided by."]
10926				#[doc = " Once this passes, then anyone may cancel the referendum."]
10927				pub fn undeciding_timeout(
10928					&self,
10929				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
10930					::core::primitive::u32,
10931				> {
10932					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
10933						"Referenda",
10934						"UndecidingTimeout",
10935						[
10936							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
10937							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
10938							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
10939							145u8,
10940						],
10941					)
10942				}
10943				#[doc = " Quantization level for the referendum wakeup scheduler. A higher number will result in"]
10944				#[doc = " fewer storage reads/writes needed for smaller voters, but also result in delays to the"]
10945				#[doc = " automatic referendum status changes. Explicit servicing instructions are unaffected."]
10946				pub fn alarm_interval(
10947					&self,
10948				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
10949					::core::primitive::u32,
10950				> {
10951					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
10952						"Referenda",
10953						"AlarmInterval",
10954						[
10955							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
10956							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
10957							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
10958							145u8,
10959						],
10960					)
10961				}
10962				#[doc = " A list of tracks."]
10963				#[doc = ""]
10964				#[doc = " Note: if the tracks are dynamic, the value in the static metadata might be inaccurate."]
10965				pub fn tracks(
10966					&self,
10967				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
10968					::subxt::ext::subxt_core::alloc::vec::Vec<(
10969						::core::primitive::u16,
10970						runtime_types::pallet_referenda::types::TrackDetails<
10971							::core::primitive::u128,
10972							::core::primitive::u32,
10973							::subxt::ext::subxt_core::alloc::string::String,
10974						>,
10975					)>,
10976				> {
10977					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
10978						"Referenda",
10979						"Tracks",
10980						[
10981							35u8, 226u8, 207u8, 234u8, 184u8, 139u8, 187u8, 184u8, 128u8, 199u8,
10982							227u8, 15u8, 31u8, 196u8, 5u8, 207u8, 138u8, 174u8, 130u8, 201u8,
10983							200u8, 113u8, 86u8, 93u8, 221u8, 243u8, 229u8, 24u8, 18u8, 150u8, 56u8,
10984							159u8,
10985						],
10986					)
10987				}
10988			}
10989		}
10990	}
10991	pub mod reversible_transfers {
10992		use super::{root_mod, runtime_types};
10993		#[doc = "The `Error` enum of this pallet."]
10994		pub type Error = runtime_types::pallet_reversible_transfers::pallet::Error;
10995		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
10996		pub type Call = runtime_types::pallet_reversible_transfers::pallet::Call;
10997		pub mod calls {
10998			use super::{root_mod, runtime_types};
10999			type DispatchError = runtime_types::sp_runtime::DispatchError;
11000			pub mod types {
11001				use super::runtime_types;
11002				#[derive(
11003					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11004					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11005					Debug,
11006				)]
11007				#[decode_as_type(
11008					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11009				)]
11010				#[encode_as_type(
11011					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11012				)]
11013				#[doc = "Enable high-security for the calling account with a specified"]
11014				#[doc = "reversibility delay."]
11015				#[doc = ""]
11016				#[doc = "Recoverer and interceptor (aka guardian) could be the same account or"]
11017				#[doc = "different accounts."]
11018				#[doc = ""]
11019				#[doc = "Once an account is set as high security it can only make reversible"]
11020				#[doc = "transfers. It is not allowed any other calls."]
11021				#[doc = ""]
11022				#[doc = "- `delay`: The reversibility time for any transfer made by the high"]
11023				#[doc = "security account."]
11024				#[doc = "- interceptor: The account that can intercept transctions from the"]
11025				#[doc = "high security account."]
11026				#[doc = "- recoverer: Account that can recover (act as proxy to) the high security"]
11027				#[doc = "account"]
11028				pub struct SetHighSecurity {
11029					pub delay: set_high_security::Delay,
11030					pub interceptor: set_high_security::Interceptor,
11031				}
11032				pub mod set_high_security {
11033					use super::runtime_types;
11034					pub type Delay = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
11035						::core::primitive::u32,
11036						::core::primitive::u64,
11037					>;
11038					pub type Interceptor = ::subxt::ext::subxt_core::utils::AccountId32;
11039				}
11040				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetHighSecurity {
11041					const PALLET: &'static str = "ReversibleTransfers";
11042					const CALL: &'static str = "set_high_security";
11043				}
11044				#[derive(
11045					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11046					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11047					Debug,
11048				)]
11049				#[decode_as_type(
11050					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11051				)]
11052				#[encode_as_type(
11053					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11054				)]
11055				#[doc = "Cancel a pending reversible transaction scheduled by the caller."]
11056				#[doc = ""]
11057				#[doc = "- `tx_id`: The unique identifier of the transaction to cancel."]
11058				pub struct Cancel {
11059					pub tx_id: cancel::TxId,
11060				}
11061				pub mod cancel {
11062					use super::runtime_types;
11063					pub type TxId = ::subxt::ext::subxt_core::utils::H256;
11064				}
11065				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Cancel {
11066					const PALLET: &'static str = "ReversibleTransfers";
11067					const CALL: &'static str = "cancel";
11068				}
11069				#[derive(
11070					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11071					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11072					Debug,
11073				)]
11074				#[decode_as_type(
11075					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11076				)]
11077				#[encode_as_type(
11078					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11079				)]
11080				#[doc = "Called by the Scheduler to finalize the scheduled task/call"]
11081				#[doc = ""]
11082				#[doc = "- `tx_id`: The unique id of the transaction to finalize and dispatch."]
11083				pub struct ExecuteTransfer {
11084					pub tx_id: execute_transfer::TxId,
11085				}
11086				pub mod execute_transfer {
11087					use super::runtime_types;
11088					pub type TxId = ::subxt::ext::subxt_core::utils::H256;
11089				}
11090				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ExecuteTransfer {
11091					const PALLET: &'static str = "ReversibleTransfers";
11092					const CALL: &'static str = "execute_transfer";
11093				}
11094				#[derive(
11095					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11096					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11097					Debug,
11098				)]
11099				#[decode_as_type(
11100					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11101				)]
11102				#[encode_as_type(
11103					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11104				)]
11105				#[doc = "Schedule a transaction for delayed execution."]
11106				pub struct ScheduleTransfer {
11107					pub dest: schedule_transfer::Dest,
11108					pub amount: schedule_transfer::Amount,
11109				}
11110				pub mod schedule_transfer {
11111					use super::runtime_types;
11112					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
11113						::subxt::ext::subxt_core::utils::AccountId32,
11114						(),
11115					>;
11116					pub type Amount = ::core::primitive::u128;
11117				}
11118				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleTransfer {
11119					const PALLET: &'static str = "ReversibleTransfers";
11120					const CALL: &'static str = "schedule_transfer";
11121				}
11122				#[derive(
11123					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11124					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11125					Debug,
11126				)]
11127				#[decode_as_type(
11128					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11129				)]
11130				#[encode_as_type(
11131					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11132				)]
11133				#[doc = "Schedule a transaction for delayed execution with a custom, one-time delay."]
11134				#[doc = ""]
11135				#[doc = "This can only be used by accounts that have *not* set up a persistent"]
11136				#[doc = "reversibility configuration with `set_reversibility`."]
11137				#[doc = ""]
11138				#[doc = "- `delay`: The time (in blocks or milliseconds) before the transaction executes."]
11139				pub struct ScheduleTransferWithDelay {
11140					pub dest: schedule_transfer_with_delay::Dest,
11141					pub amount: schedule_transfer_with_delay::Amount,
11142					pub delay: schedule_transfer_with_delay::Delay,
11143				}
11144				pub mod schedule_transfer_with_delay {
11145					use super::runtime_types;
11146					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
11147						::subxt::ext::subxt_core::utils::AccountId32,
11148						(),
11149					>;
11150					pub type Amount = ::core::primitive::u128;
11151					pub type Delay = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
11152						::core::primitive::u32,
11153						::core::primitive::u64,
11154					>;
11155				}
11156				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleTransferWithDelay {
11157					const PALLET: &'static str = "ReversibleTransfers";
11158					const CALL: &'static str = "schedule_transfer_with_delay";
11159				}
11160			}
11161			pub struct TransactionApi;
11162			impl TransactionApi {
11163				#[doc = "Enable high-security for the calling account with a specified"]
11164				#[doc = "reversibility delay."]
11165				#[doc = ""]
11166				#[doc = "Recoverer and interceptor (aka guardian) could be the same account or"]
11167				#[doc = "different accounts."]
11168				#[doc = ""]
11169				#[doc = "Once an account is set as high security it can only make reversible"]
11170				#[doc = "transfers. It is not allowed any other calls."]
11171				#[doc = ""]
11172				#[doc = "- `delay`: The reversibility time for any transfer made by the high"]
11173				#[doc = "security account."]
11174				#[doc = "- interceptor: The account that can intercept transctions from the"]
11175				#[doc = "high security account."]
11176				#[doc = "- recoverer: Account that can recover (act as proxy to) the high security"]
11177				#[doc = "account"]
11178				pub fn set_high_security(
11179					&self,
11180					delay: types::set_high_security::Delay,
11181					interceptor: types::set_high_security::Interceptor,
11182				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetHighSecurity>
11183				{
11184					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11185						"ReversibleTransfers",
11186						"set_high_security",
11187						types::SetHighSecurity { delay, interceptor },
11188						[
11189							202u8, 17u8, 43u8, 37u8, 215u8, 198u8, 42u8, 183u8, 53u8, 124u8, 140u8,
11190							34u8, 112u8, 230u8, 55u8, 168u8, 242u8, 249u8, 91u8, 185u8, 244u8,
11191							81u8, 40u8, 231u8, 121u8, 155u8, 202u8, 76u8, 137u8, 7u8, 225u8, 184u8,
11192						],
11193					)
11194				}
11195				#[doc = "Cancel a pending reversible transaction scheduled by the caller."]
11196				#[doc = ""]
11197				#[doc = "- `tx_id`: The unique identifier of the transaction to cancel."]
11198				pub fn cancel(
11199					&self,
11200					tx_id: types::cancel::TxId,
11201				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Cancel> {
11202					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11203						"ReversibleTransfers",
11204						"cancel",
11205						types::Cancel { tx_id },
11206						[
11207							228u8, 150u8, 194u8, 119u8, 243u8, 126u8, 112u8, 227u8, 70u8, 160u8,
11208							132u8, 82u8, 146u8, 162u8, 195u8, 149u8, 236u8, 98u8, 18u8, 44u8,
11209							151u8, 249u8, 193u8, 176u8, 186u8, 98u8, 224u8, 103u8, 191u8, 165u8,
11210							37u8, 47u8,
11211						],
11212					)
11213				}
11214				#[doc = "Called by the Scheduler to finalize the scheduled task/call"]
11215				#[doc = ""]
11216				#[doc = "- `tx_id`: The unique id of the transaction to finalize and dispatch."]
11217				pub fn execute_transfer(
11218					&self,
11219					tx_id: types::execute_transfer::TxId,
11220				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ExecuteTransfer>
11221				{
11222					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11223						"ReversibleTransfers",
11224						"execute_transfer",
11225						types::ExecuteTransfer { tx_id },
11226						[
11227							164u8, 38u8, 166u8, 81u8, 63u8, 235u8, 167u8, 178u8, 97u8, 80u8, 62u8,
11228							147u8, 3u8, 163u8, 129u8, 25u8, 98u8, 59u8, 17u8, 137u8, 6u8, 183u8,
11229							189u8, 51u8, 24u8, 211u8, 157u8, 108u8, 229u8, 253u8, 37u8, 78u8,
11230						],
11231					)
11232				}
11233				#[doc = "Schedule a transaction for delayed execution."]
11234				pub fn schedule_transfer(
11235					&self,
11236					dest: types::schedule_transfer::Dest,
11237					amount: types::schedule_transfer::Amount,
11238				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ScheduleTransfer>
11239				{
11240					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11241						"ReversibleTransfers",
11242						"schedule_transfer",
11243						types::ScheduleTransfer { dest, amount },
11244						[
11245							38u8, 219u8, 206u8, 56u8, 252u8, 195u8, 52u8, 74u8, 113u8, 125u8,
11246							107u8, 35u8, 236u8, 39u8, 31u8, 18u8, 250u8, 177u8, 174u8, 154u8,
11247							149u8, 122u8, 183u8, 50u8, 45u8, 111u8, 100u8, 249u8, 102u8, 82u8,
11248							72u8, 130u8,
11249						],
11250					)
11251				}
11252				#[doc = "Schedule a transaction for delayed execution with a custom, one-time delay."]
11253				#[doc = ""]
11254				#[doc = "This can only be used by accounts that have *not* set up a persistent"]
11255				#[doc = "reversibility configuration with `set_reversibility`."]
11256				#[doc = ""]
11257				#[doc = "- `delay`: The time (in blocks or milliseconds) before the transaction executes."]
11258				pub fn schedule_transfer_with_delay(
11259					&self,
11260					dest: types::schedule_transfer_with_delay::Dest,
11261					amount: types::schedule_transfer_with_delay::Amount,
11262					delay: types::schedule_transfer_with_delay::Delay,
11263				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
11264					types::ScheduleTransferWithDelay,
11265				> {
11266					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11267						"ReversibleTransfers",
11268						"schedule_transfer_with_delay",
11269						types::ScheduleTransferWithDelay { dest, amount, delay },
11270						[
11271							254u8, 158u8, 173u8, 217u8, 107u8, 80u8, 229u8, 252u8, 123u8, 46u8,
11272							177u8, 40u8, 25u8, 15u8, 32u8, 22u8, 224u8, 52u8, 242u8, 48u8, 242u8,
11273							84u8, 242u8, 143u8, 111u8, 12u8, 82u8, 161u8, 129u8, 86u8, 161u8,
11274							216u8,
11275						],
11276					)
11277				}
11278			}
11279		}
11280		#[doc = "The `Event` enum of this pallet"]
11281		pub type Event = runtime_types::pallet_reversible_transfers::pallet::Event;
11282		pub mod events {
11283			use super::runtime_types;
11284			#[derive(
11285				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11286				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11287				Debug,
11288			)]
11289			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
11290			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
11291			#[doc = "A user has enabled their high-security settings."]
11292			#[doc = "[who, interceptor, recoverer, delay]"]
11293			pub struct HighSecuritySet {
11294				pub who: high_security_set::Who,
11295				pub interceptor: high_security_set::Interceptor,
11296				pub delay: high_security_set::Delay,
11297			}
11298			pub mod high_security_set {
11299				use super::runtime_types;
11300				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
11301				pub type Interceptor = ::subxt::ext::subxt_core::utils::AccountId32;
11302				pub type Delay = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
11303					::core::primitive::u32,
11304					::core::primitive::u64,
11305				>;
11306			}
11307			impl ::subxt::ext::subxt_core::events::StaticEvent for HighSecuritySet {
11308				const PALLET: &'static str = "ReversibleTransfers";
11309				const EVENT: &'static str = "HighSecuritySet";
11310			}
11311			#[derive(
11312				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11313				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11314				Debug,
11315			)]
11316			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
11317			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
11318			#[doc = "A transaction has been intercepted and scheduled for delayed execution."]
11319			#[doc = "[from, to, interceptor, amount, tx_id, execute_at_moment]"]
11320			pub struct TransactionScheduled {
11321				pub from: transaction_scheduled::From,
11322				pub to: transaction_scheduled::To,
11323				pub interceptor: transaction_scheduled::Interceptor,
11324				pub amount: transaction_scheduled::Amount,
11325				pub tx_id: transaction_scheduled::TxId,
11326				pub execute_at: transaction_scheduled::ExecuteAt,
11327			}
11328			pub mod transaction_scheduled {
11329				use super::runtime_types;
11330				pub type From = ::subxt::ext::subxt_core::utils::AccountId32;
11331				pub type To = ::subxt::ext::subxt_core::utils::AccountId32;
11332				pub type Interceptor = ::subxt::ext::subxt_core::utils::AccountId32;
11333				pub type Amount = ::core::primitive::u128;
11334				pub type TxId = ::subxt::ext::subxt_core::utils::H256;
11335				pub type ExecuteAt = runtime_types::qp_scheduler::DispatchTime<
11336					::core::primitive::u32,
11337					::core::primitive::u64,
11338				>;
11339			}
11340			impl ::subxt::ext::subxt_core::events::StaticEvent for TransactionScheduled {
11341				const PALLET: &'static str = "ReversibleTransfers";
11342				const EVENT: &'static str = "TransactionScheduled";
11343			}
11344			#[derive(
11345				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11346				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11347				Debug,
11348			)]
11349			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
11350			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
11351			#[doc = "A scheduled transaction has been successfully cancelled by the owner."]
11352			#[doc = "[who, tx_id]"]
11353			pub struct TransactionCancelled {
11354				pub who: transaction_cancelled::Who,
11355				pub tx_id: transaction_cancelled::TxId,
11356			}
11357			pub mod transaction_cancelled {
11358				use super::runtime_types;
11359				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
11360				pub type TxId = ::subxt::ext::subxt_core::utils::H256;
11361			}
11362			impl ::subxt::ext::subxt_core::events::StaticEvent for TransactionCancelled {
11363				const PALLET: &'static str = "ReversibleTransfers";
11364				const EVENT: &'static str = "TransactionCancelled";
11365			}
11366			#[derive(
11367				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11368				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11369				Debug,
11370			)]
11371			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
11372			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
11373			#[doc = "A scheduled transaction was executed by the scheduler."]
11374			#[doc = "[tx_id, dispatch_result]"]
11375			pub struct TransactionExecuted {
11376				pub tx_id: transaction_executed::TxId,
11377				pub result: transaction_executed::Result,
11378			}
11379			pub mod transaction_executed {
11380				use super::runtime_types;
11381				pub type TxId = ::subxt::ext::subxt_core::utils::H256;
11382				pub type Result = ::core::result::Result<
11383					runtime_types::frame_support::dispatch::PostDispatchInfo,
11384					runtime_types::sp_runtime::DispatchErrorWithPostInfo<
11385						runtime_types::frame_support::dispatch::PostDispatchInfo,
11386					>,
11387				>;
11388			}
11389			impl ::subxt::ext::subxt_core::events::StaticEvent for TransactionExecuted {
11390				const PALLET: &'static str = "ReversibleTransfers";
11391				const EVENT: &'static str = "TransactionExecuted";
11392			}
11393		}
11394		pub mod storage {
11395			use super::runtime_types;
11396			pub mod types {
11397				use super::runtime_types;
11398				pub mod high_security_accounts {
11399					use super::runtime_types;
11400					pub type HighSecurityAccounts =
11401						runtime_types::pallet_reversible_transfers::HighSecurityAccountData<
11402							::subxt::ext::subxt_core::utils::AccountId32,
11403							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
11404								::core::primitive::u32,
11405								::core::primitive::u64,
11406							>,
11407						>;
11408					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
11409				}
11410				pub mod pending_transfers {
11411					use super::runtime_types;
11412					pub type PendingTransfers =
11413						runtime_types::pallet_reversible_transfers::PendingTransfer<
11414							::subxt::ext::subxt_core::utils::AccountId32,
11415							::core::primitive::u128,
11416							runtime_types::frame_support::traits::preimages::Bounded<
11417								runtime_types::quantus_runtime::RuntimeCall,
11418								runtime_types::poseidon_resonance::PoseidonHasher,
11419							>,
11420						>;
11421					pub type Param0 = ::subxt::ext::subxt_core::utils::H256;
11422				}
11423				pub mod account_pending_index {
11424					use super::runtime_types;
11425					pub type AccountPendingIndex = ::core::primitive::u32;
11426					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
11427				}
11428				pub mod pending_transfers_by_sender {
11429					use super::runtime_types;
11430					pub type PendingTransfersBySender =
11431						runtime_types::bounded_collections::bounded_vec::BoundedVec<
11432							::subxt::ext::subxt_core::utils::H256,
11433						>;
11434					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
11435				}
11436				pub mod pending_transfers_by_recipient {
11437					use super::runtime_types;
11438					pub type PendingTransfersByRecipient =
11439						runtime_types::bounded_collections::bounded_vec::BoundedVec<
11440							::subxt::ext::subxt_core::utils::H256,
11441						>;
11442					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
11443				}
11444				pub mod interceptor_index {
11445					use super::runtime_types;
11446					pub type InterceptorIndex =
11447						runtime_types::bounded_collections::bounded_vec::BoundedVec<
11448							::subxt::ext::subxt_core::utils::AccountId32,
11449						>;
11450					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
11451				}
11452				pub mod global_nonce {
11453					use super::runtime_types;
11454					pub type GlobalNonce = ::core::primitive::u64;
11455				}
11456			}
11457			pub struct StorageApi;
11458			impl StorageApi {
11459				#[doc = " Maps accounts to their chosen reversibility delay period (in milliseconds)."]
11460				#[doc = " Accounts present in this map have reversibility enabled."]
11461				pub fn high_security_accounts_iter(
11462					&self,
11463				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11464					(),
11465					types::high_security_accounts::HighSecurityAccounts,
11466					(),
11467					(),
11468					::subxt::ext::subxt_core::utils::Yes,
11469				> {
11470					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11471						"ReversibleTransfers",
11472						"HighSecurityAccounts",
11473						(),
11474						[
11475							11u8, 143u8, 95u8, 23u8, 55u8, 163u8, 22u8, 238u8, 88u8, 24u8, 50u8,
11476							162u8, 72u8, 98u8, 32u8, 219u8, 231u8, 199u8, 118u8, 150u8, 84u8,
11477							126u8, 225u8, 88u8, 129u8, 200u8, 236u8, 214u8, 187u8, 8u8, 252u8,
11478							120u8,
11479						],
11480					)
11481				}
11482				#[doc = " Maps accounts to their chosen reversibility delay period (in milliseconds)."]
11483				#[doc = " Accounts present in this map have reversibility enabled."]
11484				pub fn high_security_accounts(
11485					&self,
11486					_0: types::high_security_accounts::Param0,
11487				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11488					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
11489						types::high_security_accounts::Param0,
11490					>,
11491					types::high_security_accounts::HighSecurityAccounts,
11492					::subxt::ext::subxt_core::utils::Yes,
11493					(),
11494					(),
11495				> {
11496					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11497						"ReversibleTransfers",
11498						"HighSecurityAccounts",
11499						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
11500						[
11501							11u8, 143u8, 95u8, 23u8, 55u8, 163u8, 22u8, 238u8, 88u8, 24u8, 50u8,
11502							162u8, 72u8, 98u8, 32u8, 219u8, 231u8, 199u8, 118u8, 150u8, 84u8,
11503							126u8, 225u8, 88u8, 129u8, 200u8, 236u8, 214u8, 187u8, 8u8, 252u8,
11504							120u8,
11505						],
11506					)
11507				}
11508				#[doc = " Stores the details of pending transactions scheduled for delayed execution."]
11509				#[doc = " Keyed by the unique transaction ID."]
11510				pub fn pending_transfers_iter(
11511					&self,
11512				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11513					(),
11514					types::pending_transfers::PendingTransfers,
11515					(),
11516					(),
11517					::subxt::ext::subxt_core::utils::Yes,
11518				> {
11519					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11520						"ReversibleTransfers",
11521						"PendingTransfers",
11522						(),
11523						[
11524							226u8, 148u8, 100u8, 60u8, 9u8, 160u8, 164u8, 177u8, 53u8, 236u8, 65u8,
11525							38u8, 207u8, 31u8, 170u8, 79u8, 15u8, 237u8, 127u8, 189u8, 203u8,
11526							147u8, 4u8, 146u8, 13u8, 87u8, 158u8, 163u8, 159u8, 87u8, 98u8, 211u8,
11527						],
11528					)
11529				}
11530				#[doc = " Stores the details of pending transactions scheduled for delayed execution."]
11531				#[doc = " Keyed by the unique transaction ID."]
11532				pub fn pending_transfers(
11533					&self,
11534					_0: types::pending_transfers::Param0,
11535				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11536					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
11537						types::pending_transfers::Param0,
11538					>,
11539					types::pending_transfers::PendingTransfers,
11540					::subxt::ext::subxt_core::utils::Yes,
11541					(),
11542					(),
11543				> {
11544					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11545						"ReversibleTransfers",
11546						"PendingTransfers",
11547						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
11548						[
11549							226u8, 148u8, 100u8, 60u8, 9u8, 160u8, 164u8, 177u8, 53u8, 236u8, 65u8,
11550							38u8, 207u8, 31u8, 170u8, 79u8, 15u8, 237u8, 127u8, 189u8, 203u8,
11551							147u8, 4u8, 146u8, 13u8, 87u8, 158u8, 163u8, 159u8, 87u8, 98u8, 211u8,
11552						],
11553					)
11554				}
11555				#[doc = " Indexes pending transaction IDs per account for efficient lookup and cancellation."]
11556				#[doc = " Also enforces the maximum pending transactions limit per account."]
11557				pub fn account_pending_index_iter(
11558					&self,
11559				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11560					(),
11561					types::account_pending_index::AccountPendingIndex,
11562					(),
11563					::subxt::ext::subxt_core::utils::Yes,
11564					::subxt::ext::subxt_core::utils::Yes,
11565				> {
11566					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11567						"ReversibleTransfers",
11568						"AccountPendingIndex",
11569						(),
11570						[
11571							142u8, 255u8, 15u8, 41u8, 210u8, 84u8, 93u8, 230u8, 194u8, 31u8, 164u8,
11572							88u8, 155u8, 106u8, 130u8, 110u8, 199u8, 137u8, 153u8, 99u8, 154u8,
11573							210u8, 108u8, 136u8, 70u8, 141u8, 242u8, 255u8, 246u8, 19u8, 247u8,
11574							136u8,
11575						],
11576					)
11577				}
11578				#[doc = " Indexes pending transaction IDs per account for efficient lookup and cancellation."]
11579				#[doc = " Also enforces the maximum pending transactions limit per account."]
11580				pub fn account_pending_index(
11581					&self,
11582					_0: types::account_pending_index::Param0,
11583				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11584					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
11585						types::account_pending_index::Param0,
11586					>,
11587					types::account_pending_index::AccountPendingIndex,
11588					::subxt::ext::subxt_core::utils::Yes,
11589					::subxt::ext::subxt_core::utils::Yes,
11590					(),
11591				> {
11592					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11593						"ReversibleTransfers",
11594						"AccountPendingIndex",
11595						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
11596						[
11597							142u8, 255u8, 15u8, 41u8, 210u8, 84u8, 93u8, 230u8, 194u8, 31u8, 164u8,
11598							88u8, 155u8, 106u8, 130u8, 110u8, 199u8, 137u8, 153u8, 99u8, 154u8,
11599							210u8, 108u8, 136u8, 70u8, 141u8, 242u8, 255u8, 246u8, 19u8, 247u8,
11600							136u8,
11601						],
11602					)
11603				}
11604				#[doc = " Maps sender accounts to their list of pending transaction IDs."]
11605				#[doc = " This allows users to query all their outgoing pending transfers."]
11606				pub fn pending_transfers_by_sender_iter(
11607					&self,
11608				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11609					(),
11610					types::pending_transfers_by_sender::PendingTransfersBySender,
11611					(),
11612					::subxt::ext::subxt_core::utils::Yes,
11613					::subxt::ext::subxt_core::utils::Yes,
11614				> {
11615					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11616						"ReversibleTransfers",
11617						"PendingTransfersBySender",
11618						(),
11619						[
11620							183u8, 43u8, 139u8, 203u8, 182u8, 219u8, 60u8, 129u8, 67u8, 30u8, 65u8,
11621							47u8, 105u8, 196u8, 228u8, 154u8, 26u8, 74u8, 84u8, 72u8, 154u8, 220u8,
11622							216u8, 134u8, 207u8, 240u8, 7u8, 190u8, 236u8, 242u8, 184u8, 224u8,
11623						],
11624					)
11625				}
11626				#[doc = " Maps sender accounts to their list of pending transaction IDs."]
11627				#[doc = " This allows users to query all their outgoing pending transfers."]
11628				pub fn pending_transfers_by_sender(
11629					&self,
11630					_0: types::pending_transfers_by_sender::Param0,
11631				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11632					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
11633						types::pending_transfers_by_sender::Param0,
11634					>,
11635					types::pending_transfers_by_sender::PendingTransfersBySender,
11636					::subxt::ext::subxt_core::utils::Yes,
11637					::subxt::ext::subxt_core::utils::Yes,
11638					(),
11639				> {
11640					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11641						"ReversibleTransfers",
11642						"PendingTransfersBySender",
11643						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
11644						[
11645							183u8, 43u8, 139u8, 203u8, 182u8, 219u8, 60u8, 129u8, 67u8, 30u8, 65u8,
11646							47u8, 105u8, 196u8, 228u8, 154u8, 26u8, 74u8, 84u8, 72u8, 154u8, 220u8,
11647							216u8, 134u8, 207u8, 240u8, 7u8, 190u8, 236u8, 242u8, 184u8, 224u8,
11648						],
11649					)
11650				}
11651				#[doc = " Maps recipient accounts to their list of pending incoming transaction IDs."]
11652				#[doc = " This allows users to query all their incoming pending transfers."]
11653				pub fn pending_transfers_by_recipient_iter(
11654					&self,
11655				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11656					(),
11657					types::pending_transfers_by_recipient::PendingTransfersByRecipient,
11658					(),
11659					::subxt::ext::subxt_core::utils::Yes,
11660					::subxt::ext::subxt_core::utils::Yes,
11661				> {
11662					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11663						"ReversibleTransfers",
11664						"PendingTransfersByRecipient",
11665						(),
11666						[
11667							63u8, 141u8, 24u8, 239u8, 201u8, 143u8, 36u8, 152u8, 35u8, 110u8,
11668							112u8, 157u8, 29u8, 61u8, 221u8, 79u8, 209u8, 192u8, 183u8, 29u8,
11669							145u8, 166u8, 238u8, 156u8, 131u8, 203u8, 124u8, 233u8, 210u8, 201u8,
11670							91u8, 212u8,
11671						],
11672					)
11673				}
11674				#[doc = " Maps recipient accounts to their list of pending incoming transaction IDs."]
11675				#[doc = " This allows users to query all their incoming pending transfers."]
11676				pub fn pending_transfers_by_recipient(
11677					&self,
11678					_0: types::pending_transfers_by_recipient::Param0,
11679				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11680					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
11681						types::pending_transfers_by_recipient::Param0,
11682					>,
11683					types::pending_transfers_by_recipient::PendingTransfersByRecipient,
11684					::subxt::ext::subxt_core::utils::Yes,
11685					::subxt::ext::subxt_core::utils::Yes,
11686					(),
11687				> {
11688					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11689						"ReversibleTransfers",
11690						"PendingTransfersByRecipient",
11691						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
11692						[
11693							63u8, 141u8, 24u8, 239u8, 201u8, 143u8, 36u8, 152u8, 35u8, 110u8,
11694							112u8, 157u8, 29u8, 61u8, 221u8, 79u8, 209u8, 192u8, 183u8, 29u8,
11695							145u8, 166u8, 238u8, 156u8, 131u8, 203u8, 124u8, 233u8, 210u8, 201u8,
11696							91u8, 212u8,
11697						],
11698					)
11699				}
11700				#[doc = " Maps interceptor accounts to the list of accounts they can intercept for."]
11701				#[doc = " This allows the UI to efficiently query all accounts for which a given account is an"]
11702				#[doc = " interceptor."]
11703				pub fn interceptor_index_iter(
11704					&self,
11705				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11706					(),
11707					types::interceptor_index::InterceptorIndex,
11708					(),
11709					::subxt::ext::subxt_core::utils::Yes,
11710					::subxt::ext::subxt_core::utils::Yes,
11711				> {
11712					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11713						"ReversibleTransfers",
11714						"InterceptorIndex",
11715						(),
11716						[
11717							7u8, 184u8, 75u8, 107u8, 42u8, 84u8, 188u8, 86u8, 2u8, 227u8, 4u8,
11718							136u8, 109u8, 69u8, 64u8, 123u8, 253u8, 28u8, 174u8, 121u8, 183u8,
11719							154u8, 135u8, 91u8, 125u8, 0u8, 58u8, 132u8, 164u8, 236u8, 182u8,
11720							133u8,
11721						],
11722					)
11723				}
11724				#[doc = " Maps interceptor accounts to the list of accounts they can intercept for."]
11725				#[doc = " This allows the UI to efficiently query all accounts for which a given account is an"]
11726				#[doc = " interceptor."]
11727				pub fn interceptor_index(
11728					&self,
11729					_0: types::interceptor_index::Param0,
11730				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11731					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
11732						types::interceptor_index::Param0,
11733					>,
11734					types::interceptor_index::InterceptorIndex,
11735					::subxt::ext::subxt_core::utils::Yes,
11736					::subxt::ext::subxt_core::utils::Yes,
11737					(),
11738				> {
11739					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11740						"ReversibleTransfers",
11741						"InterceptorIndex",
11742						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
11743						[
11744							7u8, 184u8, 75u8, 107u8, 42u8, 84u8, 188u8, 86u8, 2u8, 227u8, 4u8,
11745							136u8, 109u8, 69u8, 64u8, 123u8, 253u8, 28u8, 174u8, 121u8, 183u8,
11746							154u8, 135u8, 91u8, 125u8, 0u8, 58u8, 132u8, 164u8, 236u8, 182u8,
11747							133u8,
11748						],
11749					)
11750				}
11751				#[doc = " Global nonce for generating unique transaction IDs."]
11752				pub fn global_nonce(
11753					&self,
11754				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11755					(),
11756					types::global_nonce::GlobalNonce,
11757					::subxt::ext::subxt_core::utils::Yes,
11758					::subxt::ext::subxt_core::utils::Yes,
11759					(),
11760				> {
11761					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11762						"ReversibleTransfers",
11763						"GlobalNonce",
11764						(),
11765						[
11766							119u8, 119u8, 84u8, 141u8, 83u8, 67u8, 42u8, 83u8, 51u8, 196u8, 185u8,
11767							39u8, 227u8, 125u8, 142u8, 154u8, 107u8, 62u8, 127u8, 13u8, 54u8,
11768							114u8, 201u8, 6u8, 100u8, 28u8, 202u8, 152u8, 246u8, 202u8, 9u8, 29u8,
11769						],
11770					)
11771				}
11772			}
11773		}
11774		pub mod constants {
11775			use super::runtime_types;
11776			pub struct ConstantsApi;
11777			impl ConstantsApi {
11778				#[doc = " Maximum pending reversible transactions allowed per account. Used for BoundedVec."]
11779				pub fn max_pending_per_account(
11780					&self,
11781				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
11782					::core::primitive::u32,
11783				> {
11784					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
11785						"ReversibleTransfers",
11786						"MaxPendingPerAccount",
11787						[
11788							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
11789							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
11790							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
11791							145u8,
11792						],
11793					)
11794				}
11795				#[doc = " Maximum number of accounts an interceptor can intercept for. Used for BoundedVec."]
11796				pub fn max_interceptor_accounts(
11797					&self,
11798				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
11799					::core::primitive::u32,
11800				> {
11801					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
11802						"ReversibleTransfers",
11803						"MaxInterceptorAccounts",
11804						[
11805							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
11806							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
11807							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
11808							145u8,
11809						],
11810					)
11811				}
11812				#[doc = " The default delay period for reversible transactions if none is specified."]
11813				#[doc = ""]
11814				#[doc = " NOTE: default delay is always in blocks."]
11815				pub fn default_delay(
11816					&self,
11817				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
11818					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
11819						::core::primitive::u32,
11820						::core::primitive::u64,
11821					>,
11822				> {
11823					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
11824						"ReversibleTransfers",
11825						"DefaultDelay",
11826						[
11827							245u8, 29u8, 3u8, 65u8, 154u8, 12u8, 172u8, 71u8, 67u8, 134u8, 71u8,
11828							180u8, 4u8, 9u8, 54u8, 89u8, 6u8, 19u8, 3u8, 168u8, 67u8, 122u8, 197u8,
11829							109u8, 1u8, 228u8, 44u8, 243u8, 228u8, 194u8, 241u8, 227u8,
11830						],
11831					)
11832				}
11833				#[doc = " The minimum delay period allowed for reversible transactions, in blocks."]
11834				pub fn min_delay_period_blocks(
11835					&self,
11836				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
11837					::core::primitive::u32,
11838				> {
11839					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
11840						"ReversibleTransfers",
11841						"MinDelayPeriodBlocks",
11842						[
11843							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
11844							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
11845							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
11846							145u8,
11847						],
11848					)
11849				}
11850				#[doc = " The minimum delay period allowed for reversible transactions, in milliseconds."]
11851				pub fn min_delay_period_moment(
11852					&self,
11853				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
11854					::core::primitive::u64,
11855				> {
11856					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
11857						"ReversibleTransfers",
11858						"MinDelayPeriodMoment",
11859						[
11860							128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8,
11861							59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8,
11862							103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8,
11863							246u8,
11864						],
11865					)
11866				}
11867			}
11868		}
11869	}
11870	pub mod conviction_voting {
11871		use super::{root_mod, runtime_types};
11872		#[doc = "The `Error` enum of this pallet."]
11873		pub type Error = runtime_types::pallet_conviction_voting::pallet::Error;
11874		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
11875		pub type Call = runtime_types::pallet_conviction_voting::pallet::Call;
11876		pub mod calls {
11877			use super::{root_mod, runtime_types};
11878			type DispatchError = runtime_types::sp_runtime::DispatchError;
11879			pub mod types {
11880				use super::runtime_types;
11881				#[derive(
11882					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11883					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11884					Debug,
11885				)]
11886				#[decode_as_type(
11887					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11888				)]
11889				#[encode_as_type(
11890					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11891				)]
11892				#[doc = "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;"]
11893				#[doc = "otherwise it is a vote to keep the status quo."]
11894				#[doc = ""]
11895				#[doc = "The dispatch origin of this call must be _Signed_."]
11896				#[doc = ""]
11897				#[doc = "- `poll_index`: The index of the poll to vote for."]
11898				#[doc = "- `vote`: The vote configuration."]
11899				#[doc = ""]
11900				#[doc = "Weight: `O(R)` where R is the number of polls the voter has voted on."]
11901				pub struct Vote {
11902					#[codec(compact)]
11903					pub poll_index: vote::PollIndex,
11904					pub vote: vote::Vote,
11905				}
11906				pub mod vote {
11907					use super::runtime_types;
11908					pub type PollIndex = ::core::primitive::u32;
11909					pub type Vote = runtime_types::pallet_conviction_voting::vote::AccountVote<
11910						::core::primitive::u128,
11911					>;
11912				}
11913				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Vote {
11914					const PALLET: &'static str = "ConvictionVoting";
11915					const CALL: &'static str = "vote";
11916				}
11917				#[derive(
11918					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11919					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11920					Debug,
11921				)]
11922				#[decode_as_type(
11923					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11924				)]
11925				#[encode_as_type(
11926					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11927				)]
11928				#[doc = "Delegate the voting power (with some given conviction) of the sending account for a"]
11929				#[doc = "particular class of polls."]
11930				#[doc = ""]
11931				#[doc = "The balance delegated is locked for as long as it's delegated, and thereafter for the"]
11932				#[doc = "time appropriate for the conviction's lock period."]
11933				#[doc = ""]
11934				#[doc = "The dispatch origin of this call must be _Signed_, and the signing account must either:"]
11935				#[doc = "  - be delegating already; or"]
11936				#[doc = "  - have no voting activity (if there is, then it will need to be removed through"]
11937				#[doc = "    `remove_vote`)."]
11938				#[doc = ""]
11939				#[doc = "- `to`: The account whose voting the `target` account's voting power will follow."]
11940				#[doc = "- `class`: The class of polls to delegate. To delegate multiple classes, multiple calls"]
11941				#[doc = "  to this function are required."]
11942				#[doc = "- `conviction`: The conviction that will be attached to the delegated votes. When the"]
11943				#[doc = "  account is undelegated, the funds will be locked for the corresponding period."]
11944				#[doc = "- `balance`: The amount of the account's balance to be used in delegating. This must not"]
11945				#[doc = "  be more than the account's current balance."]
11946				#[doc = ""]
11947				#[doc = "Emits `Delegated`."]
11948				#[doc = ""]
11949				#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
11950				#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
11951				pub struct Delegate {
11952					pub class: delegate::Class,
11953					pub to: delegate::To,
11954					pub conviction: delegate::Conviction,
11955					pub balance: delegate::Balance,
11956				}
11957				pub mod delegate {
11958					use super::runtime_types;
11959					pub type Class = ::core::primitive::u16;
11960					pub type To = ::subxt::ext::subxt_core::utils::MultiAddress<
11961						::subxt::ext::subxt_core::utils::AccountId32,
11962						(),
11963					>;
11964					pub type Conviction =
11965						runtime_types::pallet_conviction_voting::conviction::Conviction;
11966					pub type Balance = ::core::primitive::u128;
11967				}
11968				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Delegate {
11969					const PALLET: &'static str = "ConvictionVoting";
11970					const CALL: &'static str = "delegate";
11971				}
11972				#[derive(
11973					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11974					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11975					Debug,
11976				)]
11977				#[decode_as_type(
11978					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11979				)]
11980				#[encode_as_type(
11981					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11982				)]
11983				#[doc = "Undelegate the voting power of the sending account for a particular class of polls."]
11984				#[doc = ""]
11985				#[doc = "Tokens may be unlocked following once an amount of time consistent with the lock period"]
11986				#[doc = "of the conviction with which the delegation was issued has passed."]
11987				#[doc = ""]
11988				#[doc = "The dispatch origin of this call must be _Signed_ and the signing account must be"]
11989				#[doc = "currently delegating."]
11990				#[doc = ""]
11991				#[doc = "- `class`: The class of polls to remove the delegation from."]
11992				#[doc = ""]
11993				#[doc = "Emits `Undelegated`."]
11994				#[doc = ""]
11995				#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
11996				#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
11997				pub struct Undelegate {
11998					pub class: undelegate::Class,
11999				}
12000				pub mod undelegate {
12001					use super::runtime_types;
12002					pub type Class = ::core::primitive::u16;
12003				}
12004				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Undelegate {
12005					const PALLET: &'static str = "ConvictionVoting";
12006					const CALL: &'static str = "undelegate";
12007				}
12008				#[derive(
12009					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12010					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12011					Debug,
12012				)]
12013				#[decode_as_type(
12014					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12015				)]
12016				#[encode_as_type(
12017					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12018				)]
12019				#[doc = "Remove the lock caused by prior voting/delegating which has expired within a particular"]
12020				#[doc = "class."]
12021				#[doc = ""]
12022				#[doc = "The dispatch origin of this call must be _Signed_."]
12023				#[doc = ""]
12024				#[doc = "- `class`: The class of polls to unlock."]
12025				#[doc = "- `target`: The account to remove the lock on."]
12026				#[doc = ""]
12027				#[doc = "Weight: `O(R)` with R number of vote of target."]
12028				pub struct Unlock {
12029					pub class: unlock::Class,
12030					pub target: unlock::Target,
12031				}
12032				pub mod unlock {
12033					use super::runtime_types;
12034					pub type Class = ::core::primitive::u16;
12035					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
12036						::subxt::ext::subxt_core::utils::AccountId32,
12037						(),
12038					>;
12039				}
12040				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Unlock {
12041					const PALLET: &'static str = "ConvictionVoting";
12042					const CALL: &'static str = "unlock";
12043				}
12044				#[derive(
12045					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12046					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12047					Debug,
12048				)]
12049				#[decode_as_type(
12050					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12051				)]
12052				#[encode_as_type(
12053					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12054				)]
12055				#[doc = "Remove a vote for a poll."]
12056				#[doc = ""]
12057				#[doc = "If:"]
12058				#[doc = "- the poll was cancelled, or"]
12059				#[doc = "- the poll is ongoing, or"]
12060				#[doc = "- the poll has ended such that"]
12061				#[doc = "  - the vote of the account was in opposition to the result; or"]
12062				#[doc = "  - there was no conviction to the account's vote; or"]
12063				#[doc = "  - the account made a split vote"]
12064				#[doc = "...then the vote is removed cleanly and a following call to `unlock` may result in more"]
12065				#[doc = "funds being available."]
12066				#[doc = ""]
12067				#[doc = "If, however, the poll has ended and:"]
12068				#[doc = "- it finished corresponding to the vote of the account, and"]
12069				#[doc = "- the account made a standard vote with conviction, and"]
12070				#[doc = "- the lock period of the conviction is not over"]
12071				#[doc = "...then the lock will be aggregated into the overall account's lock, which may involve"]
12072				#[doc = "*overlocking* (where the two locks are combined into a single lock that is the maximum"]
12073				#[doc = "of both the amount locked and the time is it locked for)."]
12074				#[doc = ""]
12075				#[doc = "The dispatch origin of this call must be _Signed_, and the signer must have a vote"]
12076				#[doc = "registered for poll `index`."]
12077				#[doc = ""]
12078				#[doc = "- `index`: The index of poll of the vote to be removed."]
12079				#[doc = "- `class`: Optional parameter, if given it indicates the class of the poll. For polls"]
12080				#[doc = "  which have finished or are cancelled, this must be `Some`."]
12081				#[doc = ""]
12082				#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
12083				#[doc = "  Weight is calculated for the maximum number of vote."]
12084				pub struct RemoveVote {
12085					pub class: remove_vote::Class,
12086					pub index: remove_vote::Index,
12087				}
12088				pub mod remove_vote {
12089					use super::runtime_types;
12090					pub type Class = ::core::option::Option<::core::primitive::u16>;
12091					pub type Index = ::core::primitive::u32;
12092				}
12093				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveVote {
12094					const PALLET: &'static str = "ConvictionVoting";
12095					const CALL: &'static str = "remove_vote";
12096				}
12097				#[derive(
12098					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12099					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12100					Debug,
12101				)]
12102				#[decode_as_type(
12103					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12104				)]
12105				#[encode_as_type(
12106					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12107				)]
12108				#[doc = "Remove a vote for a poll."]
12109				#[doc = ""]
12110				#[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"]
12111				#[doc = "`remove_vote`. If not equal to the signer, then the vote must have expired,"]
12112				#[doc = "either because the poll was cancelled, because the voter lost the poll or"]
12113				#[doc = "because the conviction period is over."]
12114				#[doc = ""]
12115				#[doc = "The dispatch origin of this call must be _Signed_."]
12116				#[doc = ""]
12117				#[doc = "- `target`: The account of the vote to be removed; this account must have voted for poll"]
12118				#[doc = "  `index`."]
12119				#[doc = "- `index`: The index of poll of the vote to be removed."]
12120				#[doc = "- `class`: The class of the poll."]
12121				#[doc = ""]
12122				#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
12123				#[doc = "  Weight is calculated for the maximum number of vote."]
12124				pub struct RemoveOtherVote {
12125					pub target: remove_other_vote::Target,
12126					pub class: remove_other_vote::Class,
12127					pub index: remove_other_vote::Index,
12128				}
12129				pub mod remove_other_vote {
12130					use super::runtime_types;
12131					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
12132						::subxt::ext::subxt_core::utils::AccountId32,
12133						(),
12134					>;
12135					pub type Class = ::core::primitive::u16;
12136					pub type Index = ::core::primitive::u32;
12137				}
12138				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveOtherVote {
12139					const PALLET: &'static str = "ConvictionVoting";
12140					const CALL: &'static str = "remove_other_vote";
12141				}
12142			}
12143			pub struct TransactionApi;
12144			impl TransactionApi {
12145				#[doc = "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;"]
12146				#[doc = "otherwise it is a vote to keep the status quo."]
12147				#[doc = ""]
12148				#[doc = "The dispatch origin of this call must be _Signed_."]
12149				#[doc = ""]
12150				#[doc = "- `poll_index`: The index of the poll to vote for."]
12151				#[doc = "- `vote`: The vote configuration."]
12152				#[doc = ""]
12153				#[doc = "Weight: `O(R)` where R is the number of polls the voter has voted on."]
12154				pub fn vote(
12155					&self,
12156					poll_index: types::vote::PollIndex,
12157					vote: types::vote::Vote,
12158				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Vote> {
12159					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12160						"ConvictionVoting",
12161						"vote",
12162						types::Vote { poll_index, vote },
12163						[
12164							57u8, 170u8, 177u8, 168u8, 158u8, 43u8, 87u8, 242u8, 176u8, 85u8,
12165							230u8, 64u8, 103u8, 239u8, 190u8, 6u8, 228u8, 165u8, 248u8, 77u8,
12166							231u8, 221u8, 186u8, 107u8, 249u8, 201u8, 226u8, 52u8, 129u8, 90u8,
12167							142u8, 159u8,
12168						],
12169					)
12170				}
12171				#[doc = "Delegate the voting power (with some given conviction) of the sending account for a"]
12172				#[doc = "particular class of polls."]
12173				#[doc = ""]
12174				#[doc = "The balance delegated is locked for as long as it's delegated, and thereafter for the"]
12175				#[doc = "time appropriate for the conviction's lock period."]
12176				#[doc = ""]
12177				#[doc = "The dispatch origin of this call must be _Signed_, and the signing account must either:"]
12178				#[doc = "  - be delegating already; or"]
12179				#[doc = "  - have no voting activity (if there is, then it will need to be removed through"]
12180				#[doc = "    `remove_vote`)."]
12181				#[doc = ""]
12182				#[doc = "- `to`: The account whose voting the `target` account's voting power will follow."]
12183				#[doc = "- `class`: The class of polls to delegate. To delegate multiple classes, multiple calls"]
12184				#[doc = "  to this function are required."]
12185				#[doc = "- `conviction`: The conviction that will be attached to the delegated votes. When the"]
12186				#[doc = "  account is undelegated, the funds will be locked for the corresponding period."]
12187				#[doc = "- `balance`: The amount of the account's balance to be used in delegating. This must not"]
12188				#[doc = "  be more than the account's current balance."]
12189				#[doc = ""]
12190				#[doc = "Emits `Delegated`."]
12191				#[doc = ""]
12192				#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
12193				#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
12194				pub fn delegate(
12195					&self,
12196					class: types::delegate::Class,
12197					to: types::delegate::To,
12198					conviction: types::delegate::Conviction,
12199					balance: types::delegate::Balance,
12200				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Delegate> {
12201					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12202						"ConvictionVoting",
12203						"delegate",
12204						types::Delegate { class, to, conviction, balance },
12205						[
12206							223u8, 143u8, 33u8, 94u8, 32u8, 156u8, 43u8, 40u8, 142u8, 134u8, 209u8,
12207							134u8, 255u8, 179u8, 97u8, 46u8, 8u8, 140u8, 5u8, 29u8, 76u8, 22u8,
12208							36u8, 7u8, 108u8, 190u8, 220u8, 151u8, 10u8, 47u8, 89u8, 55u8,
12209						],
12210					)
12211				}
12212				#[doc = "Undelegate the voting power of the sending account for a particular class of polls."]
12213				#[doc = ""]
12214				#[doc = "Tokens may be unlocked following once an amount of time consistent with the lock period"]
12215				#[doc = "of the conviction with which the delegation was issued has passed."]
12216				#[doc = ""]
12217				#[doc = "The dispatch origin of this call must be _Signed_ and the signing account must be"]
12218				#[doc = "currently delegating."]
12219				#[doc = ""]
12220				#[doc = "- `class`: The class of polls to remove the delegation from."]
12221				#[doc = ""]
12222				#[doc = "Emits `Undelegated`."]
12223				#[doc = ""]
12224				#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
12225				#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
12226				pub fn undelegate(
12227					&self,
12228					class: types::undelegate::Class,
12229				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Undelegate> {
12230					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12231						"ConvictionVoting",
12232						"undelegate",
12233						types::Undelegate { class },
12234						[
12235							140u8, 232u8, 6u8, 53u8, 228u8, 8u8, 131u8, 144u8, 65u8, 66u8, 245u8,
12236							247u8, 147u8, 135u8, 198u8, 57u8, 82u8, 212u8, 89u8, 46u8, 236u8,
12237							168u8, 200u8, 220u8, 93u8, 168u8, 101u8, 29u8, 110u8, 76u8, 67u8,
12238							181u8,
12239						],
12240					)
12241				}
12242				#[doc = "Remove the lock caused by prior voting/delegating which has expired within a particular"]
12243				#[doc = "class."]
12244				#[doc = ""]
12245				#[doc = "The dispatch origin of this call must be _Signed_."]
12246				#[doc = ""]
12247				#[doc = "- `class`: The class of polls to unlock."]
12248				#[doc = "- `target`: The account to remove the lock on."]
12249				#[doc = ""]
12250				#[doc = "Weight: `O(R)` with R number of vote of target."]
12251				pub fn unlock(
12252					&self,
12253					class: types::unlock::Class,
12254					target: types::unlock::Target,
12255				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Unlock> {
12256					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12257						"ConvictionVoting",
12258						"unlock",
12259						types::Unlock { class, target },
12260						[
12261							79u8, 5u8, 252u8, 237u8, 109u8, 238u8, 157u8, 237u8, 125u8, 171u8,
12262							65u8, 160u8, 102u8, 192u8, 5u8, 141u8, 179u8, 249u8, 253u8, 213u8,
12263							105u8, 251u8, 241u8, 145u8, 186u8, 177u8, 244u8, 139u8, 71u8, 140u8,
12264							173u8, 108u8,
12265						],
12266					)
12267				}
12268				#[doc = "Remove a vote for a poll."]
12269				#[doc = ""]
12270				#[doc = "If:"]
12271				#[doc = "- the poll was cancelled, or"]
12272				#[doc = "- the poll is ongoing, or"]
12273				#[doc = "- the poll has ended such that"]
12274				#[doc = "  - the vote of the account was in opposition to the result; or"]
12275				#[doc = "  - there was no conviction to the account's vote; or"]
12276				#[doc = "  - the account made a split vote"]
12277				#[doc = "...then the vote is removed cleanly and a following call to `unlock` may result in more"]
12278				#[doc = "funds being available."]
12279				#[doc = ""]
12280				#[doc = "If, however, the poll has ended and:"]
12281				#[doc = "- it finished corresponding to the vote of the account, and"]
12282				#[doc = "- the account made a standard vote with conviction, and"]
12283				#[doc = "- the lock period of the conviction is not over"]
12284				#[doc = "...then the lock will be aggregated into the overall account's lock, which may involve"]
12285				#[doc = "*overlocking* (where the two locks are combined into a single lock that is the maximum"]
12286				#[doc = "of both the amount locked and the time is it locked for)."]
12287				#[doc = ""]
12288				#[doc = "The dispatch origin of this call must be _Signed_, and the signer must have a vote"]
12289				#[doc = "registered for poll `index`."]
12290				#[doc = ""]
12291				#[doc = "- `index`: The index of poll of the vote to be removed."]
12292				#[doc = "- `class`: Optional parameter, if given it indicates the class of the poll. For polls"]
12293				#[doc = "  which have finished or are cancelled, this must be `Some`."]
12294				#[doc = ""]
12295				#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
12296				#[doc = "  Weight is calculated for the maximum number of vote."]
12297				pub fn remove_vote(
12298					&self,
12299					class: types::remove_vote::Class,
12300					index: types::remove_vote::Index,
12301				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveVote> {
12302					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12303						"ConvictionVoting",
12304						"remove_vote",
12305						types::RemoveVote { class, index },
12306						[
12307							255u8, 108u8, 211u8, 146u8, 168u8, 231u8, 207u8, 44u8, 76u8, 24u8,
12308							235u8, 60u8, 23u8, 79u8, 192u8, 192u8, 46u8, 40u8, 134u8, 27u8, 125u8,
12309							114u8, 125u8, 247u8, 85u8, 102u8, 76u8, 159u8, 34u8, 167u8, 152u8,
12310							148u8,
12311						],
12312					)
12313				}
12314				#[doc = "Remove a vote for a poll."]
12315				#[doc = ""]
12316				#[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"]
12317				#[doc = "`remove_vote`. If not equal to the signer, then the vote must have expired,"]
12318				#[doc = "either because the poll was cancelled, because the voter lost the poll or"]
12319				#[doc = "because the conviction period is over."]
12320				#[doc = ""]
12321				#[doc = "The dispatch origin of this call must be _Signed_."]
12322				#[doc = ""]
12323				#[doc = "- `target`: The account of the vote to be removed; this account must have voted for poll"]
12324				#[doc = "  `index`."]
12325				#[doc = "- `index`: The index of poll of the vote to be removed."]
12326				#[doc = "- `class`: The class of the poll."]
12327				#[doc = ""]
12328				#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
12329				#[doc = "  Weight is calculated for the maximum number of vote."]
12330				pub fn remove_other_vote(
12331					&self,
12332					target: types::remove_other_vote::Target,
12333					class: types::remove_other_vote::Class,
12334					index: types::remove_other_vote::Index,
12335				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveOtherVote>
12336				{
12337					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12338						"ConvictionVoting",
12339						"remove_other_vote",
12340						types::RemoveOtherVote { target, class, index },
12341						[
12342							165u8, 26u8, 166u8, 37u8, 10u8, 174u8, 243u8, 10u8, 73u8, 93u8, 213u8,
12343							69u8, 200u8, 16u8, 48u8, 146u8, 160u8, 92u8, 28u8, 26u8, 158u8, 55u8,
12344							6u8, 251u8, 36u8, 132u8, 46u8, 195u8, 107u8, 34u8, 0u8, 100u8,
12345						],
12346					)
12347				}
12348			}
12349		}
12350		#[doc = "The `Event` enum of this pallet"]
12351		pub type Event = runtime_types::pallet_conviction_voting::pallet::Event;
12352		pub mod events {
12353			use super::runtime_types;
12354			#[derive(
12355				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12356				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12357				Debug,
12358			)]
12359			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
12360			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
12361			#[doc = "An account has delegated their vote to another account. \\[who, target\\]"]
12362			pub struct Delegated(pub delegated::Field0, pub delegated::Field1);
12363			pub mod delegated {
12364				use super::runtime_types;
12365				pub type Field0 = ::subxt::ext::subxt_core::utils::AccountId32;
12366				pub type Field1 = ::subxt::ext::subxt_core::utils::AccountId32;
12367			}
12368			impl ::subxt::ext::subxt_core::events::StaticEvent for Delegated {
12369				const PALLET: &'static str = "ConvictionVoting";
12370				const EVENT: &'static str = "Delegated";
12371			}
12372			#[derive(
12373				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12374				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12375				Debug,
12376			)]
12377			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
12378			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
12379			#[doc = "An \\[account\\] has cancelled a previous delegation operation."]
12380			pub struct Undelegated(pub undelegated::Field0);
12381			pub mod undelegated {
12382				use super::runtime_types;
12383				pub type Field0 = ::subxt::ext::subxt_core::utils::AccountId32;
12384			}
12385			impl ::subxt::ext::subxt_core::events::StaticEvent for Undelegated {
12386				const PALLET: &'static str = "ConvictionVoting";
12387				const EVENT: &'static str = "Undelegated";
12388			}
12389			#[derive(
12390				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12391				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12392				Debug,
12393			)]
12394			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
12395			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
12396			#[doc = "An account has voted"]
12397			pub struct Voted {
12398				pub who: voted::Who,
12399				pub vote: voted::Vote,
12400			}
12401			pub mod voted {
12402				use super::runtime_types;
12403				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
12404				pub type Vote = runtime_types::pallet_conviction_voting::vote::AccountVote<
12405					::core::primitive::u128,
12406				>;
12407			}
12408			impl ::subxt::ext::subxt_core::events::StaticEvent for Voted {
12409				const PALLET: &'static str = "ConvictionVoting";
12410				const EVENT: &'static str = "Voted";
12411			}
12412			#[derive(
12413				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12414				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12415				Debug,
12416			)]
12417			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
12418			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
12419			#[doc = "A vote has been removed"]
12420			pub struct VoteRemoved {
12421				pub who: vote_removed::Who,
12422				pub vote: vote_removed::Vote,
12423			}
12424			pub mod vote_removed {
12425				use super::runtime_types;
12426				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
12427				pub type Vote = runtime_types::pallet_conviction_voting::vote::AccountVote<
12428					::core::primitive::u128,
12429				>;
12430			}
12431			impl ::subxt::ext::subxt_core::events::StaticEvent for VoteRemoved {
12432				const PALLET: &'static str = "ConvictionVoting";
12433				const EVENT: &'static str = "VoteRemoved";
12434			}
12435			#[derive(
12436				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12437				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12438				Debug,
12439			)]
12440			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
12441			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
12442			#[doc = "The lockup period of a conviction vote expired, and the funds have been unlocked."]
12443			pub struct VoteUnlocked {
12444				pub who: vote_unlocked::Who,
12445				pub class: vote_unlocked::Class,
12446			}
12447			pub mod vote_unlocked {
12448				use super::runtime_types;
12449				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
12450				pub type Class = ::core::primitive::u16;
12451			}
12452			impl ::subxt::ext::subxt_core::events::StaticEvent for VoteUnlocked {
12453				const PALLET: &'static str = "ConvictionVoting";
12454				const EVENT: &'static str = "VoteUnlocked";
12455			}
12456		}
12457		pub mod storage {
12458			use super::runtime_types;
12459			pub mod types {
12460				use super::runtime_types;
12461				pub mod voting_for {
12462					use super::runtime_types;
12463					pub type VotingFor = runtime_types::pallet_conviction_voting::vote::Voting<
12464						::core::primitive::u128,
12465						::subxt::ext::subxt_core::utils::AccountId32,
12466						::core::primitive::u32,
12467						::core::primitive::u32,
12468					>;
12469					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
12470					pub type Param1 = ::core::primitive::u16;
12471				}
12472				pub mod class_locks_for {
12473					use super::runtime_types;
12474					pub type ClassLocksFor =
12475						runtime_types::bounded_collections::bounded_vec::BoundedVec<(
12476							::core::primitive::u16,
12477							::core::primitive::u128,
12478						)>;
12479					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
12480				}
12481			}
12482			pub struct StorageApi;
12483			impl StorageApi {
12484				#[doc = " All voting for a particular voter in a particular voting class. We store the balance for the"]
12485				#[doc = " number of votes that we have recorded."]
12486				pub fn voting_for_iter(
12487					&self,
12488				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12489					(),
12490					types::voting_for::VotingFor,
12491					(),
12492					::subxt::ext::subxt_core::utils::Yes,
12493					::subxt::ext::subxt_core::utils::Yes,
12494				> {
12495					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12496						"ConvictionVoting",
12497						"VotingFor",
12498						(),
12499						[
12500							76u8, 63u8, 153u8, 193u8, 39u8, 137u8, 186u8, 29u8, 202u8, 56u8, 169u8,
12501							56u8, 103u8, 138u8, 192u8, 18u8, 179u8, 114u8, 56u8, 121u8, 197u8,
12502							12u8, 29u8, 239u8, 220u8, 231u8, 24u8, 46u8, 134u8, 99u8, 53u8, 206u8,
12503						],
12504					)
12505				}
12506				#[doc = " All voting for a particular voter in a particular voting class. We store the balance for the"]
12507				#[doc = " number of votes that we have recorded."]
12508				pub fn voting_for_iter1(
12509					&self,
12510					_0: types::voting_for::Param0,
12511				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12512					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12513						types::voting_for::Param0,
12514					>,
12515					types::voting_for::VotingFor,
12516					(),
12517					::subxt::ext::subxt_core::utils::Yes,
12518					::subxt::ext::subxt_core::utils::Yes,
12519				> {
12520					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12521						"ConvictionVoting",
12522						"VotingFor",
12523						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12524						[
12525							76u8, 63u8, 153u8, 193u8, 39u8, 137u8, 186u8, 29u8, 202u8, 56u8, 169u8,
12526							56u8, 103u8, 138u8, 192u8, 18u8, 179u8, 114u8, 56u8, 121u8, 197u8,
12527							12u8, 29u8, 239u8, 220u8, 231u8, 24u8, 46u8, 134u8, 99u8, 53u8, 206u8,
12528						],
12529					)
12530				}
12531				#[doc = " All voting for a particular voter in a particular voting class. We store the balance for the"]
12532				#[doc = " number of votes that we have recorded."]
12533				pub fn voting_for(
12534					&self,
12535					_0: types::voting_for::Param0,
12536					_1: types::voting_for::Param1,
12537				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12538					(
12539						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12540							types::voting_for::Param0,
12541						>,
12542						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12543							types::voting_for::Param1,
12544						>,
12545					),
12546					types::voting_for::VotingFor,
12547					::subxt::ext::subxt_core::utils::Yes,
12548					::subxt::ext::subxt_core::utils::Yes,
12549					(),
12550				> {
12551					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12552						"ConvictionVoting",
12553						"VotingFor",
12554						(
12555							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12556							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
12557						),
12558						[
12559							76u8, 63u8, 153u8, 193u8, 39u8, 137u8, 186u8, 29u8, 202u8, 56u8, 169u8,
12560							56u8, 103u8, 138u8, 192u8, 18u8, 179u8, 114u8, 56u8, 121u8, 197u8,
12561							12u8, 29u8, 239u8, 220u8, 231u8, 24u8, 46u8, 134u8, 99u8, 53u8, 206u8,
12562						],
12563					)
12564				}
12565				#[doc = " The voting classes which have a non-zero lock requirement and the lock amounts which they"]
12566				#[doc = " require. The actual amount locked on behalf of this pallet should always be the maximum of"]
12567				#[doc = " this list."]
12568				pub fn class_locks_for_iter(
12569					&self,
12570				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12571					(),
12572					types::class_locks_for::ClassLocksFor,
12573					(),
12574					::subxt::ext::subxt_core::utils::Yes,
12575					::subxt::ext::subxt_core::utils::Yes,
12576				> {
12577					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12578						"ConvictionVoting",
12579						"ClassLocksFor",
12580						(),
12581						[
12582							74u8, 74u8, 8u8, 82u8, 215u8, 61u8, 13u8, 9u8, 44u8, 222u8, 33u8,
12583							245u8, 195u8, 124u8, 6u8, 174u8, 65u8, 245u8, 71u8, 42u8, 47u8, 46u8,
12584							164u8, 231u8, 11u8, 245u8, 115u8, 207u8, 209u8, 137u8, 90u8, 6u8,
12585						],
12586					)
12587				}
12588				#[doc = " The voting classes which have a non-zero lock requirement and the lock amounts which they"]
12589				#[doc = " require. The actual amount locked on behalf of this pallet should always be the maximum of"]
12590				#[doc = " this list."]
12591				pub fn class_locks_for(
12592					&self,
12593					_0: types::class_locks_for::Param0,
12594				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12595					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12596						types::class_locks_for::Param0,
12597					>,
12598					types::class_locks_for::ClassLocksFor,
12599					::subxt::ext::subxt_core::utils::Yes,
12600					::subxt::ext::subxt_core::utils::Yes,
12601					(),
12602				> {
12603					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12604						"ConvictionVoting",
12605						"ClassLocksFor",
12606						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12607						[
12608							74u8, 74u8, 8u8, 82u8, 215u8, 61u8, 13u8, 9u8, 44u8, 222u8, 33u8,
12609							245u8, 195u8, 124u8, 6u8, 174u8, 65u8, 245u8, 71u8, 42u8, 47u8, 46u8,
12610							164u8, 231u8, 11u8, 245u8, 115u8, 207u8, 209u8, 137u8, 90u8, 6u8,
12611						],
12612					)
12613				}
12614			}
12615		}
12616		pub mod constants {
12617			use super::runtime_types;
12618			pub struct ConstantsApi;
12619			impl ConstantsApi {
12620				#[doc = " The maximum number of concurrent votes an account may have."]
12621				#[doc = ""]
12622				#[doc = " Also used to compute weight, an overly large value can lead to extrinsics with large"]
12623				#[doc = " weight estimation: see `delegate` for instance."]
12624				pub fn max_votes(
12625					&self,
12626				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
12627					::core::primitive::u32,
12628				> {
12629					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
12630						"ConvictionVoting",
12631						"MaxVotes",
12632						[
12633							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
12634							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
12635							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
12636							145u8,
12637						],
12638					)
12639				}
12640				#[doc = " The minimum period of vote locking."]
12641				#[doc = ""]
12642				#[doc = " It should be no shorter than enactment period to ensure that in the case of an approval,"]
12643				#[doc = " those successful voters are locked into the consequences that their votes entail."]
12644				pub fn vote_locking_period(
12645					&self,
12646				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
12647					::core::primitive::u32,
12648				> {
12649					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
12650						"ConvictionVoting",
12651						"VoteLockingPeriod",
12652						[
12653							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
12654							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
12655							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
12656							145u8,
12657						],
12658					)
12659				}
12660			}
12661		}
12662	}
12663	pub mod tech_collective {
12664		use super::{root_mod, runtime_types};
12665		#[doc = "The `Error` enum of this pallet."]
12666		pub type Error = runtime_types::pallet_ranked_collective::pallet::Error;
12667		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
12668		pub type Call = runtime_types::pallet_ranked_collective::pallet::Call;
12669		pub mod calls {
12670			use super::{root_mod, runtime_types};
12671			type DispatchError = runtime_types::sp_runtime::DispatchError;
12672			pub mod types {
12673				use super::runtime_types;
12674				#[derive(
12675					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12676					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12677					Debug,
12678				)]
12679				#[decode_as_type(
12680					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12681				)]
12682				#[encode_as_type(
12683					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12684				)]
12685				#[doc = "Introduce a new member."]
12686				#[doc = ""]
12687				#[doc = "- `origin`: Must be the `AddOrigin`."]
12688				#[doc = "- `who`: Account of non-member which will become a member."]
12689				#[doc = ""]
12690				#[doc = "Weight: `O(1)`"]
12691				pub struct AddMember {
12692					pub who: add_member::Who,
12693				}
12694				pub mod add_member {
12695					use super::runtime_types;
12696					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
12697						::subxt::ext::subxt_core::utils::AccountId32,
12698						(),
12699					>;
12700				}
12701				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for AddMember {
12702					const PALLET: &'static str = "TechCollective";
12703					const CALL: &'static str = "add_member";
12704				}
12705				#[derive(
12706					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12707					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12708					Debug,
12709				)]
12710				#[decode_as_type(
12711					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12712				)]
12713				#[encode_as_type(
12714					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12715				)]
12716				#[doc = "Increment the rank of an existing member by one."]
12717				#[doc = ""]
12718				#[doc = "- `origin`: Must be the `PromoteOrigin`."]
12719				#[doc = "- `who`: Account of existing member."]
12720				#[doc = ""]
12721				#[doc = "Weight: `O(1)`"]
12722				pub struct PromoteMember {
12723					pub who: promote_member::Who,
12724				}
12725				pub mod promote_member {
12726					use super::runtime_types;
12727					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
12728						::subxt::ext::subxt_core::utils::AccountId32,
12729						(),
12730					>;
12731				}
12732				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for PromoteMember {
12733					const PALLET: &'static str = "TechCollective";
12734					const CALL: &'static str = "promote_member";
12735				}
12736				#[derive(
12737					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12738					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12739					Debug,
12740				)]
12741				#[decode_as_type(
12742					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12743				)]
12744				#[encode_as_type(
12745					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12746				)]
12747				#[doc = "Decrement the rank of an existing member by one. If the member is already at rank zero,"]
12748				#[doc = "then they are removed entirely."]
12749				#[doc = ""]
12750				#[doc = "- `origin`: Must be the `DemoteOrigin`."]
12751				#[doc = "- `who`: Account of existing member of rank greater than zero."]
12752				#[doc = ""]
12753				#[doc = "Weight: `O(1)`, less if the member's index is highest in its rank."]
12754				pub struct DemoteMember {
12755					pub who: demote_member::Who,
12756				}
12757				pub mod demote_member {
12758					use super::runtime_types;
12759					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
12760						::subxt::ext::subxt_core::utils::AccountId32,
12761						(),
12762					>;
12763				}
12764				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for DemoteMember {
12765					const PALLET: &'static str = "TechCollective";
12766					const CALL: &'static str = "demote_member";
12767				}
12768				#[derive(
12769					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12770					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12771					Debug,
12772				)]
12773				#[decode_as_type(
12774					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12775				)]
12776				#[encode_as_type(
12777					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12778				)]
12779				#[doc = "Remove the member entirely."]
12780				#[doc = ""]
12781				#[doc = "- `origin`: Must be the `RemoveOrigin`."]
12782				#[doc = "- `who`: Account of existing member of rank greater than zero."]
12783				#[doc = "- `min_rank`: The rank of the member or greater."]
12784				#[doc = ""]
12785				#[doc = "Weight: `O(min_rank)`."]
12786				pub struct RemoveMember {
12787					pub who: remove_member::Who,
12788					pub min_rank: remove_member::MinRank,
12789				}
12790				pub mod remove_member {
12791					use super::runtime_types;
12792					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
12793						::subxt::ext::subxt_core::utils::AccountId32,
12794						(),
12795					>;
12796					pub type MinRank = ::core::primitive::u16;
12797				}
12798				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveMember {
12799					const PALLET: &'static str = "TechCollective";
12800					const CALL: &'static str = "remove_member";
12801				}
12802				#[derive(
12803					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12804					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12805					Debug,
12806				)]
12807				#[decode_as_type(
12808					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12809				)]
12810				#[encode_as_type(
12811					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12812				)]
12813				#[doc = "Add an aye or nay vote for the sender to the given proposal."]
12814				#[doc = ""]
12815				#[doc = "- `origin`: Must be `Signed` by a member account."]
12816				#[doc = "- `poll`: Index of a poll which is ongoing."]
12817				#[doc = "- `aye`: `true` if the vote is to approve the proposal, `false` otherwise."]
12818				#[doc = ""]
12819				#[doc = "Transaction fees are be waived if the member is voting on any particular proposal"]
12820				#[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"]
12821				#[doc = "fee."]
12822				#[doc = ""]
12823				#[doc = "Weight: `O(1)`, less if there was no previous vote on the poll by the member."]
12824				pub struct Vote {
12825					pub poll: vote::Poll,
12826					pub aye: vote::Aye,
12827				}
12828				pub mod vote {
12829					use super::runtime_types;
12830					pub type Poll = ::core::primitive::u32;
12831					pub type Aye = ::core::primitive::bool;
12832				}
12833				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Vote {
12834					const PALLET: &'static str = "TechCollective";
12835					const CALL: &'static str = "vote";
12836				}
12837				#[derive(
12838					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12839					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12840					Debug,
12841				)]
12842				#[decode_as_type(
12843					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12844				)]
12845				#[encode_as_type(
12846					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12847				)]
12848				#[doc = "Remove votes from the given poll. It must have ended."]
12849				#[doc = ""]
12850				#[doc = "- `origin`: Must be `Signed` by any account."]
12851				#[doc = "- `poll_index`: Index of a poll which is completed and for which votes continue to"]
12852				#[doc = "  exist."]
12853				#[doc = "- `max`: Maximum number of vote items from remove in this call."]
12854				#[doc = ""]
12855				#[doc = "Transaction fees are waived if the operation is successful."]
12856				#[doc = ""]
12857				#[doc = "Weight `O(max)` (less if there are fewer items to remove than `max`)."]
12858				pub struct CleanupPoll {
12859					pub poll_index: cleanup_poll::PollIndex,
12860					pub max: cleanup_poll::Max,
12861				}
12862				pub mod cleanup_poll {
12863					use super::runtime_types;
12864					pub type PollIndex = ::core::primitive::u32;
12865					pub type Max = ::core::primitive::u32;
12866				}
12867				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CleanupPoll {
12868					const PALLET: &'static str = "TechCollective";
12869					const CALL: &'static str = "cleanup_poll";
12870				}
12871				#[derive(
12872					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12873					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12874					Debug,
12875				)]
12876				#[decode_as_type(
12877					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12878				)]
12879				#[encode_as_type(
12880					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12881				)]
12882				#[doc = "Exchanges a member with a new account and the same existing rank."]
12883				#[doc = ""]
12884				#[doc = "- `origin`: Must be the `ExchangeOrigin`."]
12885				#[doc = "- `who`: Account of existing member of rank greater than zero to be exchanged."]
12886				#[doc = "- `new_who`: New Account of existing member of rank greater than zero to exchanged to."]
12887				pub struct ExchangeMember {
12888					pub who: exchange_member::Who,
12889					pub new_who: exchange_member::NewWho,
12890				}
12891				pub mod exchange_member {
12892					use super::runtime_types;
12893					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
12894						::subxt::ext::subxt_core::utils::AccountId32,
12895						(),
12896					>;
12897					pub type NewWho = ::subxt::ext::subxt_core::utils::MultiAddress<
12898						::subxt::ext::subxt_core::utils::AccountId32,
12899						(),
12900					>;
12901				}
12902				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ExchangeMember {
12903					const PALLET: &'static str = "TechCollective";
12904					const CALL: &'static str = "exchange_member";
12905				}
12906			}
12907			pub struct TransactionApi;
12908			impl TransactionApi {
12909				#[doc = "Introduce a new member."]
12910				#[doc = ""]
12911				#[doc = "- `origin`: Must be the `AddOrigin`."]
12912				#[doc = "- `who`: Account of non-member which will become a member."]
12913				#[doc = ""]
12914				#[doc = "Weight: `O(1)`"]
12915				pub fn add_member(
12916					&self,
12917					who: types::add_member::Who,
12918				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::AddMember> {
12919					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12920						"TechCollective",
12921						"add_member",
12922						types::AddMember { who },
12923						[
12924							2u8, 131u8, 37u8, 217u8, 112u8, 46u8, 86u8, 165u8, 248u8, 244u8, 33u8,
12925							236u8, 155u8, 28u8, 163u8, 169u8, 213u8, 32u8, 70u8, 217u8, 97u8,
12926							194u8, 138u8, 77u8, 133u8, 97u8, 188u8, 49u8, 49u8, 31u8, 177u8, 206u8,
12927						],
12928					)
12929				}
12930				#[doc = "Increment the rank of an existing member by one."]
12931				#[doc = ""]
12932				#[doc = "- `origin`: Must be the `PromoteOrigin`."]
12933				#[doc = "- `who`: Account of existing member."]
12934				#[doc = ""]
12935				#[doc = "Weight: `O(1)`"]
12936				pub fn promote_member(
12937					&self,
12938					who: types::promote_member::Who,
12939				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::PromoteMember>
12940				{
12941					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12942						"TechCollective",
12943						"promote_member",
12944						types::PromoteMember { who },
12945						[
12946							169u8, 155u8, 9u8, 50u8, 144u8, 133u8, 230u8, 60u8, 216u8, 147u8, 3u8,
12947							236u8, 94u8, 185u8, 106u8, 139u8, 235u8, 143u8, 189u8, 135u8, 208u8,
12948							176u8, 126u8, 124u8, 85u8, 140u8, 189u8, 125u8, 87u8, 56u8, 57u8,
12949							246u8,
12950						],
12951					)
12952				}
12953				#[doc = "Decrement the rank of an existing member by one. If the member is already at rank zero,"]
12954				#[doc = "then they are removed entirely."]
12955				#[doc = ""]
12956				#[doc = "- `origin`: Must be the `DemoteOrigin`."]
12957				#[doc = "- `who`: Account of existing member of rank greater than zero."]
12958				#[doc = ""]
12959				#[doc = "Weight: `O(1)`, less if the member's index is highest in its rank."]
12960				pub fn demote_member(
12961					&self,
12962					who: types::demote_member::Who,
12963				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::DemoteMember> {
12964					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12965						"TechCollective",
12966						"demote_member",
12967						types::DemoteMember { who },
12968						[
12969							21u8, 185u8, 71u8, 166u8, 106u8, 88u8, 74u8, 251u8, 78u8, 28u8, 205u8,
12970							171u8, 199u8, 195u8, 97u8, 149u8, 175u8, 229u8, 25u8, 113u8, 96u8,
12971							25u8, 240u8, 64u8, 109u8, 246u8, 203u8, 45u8, 110u8, 205u8, 115u8,
12972							178u8,
12973						],
12974					)
12975				}
12976				#[doc = "Remove the member entirely."]
12977				#[doc = ""]
12978				#[doc = "- `origin`: Must be the `RemoveOrigin`."]
12979				#[doc = "- `who`: Account of existing member of rank greater than zero."]
12980				#[doc = "- `min_rank`: The rank of the member or greater."]
12981				#[doc = ""]
12982				#[doc = "Weight: `O(min_rank)`."]
12983				pub fn remove_member(
12984					&self,
12985					who: types::remove_member::Who,
12986					min_rank: types::remove_member::MinRank,
12987				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveMember> {
12988					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12989						"TechCollective",
12990						"remove_member",
12991						types::RemoveMember { who, min_rank },
12992						[
12993							23u8, 156u8, 32u8, 64u8, 158u8, 50u8, 64u8, 199u8, 108u8, 67u8, 133u8,
12994							128u8, 138u8, 241u8, 14u8, 238u8, 192u8, 173u8, 250u8, 11u8, 124u8,
12995							119u8, 177u8, 190u8, 152u8, 116u8, 134u8, 42u8, 216u8, 49u8, 113u8,
12996							49u8,
12997						],
12998					)
12999				}
13000				#[doc = "Add an aye or nay vote for the sender to the given proposal."]
13001				#[doc = ""]
13002				#[doc = "- `origin`: Must be `Signed` by a member account."]
13003				#[doc = "- `poll`: Index of a poll which is ongoing."]
13004				#[doc = "- `aye`: `true` if the vote is to approve the proposal, `false` otherwise."]
13005				#[doc = ""]
13006				#[doc = "Transaction fees are be waived if the member is voting on any particular proposal"]
13007				#[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"]
13008				#[doc = "fee."]
13009				#[doc = ""]
13010				#[doc = "Weight: `O(1)`, less if there was no previous vote on the poll by the member."]
13011				pub fn vote(
13012					&self,
13013					poll: types::vote::Poll,
13014					aye: types::vote::Aye,
13015				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Vote> {
13016					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13017						"TechCollective",
13018						"vote",
13019						types::Vote { poll, aye },
13020						[
13021							54u8, 116u8, 81u8, 239u8, 223u8, 35u8, 11u8, 244u8, 245u8, 94u8, 23u8,
13022							241u8, 125u8, 231u8, 56u8, 150u8, 105u8, 125u8, 100u8, 171u8, 182u8,
13023							186u8, 134u8, 40u8, 4u8, 121u8, 119u8, 11u8, 93u8, 158u8, 59u8, 209u8,
13024						],
13025					)
13026				}
13027				#[doc = "Remove votes from the given poll. It must have ended."]
13028				#[doc = ""]
13029				#[doc = "- `origin`: Must be `Signed` by any account."]
13030				#[doc = "- `poll_index`: Index of a poll which is completed and for which votes continue to"]
13031				#[doc = "  exist."]
13032				#[doc = "- `max`: Maximum number of vote items from remove in this call."]
13033				#[doc = ""]
13034				#[doc = "Transaction fees are waived if the operation is successful."]
13035				#[doc = ""]
13036				#[doc = "Weight `O(max)` (less if there are fewer items to remove than `max`)."]
13037				pub fn cleanup_poll(
13038					&self,
13039					poll_index: types::cleanup_poll::PollIndex,
13040					max: types::cleanup_poll::Max,
13041				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CleanupPoll> {
13042					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13043						"TechCollective",
13044						"cleanup_poll",
13045						types::CleanupPoll { poll_index, max },
13046						[
13047							157u8, 109u8, 86u8, 253u8, 62u8, 107u8, 235u8, 255u8, 171u8, 68u8,
13048							103u8, 92u8, 245u8, 25u8, 252u8, 158u8, 174u8, 137u8, 77u8, 251u8,
13049							105u8, 113u8, 165u8, 46u8, 39u8, 55u8, 166u8, 79u8, 103u8, 81u8, 121u8,
13050							37u8,
13051						],
13052					)
13053				}
13054				#[doc = "Exchanges a member with a new account and the same existing rank."]
13055				#[doc = ""]
13056				#[doc = "- `origin`: Must be the `ExchangeOrigin`."]
13057				#[doc = "- `who`: Account of existing member of rank greater than zero to be exchanged."]
13058				#[doc = "- `new_who`: New Account of existing member of rank greater than zero to exchanged to."]
13059				pub fn exchange_member(
13060					&self,
13061					who: types::exchange_member::Who,
13062					new_who: types::exchange_member::NewWho,
13063				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ExchangeMember>
13064				{
13065					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13066						"TechCollective",
13067						"exchange_member",
13068						types::ExchangeMember { who, new_who },
13069						[
13070							240u8, 208u8, 76u8, 147u8, 117u8, 23u8, 91u8, 37u8, 22u8, 101u8, 53u8,
13071							247u8, 161u8, 94u8, 109u8, 233u8, 104u8, 129u8, 67u8, 31u8, 223u8,
13072							182u8, 50u8, 233u8, 120u8, 129u8, 224u8, 135u8, 52u8, 162u8, 26u8,
13073							189u8,
13074						],
13075					)
13076				}
13077			}
13078		}
13079		#[doc = "The `Event` enum of this pallet"]
13080		pub type Event = runtime_types::pallet_ranked_collective::pallet::Event;
13081		pub mod events {
13082			use super::runtime_types;
13083			#[derive(
13084				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13085				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13086				Debug,
13087			)]
13088			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13089			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13090			#[doc = "A member `who` has been added."]
13091			pub struct MemberAdded {
13092				pub who: member_added::Who,
13093			}
13094			pub mod member_added {
13095				use super::runtime_types;
13096				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
13097			}
13098			impl ::subxt::ext::subxt_core::events::StaticEvent for MemberAdded {
13099				const PALLET: &'static str = "TechCollective";
13100				const EVENT: &'static str = "MemberAdded";
13101			}
13102			#[derive(
13103				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13104				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13105				Debug,
13106			)]
13107			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13108			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13109			#[doc = "The member `who`se rank has been changed to the given `rank`."]
13110			pub struct RankChanged {
13111				pub who: rank_changed::Who,
13112				pub rank: rank_changed::Rank,
13113			}
13114			pub mod rank_changed {
13115				use super::runtime_types;
13116				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
13117				pub type Rank = ::core::primitive::u16;
13118			}
13119			impl ::subxt::ext::subxt_core::events::StaticEvent for RankChanged {
13120				const PALLET: &'static str = "TechCollective";
13121				const EVENT: &'static str = "RankChanged";
13122			}
13123			#[derive(
13124				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13125				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13126				Debug,
13127			)]
13128			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13129			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13130			#[doc = "The member `who` of given `rank` has been removed from the collective."]
13131			pub struct MemberRemoved {
13132				pub who: member_removed::Who,
13133				pub rank: member_removed::Rank,
13134			}
13135			pub mod member_removed {
13136				use super::runtime_types;
13137				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
13138				pub type Rank = ::core::primitive::u16;
13139			}
13140			impl ::subxt::ext::subxt_core::events::StaticEvent for MemberRemoved {
13141				const PALLET: &'static str = "TechCollective";
13142				const EVENT: &'static str = "MemberRemoved";
13143			}
13144			#[derive(
13145				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13146				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13147				Debug,
13148			)]
13149			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13150			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13151			#[doc = "The member `who` has voted for the `poll` with the given `vote` leading to an updated"]
13152			#[doc = "`tally`."]
13153			pub struct Voted {
13154				pub who: voted::Who,
13155				pub poll: voted::Poll,
13156				pub vote: voted::Vote,
13157				pub tally: voted::Tally,
13158			}
13159			pub mod voted {
13160				use super::runtime_types;
13161				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
13162				pub type Poll = ::core::primitive::u32;
13163				pub type Vote = runtime_types::pallet_ranked_collective::VoteRecord;
13164				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
13165			}
13166			impl ::subxt::ext::subxt_core::events::StaticEvent for Voted {
13167				const PALLET: &'static str = "TechCollective";
13168				const EVENT: &'static str = "Voted";
13169			}
13170			#[derive(
13171				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13172				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13173				Debug,
13174			)]
13175			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13176			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13177			#[doc = "The member `who` had their `AccountId` changed to `new_who`."]
13178			pub struct MemberExchanged {
13179				pub who: member_exchanged::Who,
13180				pub new_who: member_exchanged::NewWho,
13181			}
13182			pub mod member_exchanged {
13183				use super::runtime_types;
13184				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
13185				pub type NewWho = ::subxt::ext::subxt_core::utils::AccountId32;
13186			}
13187			impl ::subxt::ext::subxt_core::events::StaticEvent for MemberExchanged {
13188				const PALLET: &'static str = "TechCollective";
13189				const EVENT: &'static str = "MemberExchanged";
13190			}
13191		}
13192		pub mod storage {
13193			use super::runtime_types;
13194			pub mod types {
13195				use super::runtime_types;
13196				pub mod member_count {
13197					use super::runtime_types;
13198					pub type MemberCount = ::core::primitive::u32;
13199					pub type Param0 = ::core::primitive::u16;
13200				}
13201				pub mod members {
13202					use super::runtime_types;
13203					pub type Members = runtime_types::pallet_ranked_collective::MemberRecord;
13204					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
13205				}
13206				pub mod id_to_index {
13207					use super::runtime_types;
13208					pub type IdToIndex = ::core::primitive::u32;
13209					pub type Param0 = ::core::primitive::u16;
13210					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
13211				}
13212				pub mod index_to_id {
13213					use super::runtime_types;
13214					pub type IndexToId = ::subxt::ext::subxt_core::utils::AccountId32;
13215					pub type Param0 = ::core::primitive::u16;
13216					pub type Param1 = ::core::primitive::u32;
13217				}
13218				pub mod voting {
13219					use super::runtime_types;
13220					pub type Voting = runtime_types::pallet_ranked_collective::VoteRecord;
13221					pub type Param0 = ::core::primitive::u32;
13222					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
13223				}
13224				pub mod voting_cleanup {
13225					use super::runtime_types;
13226					pub type VotingCleanup =
13227						runtime_types::bounded_collections::bounded_vec::BoundedVec<
13228							::core::primitive::u8,
13229						>;
13230					pub type Param0 = ::core::primitive::u32;
13231				}
13232			}
13233			pub struct StorageApi;
13234			impl StorageApi {
13235				#[doc = " The number of members in the collective who have at least the rank according to the index"]
13236				#[doc = " of the vec."]
13237				pub fn member_count_iter(
13238					&self,
13239				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13240					(),
13241					types::member_count::MemberCount,
13242					(),
13243					::subxt::ext::subxt_core::utils::Yes,
13244					::subxt::ext::subxt_core::utils::Yes,
13245				> {
13246					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13247						"TechCollective",
13248						"MemberCount",
13249						(),
13250						[
13251							0u8, 141u8, 66u8, 91u8, 155u8, 74u8, 17u8, 191u8, 143u8, 41u8, 231u8,
13252							56u8, 123u8, 219u8, 145u8, 27u8, 197u8, 62u8, 118u8, 237u8, 30u8, 7u8,
13253							107u8, 96u8, 95u8, 17u8, 242u8, 206u8, 246u8, 79u8, 53u8, 214u8,
13254						],
13255					)
13256				}
13257				#[doc = " The number of members in the collective who have at least the rank according to the index"]
13258				#[doc = " of the vec."]
13259				pub fn member_count(
13260					&self,
13261					_0: types::member_count::Param0,
13262				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13263					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13264						types::member_count::Param0,
13265					>,
13266					types::member_count::MemberCount,
13267					::subxt::ext::subxt_core::utils::Yes,
13268					::subxt::ext::subxt_core::utils::Yes,
13269					(),
13270				> {
13271					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13272						"TechCollective",
13273						"MemberCount",
13274						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13275						[
13276							0u8, 141u8, 66u8, 91u8, 155u8, 74u8, 17u8, 191u8, 143u8, 41u8, 231u8,
13277							56u8, 123u8, 219u8, 145u8, 27u8, 197u8, 62u8, 118u8, 237u8, 30u8, 7u8,
13278							107u8, 96u8, 95u8, 17u8, 242u8, 206u8, 246u8, 79u8, 53u8, 214u8,
13279						],
13280					)
13281				}
13282				#[doc = " The current members of the collective."]
13283				pub fn members_iter(
13284					&self,
13285				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13286					(),
13287					types::members::Members,
13288					(),
13289					(),
13290					::subxt::ext::subxt_core::utils::Yes,
13291				> {
13292					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13293						"TechCollective",
13294						"Members",
13295						(),
13296						[
13297							101u8, 183u8, 36u8, 241u8, 67u8, 8u8, 252u8, 116u8, 110u8, 153u8,
13298							117u8, 210u8, 128u8, 80u8, 130u8, 163u8, 38u8, 76u8, 230u8, 107u8,
13299							112u8, 90u8, 102u8, 24u8, 217u8, 2u8, 244u8, 197u8, 103u8, 215u8,
13300							247u8, 133u8,
13301						],
13302					)
13303				}
13304				#[doc = " The current members of the collective."]
13305				pub fn members(
13306					&self,
13307					_0: types::members::Param0,
13308				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13309					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13310						types::members::Param0,
13311					>,
13312					types::members::Members,
13313					::subxt::ext::subxt_core::utils::Yes,
13314					(),
13315					(),
13316				> {
13317					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13318						"TechCollective",
13319						"Members",
13320						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13321						[
13322							101u8, 183u8, 36u8, 241u8, 67u8, 8u8, 252u8, 116u8, 110u8, 153u8,
13323							117u8, 210u8, 128u8, 80u8, 130u8, 163u8, 38u8, 76u8, 230u8, 107u8,
13324							112u8, 90u8, 102u8, 24u8, 217u8, 2u8, 244u8, 197u8, 103u8, 215u8,
13325							247u8, 133u8,
13326						],
13327					)
13328				}
13329				#[doc = " The index of each ranks's member into the group of members who have at least that rank."]
13330				pub fn id_to_index_iter(
13331					&self,
13332				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13333					(),
13334					types::id_to_index::IdToIndex,
13335					(),
13336					(),
13337					::subxt::ext::subxt_core::utils::Yes,
13338				> {
13339					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13340						"TechCollective",
13341						"IdToIndex",
13342						(),
13343						[
13344							121u8, 225u8, 69u8, 131u8, 194u8, 3u8, 82u8, 27u8, 129u8, 152u8, 157u8,
13345							45u8, 39u8, 47u8, 166u8, 28u8, 42u8, 92u8, 217u8, 189u8, 160u8, 102u8,
13346							153u8, 196u8, 94u8, 48u8, 248u8, 113u8, 164u8, 111u8, 27u8, 9u8,
13347						],
13348					)
13349				}
13350				#[doc = " The index of each ranks's member into the group of members who have at least that rank."]
13351				pub fn id_to_index_iter1(
13352					&self,
13353					_0: types::id_to_index::Param0,
13354				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13355					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13356						types::id_to_index::Param0,
13357					>,
13358					types::id_to_index::IdToIndex,
13359					(),
13360					(),
13361					::subxt::ext::subxt_core::utils::Yes,
13362				> {
13363					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13364						"TechCollective",
13365						"IdToIndex",
13366						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13367						[
13368							121u8, 225u8, 69u8, 131u8, 194u8, 3u8, 82u8, 27u8, 129u8, 152u8, 157u8,
13369							45u8, 39u8, 47u8, 166u8, 28u8, 42u8, 92u8, 217u8, 189u8, 160u8, 102u8,
13370							153u8, 196u8, 94u8, 48u8, 248u8, 113u8, 164u8, 111u8, 27u8, 9u8,
13371						],
13372					)
13373				}
13374				#[doc = " The index of each ranks's member into the group of members who have at least that rank."]
13375				pub fn id_to_index(
13376					&self,
13377					_0: types::id_to_index::Param0,
13378					_1: types::id_to_index::Param1,
13379				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13380					(
13381						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13382							types::id_to_index::Param0,
13383						>,
13384						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13385							types::id_to_index::Param1,
13386						>,
13387					),
13388					types::id_to_index::IdToIndex,
13389					::subxt::ext::subxt_core::utils::Yes,
13390					(),
13391					(),
13392				> {
13393					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13394						"TechCollective",
13395						"IdToIndex",
13396						(
13397							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13398							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
13399						),
13400						[
13401							121u8, 225u8, 69u8, 131u8, 194u8, 3u8, 82u8, 27u8, 129u8, 152u8, 157u8,
13402							45u8, 39u8, 47u8, 166u8, 28u8, 42u8, 92u8, 217u8, 189u8, 160u8, 102u8,
13403							153u8, 196u8, 94u8, 48u8, 248u8, 113u8, 164u8, 111u8, 27u8, 9u8,
13404						],
13405					)
13406				}
13407				#[doc = " The members in the collective by index. All indices in the range `0..MemberCount` will"]
13408				#[doc = " return `Some`, however a member's index is not guaranteed to remain unchanged over time."]
13409				pub fn index_to_id_iter(
13410					&self,
13411				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13412					(),
13413					types::index_to_id::IndexToId,
13414					(),
13415					(),
13416					::subxt::ext::subxt_core::utils::Yes,
13417				> {
13418					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13419						"TechCollective",
13420						"IndexToId",
13421						(),
13422						[
13423							110u8, 48u8, 214u8, 224u8, 56u8, 195u8, 186u8, 24u8, 111u8, 37u8, 15u8,
13424							153u8, 245u8, 101u8, 229u8, 149u8, 216u8, 185u8, 7u8, 242u8, 196u8,
13425							29u8, 205u8, 243u8, 162u8, 92u8, 71u8, 253u8, 102u8, 152u8, 137u8,
13426							70u8,
13427						],
13428					)
13429				}
13430				#[doc = " The members in the collective by index. All indices in the range `0..MemberCount` will"]
13431				#[doc = " return `Some`, however a member's index is not guaranteed to remain unchanged over time."]
13432				pub fn index_to_id_iter1(
13433					&self,
13434					_0: types::index_to_id::Param0,
13435				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13436					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13437						types::index_to_id::Param0,
13438					>,
13439					types::index_to_id::IndexToId,
13440					(),
13441					(),
13442					::subxt::ext::subxt_core::utils::Yes,
13443				> {
13444					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13445						"TechCollective",
13446						"IndexToId",
13447						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13448						[
13449							110u8, 48u8, 214u8, 224u8, 56u8, 195u8, 186u8, 24u8, 111u8, 37u8, 15u8,
13450							153u8, 245u8, 101u8, 229u8, 149u8, 216u8, 185u8, 7u8, 242u8, 196u8,
13451							29u8, 205u8, 243u8, 162u8, 92u8, 71u8, 253u8, 102u8, 152u8, 137u8,
13452							70u8,
13453						],
13454					)
13455				}
13456				#[doc = " The members in the collective by index. All indices in the range `0..MemberCount` will"]
13457				#[doc = " return `Some`, however a member's index is not guaranteed to remain unchanged over time."]
13458				pub fn index_to_id(
13459					&self,
13460					_0: types::index_to_id::Param0,
13461					_1: types::index_to_id::Param1,
13462				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13463					(
13464						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13465							types::index_to_id::Param0,
13466						>,
13467						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13468							types::index_to_id::Param1,
13469						>,
13470					),
13471					types::index_to_id::IndexToId,
13472					::subxt::ext::subxt_core::utils::Yes,
13473					(),
13474					(),
13475				> {
13476					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13477						"TechCollective",
13478						"IndexToId",
13479						(
13480							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13481							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
13482						),
13483						[
13484							110u8, 48u8, 214u8, 224u8, 56u8, 195u8, 186u8, 24u8, 111u8, 37u8, 15u8,
13485							153u8, 245u8, 101u8, 229u8, 149u8, 216u8, 185u8, 7u8, 242u8, 196u8,
13486							29u8, 205u8, 243u8, 162u8, 92u8, 71u8, 253u8, 102u8, 152u8, 137u8,
13487							70u8,
13488						],
13489					)
13490				}
13491				#[doc = " Votes on a given proposal, if it is ongoing."]
13492				pub fn voting_iter(
13493					&self,
13494				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13495					(),
13496					types::voting::Voting,
13497					(),
13498					(),
13499					::subxt::ext::subxt_core::utils::Yes,
13500				> {
13501					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13502						"TechCollective",
13503						"Voting",
13504						(),
13505						[
13506							180u8, 146u8, 236u8, 178u8, 30u8, 50u8, 161u8, 50u8, 140u8, 110u8,
13507							220u8, 1u8, 109u8, 209u8, 17u8, 94u8, 234u8, 223u8, 222u8, 177u8,
13508							243u8, 194u8, 246u8, 48u8, 178u8, 86u8, 30u8, 185u8, 56u8, 206u8,
13509							175u8, 18u8,
13510						],
13511					)
13512				}
13513				#[doc = " Votes on a given proposal, if it is ongoing."]
13514				pub fn voting_iter1(
13515					&self,
13516					_0: types::voting::Param0,
13517				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13518					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13519						types::voting::Param0,
13520					>,
13521					types::voting::Voting,
13522					(),
13523					(),
13524					::subxt::ext::subxt_core::utils::Yes,
13525				> {
13526					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13527						"TechCollective",
13528						"Voting",
13529						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13530						[
13531							180u8, 146u8, 236u8, 178u8, 30u8, 50u8, 161u8, 50u8, 140u8, 110u8,
13532							220u8, 1u8, 109u8, 209u8, 17u8, 94u8, 234u8, 223u8, 222u8, 177u8,
13533							243u8, 194u8, 246u8, 48u8, 178u8, 86u8, 30u8, 185u8, 56u8, 206u8,
13534							175u8, 18u8,
13535						],
13536					)
13537				}
13538				#[doc = " Votes on a given proposal, if it is ongoing."]
13539				pub fn voting(
13540					&self,
13541					_0: types::voting::Param0,
13542					_1: types::voting::Param1,
13543				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13544					(
13545						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13546							types::voting::Param0,
13547						>,
13548						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13549							types::voting::Param1,
13550						>,
13551					),
13552					types::voting::Voting,
13553					::subxt::ext::subxt_core::utils::Yes,
13554					(),
13555					(),
13556				> {
13557					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13558						"TechCollective",
13559						"Voting",
13560						(
13561							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13562							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
13563						),
13564						[
13565							180u8, 146u8, 236u8, 178u8, 30u8, 50u8, 161u8, 50u8, 140u8, 110u8,
13566							220u8, 1u8, 109u8, 209u8, 17u8, 94u8, 234u8, 223u8, 222u8, 177u8,
13567							243u8, 194u8, 246u8, 48u8, 178u8, 86u8, 30u8, 185u8, 56u8, 206u8,
13568							175u8, 18u8,
13569						],
13570					)
13571				}
13572				pub fn voting_cleanup_iter(
13573					&self,
13574				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13575					(),
13576					types::voting_cleanup::VotingCleanup,
13577					(),
13578					(),
13579					::subxt::ext::subxt_core::utils::Yes,
13580				> {
13581					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13582						"TechCollective",
13583						"VotingCleanup",
13584						(),
13585						[
13586							223u8, 130u8, 79u8, 104u8, 94u8, 221u8, 222u8, 72u8, 187u8, 95u8,
13587							231u8, 59u8, 28u8, 119u8, 191u8, 63u8, 40u8, 186u8, 58u8, 254u8, 14u8,
13588							233u8, 152u8, 36u8, 2u8, 231u8, 120u8, 13u8, 120u8, 211u8, 232u8, 11u8,
13589						],
13590					)
13591				}
13592				pub fn voting_cleanup(
13593					&self,
13594					_0: types::voting_cleanup::Param0,
13595				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13596					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13597						types::voting_cleanup::Param0,
13598					>,
13599					types::voting_cleanup::VotingCleanup,
13600					::subxt::ext::subxt_core::utils::Yes,
13601					(),
13602					(),
13603				> {
13604					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13605						"TechCollective",
13606						"VotingCleanup",
13607						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13608						[
13609							223u8, 130u8, 79u8, 104u8, 94u8, 221u8, 222u8, 72u8, 187u8, 95u8,
13610							231u8, 59u8, 28u8, 119u8, 191u8, 63u8, 40u8, 186u8, 58u8, 254u8, 14u8,
13611							233u8, 152u8, 36u8, 2u8, 231u8, 120u8, 13u8, 120u8, 211u8, 232u8, 11u8,
13612						],
13613					)
13614				}
13615			}
13616		}
13617	}
13618	pub mod tech_referenda {
13619		use super::{root_mod, runtime_types};
13620		#[doc = "The `Error` enum of this pallet."]
13621		pub type Error = runtime_types::pallet_referenda::pallet::Error;
13622		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
13623		pub type Call = runtime_types::pallet_referenda::pallet::Call;
13624		pub mod calls {
13625			use super::{root_mod, runtime_types};
13626			type DispatchError = runtime_types::sp_runtime::DispatchError;
13627			pub mod types {
13628				use super::runtime_types;
13629				#[derive(
13630					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13631					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13632					Debug,
13633				)]
13634				#[decode_as_type(
13635					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13636				)]
13637				#[encode_as_type(
13638					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13639				)]
13640				#[doc = "Propose a referendum on a privileged action."]
13641				#[doc = ""]
13642				#[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"]
13643				#[doc = "  available."]
13644				#[doc = "- `proposal_origin`: The origin from which the proposal should be executed."]
13645				#[doc = "- `proposal`: The proposal."]
13646				#[doc = "- `enactment_moment`: The moment that the proposal should be enacted."]
13647				#[doc = ""]
13648				#[doc = "Emits `Submitted`."]
13649				pub struct Submit {
13650					pub proposal_origin:
13651						::subxt::ext::subxt_core::alloc::boxed::Box<submit::ProposalOrigin>,
13652					pub proposal: submit::Proposal,
13653					pub enactment_moment: submit::EnactmentMoment,
13654				}
13655				pub mod submit {
13656					use super::runtime_types;
13657					pub type ProposalOrigin = runtime_types::quantus_runtime::OriginCaller;
13658					pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
13659						runtime_types::quantus_runtime::RuntimeCall,
13660						runtime_types::poseidon_resonance::PoseidonHasher,
13661					>;
13662					pub type EnactmentMoment =
13663						runtime_types::frame_support::traits::schedule::DispatchTime<
13664							::core::primitive::u32,
13665						>;
13666				}
13667				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Submit {
13668					const PALLET: &'static str = "TechReferenda";
13669					const CALL: &'static str = "submit";
13670				}
13671				#[derive(
13672					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13673					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13674					Debug,
13675				)]
13676				#[decode_as_type(
13677					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13678				)]
13679				#[encode_as_type(
13680					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13681				)]
13682				#[doc = "Post the Decision Deposit for a referendum."]
13683				#[doc = ""]
13684				#[doc = "- `origin`: must be `Signed` and the account must have funds available for the"]
13685				#[doc = "  referendum's track's Decision Deposit."]
13686				#[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"]
13687				#[doc = "  posted."]
13688				#[doc = ""]
13689				#[doc = "Emits `DecisionDepositPlaced`."]
13690				pub struct PlaceDecisionDeposit {
13691					pub index: place_decision_deposit::Index,
13692				}
13693				pub mod place_decision_deposit {
13694					use super::runtime_types;
13695					pub type Index = ::core::primitive::u32;
13696				}
13697				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for PlaceDecisionDeposit {
13698					const PALLET: &'static str = "TechReferenda";
13699					const CALL: &'static str = "place_decision_deposit";
13700				}
13701				#[derive(
13702					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13703					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13704					Debug,
13705				)]
13706				#[decode_as_type(
13707					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13708				)]
13709				#[encode_as_type(
13710					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13711				)]
13712				#[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."]
13713				#[doc = ""]
13714				#[doc = "- `origin`: must be `Signed` or `Root`."]
13715				#[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"]
13716				#[doc = "  refunded."]
13717				#[doc = ""]
13718				#[doc = "Emits `DecisionDepositRefunded`."]
13719				pub struct RefundDecisionDeposit {
13720					pub index: refund_decision_deposit::Index,
13721				}
13722				pub mod refund_decision_deposit {
13723					use super::runtime_types;
13724					pub type Index = ::core::primitive::u32;
13725				}
13726				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RefundDecisionDeposit {
13727					const PALLET: &'static str = "TechReferenda";
13728					const CALL: &'static str = "refund_decision_deposit";
13729				}
13730				#[derive(
13731					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13732					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13733					Debug,
13734				)]
13735				#[decode_as_type(
13736					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13737				)]
13738				#[encode_as_type(
13739					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13740				)]
13741				#[doc = "Cancel an ongoing referendum."]
13742				#[doc = ""]
13743				#[doc = "- `origin`: must be the `CancelOrigin`."]
13744				#[doc = "- `index`: The index of the referendum to be cancelled."]
13745				#[doc = ""]
13746				#[doc = "Emits `Cancelled`."]
13747				pub struct Cancel {
13748					pub index: cancel::Index,
13749				}
13750				pub mod cancel {
13751					use super::runtime_types;
13752					pub type Index = ::core::primitive::u32;
13753				}
13754				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Cancel {
13755					const PALLET: &'static str = "TechReferenda";
13756					const CALL: &'static str = "cancel";
13757				}
13758				#[derive(
13759					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13760					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13761					Debug,
13762				)]
13763				#[decode_as_type(
13764					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13765				)]
13766				#[encode_as_type(
13767					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13768				)]
13769				#[doc = "Cancel an ongoing referendum and slash the deposits."]
13770				#[doc = ""]
13771				#[doc = "- `origin`: must be the `KillOrigin`."]
13772				#[doc = "- `index`: The index of the referendum to be cancelled."]
13773				#[doc = ""]
13774				#[doc = "Emits `Killed` and `DepositSlashed`."]
13775				pub struct Kill {
13776					pub index: kill::Index,
13777				}
13778				pub mod kill {
13779					use super::runtime_types;
13780					pub type Index = ::core::primitive::u32;
13781				}
13782				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Kill {
13783					const PALLET: &'static str = "TechReferenda";
13784					const CALL: &'static str = "kill";
13785				}
13786				#[derive(
13787					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13788					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13789					Debug,
13790				)]
13791				#[decode_as_type(
13792					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13793				)]
13794				#[encode_as_type(
13795					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13796				)]
13797				#[doc = "Advance a referendum onto its next logical state. Only used internally."]
13798				#[doc = ""]
13799				#[doc = "- `origin`: must be `Root`."]
13800				#[doc = "- `index`: the referendum to be advanced."]
13801				pub struct NudgeReferendum {
13802					pub index: nudge_referendum::Index,
13803				}
13804				pub mod nudge_referendum {
13805					use super::runtime_types;
13806					pub type Index = ::core::primitive::u32;
13807				}
13808				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for NudgeReferendum {
13809					const PALLET: &'static str = "TechReferenda";
13810					const CALL: &'static str = "nudge_referendum";
13811				}
13812				#[derive(
13813					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13814					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13815					Debug,
13816				)]
13817				#[decode_as_type(
13818					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13819				)]
13820				#[encode_as_type(
13821					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13822				)]
13823				#[doc = "Advance a track onto its next logical state. Only used internally."]
13824				#[doc = ""]
13825				#[doc = "- `origin`: must be `Root`."]
13826				#[doc = "- `track`: the track to be advanced."]
13827				#[doc = ""]
13828				#[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"]
13829				#[doc = "`DecidingCount` is not yet updated. This means that we should either:"]
13830				#[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"]
13831				#[doc = "- decrement `DecidingCount`."]
13832				pub struct OneFewerDeciding {
13833					pub track: one_fewer_deciding::Track,
13834				}
13835				pub mod one_fewer_deciding {
13836					use super::runtime_types;
13837					pub type Track = ::core::primitive::u16;
13838				}
13839				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for OneFewerDeciding {
13840					const PALLET: &'static str = "TechReferenda";
13841					const CALL: &'static str = "one_fewer_deciding";
13842				}
13843				#[derive(
13844					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13845					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13846					Debug,
13847				)]
13848				#[decode_as_type(
13849					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13850				)]
13851				#[encode_as_type(
13852					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13853				)]
13854				#[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."]
13855				#[doc = ""]
13856				#[doc = "- `origin`: must be `Signed` or `Root`."]
13857				#[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"]
13858				#[doc = "  refunded."]
13859				#[doc = ""]
13860				#[doc = "Emits `SubmissionDepositRefunded`."]
13861				pub struct RefundSubmissionDeposit {
13862					pub index: refund_submission_deposit::Index,
13863				}
13864				pub mod refund_submission_deposit {
13865					use super::runtime_types;
13866					pub type Index = ::core::primitive::u32;
13867				}
13868				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RefundSubmissionDeposit {
13869					const PALLET: &'static str = "TechReferenda";
13870					const CALL: &'static str = "refund_submission_deposit";
13871				}
13872				#[derive(
13873					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13874					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13875					Debug,
13876				)]
13877				#[decode_as_type(
13878					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13879				)]
13880				#[encode_as_type(
13881					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13882				)]
13883				#[doc = "Set or clear metadata of a referendum."]
13884				#[doc = ""]
13885				#[doc = "Parameters:"]
13886				#[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"]
13887				#[doc = "  metadata of a finished referendum."]
13888				#[doc = "- `index`:  The index of a referendum to set or clear metadata for."]
13889				#[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."]
13890				pub struct SetMetadata {
13891					pub index: set_metadata::Index,
13892					pub maybe_hash: set_metadata::MaybeHash,
13893				}
13894				pub mod set_metadata {
13895					use super::runtime_types;
13896					pub type Index = ::core::primitive::u32;
13897					pub type MaybeHash =
13898						::core::option::Option<::subxt::ext::subxt_core::utils::H256>;
13899				}
13900				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetMetadata {
13901					const PALLET: &'static str = "TechReferenda";
13902					const CALL: &'static str = "set_metadata";
13903				}
13904			}
13905			pub struct TransactionApi;
13906			impl TransactionApi {
13907				#[doc = "Propose a referendum on a privileged action."]
13908				#[doc = ""]
13909				#[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"]
13910				#[doc = "  available."]
13911				#[doc = "- `proposal_origin`: The origin from which the proposal should be executed."]
13912				#[doc = "- `proposal`: The proposal."]
13913				#[doc = "- `enactment_moment`: The moment that the proposal should be enacted."]
13914				#[doc = ""]
13915				#[doc = "Emits `Submitted`."]
13916				pub fn submit(
13917					&self,
13918					proposal_origin: types::submit::ProposalOrigin,
13919					proposal: types::submit::Proposal,
13920					enactment_moment: types::submit::EnactmentMoment,
13921				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Submit> {
13922					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13923						"TechReferenda",
13924						"submit",
13925						types::Submit {
13926							proposal_origin: ::subxt::ext::subxt_core::alloc::boxed::Box::new(
13927								proposal_origin,
13928							),
13929							proposal,
13930							enactment_moment,
13931						},
13932						[
13933							30u8, 232u8, 132u8, 0u8, 199u8, 166u8, 49u8, 94u8, 238u8, 61u8, 236u8,
13934							207u8, 2u8, 136u8, 37u8, 81u8, 67u8, 133u8, 2u8, 147u8, 177u8, 176u8,
13935							178u8, 113u8, 155u8, 180u8, 104u8, 176u8, 215u8, 255u8, 240u8, 100u8,
13936						],
13937					)
13938				}
13939				#[doc = "Post the Decision Deposit for a referendum."]
13940				#[doc = ""]
13941				#[doc = "- `origin`: must be `Signed` and the account must have funds available for the"]
13942				#[doc = "  referendum's track's Decision Deposit."]
13943				#[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"]
13944				#[doc = "  posted."]
13945				#[doc = ""]
13946				#[doc = "Emits `DecisionDepositPlaced`."]
13947				pub fn place_decision_deposit(
13948					&self,
13949					index: types::place_decision_deposit::Index,
13950				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::PlaceDecisionDeposit>
13951				{
13952					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13953						"TechReferenda",
13954						"place_decision_deposit",
13955						types::PlaceDecisionDeposit { index },
13956						[
13957							247u8, 158u8, 55u8, 191u8, 188u8, 200u8, 3u8, 47u8, 20u8, 175u8, 86u8,
13958							203u8, 52u8, 253u8, 91u8, 131u8, 21u8, 213u8, 56u8, 68u8, 40u8, 84u8,
13959							184u8, 30u8, 9u8, 193u8, 63u8, 182u8, 178u8, 241u8, 247u8, 220u8,
13960						],
13961					)
13962				}
13963				#[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."]
13964				#[doc = ""]
13965				#[doc = "- `origin`: must be `Signed` or `Root`."]
13966				#[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"]
13967				#[doc = "  refunded."]
13968				#[doc = ""]
13969				#[doc = "Emits `DecisionDepositRefunded`."]
13970				pub fn refund_decision_deposit(
13971					&self,
13972					index: types::refund_decision_deposit::Index,
13973				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
13974					types::RefundDecisionDeposit,
13975				> {
13976					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13977						"TechReferenda",
13978						"refund_decision_deposit",
13979						types::RefundDecisionDeposit { index },
13980						[
13981							159u8, 19u8, 35u8, 216u8, 114u8, 105u8, 18u8, 42u8, 148u8, 151u8,
13982							136u8, 92u8, 117u8, 30u8, 29u8, 41u8, 238u8, 58u8, 195u8, 91u8, 115u8,
13983							135u8, 96u8, 99u8, 154u8, 233u8, 8u8, 249u8, 145u8, 165u8, 77u8, 164u8,
13984						],
13985					)
13986				}
13987				#[doc = "Cancel an ongoing referendum."]
13988				#[doc = ""]
13989				#[doc = "- `origin`: must be the `CancelOrigin`."]
13990				#[doc = "- `index`: The index of the referendum to be cancelled."]
13991				#[doc = ""]
13992				#[doc = "Emits `Cancelled`."]
13993				pub fn cancel(
13994					&self,
13995					index: types::cancel::Index,
13996				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Cancel> {
13997					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13998						"TechReferenda",
13999						"cancel",
14000						types::Cancel { index },
14001						[
14002							55u8, 206u8, 119u8, 156u8, 238u8, 165u8, 193u8, 73u8, 242u8, 13u8,
14003							212u8, 75u8, 136u8, 156u8, 151u8, 14u8, 35u8, 41u8, 156u8, 107u8, 60u8,
14004							190u8, 39u8, 216u8, 8u8, 74u8, 213u8, 130u8, 160u8, 131u8, 237u8,
14005							122u8,
14006						],
14007					)
14008				}
14009				#[doc = "Cancel an ongoing referendum and slash the deposits."]
14010				#[doc = ""]
14011				#[doc = "- `origin`: must be the `KillOrigin`."]
14012				#[doc = "- `index`: The index of the referendum to be cancelled."]
14013				#[doc = ""]
14014				#[doc = "Emits `Killed` and `DepositSlashed`."]
14015				pub fn kill(
14016					&self,
14017					index: types::kill::Index,
14018				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Kill> {
14019					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14020						"TechReferenda",
14021						"kill",
14022						types::Kill { index },
14023						[
14024							50u8, 89u8, 57u8, 0u8, 87u8, 129u8, 113u8, 140u8, 179u8, 178u8, 126u8,
14025							198u8, 92u8, 92u8, 189u8, 64u8, 123u8, 232u8, 57u8, 227u8, 223u8,
14026							219u8, 73u8, 217u8, 179u8, 44u8, 210u8, 125u8, 180u8, 10u8, 143u8,
14027							48u8,
14028						],
14029					)
14030				}
14031				#[doc = "Advance a referendum onto its next logical state. Only used internally."]
14032				#[doc = ""]
14033				#[doc = "- `origin`: must be `Root`."]
14034				#[doc = "- `index`: the referendum to be advanced."]
14035				pub fn nudge_referendum(
14036					&self,
14037					index: types::nudge_referendum::Index,
14038				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::NudgeReferendum>
14039				{
14040					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14041						"TechReferenda",
14042						"nudge_referendum",
14043						types::NudgeReferendum { index },
14044						[
14045							75u8, 99u8, 172u8, 30u8, 170u8, 150u8, 211u8, 229u8, 249u8, 128u8,
14046							194u8, 246u8, 100u8, 142u8, 193u8, 184u8, 232u8, 81u8, 29u8, 17u8,
14047							99u8, 91u8, 236u8, 85u8, 230u8, 226u8, 57u8, 115u8, 45u8, 170u8, 54u8,
14048							213u8,
14049						],
14050					)
14051				}
14052				#[doc = "Advance a track onto its next logical state. Only used internally."]
14053				#[doc = ""]
14054				#[doc = "- `origin`: must be `Root`."]
14055				#[doc = "- `track`: the track to be advanced."]
14056				#[doc = ""]
14057				#[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"]
14058				#[doc = "`DecidingCount` is not yet updated. This means that we should either:"]
14059				#[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"]
14060				#[doc = "- decrement `DecidingCount`."]
14061				pub fn one_fewer_deciding(
14062					&self,
14063					track: types::one_fewer_deciding::Track,
14064				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::OneFewerDeciding>
14065				{
14066					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14067						"TechReferenda",
14068						"one_fewer_deciding",
14069						types::OneFewerDeciding { track },
14070						[
14071							15u8, 84u8, 79u8, 231u8, 21u8, 239u8, 244u8, 143u8, 183u8, 215u8,
14072							181u8, 25u8, 225u8, 195u8, 95u8, 171u8, 17u8, 156u8, 182u8, 128u8,
14073							111u8, 40u8, 151u8, 102u8, 196u8, 55u8, 36u8, 212u8, 89u8, 190u8,
14074							131u8, 167u8,
14075						],
14076					)
14077				}
14078				#[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."]
14079				#[doc = ""]
14080				#[doc = "- `origin`: must be `Signed` or `Root`."]
14081				#[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"]
14082				#[doc = "  refunded."]
14083				#[doc = ""]
14084				#[doc = "Emits `SubmissionDepositRefunded`."]
14085				pub fn refund_submission_deposit(
14086					&self,
14087					index: types::refund_submission_deposit::Index,
14088				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
14089					types::RefundSubmissionDeposit,
14090				> {
14091					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14092						"TechReferenda",
14093						"refund_submission_deposit",
14094						types::RefundSubmissionDeposit { index },
14095						[
14096							20u8, 217u8, 115u8, 6u8, 1u8, 60u8, 54u8, 136u8, 35u8, 41u8, 38u8,
14097							23u8, 85u8, 100u8, 141u8, 126u8, 30u8, 160u8, 61u8, 46u8, 134u8, 98u8,
14098							82u8, 38u8, 211u8, 124u8, 208u8, 222u8, 210u8, 10u8, 155u8, 122u8,
14099						],
14100					)
14101				}
14102				#[doc = "Set or clear metadata of a referendum."]
14103				#[doc = ""]
14104				#[doc = "Parameters:"]
14105				#[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"]
14106				#[doc = "  metadata of a finished referendum."]
14107				#[doc = "- `index`:  The index of a referendum to set or clear metadata for."]
14108				#[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."]
14109				pub fn set_metadata(
14110					&self,
14111					index: types::set_metadata::Index,
14112					maybe_hash: types::set_metadata::MaybeHash,
14113				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetMetadata> {
14114					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14115						"TechReferenda",
14116						"set_metadata",
14117						types::SetMetadata { index, maybe_hash },
14118						[
14119							207u8, 29u8, 146u8, 233u8, 219u8, 205u8, 88u8, 118u8, 106u8, 61u8,
14120							124u8, 101u8, 2u8, 41u8, 169u8, 70u8, 114u8, 189u8, 162u8, 118u8, 1u8,
14121							108u8, 234u8, 98u8, 245u8, 245u8, 183u8, 126u8, 89u8, 13u8, 112u8,
14122							88u8,
14123						],
14124					)
14125				}
14126			}
14127		}
14128		#[doc = "The `Event` enum of this pallet"]
14129		pub type Event = runtime_types::pallet_referenda::pallet::Event2;
14130		pub mod events {
14131			use super::runtime_types;
14132			#[derive(
14133				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14134				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14135				Debug,
14136			)]
14137			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14138			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14139			#[doc = "A referendum has been submitted."]
14140			pub struct Submitted {
14141				pub index: submitted::Index,
14142				pub track: submitted::Track,
14143				pub proposal: submitted::Proposal,
14144			}
14145			pub mod submitted {
14146				use super::runtime_types;
14147				pub type Index = ::core::primitive::u32;
14148				pub type Track = ::core::primitive::u16;
14149				pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
14150					runtime_types::quantus_runtime::RuntimeCall,
14151					runtime_types::poseidon_resonance::PoseidonHasher,
14152				>;
14153			}
14154			impl ::subxt::ext::subxt_core::events::StaticEvent for Submitted {
14155				const PALLET: &'static str = "TechReferenda";
14156				const EVENT: &'static str = "Submitted";
14157			}
14158			#[derive(
14159				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14160				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14161				Debug,
14162			)]
14163			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14164			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14165			#[doc = "The decision deposit has been placed."]
14166			pub struct DecisionDepositPlaced {
14167				pub index: decision_deposit_placed::Index,
14168				pub who: decision_deposit_placed::Who,
14169				pub amount: decision_deposit_placed::Amount,
14170			}
14171			pub mod decision_deposit_placed {
14172				use super::runtime_types;
14173				pub type Index = ::core::primitive::u32;
14174				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
14175				pub type Amount = ::core::primitive::u128;
14176			}
14177			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionDepositPlaced {
14178				const PALLET: &'static str = "TechReferenda";
14179				const EVENT: &'static str = "DecisionDepositPlaced";
14180			}
14181			#[derive(
14182				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14183				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14184				Debug,
14185			)]
14186			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14187			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14188			#[doc = "The decision deposit has been refunded."]
14189			pub struct DecisionDepositRefunded {
14190				pub index: decision_deposit_refunded::Index,
14191				pub who: decision_deposit_refunded::Who,
14192				pub amount: decision_deposit_refunded::Amount,
14193			}
14194			pub mod decision_deposit_refunded {
14195				use super::runtime_types;
14196				pub type Index = ::core::primitive::u32;
14197				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
14198				pub type Amount = ::core::primitive::u128;
14199			}
14200			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionDepositRefunded {
14201				const PALLET: &'static str = "TechReferenda";
14202				const EVENT: &'static str = "DecisionDepositRefunded";
14203			}
14204			#[derive(
14205				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14206				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14207				Debug,
14208			)]
14209			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14210			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14211			#[doc = "A deposit has been slashed."]
14212			pub struct DepositSlashed {
14213				pub who: deposit_slashed::Who,
14214				pub amount: deposit_slashed::Amount,
14215			}
14216			pub mod deposit_slashed {
14217				use super::runtime_types;
14218				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
14219				pub type Amount = ::core::primitive::u128;
14220			}
14221			impl ::subxt::ext::subxt_core::events::StaticEvent for DepositSlashed {
14222				const PALLET: &'static str = "TechReferenda";
14223				const EVENT: &'static str = "DepositSlashed";
14224			}
14225			#[derive(
14226				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14227				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14228				Debug,
14229			)]
14230			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14231			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14232			#[doc = "A referendum has moved into the deciding phase."]
14233			pub struct DecisionStarted {
14234				pub index: decision_started::Index,
14235				pub track: decision_started::Track,
14236				pub proposal: decision_started::Proposal,
14237				pub tally: decision_started::Tally,
14238			}
14239			pub mod decision_started {
14240				use super::runtime_types;
14241				pub type Index = ::core::primitive::u32;
14242				pub type Track = ::core::primitive::u16;
14243				pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
14244					runtime_types::quantus_runtime::RuntimeCall,
14245					runtime_types::poseidon_resonance::PoseidonHasher,
14246				>;
14247				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
14248			}
14249			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionStarted {
14250				const PALLET: &'static str = "TechReferenda";
14251				const EVENT: &'static str = "DecisionStarted";
14252			}
14253			#[derive(
14254				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14255				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14256				Debug,
14257			)]
14258			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14259			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14260			pub struct ConfirmStarted {
14261				pub index: confirm_started::Index,
14262			}
14263			pub mod confirm_started {
14264				use super::runtime_types;
14265				pub type Index = ::core::primitive::u32;
14266			}
14267			impl ::subxt::ext::subxt_core::events::StaticEvent for ConfirmStarted {
14268				const PALLET: &'static str = "TechReferenda";
14269				const EVENT: &'static str = "ConfirmStarted";
14270			}
14271			#[derive(
14272				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14273				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14274				Debug,
14275			)]
14276			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14277			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14278			pub struct ConfirmAborted {
14279				pub index: confirm_aborted::Index,
14280			}
14281			pub mod confirm_aborted {
14282				use super::runtime_types;
14283				pub type Index = ::core::primitive::u32;
14284			}
14285			impl ::subxt::ext::subxt_core::events::StaticEvent for ConfirmAborted {
14286				const PALLET: &'static str = "TechReferenda";
14287				const EVENT: &'static str = "ConfirmAborted";
14288			}
14289			#[derive(
14290				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14291				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14292				Debug,
14293			)]
14294			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14295			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14296			#[doc = "A referendum has ended its confirmation phase and is ready for approval."]
14297			pub struct Confirmed {
14298				pub index: confirmed::Index,
14299				pub tally: confirmed::Tally,
14300			}
14301			pub mod confirmed {
14302				use super::runtime_types;
14303				pub type Index = ::core::primitive::u32;
14304				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
14305			}
14306			impl ::subxt::ext::subxt_core::events::StaticEvent for Confirmed {
14307				const PALLET: &'static str = "TechReferenda";
14308				const EVENT: &'static str = "Confirmed";
14309			}
14310			#[derive(
14311				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14312				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14313				Debug,
14314			)]
14315			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14316			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14317			#[doc = "A referendum has been approved and its proposal has been scheduled."]
14318			pub struct Approved {
14319				pub index: approved::Index,
14320			}
14321			pub mod approved {
14322				use super::runtime_types;
14323				pub type Index = ::core::primitive::u32;
14324			}
14325			impl ::subxt::ext::subxt_core::events::StaticEvent for Approved {
14326				const PALLET: &'static str = "TechReferenda";
14327				const EVENT: &'static str = "Approved";
14328			}
14329			#[derive(
14330				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14331				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14332				Debug,
14333			)]
14334			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14335			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14336			#[doc = "A proposal has been rejected by referendum."]
14337			pub struct Rejected {
14338				pub index: rejected::Index,
14339				pub tally: rejected::Tally,
14340			}
14341			pub mod rejected {
14342				use super::runtime_types;
14343				pub type Index = ::core::primitive::u32;
14344				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
14345			}
14346			impl ::subxt::ext::subxt_core::events::StaticEvent for Rejected {
14347				const PALLET: &'static str = "TechReferenda";
14348				const EVENT: &'static str = "Rejected";
14349			}
14350			#[derive(
14351				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14352				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14353				Debug,
14354			)]
14355			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14356			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14357			#[doc = "A referendum has been timed out without being decided."]
14358			pub struct TimedOut {
14359				pub index: timed_out::Index,
14360				pub tally: timed_out::Tally,
14361			}
14362			pub mod timed_out {
14363				use super::runtime_types;
14364				pub type Index = ::core::primitive::u32;
14365				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
14366			}
14367			impl ::subxt::ext::subxt_core::events::StaticEvent for TimedOut {
14368				const PALLET: &'static str = "TechReferenda";
14369				const EVENT: &'static str = "TimedOut";
14370			}
14371			#[derive(
14372				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14373				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14374				Debug,
14375			)]
14376			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14377			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14378			#[doc = "A referendum has been cancelled."]
14379			pub struct Cancelled {
14380				pub index: cancelled::Index,
14381				pub tally: cancelled::Tally,
14382			}
14383			pub mod cancelled {
14384				use super::runtime_types;
14385				pub type Index = ::core::primitive::u32;
14386				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
14387			}
14388			impl ::subxt::ext::subxt_core::events::StaticEvent for Cancelled {
14389				const PALLET: &'static str = "TechReferenda";
14390				const EVENT: &'static str = "Cancelled";
14391			}
14392			#[derive(
14393				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14394				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14395				Debug,
14396			)]
14397			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14398			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14399			#[doc = "A referendum has been killed."]
14400			pub struct Killed {
14401				pub index: killed::Index,
14402				pub tally: killed::Tally,
14403			}
14404			pub mod killed {
14405				use super::runtime_types;
14406				pub type Index = ::core::primitive::u32;
14407				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
14408			}
14409			impl ::subxt::ext::subxt_core::events::StaticEvent for Killed {
14410				const PALLET: &'static str = "TechReferenda";
14411				const EVENT: &'static str = "Killed";
14412			}
14413			#[derive(
14414				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14415				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14416				Debug,
14417			)]
14418			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14419			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14420			#[doc = "The submission deposit has been refunded."]
14421			pub struct SubmissionDepositRefunded {
14422				pub index: submission_deposit_refunded::Index,
14423				pub who: submission_deposit_refunded::Who,
14424				pub amount: submission_deposit_refunded::Amount,
14425			}
14426			pub mod submission_deposit_refunded {
14427				use super::runtime_types;
14428				pub type Index = ::core::primitive::u32;
14429				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
14430				pub type Amount = ::core::primitive::u128;
14431			}
14432			impl ::subxt::ext::subxt_core::events::StaticEvent for SubmissionDepositRefunded {
14433				const PALLET: &'static str = "TechReferenda";
14434				const EVENT: &'static str = "SubmissionDepositRefunded";
14435			}
14436			#[derive(
14437				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14438				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14439				Debug,
14440			)]
14441			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14442			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14443			#[doc = "Metadata for a referendum has been set."]
14444			pub struct MetadataSet {
14445				pub index: metadata_set::Index,
14446				pub hash: metadata_set::Hash,
14447			}
14448			pub mod metadata_set {
14449				use super::runtime_types;
14450				pub type Index = ::core::primitive::u32;
14451				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
14452			}
14453			impl ::subxt::ext::subxt_core::events::StaticEvent for MetadataSet {
14454				const PALLET: &'static str = "TechReferenda";
14455				const EVENT: &'static str = "MetadataSet";
14456			}
14457			#[derive(
14458				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14459				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14460				Debug,
14461			)]
14462			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14463			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14464			#[doc = "Metadata for a referendum has been cleared."]
14465			pub struct MetadataCleared {
14466				pub index: metadata_cleared::Index,
14467				pub hash: metadata_cleared::Hash,
14468			}
14469			pub mod metadata_cleared {
14470				use super::runtime_types;
14471				pub type Index = ::core::primitive::u32;
14472				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
14473			}
14474			impl ::subxt::ext::subxt_core::events::StaticEvent for MetadataCleared {
14475				const PALLET: &'static str = "TechReferenda";
14476				const EVENT: &'static str = "MetadataCleared";
14477			}
14478		}
14479		pub mod storage {
14480			use super::runtime_types;
14481			pub mod types {
14482				use super::runtime_types;
14483				pub mod referendum_count {
14484					use super::runtime_types;
14485					pub type ReferendumCount = ::core::primitive::u32;
14486				}
14487				pub mod referendum_info_for {
14488					use super::runtime_types;
14489					pub type ReferendumInfoFor =
14490						runtime_types::pallet_referenda::types::ReferendumInfo<
14491							::core::primitive::u16,
14492							runtime_types::quantus_runtime::OriginCaller,
14493							::core::primitive::u32,
14494							runtime_types::frame_support::traits::preimages::Bounded<
14495								runtime_types::quantus_runtime::RuntimeCall,
14496								runtime_types::poseidon_resonance::PoseidonHasher,
14497							>,
14498							::core::primitive::u128,
14499							runtime_types::pallet_ranked_collective::Tally,
14500							::subxt::ext::subxt_core::utils::AccountId32,
14501							(
14502								runtime_types::qp_scheduler::BlockNumberOrTimestamp<
14503									::core::primitive::u32,
14504									::core::primitive::u64,
14505								>,
14506								::core::primitive::u32,
14507							),
14508						>;
14509					pub type Param0 = ::core::primitive::u32;
14510				}
14511				pub mod track_queue {
14512					use super::runtime_types;
14513					pub type TrackQueue =
14514						runtime_types::bounded_collections::bounded_vec::BoundedVec<(
14515							::core::primitive::u32,
14516							::core::primitive::u32,
14517						)>;
14518					pub type Param0 = ::core::primitive::u16;
14519				}
14520				pub mod deciding_count {
14521					use super::runtime_types;
14522					pub type DecidingCount = ::core::primitive::u32;
14523					pub type Param0 = ::core::primitive::u16;
14524				}
14525				pub mod metadata_of {
14526					use super::runtime_types;
14527					pub type MetadataOf = ::subxt::ext::subxt_core::utils::H256;
14528					pub type Param0 = ::core::primitive::u32;
14529				}
14530			}
14531			pub struct StorageApi;
14532			impl StorageApi {
14533				#[doc = " The next free referendum index, aka the number of referenda started so far."]
14534				pub fn referendum_count(
14535					&self,
14536				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14537					(),
14538					types::referendum_count::ReferendumCount,
14539					::subxt::ext::subxt_core::utils::Yes,
14540					::subxt::ext::subxt_core::utils::Yes,
14541					(),
14542				> {
14543					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14544						"TechReferenda",
14545						"ReferendumCount",
14546						(),
14547						[
14548							64u8, 145u8, 232u8, 153u8, 121u8, 87u8, 128u8, 253u8, 170u8, 192u8,
14549							139u8, 18u8, 0u8, 33u8, 243u8, 11u8, 238u8, 222u8, 244u8, 5u8, 247u8,
14550							198u8, 149u8, 31u8, 122u8, 208u8, 86u8, 179u8, 166u8, 167u8, 93u8,
14551							67u8,
14552						],
14553					)
14554				}
14555				#[doc = " Information concerning any given referendum."]
14556				pub fn referendum_info_for_iter(
14557					&self,
14558				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14559					(),
14560					types::referendum_info_for::ReferendumInfoFor,
14561					(),
14562					(),
14563					::subxt::ext::subxt_core::utils::Yes,
14564				> {
14565					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14566						"TechReferenda",
14567						"ReferendumInfoFor",
14568						(),
14569						[
14570							12u8, 160u8, 226u8, 48u8, 96u8, 127u8, 60u8, 27u8, 37u8, 158u8, 31u8,
14571							162u8, 106u8, 183u8, 90u8, 169u8, 244u8, 35u8, 25u8, 121u8, 84u8,
14572							120u8, 20u8, 206u8, 137u8, 42u8, 139u8, 47u8, 62u8, 73u8, 157u8, 182u8,
14573						],
14574					)
14575				}
14576				#[doc = " Information concerning any given referendum."]
14577				pub fn referendum_info_for(
14578					&self,
14579					_0: types::referendum_info_for::Param0,
14580				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14581					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
14582						types::referendum_info_for::Param0,
14583					>,
14584					types::referendum_info_for::ReferendumInfoFor,
14585					::subxt::ext::subxt_core::utils::Yes,
14586					(),
14587					(),
14588				> {
14589					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14590						"TechReferenda",
14591						"ReferendumInfoFor",
14592						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
14593						[
14594							12u8, 160u8, 226u8, 48u8, 96u8, 127u8, 60u8, 27u8, 37u8, 158u8, 31u8,
14595							162u8, 106u8, 183u8, 90u8, 169u8, 244u8, 35u8, 25u8, 121u8, 84u8,
14596							120u8, 20u8, 206u8, 137u8, 42u8, 139u8, 47u8, 62u8, 73u8, 157u8, 182u8,
14597						],
14598					)
14599				}
14600				#[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"]
14601				#[doc = " conviction-weighted approvals."]
14602				#[doc = ""]
14603				#[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."]
14604				pub fn track_queue_iter(
14605					&self,
14606				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14607					(),
14608					types::track_queue::TrackQueue,
14609					(),
14610					::subxt::ext::subxt_core::utils::Yes,
14611					::subxt::ext::subxt_core::utils::Yes,
14612				> {
14613					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14614						"TechReferenda",
14615						"TrackQueue",
14616						(),
14617						[
14618							187u8, 113u8, 225u8, 99u8, 159u8, 207u8, 182u8, 41u8, 116u8, 136u8,
14619							119u8, 196u8, 152u8, 50u8, 192u8, 22u8, 171u8, 182u8, 237u8, 228u8,
14620							80u8, 255u8, 227u8, 141u8, 155u8, 83u8, 71u8, 131u8, 118u8, 109u8,
14621							186u8, 65u8,
14622						],
14623					)
14624				}
14625				#[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"]
14626				#[doc = " conviction-weighted approvals."]
14627				#[doc = ""]
14628				#[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."]
14629				pub fn track_queue(
14630					&self,
14631					_0: types::track_queue::Param0,
14632				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14633					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
14634						types::track_queue::Param0,
14635					>,
14636					types::track_queue::TrackQueue,
14637					::subxt::ext::subxt_core::utils::Yes,
14638					::subxt::ext::subxt_core::utils::Yes,
14639					(),
14640				> {
14641					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14642						"TechReferenda",
14643						"TrackQueue",
14644						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
14645						[
14646							187u8, 113u8, 225u8, 99u8, 159u8, 207u8, 182u8, 41u8, 116u8, 136u8,
14647							119u8, 196u8, 152u8, 50u8, 192u8, 22u8, 171u8, 182u8, 237u8, 228u8,
14648							80u8, 255u8, 227u8, 141u8, 155u8, 83u8, 71u8, 131u8, 118u8, 109u8,
14649							186u8, 65u8,
14650						],
14651					)
14652				}
14653				#[doc = " The number of referenda being decided currently."]
14654				pub fn deciding_count_iter(
14655					&self,
14656				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14657					(),
14658					types::deciding_count::DecidingCount,
14659					(),
14660					::subxt::ext::subxt_core::utils::Yes,
14661					::subxt::ext::subxt_core::utils::Yes,
14662				> {
14663					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14664						"TechReferenda",
14665						"DecidingCount",
14666						(),
14667						[
14668							203u8, 89u8, 158u8, 179u8, 194u8, 82u8, 248u8, 162u8, 93u8, 140u8,
14669							146u8, 51u8, 110u8, 232u8, 51u8, 1u8, 128u8, 212u8, 199u8, 14u8, 182u8,
14670							103u8, 47u8, 252u8, 126u8, 108u8, 166u8, 69u8, 252u8, 179u8, 126u8,
14671							245u8,
14672						],
14673					)
14674				}
14675				#[doc = " The number of referenda being decided currently."]
14676				pub fn deciding_count(
14677					&self,
14678					_0: types::deciding_count::Param0,
14679				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14680					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
14681						types::deciding_count::Param0,
14682					>,
14683					types::deciding_count::DecidingCount,
14684					::subxt::ext::subxt_core::utils::Yes,
14685					::subxt::ext::subxt_core::utils::Yes,
14686					(),
14687				> {
14688					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14689						"TechReferenda",
14690						"DecidingCount",
14691						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
14692						[
14693							203u8, 89u8, 158u8, 179u8, 194u8, 82u8, 248u8, 162u8, 93u8, 140u8,
14694							146u8, 51u8, 110u8, 232u8, 51u8, 1u8, 128u8, 212u8, 199u8, 14u8, 182u8,
14695							103u8, 47u8, 252u8, 126u8, 108u8, 166u8, 69u8, 252u8, 179u8, 126u8,
14696							245u8,
14697						],
14698					)
14699				}
14700				#[doc = " The metadata is a general information concerning the referendum."]
14701				#[doc = " The `Hash` refers to the preimage of the `Preimages` provider which can be a JSON"]
14702				#[doc = " dump or IPFS hash of a JSON file."]
14703				#[doc = ""]
14704				#[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"]
14705				#[doc = " large preimages."]
14706				pub fn metadata_of_iter(
14707					&self,
14708				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14709					(),
14710					types::metadata_of::MetadataOf,
14711					(),
14712					(),
14713					::subxt::ext::subxt_core::utils::Yes,
14714				> {
14715					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14716						"TechReferenda",
14717						"MetadataOf",
14718						(),
14719						[
14720							159u8, 250u8, 56u8, 189u8, 247u8, 165u8, 206u8, 166u8, 91u8, 139u8,
14721							124u8, 164u8, 25u8, 246u8, 199u8, 36u8, 159u8, 56u8, 227u8, 136u8, 4u8,
14722							45u8, 193u8, 72u8, 200u8, 164u8, 39u8, 207u8, 224u8, 124u8, 191u8,
14723							110u8,
14724						],
14725					)
14726				}
14727				#[doc = " The metadata is a general information concerning the referendum."]
14728				#[doc = " The `Hash` refers to the preimage of the `Preimages` provider which can be a JSON"]
14729				#[doc = " dump or IPFS hash of a JSON file."]
14730				#[doc = ""]
14731				#[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"]
14732				#[doc = " large preimages."]
14733				pub fn metadata_of(
14734					&self,
14735					_0: types::metadata_of::Param0,
14736				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14737					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
14738						types::metadata_of::Param0,
14739					>,
14740					types::metadata_of::MetadataOf,
14741					::subxt::ext::subxt_core::utils::Yes,
14742					(),
14743					(),
14744				> {
14745					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14746						"TechReferenda",
14747						"MetadataOf",
14748						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
14749						[
14750							159u8, 250u8, 56u8, 189u8, 247u8, 165u8, 206u8, 166u8, 91u8, 139u8,
14751							124u8, 164u8, 25u8, 246u8, 199u8, 36u8, 159u8, 56u8, 227u8, 136u8, 4u8,
14752							45u8, 193u8, 72u8, 200u8, 164u8, 39u8, 207u8, 224u8, 124u8, 191u8,
14753							110u8,
14754						],
14755					)
14756				}
14757			}
14758		}
14759		pub mod constants {
14760			use super::runtime_types;
14761			pub struct ConstantsApi;
14762			impl ConstantsApi {
14763				#[doc = " The minimum amount to be used as a deposit for a public referendum proposal."]
14764				pub fn submission_deposit(
14765					&self,
14766				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
14767					::core::primitive::u128,
14768				> {
14769					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
14770						"TechReferenda",
14771						"SubmissionDeposit",
14772						[
14773							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
14774							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
14775							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
14776						],
14777					)
14778				}
14779				#[doc = " Maximum size of the referendum queue for a single track."]
14780				pub fn max_queued(
14781					&self,
14782				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
14783					::core::primitive::u32,
14784				> {
14785					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
14786						"TechReferenda",
14787						"MaxQueued",
14788						[
14789							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
14790							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
14791							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
14792							145u8,
14793						],
14794					)
14795				}
14796				#[doc = " The number of blocks after submission that a referendum must begin being decided by."]
14797				#[doc = " Once this passes, then anyone may cancel the referendum."]
14798				pub fn undeciding_timeout(
14799					&self,
14800				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
14801					::core::primitive::u32,
14802				> {
14803					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
14804						"TechReferenda",
14805						"UndecidingTimeout",
14806						[
14807							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
14808							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
14809							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
14810							145u8,
14811						],
14812					)
14813				}
14814				#[doc = " Quantization level for the referendum wakeup scheduler. A higher number will result in"]
14815				#[doc = " fewer storage reads/writes needed for smaller voters, but also result in delays to the"]
14816				#[doc = " automatic referendum status changes. Explicit servicing instructions are unaffected."]
14817				pub fn alarm_interval(
14818					&self,
14819				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
14820					::core::primitive::u32,
14821				> {
14822					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
14823						"TechReferenda",
14824						"AlarmInterval",
14825						[
14826							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
14827							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
14828							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
14829							145u8,
14830						],
14831					)
14832				}
14833				#[doc = " A list of tracks."]
14834				#[doc = ""]
14835				#[doc = " Note: if the tracks are dynamic, the value in the static metadata might be inaccurate."]
14836				pub fn tracks(
14837					&self,
14838				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
14839					::subxt::ext::subxt_core::alloc::vec::Vec<(
14840						::core::primitive::u16,
14841						runtime_types::pallet_referenda::types::TrackDetails<
14842							::core::primitive::u128,
14843							::core::primitive::u32,
14844							::subxt::ext::subxt_core::alloc::string::String,
14845						>,
14846					)>,
14847				> {
14848					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
14849						"TechReferenda",
14850						"Tracks",
14851						[
14852							35u8, 226u8, 207u8, 234u8, 184u8, 139u8, 187u8, 184u8, 128u8, 199u8,
14853							227u8, 15u8, 31u8, 196u8, 5u8, 207u8, 138u8, 174u8, 130u8, 201u8,
14854							200u8, 113u8, 86u8, 93u8, 221u8, 243u8, 229u8, 24u8, 18u8, 150u8, 56u8,
14855							159u8,
14856						],
14857					)
14858				}
14859			}
14860		}
14861	}
14862	pub mod merkle_airdrop {
14863		use super::{root_mod, runtime_types};
14864		#[doc = "The `Error` enum of this pallet."]
14865		pub type Error = runtime_types::pallet_merkle_airdrop::pallet::Error;
14866		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
14867		pub type Call = runtime_types::pallet_merkle_airdrop::pallet::Call;
14868		pub mod calls {
14869			use super::{root_mod, runtime_types};
14870			type DispatchError = runtime_types::sp_runtime::DispatchError;
14871			pub mod types {
14872				use super::runtime_types;
14873				#[derive(
14874					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14875					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14876					Debug,
14877				)]
14878				#[decode_as_type(
14879					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
14880				)]
14881				#[encode_as_type(
14882					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
14883				)]
14884				#[doc = "Create a new airdrop with a Merkle root."]
14885				#[doc = ""]
14886				#[doc = "The Merkle root is a cryptographic hash that represents all valid claims"]
14887				#[doc = "for this airdrop. Users will later provide Merkle proofs to verify their"]
14888				#[doc = "eligibility to claim tokens."]
14889				#[doc = ""]
14890				#[doc = "# Parameters"]
14891				#[doc = ""]
14892				#[doc = "* `origin` - The origin of the call (must be signed)"]
14893				#[doc = "* `merkle_root` - The Merkle root hash representing all valid claims"]
14894				#[doc = "* `vesting_period` - Optional vesting period for the airdrop"]
14895				#[doc = "* `vesting_delay` - Optional delay before vesting starts"]
14896				pub struct CreateAirdrop {
14897					pub merkle_root: create_airdrop::MerkleRoot,
14898					pub vesting_period: create_airdrop::VestingPeriod,
14899					pub vesting_delay: create_airdrop::VestingDelay,
14900				}
14901				pub mod create_airdrop {
14902					use super::runtime_types;
14903					pub type MerkleRoot = [::core::primitive::u8; 32usize];
14904					pub type VestingPeriod = ::core::option::Option<::core::primitive::u32>;
14905					pub type VestingDelay = ::core::option::Option<::core::primitive::u32>;
14906				}
14907				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CreateAirdrop {
14908					const PALLET: &'static str = "MerkleAirdrop";
14909					const CALL: &'static str = "create_airdrop";
14910				}
14911				#[derive(
14912					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14913					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14914					Debug,
14915				)]
14916				#[decode_as_type(
14917					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
14918				)]
14919				#[encode_as_type(
14920					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
14921				)]
14922				#[doc = "Fund an existing airdrop with tokens."]
14923				#[doc = ""]
14924				#[doc = "This function transfers tokens from the caller to the airdrop's account,"]
14925				#[doc = "making them available for users to claim."]
14926				#[doc = ""]
14927				#[doc = "# Parameters"]
14928				#[doc = ""]
14929				#[doc = "* `origin` - The origin of the call (must be signed)"]
14930				#[doc = "* `airdrop_id` - The ID of the airdrop to fund"]
14931				#[doc = "* `amount` - The amount of tokens to add to the airdrop"]
14932				#[doc = ""]
14933				#[doc = "# Errors"]
14934				#[doc = ""]
14935				#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
14936				pub struct FundAirdrop {
14937					pub airdrop_id: fund_airdrop::AirdropId,
14938					pub amount: fund_airdrop::Amount,
14939				}
14940				pub mod fund_airdrop {
14941					use super::runtime_types;
14942					pub type AirdropId = ::core::primitive::u32;
14943					pub type Amount = ::core::primitive::u128;
14944				}
14945				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for FundAirdrop {
14946					const PALLET: &'static str = "MerkleAirdrop";
14947					const CALL: &'static str = "fund_airdrop";
14948				}
14949				#[derive(
14950					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14951					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14952					Debug,
14953				)]
14954				#[decode_as_type(
14955					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
14956				)]
14957				#[encode_as_type(
14958					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
14959				)]
14960				#[doc = "Claim tokens from an airdrop by providing a Merkle proof."]
14961				#[doc = ""]
14962				#[doc = "Users can claim their tokens by providing a proof of their eligibility."]
14963				#[doc = "The proof is verified against the airdrop's Merkle root."]
14964				#[doc = "Anyone can trigger a claim for any eligible recipient."]
14965				#[doc = ""]
14966				#[doc = "# Parameters"]
14967				#[doc = ""]
14968				#[doc = "* `origin` - The origin of the call"]
14969				#[doc = "* `airdrop_id` - The ID of the airdrop to claim from"]
14970				#[doc = "* `amount` - The amount of tokens to claim"]
14971				#[doc = "* `merkle_proof` - The Merkle proof verifying eligibility"]
14972				#[doc = ""]
14973				#[doc = "# Errors"]
14974				#[doc = ""]
14975				#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
14976				#[doc = "* `AlreadyClaimed` - If the recipient has already claimed from this airdrop"]
14977				#[doc = "* `InvalidProof` - If the provided Merkle proof is invalid"]
14978				#[doc = "* `InsufficientAirdropBalance` - If the airdrop doesn't have enough tokens"]
14979				pub struct Claim {
14980					pub airdrop_id: claim::AirdropId,
14981					pub recipient: claim::Recipient,
14982					pub amount: claim::Amount,
14983					pub merkle_proof: claim::MerkleProof,
14984				}
14985				pub mod claim {
14986					use super::runtime_types;
14987					pub type AirdropId = ::core::primitive::u32;
14988					pub type Recipient = ::subxt::ext::subxt_core::utils::AccountId32;
14989					pub type Amount = ::core::primitive::u128;
14990					pub type MerkleProof =
14991						runtime_types::bounded_collections::bounded_vec::BoundedVec<
14992							[::core::primitive::u8; 32usize],
14993						>;
14994				}
14995				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Claim {
14996					const PALLET: &'static str = "MerkleAirdrop";
14997					const CALL: &'static str = "claim";
14998				}
14999				#[derive(
15000					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15001					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15002					Debug,
15003				)]
15004				#[decode_as_type(
15005					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15006				)]
15007				#[encode_as_type(
15008					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15009				)]
15010				#[doc = "Delete an airdrop and reclaim any remaining funds."]
15011				#[doc = ""]
15012				#[doc = "This function allows the creator of an airdrop to delete it and reclaim"]
15013				#[doc = "any remaining tokens that haven't been claimed."]
15014				#[doc = ""]
15015				#[doc = "# Parameters"]
15016				#[doc = ""]
15017				#[doc = "* `origin` - The origin of the call (must be the airdrop creator)"]
15018				#[doc = "* `airdrop_id` - The ID of the airdrop to delete"]
15019				#[doc = ""]
15020				#[doc = "# Errors"]
15021				#[doc = ""]
15022				#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
15023				#[doc = "* `NotAirdropCreator` - If the caller is not the creator of the airdrop"]
15024				pub struct DeleteAirdrop {
15025					pub airdrop_id: delete_airdrop::AirdropId,
15026				}
15027				pub mod delete_airdrop {
15028					use super::runtime_types;
15029					pub type AirdropId = ::core::primitive::u32;
15030				}
15031				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for DeleteAirdrop {
15032					const PALLET: &'static str = "MerkleAirdrop";
15033					const CALL: &'static str = "delete_airdrop";
15034				}
15035			}
15036			pub struct TransactionApi;
15037			impl TransactionApi {
15038				#[doc = "Create a new airdrop with a Merkle root."]
15039				#[doc = ""]
15040				#[doc = "The Merkle root is a cryptographic hash that represents all valid claims"]
15041				#[doc = "for this airdrop. Users will later provide Merkle proofs to verify their"]
15042				#[doc = "eligibility to claim tokens."]
15043				#[doc = ""]
15044				#[doc = "# Parameters"]
15045				#[doc = ""]
15046				#[doc = "* `origin` - The origin of the call (must be signed)"]
15047				#[doc = "* `merkle_root` - The Merkle root hash representing all valid claims"]
15048				#[doc = "* `vesting_period` - Optional vesting period for the airdrop"]
15049				#[doc = "* `vesting_delay` - Optional delay before vesting starts"]
15050				pub fn create_airdrop(
15051					&self,
15052					merkle_root: types::create_airdrop::MerkleRoot,
15053					vesting_period: types::create_airdrop::VestingPeriod,
15054					vesting_delay: types::create_airdrop::VestingDelay,
15055				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CreateAirdrop>
15056				{
15057					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
15058						"MerkleAirdrop",
15059						"create_airdrop",
15060						types::CreateAirdrop { merkle_root, vesting_period, vesting_delay },
15061						[
15062							18u8, 201u8, 105u8, 56u8, 66u8, 207u8, 57u8, 177u8, 133u8, 38u8, 185u8,
15063							19u8, 205u8, 119u8, 177u8, 206u8, 188u8, 88u8, 138u8, 33u8, 246u8,
15064							179u8, 148u8, 0u8, 79u8, 201u8, 89u8, 229u8, 46u8, 77u8, 42u8, 117u8,
15065						],
15066					)
15067				}
15068				#[doc = "Fund an existing airdrop with tokens."]
15069				#[doc = ""]
15070				#[doc = "This function transfers tokens from the caller to the airdrop's account,"]
15071				#[doc = "making them available for users to claim."]
15072				#[doc = ""]
15073				#[doc = "# Parameters"]
15074				#[doc = ""]
15075				#[doc = "* `origin` - The origin of the call (must be signed)"]
15076				#[doc = "* `airdrop_id` - The ID of the airdrop to fund"]
15077				#[doc = "* `amount` - The amount of tokens to add to the airdrop"]
15078				#[doc = ""]
15079				#[doc = "# Errors"]
15080				#[doc = ""]
15081				#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
15082				pub fn fund_airdrop(
15083					&self,
15084					airdrop_id: types::fund_airdrop::AirdropId,
15085					amount: types::fund_airdrop::Amount,
15086				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::FundAirdrop> {
15087					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
15088						"MerkleAirdrop",
15089						"fund_airdrop",
15090						types::FundAirdrop { airdrop_id, amount },
15091						[
15092							11u8, 155u8, 135u8, 152u8, 19u8, 196u8, 79u8, 68u8, 24u8, 46u8, 27u8,
15093							63u8, 202u8, 242u8, 166u8, 160u8, 81u8, 44u8, 115u8, 247u8, 110u8,
15094							49u8, 11u8, 204u8, 70u8, 39u8, 7u8, 43u8, 103u8, 78u8, 39u8, 131u8,
15095						],
15096					)
15097				}
15098				#[doc = "Claim tokens from an airdrop by providing a Merkle proof."]
15099				#[doc = ""]
15100				#[doc = "Users can claim their tokens by providing a proof of their eligibility."]
15101				#[doc = "The proof is verified against the airdrop's Merkle root."]
15102				#[doc = "Anyone can trigger a claim for any eligible recipient."]
15103				#[doc = ""]
15104				#[doc = "# Parameters"]
15105				#[doc = ""]
15106				#[doc = "* `origin` - The origin of the call"]
15107				#[doc = "* `airdrop_id` - The ID of the airdrop to claim from"]
15108				#[doc = "* `amount` - The amount of tokens to claim"]
15109				#[doc = "* `merkle_proof` - The Merkle proof verifying eligibility"]
15110				#[doc = ""]
15111				#[doc = "# Errors"]
15112				#[doc = ""]
15113				#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
15114				#[doc = "* `AlreadyClaimed` - If the recipient has already claimed from this airdrop"]
15115				#[doc = "* `InvalidProof` - If the provided Merkle proof is invalid"]
15116				#[doc = "* `InsufficientAirdropBalance` - If the airdrop doesn't have enough tokens"]
15117				pub fn claim(
15118					&self,
15119					airdrop_id: types::claim::AirdropId,
15120					recipient: types::claim::Recipient,
15121					amount: types::claim::Amount,
15122					merkle_proof: types::claim::MerkleProof,
15123				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Claim> {
15124					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
15125						"MerkleAirdrop",
15126						"claim",
15127						types::Claim { airdrop_id, recipient, amount, merkle_proof },
15128						[
15129							137u8, 9u8, 80u8, 195u8, 157u8, 215u8, 158u8, 30u8, 26u8, 104u8, 183u8,
15130							55u8, 102u8, 100u8, 41u8, 40u8, 26u8, 193u8, 255u8, 95u8, 201u8, 240u8,
15131							18u8, 253u8, 71u8, 117u8, 88u8, 250u8, 192u8, 67u8, 127u8, 159u8,
15132						],
15133					)
15134				}
15135				#[doc = "Delete an airdrop and reclaim any remaining funds."]
15136				#[doc = ""]
15137				#[doc = "This function allows the creator of an airdrop to delete it and reclaim"]
15138				#[doc = "any remaining tokens that haven't been claimed."]
15139				#[doc = ""]
15140				#[doc = "# Parameters"]
15141				#[doc = ""]
15142				#[doc = "* `origin` - The origin of the call (must be the airdrop creator)"]
15143				#[doc = "* `airdrop_id` - The ID of the airdrop to delete"]
15144				#[doc = ""]
15145				#[doc = "# Errors"]
15146				#[doc = ""]
15147				#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
15148				#[doc = "* `NotAirdropCreator` - If the caller is not the creator of the airdrop"]
15149				pub fn delete_airdrop(
15150					&self,
15151					airdrop_id: types::delete_airdrop::AirdropId,
15152				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::DeleteAirdrop>
15153				{
15154					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
15155						"MerkleAirdrop",
15156						"delete_airdrop",
15157						types::DeleteAirdrop { airdrop_id },
15158						[
15159							34u8, 88u8, 199u8, 36u8, 214u8, 19u8, 124u8, 24u8, 29u8, 222u8, 138u8,
15160							174u8, 47u8, 199u8, 59u8, 155u8, 118u8, 157u8, 82u8, 96u8, 81u8, 186u8,
15161							27u8, 96u8, 116u8, 99u8, 185u8, 8u8, 100u8, 34u8, 179u8, 185u8,
15162						],
15163					)
15164				}
15165			}
15166		}
15167		#[doc = "The `Event` enum of this pallet"]
15168		pub type Event = runtime_types::pallet_merkle_airdrop::pallet::Event;
15169		pub mod events {
15170			use super::runtime_types;
15171			#[derive(
15172				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15173				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15174				Debug,
15175			)]
15176			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15177			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15178			#[doc = "A new airdrop has been created."]
15179			#[doc = ""]
15180			#[doc = "Parameters: [airdrop_id, merkle_root]"]
15181			pub struct AirdropCreated {
15182				pub airdrop_id: airdrop_created::AirdropId,
15183				pub airdrop_metadata: airdrop_created::AirdropMetadata,
15184			}
15185			pub mod airdrop_created {
15186				use super::runtime_types;
15187				pub type AirdropId = ::core::primitive::u32;
15188				pub type AirdropMetadata = runtime_types::pallet_merkle_airdrop::AirdropMetadata<
15189					::core::primitive::u32,
15190					::core::primitive::u128,
15191					::subxt::ext::subxt_core::utils::AccountId32,
15192				>;
15193			}
15194			impl ::subxt::ext::subxt_core::events::StaticEvent for AirdropCreated {
15195				const PALLET: &'static str = "MerkleAirdrop";
15196				const EVENT: &'static str = "AirdropCreated";
15197			}
15198			#[derive(
15199				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15200				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15201				Debug,
15202			)]
15203			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15204			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15205			#[doc = "An airdrop has been funded with tokens."]
15206			#[doc = ""]
15207			#[doc = "Parameters: [airdrop_id, amount]"]
15208			pub struct AirdropFunded {
15209				pub airdrop_id: airdrop_funded::AirdropId,
15210				pub amount: airdrop_funded::Amount,
15211			}
15212			pub mod airdrop_funded {
15213				use super::runtime_types;
15214				pub type AirdropId = ::core::primitive::u32;
15215				pub type Amount = ::core::primitive::u128;
15216			}
15217			impl ::subxt::ext::subxt_core::events::StaticEvent for AirdropFunded {
15218				const PALLET: &'static str = "MerkleAirdrop";
15219				const EVENT: &'static str = "AirdropFunded";
15220			}
15221			#[derive(
15222				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15223				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15224				Debug,
15225			)]
15226			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15227			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15228			#[doc = "A user has claimed tokens from an airdrop."]
15229			#[doc = ""]
15230			#[doc = "Parameters: [airdrop_id, account, amount]"]
15231			pub struct Claimed {
15232				pub airdrop_id: claimed::AirdropId,
15233				pub account: claimed::Account,
15234				pub amount: claimed::Amount,
15235			}
15236			pub mod claimed {
15237				use super::runtime_types;
15238				pub type AirdropId = ::core::primitive::u32;
15239				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
15240				pub type Amount = ::core::primitive::u128;
15241			}
15242			impl ::subxt::ext::subxt_core::events::StaticEvent for Claimed {
15243				const PALLET: &'static str = "MerkleAirdrop";
15244				const EVENT: &'static str = "Claimed";
15245			}
15246			#[derive(
15247				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15248				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15249				Debug,
15250			)]
15251			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15252			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15253			#[doc = "An airdrop has been deleted."]
15254			#[doc = ""]
15255			#[doc = "Parameters: [airdrop_id]"]
15256			pub struct AirdropDeleted {
15257				pub airdrop_id: airdrop_deleted::AirdropId,
15258			}
15259			pub mod airdrop_deleted {
15260				use super::runtime_types;
15261				pub type AirdropId = ::core::primitive::u32;
15262			}
15263			impl ::subxt::ext::subxt_core::events::StaticEvent for AirdropDeleted {
15264				const PALLET: &'static str = "MerkleAirdrop";
15265				const EVENT: &'static str = "AirdropDeleted";
15266			}
15267		}
15268		pub mod storage {
15269			use super::runtime_types;
15270			pub mod types {
15271				use super::runtime_types;
15272				pub mod airdrop_info {
15273					use super::runtime_types;
15274					pub type AirdropInfo = runtime_types::pallet_merkle_airdrop::AirdropMetadata<
15275						::core::primitive::u32,
15276						::core::primitive::u128,
15277						::subxt::ext::subxt_core::utils::AccountId32,
15278					>;
15279					pub type Param0 = ::core::primitive::u32;
15280				}
15281				pub mod claimed {
15282					use super::runtime_types;
15283					pub type Claimed = ();
15284					pub type Param0 = ::core::primitive::u32;
15285					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
15286				}
15287				pub mod next_airdrop_id {
15288					use super::runtime_types;
15289					pub type NextAirdropId = ::core::primitive::u32;
15290				}
15291			}
15292			pub struct StorageApi;
15293			impl StorageApi {
15294				#[doc = " Stores general info about an airdrop"]
15295				pub fn airdrop_info_iter(
15296					&self,
15297				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
15298					(),
15299					types::airdrop_info::AirdropInfo,
15300					(),
15301					(),
15302					::subxt::ext::subxt_core::utils::Yes,
15303				> {
15304					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
15305						"MerkleAirdrop",
15306						"AirdropInfo",
15307						(),
15308						[
15309							38u8, 176u8, 25u8, 251u8, 80u8, 201u8, 118u8, 175u8, 89u8, 80u8, 227u8,
15310							241u8, 250u8, 0u8, 112u8, 71u8, 133u8, 50u8, 137u8, 13u8, 255u8, 24u8,
15311							253u8, 237u8, 195u8, 1u8, 192u8, 177u8, 167u8, 248u8, 11u8, 160u8,
15312						],
15313					)
15314				}
15315				#[doc = " Stores general info about an airdrop"]
15316				pub fn airdrop_info(
15317					&self,
15318					_0: types::airdrop_info::Param0,
15319				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
15320					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
15321						types::airdrop_info::Param0,
15322					>,
15323					types::airdrop_info::AirdropInfo,
15324					::subxt::ext::subxt_core::utils::Yes,
15325					(),
15326					(),
15327				> {
15328					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
15329						"MerkleAirdrop",
15330						"AirdropInfo",
15331						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
15332						[
15333							38u8, 176u8, 25u8, 251u8, 80u8, 201u8, 118u8, 175u8, 89u8, 80u8, 227u8,
15334							241u8, 250u8, 0u8, 112u8, 71u8, 133u8, 50u8, 137u8, 13u8, 255u8, 24u8,
15335							253u8, 237u8, 195u8, 1u8, 192u8, 177u8, 167u8, 248u8, 11u8, 160u8,
15336						],
15337					)
15338				}
15339				#[doc = " Storage for claimed status"]
15340				pub fn claimed_iter(
15341					&self,
15342				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
15343					(),
15344					types::claimed::Claimed,
15345					(),
15346					::subxt::ext::subxt_core::utils::Yes,
15347					::subxt::ext::subxt_core::utils::Yes,
15348				> {
15349					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
15350						"MerkleAirdrop",
15351						"Claimed",
15352						(),
15353						[
15354							214u8, 178u8, 109u8, 48u8, 230u8, 120u8, 107u8, 211u8, 179u8, 251u8,
15355							164u8, 29u8, 197u8, 154u8, 160u8, 230u8, 112u8, 212u8, 14u8, 157u8,
15356							248u8, 207u8, 101u8, 159u8, 203u8, 82u8, 199u8, 102u8, 99u8, 239u8,
15357							162u8, 10u8,
15358						],
15359					)
15360				}
15361				#[doc = " Storage for claimed status"]
15362				pub fn claimed_iter1(
15363					&self,
15364					_0: types::claimed::Param0,
15365				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
15366					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
15367						types::claimed::Param0,
15368					>,
15369					types::claimed::Claimed,
15370					(),
15371					::subxt::ext::subxt_core::utils::Yes,
15372					::subxt::ext::subxt_core::utils::Yes,
15373				> {
15374					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
15375						"MerkleAirdrop",
15376						"Claimed",
15377						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
15378						[
15379							214u8, 178u8, 109u8, 48u8, 230u8, 120u8, 107u8, 211u8, 179u8, 251u8,
15380							164u8, 29u8, 197u8, 154u8, 160u8, 230u8, 112u8, 212u8, 14u8, 157u8,
15381							248u8, 207u8, 101u8, 159u8, 203u8, 82u8, 199u8, 102u8, 99u8, 239u8,
15382							162u8, 10u8,
15383						],
15384					)
15385				}
15386				#[doc = " Storage for claimed status"]
15387				pub fn claimed(
15388					&self,
15389					_0: types::claimed::Param0,
15390					_1: types::claimed::Param1,
15391				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
15392					(
15393						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
15394							types::claimed::Param0,
15395						>,
15396						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
15397							types::claimed::Param1,
15398						>,
15399					),
15400					types::claimed::Claimed,
15401					::subxt::ext::subxt_core::utils::Yes,
15402					::subxt::ext::subxt_core::utils::Yes,
15403					(),
15404				> {
15405					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
15406						"MerkleAirdrop",
15407						"Claimed",
15408						(
15409							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
15410							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
15411						),
15412						[
15413							214u8, 178u8, 109u8, 48u8, 230u8, 120u8, 107u8, 211u8, 179u8, 251u8,
15414							164u8, 29u8, 197u8, 154u8, 160u8, 230u8, 112u8, 212u8, 14u8, 157u8,
15415							248u8, 207u8, 101u8, 159u8, 203u8, 82u8, 199u8, 102u8, 99u8, 239u8,
15416							162u8, 10u8,
15417						],
15418					)
15419				}
15420				#[doc = " Counter for airdrop IDs"]
15421				pub fn next_airdrop_id(
15422					&self,
15423				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
15424					(),
15425					types::next_airdrop_id::NextAirdropId,
15426					::subxt::ext::subxt_core::utils::Yes,
15427					::subxt::ext::subxt_core::utils::Yes,
15428					(),
15429				> {
15430					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
15431						"MerkleAirdrop",
15432						"NextAirdropId",
15433						(),
15434						[
15435							79u8, 145u8, 145u8, 158u8, 86u8, 58u8, 102u8, 216u8, 133u8, 34u8,
15436							252u8, 224u8, 222u8, 51u8, 170u8, 3u8, 135u8, 29u8, 99u8, 143u8, 93u8,
15437							176u8, 69u8, 231u8, 74u8, 214u8, 94u8, 126u8, 227u8, 166u8, 242u8,
15438							98u8,
15439						],
15440					)
15441				}
15442			}
15443		}
15444		pub mod constants {
15445			use super::runtime_types;
15446			pub struct ConstantsApi;
15447			impl ConstantsApi {
15448				#[doc = " The maximum number of proof elements allowed in a Merkle proof."]
15449				pub fn max_proofs(
15450					&self,
15451				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
15452					::core::primitive::u32,
15453				> {
15454					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
15455						"MerkleAirdrop",
15456						"MaxProofs",
15457						[
15458							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
15459							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
15460							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
15461							145u8,
15462						],
15463					)
15464				}
15465				#[doc = " The pallet id, used for deriving its sovereign account ID."]
15466				pub fn pallet_id(
15467					&self,
15468				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
15469					runtime_types::frame_support::PalletId,
15470				> {
15471					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
15472						"MerkleAirdrop",
15473						"PalletId",
15474						[
15475							56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8,
15476							161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8,
15477							129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8,
15478						],
15479					)
15480				}
15481				#[doc = " Priority for unsigned claim transactions."]
15482				pub fn unsigned_claim_priority(
15483					&self,
15484				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
15485					::core::primitive::u64,
15486				> {
15487					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
15488						"MerkleAirdrop",
15489						"UnsignedClaimPriority",
15490						[
15491							128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8,
15492							59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8,
15493							103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8,
15494							246u8,
15495						],
15496					)
15497				}
15498			}
15499		}
15500	}
15501	pub mod treasury_pallet {
15502		use super::{root_mod, runtime_types};
15503		#[doc = "Error for the treasury pallet."]
15504		pub type Error = runtime_types::pallet_treasury::pallet::Error;
15505		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
15506		pub type Call = runtime_types::pallet_treasury::pallet::Call;
15507		pub mod calls {
15508			use super::{root_mod, runtime_types};
15509			type DispatchError = runtime_types::sp_runtime::DispatchError;
15510			pub mod types {
15511				use super::runtime_types;
15512				#[derive(
15513					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15514					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15515					Debug,
15516				)]
15517				#[decode_as_type(
15518					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15519				)]
15520				#[encode_as_type(
15521					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15522				)]
15523				#[doc = "Propose and approve a spend of treasury funds."]
15524				#[doc = ""]
15525				#[doc = "## Dispatch Origin"]
15526				#[doc = ""]
15527				#[doc = "Must be [`Config::SpendOrigin`] with the `Success` value being at least `amount`."]
15528				#[doc = ""]
15529				#[doc = "### Details"]
15530				#[doc = "NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the"]
15531				#[doc = "beneficiary."]
15532				#[doc = ""]
15533				#[doc = "### Parameters"]
15534				#[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."]
15535				#[doc = "- `beneficiary`: The destination account for the transfer."]
15536				#[doc = ""]
15537				#[doc = "## Events"]
15538				#[doc = ""]
15539				#[doc = "Emits [`Event::SpendApproved`] if successful."]
15540				pub struct SpendLocal {
15541					#[codec(compact)]
15542					pub amount: spend_local::Amount,
15543					pub beneficiary: spend_local::Beneficiary,
15544				}
15545				pub mod spend_local {
15546					use super::runtime_types;
15547					pub type Amount = ::core::primitive::u128;
15548					pub type Beneficiary = ::subxt::ext::subxt_core::utils::MultiAddress<
15549						::subxt::ext::subxt_core::utils::AccountId32,
15550						(),
15551					>;
15552				}
15553				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SpendLocal {
15554					const PALLET: &'static str = "TreasuryPallet";
15555					const CALL: &'static str = "spend_local";
15556				}
15557				#[derive(
15558					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15559					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15560					Debug,
15561				)]
15562				#[decode_as_type(
15563					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15564				)]
15565				#[encode_as_type(
15566					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15567				)]
15568				#[doc = "Force a previously approved proposal to be removed from the approval queue."]
15569				#[doc = ""]
15570				#[doc = "## Dispatch Origin"]
15571				#[doc = ""]
15572				#[doc = "Must be [`Config::RejectOrigin`]."]
15573				#[doc = ""]
15574				#[doc = "## Details"]
15575				#[doc = ""]
15576				#[doc = "The original deposit will no longer be returned."]
15577				#[doc = ""]
15578				#[doc = "### Parameters"]
15579				#[doc = "- `proposal_id`: The index of a proposal"]
15580				#[doc = ""]
15581				#[doc = "### Complexity"]
15582				#[doc = "- O(A) where `A` is the number of approvals"]
15583				#[doc = ""]
15584				#[doc = "### Errors"]
15585				#[doc = "- [`Error::ProposalNotApproved`]: The `proposal_id` supplied was not found in the"]
15586				#[doc = "  approval queue, i.e., the proposal has not been approved. This could also mean the"]
15587				#[doc = "  proposal does not exist altogether, thus there is no way it would have been approved"]
15588				#[doc = "  in the first place."]
15589				pub struct RemoveApproval {
15590					#[codec(compact)]
15591					pub proposal_id: remove_approval::ProposalId,
15592				}
15593				pub mod remove_approval {
15594					use super::runtime_types;
15595					pub type ProposalId = ::core::primitive::u32;
15596				}
15597				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveApproval {
15598					const PALLET: &'static str = "TreasuryPallet";
15599					const CALL: &'static str = "remove_approval";
15600				}
15601				#[derive(
15602					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15603					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15604					Debug,
15605				)]
15606				#[decode_as_type(
15607					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15608				)]
15609				#[encode_as_type(
15610					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15611				)]
15612				#[doc = "Propose and approve a spend of treasury funds."]
15613				#[doc = ""]
15614				#[doc = "## Dispatch Origin"]
15615				#[doc = ""]
15616				#[doc = "Must be [`Config::SpendOrigin`] with the `Success` value being at least"]
15617				#[doc = "`amount` of `asset_kind` in the native asset. The amount of `asset_kind` is converted"]
15618				#[doc = "for assertion using the [`Config::BalanceConverter`]."]
15619				#[doc = ""]
15620				#[doc = "## Details"]
15621				#[doc = ""]
15622				#[doc = "Create an approved spend for transferring a specific `amount` of `asset_kind` to a"]
15623				#[doc = "designated beneficiary. The spend must be claimed using the `payout` dispatchable within"]
15624				#[doc = "the [`Config::PayoutPeriod`]."]
15625				#[doc = ""]
15626				#[doc = "### Parameters"]
15627				#[doc = "- `asset_kind`: An indicator of the specific asset class to be spent."]
15628				#[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."]
15629				#[doc = "- `beneficiary`: The beneficiary of the spend."]
15630				#[doc = "- `valid_from`: The block number from which the spend can be claimed. It can refer to"]
15631				#[doc = "  the past if the resulting spend has not yet expired according to the"]
15632				#[doc = "  [`Config::PayoutPeriod`]. If `None`, the spend can be claimed immediately after"]
15633				#[doc = "  approval."]
15634				#[doc = ""]
15635				#[doc = "## Events"]
15636				#[doc = ""]
15637				#[doc = "Emits [`Event::AssetSpendApproved`] if successful."]
15638				pub struct Spend {
15639					pub asset_kind: ::subxt::ext::subxt_core::alloc::boxed::Box<spend::AssetKind>,
15640					#[codec(compact)]
15641					pub amount: spend::Amount,
15642					pub beneficiary:
15643						::subxt::ext::subxt_core::alloc::boxed::Box<spend::Beneficiary>,
15644					pub valid_from: spend::ValidFrom,
15645				}
15646				pub mod spend {
15647					use super::runtime_types;
15648					pub type AssetKind = ();
15649					pub type Amount = ::core::primitive::u128;
15650					pub type Beneficiary = ::subxt::ext::subxt_core::utils::MultiAddress<
15651						::subxt::ext::subxt_core::utils::AccountId32,
15652						(),
15653					>;
15654					pub type ValidFrom = ::core::option::Option<::core::primitive::u32>;
15655				}
15656				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Spend {
15657					const PALLET: &'static str = "TreasuryPallet";
15658					const CALL: &'static str = "spend";
15659				}
15660				#[derive(
15661					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15662					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15663					Debug,
15664				)]
15665				#[decode_as_type(
15666					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15667				)]
15668				#[encode_as_type(
15669					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15670				)]
15671				#[doc = "Claim a spend."]
15672				#[doc = ""]
15673				#[doc = "## Dispatch Origin"]
15674				#[doc = ""]
15675				#[doc = "Must be signed"]
15676				#[doc = ""]
15677				#[doc = "## Details"]
15678				#[doc = ""]
15679				#[doc = "Spends must be claimed within some temporal bounds. A spend may be claimed within one"]
15680				#[doc = "[`Config::PayoutPeriod`] from the `valid_from` block."]
15681				#[doc = "In case of a payout failure, the spend status must be updated with the `check_status`"]
15682				#[doc = "dispatchable before retrying with the current function."]
15683				#[doc = ""]
15684				#[doc = "### Parameters"]
15685				#[doc = "- `index`: The spend index."]
15686				#[doc = ""]
15687				#[doc = "## Events"]
15688				#[doc = ""]
15689				#[doc = "Emits [`Event::Paid`] if successful."]
15690				pub struct Payout {
15691					pub index: payout::Index,
15692				}
15693				pub mod payout {
15694					use super::runtime_types;
15695					pub type Index = ::core::primitive::u32;
15696				}
15697				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Payout {
15698					const PALLET: &'static str = "TreasuryPallet";
15699					const CALL: &'static str = "payout";
15700				}
15701				#[derive(
15702					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15703					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15704					Debug,
15705				)]
15706				#[decode_as_type(
15707					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15708				)]
15709				#[encode_as_type(
15710					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15711				)]
15712				#[doc = "Check the status of the spend and remove it from the storage if processed."]
15713				#[doc = ""]
15714				#[doc = "## Dispatch Origin"]
15715				#[doc = ""]
15716				#[doc = "Must be signed."]
15717				#[doc = ""]
15718				#[doc = "## Details"]
15719				#[doc = ""]
15720				#[doc = "The status check is a prerequisite for retrying a failed payout."]
15721				#[doc = "If a spend has either succeeded or expired, it is removed from the storage by this"]
15722				#[doc = "function. In such instances, transaction fees are refunded."]
15723				#[doc = ""]
15724				#[doc = "### Parameters"]
15725				#[doc = "- `index`: The spend index."]
15726				#[doc = ""]
15727				#[doc = "## Events"]
15728				#[doc = ""]
15729				#[doc = "Emits [`Event::PaymentFailed`] if the spend payout has failed."]
15730				#[doc = "Emits [`Event::SpendProcessed`] if the spend payout has succeed."]
15731				pub struct CheckStatus {
15732					pub index: check_status::Index,
15733				}
15734				pub mod check_status {
15735					use super::runtime_types;
15736					pub type Index = ::core::primitive::u32;
15737				}
15738				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CheckStatus {
15739					const PALLET: &'static str = "TreasuryPallet";
15740					const CALL: &'static str = "check_status";
15741				}
15742				#[derive(
15743					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15744					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15745					Debug,
15746				)]
15747				#[decode_as_type(
15748					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15749				)]
15750				#[encode_as_type(
15751					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15752				)]
15753				#[doc = "Void previously approved spend."]
15754				#[doc = ""]
15755				#[doc = "## Dispatch Origin"]
15756				#[doc = ""]
15757				#[doc = "Must be [`Config::RejectOrigin`]."]
15758				#[doc = ""]
15759				#[doc = "## Details"]
15760				#[doc = ""]
15761				#[doc = "A spend void is only possible if the payout has not been attempted yet."]
15762				#[doc = ""]
15763				#[doc = "### Parameters"]
15764				#[doc = "- `index`: The spend index."]
15765				#[doc = ""]
15766				#[doc = "## Events"]
15767				#[doc = ""]
15768				#[doc = "Emits [`Event::AssetSpendVoided`] if successful."]
15769				pub struct VoidSpend {
15770					pub index: void_spend::Index,
15771				}
15772				pub mod void_spend {
15773					use super::runtime_types;
15774					pub type Index = ::core::primitive::u32;
15775				}
15776				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for VoidSpend {
15777					const PALLET: &'static str = "TreasuryPallet";
15778					const CALL: &'static str = "void_spend";
15779				}
15780			}
15781			pub struct TransactionApi;
15782			impl TransactionApi {
15783				#[doc = "Propose and approve a spend of treasury funds."]
15784				#[doc = ""]
15785				#[doc = "## Dispatch Origin"]
15786				#[doc = ""]
15787				#[doc = "Must be [`Config::SpendOrigin`] with the `Success` value being at least `amount`."]
15788				#[doc = ""]
15789				#[doc = "### Details"]
15790				#[doc = "NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the"]
15791				#[doc = "beneficiary."]
15792				#[doc = ""]
15793				#[doc = "### Parameters"]
15794				#[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."]
15795				#[doc = "- `beneficiary`: The destination account for the transfer."]
15796				#[doc = ""]
15797				#[doc = "## Events"]
15798				#[doc = ""]
15799				#[doc = "Emits [`Event::SpendApproved`] if successful."]
15800				pub fn spend_local(
15801					&self,
15802					amount: types::spend_local::Amount,
15803					beneficiary: types::spend_local::Beneficiary,
15804				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SpendLocal> {
15805					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
15806						"TreasuryPallet",
15807						"spend_local",
15808						types::SpendLocal { amount, beneficiary },
15809						[
15810							137u8, 171u8, 83u8, 247u8, 245u8, 212u8, 152u8, 127u8, 210u8, 71u8,
15811							254u8, 134u8, 189u8, 26u8, 249u8, 41u8, 214u8, 175u8, 24u8, 64u8, 33u8,
15812							90u8, 23u8, 134u8, 44u8, 110u8, 63u8, 46u8, 46u8, 146u8, 222u8, 79u8,
15813						],
15814					)
15815				}
15816				#[doc = "Force a previously approved proposal to be removed from the approval queue."]
15817				#[doc = ""]
15818				#[doc = "## Dispatch Origin"]
15819				#[doc = ""]
15820				#[doc = "Must be [`Config::RejectOrigin`]."]
15821				#[doc = ""]
15822				#[doc = "## Details"]
15823				#[doc = ""]
15824				#[doc = "The original deposit will no longer be returned."]
15825				#[doc = ""]
15826				#[doc = "### Parameters"]
15827				#[doc = "- `proposal_id`: The index of a proposal"]
15828				#[doc = ""]
15829				#[doc = "### Complexity"]
15830				#[doc = "- O(A) where `A` is the number of approvals"]
15831				#[doc = ""]
15832				#[doc = "### Errors"]
15833				#[doc = "- [`Error::ProposalNotApproved`]: The `proposal_id` supplied was not found in the"]
15834				#[doc = "  approval queue, i.e., the proposal has not been approved. This could also mean the"]
15835				#[doc = "  proposal does not exist altogether, thus there is no way it would have been approved"]
15836				#[doc = "  in the first place."]
15837				pub fn remove_approval(
15838					&self,
15839					proposal_id: types::remove_approval::ProposalId,
15840				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveApproval>
15841				{
15842					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
15843						"TreasuryPallet",
15844						"remove_approval",
15845						types::RemoveApproval { proposal_id },
15846						[
15847							180u8, 20u8, 39u8, 227u8, 29u8, 228u8, 234u8, 36u8, 155u8, 114u8,
15848							197u8, 135u8, 185u8, 31u8, 56u8, 247u8, 224u8, 168u8, 254u8, 233u8,
15849							250u8, 134u8, 186u8, 155u8, 108u8, 84u8, 94u8, 226u8, 207u8, 130u8,
15850							196u8, 100u8,
15851						],
15852					)
15853				}
15854				#[doc = "Propose and approve a spend of treasury funds."]
15855				#[doc = ""]
15856				#[doc = "## Dispatch Origin"]
15857				#[doc = ""]
15858				#[doc = "Must be [`Config::SpendOrigin`] with the `Success` value being at least"]
15859				#[doc = "`amount` of `asset_kind` in the native asset. The amount of `asset_kind` is converted"]
15860				#[doc = "for assertion using the [`Config::BalanceConverter`]."]
15861				#[doc = ""]
15862				#[doc = "## Details"]
15863				#[doc = ""]
15864				#[doc = "Create an approved spend for transferring a specific `amount` of `asset_kind` to a"]
15865				#[doc = "designated beneficiary. The spend must be claimed using the `payout` dispatchable within"]
15866				#[doc = "the [`Config::PayoutPeriod`]."]
15867				#[doc = ""]
15868				#[doc = "### Parameters"]
15869				#[doc = "- `asset_kind`: An indicator of the specific asset class to be spent."]
15870				#[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."]
15871				#[doc = "- `beneficiary`: The beneficiary of the spend."]
15872				#[doc = "- `valid_from`: The block number from which the spend can be claimed. It can refer to"]
15873				#[doc = "  the past if the resulting spend has not yet expired according to the"]
15874				#[doc = "  [`Config::PayoutPeriod`]. If `None`, the spend can be claimed immediately after"]
15875				#[doc = "  approval."]
15876				#[doc = ""]
15877				#[doc = "## Events"]
15878				#[doc = ""]
15879				#[doc = "Emits [`Event::AssetSpendApproved`] if successful."]
15880				pub fn spend(
15881					&self,
15882					asset_kind: types::spend::AssetKind,
15883					amount: types::spend::Amount,
15884					beneficiary: types::spend::Beneficiary,
15885					valid_from: types::spend::ValidFrom,
15886				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Spend> {
15887					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
15888						"TreasuryPallet",
15889						"spend",
15890						types::Spend {
15891							asset_kind: ::subxt::ext::subxt_core::alloc::boxed::Box::new(
15892								asset_kind,
15893							),
15894							amount,
15895							beneficiary: ::subxt::ext::subxt_core::alloc::boxed::Box::new(
15896								beneficiary,
15897							),
15898							valid_from,
15899						},
15900						[
15901							64u8, 121u8, 249u8, 219u8, 22u8, 188u8, 167u8, 85u8, 45u8, 27u8, 200u8,
15902							219u8, 138u8, 17u8, 230u8, 106u8, 145u8, 39u8, 43u8, 161u8, 69u8, 10u8,
15903							202u8, 251u8, 127u8, 131u8, 0u8, 194u8, 25u8, 153u8, 169u8, 206u8,
15904						],
15905					)
15906				}
15907				#[doc = "Claim a spend."]
15908				#[doc = ""]
15909				#[doc = "## Dispatch Origin"]
15910				#[doc = ""]
15911				#[doc = "Must be signed"]
15912				#[doc = ""]
15913				#[doc = "## Details"]
15914				#[doc = ""]
15915				#[doc = "Spends must be claimed within some temporal bounds. A spend may be claimed within one"]
15916				#[doc = "[`Config::PayoutPeriod`] from the `valid_from` block."]
15917				#[doc = "In case of a payout failure, the spend status must be updated with the `check_status`"]
15918				#[doc = "dispatchable before retrying with the current function."]
15919				#[doc = ""]
15920				#[doc = "### Parameters"]
15921				#[doc = "- `index`: The spend index."]
15922				#[doc = ""]
15923				#[doc = "## Events"]
15924				#[doc = ""]
15925				#[doc = "Emits [`Event::Paid`] if successful."]
15926				pub fn payout(
15927					&self,
15928					index: types::payout::Index,
15929				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Payout> {
15930					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
15931						"TreasuryPallet",
15932						"payout",
15933						types::Payout { index },
15934						[
15935							179u8, 254u8, 82u8, 94u8, 248u8, 26u8, 6u8, 34u8, 93u8, 244u8, 186u8,
15936							199u8, 163u8, 32u8, 110u8, 220u8, 78u8, 11u8, 168u8, 182u8, 169u8,
15937							56u8, 53u8, 194u8, 168u8, 218u8, 131u8, 38u8, 46u8, 156u8, 93u8, 234u8,
15938						],
15939					)
15940				}
15941				#[doc = "Check the status of the spend and remove it from the storage if processed."]
15942				#[doc = ""]
15943				#[doc = "## Dispatch Origin"]
15944				#[doc = ""]
15945				#[doc = "Must be signed."]
15946				#[doc = ""]
15947				#[doc = "## Details"]
15948				#[doc = ""]
15949				#[doc = "The status check is a prerequisite for retrying a failed payout."]
15950				#[doc = "If a spend has either succeeded or expired, it is removed from the storage by this"]
15951				#[doc = "function. In such instances, transaction fees are refunded."]
15952				#[doc = ""]
15953				#[doc = "### Parameters"]
15954				#[doc = "- `index`: The spend index."]
15955				#[doc = ""]
15956				#[doc = "## Events"]
15957				#[doc = ""]
15958				#[doc = "Emits [`Event::PaymentFailed`] if the spend payout has failed."]
15959				#[doc = "Emits [`Event::SpendProcessed`] if the spend payout has succeed."]
15960				pub fn check_status(
15961					&self,
15962					index: types::check_status::Index,
15963				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CheckStatus> {
15964					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
15965						"TreasuryPallet",
15966						"check_status",
15967						types::CheckStatus { index },
15968						[
15969							164u8, 111u8, 10u8, 11u8, 104u8, 237u8, 112u8, 240u8, 104u8, 130u8,
15970							179u8, 221u8, 54u8, 18u8, 8u8, 172u8, 148u8, 245u8, 110u8, 174u8, 75u8,
15971							38u8, 46u8, 143u8, 101u8, 232u8, 65u8, 252u8, 36u8, 152u8, 29u8, 209u8,
15972						],
15973					)
15974				}
15975				#[doc = "Void previously approved spend."]
15976				#[doc = ""]
15977				#[doc = "## Dispatch Origin"]
15978				#[doc = ""]
15979				#[doc = "Must be [`Config::RejectOrigin`]."]
15980				#[doc = ""]
15981				#[doc = "## Details"]
15982				#[doc = ""]
15983				#[doc = "A spend void is only possible if the payout has not been attempted yet."]
15984				#[doc = ""]
15985				#[doc = "### Parameters"]
15986				#[doc = "- `index`: The spend index."]
15987				#[doc = ""]
15988				#[doc = "## Events"]
15989				#[doc = ""]
15990				#[doc = "Emits [`Event::AssetSpendVoided`] if successful."]
15991				pub fn void_spend(
15992					&self,
15993					index: types::void_spend::Index,
15994				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::VoidSpend> {
15995					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
15996						"TreasuryPallet",
15997						"void_spend",
15998						types::VoidSpend { index },
15999						[
16000							9u8, 212u8, 174u8, 92u8, 43u8, 102u8, 224u8, 124u8, 247u8, 239u8,
16001							196u8, 68u8, 132u8, 171u8, 116u8, 206u8, 52u8, 23u8, 92u8, 31u8, 156u8,
16002							160u8, 25u8, 16u8, 125u8, 60u8, 9u8, 109u8, 145u8, 139u8, 102u8, 224u8,
16003						],
16004					)
16005				}
16006			}
16007		}
16008		#[doc = "The `Event` enum of this pallet"]
16009		pub type Event = runtime_types::pallet_treasury::pallet::Event;
16010		pub mod events {
16011			use super::runtime_types;
16012			#[derive(
16013				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16014				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16015				Debug,
16016			)]
16017			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
16018			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
16019			#[doc = "We have ended a spend period and will now allocate funds."]
16020			pub struct Spending {
16021				pub budget_remaining: spending::BudgetRemaining,
16022			}
16023			pub mod spending {
16024				use super::runtime_types;
16025				pub type BudgetRemaining = ::core::primitive::u128;
16026			}
16027			impl ::subxt::ext::subxt_core::events::StaticEvent for Spending {
16028				const PALLET: &'static str = "TreasuryPallet";
16029				const EVENT: &'static str = "Spending";
16030			}
16031			#[derive(
16032				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16033				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16034				Debug,
16035			)]
16036			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
16037			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
16038			#[doc = "Some funds have been allocated."]
16039			pub struct Awarded {
16040				pub proposal_index: awarded::ProposalIndex,
16041				pub award: awarded::Award,
16042				pub account: awarded::Account,
16043			}
16044			pub mod awarded {
16045				use super::runtime_types;
16046				pub type ProposalIndex = ::core::primitive::u32;
16047				pub type Award = ::core::primitive::u128;
16048				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
16049			}
16050			impl ::subxt::ext::subxt_core::events::StaticEvent for Awarded {
16051				const PALLET: &'static str = "TreasuryPallet";
16052				const EVENT: &'static str = "Awarded";
16053			}
16054			#[derive(
16055				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16056				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16057				Debug,
16058			)]
16059			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
16060			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
16061			#[doc = "Some of our funds have been burnt."]
16062			pub struct Burnt {
16063				pub burnt_funds: burnt::BurntFunds,
16064			}
16065			pub mod burnt {
16066				use super::runtime_types;
16067				pub type BurntFunds = ::core::primitive::u128;
16068			}
16069			impl ::subxt::ext::subxt_core::events::StaticEvent for Burnt {
16070				const PALLET: &'static str = "TreasuryPallet";
16071				const EVENT: &'static str = "Burnt";
16072			}
16073			#[derive(
16074				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16075				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16076				Debug,
16077			)]
16078			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
16079			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
16080			#[doc = "Spending has finished; this is the amount that rolls over until next spend."]
16081			pub struct Rollover {
16082				pub rollover_balance: rollover::RolloverBalance,
16083			}
16084			pub mod rollover {
16085				use super::runtime_types;
16086				pub type RolloverBalance = ::core::primitive::u128;
16087			}
16088			impl ::subxt::ext::subxt_core::events::StaticEvent for Rollover {
16089				const PALLET: &'static str = "TreasuryPallet";
16090				const EVENT: &'static str = "Rollover";
16091			}
16092			#[derive(
16093				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16094				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16095				Debug,
16096			)]
16097			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
16098			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
16099			#[doc = "Some funds have been deposited."]
16100			pub struct Deposit {
16101				pub value: deposit::Value,
16102			}
16103			pub mod deposit {
16104				use super::runtime_types;
16105				pub type Value = ::core::primitive::u128;
16106			}
16107			impl ::subxt::ext::subxt_core::events::StaticEvent for Deposit {
16108				const PALLET: &'static str = "TreasuryPallet";
16109				const EVENT: &'static str = "Deposit";
16110			}
16111			#[derive(
16112				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16113				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16114				Debug,
16115			)]
16116			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
16117			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
16118			#[doc = "A new spend proposal has been approved."]
16119			pub struct SpendApproved {
16120				pub proposal_index: spend_approved::ProposalIndex,
16121				pub amount: spend_approved::Amount,
16122				pub beneficiary: spend_approved::Beneficiary,
16123			}
16124			pub mod spend_approved {
16125				use super::runtime_types;
16126				pub type ProposalIndex = ::core::primitive::u32;
16127				pub type Amount = ::core::primitive::u128;
16128				pub type Beneficiary = ::subxt::ext::subxt_core::utils::AccountId32;
16129			}
16130			impl ::subxt::ext::subxt_core::events::StaticEvent for SpendApproved {
16131				const PALLET: &'static str = "TreasuryPallet";
16132				const EVENT: &'static str = "SpendApproved";
16133			}
16134			#[derive(
16135				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16136				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16137				Debug,
16138			)]
16139			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
16140			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
16141			#[doc = "The inactive funds of the pallet have been updated."]
16142			pub struct UpdatedInactive {
16143				pub reactivated: updated_inactive::Reactivated,
16144				pub deactivated: updated_inactive::Deactivated,
16145			}
16146			pub mod updated_inactive {
16147				use super::runtime_types;
16148				pub type Reactivated = ::core::primitive::u128;
16149				pub type Deactivated = ::core::primitive::u128;
16150			}
16151			impl ::subxt::ext::subxt_core::events::StaticEvent for UpdatedInactive {
16152				const PALLET: &'static str = "TreasuryPallet";
16153				const EVENT: &'static str = "UpdatedInactive";
16154			}
16155			#[derive(
16156				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16157				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16158				Debug,
16159			)]
16160			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
16161			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
16162			#[doc = "A new asset spend proposal has been approved."]
16163			pub struct AssetSpendApproved {
16164				pub index: asset_spend_approved::Index,
16165				pub asset_kind: asset_spend_approved::AssetKind,
16166				pub amount: asset_spend_approved::Amount,
16167				pub beneficiary: asset_spend_approved::Beneficiary,
16168				pub valid_from: asset_spend_approved::ValidFrom,
16169				pub expire_at: asset_spend_approved::ExpireAt,
16170			}
16171			pub mod asset_spend_approved {
16172				use super::runtime_types;
16173				pub type Index = ::core::primitive::u32;
16174				pub type AssetKind = ();
16175				pub type Amount = ::core::primitive::u128;
16176				pub type Beneficiary = ::subxt::ext::subxt_core::utils::AccountId32;
16177				pub type ValidFrom = ::core::primitive::u32;
16178				pub type ExpireAt = ::core::primitive::u32;
16179			}
16180			impl ::subxt::ext::subxt_core::events::StaticEvent for AssetSpendApproved {
16181				const PALLET: &'static str = "TreasuryPallet";
16182				const EVENT: &'static str = "AssetSpendApproved";
16183			}
16184			#[derive(
16185				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16186				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16187				Debug,
16188			)]
16189			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
16190			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
16191			#[doc = "An approved spend was voided."]
16192			pub struct AssetSpendVoided {
16193				pub index: asset_spend_voided::Index,
16194			}
16195			pub mod asset_spend_voided {
16196				use super::runtime_types;
16197				pub type Index = ::core::primitive::u32;
16198			}
16199			impl ::subxt::ext::subxt_core::events::StaticEvent for AssetSpendVoided {
16200				const PALLET: &'static str = "TreasuryPallet";
16201				const EVENT: &'static str = "AssetSpendVoided";
16202			}
16203			#[derive(
16204				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16205				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16206				Debug,
16207			)]
16208			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
16209			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
16210			#[doc = "A payment happened."]
16211			pub struct Paid {
16212				pub index: paid::Index,
16213				pub payment_id: paid::PaymentId,
16214			}
16215			pub mod paid {
16216				use super::runtime_types;
16217				pub type Index = ::core::primitive::u32;
16218				pub type PaymentId = ::core::primitive::u32;
16219			}
16220			impl ::subxt::ext::subxt_core::events::StaticEvent for Paid {
16221				const PALLET: &'static str = "TreasuryPallet";
16222				const EVENT: &'static str = "Paid";
16223			}
16224			#[derive(
16225				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16226				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16227				Debug,
16228			)]
16229			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
16230			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
16231			#[doc = "A payment failed and can be retried."]
16232			pub struct PaymentFailed {
16233				pub index: payment_failed::Index,
16234				pub payment_id: payment_failed::PaymentId,
16235			}
16236			pub mod payment_failed {
16237				use super::runtime_types;
16238				pub type Index = ::core::primitive::u32;
16239				pub type PaymentId = ::core::primitive::u32;
16240			}
16241			impl ::subxt::ext::subxt_core::events::StaticEvent for PaymentFailed {
16242				const PALLET: &'static str = "TreasuryPallet";
16243				const EVENT: &'static str = "PaymentFailed";
16244			}
16245			#[derive(
16246				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16247				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16248				Debug,
16249			)]
16250			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
16251			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
16252			#[doc = "A spend was processed and removed from the storage. It might have been successfully"]
16253			#[doc = "paid or it may have expired."]
16254			pub struct SpendProcessed {
16255				pub index: spend_processed::Index,
16256			}
16257			pub mod spend_processed {
16258				use super::runtime_types;
16259				pub type Index = ::core::primitive::u32;
16260			}
16261			impl ::subxt::ext::subxt_core::events::StaticEvent for SpendProcessed {
16262				const PALLET: &'static str = "TreasuryPallet";
16263				const EVENT: &'static str = "SpendProcessed";
16264			}
16265		}
16266		pub mod storage {
16267			use super::runtime_types;
16268			pub mod types {
16269				use super::runtime_types;
16270				pub mod proposal_count {
16271					use super::runtime_types;
16272					pub type ProposalCount = ::core::primitive::u32;
16273				}
16274				pub mod proposals {
16275					use super::runtime_types;
16276					pub type Proposals = runtime_types::pallet_treasury::Proposal<
16277						::subxt::ext::subxt_core::utils::AccountId32,
16278						::core::primitive::u128,
16279					>;
16280					pub type Param0 = ::core::primitive::u32;
16281				}
16282				pub mod deactivated {
16283					use super::runtime_types;
16284					pub type Deactivated = ::core::primitive::u128;
16285				}
16286				pub mod approvals {
16287					use super::runtime_types;
16288					pub type Approvals =
16289						runtime_types::bounded_collections::bounded_vec::BoundedVec<
16290							::core::primitive::u32,
16291						>;
16292				}
16293				pub mod spend_count {
16294					use super::runtime_types;
16295					pub type SpendCount = ::core::primitive::u32;
16296				}
16297				pub mod spends {
16298					use super::runtime_types;
16299					pub type Spends = runtime_types::pallet_treasury::SpendStatus<
16300						(),
16301						::core::primitive::u128,
16302						::subxt::ext::subxt_core::utils::AccountId32,
16303						::core::primitive::u32,
16304						::core::primitive::u32,
16305					>;
16306					pub type Param0 = ::core::primitive::u32;
16307				}
16308				pub mod last_spend_period {
16309					use super::runtime_types;
16310					pub type LastSpendPeriod = ::core::primitive::u32;
16311				}
16312			}
16313			pub struct StorageApi;
16314			impl StorageApi {
16315				#[doc = " DEPRECATED: associated with `spend_local` call and will be removed in May 2025."]
16316				#[doc = " Refer to <https://github.com/paritytech/polkadot-sdk/pull/5961> for migration to `spend`."]
16317				#[doc = ""]
16318				#[doc = " Number of proposals that have been made."]
16319				pub fn proposal_count(
16320					&self,
16321				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
16322					(),
16323					types::proposal_count::ProposalCount,
16324					::subxt::ext::subxt_core::utils::Yes,
16325					::subxt::ext::subxt_core::utils::Yes,
16326					(),
16327				> {
16328					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
16329						"TreasuryPallet",
16330						"ProposalCount",
16331						(),
16332						[
16333							91u8, 238u8, 246u8, 106u8, 95u8, 66u8, 83u8, 134u8, 1u8, 225u8, 164u8,
16334							216u8, 113u8, 101u8, 203u8, 200u8, 113u8, 97u8, 246u8, 228u8, 140u8,
16335							29u8, 29u8, 48u8, 176u8, 137u8, 93u8, 230u8, 56u8, 75u8, 51u8, 149u8,
16336						],
16337					)
16338				}
16339				#[doc = " DEPRECATED: associated with `spend_local` call and will be removed in May 2025."]
16340				#[doc = " Refer to <https://github.com/paritytech/polkadot-sdk/pull/5961> for migration to `spend`."]
16341				#[doc = ""]
16342				#[doc = " Proposals that have been made."]
16343				pub fn proposals_iter(
16344					&self,
16345				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
16346					(),
16347					types::proposals::Proposals,
16348					(),
16349					(),
16350					::subxt::ext::subxt_core::utils::Yes,
16351				> {
16352					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
16353						"TreasuryPallet",
16354						"Proposals",
16355						(),
16356						[
16357							207u8, 135u8, 145u8, 146u8, 48u8, 10u8, 252u8, 40u8, 20u8, 115u8,
16358							205u8, 41u8, 173u8, 83u8, 115u8, 46u8, 106u8, 40u8, 130u8, 157u8,
16359							213u8, 87u8, 45u8, 23u8, 14u8, 167u8, 99u8, 208u8, 153u8, 163u8, 141u8,
16360							55u8,
16361						],
16362					)
16363				}
16364				#[doc = " DEPRECATED: associated with `spend_local` call and will be removed in May 2025."]
16365				#[doc = " Refer to <https://github.com/paritytech/polkadot-sdk/pull/5961> for migration to `spend`."]
16366				#[doc = ""]
16367				#[doc = " Proposals that have been made."]
16368				pub fn proposals(
16369					&self,
16370					_0: types::proposals::Param0,
16371				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
16372					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
16373						types::proposals::Param0,
16374					>,
16375					types::proposals::Proposals,
16376					::subxt::ext::subxt_core::utils::Yes,
16377					(),
16378					(),
16379				> {
16380					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
16381						"TreasuryPallet",
16382						"Proposals",
16383						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
16384						[
16385							207u8, 135u8, 145u8, 146u8, 48u8, 10u8, 252u8, 40u8, 20u8, 115u8,
16386							205u8, 41u8, 173u8, 83u8, 115u8, 46u8, 106u8, 40u8, 130u8, 157u8,
16387							213u8, 87u8, 45u8, 23u8, 14u8, 167u8, 99u8, 208u8, 153u8, 163u8, 141u8,
16388							55u8,
16389						],
16390					)
16391				}
16392				#[doc = " The amount which has been reported as inactive to Currency."]
16393				pub fn deactivated(
16394					&self,
16395				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
16396					(),
16397					types::deactivated::Deactivated,
16398					::subxt::ext::subxt_core::utils::Yes,
16399					::subxt::ext::subxt_core::utils::Yes,
16400					(),
16401				> {
16402					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
16403						"TreasuryPallet",
16404						"Deactivated",
16405						(),
16406						[
16407							120u8, 221u8, 159u8, 56u8, 161u8, 44u8, 54u8, 233u8, 47u8, 114u8,
16408							170u8, 150u8, 52u8, 24u8, 137u8, 212u8, 122u8, 247u8, 40u8, 17u8,
16409							208u8, 130u8, 42u8, 154u8, 33u8, 222u8, 59u8, 116u8, 0u8, 15u8, 79u8,
16410							123u8,
16411						],
16412					)
16413				}
16414				#[doc = " DEPRECATED: associated with `spend_local` call and will be removed in May 2025."]
16415				#[doc = " Refer to <https://github.com/paritytech/polkadot-sdk/pull/5961> for migration to `spend`."]
16416				#[doc = ""]
16417				#[doc = " Proposal indices that have been approved but not yet awarded."]
16418				pub fn approvals(
16419					&self,
16420				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
16421					(),
16422					types::approvals::Approvals,
16423					::subxt::ext::subxt_core::utils::Yes,
16424					::subxt::ext::subxt_core::utils::Yes,
16425					(),
16426				> {
16427					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
16428						"TreasuryPallet",
16429						"Approvals",
16430						(),
16431						[
16432							78u8, 147u8, 186u8, 235u8, 17u8, 40u8, 247u8, 235u8, 67u8, 222u8, 3u8,
16433							14u8, 248u8, 17u8, 67u8, 180u8, 93u8, 161u8, 64u8, 35u8, 119u8, 194u8,
16434							187u8, 226u8, 135u8, 162u8, 147u8, 174u8, 139u8, 72u8, 99u8, 212u8,
16435						],
16436					)
16437				}
16438				#[doc = " The count of spends that have been made."]
16439				pub fn spend_count(
16440					&self,
16441				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
16442					(),
16443					types::spend_count::SpendCount,
16444					::subxt::ext::subxt_core::utils::Yes,
16445					::subxt::ext::subxt_core::utils::Yes,
16446					(),
16447				> {
16448					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
16449						"TreasuryPallet",
16450						"SpendCount",
16451						(),
16452						[
16453							220u8, 74u8, 248u8, 52u8, 243u8, 209u8, 42u8, 236u8, 27u8, 98u8, 76u8,
16454							153u8, 129u8, 176u8, 34u8, 177u8, 33u8, 132u8, 21u8, 71u8, 206u8,
16455							146u8, 222u8, 44u8, 232u8, 246u8, 205u8, 92u8, 240u8, 136u8, 182u8,
16456							30u8,
16457						],
16458					)
16459				}
16460				#[doc = " Spends that have been approved and being processed."]
16461				pub fn spends_iter(
16462					&self,
16463				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
16464					(),
16465					types::spends::Spends,
16466					(),
16467					(),
16468					::subxt::ext::subxt_core::utils::Yes,
16469				> {
16470					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
16471						"TreasuryPallet",
16472						"Spends",
16473						(),
16474						[
16475							140u8, 4u8, 241u8, 80u8, 4u8, 219u8, 107u8, 152u8, 206u8, 175u8, 107u8,
16476							172u8, 208u8, 71u8, 174u8, 99u8, 198u8, 52u8, 142u8, 126u8, 145u8,
16477							171u8, 254u8, 9u8, 235u8, 158u8, 186u8, 101u8, 140u8, 200u8, 96u8,
16478							168u8,
16479						],
16480					)
16481				}
16482				#[doc = " Spends that have been approved and being processed."]
16483				pub fn spends(
16484					&self,
16485					_0: types::spends::Param0,
16486				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
16487					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
16488						types::spends::Param0,
16489					>,
16490					types::spends::Spends,
16491					::subxt::ext::subxt_core::utils::Yes,
16492					(),
16493					(),
16494				> {
16495					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
16496						"TreasuryPallet",
16497						"Spends",
16498						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
16499						[
16500							140u8, 4u8, 241u8, 80u8, 4u8, 219u8, 107u8, 152u8, 206u8, 175u8, 107u8,
16501							172u8, 208u8, 71u8, 174u8, 99u8, 198u8, 52u8, 142u8, 126u8, 145u8,
16502							171u8, 254u8, 9u8, 235u8, 158u8, 186u8, 101u8, 140u8, 200u8, 96u8,
16503							168u8,
16504						],
16505					)
16506				}
16507				#[doc = " The blocknumber for the last triggered spend period."]
16508				pub fn last_spend_period(
16509					&self,
16510				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
16511					(),
16512					types::last_spend_period::LastSpendPeriod,
16513					::subxt::ext::subxt_core::utils::Yes,
16514					(),
16515					(),
16516				> {
16517					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
16518						"TreasuryPallet",
16519						"LastSpendPeriod",
16520						(),
16521						[
16522							6u8, 200u8, 107u8, 132u8, 60u8, 31u8, 24u8, 196u8, 108u8, 227u8, 5u8,
16523							63u8, 249u8, 139u8, 82u8, 140u8, 169u8, 242u8, 118u8, 93u8, 83u8,
16524							155u8, 120u8, 175u8, 224u8, 227u8, 39u8, 39u8, 255u8, 247u8, 79u8,
16525							30u8,
16526						],
16527					)
16528				}
16529			}
16530		}
16531		pub mod constants {
16532			use super::runtime_types;
16533			pub struct ConstantsApi;
16534			impl ConstantsApi {
16535				#[doc = " Period between successive spends."]
16536				pub fn spend_period(
16537					&self,
16538				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
16539					::core::primitive::u32,
16540				> {
16541					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
16542						"TreasuryPallet",
16543						"SpendPeriod",
16544						[
16545							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
16546							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
16547							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
16548							145u8,
16549						],
16550					)
16551				}
16552				#[doc = " Percentage of spare funds (if any) that are burnt per spend period."]
16553				pub fn burn(
16554					&self,
16555				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
16556					runtime_types::sp_arithmetic::per_things::Permill,
16557				> {
16558					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
16559						"TreasuryPallet",
16560						"Burn",
16561						[
16562							65u8, 93u8, 120u8, 165u8, 204u8, 81u8, 159u8, 163u8, 93u8, 135u8,
16563							114u8, 121u8, 147u8, 35u8, 215u8, 213u8, 4u8, 223u8, 83u8, 37u8, 225u8,
16564							200u8, 189u8, 156u8, 140u8, 36u8, 58u8, 46u8, 42u8, 232u8, 155u8, 0u8,
16565						],
16566					)
16567				}
16568				#[doc = " The treasury's pallet id, used for deriving its sovereign account ID."]
16569				pub fn pallet_id(
16570					&self,
16571				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
16572					runtime_types::frame_support::PalletId,
16573				> {
16574					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
16575						"TreasuryPallet",
16576						"PalletId",
16577						[
16578							56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8,
16579							161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8,
16580							129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8,
16581						],
16582					)
16583				}
16584				#[doc = " DEPRECATED: associated with `spend_local` call and will be removed in May 2025."]
16585				#[doc = " Refer to <https://github.com/paritytech/polkadot-sdk/pull/5961> for migration to `spend`."]
16586				#[doc = ""]
16587				#[doc = " The maximum number of approvals that can wait in the spending queue."]
16588				#[doc = ""]
16589				#[doc = " NOTE: This parameter is also used within the Bounties Pallet extension if enabled."]
16590				pub fn max_approvals(
16591					&self,
16592				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
16593					::core::primitive::u32,
16594				> {
16595					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
16596						"TreasuryPallet",
16597						"MaxApprovals",
16598						[
16599							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
16600							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
16601							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
16602							145u8,
16603						],
16604					)
16605				}
16606				#[doc = " The period during which an approved treasury spend has to be claimed."]
16607				pub fn payout_period(
16608					&self,
16609				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
16610					::core::primitive::u32,
16611				> {
16612					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
16613						"TreasuryPallet",
16614						"PayoutPeriod",
16615						[
16616							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
16617							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
16618							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
16619							145u8,
16620						],
16621					)
16622				}
16623				#[doc = " Gets this pallet's derived pot account."]
16624				pub fn pot_account(
16625					&self,
16626				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
16627					::subxt::ext::subxt_core::utils::AccountId32,
16628				> {
16629					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
16630						"TreasuryPallet",
16631						"pot_account",
16632						[
16633							115u8, 233u8, 13u8, 223u8, 88u8, 20u8, 202u8, 139u8, 153u8, 28u8,
16634							155u8, 157u8, 224u8, 66u8, 3u8, 250u8, 23u8, 53u8, 88u8, 168u8, 211u8,
16635							204u8, 122u8, 166u8, 248u8, 23u8, 174u8, 225u8, 99u8, 108u8, 89u8,
16636							135u8,
16637						],
16638					)
16639				}
16640			}
16641		}
16642	}
16643	pub mod origins {
16644		use super::{root_mod, runtime_types};
16645	}
16646	pub mod recovery {
16647		use super::{root_mod, runtime_types};
16648		#[doc = "The `Error` enum of this pallet."]
16649		pub type Error = runtime_types::pallet_recovery::pallet::Error;
16650		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
16651		pub type Call = runtime_types::pallet_recovery::pallet::Call;
16652		pub mod calls {
16653			use super::{root_mod, runtime_types};
16654			type DispatchError = runtime_types::sp_runtime::DispatchError;
16655			pub mod types {
16656				use super::runtime_types;
16657				#[derive(
16658					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16659					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16660					Debug,
16661				)]
16662				#[decode_as_type(
16663					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16664				)]
16665				#[encode_as_type(
16666					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16667				)]
16668				#[doc = "Send a call through a recovered account."]
16669				#[doc = ""]
16670				#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
16671				#[doc = "be able to make calls on behalf of the recovered account."]
16672				#[doc = ""]
16673				#[doc = "Parameters:"]
16674				#[doc = "- `account`: The recovered account you want to make a call on-behalf-of."]
16675				#[doc = "- `call`: The call you want to make with the recovered account."]
16676				pub struct AsRecovered {
16677					pub account: as_recovered::Account,
16678					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<as_recovered::Call>,
16679				}
16680				pub mod as_recovered {
16681					use super::runtime_types;
16682					pub type Account = ::subxt::ext::subxt_core::utils::MultiAddress<
16683						::subxt::ext::subxt_core::utils::AccountId32,
16684						(),
16685					>;
16686					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
16687				}
16688				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for AsRecovered {
16689					const PALLET: &'static str = "Recovery";
16690					const CALL: &'static str = "as_recovered";
16691				}
16692				#[derive(
16693					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16694					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16695					Debug,
16696				)]
16697				#[decode_as_type(
16698					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16699				)]
16700				#[encode_as_type(
16701					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16702				)]
16703				#[doc = "Allow ROOT to bypass the recovery process and set a rescuer account"]
16704				#[doc = "for a lost account directly."]
16705				#[doc = ""]
16706				#[doc = "The dispatch origin for this call must be _ROOT_."]
16707				#[doc = ""]
16708				#[doc = "Parameters:"]
16709				#[doc = "- `lost`: The \"lost account\" to be recovered."]
16710				#[doc = "- `rescuer`: The \"rescuer account\" which can call as the lost account."]
16711				pub struct SetRecovered {
16712					pub lost: set_recovered::Lost,
16713					pub rescuer: set_recovered::Rescuer,
16714				}
16715				pub mod set_recovered {
16716					use super::runtime_types;
16717					pub type Lost = ::subxt::ext::subxt_core::utils::MultiAddress<
16718						::subxt::ext::subxt_core::utils::AccountId32,
16719						(),
16720					>;
16721					pub type Rescuer = ::subxt::ext::subxt_core::utils::MultiAddress<
16722						::subxt::ext::subxt_core::utils::AccountId32,
16723						(),
16724					>;
16725				}
16726				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetRecovered {
16727					const PALLET: &'static str = "Recovery";
16728					const CALL: &'static str = "set_recovered";
16729				}
16730				#[derive(
16731					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16732					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16733					Debug,
16734				)]
16735				#[decode_as_type(
16736					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16737				)]
16738				#[encode_as_type(
16739					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16740				)]
16741				#[doc = "Create a recovery configuration for your account. This makes your account recoverable."]
16742				#[doc = ""]
16743				#[doc = "Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance"]
16744				#[doc = "will be reserved for storing the recovery configuration. This deposit is returned"]
16745				#[doc = "in full when the user calls `remove_recovery`."]
16746				#[doc = ""]
16747				#[doc = "The dispatch origin for this call must be _Signed_."]
16748				#[doc = ""]
16749				#[doc = "Parameters:"]
16750				#[doc = "- `friends`: A list of friends you trust to vouch for recovery attempts. Should be"]
16751				#[doc = "  ordered and contain no duplicate values."]
16752				#[doc = "- `threshold`: The number of friends that must vouch for a recovery attempt before the"]
16753				#[doc = "  account can be recovered. Should be less than or equal to the length of the list of"]
16754				#[doc = "  friends."]
16755				#[doc = "- `delay_period`: The number of blocks after a recovery attempt is initialized that"]
16756				#[doc = "  needs to pass before the account can be recovered."]
16757				pub struct CreateRecovery {
16758					pub friends: create_recovery::Friends,
16759					pub threshold: create_recovery::Threshold,
16760					pub delay_period: create_recovery::DelayPeriod,
16761				}
16762				pub mod create_recovery {
16763					use super::runtime_types;
16764					pub type Friends = ::subxt::ext::subxt_core::alloc::vec::Vec<
16765						::subxt::ext::subxt_core::utils::AccountId32,
16766					>;
16767					pub type Threshold = ::core::primitive::u16;
16768					pub type DelayPeriod = ::core::primitive::u32;
16769				}
16770				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CreateRecovery {
16771					const PALLET: &'static str = "Recovery";
16772					const CALL: &'static str = "create_recovery";
16773				}
16774				#[derive(
16775					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16776					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16777					Debug,
16778				)]
16779				#[decode_as_type(
16780					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16781				)]
16782				#[encode_as_type(
16783					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16784				)]
16785				#[doc = "Initiate the process for recovering a recoverable account."]
16786				#[doc = ""]
16787				#[doc = "Payment: `RecoveryDeposit` balance will be reserved for initiating the"]
16788				#[doc = "recovery process. This deposit will always be repatriated to the account"]
16789				#[doc = "trying to be recovered. See `close_recovery`."]
16790				#[doc = ""]
16791				#[doc = "The dispatch origin for this call must be _Signed_."]
16792				#[doc = ""]
16793				#[doc = "Parameters:"]
16794				#[doc = "- `account`: The lost account that you want to recover. This account needs to be"]
16795				#[doc = "  recoverable (i.e. have a recovery configuration)."]
16796				pub struct InitiateRecovery {
16797					pub account: initiate_recovery::Account,
16798				}
16799				pub mod initiate_recovery {
16800					use super::runtime_types;
16801					pub type Account = ::subxt::ext::subxt_core::utils::MultiAddress<
16802						::subxt::ext::subxt_core::utils::AccountId32,
16803						(),
16804					>;
16805				}
16806				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for InitiateRecovery {
16807					const PALLET: &'static str = "Recovery";
16808					const CALL: &'static str = "initiate_recovery";
16809				}
16810				#[derive(
16811					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16812					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16813					Debug,
16814				)]
16815				#[decode_as_type(
16816					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16817				)]
16818				#[encode_as_type(
16819					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16820				)]
16821				#[doc = "Allow a \"friend\" of a recoverable account to vouch for an active recovery"]
16822				#[doc = "process for that account."]
16823				#[doc = ""]
16824				#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"friend\""]
16825				#[doc = "for the recoverable account."]
16826				#[doc = ""]
16827				#[doc = "Parameters:"]
16828				#[doc = "- `lost`: The lost account that you want to recover."]
16829				#[doc = "- `rescuer`: The account trying to rescue the lost account that you want to vouch for."]
16830				#[doc = ""]
16831				#[doc = "The combination of these two parameters must point to an active recovery"]
16832				#[doc = "process."]
16833				pub struct VouchRecovery {
16834					pub lost: vouch_recovery::Lost,
16835					pub rescuer: vouch_recovery::Rescuer,
16836				}
16837				pub mod vouch_recovery {
16838					use super::runtime_types;
16839					pub type Lost = ::subxt::ext::subxt_core::utils::MultiAddress<
16840						::subxt::ext::subxt_core::utils::AccountId32,
16841						(),
16842					>;
16843					pub type Rescuer = ::subxt::ext::subxt_core::utils::MultiAddress<
16844						::subxt::ext::subxt_core::utils::AccountId32,
16845						(),
16846					>;
16847				}
16848				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for VouchRecovery {
16849					const PALLET: &'static str = "Recovery";
16850					const CALL: &'static str = "vouch_recovery";
16851				}
16852				#[derive(
16853					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16854					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16855					Debug,
16856				)]
16857				#[decode_as_type(
16858					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16859				)]
16860				#[encode_as_type(
16861					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16862				)]
16863				#[doc = "Allow a successful rescuer to claim their recovered account."]
16864				#[doc = ""]
16865				#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"rescuer\""]
16866				#[doc = "who has successfully completed the account recovery process: collected"]
16867				#[doc = "`threshold` or more vouches, waited `delay_period` blocks since initiation."]
16868				#[doc = ""]
16869				#[doc = "Parameters:"]
16870				#[doc = "- `account`: The lost account that you want to claim has been successfully recovered by"]
16871				#[doc = "  you."]
16872				pub struct ClaimRecovery {
16873					pub account: claim_recovery::Account,
16874				}
16875				pub mod claim_recovery {
16876					use super::runtime_types;
16877					pub type Account = ::subxt::ext::subxt_core::utils::MultiAddress<
16878						::subxt::ext::subxt_core::utils::AccountId32,
16879						(),
16880					>;
16881				}
16882				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ClaimRecovery {
16883					const PALLET: &'static str = "Recovery";
16884					const CALL: &'static str = "claim_recovery";
16885				}
16886				#[derive(
16887					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16888					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16889					Debug,
16890				)]
16891				#[decode_as_type(
16892					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16893				)]
16894				#[encode_as_type(
16895					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16896				)]
16897				#[doc = "As the controller of a recoverable account, close an active recovery"]
16898				#[doc = "process for your account."]
16899				#[doc = ""]
16900				#[doc = "Payment: By calling this function, the recoverable account will receive"]
16901				#[doc = "the recovery deposit `RecoveryDeposit` placed by the rescuer."]
16902				#[doc = ""]
16903				#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
16904				#[doc = "recoverable account with an active recovery process for it."]
16905				#[doc = ""]
16906				#[doc = "Parameters:"]
16907				#[doc = "- `rescuer`: The account trying to rescue this recoverable account."]
16908				pub struct CloseRecovery {
16909					pub rescuer: close_recovery::Rescuer,
16910				}
16911				pub mod close_recovery {
16912					use super::runtime_types;
16913					pub type Rescuer = ::subxt::ext::subxt_core::utils::MultiAddress<
16914						::subxt::ext::subxt_core::utils::AccountId32,
16915						(),
16916					>;
16917				}
16918				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CloseRecovery {
16919					const PALLET: &'static str = "Recovery";
16920					const CALL: &'static str = "close_recovery";
16921				}
16922				#[derive(
16923					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16924					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16925					Debug,
16926				)]
16927				#[decode_as_type(
16928					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16929				)]
16930				#[encode_as_type(
16931					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16932				)]
16933				#[doc = "Remove the recovery process for your account. Recovered accounts are still accessible."]
16934				#[doc = ""]
16935				#[doc = "NOTE: The user must make sure to call `close_recovery` on all active"]
16936				#[doc = "recovery attempts before calling this function else it will fail."]
16937				#[doc = ""]
16938				#[doc = "Payment: By calling this function the recoverable account will unreserve"]
16939				#[doc = "their recovery configuration deposit."]
16940				#[doc = "(`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)"]
16941				#[doc = ""]
16942				#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
16943				#[doc = "recoverable account (i.e. has a recovery configuration)."]
16944				pub struct RemoveRecovery;
16945				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveRecovery {
16946					const PALLET: &'static str = "Recovery";
16947					const CALL: &'static str = "remove_recovery";
16948				}
16949				#[derive(
16950					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16951					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16952					Debug,
16953				)]
16954				#[decode_as_type(
16955					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16956				)]
16957				#[encode_as_type(
16958					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16959				)]
16960				#[doc = "Cancel the ability to use `as_recovered` for `account`."]
16961				#[doc = ""]
16962				#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
16963				#[doc = "be able to make calls on behalf of the recovered account."]
16964				#[doc = ""]
16965				#[doc = "Parameters:"]
16966				#[doc = "- `account`: The recovered account you are able to call on-behalf-of."]
16967				pub struct CancelRecovered {
16968					pub account: cancel_recovered::Account,
16969				}
16970				pub mod cancel_recovered {
16971					use super::runtime_types;
16972					pub type Account = ::subxt::ext::subxt_core::utils::MultiAddress<
16973						::subxt::ext::subxt_core::utils::AccountId32,
16974						(),
16975					>;
16976				}
16977				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CancelRecovered {
16978					const PALLET: &'static str = "Recovery";
16979					const CALL: &'static str = "cancel_recovered";
16980				}
16981				#[derive(
16982					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16983					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16984					Debug,
16985				)]
16986				#[decode_as_type(
16987					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16988				)]
16989				#[encode_as_type(
16990					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16991				)]
16992				#[doc = "Poke deposits for recovery configurations and / or active recoveries."]
16993				#[doc = ""]
16994				#[doc = "This can be used by accounts to possibly lower their locked amount."]
16995				#[doc = ""]
16996				#[doc = "The dispatch origin for this call must be _Signed_."]
16997				#[doc = ""]
16998				#[doc = "Parameters:"]
16999				#[doc = "- `maybe_account`: Optional recoverable account for which you have an active recovery"]
17000				#[doc = "and want to adjust the deposit for the active recovery."]
17001				#[doc = ""]
17002				#[doc = "This function checks both recovery configuration deposit and active recovery deposits"]
17003				#[doc = "of the caller:"]
17004				#[doc = "- If the caller has created a recovery configuration, checks and adjusts its deposit"]
17005				#[doc = "- If the caller has initiated any active recoveries, and provides the account in"]
17006				#[doc = "`maybe_account`, checks and adjusts those deposits"]
17007				#[doc = ""]
17008				#[doc = "If any deposit is updated, the difference will be reserved/unreserved from the caller's"]
17009				#[doc = "account."]
17010				#[doc = ""]
17011				#[doc = "The transaction is made free if any deposit is updated and paid otherwise."]
17012				#[doc = ""]
17013				#[doc = "Emits `DepositPoked` if any deposit is updated."]
17014				#[doc = "Multiple events may be emitted in case both types of deposits are updated."]
17015				pub struct PokeDeposit {
17016					pub maybe_account: poke_deposit::MaybeAccount,
17017				}
17018				pub mod poke_deposit {
17019					use super::runtime_types;
17020					pub type MaybeAccount = ::core::option::Option<
17021						::subxt::ext::subxt_core::utils::MultiAddress<
17022							::subxt::ext::subxt_core::utils::AccountId32,
17023							(),
17024						>,
17025					>;
17026				}
17027				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for PokeDeposit {
17028					const PALLET: &'static str = "Recovery";
17029					const CALL: &'static str = "poke_deposit";
17030				}
17031			}
17032			pub struct TransactionApi;
17033			impl TransactionApi {
17034				#[doc = "Send a call through a recovered account."]
17035				#[doc = ""]
17036				#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
17037				#[doc = "be able to make calls on behalf of the recovered account."]
17038				#[doc = ""]
17039				#[doc = "Parameters:"]
17040				#[doc = "- `account`: The recovered account you want to make a call on-behalf-of."]
17041				#[doc = "- `call`: The call you want to make with the recovered account."]
17042				pub fn as_recovered(
17043					&self,
17044					account: types::as_recovered::Account,
17045					call: types::as_recovered::Call,
17046				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::AsRecovered> {
17047					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17048						"Recovery",
17049						"as_recovered",
17050						types::AsRecovered {
17051							account,
17052							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
17053						},
17054						[
17055							45u8, 40u8, 208u8, 166u8, 146u8, 29u8, 213u8, 156u8, 75u8, 53u8, 244u8,
17056							220u8, 122u8, 44u8, 151u8, 109u8, 175u8, 181u8, 66u8, 52u8, 25u8,
17057							157u8, 43u8, 168u8, 32u8, 222u8, 85u8, 64u8, 68u8, 52u8, 22u8, 224u8,
17058						],
17059					)
17060				}
17061				#[doc = "Allow ROOT to bypass the recovery process and set a rescuer account"]
17062				#[doc = "for a lost account directly."]
17063				#[doc = ""]
17064				#[doc = "The dispatch origin for this call must be _ROOT_."]
17065				#[doc = ""]
17066				#[doc = "Parameters:"]
17067				#[doc = "- `lost`: The \"lost account\" to be recovered."]
17068				#[doc = "- `rescuer`: The \"rescuer account\" which can call as the lost account."]
17069				pub fn set_recovered(
17070					&self,
17071					lost: types::set_recovered::Lost,
17072					rescuer: types::set_recovered::Rescuer,
17073				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetRecovered> {
17074					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17075						"Recovery",
17076						"set_recovered",
17077						types::SetRecovered { lost, rescuer },
17078						[
17079							194u8, 147u8, 14u8, 197u8, 132u8, 185u8, 122u8, 81u8, 61u8, 14u8, 10u8,
17080							177u8, 74u8, 184u8, 150u8, 217u8, 246u8, 149u8, 26u8, 165u8, 196u8,
17081							83u8, 230u8, 195u8, 213u8, 40u8, 51u8, 180u8, 23u8, 90u8, 3u8, 14u8,
17082						],
17083					)
17084				}
17085				#[doc = "Create a recovery configuration for your account. This makes your account recoverable."]
17086				#[doc = ""]
17087				#[doc = "Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance"]
17088				#[doc = "will be reserved for storing the recovery configuration. This deposit is returned"]
17089				#[doc = "in full when the user calls `remove_recovery`."]
17090				#[doc = ""]
17091				#[doc = "The dispatch origin for this call must be _Signed_."]
17092				#[doc = ""]
17093				#[doc = "Parameters:"]
17094				#[doc = "- `friends`: A list of friends you trust to vouch for recovery attempts. Should be"]
17095				#[doc = "  ordered and contain no duplicate values."]
17096				#[doc = "- `threshold`: The number of friends that must vouch for a recovery attempt before the"]
17097				#[doc = "  account can be recovered. Should be less than or equal to the length of the list of"]
17098				#[doc = "  friends."]
17099				#[doc = "- `delay_period`: The number of blocks after a recovery attempt is initialized that"]
17100				#[doc = "  needs to pass before the account can be recovered."]
17101				pub fn create_recovery(
17102					&self,
17103					friends: types::create_recovery::Friends,
17104					threshold: types::create_recovery::Threshold,
17105					delay_period: types::create_recovery::DelayPeriod,
17106				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CreateRecovery>
17107				{
17108					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17109						"Recovery",
17110						"create_recovery",
17111						types::CreateRecovery { friends, threshold, delay_period },
17112						[
17113							36u8, 175u8, 11u8, 85u8, 95u8, 170u8, 58u8, 193u8, 102u8, 18u8, 117u8,
17114							27u8, 199u8, 214u8, 70u8, 47u8, 129u8, 130u8, 109u8, 242u8, 240u8,
17115							255u8, 120u8, 176u8, 40u8, 243u8, 175u8, 71u8, 3u8, 91u8, 186u8, 220u8,
17116						],
17117					)
17118				}
17119				#[doc = "Initiate the process for recovering a recoverable account."]
17120				#[doc = ""]
17121				#[doc = "Payment: `RecoveryDeposit` balance will be reserved for initiating the"]
17122				#[doc = "recovery process. This deposit will always be repatriated to the account"]
17123				#[doc = "trying to be recovered. See `close_recovery`."]
17124				#[doc = ""]
17125				#[doc = "The dispatch origin for this call must be _Signed_."]
17126				#[doc = ""]
17127				#[doc = "Parameters:"]
17128				#[doc = "- `account`: The lost account that you want to recover. This account needs to be"]
17129				#[doc = "  recoverable (i.e. have a recovery configuration)."]
17130				pub fn initiate_recovery(
17131					&self,
17132					account: types::initiate_recovery::Account,
17133				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::InitiateRecovery>
17134				{
17135					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17136						"Recovery",
17137						"initiate_recovery",
17138						types::InitiateRecovery { account },
17139						[
17140							60u8, 243u8, 229u8, 176u8, 221u8, 52u8, 44u8, 224u8, 233u8, 14u8, 89u8,
17141							100u8, 174u8, 74u8, 38u8, 32u8, 97u8, 48u8, 53u8, 74u8, 30u8, 242u8,
17142							19u8, 114u8, 145u8, 74u8, 69u8, 125u8, 227u8, 214u8, 144u8, 58u8,
17143						],
17144					)
17145				}
17146				#[doc = "Allow a \"friend\" of a recoverable account to vouch for an active recovery"]
17147				#[doc = "process for that account."]
17148				#[doc = ""]
17149				#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"friend\""]
17150				#[doc = "for the recoverable account."]
17151				#[doc = ""]
17152				#[doc = "Parameters:"]
17153				#[doc = "- `lost`: The lost account that you want to recover."]
17154				#[doc = "- `rescuer`: The account trying to rescue the lost account that you want to vouch for."]
17155				#[doc = ""]
17156				#[doc = "The combination of these two parameters must point to an active recovery"]
17157				#[doc = "process."]
17158				pub fn vouch_recovery(
17159					&self,
17160					lost: types::vouch_recovery::Lost,
17161					rescuer: types::vouch_recovery::Rescuer,
17162				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::VouchRecovery>
17163				{
17164					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17165						"Recovery",
17166						"vouch_recovery",
17167						types::VouchRecovery { lost, rescuer },
17168						[
17169							97u8, 190u8, 60u8, 15u8, 191u8, 117u8, 1u8, 217u8, 62u8, 40u8, 210u8,
17170							1u8, 237u8, 111u8, 48u8, 196u8, 180u8, 154u8, 198u8, 12u8, 108u8, 42u8,
17171							6u8, 234u8, 2u8, 113u8, 163u8, 111u8, 80u8, 146u8, 6u8, 73u8,
17172						],
17173					)
17174				}
17175				#[doc = "Allow a successful rescuer to claim their recovered account."]
17176				#[doc = ""]
17177				#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"rescuer\""]
17178				#[doc = "who has successfully completed the account recovery process: collected"]
17179				#[doc = "`threshold` or more vouches, waited `delay_period` blocks since initiation."]
17180				#[doc = ""]
17181				#[doc = "Parameters:"]
17182				#[doc = "- `account`: The lost account that you want to claim has been successfully recovered by"]
17183				#[doc = "  you."]
17184				pub fn claim_recovery(
17185					&self,
17186					account: types::claim_recovery::Account,
17187				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ClaimRecovery>
17188				{
17189					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17190						"Recovery",
17191						"claim_recovery",
17192						types::ClaimRecovery { account },
17193						[
17194							41u8, 47u8, 162u8, 88u8, 13u8, 166u8, 130u8, 146u8, 218u8, 162u8,
17195							166u8, 33u8, 89u8, 129u8, 177u8, 178u8, 68u8, 128u8, 161u8, 229u8,
17196							207u8, 3u8, 57u8, 35u8, 211u8, 208u8, 74u8, 155u8, 183u8, 173u8, 74u8,
17197							56u8,
17198						],
17199					)
17200				}
17201				#[doc = "As the controller of a recoverable account, close an active recovery"]
17202				#[doc = "process for your account."]
17203				#[doc = ""]
17204				#[doc = "Payment: By calling this function, the recoverable account will receive"]
17205				#[doc = "the recovery deposit `RecoveryDeposit` placed by the rescuer."]
17206				#[doc = ""]
17207				#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
17208				#[doc = "recoverable account with an active recovery process for it."]
17209				#[doc = ""]
17210				#[doc = "Parameters:"]
17211				#[doc = "- `rescuer`: The account trying to rescue this recoverable account."]
17212				pub fn close_recovery(
17213					&self,
17214					rescuer: types::close_recovery::Rescuer,
17215				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CloseRecovery>
17216				{
17217					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17218						"Recovery",
17219						"close_recovery",
17220						types::CloseRecovery { rescuer },
17221						[
17222							161u8, 178u8, 117u8, 209u8, 119u8, 164u8, 135u8, 41u8, 25u8, 108u8,
17223							194u8, 175u8, 221u8, 65u8, 184u8, 137u8, 171u8, 97u8, 204u8, 61u8,
17224							159u8, 39u8, 192u8, 53u8, 246u8, 69u8, 113u8, 16u8, 170u8, 232u8,
17225							163u8, 10u8,
17226						],
17227					)
17228				}
17229				#[doc = "Remove the recovery process for your account. Recovered accounts are still accessible."]
17230				#[doc = ""]
17231				#[doc = "NOTE: The user must make sure to call `close_recovery` on all active"]
17232				#[doc = "recovery attempts before calling this function else it will fail."]
17233				#[doc = ""]
17234				#[doc = "Payment: By calling this function the recoverable account will unreserve"]
17235				#[doc = "their recovery configuration deposit."]
17236				#[doc = "(`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)"]
17237				#[doc = ""]
17238				#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
17239				#[doc = "recoverable account (i.e. has a recovery configuration)."]
17240				pub fn remove_recovery(
17241					&self,
17242				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveRecovery>
17243				{
17244					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17245						"Recovery",
17246						"remove_recovery",
17247						types::RemoveRecovery {},
17248						[
17249							11u8, 38u8, 133u8, 172u8, 212u8, 252u8, 57u8, 216u8, 42u8, 202u8,
17250							206u8, 91u8, 115u8, 91u8, 242u8, 123u8, 95u8, 196u8, 172u8, 243u8,
17251							164u8, 1u8, 69u8, 180u8, 40u8, 68u8, 208u8, 221u8, 161u8, 250u8, 8u8,
17252							72u8,
17253						],
17254					)
17255				}
17256				#[doc = "Cancel the ability to use `as_recovered` for `account`."]
17257				#[doc = ""]
17258				#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
17259				#[doc = "be able to make calls on behalf of the recovered account."]
17260				#[doc = ""]
17261				#[doc = "Parameters:"]
17262				#[doc = "- `account`: The recovered account you are able to call on-behalf-of."]
17263				pub fn cancel_recovered(
17264					&self,
17265					account: types::cancel_recovered::Account,
17266				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CancelRecovered>
17267				{
17268					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17269						"Recovery",
17270						"cancel_recovered",
17271						types::CancelRecovered { account },
17272						[
17273							100u8, 222u8, 80u8, 226u8, 187u8, 188u8, 111u8, 58u8, 190u8, 5u8,
17274							178u8, 144u8, 37u8, 98u8, 71u8, 145u8, 28u8, 248u8, 222u8, 188u8, 53u8,
17275							21u8, 127u8, 176u8, 249u8, 166u8, 250u8, 59u8, 170u8, 33u8, 251u8,
17276							239u8,
17277						],
17278					)
17279				}
17280				#[doc = "Poke deposits for recovery configurations and / or active recoveries."]
17281				#[doc = ""]
17282				#[doc = "This can be used by accounts to possibly lower their locked amount."]
17283				#[doc = ""]
17284				#[doc = "The dispatch origin for this call must be _Signed_."]
17285				#[doc = ""]
17286				#[doc = "Parameters:"]
17287				#[doc = "- `maybe_account`: Optional recoverable account for which you have an active recovery"]
17288				#[doc = "and want to adjust the deposit for the active recovery."]
17289				#[doc = ""]
17290				#[doc = "This function checks both recovery configuration deposit and active recovery deposits"]
17291				#[doc = "of the caller:"]
17292				#[doc = "- If the caller has created a recovery configuration, checks and adjusts its deposit"]
17293				#[doc = "- If the caller has initiated any active recoveries, and provides the account in"]
17294				#[doc = "`maybe_account`, checks and adjusts those deposits"]
17295				#[doc = ""]
17296				#[doc = "If any deposit is updated, the difference will be reserved/unreserved from the caller's"]
17297				#[doc = "account."]
17298				#[doc = ""]
17299				#[doc = "The transaction is made free if any deposit is updated and paid otherwise."]
17300				#[doc = ""]
17301				#[doc = "Emits `DepositPoked` if any deposit is updated."]
17302				#[doc = "Multiple events may be emitted in case both types of deposits are updated."]
17303				pub fn poke_deposit(
17304					&self,
17305					maybe_account: types::poke_deposit::MaybeAccount,
17306				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::PokeDeposit> {
17307					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17308						"Recovery",
17309						"poke_deposit",
17310						types::PokeDeposit { maybe_account },
17311						[
17312							177u8, 98u8, 53u8, 15u8, 228u8, 36u8, 173u8, 55u8, 125u8, 3u8, 234u8,
17313							70u8, 147u8, 147u8, 124u8, 86u8, 31u8, 101u8, 171u8, 56u8, 148u8,
17314							180u8, 87u8, 149u8, 11u8, 113u8, 195u8, 35u8, 56u8, 32u8, 251u8, 56u8,
17315						],
17316					)
17317				}
17318			}
17319		}
17320		#[doc = "Events type."]
17321		pub type Event = runtime_types::pallet_recovery::pallet::Event;
17322		pub mod events {
17323			use super::runtime_types;
17324			#[derive(
17325				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17326				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17327				Debug,
17328			)]
17329			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17330			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17331			#[doc = "A recovery process has been set up for an account."]
17332			pub struct RecoveryCreated {
17333				pub account: recovery_created::Account,
17334			}
17335			pub mod recovery_created {
17336				use super::runtime_types;
17337				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
17338			}
17339			impl ::subxt::ext::subxt_core::events::StaticEvent for RecoveryCreated {
17340				const PALLET: &'static str = "Recovery";
17341				const EVENT: &'static str = "RecoveryCreated";
17342			}
17343			#[derive(
17344				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17345				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17346				Debug,
17347			)]
17348			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17349			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17350			#[doc = "A recovery process has been initiated for lost account by rescuer account."]
17351			pub struct RecoveryInitiated {
17352				pub lost_account: recovery_initiated::LostAccount,
17353				pub rescuer_account: recovery_initiated::RescuerAccount,
17354			}
17355			pub mod recovery_initiated {
17356				use super::runtime_types;
17357				pub type LostAccount = ::subxt::ext::subxt_core::utils::AccountId32;
17358				pub type RescuerAccount = ::subxt::ext::subxt_core::utils::AccountId32;
17359			}
17360			impl ::subxt::ext::subxt_core::events::StaticEvent for RecoveryInitiated {
17361				const PALLET: &'static str = "Recovery";
17362				const EVENT: &'static str = "RecoveryInitiated";
17363			}
17364			#[derive(
17365				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17366				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17367				Debug,
17368			)]
17369			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17370			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17371			#[doc = "A recovery process for lost account by rescuer account has been vouched for by sender."]
17372			pub struct RecoveryVouched {
17373				pub lost_account: recovery_vouched::LostAccount,
17374				pub rescuer_account: recovery_vouched::RescuerAccount,
17375				pub sender: recovery_vouched::Sender,
17376			}
17377			pub mod recovery_vouched {
17378				use super::runtime_types;
17379				pub type LostAccount = ::subxt::ext::subxt_core::utils::AccountId32;
17380				pub type RescuerAccount = ::subxt::ext::subxt_core::utils::AccountId32;
17381				pub type Sender = ::subxt::ext::subxt_core::utils::AccountId32;
17382			}
17383			impl ::subxt::ext::subxt_core::events::StaticEvent for RecoveryVouched {
17384				const PALLET: &'static str = "Recovery";
17385				const EVENT: &'static str = "RecoveryVouched";
17386			}
17387			#[derive(
17388				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17389				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17390				Debug,
17391			)]
17392			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17393			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17394			#[doc = "A recovery process for lost account by rescuer account has been closed."]
17395			pub struct RecoveryClosed {
17396				pub lost_account: recovery_closed::LostAccount,
17397				pub rescuer_account: recovery_closed::RescuerAccount,
17398			}
17399			pub mod recovery_closed {
17400				use super::runtime_types;
17401				pub type LostAccount = ::subxt::ext::subxt_core::utils::AccountId32;
17402				pub type RescuerAccount = ::subxt::ext::subxt_core::utils::AccountId32;
17403			}
17404			impl ::subxt::ext::subxt_core::events::StaticEvent for RecoveryClosed {
17405				const PALLET: &'static str = "Recovery";
17406				const EVENT: &'static str = "RecoveryClosed";
17407			}
17408			#[derive(
17409				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17410				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17411				Debug,
17412			)]
17413			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17414			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17415			#[doc = "Lost account has been successfully recovered by rescuer account."]
17416			pub struct AccountRecovered {
17417				pub lost_account: account_recovered::LostAccount,
17418				pub rescuer_account: account_recovered::RescuerAccount,
17419			}
17420			pub mod account_recovered {
17421				use super::runtime_types;
17422				pub type LostAccount = ::subxt::ext::subxt_core::utils::AccountId32;
17423				pub type RescuerAccount = ::subxt::ext::subxt_core::utils::AccountId32;
17424			}
17425			impl ::subxt::ext::subxt_core::events::StaticEvent for AccountRecovered {
17426				const PALLET: &'static str = "Recovery";
17427				const EVENT: &'static str = "AccountRecovered";
17428			}
17429			#[derive(
17430				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17431				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17432				Debug,
17433			)]
17434			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17435			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17436			#[doc = "A recovery process has been removed for an account."]
17437			pub struct RecoveryRemoved {
17438				pub lost_account: recovery_removed::LostAccount,
17439			}
17440			pub mod recovery_removed {
17441				use super::runtime_types;
17442				pub type LostAccount = ::subxt::ext::subxt_core::utils::AccountId32;
17443			}
17444			impl ::subxt::ext::subxt_core::events::StaticEvent for RecoveryRemoved {
17445				const PALLET: &'static str = "Recovery";
17446				const EVENT: &'static str = "RecoveryRemoved";
17447			}
17448			#[derive(
17449				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17450				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17451				Debug,
17452			)]
17453			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17454			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17455			#[doc = "A deposit has been updated."]
17456			pub struct DepositPoked {
17457				pub who: deposit_poked::Who,
17458				pub kind: deposit_poked::Kind,
17459				pub old_deposit: deposit_poked::OldDeposit,
17460				pub new_deposit: deposit_poked::NewDeposit,
17461			}
17462			pub mod deposit_poked {
17463				use super::runtime_types;
17464				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
17465				pub type Kind = runtime_types::pallet_recovery::DepositKind<
17466					runtime_types::quantus_runtime::Runtime,
17467				>;
17468				pub type OldDeposit = ::core::primitive::u128;
17469				pub type NewDeposit = ::core::primitive::u128;
17470			}
17471			impl ::subxt::ext::subxt_core::events::StaticEvent for DepositPoked {
17472				const PALLET: &'static str = "Recovery";
17473				const EVENT: &'static str = "DepositPoked";
17474			}
17475		}
17476		pub mod storage {
17477			use super::runtime_types;
17478			pub mod types {
17479				use super::runtime_types;
17480				pub mod recoverable {
17481					use super::runtime_types;
17482					pub type Recoverable = runtime_types::pallet_recovery::RecoveryConfig<
17483						::core::primitive::u32,
17484						::core::primitive::u128,
17485						runtime_types::bounded_collections::bounded_vec::BoundedVec<
17486							::subxt::ext::subxt_core::utils::AccountId32,
17487						>,
17488					>;
17489					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
17490				}
17491				pub mod active_recoveries {
17492					use super::runtime_types;
17493					pub type ActiveRecoveries = runtime_types::pallet_recovery::ActiveRecovery<
17494						::core::primitive::u32,
17495						::core::primitive::u128,
17496						runtime_types::bounded_collections::bounded_vec::BoundedVec<
17497							::subxt::ext::subxt_core::utils::AccountId32,
17498						>,
17499					>;
17500					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
17501					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
17502				}
17503				pub mod proxy {
17504					use super::runtime_types;
17505					pub type Proxy = ::subxt::ext::subxt_core::utils::AccountId32;
17506					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
17507				}
17508			}
17509			pub struct StorageApi;
17510			impl StorageApi {
17511				#[doc = " The set of recoverable accounts and their recovery configuration."]
17512				pub fn recoverable_iter(
17513					&self,
17514				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
17515					(),
17516					types::recoverable::Recoverable,
17517					(),
17518					(),
17519					::subxt::ext::subxt_core::utils::Yes,
17520				> {
17521					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
17522						"Recovery",
17523						"Recoverable",
17524						(),
17525						[
17526							112u8, 7u8, 56u8, 46u8, 138u8, 197u8, 63u8, 234u8, 140u8, 123u8, 145u8,
17527							106u8, 189u8, 190u8, 247u8, 61u8, 250u8, 67u8, 107u8, 42u8, 170u8,
17528							79u8, 54u8, 168u8, 33u8, 214u8, 91u8, 227u8, 5u8, 107u8, 38u8, 26u8,
17529						],
17530					)
17531				}
17532				#[doc = " The set of recoverable accounts and their recovery configuration."]
17533				pub fn recoverable(
17534					&self,
17535					_0: types::recoverable::Param0,
17536				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
17537					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
17538						types::recoverable::Param0,
17539					>,
17540					types::recoverable::Recoverable,
17541					::subxt::ext::subxt_core::utils::Yes,
17542					(),
17543					(),
17544				> {
17545					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
17546						"Recovery",
17547						"Recoverable",
17548						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
17549						[
17550							112u8, 7u8, 56u8, 46u8, 138u8, 197u8, 63u8, 234u8, 140u8, 123u8, 145u8,
17551							106u8, 189u8, 190u8, 247u8, 61u8, 250u8, 67u8, 107u8, 42u8, 170u8,
17552							79u8, 54u8, 168u8, 33u8, 214u8, 91u8, 227u8, 5u8, 107u8, 38u8, 26u8,
17553						],
17554					)
17555				}
17556				#[doc = " Active recovery attempts."]
17557				#[doc = ""]
17558				#[doc = " First account is the account to be recovered, and the second account"]
17559				#[doc = " is the user trying to recover the account."]
17560				pub fn active_recoveries_iter(
17561					&self,
17562				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
17563					(),
17564					types::active_recoveries::ActiveRecoveries,
17565					(),
17566					(),
17567					::subxt::ext::subxt_core::utils::Yes,
17568				> {
17569					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
17570						"Recovery",
17571						"ActiveRecoveries",
17572						(),
17573						[
17574							104u8, 252u8, 28u8, 142u8, 48u8, 26u8, 91u8, 201u8, 184u8, 163u8,
17575							180u8, 197u8, 189u8, 71u8, 144u8, 88u8, 225u8, 13u8, 183u8, 84u8,
17576							244u8, 41u8, 164u8, 212u8, 153u8, 247u8, 191u8, 25u8, 162u8, 25u8,
17577							91u8, 123u8,
17578						],
17579					)
17580				}
17581				#[doc = " Active recovery attempts."]
17582				#[doc = ""]
17583				#[doc = " First account is the account to be recovered, and the second account"]
17584				#[doc = " is the user trying to recover the account."]
17585				pub fn active_recoveries_iter1(
17586					&self,
17587					_0: types::active_recoveries::Param0,
17588				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
17589					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
17590						types::active_recoveries::Param0,
17591					>,
17592					types::active_recoveries::ActiveRecoveries,
17593					(),
17594					(),
17595					::subxt::ext::subxt_core::utils::Yes,
17596				> {
17597					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
17598						"Recovery",
17599						"ActiveRecoveries",
17600						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
17601						[
17602							104u8, 252u8, 28u8, 142u8, 48u8, 26u8, 91u8, 201u8, 184u8, 163u8,
17603							180u8, 197u8, 189u8, 71u8, 144u8, 88u8, 225u8, 13u8, 183u8, 84u8,
17604							244u8, 41u8, 164u8, 212u8, 153u8, 247u8, 191u8, 25u8, 162u8, 25u8,
17605							91u8, 123u8,
17606						],
17607					)
17608				}
17609				#[doc = " Active recovery attempts."]
17610				#[doc = ""]
17611				#[doc = " First account is the account to be recovered, and the second account"]
17612				#[doc = " is the user trying to recover the account."]
17613				pub fn active_recoveries(
17614					&self,
17615					_0: types::active_recoveries::Param0,
17616					_1: types::active_recoveries::Param1,
17617				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
17618					(
17619						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
17620							types::active_recoveries::Param0,
17621						>,
17622						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
17623							types::active_recoveries::Param1,
17624						>,
17625					),
17626					types::active_recoveries::ActiveRecoveries,
17627					::subxt::ext::subxt_core::utils::Yes,
17628					(),
17629					(),
17630				> {
17631					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
17632						"Recovery",
17633						"ActiveRecoveries",
17634						(
17635							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
17636							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
17637						),
17638						[
17639							104u8, 252u8, 28u8, 142u8, 48u8, 26u8, 91u8, 201u8, 184u8, 163u8,
17640							180u8, 197u8, 189u8, 71u8, 144u8, 88u8, 225u8, 13u8, 183u8, 84u8,
17641							244u8, 41u8, 164u8, 212u8, 153u8, 247u8, 191u8, 25u8, 162u8, 25u8,
17642							91u8, 123u8,
17643						],
17644					)
17645				}
17646				#[doc = " The list of allowed proxy accounts."]
17647				#[doc = ""]
17648				#[doc = " Map from the user who can access it to the recovered account."]
17649				pub fn proxy_iter(
17650					&self,
17651				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
17652					(),
17653					types::proxy::Proxy,
17654					(),
17655					(),
17656					::subxt::ext::subxt_core::utils::Yes,
17657				> {
17658					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
17659						"Recovery",
17660						"Proxy",
17661						(),
17662						[
17663							161u8, 242u8, 17u8, 183u8, 161u8, 47u8, 87u8, 110u8, 201u8, 177u8,
17664							199u8, 157u8, 30u8, 131u8, 49u8, 89u8, 182u8, 86u8, 152u8, 19u8, 199u8,
17665							33u8, 12u8, 138u8, 51u8, 215u8, 130u8, 5u8, 251u8, 115u8, 69u8, 159u8,
17666						],
17667					)
17668				}
17669				#[doc = " The list of allowed proxy accounts."]
17670				#[doc = ""]
17671				#[doc = " Map from the user who can access it to the recovered account."]
17672				pub fn proxy(
17673					&self,
17674					_0: types::proxy::Param0,
17675				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
17676					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
17677						types::proxy::Param0,
17678					>,
17679					types::proxy::Proxy,
17680					::subxt::ext::subxt_core::utils::Yes,
17681					(),
17682					(),
17683				> {
17684					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
17685						"Recovery",
17686						"Proxy",
17687						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
17688						[
17689							161u8, 242u8, 17u8, 183u8, 161u8, 47u8, 87u8, 110u8, 201u8, 177u8,
17690							199u8, 157u8, 30u8, 131u8, 49u8, 89u8, 182u8, 86u8, 152u8, 19u8, 199u8,
17691							33u8, 12u8, 138u8, 51u8, 215u8, 130u8, 5u8, 251u8, 115u8, 69u8, 159u8,
17692						],
17693					)
17694				}
17695			}
17696		}
17697		pub mod constants {
17698			use super::runtime_types;
17699			pub struct ConstantsApi;
17700			impl ConstantsApi {
17701				#[doc = " The base amount of currency needed to reserve for creating a recovery configuration."]
17702				#[doc = ""]
17703				#[doc = " This is held for an additional storage item whose value size is"]
17704				#[doc = " `2 + sizeof(BlockNumber, Balance)` bytes."]
17705				pub fn config_deposit_base(
17706					&self,
17707				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
17708					::core::primitive::u128,
17709				> {
17710					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
17711						"Recovery",
17712						"ConfigDepositBase",
17713						[
17714							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
17715							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
17716							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
17717						],
17718					)
17719				}
17720				#[doc = " The amount of currency needed per additional user when creating a recovery"]
17721				#[doc = " configuration."]
17722				#[doc = ""]
17723				#[doc = " This is held for adding `sizeof(AccountId)` bytes more into a pre-existing storage"]
17724				#[doc = " value."]
17725				pub fn friend_deposit_factor(
17726					&self,
17727				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
17728					::core::primitive::u128,
17729				> {
17730					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
17731						"Recovery",
17732						"FriendDepositFactor",
17733						[
17734							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
17735							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
17736							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
17737						],
17738					)
17739				}
17740				#[doc = " The maximum amount of friends allowed in a recovery configuration."]
17741				#[doc = ""]
17742				#[doc = " NOTE: The threshold programmed in this Pallet uses u16, so it does"]
17743				#[doc = " not really make sense to have a limit here greater than u16::MAX."]
17744				#[doc = " But also, that is a lot more than you should probably set this value"]
17745				#[doc = " to anyway..."]
17746				pub fn max_friends(
17747					&self,
17748				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
17749					::core::primitive::u32,
17750				> {
17751					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
17752						"Recovery",
17753						"MaxFriends",
17754						[
17755							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
17756							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
17757							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
17758							145u8,
17759						],
17760					)
17761				}
17762				#[doc = " The base amount of currency needed to reserve for starting a recovery."]
17763				#[doc = ""]
17764				#[doc = " This is primarily held for deterring malicious recovery attempts, and should"]
17765				#[doc = " have a value large enough that a bad actor would choose not to place this"]
17766				#[doc = " deposit. It also acts to fund additional storage item whose value size is"]
17767				#[doc = " `sizeof(BlockNumber, Balance + T * AccountId)` bytes. Where T is a configurable"]
17768				#[doc = " threshold."]
17769				pub fn recovery_deposit(
17770					&self,
17771				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
17772					::core::primitive::u128,
17773				> {
17774					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
17775						"Recovery",
17776						"RecoveryDeposit",
17777						[
17778							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
17779							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
17780							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
17781						],
17782					)
17783				}
17784			}
17785		}
17786	}
17787	pub mod runtime_types {
17788		use super::runtime_types;
17789		pub mod bounded_collections {
17790			use super::runtime_types;
17791			pub mod bounded_vec {
17792				use super::runtime_types;
17793				#[derive(
17794					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17795					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17796					Debug,
17797				)]
17798				#[decode_as_type(
17799					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17800				)]
17801				#[encode_as_type(
17802					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17803				)]
17804				pub struct BoundedVec<_0>(pub ::subxt::ext::subxt_core::alloc::vec::Vec<_0>);
17805			}
17806			pub mod weak_bounded_vec {
17807				use super::runtime_types;
17808				#[derive(
17809					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17810					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17811					Debug,
17812				)]
17813				#[decode_as_type(
17814					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17815				)]
17816				#[encode_as_type(
17817					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17818				)]
17819				pub struct WeakBoundedVec<_0>(pub ::subxt::ext::subxt_core::alloc::vec::Vec<_0>);
17820			}
17821		}
17822		pub mod dilithium_crypto {
17823			use super::runtime_types;
17824			pub mod types {
17825				use super::runtime_types;
17826				#[derive(
17827					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17828					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17829					Debug,
17830				)]
17831				#[decode_as_type(
17832					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17833				)]
17834				#[encode_as_type(
17835					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17836				)]
17837				pub enum DilithiumSignatureScheme {
17838					#[codec(index = 0)]
17839					Dilithium(runtime_types::dilithium_crypto::types::DilithiumSignatureWithPublic),
17840				}
17841				#[derive(
17842					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17843					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17844					Debug,
17845				)]
17846				#[decode_as_type(
17847					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17848				)]
17849				#[encode_as_type(
17850					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17851				)]
17852				pub struct DilithiumSignatureWithPublic {
17853					pub bytes: [::core::primitive::u8; 7219usize],
17854				}
17855			}
17856		}
17857		pub mod frame_metadata_hash_extension {
17858			use super::runtime_types;
17859			#[derive(
17860				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17861				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17862				Debug,
17863			)]
17864			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17865			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17866			pub struct CheckMetadataHash {
17867				pub mode: runtime_types::frame_metadata_hash_extension::Mode,
17868			}
17869			#[derive(
17870				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17871				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17872				Debug,
17873			)]
17874			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17875			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17876			pub enum Mode {
17877				#[codec(index = 0)]
17878				Disabled,
17879				#[codec(index = 1)]
17880				Enabled,
17881			}
17882		}
17883		pub mod frame_support {
17884			use super::runtime_types;
17885			pub mod dispatch {
17886				use super::runtime_types;
17887				#[derive(
17888					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17889					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17890					Debug,
17891				)]
17892				#[decode_as_type(
17893					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17894				)]
17895				#[encode_as_type(
17896					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17897				)]
17898				pub enum DispatchClass {
17899					#[codec(index = 0)]
17900					Normal,
17901					#[codec(index = 1)]
17902					Operational,
17903					#[codec(index = 2)]
17904					Mandatory,
17905				}
17906				#[derive(
17907					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17908					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17909					Debug,
17910				)]
17911				#[decode_as_type(
17912					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17913				)]
17914				#[encode_as_type(
17915					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17916				)]
17917				pub enum Pays {
17918					#[codec(index = 0)]
17919					Yes,
17920					#[codec(index = 1)]
17921					No,
17922				}
17923				#[derive(
17924					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17925					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17926					Debug,
17927				)]
17928				#[decode_as_type(
17929					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17930				)]
17931				#[encode_as_type(
17932					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17933				)]
17934				pub struct PerDispatchClass<_0> {
17935					pub normal: _0,
17936					pub operational: _0,
17937					pub mandatory: _0,
17938				}
17939				#[derive(
17940					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17941					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17942					Debug,
17943				)]
17944				#[decode_as_type(
17945					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17946				)]
17947				#[encode_as_type(
17948					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17949				)]
17950				pub struct PostDispatchInfo {
17951					pub actual_weight:
17952						::core::option::Option<runtime_types::sp_weights::weight_v2::Weight>,
17953					pub pays_fee: runtime_types::frame_support::dispatch::Pays,
17954				}
17955				#[derive(
17956					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17957					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17958					Debug,
17959				)]
17960				#[decode_as_type(
17961					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17962				)]
17963				#[encode_as_type(
17964					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17965				)]
17966				pub enum RawOrigin<_0> {
17967					#[codec(index = 0)]
17968					Root,
17969					#[codec(index = 1)]
17970					Signed(_0),
17971					#[codec(index = 2)]
17972					None,
17973					#[codec(index = 3)]
17974					Authorized,
17975				}
17976			}
17977			pub mod traits {
17978				use super::runtime_types;
17979				pub mod preimages {
17980					use super::runtime_types;
17981					#[derive(
17982						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17983						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17984						Debug,
17985					)]
17986					#[decode_as_type(
17987						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17988					)]
17989					#[encode_as_type(
17990						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17991					)]
17992					pub enum Bounded<_0, _1> {
17993						#[codec(index = 0)]
17994						Legacy {
17995							hash: ::subxt::ext::subxt_core::utils::H256,
17996						},
17997						#[codec(index = 1)]
17998						Inline(
17999							runtime_types::bounded_collections::bounded_vec::BoundedVec<
18000								::core::primitive::u8,
18001							>,
18002						),
18003						#[codec(index = 2)]
18004						Lookup {
18005							hash: ::subxt::ext::subxt_core::utils::H256,
18006							len: ::core::primitive::u32,
18007						},
18008						__Ignore(::core::marker::PhantomData<(_0, _1)>),
18009					}
18010				}
18011				pub mod schedule {
18012					use super::runtime_types;
18013					#[derive(
18014						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18015						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18016						Debug,
18017					)]
18018					#[decode_as_type(
18019						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18020					)]
18021					#[encode_as_type(
18022						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18023					)]
18024					pub enum DispatchTime<_0> {
18025						#[codec(index = 0)]
18026						At(_0),
18027						#[codec(index = 1)]
18028						After(_0),
18029					}
18030				}
18031				pub mod tokens {
18032					use super::runtime_types;
18033					pub mod misc {
18034						use super::runtime_types;
18035						#[derive(
18036							:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18037							:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18038							Debug,
18039						)]
18040						#[decode_as_type(
18041							crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18042						)]
18043						#[encode_as_type(
18044							crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18045						)]
18046						pub enum BalanceStatus {
18047							#[codec(index = 0)]
18048							Free,
18049							#[codec(index = 1)]
18050							Reserved,
18051						}
18052						#[derive(
18053							:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18054							:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18055							Debug,
18056						)]
18057						#[decode_as_type(
18058							crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18059						)]
18060						#[encode_as_type(
18061							crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18062						)]
18063						pub struct IdAmount<_0, _1> {
18064							pub id: _0,
18065							pub amount: _1,
18066						}
18067					}
18068				}
18069			}
18070			#[derive(
18071				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18072				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18073				Debug,
18074			)]
18075			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18076			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18077			pub struct PalletId(pub [::core::primitive::u8; 8usize]);
18078		}
18079		pub mod frame_system {
18080			use super::runtime_types;
18081			pub mod extensions {
18082				use super::runtime_types;
18083				pub mod check_genesis {
18084					use super::runtime_types;
18085					#[derive(
18086						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18087						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18088						Debug,
18089					)]
18090					#[decode_as_type(
18091						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18092					)]
18093					#[encode_as_type(
18094						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18095					)]
18096					pub struct CheckGenesis;
18097				}
18098				pub mod check_mortality {
18099					use super::runtime_types;
18100					#[derive(
18101						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18102						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18103						Debug,
18104					)]
18105					#[decode_as_type(
18106						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18107					)]
18108					#[encode_as_type(
18109						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18110					)]
18111					pub struct CheckMortality(pub runtime_types::sp_runtime::generic::era::Era);
18112				}
18113				pub mod check_non_zero_sender {
18114					use super::runtime_types;
18115					#[derive(
18116						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18117						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18118						Debug,
18119					)]
18120					#[decode_as_type(
18121						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18122					)]
18123					#[encode_as_type(
18124						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18125					)]
18126					pub struct CheckNonZeroSender;
18127				}
18128				pub mod check_nonce {
18129					use super::runtime_types;
18130					#[derive(
18131						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18132						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18133						Debug,
18134					)]
18135					#[decode_as_type(
18136						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18137					)]
18138					#[encode_as_type(
18139						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18140					)]
18141					pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32);
18142				}
18143				pub mod check_spec_version {
18144					use super::runtime_types;
18145					#[derive(
18146						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18147						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18148						Debug,
18149					)]
18150					#[decode_as_type(
18151						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18152					)]
18153					#[encode_as_type(
18154						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18155					)]
18156					pub struct CheckSpecVersion;
18157				}
18158				pub mod check_tx_version {
18159					use super::runtime_types;
18160					#[derive(
18161						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18162						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18163						Debug,
18164					)]
18165					#[decode_as_type(
18166						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18167					)]
18168					#[encode_as_type(
18169						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18170					)]
18171					pub struct CheckTxVersion;
18172				}
18173				pub mod check_weight {
18174					use super::runtime_types;
18175					#[derive(
18176						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18177						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18178						Debug,
18179					)]
18180					#[decode_as_type(
18181						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18182					)]
18183					#[encode_as_type(
18184						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18185					)]
18186					pub struct CheckWeight;
18187				}
18188			}
18189			pub mod limits {
18190				use super::runtime_types;
18191				#[derive(
18192					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18193					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18194					Debug,
18195				)]
18196				#[decode_as_type(
18197					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18198				)]
18199				#[encode_as_type(
18200					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18201				)]
18202				pub struct BlockLength {
18203					pub max: runtime_types::frame_support::dispatch::PerDispatchClass<
18204						::core::primitive::u32,
18205					>,
18206				}
18207				#[derive(
18208					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18209					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18210					Debug,
18211				)]
18212				#[decode_as_type(
18213					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18214				)]
18215				#[encode_as_type(
18216					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18217				)]
18218				pub struct BlockWeights {
18219					pub base_block: runtime_types::sp_weights::weight_v2::Weight,
18220					pub max_block: runtime_types::sp_weights::weight_v2::Weight,
18221					pub per_class: runtime_types::frame_support::dispatch::PerDispatchClass<
18222						runtime_types::frame_system::limits::WeightsPerClass,
18223					>,
18224				}
18225				#[derive(
18226					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18227					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18228					Debug,
18229				)]
18230				#[decode_as_type(
18231					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18232				)]
18233				#[encode_as_type(
18234					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18235				)]
18236				pub struct WeightsPerClass {
18237					pub base_extrinsic: runtime_types::sp_weights::weight_v2::Weight,
18238					pub max_extrinsic:
18239						::core::option::Option<runtime_types::sp_weights::weight_v2::Weight>,
18240					pub max_total:
18241						::core::option::Option<runtime_types::sp_weights::weight_v2::Weight>,
18242					pub reserved:
18243						::core::option::Option<runtime_types::sp_weights::weight_v2::Weight>,
18244				}
18245			}
18246			pub mod pallet {
18247				use super::runtime_types;
18248				#[derive(
18249					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18250					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18251					Debug,
18252				)]
18253				#[decode_as_type(
18254					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18255				)]
18256				#[encode_as_type(
18257					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18258				)]
18259				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
18260				pub enum Call {
18261					#[codec(index = 0)]
18262					#[doc = "Make some on-chain remark."]
18263					#[doc = ""]
18264					#[doc = "Can be executed by every `origin`."]
18265					remark {
18266						remark: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
18267					},
18268					#[codec(index = 1)]
18269					#[doc = "Set the number of pages in the WebAssembly environment's heap."]
18270					set_heap_pages { pages: ::core::primitive::u64 },
18271					#[codec(index = 2)]
18272					#[doc = "Set the new runtime code."]
18273					set_code {
18274						code: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
18275					},
18276					#[codec(index = 3)]
18277					#[doc = "Set the new runtime code without doing any checks of the given `code`."]
18278					#[doc = ""]
18279					#[doc = "Note that runtime upgrades will not run if this is called with a not-increasing spec"]
18280					#[doc = "version!"]
18281					set_code_without_checks {
18282						code: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
18283					},
18284					#[codec(index = 4)]
18285					#[doc = "Set some items of storage."]
18286					set_storage {
18287						items: ::subxt::ext::subxt_core::alloc::vec::Vec<(
18288							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
18289							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
18290						)>,
18291					},
18292					#[codec(index = 5)]
18293					#[doc = "Kill some items from storage."]
18294					kill_storage {
18295						keys: ::subxt::ext::subxt_core::alloc::vec::Vec<
18296							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
18297						>,
18298					},
18299					#[codec(index = 6)]
18300					#[doc = "Kill all storage items with a key that starts with the given prefix."]
18301					#[doc = ""]
18302					#[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"]
18303					#[doc = "the prefix we are removing to accurately calculate the weight of this function."]
18304					kill_prefix {
18305						prefix: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
18306						subkeys: ::core::primitive::u32,
18307					},
18308					#[codec(index = 7)]
18309					#[doc = "Make some on-chain remark and emit event."]
18310					remark_with_event {
18311						remark: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
18312					},
18313					#[codec(index = 9)]
18314					#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
18315					#[doc = "later."]
18316					#[doc = ""]
18317					#[doc = "This call requires Root origin."]
18318					authorize_upgrade { code_hash: ::subxt::ext::subxt_core::utils::H256 },
18319					#[codec(index = 10)]
18320					#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
18321					#[doc = "later."]
18322					#[doc = ""]
18323					#[doc = "WARNING: This authorizes an upgrade that will take place without any safety checks, for"]
18324					#[doc = "example that the spec name remains the same and that the version number increases. Not"]
18325					#[doc = "recommended for normal use. Use `authorize_upgrade` instead."]
18326					#[doc = ""]
18327					#[doc = "This call requires Root origin."]
18328					authorize_upgrade_without_checks {
18329						code_hash: ::subxt::ext::subxt_core::utils::H256,
18330					},
18331					#[codec(index = 11)]
18332					#[doc = "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized."]
18333					#[doc = ""]
18334					#[doc = "If the authorization required a version check, this call will ensure the spec name"]
18335					#[doc = "remains unchanged and that the spec version has increased."]
18336					#[doc = ""]
18337					#[doc = "Depending on the runtime's `OnSetCode` configuration, this function may directly apply"]
18338					#[doc = "the new `code` in the same block or attempt to schedule the upgrade."]
18339					#[doc = ""]
18340					#[doc = "All origins are allowed."]
18341					apply_authorized_upgrade {
18342						code: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
18343					},
18344				}
18345				#[derive(
18346					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18347					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18348					Debug,
18349				)]
18350				#[decode_as_type(
18351					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18352				)]
18353				#[encode_as_type(
18354					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18355				)]
18356				#[doc = "Error for the System pallet"]
18357				pub enum Error {
18358					#[codec(index = 0)]
18359					#[doc = "The name of specification does not match between the current runtime"]
18360					#[doc = "and the new runtime."]
18361					InvalidSpecName,
18362					#[codec(index = 1)]
18363					#[doc = "The specification version is not allowed to decrease between the current runtime"]
18364					#[doc = "and the new runtime."]
18365					SpecVersionNeedsToIncrease,
18366					#[codec(index = 2)]
18367					#[doc = "Failed to extract the runtime version from the new runtime."]
18368					#[doc = ""]
18369					#[doc = "Either calling `Core_version` or decoding `RuntimeVersion` failed."]
18370					FailedToExtractRuntimeVersion,
18371					#[codec(index = 3)]
18372					#[doc = "Suicide called when the account has non-default composite data."]
18373					NonDefaultComposite,
18374					#[codec(index = 4)]
18375					#[doc = "There is a non-zero reference count preventing the account from being purged."]
18376					NonZeroRefCount,
18377					#[codec(index = 5)]
18378					#[doc = "The origin filter prevent the call to be dispatched."]
18379					CallFiltered,
18380					#[codec(index = 6)]
18381					#[doc = "A multi-block migration is ongoing and prevents the current code from being replaced."]
18382					MultiBlockMigrationsOngoing,
18383					#[codec(index = 7)]
18384					#[doc = "No upgrade authorized."]
18385					NothingAuthorized,
18386					#[codec(index = 8)]
18387					#[doc = "The submitted code is not authorized."]
18388					Unauthorized,
18389				}
18390				#[derive(
18391					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18392					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18393					Debug,
18394				)]
18395				#[decode_as_type(
18396					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18397				)]
18398				#[encode_as_type(
18399					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18400				)]
18401				#[doc = "Event for the System pallet."]
18402				pub enum Event {
18403					#[codec(index = 0)]
18404					#[doc = "An extrinsic completed successfully."]
18405					ExtrinsicSuccess {
18406						dispatch_info: runtime_types::frame_system::DispatchEventInfo,
18407					},
18408					#[codec(index = 1)]
18409					#[doc = "An extrinsic failed."]
18410					ExtrinsicFailed {
18411						dispatch_error: runtime_types::sp_runtime::DispatchError,
18412						dispatch_info: runtime_types::frame_system::DispatchEventInfo,
18413					},
18414					#[codec(index = 2)]
18415					#[doc = "`:code` was updated."]
18416					CodeUpdated,
18417					#[codec(index = 3)]
18418					#[doc = "A new account was created."]
18419					NewAccount { account: ::subxt::ext::subxt_core::utils::AccountId32 },
18420					#[codec(index = 4)]
18421					#[doc = "An account was reaped."]
18422					KilledAccount { account: ::subxt::ext::subxt_core::utils::AccountId32 },
18423					#[codec(index = 5)]
18424					#[doc = "On on-chain remark happened."]
18425					Remarked {
18426						sender: ::subxt::ext::subxt_core::utils::AccountId32,
18427						hash: ::subxt::ext::subxt_core::utils::H256,
18428					},
18429					#[codec(index = 6)]
18430					#[doc = "An upgrade was authorized."]
18431					UpgradeAuthorized {
18432						code_hash: ::subxt::ext::subxt_core::utils::H256,
18433						check_version: ::core::primitive::bool,
18434					},
18435					#[codec(index = 7)]
18436					#[doc = "An invalid authorized upgrade was rejected while trying to apply it."]
18437					RejectedInvalidAuthorizedUpgrade {
18438						code_hash: ::subxt::ext::subxt_core::utils::H256,
18439						error: runtime_types::sp_runtime::DispatchError,
18440					},
18441				}
18442			}
18443			#[derive(
18444				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18445				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18446				Debug,
18447			)]
18448			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18449			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18450			pub struct AccountInfo<_0, _1> {
18451				pub nonce: _0,
18452				pub consumers: ::core::primitive::u32,
18453				pub providers: ::core::primitive::u32,
18454				pub sufficients: ::core::primitive::u32,
18455				pub data: _1,
18456			}
18457			#[derive(
18458				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18459				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18460				Debug,
18461			)]
18462			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18463			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18464			pub struct CodeUpgradeAuthorization {
18465				pub code_hash: ::subxt::ext::subxt_core::utils::H256,
18466				pub check_version: ::core::primitive::bool,
18467			}
18468			#[derive(
18469				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18470				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18471				Debug,
18472			)]
18473			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18474			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18475			pub struct DispatchEventInfo {
18476				pub weight: runtime_types::sp_weights::weight_v2::Weight,
18477				pub class: runtime_types::frame_support::dispatch::DispatchClass,
18478				pub pays_fee: runtime_types::frame_support::dispatch::Pays,
18479			}
18480			#[derive(
18481				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18482				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18483				Debug,
18484			)]
18485			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18486			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18487			pub struct EventRecord<_0, _1> {
18488				pub phase: runtime_types::frame_system::Phase,
18489				pub event: _0,
18490				pub topics: ::subxt::ext::subxt_core::alloc::vec::Vec<_1>,
18491			}
18492			#[derive(
18493				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18494				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18495				Debug,
18496			)]
18497			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18498			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18499			pub struct LastRuntimeUpgradeInfo {
18500				#[codec(compact)]
18501				pub spec_version: ::core::primitive::u32,
18502				pub spec_name: ::subxt::ext::subxt_core::alloc::string::String,
18503			}
18504			#[derive(
18505				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18506				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18507				Debug,
18508			)]
18509			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18510			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18511			pub enum Phase {
18512				#[codec(index = 0)]
18513				ApplyExtrinsic(::core::primitive::u32),
18514				#[codec(index = 1)]
18515				Finalization,
18516				#[codec(index = 2)]
18517				Initialization,
18518			}
18519		}
18520		pub mod pallet_balances {
18521			use super::runtime_types;
18522			pub mod pallet {
18523				use super::runtime_types;
18524				#[derive(
18525					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18526					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18527					Debug,
18528				)]
18529				#[decode_as_type(
18530					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18531				)]
18532				#[encode_as_type(
18533					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18534				)]
18535				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
18536				pub enum Call {
18537					#[codec(index = 0)]
18538					#[doc = "Transfer some liquid free balance to another account."]
18539					#[doc = ""]
18540					#[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."]
18541					#[doc = "If the sender's account is below the existential deposit as a result"]
18542					#[doc = "of the transfer, the account will be reaped."]
18543					#[doc = ""]
18544					#[doc = "The dispatch origin for this call must be `Signed` by the transactor."]
18545					transfer_allow_death {
18546						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
18547							::subxt::ext::subxt_core::utils::AccountId32,
18548							(),
18549						>,
18550						#[codec(compact)]
18551						value: ::core::primitive::u128,
18552					},
18553					#[codec(index = 2)]
18554					#[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"]
18555					#[doc = "may be specified."]
18556					force_transfer {
18557						source: ::subxt::ext::subxt_core::utils::MultiAddress<
18558							::subxt::ext::subxt_core::utils::AccountId32,
18559							(),
18560						>,
18561						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
18562							::subxt::ext::subxt_core::utils::AccountId32,
18563							(),
18564						>,
18565						#[codec(compact)]
18566						value: ::core::primitive::u128,
18567					},
18568					#[codec(index = 3)]
18569					#[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"]
18570					#[doc = "kill the origin account."]
18571					#[doc = ""]
18572					#[doc = "99% of the time you want [`transfer_allow_death`] instead."]
18573					#[doc = ""]
18574					#[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"]
18575					transfer_keep_alive {
18576						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
18577							::subxt::ext::subxt_core::utils::AccountId32,
18578							(),
18579						>,
18580						#[codec(compact)]
18581						value: ::core::primitive::u128,
18582					},
18583					#[codec(index = 4)]
18584					#[doc = "Transfer the entire transferable balance from the caller account."]
18585					#[doc = ""]
18586					#[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"]
18587					#[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"]
18588					#[doc = "transferred by this function. To ensure that this function results in a killed account,"]
18589					#[doc = "you might need to prepare the account by removing any reference counters, storage"]
18590					#[doc = "deposits, etc..."]
18591					#[doc = ""]
18592					#[doc = "The dispatch origin of this call must be Signed."]
18593					#[doc = ""]
18594					#[doc = "- `dest`: The recipient of the transfer."]
18595					#[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"]
18596					#[doc = "  of the funds the account has, causing the sender account to be killed (false), or"]
18597					#[doc = "  transfer everything except at least the existential deposit, which will guarantee to"]
18598					#[doc = "  keep the sender account alive (true)."]
18599					transfer_all {
18600						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
18601							::subxt::ext::subxt_core::utils::AccountId32,
18602							(),
18603						>,
18604						keep_alive: ::core::primitive::bool,
18605					},
18606					#[codec(index = 5)]
18607					#[doc = "Unreserve some balance from a user by force."]
18608					#[doc = ""]
18609					#[doc = "Can only be called by ROOT."]
18610					force_unreserve {
18611						who: ::subxt::ext::subxt_core::utils::MultiAddress<
18612							::subxt::ext::subxt_core::utils::AccountId32,
18613							(),
18614						>,
18615						amount: ::core::primitive::u128,
18616					},
18617					#[codec(index = 6)]
18618					#[doc = "Upgrade a specified account."]
18619					#[doc = ""]
18620					#[doc = "- `origin`: Must be `Signed`."]
18621					#[doc = "- `who`: The account to be upgraded."]
18622					#[doc = ""]
18623					#[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"]
18624					#[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"]
18625					#[doc = "possibility of churn)."]
18626					upgrade_accounts {
18627						who: ::subxt::ext::subxt_core::alloc::vec::Vec<
18628							::subxt::ext::subxt_core::utils::AccountId32,
18629						>,
18630					},
18631					#[codec(index = 8)]
18632					#[doc = "Set the regular balance of a given account."]
18633					#[doc = ""]
18634					#[doc = "The dispatch origin for this call is `root`."]
18635					force_set_balance {
18636						who: ::subxt::ext::subxt_core::utils::MultiAddress<
18637							::subxt::ext::subxt_core::utils::AccountId32,
18638							(),
18639						>,
18640						#[codec(compact)]
18641						new_free: ::core::primitive::u128,
18642					},
18643					#[codec(index = 9)]
18644					#[doc = "Adjust the total issuance in a saturating way."]
18645					#[doc = ""]
18646					#[doc = "Can only be called by root and always needs a positive `delta`."]
18647					#[doc = ""]
18648					#[doc = "# Example"]
18649					force_adjust_total_issuance {
18650						direction: runtime_types::pallet_balances::types::AdjustmentDirection,
18651						#[codec(compact)]
18652						delta: ::core::primitive::u128,
18653					},
18654					#[codec(index = 10)]
18655					#[doc = "Burn the specified liquid free balance from the origin account."]
18656					#[doc = ""]
18657					#[doc = "If the origin's account ends up below the existential deposit as a result"]
18658					#[doc = "of the burn and `keep_alive` is false, the account will be reaped."]
18659					#[doc = ""]
18660					#[doc = "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,"]
18661					#[doc = "this `burn` operation will reduce total issuance by the amount _burned_."]
18662					burn {
18663						#[codec(compact)]
18664						value: ::core::primitive::u128,
18665						keep_alive: ::core::primitive::bool,
18666					},
18667				}
18668				#[derive(
18669					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18670					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18671					Debug,
18672				)]
18673				#[decode_as_type(
18674					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18675				)]
18676				#[encode_as_type(
18677					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18678				)]
18679				#[doc = "The `Error` enum of this pallet."]
18680				pub enum Error {
18681					#[codec(index = 0)]
18682					#[doc = "Vesting balance too high to send value."]
18683					VestingBalance,
18684					#[codec(index = 1)]
18685					#[doc = "Account liquidity restrictions prevent withdrawal."]
18686					LiquidityRestrictions,
18687					#[codec(index = 2)]
18688					#[doc = "Balance too low to send value."]
18689					InsufficientBalance,
18690					#[codec(index = 3)]
18691					#[doc = "Value too low to create account due to existential deposit."]
18692					ExistentialDeposit,
18693					#[codec(index = 4)]
18694					#[doc = "Transfer/payment would kill account."]
18695					Expendability,
18696					#[codec(index = 5)]
18697					#[doc = "A vesting schedule already exists for this account."]
18698					ExistingVestingSchedule,
18699					#[codec(index = 6)]
18700					#[doc = "Beneficiary account must pre-exist."]
18701					DeadAccount,
18702					#[codec(index = 7)]
18703					#[doc = "Number of named reserves exceed `MaxReserves`."]
18704					TooManyReserves,
18705					#[codec(index = 8)]
18706					#[doc = "Number of holds exceed `VariantCountOf<T::RuntimeHoldReason>`."]
18707					TooManyHolds,
18708					#[codec(index = 9)]
18709					#[doc = "Number of freezes exceed `MaxFreezes`."]
18710					TooManyFreezes,
18711					#[codec(index = 10)]
18712					#[doc = "The issuance cannot be modified since it is already deactivated."]
18713					IssuanceDeactivated,
18714					#[codec(index = 11)]
18715					#[doc = "The delta cannot be zero."]
18716					DeltaZero,
18717				}
18718				#[derive(
18719					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18720					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18721					Debug,
18722				)]
18723				#[decode_as_type(
18724					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18725				)]
18726				#[encode_as_type(
18727					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18728				)]
18729				#[doc = "The `Event` enum of this pallet"]
18730				pub enum Event {
18731					#[codec(index = 0)]
18732					#[doc = "An account was created with some free balance."]
18733					Endowed {
18734						account: ::subxt::ext::subxt_core::utils::AccountId32,
18735						free_balance: ::core::primitive::u128,
18736					},
18737					#[codec(index = 1)]
18738					#[doc = "An account was removed whose balance was non-zero but below ExistentialDeposit,"]
18739					#[doc = "resulting in an outright loss."]
18740					DustLost {
18741						account: ::subxt::ext::subxt_core::utils::AccountId32,
18742						amount: ::core::primitive::u128,
18743					},
18744					#[codec(index = 2)]
18745					#[doc = "Transfer succeeded."]
18746					Transfer {
18747						from: ::subxt::ext::subxt_core::utils::AccountId32,
18748						to: ::subxt::ext::subxt_core::utils::AccountId32,
18749						amount: ::core::primitive::u128,
18750					},
18751					#[codec(index = 3)]
18752					#[doc = "A balance was set by root."]
18753					BalanceSet {
18754						who: ::subxt::ext::subxt_core::utils::AccountId32,
18755						free: ::core::primitive::u128,
18756					},
18757					#[codec(index = 4)]
18758					#[doc = "Some balance was reserved (moved from free to reserved)."]
18759					Reserved {
18760						who: ::subxt::ext::subxt_core::utils::AccountId32,
18761						amount: ::core::primitive::u128,
18762					},
18763					#[codec(index = 5)]
18764					#[doc = "Some balance was unreserved (moved from reserved to free)."]
18765					Unreserved {
18766						who: ::subxt::ext::subxt_core::utils::AccountId32,
18767						amount: ::core::primitive::u128,
18768					},
18769					#[codec(index = 6)]
18770					#[doc = "Some balance was moved from the reserve of the first account to the second account."]
18771					#[doc = "Final argument indicates the destination balance type."]
18772					ReserveRepatriated {
18773						from: ::subxt::ext::subxt_core::utils::AccountId32,
18774						to: ::subxt::ext::subxt_core::utils::AccountId32,
18775						amount: ::core::primitive::u128,
18776						destination_status:
18777							runtime_types::frame_support::traits::tokens::misc::BalanceStatus,
18778					},
18779					#[codec(index = 7)]
18780					#[doc = "Some amount was deposited (e.g. for transaction fees)."]
18781					Deposit {
18782						who: ::subxt::ext::subxt_core::utils::AccountId32,
18783						amount: ::core::primitive::u128,
18784					},
18785					#[codec(index = 8)]
18786					#[doc = "Some amount was withdrawn from the account (e.g. for transaction fees)."]
18787					Withdraw {
18788						who: ::subxt::ext::subxt_core::utils::AccountId32,
18789						amount: ::core::primitive::u128,
18790					},
18791					#[codec(index = 9)]
18792					#[doc = "Some amount was removed from the account (e.g. for misbehavior)."]
18793					Slashed {
18794						who: ::subxt::ext::subxt_core::utils::AccountId32,
18795						amount: ::core::primitive::u128,
18796					},
18797					#[codec(index = 10)]
18798					#[doc = "Some amount was minted into an account."]
18799					Minted {
18800						who: ::subxt::ext::subxt_core::utils::AccountId32,
18801						amount: ::core::primitive::u128,
18802					},
18803					#[codec(index = 11)]
18804					#[doc = "Some amount was burned from an account."]
18805					Burned {
18806						who: ::subxt::ext::subxt_core::utils::AccountId32,
18807						amount: ::core::primitive::u128,
18808					},
18809					#[codec(index = 12)]
18810					#[doc = "Some amount was suspended from an account (it can be restored later)."]
18811					Suspended {
18812						who: ::subxt::ext::subxt_core::utils::AccountId32,
18813						amount: ::core::primitive::u128,
18814					},
18815					#[codec(index = 13)]
18816					#[doc = "Some amount was restored into an account."]
18817					Restored {
18818						who: ::subxt::ext::subxt_core::utils::AccountId32,
18819						amount: ::core::primitive::u128,
18820					},
18821					#[codec(index = 14)]
18822					#[doc = "An account was upgraded."]
18823					Upgraded { who: ::subxt::ext::subxt_core::utils::AccountId32 },
18824					#[codec(index = 15)]
18825					#[doc = "Total issuance was increased by `amount`, creating a credit to be balanced."]
18826					Issued { amount: ::core::primitive::u128 },
18827					#[codec(index = 16)]
18828					#[doc = "Total issuance was decreased by `amount`, creating a debt to be balanced."]
18829					Rescinded { amount: ::core::primitive::u128 },
18830					#[codec(index = 17)]
18831					#[doc = "Some balance was locked."]
18832					Locked {
18833						who: ::subxt::ext::subxt_core::utils::AccountId32,
18834						amount: ::core::primitive::u128,
18835					},
18836					#[codec(index = 18)]
18837					#[doc = "Some balance was unlocked."]
18838					Unlocked {
18839						who: ::subxt::ext::subxt_core::utils::AccountId32,
18840						amount: ::core::primitive::u128,
18841					},
18842					#[codec(index = 19)]
18843					#[doc = "Some balance was frozen."]
18844					Frozen {
18845						who: ::subxt::ext::subxt_core::utils::AccountId32,
18846						amount: ::core::primitive::u128,
18847					},
18848					#[codec(index = 20)]
18849					#[doc = "Some balance was thawed."]
18850					Thawed {
18851						who: ::subxt::ext::subxt_core::utils::AccountId32,
18852						amount: ::core::primitive::u128,
18853					},
18854					#[codec(index = 21)]
18855					#[doc = "The `TotalIssuance` was forcefully changed."]
18856					TotalIssuanceForced {
18857						old: ::core::primitive::u128,
18858						new: ::core::primitive::u128,
18859					},
18860				}
18861			}
18862			pub mod types {
18863				use super::runtime_types;
18864				#[derive(
18865					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18866					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18867					Debug,
18868				)]
18869				#[decode_as_type(
18870					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18871				)]
18872				#[encode_as_type(
18873					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18874				)]
18875				pub struct AccountData<_0> {
18876					pub free: _0,
18877					pub reserved: _0,
18878					pub frozen: _0,
18879					pub flags: runtime_types::pallet_balances::types::ExtraFlags,
18880				}
18881				#[derive(
18882					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18883					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18884					Debug,
18885				)]
18886				#[decode_as_type(
18887					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18888				)]
18889				#[encode_as_type(
18890					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18891				)]
18892				pub enum AdjustmentDirection {
18893					#[codec(index = 0)]
18894					Increase,
18895					#[codec(index = 1)]
18896					Decrease,
18897				}
18898				#[derive(
18899					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18900					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18901					Debug,
18902				)]
18903				#[decode_as_type(
18904					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18905				)]
18906				#[encode_as_type(
18907					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18908				)]
18909				pub struct BalanceLock<_0> {
18910					pub id: [::core::primitive::u8; 8usize],
18911					pub amount: _0,
18912					pub reasons: runtime_types::pallet_balances::types::Reasons,
18913				}
18914				#[derive(
18915					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18916					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18917					Debug,
18918				)]
18919				#[decode_as_type(
18920					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18921				)]
18922				#[encode_as_type(
18923					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18924				)]
18925				pub struct ExtraFlags(pub ::core::primitive::u128);
18926				#[derive(
18927					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18928					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18929					Debug,
18930				)]
18931				#[decode_as_type(
18932					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18933				)]
18934				#[encode_as_type(
18935					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18936				)]
18937				pub enum Reasons {
18938					#[codec(index = 0)]
18939					Fee,
18940					#[codec(index = 1)]
18941					Misc,
18942					#[codec(index = 2)]
18943					All,
18944				}
18945				#[derive(
18946					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18947					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18948					Debug,
18949				)]
18950				#[decode_as_type(
18951					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18952				)]
18953				#[encode_as_type(
18954					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18955				)]
18956				pub struct ReserveData<_0, _1> {
18957					pub id: _0,
18958					pub amount: _1,
18959				}
18960			}
18961		}
18962		pub mod pallet_conviction_voting {
18963			use super::runtime_types;
18964			pub mod conviction {
18965				use super::runtime_types;
18966				#[derive(
18967					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18968					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18969					Debug,
18970				)]
18971				#[decode_as_type(
18972					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18973				)]
18974				#[encode_as_type(
18975					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18976				)]
18977				pub enum Conviction {
18978					#[codec(index = 0)]
18979					None,
18980					#[codec(index = 1)]
18981					Locked1x,
18982					#[codec(index = 2)]
18983					Locked2x,
18984					#[codec(index = 3)]
18985					Locked3x,
18986					#[codec(index = 4)]
18987					Locked4x,
18988					#[codec(index = 5)]
18989					Locked5x,
18990					#[codec(index = 6)]
18991					Locked6x,
18992				}
18993			}
18994			pub mod pallet {
18995				use super::runtime_types;
18996				#[derive(
18997					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18998					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18999					Debug,
19000				)]
19001				#[decode_as_type(
19002					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19003				)]
19004				#[encode_as_type(
19005					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19006				)]
19007				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
19008				pub enum Call {
19009					#[codec(index = 0)]
19010					#[doc = "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;"]
19011					#[doc = "otherwise it is a vote to keep the status quo."]
19012					#[doc = ""]
19013					#[doc = "The dispatch origin of this call must be _Signed_."]
19014					#[doc = ""]
19015					#[doc = "- `poll_index`: The index of the poll to vote for."]
19016					#[doc = "- `vote`: The vote configuration."]
19017					#[doc = ""]
19018					#[doc = "Weight: `O(R)` where R is the number of polls the voter has voted on."]
19019					vote {
19020						#[codec(compact)]
19021						poll_index: ::core::primitive::u32,
19022						vote: runtime_types::pallet_conviction_voting::vote::AccountVote<
19023							::core::primitive::u128,
19024						>,
19025					},
19026					#[codec(index = 1)]
19027					#[doc = "Delegate the voting power (with some given conviction) of the sending account for a"]
19028					#[doc = "particular class of polls."]
19029					#[doc = ""]
19030					#[doc = "The balance delegated is locked for as long as it's delegated, and thereafter for the"]
19031					#[doc = "time appropriate for the conviction's lock period."]
19032					#[doc = ""]
19033					#[doc = "The dispatch origin of this call must be _Signed_, and the signing account must either:"]
19034					#[doc = "  - be delegating already; or"]
19035					#[doc = "  - have no voting activity (if there is, then it will need to be removed through"]
19036					#[doc = "    `remove_vote`)."]
19037					#[doc = ""]
19038					#[doc = "- `to`: The account whose voting the `target` account's voting power will follow."]
19039					#[doc = "- `class`: The class of polls to delegate. To delegate multiple classes, multiple calls"]
19040					#[doc = "  to this function are required."]
19041					#[doc = "- `conviction`: The conviction that will be attached to the delegated votes. When the"]
19042					#[doc = "  account is undelegated, the funds will be locked for the corresponding period."]
19043					#[doc = "- `balance`: The amount of the account's balance to be used in delegating. This must not"]
19044					#[doc = "  be more than the account's current balance."]
19045					#[doc = ""]
19046					#[doc = "Emits `Delegated`."]
19047					#[doc = ""]
19048					#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
19049					#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
19050					delegate {
19051						class: ::core::primitive::u16,
19052						to: ::subxt::ext::subxt_core::utils::MultiAddress<
19053							::subxt::ext::subxt_core::utils::AccountId32,
19054							(),
19055						>,
19056						conviction: runtime_types::pallet_conviction_voting::conviction::Conviction,
19057						balance: ::core::primitive::u128,
19058					},
19059					#[codec(index = 2)]
19060					#[doc = "Undelegate the voting power of the sending account for a particular class of polls."]
19061					#[doc = ""]
19062					#[doc = "Tokens may be unlocked following once an amount of time consistent with the lock period"]
19063					#[doc = "of the conviction with which the delegation was issued has passed."]
19064					#[doc = ""]
19065					#[doc = "The dispatch origin of this call must be _Signed_ and the signing account must be"]
19066					#[doc = "currently delegating."]
19067					#[doc = ""]
19068					#[doc = "- `class`: The class of polls to remove the delegation from."]
19069					#[doc = ""]
19070					#[doc = "Emits `Undelegated`."]
19071					#[doc = ""]
19072					#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
19073					#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
19074					undelegate { class: ::core::primitive::u16 },
19075					#[codec(index = 3)]
19076					#[doc = "Remove the lock caused by prior voting/delegating which has expired within a particular"]
19077					#[doc = "class."]
19078					#[doc = ""]
19079					#[doc = "The dispatch origin of this call must be _Signed_."]
19080					#[doc = ""]
19081					#[doc = "- `class`: The class of polls to unlock."]
19082					#[doc = "- `target`: The account to remove the lock on."]
19083					#[doc = ""]
19084					#[doc = "Weight: `O(R)` with R number of vote of target."]
19085					unlock {
19086						class: ::core::primitive::u16,
19087						target: ::subxt::ext::subxt_core::utils::MultiAddress<
19088							::subxt::ext::subxt_core::utils::AccountId32,
19089							(),
19090						>,
19091					},
19092					#[codec(index = 4)]
19093					#[doc = "Remove a vote for a poll."]
19094					#[doc = ""]
19095					#[doc = "If:"]
19096					#[doc = "- the poll was cancelled, or"]
19097					#[doc = "- the poll is ongoing, or"]
19098					#[doc = "- the poll has ended such that"]
19099					#[doc = "  - the vote of the account was in opposition to the result; or"]
19100					#[doc = "  - there was no conviction to the account's vote; or"]
19101					#[doc = "  - the account made a split vote"]
19102					#[doc = "...then the vote is removed cleanly and a following call to `unlock` may result in more"]
19103					#[doc = "funds being available."]
19104					#[doc = ""]
19105					#[doc = "If, however, the poll has ended and:"]
19106					#[doc = "- it finished corresponding to the vote of the account, and"]
19107					#[doc = "- the account made a standard vote with conviction, and"]
19108					#[doc = "- the lock period of the conviction is not over"]
19109					#[doc = "...then the lock will be aggregated into the overall account's lock, which may involve"]
19110					#[doc = "*overlocking* (where the two locks are combined into a single lock that is the maximum"]
19111					#[doc = "of both the amount locked and the time is it locked for)."]
19112					#[doc = ""]
19113					#[doc = "The dispatch origin of this call must be _Signed_, and the signer must have a vote"]
19114					#[doc = "registered for poll `index`."]
19115					#[doc = ""]
19116					#[doc = "- `index`: The index of poll of the vote to be removed."]
19117					#[doc = "- `class`: Optional parameter, if given it indicates the class of the poll. For polls"]
19118					#[doc = "  which have finished or are cancelled, this must be `Some`."]
19119					#[doc = ""]
19120					#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
19121					#[doc = "  Weight is calculated for the maximum number of vote."]
19122					remove_vote {
19123						class: ::core::option::Option<::core::primitive::u16>,
19124						index: ::core::primitive::u32,
19125					},
19126					#[codec(index = 5)]
19127					#[doc = "Remove a vote for a poll."]
19128					#[doc = ""]
19129					#[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"]
19130					#[doc = "`remove_vote`. If not equal to the signer, then the vote must have expired,"]
19131					#[doc = "either because the poll was cancelled, because the voter lost the poll or"]
19132					#[doc = "because the conviction period is over."]
19133					#[doc = ""]
19134					#[doc = "The dispatch origin of this call must be _Signed_."]
19135					#[doc = ""]
19136					#[doc = "- `target`: The account of the vote to be removed; this account must have voted for poll"]
19137					#[doc = "  `index`."]
19138					#[doc = "- `index`: The index of poll of the vote to be removed."]
19139					#[doc = "- `class`: The class of the poll."]
19140					#[doc = ""]
19141					#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
19142					#[doc = "  Weight is calculated for the maximum number of vote."]
19143					remove_other_vote {
19144						target: ::subxt::ext::subxt_core::utils::MultiAddress<
19145							::subxt::ext::subxt_core::utils::AccountId32,
19146							(),
19147						>,
19148						class: ::core::primitive::u16,
19149						index: ::core::primitive::u32,
19150					},
19151				}
19152				#[derive(
19153					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19154					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19155					Debug,
19156				)]
19157				#[decode_as_type(
19158					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19159				)]
19160				#[encode_as_type(
19161					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19162				)]
19163				#[doc = "The `Error` enum of this pallet."]
19164				pub enum Error {
19165					#[codec(index = 0)]
19166					#[doc = "Poll is not ongoing."]
19167					NotOngoing,
19168					#[codec(index = 1)]
19169					#[doc = "The given account did not vote on the poll."]
19170					NotVoter,
19171					#[codec(index = 2)]
19172					#[doc = "The actor has no permission to conduct the action."]
19173					NoPermission,
19174					#[codec(index = 3)]
19175					#[doc = "The actor has no permission to conduct the action right now but will do in the future."]
19176					NoPermissionYet,
19177					#[codec(index = 4)]
19178					#[doc = "The account is already delegating."]
19179					AlreadyDelegating,
19180					#[codec(index = 5)]
19181					#[doc = "The account currently has votes attached to it and the operation cannot succeed until"]
19182					#[doc = "these are removed through `remove_vote`."]
19183					AlreadyVoting,
19184					#[codec(index = 6)]
19185					#[doc = "Too high a balance was provided that the account cannot afford."]
19186					InsufficientFunds,
19187					#[codec(index = 7)]
19188					#[doc = "The account is not currently delegating."]
19189					NotDelegating,
19190					#[codec(index = 8)]
19191					#[doc = "Delegation to oneself makes no sense."]
19192					Nonsense,
19193					#[codec(index = 9)]
19194					#[doc = "Maximum number of votes reached."]
19195					MaxVotesReached,
19196					#[codec(index = 10)]
19197					#[doc = "The class must be supplied since it is not easily determinable from the state."]
19198					ClassNeeded,
19199					#[codec(index = 11)]
19200					#[doc = "The class ID supplied is invalid."]
19201					BadClass,
19202				}
19203				#[derive(
19204					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19205					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19206					Debug,
19207				)]
19208				#[decode_as_type(
19209					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19210				)]
19211				#[encode_as_type(
19212					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19213				)]
19214				#[doc = "The `Event` enum of this pallet"]
19215				pub enum Event {
19216					#[codec(index = 0)]
19217					#[doc = "An account has delegated their vote to another account. \\[who, target\\]"]
19218					Delegated(
19219						::subxt::ext::subxt_core::utils::AccountId32,
19220						::subxt::ext::subxt_core::utils::AccountId32,
19221					),
19222					#[codec(index = 1)]
19223					#[doc = "An \\[account\\] has cancelled a previous delegation operation."]
19224					Undelegated(::subxt::ext::subxt_core::utils::AccountId32),
19225					#[codec(index = 2)]
19226					#[doc = "An account has voted"]
19227					Voted {
19228						who: ::subxt::ext::subxt_core::utils::AccountId32,
19229						vote: runtime_types::pallet_conviction_voting::vote::AccountVote<
19230							::core::primitive::u128,
19231						>,
19232					},
19233					#[codec(index = 3)]
19234					#[doc = "A vote has been removed"]
19235					VoteRemoved {
19236						who: ::subxt::ext::subxt_core::utils::AccountId32,
19237						vote: runtime_types::pallet_conviction_voting::vote::AccountVote<
19238							::core::primitive::u128,
19239						>,
19240					},
19241					#[codec(index = 4)]
19242					#[doc = "The lockup period of a conviction vote expired, and the funds have been unlocked."]
19243					VoteUnlocked {
19244						who: ::subxt::ext::subxt_core::utils::AccountId32,
19245						class: ::core::primitive::u16,
19246					},
19247				}
19248			}
19249			pub mod types {
19250				use super::runtime_types;
19251				#[derive(
19252					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19253					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19254					Debug,
19255				)]
19256				#[decode_as_type(
19257					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19258				)]
19259				#[encode_as_type(
19260					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19261				)]
19262				pub struct Delegations<_0> {
19263					pub votes: _0,
19264					pub capital: _0,
19265				}
19266				#[derive(
19267					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19268					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19269					Debug,
19270				)]
19271				#[decode_as_type(
19272					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19273				)]
19274				#[encode_as_type(
19275					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19276				)]
19277				pub struct Tally<_0> {
19278					pub ayes: _0,
19279					pub nays: _0,
19280					pub support: _0,
19281				}
19282			}
19283			pub mod vote {
19284				use super::runtime_types;
19285				#[derive(
19286					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19287					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19288					Debug,
19289				)]
19290				#[decode_as_type(
19291					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19292				)]
19293				#[encode_as_type(
19294					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19295				)]
19296				pub enum AccountVote<_0> {
19297					#[codec(index = 0)]
19298					Standard {
19299						vote: runtime_types::pallet_conviction_voting::vote::Vote,
19300						balance: _0,
19301					},
19302					#[codec(index = 1)]
19303					Split { aye: _0, nay: _0 },
19304					#[codec(index = 2)]
19305					SplitAbstain { aye: _0, nay: _0, abstain: _0 },
19306				}
19307				#[derive(
19308					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19309					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19310					Debug,
19311				)]
19312				#[decode_as_type(
19313					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19314				)]
19315				#[encode_as_type(
19316					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19317				)]
19318				pub struct Casting<_0, _1, _2> {
19319					pub votes: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
19320						_1,
19321						runtime_types::pallet_conviction_voting::vote::AccountVote<_0>,
19322					)>,
19323					pub delegations:
19324						runtime_types::pallet_conviction_voting::types::Delegations<_0>,
19325					pub prior: runtime_types::pallet_conviction_voting::vote::PriorLock<_1, _0>,
19326					#[codec(skip)]
19327					pub __ignore: ::core::marker::PhantomData<_2>,
19328				}
19329				#[derive(
19330					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19331					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19332					Debug,
19333				)]
19334				#[decode_as_type(
19335					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19336				)]
19337				#[encode_as_type(
19338					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19339				)]
19340				pub struct Delegating<_0, _1, _2> {
19341					pub balance: _0,
19342					pub target: _1,
19343					pub conviction: runtime_types::pallet_conviction_voting::conviction::Conviction,
19344					pub delegations:
19345						runtime_types::pallet_conviction_voting::types::Delegations<_0>,
19346					pub prior: runtime_types::pallet_conviction_voting::vote::PriorLock<_2, _0>,
19347				}
19348				#[derive(
19349					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19350					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19351					Debug,
19352				)]
19353				#[decode_as_type(
19354					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19355				)]
19356				#[encode_as_type(
19357					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19358				)]
19359				pub struct PriorLock<_0, _1>(pub _0, pub _1);
19360				#[derive(
19361					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19362					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19363					Debug,
19364				)]
19365				#[decode_as_type(
19366					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19367				)]
19368				#[encode_as_type(
19369					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19370				)]
19371				pub struct Vote(pub ::core::primitive::u8);
19372				#[derive(
19373					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19374					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19375					Debug,
19376				)]
19377				#[decode_as_type(
19378					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19379				)]
19380				#[encode_as_type(
19381					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19382				)]
19383				pub enum Voting<_0, _1, _2, _3> {
19384					#[codec(index = 0)]
19385					Casting(runtime_types::pallet_conviction_voting::vote::Casting<_0, _2, _2>),
19386					#[codec(index = 1)]
19387					Delegating(
19388						runtime_types::pallet_conviction_voting::vote::Delegating<_0, _1, _2>,
19389					),
19390					__Ignore(::core::marker::PhantomData<_3>),
19391				}
19392			}
19393		}
19394		pub mod pallet_merkle_airdrop {
19395			use super::runtime_types;
19396			pub mod pallet {
19397				use super::runtime_types;
19398				#[derive(
19399					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19400					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19401					Debug,
19402				)]
19403				#[decode_as_type(
19404					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19405				)]
19406				#[encode_as_type(
19407					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19408				)]
19409				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
19410				pub enum Call {
19411					#[codec(index = 0)]
19412					#[doc = "Create a new airdrop with a Merkle root."]
19413					#[doc = ""]
19414					#[doc = "The Merkle root is a cryptographic hash that represents all valid claims"]
19415					#[doc = "for this airdrop. Users will later provide Merkle proofs to verify their"]
19416					#[doc = "eligibility to claim tokens."]
19417					#[doc = ""]
19418					#[doc = "# Parameters"]
19419					#[doc = ""]
19420					#[doc = "* `origin` - The origin of the call (must be signed)"]
19421					#[doc = "* `merkle_root` - The Merkle root hash representing all valid claims"]
19422					#[doc = "* `vesting_period` - Optional vesting period for the airdrop"]
19423					#[doc = "* `vesting_delay` - Optional delay before vesting starts"]
19424					create_airdrop {
19425						merkle_root: [::core::primitive::u8; 32usize],
19426						vesting_period: ::core::option::Option<::core::primitive::u32>,
19427						vesting_delay: ::core::option::Option<::core::primitive::u32>,
19428					},
19429					#[codec(index = 1)]
19430					#[doc = "Fund an existing airdrop with tokens."]
19431					#[doc = ""]
19432					#[doc = "This function transfers tokens from the caller to the airdrop's account,"]
19433					#[doc = "making them available for users to claim."]
19434					#[doc = ""]
19435					#[doc = "# Parameters"]
19436					#[doc = ""]
19437					#[doc = "* `origin` - The origin of the call (must be signed)"]
19438					#[doc = "* `airdrop_id` - The ID of the airdrop to fund"]
19439					#[doc = "* `amount` - The amount of tokens to add to the airdrop"]
19440					#[doc = ""]
19441					#[doc = "# Errors"]
19442					#[doc = ""]
19443					#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
19444					fund_airdrop {
19445						airdrop_id: ::core::primitive::u32,
19446						amount: ::core::primitive::u128,
19447					},
19448					#[codec(index = 2)]
19449					#[doc = "Claim tokens from an airdrop by providing a Merkle proof."]
19450					#[doc = ""]
19451					#[doc = "Users can claim their tokens by providing a proof of their eligibility."]
19452					#[doc = "The proof is verified against the airdrop's Merkle root."]
19453					#[doc = "Anyone can trigger a claim for any eligible recipient."]
19454					#[doc = ""]
19455					#[doc = "# Parameters"]
19456					#[doc = ""]
19457					#[doc = "* `origin` - The origin of the call"]
19458					#[doc = "* `airdrop_id` - The ID of the airdrop to claim from"]
19459					#[doc = "* `amount` - The amount of tokens to claim"]
19460					#[doc = "* `merkle_proof` - The Merkle proof verifying eligibility"]
19461					#[doc = ""]
19462					#[doc = "# Errors"]
19463					#[doc = ""]
19464					#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
19465					#[doc = "* `AlreadyClaimed` - If the recipient has already claimed from this airdrop"]
19466					#[doc = "* `InvalidProof` - If the provided Merkle proof is invalid"]
19467					#[doc = "* `InsufficientAirdropBalance` - If the airdrop doesn't have enough tokens"]
19468					claim {
19469						airdrop_id: ::core::primitive::u32,
19470						recipient: ::subxt::ext::subxt_core::utils::AccountId32,
19471						amount: ::core::primitive::u128,
19472						merkle_proof: runtime_types::bounded_collections::bounded_vec::BoundedVec<
19473							[::core::primitive::u8; 32usize],
19474						>,
19475					},
19476					#[codec(index = 3)]
19477					#[doc = "Delete an airdrop and reclaim any remaining funds."]
19478					#[doc = ""]
19479					#[doc = "This function allows the creator of an airdrop to delete it and reclaim"]
19480					#[doc = "any remaining tokens that haven't been claimed."]
19481					#[doc = ""]
19482					#[doc = "# Parameters"]
19483					#[doc = ""]
19484					#[doc = "* `origin` - The origin of the call (must be the airdrop creator)"]
19485					#[doc = "* `airdrop_id` - The ID of the airdrop to delete"]
19486					#[doc = ""]
19487					#[doc = "# Errors"]
19488					#[doc = ""]
19489					#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
19490					#[doc = "* `NotAirdropCreator` - If the caller is not the creator of the airdrop"]
19491					delete_airdrop { airdrop_id: ::core::primitive::u32 },
19492				}
19493				#[derive(
19494					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19495					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19496					Debug,
19497				)]
19498				#[decode_as_type(
19499					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19500				)]
19501				#[encode_as_type(
19502					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19503				)]
19504				#[doc = "The `Error` enum of this pallet."]
19505				pub enum Error {
19506					#[codec(index = 0)]
19507					#[doc = "The specified airdrop does not exist."]
19508					AirdropNotFound,
19509					#[codec(index = 1)]
19510					#[doc = "The airdrop does not have sufficient balance for this operation."]
19511					InsufficientAirdropBalance,
19512					#[codec(index = 2)]
19513					#[doc = "The user has already claimed from this airdrop."]
19514					AlreadyClaimed,
19515					#[codec(index = 3)]
19516					#[doc = "The provided Merkle proof is invalid."]
19517					InvalidProof,
19518					#[codec(index = 4)]
19519					#[doc = "Only the creator of an airdrop can delete it."]
19520					NotAirdropCreator,
19521				}
19522				#[derive(
19523					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19524					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19525					Debug,
19526				)]
19527				#[decode_as_type(
19528					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19529				)]
19530				#[encode_as_type(
19531					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19532				)]
19533				#[doc = "The `Event` enum of this pallet"]
19534				pub enum Event {
19535					#[codec(index = 0)]
19536					#[doc = "A new airdrop has been created."]
19537					#[doc = ""]
19538					#[doc = "Parameters: [airdrop_id, merkle_root]"]
19539					AirdropCreated {
19540						airdrop_id: ::core::primitive::u32,
19541						airdrop_metadata: runtime_types::pallet_merkle_airdrop::AirdropMetadata<
19542							::core::primitive::u32,
19543							::core::primitive::u128,
19544							::subxt::ext::subxt_core::utils::AccountId32,
19545						>,
19546					},
19547					#[codec(index = 1)]
19548					#[doc = "An airdrop has been funded with tokens."]
19549					#[doc = ""]
19550					#[doc = "Parameters: [airdrop_id, amount]"]
19551					AirdropFunded {
19552						airdrop_id: ::core::primitive::u32,
19553						amount: ::core::primitive::u128,
19554					},
19555					#[codec(index = 2)]
19556					#[doc = "A user has claimed tokens from an airdrop."]
19557					#[doc = ""]
19558					#[doc = "Parameters: [airdrop_id, account, amount]"]
19559					Claimed {
19560						airdrop_id: ::core::primitive::u32,
19561						account: ::subxt::ext::subxt_core::utils::AccountId32,
19562						amount: ::core::primitive::u128,
19563					},
19564					#[codec(index = 3)]
19565					#[doc = "An airdrop has been deleted."]
19566					#[doc = ""]
19567					#[doc = "Parameters: [airdrop_id]"]
19568					AirdropDeleted { airdrop_id: ::core::primitive::u32 },
19569				}
19570			}
19571			#[derive(
19572				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19573				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19574				Debug,
19575			)]
19576			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19577			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19578			pub struct AirdropMetadata<_0, _1, _2> {
19579				pub merkle_root: [::core::primitive::u8; 32usize],
19580				pub creator: _2,
19581				pub balance: _1,
19582				pub vesting_period: ::core::option::Option<_0>,
19583				pub vesting_delay: ::core::option::Option<_0>,
19584			}
19585		}
19586		pub mod pallet_mining_rewards {
19587			use super::runtime_types;
19588			pub mod pallet {
19589				use super::runtime_types;
19590				#[derive(
19591					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19592					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19593					Debug,
19594				)]
19595				#[decode_as_type(
19596					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19597				)]
19598				#[encode_as_type(
19599					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19600				)]
19601				#[doc = "The `Event` enum of this pallet"]
19602				pub enum Event {
19603					#[codec(index = 0)]
19604					#[doc = "A miner has been identified for a block"]
19605					MinerRewarded {
19606						miner: ::subxt::ext::subxt_core::utils::AccountId32,
19607						reward: ::core::primitive::u128,
19608					},
19609					#[codec(index = 1)]
19610					#[doc = "Transaction fees were collected for later distribution"]
19611					FeesCollected {
19612						amount: ::core::primitive::u128,
19613						total: ::core::primitive::u128,
19614					},
19615					#[codec(index = 2)]
19616					#[doc = "Rewards were sent to Treasury when no miner was specified"]
19617					TreasuryRewarded { reward: ::core::primitive::u128 },
19618				}
19619			}
19620		}
19621		pub mod pallet_preimage {
19622			use super::runtime_types;
19623			pub mod pallet {
19624				use super::runtime_types;
19625				#[derive(
19626					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19627					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19628					Debug,
19629				)]
19630				#[decode_as_type(
19631					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19632				)]
19633				#[encode_as_type(
19634					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19635				)]
19636				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
19637				pub enum Call {
19638					#[codec(index = 0)]
19639					#[doc = "Register a preimage on-chain."]
19640					#[doc = ""]
19641					#[doc = "If the preimage was previously requested, no fees or deposits are taken for providing"]
19642					#[doc = "the preimage. Otherwise, a deposit is taken proportional to the size of the preimage."]
19643					note_preimage {
19644						bytes: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
19645					},
19646					#[codec(index = 1)]
19647					#[doc = "Clear an unrequested preimage from the runtime storage."]
19648					#[doc = ""]
19649					#[doc = "If `len` is provided, then it will be a much cheaper operation."]
19650					#[doc = ""]
19651					#[doc = "- `hash`: The hash of the preimage to be removed from the store."]
19652					#[doc = "- `len`: The length of the preimage of `hash`."]
19653					unnote_preimage { hash: ::subxt::ext::subxt_core::utils::H256 },
19654					#[codec(index = 2)]
19655					#[doc = "Request a preimage be uploaded to the chain without paying any fees or deposits."]
19656					#[doc = ""]
19657					#[doc = "If the preimage requests has already been provided on-chain, we unreserve any deposit"]
19658					#[doc = "a user may have paid, and take the control of the preimage out of their hands."]
19659					request_preimage { hash: ::subxt::ext::subxt_core::utils::H256 },
19660					#[codec(index = 3)]
19661					#[doc = "Clear a previously made request for a preimage."]
19662					#[doc = ""]
19663					#[doc = "NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`."]
19664					unrequest_preimage { hash: ::subxt::ext::subxt_core::utils::H256 },
19665					#[codec(index = 4)]
19666					#[doc = "Ensure that the bulk of pre-images is upgraded."]
19667					#[doc = ""]
19668					#[doc = "The caller pays no fee if at least 90% of pre-images were successfully updated."]
19669					ensure_updated {
19670						hashes: ::subxt::ext::subxt_core::alloc::vec::Vec<
19671							::subxt::ext::subxt_core::utils::H256,
19672						>,
19673					},
19674				}
19675				#[derive(
19676					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19677					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19678					Debug,
19679				)]
19680				#[decode_as_type(
19681					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19682				)]
19683				#[encode_as_type(
19684					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19685				)]
19686				#[doc = "The `Error` enum of this pallet."]
19687				pub enum Error {
19688					#[codec(index = 0)]
19689					#[doc = "Preimage is too large to store on-chain."]
19690					TooBig,
19691					#[codec(index = 1)]
19692					#[doc = "Preimage has already been noted on-chain."]
19693					AlreadyNoted,
19694					#[codec(index = 2)]
19695					#[doc = "The user is not authorized to perform this action."]
19696					NotAuthorized,
19697					#[codec(index = 3)]
19698					#[doc = "The preimage cannot be removed since it has not yet been noted."]
19699					NotNoted,
19700					#[codec(index = 4)]
19701					#[doc = "A preimage may not be removed when there are outstanding requests."]
19702					Requested,
19703					#[codec(index = 5)]
19704					#[doc = "The preimage request cannot be removed since no outstanding requests exist."]
19705					NotRequested,
19706					#[codec(index = 6)]
19707					#[doc = "More than `MAX_HASH_UPGRADE_BULK_COUNT` hashes were requested to be upgraded at once."]
19708					TooMany,
19709					#[codec(index = 7)]
19710					#[doc = "Too few hashes were requested to be upgraded (i.e. zero)."]
19711					TooFew,
19712				}
19713				#[derive(
19714					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19715					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19716					Debug,
19717				)]
19718				#[decode_as_type(
19719					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19720				)]
19721				#[encode_as_type(
19722					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19723				)]
19724				#[doc = "The `Event` enum of this pallet"]
19725				pub enum Event {
19726					#[codec(index = 0)]
19727					#[doc = "A preimage has been noted."]
19728					Noted { hash: ::subxt::ext::subxt_core::utils::H256 },
19729					#[codec(index = 1)]
19730					#[doc = "A preimage has been requested."]
19731					Requested { hash: ::subxt::ext::subxt_core::utils::H256 },
19732					#[codec(index = 2)]
19733					#[doc = "A preimage has ben cleared."]
19734					Cleared { hash: ::subxt::ext::subxt_core::utils::H256 },
19735				}
19736				#[derive(
19737					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19738					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19739					Debug,
19740				)]
19741				#[decode_as_type(
19742					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19743				)]
19744				#[encode_as_type(
19745					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19746				)]
19747				pub enum HoldReason {
19748					#[codec(index = 0)]
19749					Preimage,
19750				}
19751			}
19752			#[derive(
19753				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19754				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19755				Debug,
19756			)]
19757			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19758			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19759			pub enum OldRequestStatus<_0, _1> {
19760				#[codec(index = 0)]
19761				Unrequested { deposit: (_0, _1), len: ::core::primitive::u32 },
19762				#[codec(index = 1)]
19763				Requested {
19764					deposit: ::core::option::Option<(_0, _1)>,
19765					count: ::core::primitive::u32,
19766					len: ::core::option::Option<::core::primitive::u32>,
19767				},
19768			}
19769			#[derive(
19770				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19771				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19772				Debug,
19773			)]
19774			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19775			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19776			pub enum RequestStatus<_0, _1> {
19777				#[codec(index = 0)]
19778				Unrequested { ticket: (_0, _1), len: ::core::primitive::u32 },
19779				#[codec(index = 1)]
19780				Requested {
19781					maybe_ticket: ::core::option::Option<(_0, _1)>,
19782					count: ::core::primitive::u32,
19783					maybe_len: ::core::option::Option<::core::primitive::u32>,
19784				},
19785			}
19786		}
19787		pub mod pallet_qpow {
19788			use super::runtime_types;
19789			pub mod pallet {
19790				use super::runtime_types;
19791				#[derive(
19792					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19793					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19794					Debug,
19795				)]
19796				#[decode_as_type(
19797					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19798				)]
19799				#[encode_as_type(
19800					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19801				)]
19802				#[doc = "The `Error` enum of this pallet."]
19803				pub enum Error {
19804					#[codec(index = 0)]
19805					InvalidSolution,
19806					#[codec(index = 1)]
19807					ArithmeticOverflow,
19808				}
19809				#[derive(
19810					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19811					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19812					Debug,
19813				)]
19814				#[decode_as_type(
19815					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19816				)]
19817				#[encode_as_type(
19818					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19819				)]
19820				#[doc = "The `Event` enum of this pallet"]
19821				pub enum Event {
19822					#[codec(index = 0)]
19823					ProofSubmitted {
19824						nonce: [::core::primitive::u8; 64usize],
19825						difficulty: runtime_types::primitive_types::U512,
19826						distance_achieved: runtime_types::primitive_types::U512,
19827					},
19828					#[codec(index = 1)]
19829					DistanceThresholdAdjusted {
19830						old_distance_threshold: runtime_types::primitive_types::U512,
19831						new_distance_threshold: runtime_types::primitive_types::U512,
19832						observed_block_time: ::core::primitive::u64,
19833					},
19834				}
19835			}
19836		}
19837		pub mod pallet_ranked_collective {
19838			use super::runtime_types;
19839			pub mod pallet {
19840				use super::runtime_types;
19841				#[derive(
19842					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19843					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19844					Debug,
19845				)]
19846				#[decode_as_type(
19847					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19848				)]
19849				#[encode_as_type(
19850					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19851				)]
19852				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
19853				pub enum Call {
19854					#[codec(index = 0)]
19855					#[doc = "Introduce a new member."]
19856					#[doc = ""]
19857					#[doc = "- `origin`: Must be the `AddOrigin`."]
19858					#[doc = "- `who`: Account of non-member which will become a member."]
19859					#[doc = ""]
19860					#[doc = "Weight: `O(1)`"]
19861					add_member {
19862						who: ::subxt::ext::subxt_core::utils::MultiAddress<
19863							::subxt::ext::subxt_core::utils::AccountId32,
19864							(),
19865						>,
19866					},
19867					#[codec(index = 1)]
19868					#[doc = "Increment the rank of an existing member by one."]
19869					#[doc = ""]
19870					#[doc = "- `origin`: Must be the `PromoteOrigin`."]
19871					#[doc = "- `who`: Account of existing member."]
19872					#[doc = ""]
19873					#[doc = "Weight: `O(1)`"]
19874					promote_member {
19875						who: ::subxt::ext::subxt_core::utils::MultiAddress<
19876							::subxt::ext::subxt_core::utils::AccountId32,
19877							(),
19878						>,
19879					},
19880					#[codec(index = 2)]
19881					#[doc = "Decrement the rank of an existing member by one. If the member is already at rank zero,"]
19882					#[doc = "then they are removed entirely."]
19883					#[doc = ""]
19884					#[doc = "- `origin`: Must be the `DemoteOrigin`."]
19885					#[doc = "- `who`: Account of existing member of rank greater than zero."]
19886					#[doc = ""]
19887					#[doc = "Weight: `O(1)`, less if the member's index is highest in its rank."]
19888					demote_member {
19889						who: ::subxt::ext::subxt_core::utils::MultiAddress<
19890							::subxt::ext::subxt_core::utils::AccountId32,
19891							(),
19892						>,
19893					},
19894					#[codec(index = 3)]
19895					#[doc = "Remove the member entirely."]
19896					#[doc = ""]
19897					#[doc = "- `origin`: Must be the `RemoveOrigin`."]
19898					#[doc = "- `who`: Account of existing member of rank greater than zero."]
19899					#[doc = "- `min_rank`: The rank of the member or greater."]
19900					#[doc = ""]
19901					#[doc = "Weight: `O(min_rank)`."]
19902					remove_member {
19903						who: ::subxt::ext::subxt_core::utils::MultiAddress<
19904							::subxt::ext::subxt_core::utils::AccountId32,
19905							(),
19906						>,
19907						min_rank: ::core::primitive::u16,
19908					},
19909					#[codec(index = 4)]
19910					#[doc = "Add an aye or nay vote for the sender to the given proposal."]
19911					#[doc = ""]
19912					#[doc = "- `origin`: Must be `Signed` by a member account."]
19913					#[doc = "- `poll`: Index of a poll which is ongoing."]
19914					#[doc = "- `aye`: `true` if the vote is to approve the proposal, `false` otherwise."]
19915					#[doc = ""]
19916					#[doc = "Transaction fees are be waived if the member is voting on any particular proposal"]
19917					#[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"]
19918					#[doc = "fee."]
19919					#[doc = ""]
19920					#[doc = "Weight: `O(1)`, less if there was no previous vote on the poll by the member."]
19921					vote { poll: ::core::primitive::u32, aye: ::core::primitive::bool },
19922					#[codec(index = 5)]
19923					#[doc = "Remove votes from the given poll. It must have ended."]
19924					#[doc = ""]
19925					#[doc = "- `origin`: Must be `Signed` by any account."]
19926					#[doc = "- `poll_index`: Index of a poll which is completed and for which votes continue to"]
19927					#[doc = "  exist."]
19928					#[doc = "- `max`: Maximum number of vote items from remove in this call."]
19929					#[doc = ""]
19930					#[doc = "Transaction fees are waived if the operation is successful."]
19931					#[doc = ""]
19932					#[doc = "Weight `O(max)` (less if there are fewer items to remove than `max`)."]
19933					cleanup_poll { poll_index: ::core::primitive::u32, max: ::core::primitive::u32 },
19934					#[codec(index = 6)]
19935					#[doc = "Exchanges a member with a new account and the same existing rank."]
19936					#[doc = ""]
19937					#[doc = "- `origin`: Must be the `ExchangeOrigin`."]
19938					#[doc = "- `who`: Account of existing member of rank greater than zero to be exchanged."]
19939					#[doc = "- `new_who`: New Account of existing member of rank greater than zero to exchanged to."]
19940					exchange_member {
19941						who: ::subxt::ext::subxt_core::utils::MultiAddress<
19942							::subxt::ext::subxt_core::utils::AccountId32,
19943							(),
19944						>,
19945						new_who: ::subxt::ext::subxt_core::utils::MultiAddress<
19946							::subxt::ext::subxt_core::utils::AccountId32,
19947							(),
19948						>,
19949					},
19950				}
19951				#[derive(
19952					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19953					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19954					Debug,
19955				)]
19956				#[decode_as_type(
19957					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19958				)]
19959				#[encode_as_type(
19960					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19961				)]
19962				#[doc = "The `Error` enum of this pallet."]
19963				pub enum Error {
19964					#[codec(index = 0)]
19965					#[doc = "Account is already a member."]
19966					AlreadyMember,
19967					#[codec(index = 1)]
19968					#[doc = "Account is not a member."]
19969					NotMember,
19970					#[codec(index = 2)]
19971					#[doc = "The given poll index is unknown or has closed."]
19972					NotPolling,
19973					#[codec(index = 3)]
19974					#[doc = "The given poll is still ongoing."]
19975					Ongoing,
19976					#[codec(index = 4)]
19977					#[doc = "There are no further records to be removed."]
19978					NoneRemaining,
19979					#[codec(index = 5)]
19980					#[doc = "Unexpected error in state."]
19981					Corruption,
19982					#[codec(index = 6)]
19983					#[doc = "The member's rank is too low to vote."]
19984					RankTooLow,
19985					#[codec(index = 7)]
19986					#[doc = "The information provided is incorrect."]
19987					InvalidWitness,
19988					#[codec(index = 8)]
19989					#[doc = "The origin is not sufficiently privileged to do the operation."]
19990					NoPermission,
19991					#[codec(index = 9)]
19992					#[doc = "The new member to exchange is the same as the old member"]
19993					SameMember,
19994					#[codec(index = 10)]
19995					#[doc = "The max member count for the rank has been reached."]
19996					TooManyMembers,
19997				}
19998				#[derive(
19999					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20000					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20001					Debug,
20002				)]
20003				#[decode_as_type(
20004					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20005				)]
20006				#[encode_as_type(
20007					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20008				)]
20009				#[doc = "The `Event` enum of this pallet"]
20010				pub enum Event {
20011					#[codec(index = 0)]
20012					#[doc = "A member `who` has been added."]
20013					MemberAdded { who: ::subxt::ext::subxt_core::utils::AccountId32 },
20014					#[codec(index = 1)]
20015					#[doc = "The member `who`se rank has been changed to the given `rank`."]
20016					RankChanged {
20017						who: ::subxt::ext::subxt_core::utils::AccountId32,
20018						rank: ::core::primitive::u16,
20019					},
20020					#[codec(index = 2)]
20021					#[doc = "The member `who` of given `rank` has been removed from the collective."]
20022					MemberRemoved {
20023						who: ::subxt::ext::subxt_core::utils::AccountId32,
20024						rank: ::core::primitive::u16,
20025					},
20026					#[codec(index = 3)]
20027					#[doc = "The member `who` has voted for the `poll` with the given `vote` leading to an updated"]
20028					#[doc = "`tally`."]
20029					Voted {
20030						who: ::subxt::ext::subxt_core::utils::AccountId32,
20031						poll: ::core::primitive::u32,
20032						vote: runtime_types::pallet_ranked_collective::VoteRecord,
20033						tally: runtime_types::pallet_ranked_collective::Tally,
20034					},
20035					#[codec(index = 4)]
20036					#[doc = "The member `who` had their `AccountId` changed to `new_who`."]
20037					MemberExchanged {
20038						who: ::subxt::ext::subxt_core::utils::AccountId32,
20039						new_who: ::subxt::ext::subxt_core::utils::AccountId32,
20040					},
20041				}
20042			}
20043			#[derive(
20044				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20045				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20046				Debug,
20047			)]
20048			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20049			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20050			pub struct MemberRecord {
20051				pub rank: ::core::primitive::u16,
20052			}
20053			#[derive(
20054				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20055				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20056				Debug,
20057			)]
20058			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20059			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20060			pub struct Tally {
20061				pub bare_ayes: ::core::primitive::u32,
20062				pub ayes: ::core::primitive::u32,
20063				pub nays: ::core::primitive::u32,
20064			}
20065			#[derive(
20066				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20067				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20068				Debug,
20069			)]
20070			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20071			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20072			pub enum VoteRecord {
20073				#[codec(index = 0)]
20074				Aye(::core::primitive::u32),
20075				#[codec(index = 1)]
20076				Nay(::core::primitive::u32),
20077			}
20078		}
20079		pub mod pallet_recovery {
20080			use super::runtime_types;
20081			pub mod pallet {
20082				use super::runtime_types;
20083				#[derive(
20084					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20085					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20086					Debug,
20087				)]
20088				#[decode_as_type(
20089					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20090				)]
20091				#[encode_as_type(
20092					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20093				)]
20094				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
20095				pub enum Call {
20096					#[codec(index = 0)]
20097					#[doc = "Send a call through a recovered account."]
20098					#[doc = ""]
20099					#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
20100					#[doc = "be able to make calls on behalf of the recovered account."]
20101					#[doc = ""]
20102					#[doc = "Parameters:"]
20103					#[doc = "- `account`: The recovered account you want to make a call on-behalf-of."]
20104					#[doc = "- `call`: The call you want to make with the recovered account."]
20105					as_recovered {
20106						account: ::subxt::ext::subxt_core::utils::MultiAddress<
20107							::subxt::ext::subxt_core::utils::AccountId32,
20108							(),
20109						>,
20110						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
20111							runtime_types::quantus_runtime::RuntimeCall,
20112						>,
20113					},
20114					#[codec(index = 1)]
20115					#[doc = "Allow ROOT to bypass the recovery process and set a rescuer account"]
20116					#[doc = "for a lost account directly."]
20117					#[doc = ""]
20118					#[doc = "The dispatch origin for this call must be _ROOT_."]
20119					#[doc = ""]
20120					#[doc = "Parameters:"]
20121					#[doc = "- `lost`: The \"lost account\" to be recovered."]
20122					#[doc = "- `rescuer`: The \"rescuer account\" which can call as the lost account."]
20123					set_recovered {
20124						lost: ::subxt::ext::subxt_core::utils::MultiAddress<
20125							::subxt::ext::subxt_core::utils::AccountId32,
20126							(),
20127						>,
20128						rescuer: ::subxt::ext::subxt_core::utils::MultiAddress<
20129							::subxt::ext::subxt_core::utils::AccountId32,
20130							(),
20131						>,
20132					},
20133					#[codec(index = 2)]
20134					#[doc = "Create a recovery configuration for your account. This makes your account recoverable."]
20135					#[doc = ""]
20136					#[doc = "Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance"]
20137					#[doc = "will be reserved for storing the recovery configuration. This deposit is returned"]
20138					#[doc = "in full when the user calls `remove_recovery`."]
20139					#[doc = ""]
20140					#[doc = "The dispatch origin for this call must be _Signed_."]
20141					#[doc = ""]
20142					#[doc = "Parameters:"]
20143					#[doc = "- `friends`: A list of friends you trust to vouch for recovery attempts. Should be"]
20144					#[doc = "  ordered and contain no duplicate values."]
20145					#[doc = "- `threshold`: The number of friends that must vouch for a recovery attempt before the"]
20146					#[doc = "  account can be recovered. Should be less than or equal to the length of the list of"]
20147					#[doc = "  friends."]
20148					#[doc = "- `delay_period`: The number of blocks after a recovery attempt is initialized that"]
20149					#[doc = "  needs to pass before the account can be recovered."]
20150					create_recovery {
20151						friends: ::subxt::ext::subxt_core::alloc::vec::Vec<
20152							::subxt::ext::subxt_core::utils::AccountId32,
20153						>,
20154						threshold: ::core::primitive::u16,
20155						delay_period: ::core::primitive::u32,
20156					},
20157					#[codec(index = 3)]
20158					#[doc = "Initiate the process for recovering a recoverable account."]
20159					#[doc = ""]
20160					#[doc = "Payment: `RecoveryDeposit` balance will be reserved for initiating the"]
20161					#[doc = "recovery process. This deposit will always be repatriated to the account"]
20162					#[doc = "trying to be recovered. See `close_recovery`."]
20163					#[doc = ""]
20164					#[doc = "The dispatch origin for this call must be _Signed_."]
20165					#[doc = ""]
20166					#[doc = "Parameters:"]
20167					#[doc = "- `account`: The lost account that you want to recover. This account needs to be"]
20168					#[doc = "  recoverable (i.e. have a recovery configuration)."]
20169					initiate_recovery {
20170						account: ::subxt::ext::subxt_core::utils::MultiAddress<
20171							::subxt::ext::subxt_core::utils::AccountId32,
20172							(),
20173						>,
20174					},
20175					#[codec(index = 4)]
20176					#[doc = "Allow a \"friend\" of a recoverable account to vouch for an active recovery"]
20177					#[doc = "process for that account."]
20178					#[doc = ""]
20179					#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"friend\""]
20180					#[doc = "for the recoverable account."]
20181					#[doc = ""]
20182					#[doc = "Parameters:"]
20183					#[doc = "- `lost`: The lost account that you want to recover."]
20184					#[doc = "- `rescuer`: The account trying to rescue the lost account that you want to vouch for."]
20185					#[doc = ""]
20186					#[doc = "The combination of these two parameters must point to an active recovery"]
20187					#[doc = "process."]
20188					vouch_recovery {
20189						lost: ::subxt::ext::subxt_core::utils::MultiAddress<
20190							::subxt::ext::subxt_core::utils::AccountId32,
20191							(),
20192						>,
20193						rescuer: ::subxt::ext::subxt_core::utils::MultiAddress<
20194							::subxt::ext::subxt_core::utils::AccountId32,
20195							(),
20196						>,
20197					},
20198					#[codec(index = 5)]
20199					#[doc = "Allow a successful rescuer to claim their recovered account."]
20200					#[doc = ""]
20201					#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"rescuer\""]
20202					#[doc = "who has successfully completed the account recovery process: collected"]
20203					#[doc = "`threshold` or more vouches, waited `delay_period` blocks since initiation."]
20204					#[doc = ""]
20205					#[doc = "Parameters:"]
20206					#[doc = "- `account`: The lost account that you want to claim has been successfully recovered by"]
20207					#[doc = "  you."]
20208					claim_recovery {
20209						account: ::subxt::ext::subxt_core::utils::MultiAddress<
20210							::subxt::ext::subxt_core::utils::AccountId32,
20211							(),
20212						>,
20213					},
20214					#[codec(index = 6)]
20215					#[doc = "As the controller of a recoverable account, close an active recovery"]
20216					#[doc = "process for your account."]
20217					#[doc = ""]
20218					#[doc = "Payment: By calling this function, the recoverable account will receive"]
20219					#[doc = "the recovery deposit `RecoveryDeposit` placed by the rescuer."]
20220					#[doc = ""]
20221					#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
20222					#[doc = "recoverable account with an active recovery process for it."]
20223					#[doc = ""]
20224					#[doc = "Parameters:"]
20225					#[doc = "- `rescuer`: The account trying to rescue this recoverable account."]
20226					close_recovery {
20227						rescuer: ::subxt::ext::subxt_core::utils::MultiAddress<
20228							::subxt::ext::subxt_core::utils::AccountId32,
20229							(),
20230						>,
20231					},
20232					#[codec(index = 7)]
20233					#[doc = "Remove the recovery process for your account. Recovered accounts are still accessible."]
20234					#[doc = ""]
20235					#[doc = "NOTE: The user must make sure to call `close_recovery` on all active"]
20236					#[doc = "recovery attempts before calling this function else it will fail."]
20237					#[doc = ""]
20238					#[doc = "Payment: By calling this function the recoverable account will unreserve"]
20239					#[doc = "their recovery configuration deposit."]
20240					#[doc = "(`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)"]
20241					#[doc = ""]
20242					#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
20243					#[doc = "recoverable account (i.e. has a recovery configuration)."]
20244					remove_recovery,
20245					#[codec(index = 8)]
20246					#[doc = "Cancel the ability to use `as_recovered` for `account`."]
20247					#[doc = ""]
20248					#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
20249					#[doc = "be able to make calls on behalf of the recovered account."]
20250					#[doc = ""]
20251					#[doc = "Parameters:"]
20252					#[doc = "- `account`: The recovered account you are able to call on-behalf-of."]
20253					cancel_recovered {
20254						account: ::subxt::ext::subxt_core::utils::MultiAddress<
20255							::subxt::ext::subxt_core::utils::AccountId32,
20256							(),
20257						>,
20258					},
20259					#[codec(index = 9)]
20260					#[doc = "Poke deposits for recovery configurations and / or active recoveries."]
20261					#[doc = ""]
20262					#[doc = "This can be used by accounts to possibly lower their locked amount."]
20263					#[doc = ""]
20264					#[doc = "The dispatch origin for this call must be _Signed_."]
20265					#[doc = ""]
20266					#[doc = "Parameters:"]
20267					#[doc = "- `maybe_account`: Optional recoverable account for which you have an active recovery"]
20268					#[doc = "and want to adjust the deposit for the active recovery."]
20269					#[doc = ""]
20270					#[doc = "This function checks both recovery configuration deposit and active recovery deposits"]
20271					#[doc = "of the caller:"]
20272					#[doc = "- If the caller has created a recovery configuration, checks and adjusts its deposit"]
20273					#[doc = "- If the caller has initiated any active recoveries, and provides the account in"]
20274					#[doc = "`maybe_account`, checks and adjusts those deposits"]
20275					#[doc = ""]
20276					#[doc = "If any deposit is updated, the difference will be reserved/unreserved from the caller's"]
20277					#[doc = "account."]
20278					#[doc = ""]
20279					#[doc = "The transaction is made free if any deposit is updated and paid otherwise."]
20280					#[doc = ""]
20281					#[doc = "Emits `DepositPoked` if any deposit is updated."]
20282					#[doc = "Multiple events may be emitted in case both types of deposits are updated."]
20283					poke_deposit {
20284						maybe_account: ::core::option::Option<
20285							::subxt::ext::subxt_core::utils::MultiAddress<
20286								::subxt::ext::subxt_core::utils::AccountId32,
20287								(),
20288							>,
20289						>,
20290					},
20291				}
20292				#[derive(
20293					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20294					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20295					Debug,
20296				)]
20297				#[decode_as_type(
20298					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20299				)]
20300				#[encode_as_type(
20301					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20302				)]
20303				#[doc = "The `Error` enum of this pallet."]
20304				pub enum Error {
20305					#[codec(index = 0)]
20306					#[doc = "User is not allowed to make a call on behalf of this account"]
20307					NotAllowed,
20308					#[codec(index = 1)]
20309					#[doc = "Threshold must be greater than zero"]
20310					ZeroThreshold,
20311					#[codec(index = 2)]
20312					#[doc = "Friends list must be greater than zero and threshold"]
20313					NotEnoughFriends,
20314					#[codec(index = 3)]
20315					#[doc = "Friends list must be less than max friends"]
20316					MaxFriends,
20317					#[codec(index = 4)]
20318					#[doc = "Friends list must be sorted and free of duplicates"]
20319					NotSorted,
20320					#[codec(index = 5)]
20321					#[doc = "This account is not set up for recovery"]
20322					NotRecoverable,
20323					#[codec(index = 6)]
20324					#[doc = "This account is already set up for recovery"]
20325					AlreadyRecoverable,
20326					#[codec(index = 7)]
20327					#[doc = "A recovery process has already started for this account"]
20328					AlreadyStarted,
20329					#[codec(index = 8)]
20330					#[doc = "A recovery process has not started for this rescuer"]
20331					NotStarted,
20332					#[codec(index = 9)]
20333					#[doc = "This account is not a friend who can vouch"]
20334					NotFriend,
20335					#[codec(index = 10)]
20336					#[doc = "The friend must wait until the delay period to vouch for this recovery"]
20337					DelayPeriod,
20338					#[codec(index = 11)]
20339					#[doc = "This user has already vouched for this recovery"]
20340					AlreadyVouched,
20341					#[codec(index = 12)]
20342					#[doc = "The threshold for recovering this account has not been met"]
20343					Threshold,
20344					#[codec(index = 13)]
20345					#[doc = "There are still active recovery attempts that need to be closed"]
20346					StillActive,
20347					#[codec(index = 14)]
20348					#[doc = "This account is already set up for recovery"]
20349					AlreadyProxy,
20350					#[codec(index = 15)]
20351					#[doc = "Some internal state is broken."]
20352					BadState,
20353				}
20354				#[derive(
20355					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20356					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20357					Debug,
20358				)]
20359				#[decode_as_type(
20360					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20361				)]
20362				#[encode_as_type(
20363					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20364				)]
20365				#[doc = "Events type."]
20366				pub enum Event {
20367					#[codec(index = 0)]
20368					#[doc = "A recovery process has been set up for an account."]
20369					RecoveryCreated { account: ::subxt::ext::subxt_core::utils::AccountId32 },
20370					#[codec(index = 1)]
20371					#[doc = "A recovery process has been initiated for lost account by rescuer account."]
20372					RecoveryInitiated {
20373						lost_account: ::subxt::ext::subxt_core::utils::AccountId32,
20374						rescuer_account: ::subxt::ext::subxt_core::utils::AccountId32,
20375					},
20376					#[codec(index = 2)]
20377					#[doc = "A recovery process for lost account by rescuer account has been vouched for by sender."]
20378					RecoveryVouched {
20379						lost_account: ::subxt::ext::subxt_core::utils::AccountId32,
20380						rescuer_account: ::subxt::ext::subxt_core::utils::AccountId32,
20381						sender: ::subxt::ext::subxt_core::utils::AccountId32,
20382					},
20383					#[codec(index = 3)]
20384					#[doc = "A recovery process for lost account by rescuer account has been closed."]
20385					RecoveryClosed {
20386						lost_account: ::subxt::ext::subxt_core::utils::AccountId32,
20387						rescuer_account: ::subxt::ext::subxt_core::utils::AccountId32,
20388					},
20389					#[codec(index = 4)]
20390					#[doc = "Lost account has been successfully recovered by rescuer account."]
20391					AccountRecovered {
20392						lost_account: ::subxt::ext::subxt_core::utils::AccountId32,
20393						rescuer_account: ::subxt::ext::subxt_core::utils::AccountId32,
20394					},
20395					#[codec(index = 5)]
20396					#[doc = "A recovery process has been removed for an account."]
20397					RecoveryRemoved { lost_account: ::subxt::ext::subxt_core::utils::AccountId32 },
20398					#[codec(index = 6)]
20399					#[doc = "A deposit has been updated."]
20400					DepositPoked {
20401						who: ::subxt::ext::subxt_core::utils::AccountId32,
20402						kind: runtime_types::pallet_recovery::DepositKind<
20403							runtime_types::quantus_runtime::Runtime,
20404						>,
20405						old_deposit: ::core::primitive::u128,
20406						new_deposit: ::core::primitive::u128,
20407					},
20408				}
20409			}
20410			#[derive(
20411				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20412				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20413				Debug,
20414			)]
20415			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20416			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20417			pub struct ActiveRecovery<_0, _1, _2> {
20418				pub created: _0,
20419				pub deposit: _1,
20420				pub friends: _2,
20421			}
20422			#[derive(
20423				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20424				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20425				Debug,
20426			)]
20427			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20428			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20429			pub enum DepositKind<_0> {
20430				#[codec(index = 0)]
20431				RecoveryConfig,
20432				#[codec(index = 1)]
20433				ActiveRecoveryFor(::subxt::ext::subxt_core::utils::AccountId32),
20434				__Ignore(::core::marker::PhantomData<_0>),
20435			}
20436			#[derive(
20437				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20438				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20439				Debug,
20440			)]
20441			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20442			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20443			pub struct RecoveryConfig<_0, _1, _2> {
20444				pub delay_period: _0,
20445				pub deposit: _1,
20446				pub friends: _2,
20447				pub threshold: ::core::primitive::u16,
20448			}
20449		}
20450		pub mod pallet_referenda {
20451			use super::runtime_types;
20452			pub mod pallet {
20453				use super::runtime_types;
20454				#[derive(
20455					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20456					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20457					Debug,
20458				)]
20459				#[decode_as_type(
20460					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20461				)]
20462				#[encode_as_type(
20463					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20464				)]
20465				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
20466				pub enum Call {
20467					#[codec(index = 0)]
20468					#[doc = "Propose a referendum on a privileged action."]
20469					#[doc = ""]
20470					#[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"]
20471					#[doc = "  available."]
20472					#[doc = "- `proposal_origin`: The origin from which the proposal should be executed."]
20473					#[doc = "- `proposal`: The proposal."]
20474					#[doc = "- `enactment_moment`: The moment that the proposal should be enacted."]
20475					#[doc = ""]
20476					#[doc = "Emits `Submitted`."]
20477					submit {
20478						proposal_origin: ::subxt::ext::subxt_core::alloc::boxed::Box<
20479							runtime_types::quantus_runtime::OriginCaller,
20480						>,
20481						proposal: runtime_types::frame_support::traits::preimages::Bounded<
20482							runtime_types::quantus_runtime::RuntimeCall,
20483							runtime_types::poseidon_resonance::PoseidonHasher,
20484						>,
20485						enactment_moment:
20486							runtime_types::frame_support::traits::schedule::DispatchTime<
20487								::core::primitive::u32,
20488							>,
20489					},
20490					#[codec(index = 1)]
20491					#[doc = "Post the Decision Deposit for a referendum."]
20492					#[doc = ""]
20493					#[doc = "- `origin`: must be `Signed` and the account must have funds available for the"]
20494					#[doc = "  referendum's track's Decision Deposit."]
20495					#[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"]
20496					#[doc = "  posted."]
20497					#[doc = ""]
20498					#[doc = "Emits `DecisionDepositPlaced`."]
20499					place_decision_deposit { index: ::core::primitive::u32 },
20500					#[codec(index = 2)]
20501					#[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."]
20502					#[doc = ""]
20503					#[doc = "- `origin`: must be `Signed` or `Root`."]
20504					#[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"]
20505					#[doc = "  refunded."]
20506					#[doc = ""]
20507					#[doc = "Emits `DecisionDepositRefunded`."]
20508					refund_decision_deposit { index: ::core::primitive::u32 },
20509					#[codec(index = 3)]
20510					#[doc = "Cancel an ongoing referendum."]
20511					#[doc = ""]
20512					#[doc = "- `origin`: must be the `CancelOrigin`."]
20513					#[doc = "- `index`: The index of the referendum to be cancelled."]
20514					#[doc = ""]
20515					#[doc = "Emits `Cancelled`."]
20516					cancel { index: ::core::primitive::u32 },
20517					#[codec(index = 4)]
20518					#[doc = "Cancel an ongoing referendum and slash the deposits."]
20519					#[doc = ""]
20520					#[doc = "- `origin`: must be the `KillOrigin`."]
20521					#[doc = "- `index`: The index of the referendum to be cancelled."]
20522					#[doc = ""]
20523					#[doc = "Emits `Killed` and `DepositSlashed`."]
20524					kill { index: ::core::primitive::u32 },
20525					#[codec(index = 5)]
20526					#[doc = "Advance a referendum onto its next logical state. Only used internally."]
20527					#[doc = ""]
20528					#[doc = "- `origin`: must be `Root`."]
20529					#[doc = "- `index`: the referendum to be advanced."]
20530					nudge_referendum { index: ::core::primitive::u32 },
20531					#[codec(index = 6)]
20532					#[doc = "Advance a track onto its next logical state. Only used internally."]
20533					#[doc = ""]
20534					#[doc = "- `origin`: must be `Root`."]
20535					#[doc = "- `track`: the track to be advanced."]
20536					#[doc = ""]
20537					#[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"]
20538					#[doc = "`DecidingCount` is not yet updated. This means that we should either:"]
20539					#[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"]
20540					#[doc = "- decrement `DecidingCount`."]
20541					one_fewer_deciding { track: ::core::primitive::u16 },
20542					#[codec(index = 7)]
20543					#[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."]
20544					#[doc = ""]
20545					#[doc = "- `origin`: must be `Signed` or `Root`."]
20546					#[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"]
20547					#[doc = "  refunded."]
20548					#[doc = ""]
20549					#[doc = "Emits `SubmissionDepositRefunded`."]
20550					refund_submission_deposit { index: ::core::primitive::u32 },
20551					#[codec(index = 8)]
20552					#[doc = "Set or clear metadata of a referendum."]
20553					#[doc = ""]
20554					#[doc = "Parameters:"]
20555					#[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"]
20556					#[doc = "  metadata of a finished referendum."]
20557					#[doc = "- `index`:  The index of a referendum to set or clear metadata for."]
20558					#[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."]
20559					set_metadata {
20560						index: ::core::primitive::u32,
20561						maybe_hash: ::core::option::Option<::subxt::ext::subxt_core::utils::H256>,
20562					},
20563				}
20564				#[derive(
20565					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20566					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20567					Debug,
20568				)]
20569				#[decode_as_type(
20570					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20571				)]
20572				#[encode_as_type(
20573					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20574				)]
20575				#[doc = "The `Error` enum of this pallet."]
20576				pub enum Error {
20577					#[codec(index = 0)]
20578					#[doc = "Referendum is not ongoing."]
20579					NotOngoing,
20580					#[codec(index = 1)]
20581					#[doc = "Referendum's decision deposit is already paid."]
20582					HasDeposit,
20583					#[codec(index = 2)]
20584					#[doc = "The track identifier given was invalid."]
20585					BadTrack,
20586					#[codec(index = 3)]
20587					#[doc = "There are already a full complement of referenda in progress for this track."]
20588					Full,
20589					#[codec(index = 4)]
20590					#[doc = "The queue of the track is empty."]
20591					QueueEmpty,
20592					#[codec(index = 5)]
20593					#[doc = "The referendum index provided is invalid in this context."]
20594					BadReferendum,
20595					#[codec(index = 6)]
20596					#[doc = "There was nothing to do in the advancement."]
20597					NothingToDo,
20598					#[codec(index = 7)]
20599					#[doc = "No track exists for the proposal origin."]
20600					NoTrack,
20601					#[codec(index = 8)]
20602					#[doc = "Any deposit cannot be refunded until after the decision is over."]
20603					Unfinished,
20604					#[codec(index = 9)]
20605					#[doc = "The deposit refunder is not the depositor."]
20606					NoPermission,
20607					#[codec(index = 10)]
20608					#[doc = "The deposit cannot be refunded since none was made."]
20609					NoDeposit,
20610					#[codec(index = 11)]
20611					#[doc = "The referendum status is invalid for this operation."]
20612					BadStatus,
20613					#[codec(index = 12)]
20614					#[doc = "The preimage does not exist."]
20615					PreimageNotExist,
20616					#[codec(index = 13)]
20617					#[doc = "The preimage is stored with a different length than the one provided."]
20618					PreimageStoredWithDifferentLength,
20619				}
20620				#[derive(
20621					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20622					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20623					Debug,
20624				)]
20625				#[decode_as_type(
20626					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20627				)]
20628				#[encode_as_type(
20629					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20630				)]
20631				#[doc = "The `Event` enum of this pallet"]
20632				pub enum Event1 {
20633					#[codec(index = 0)]
20634					#[doc = "A referendum has been submitted."]
20635					Submitted {
20636						index: ::core::primitive::u32,
20637						track: ::core::primitive::u16,
20638						proposal: runtime_types::frame_support::traits::preimages::Bounded<
20639							runtime_types::quantus_runtime::RuntimeCall,
20640							runtime_types::poseidon_resonance::PoseidonHasher,
20641						>,
20642					},
20643					#[codec(index = 1)]
20644					#[doc = "The decision deposit has been placed."]
20645					DecisionDepositPlaced {
20646						index: ::core::primitive::u32,
20647						who: ::subxt::ext::subxt_core::utils::AccountId32,
20648						amount: ::core::primitive::u128,
20649					},
20650					#[codec(index = 2)]
20651					#[doc = "The decision deposit has been refunded."]
20652					DecisionDepositRefunded {
20653						index: ::core::primitive::u32,
20654						who: ::subxt::ext::subxt_core::utils::AccountId32,
20655						amount: ::core::primitive::u128,
20656					},
20657					#[codec(index = 3)]
20658					#[doc = "A deposit has been slashed."]
20659					DepositSlashed {
20660						who: ::subxt::ext::subxt_core::utils::AccountId32,
20661						amount: ::core::primitive::u128,
20662					},
20663					#[codec(index = 4)]
20664					#[doc = "A referendum has moved into the deciding phase."]
20665					DecisionStarted {
20666						index: ::core::primitive::u32,
20667						track: ::core::primitive::u16,
20668						proposal: runtime_types::frame_support::traits::preimages::Bounded<
20669							runtime_types::quantus_runtime::RuntimeCall,
20670							runtime_types::poseidon_resonance::PoseidonHasher,
20671						>,
20672						tally: runtime_types::pallet_conviction_voting::types::Tally<
20673							::core::primitive::u128,
20674						>,
20675					},
20676					#[codec(index = 5)]
20677					ConfirmStarted { index: ::core::primitive::u32 },
20678					#[codec(index = 6)]
20679					ConfirmAborted { index: ::core::primitive::u32 },
20680					#[codec(index = 7)]
20681					#[doc = "A referendum has ended its confirmation phase and is ready for approval."]
20682					Confirmed {
20683						index: ::core::primitive::u32,
20684						tally: runtime_types::pallet_conviction_voting::types::Tally<
20685							::core::primitive::u128,
20686						>,
20687					},
20688					#[codec(index = 8)]
20689					#[doc = "A referendum has been approved and its proposal has been scheduled."]
20690					Approved { index: ::core::primitive::u32 },
20691					#[codec(index = 9)]
20692					#[doc = "A proposal has been rejected by referendum."]
20693					Rejected {
20694						index: ::core::primitive::u32,
20695						tally: runtime_types::pallet_conviction_voting::types::Tally<
20696							::core::primitive::u128,
20697						>,
20698					},
20699					#[codec(index = 10)]
20700					#[doc = "A referendum has been timed out without being decided."]
20701					TimedOut {
20702						index: ::core::primitive::u32,
20703						tally: runtime_types::pallet_conviction_voting::types::Tally<
20704							::core::primitive::u128,
20705						>,
20706					},
20707					#[codec(index = 11)]
20708					#[doc = "A referendum has been cancelled."]
20709					Cancelled {
20710						index: ::core::primitive::u32,
20711						tally: runtime_types::pallet_conviction_voting::types::Tally<
20712							::core::primitive::u128,
20713						>,
20714					},
20715					#[codec(index = 12)]
20716					#[doc = "A referendum has been killed."]
20717					Killed {
20718						index: ::core::primitive::u32,
20719						tally: runtime_types::pallet_conviction_voting::types::Tally<
20720							::core::primitive::u128,
20721						>,
20722					},
20723					#[codec(index = 13)]
20724					#[doc = "The submission deposit has been refunded."]
20725					SubmissionDepositRefunded {
20726						index: ::core::primitive::u32,
20727						who: ::subxt::ext::subxt_core::utils::AccountId32,
20728						amount: ::core::primitive::u128,
20729					},
20730					#[codec(index = 14)]
20731					#[doc = "Metadata for a referendum has been set."]
20732					MetadataSet {
20733						index: ::core::primitive::u32,
20734						hash: ::subxt::ext::subxt_core::utils::H256,
20735					},
20736					#[codec(index = 15)]
20737					#[doc = "Metadata for a referendum has been cleared."]
20738					MetadataCleared {
20739						index: ::core::primitive::u32,
20740						hash: ::subxt::ext::subxt_core::utils::H256,
20741					},
20742				}
20743				#[derive(
20744					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20745					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20746					Debug,
20747				)]
20748				#[decode_as_type(
20749					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20750				)]
20751				#[encode_as_type(
20752					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20753				)]
20754				#[doc = "The `Event` enum of this pallet"]
20755				pub enum Event2 {
20756					#[codec(index = 0)]
20757					#[doc = "A referendum has been submitted."]
20758					Submitted {
20759						index: ::core::primitive::u32,
20760						track: ::core::primitive::u16,
20761						proposal: runtime_types::frame_support::traits::preimages::Bounded<
20762							runtime_types::quantus_runtime::RuntimeCall,
20763							runtime_types::poseidon_resonance::PoseidonHasher,
20764						>,
20765					},
20766					#[codec(index = 1)]
20767					#[doc = "The decision deposit has been placed."]
20768					DecisionDepositPlaced {
20769						index: ::core::primitive::u32,
20770						who: ::subxt::ext::subxt_core::utils::AccountId32,
20771						amount: ::core::primitive::u128,
20772					},
20773					#[codec(index = 2)]
20774					#[doc = "The decision deposit has been refunded."]
20775					DecisionDepositRefunded {
20776						index: ::core::primitive::u32,
20777						who: ::subxt::ext::subxt_core::utils::AccountId32,
20778						amount: ::core::primitive::u128,
20779					},
20780					#[codec(index = 3)]
20781					#[doc = "A deposit has been slashed."]
20782					DepositSlashed {
20783						who: ::subxt::ext::subxt_core::utils::AccountId32,
20784						amount: ::core::primitive::u128,
20785					},
20786					#[codec(index = 4)]
20787					#[doc = "A referendum has moved into the deciding phase."]
20788					DecisionStarted {
20789						index: ::core::primitive::u32,
20790						track: ::core::primitive::u16,
20791						proposal: runtime_types::frame_support::traits::preimages::Bounded<
20792							runtime_types::quantus_runtime::RuntimeCall,
20793							runtime_types::poseidon_resonance::PoseidonHasher,
20794						>,
20795						tally: runtime_types::pallet_ranked_collective::Tally,
20796					},
20797					#[codec(index = 5)]
20798					ConfirmStarted { index: ::core::primitive::u32 },
20799					#[codec(index = 6)]
20800					ConfirmAborted { index: ::core::primitive::u32 },
20801					#[codec(index = 7)]
20802					#[doc = "A referendum has ended its confirmation phase and is ready for approval."]
20803					Confirmed {
20804						index: ::core::primitive::u32,
20805						tally: runtime_types::pallet_ranked_collective::Tally,
20806					},
20807					#[codec(index = 8)]
20808					#[doc = "A referendum has been approved and its proposal has been scheduled."]
20809					Approved { index: ::core::primitive::u32 },
20810					#[codec(index = 9)]
20811					#[doc = "A proposal has been rejected by referendum."]
20812					Rejected {
20813						index: ::core::primitive::u32,
20814						tally: runtime_types::pallet_ranked_collective::Tally,
20815					},
20816					#[codec(index = 10)]
20817					#[doc = "A referendum has been timed out without being decided."]
20818					TimedOut {
20819						index: ::core::primitive::u32,
20820						tally: runtime_types::pallet_ranked_collective::Tally,
20821					},
20822					#[codec(index = 11)]
20823					#[doc = "A referendum has been cancelled."]
20824					Cancelled {
20825						index: ::core::primitive::u32,
20826						tally: runtime_types::pallet_ranked_collective::Tally,
20827					},
20828					#[codec(index = 12)]
20829					#[doc = "A referendum has been killed."]
20830					Killed {
20831						index: ::core::primitive::u32,
20832						tally: runtime_types::pallet_ranked_collective::Tally,
20833					},
20834					#[codec(index = 13)]
20835					#[doc = "The submission deposit has been refunded."]
20836					SubmissionDepositRefunded {
20837						index: ::core::primitive::u32,
20838						who: ::subxt::ext::subxt_core::utils::AccountId32,
20839						amount: ::core::primitive::u128,
20840					},
20841					#[codec(index = 14)]
20842					#[doc = "Metadata for a referendum has been set."]
20843					MetadataSet {
20844						index: ::core::primitive::u32,
20845						hash: ::subxt::ext::subxt_core::utils::H256,
20846					},
20847					#[codec(index = 15)]
20848					#[doc = "Metadata for a referendum has been cleared."]
20849					MetadataCleared {
20850						index: ::core::primitive::u32,
20851						hash: ::subxt::ext::subxt_core::utils::H256,
20852					},
20853				}
20854			}
20855			pub mod types {
20856				use super::runtime_types;
20857				#[derive(
20858					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20859					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20860					Debug,
20861				)]
20862				#[decode_as_type(
20863					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20864				)]
20865				#[encode_as_type(
20866					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20867				)]
20868				pub enum Curve {
20869					#[codec(index = 0)]
20870					LinearDecreasing {
20871						length: runtime_types::sp_arithmetic::per_things::Perbill,
20872						floor: runtime_types::sp_arithmetic::per_things::Perbill,
20873						ceil: runtime_types::sp_arithmetic::per_things::Perbill,
20874					},
20875					#[codec(index = 1)]
20876					SteppedDecreasing {
20877						begin: runtime_types::sp_arithmetic::per_things::Perbill,
20878						end: runtime_types::sp_arithmetic::per_things::Perbill,
20879						step: runtime_types::sp_arithmetic::per_things::Perbill,
20880						period: runtime_types::sp_arithmetic::per_things::Perbill,
20881					},
20882					#[codec(index = 2)]
20883					Reciprocal {
20884						factor: runtime_types::sp_arithmetic::fixed_point::FixedI64,
20885						x_offset: runtime_types::sp_arithmetic::fixed_point::FixedI64,
20886						y_offset: runtime_types::sp_arithmetic::fixed_point::FixedI64,
20887					},
20888				}
20889				#[derive(
20890					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20891					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20892					Debug,
20893				)]
20894				#[decode_as_type(
20895					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20896				)]
20897				#[encode_as_type(
20898					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20899				)]
20900				pub struct DecidingStatus<_0> {
20901					pub since: _0,
20902					pub confirming: ::core::option::Option<_0>,
20903				}
20904				#[derive(
20905					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20906					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20907					Debug,
20908				)]
20909				#[decode_as_type(
20910					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20911				)]
20912				#[encode_as_type(
20913					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20914				)]
20915				pub struct Deposit<_0, _1> {
20916					pub who: _0,
20917					pub amount: _1,
20918				}
20919				#[derive(
20920					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20921					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20922					Debug,
20923				)]
20924				#[decode_as_type(
20925					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20926				)]
20927				#[encode_as_type(
20928					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20929				)]
20930				pub enum ReferendumInfo<_0, _1, _2, _3, _4, _5, _6, _7> {
20931					#[codec(index = 0)]
20932					Ongoing(
20933						runtime_types::pallet_referenda::types::ReferendumStatus<
20934							_0,
20935							_1,
20936							_2,
20937							_3,
20938							_4,
20939							_5,
20940							_6,
20941							_7,
20942						>,
20943					),
20944					#[codec(index = 1)]
20945					Approved(
20946						_2,
20947						::core::option::Option<
20948							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
20949						>,
20950						::core::option::Option<
20951							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
20952						>,
20953					),
20954					#[codec(index = 2)]
20955					Rejected(
20956						_2,
20957						::core::option::Option<
20958							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
20959						>,
20960						::core::option::Option<
20961							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
20962						>,
20963					),
20964					#[codec(index = 3)]
20965					Cancelled(
20966						_2,
20967						::core::option::Option<
20968							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
20969						>,
20970						::core::option::Option<
20971							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
20972						>,
20973					),
20974					#[codec(index = 4)]
20975					TimedOut(
20976						_2,
20977						::core::option::Option<
20978							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
20979						>,
20980						::core::option::Option<
20981							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
20982						>,
20983					),
20984					#[codec(index = 5)]
20985					Killed(_2),
20986				}
20987				#[derive(
20988					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20989					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20990					Debug,
20991				)]
20992				#[decode_as_type(
20993					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20994				)]
20995				#[encode_as_type(
20996					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20997				)]
20998				pub struct ReferendumStatus<_0, _1, _2, _3, _4, _5, _6, _7> {
20999					pub track: _0,
21000					pub origin: _1,
21001					pub proposal: _3,
21002					pub enactment: runtime_types::frame_support::traits::schedule::DispatchTime<_2>,
21003					pub submitted: _2,
21004					pub submission_deposit: runtime_types::pallet_referenda::types::Deposit<_6, _4>,
21005					pub decision_deposit: ::core::option::Option<
21006						runtime_types::pallet_referenda::types::Deposit<_6, _4>,
21007					>,
21008					pub deciding: ::core::option::Option<
21009						runtime_types::pallet_referenda::types::DecidingStatus<_2>,
21010					>,
21011					pub tally: _5,
21012					pub in_queue: ::core::primitive::bool,
21013					pub alarm: ::core::option::Option<(_2, _7)>,
21014				}
21015				#[derive(
21016					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21017					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21018					Debug,
21019				)]
21020				#[decode_as_type(
21021					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21022				)]
21023				#[encode_as_type(
21024					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21025				)]
21026				pub struct TrackDetails<_0, _1, _2> {
21027					pub name: _2,
21028					pub max_deciding: ::core::primitive::u32,
21029					pub decision_deposit: _0,
21030					pub prepare_period: _1,
21031					pub decision_period: _1,
21032					pub confirm_period: _1,
21033					pub min_enactment_period: _1,
21034					pub min_approval: runtime_types::pallet_referenda::types::Curve,
21035					pub min_support: runtime_types::pallet_referenda::types::Curve,
21036				}
21037			}
21038		}
21039		pub mod pallet_reversible_transfers {
21040			use super::runtime_types;
21041			pub mod pallet {
21042				use super::runtime_types;
21043				#[derive(
21044					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21045					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21046					Debug,
21047				)]
21048				#[decode_as_type(
21049					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21050				)]
21051				#[encode_as_type(
21052					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21053				)]
21054				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
21055				pub enum Call {
21056					#[codec(index = 0)]
21057					#[doc = "Enable high-security for the calling account with a specified"]
21058					#[doc = "reversibility delay."]
21059					#[doc = ""]
21060					#[doc = "Recoverer and interceptor (aka guardian) could be the same account or"]
21061					#[doc = "different accounts."]
21062					#[doc = ""]
21063					#[doc = "Once an account is set as high security it can only make reversible"]
21064					#[doc = "transfers. It is not allowed any other calls."]
21065					#[doc = ""]
21066					#[doc = "- `delay`: The reversibility time for any transfer made by the high"]
21067					#[doc = "security account."]
21068					#[doc = "- interceptor: The account that can intercept transctions from the"]
21069					#[doc = "high security account."]
21070					#[doc = "- recoverer: Account that can recover (act as proxy to) the high security"]
21071					#[doc = "account"]
21072					set_high_security {
21073						delay: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21074							::core::primitive::u32,
21075							::core::primitive::u64,
21076						>,
21077						interceptor: ::subxt::ext::subxt_core::utils::AccountId32,
21078					},
21079					#[codec(index = 1)]
21080					#[doc = "Cancel a pending reversible transaction scheduled by the caller."]
21081					#[doc = ""]
21082					#[doc = "- `tx_id`: The unique identifier of the transaction to cancel."]
21083					cancel { tx_id: ::subxt::ext::subxt_core::utils::H256 },
21084					#[codec(index = 2)]
21085					#[doc = "Called by the Scheduler to finalize the scheduled task/call"]
21086					#[doc = ""]
21087					#[doc = "- `tx_id`: The unique id of the transaction to finalize and dispatch."]
21088					execute_transfer { tx_id: ::subxt::ext::subxt_core::utils::H256 },
21089					#[codec(index = 3)]
21090					#[doc = "Schedule a transaction for delayed execution."]
21091					schedule_transfer {
21092						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
21093							::subxt::ext::subxt_core::utils::AccountId32,
21094							(),
21095						>,
21096						amount: ::core::primitive::u128,
21097					},
21098					#[codec(index = 4)]
21099					#[doc = "Schedule a transaction for delayed execution with a custom, one-time delay."]
21100					#[doc = ""]
21101					#[doc = "This can only be used by accounts that have *not* set up a persistent"]
21102					#[doc = "reversibility configuration with `set_reversibility`."]
21103					#[doc = ""]
21104					#[doc = "- `delay`: The time (in blocks or milliseconds) before the transaction executes."]
21105					schedule_transfer_with_delay {
21106						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
21107							::subxt::ext::subxt_core::utils::AccountId32,
21108							(),
21109						>,
21110						amount: ::core::primitive::u128,
21111						delay: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21112							::core::primitive::u32,
21113							::core::primitive::u64,
21114						>,
21115					},
21116				}
21117				#[derive(
21118					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21119					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21120					Debug,
21121				)]
21122				#[decode_as_type(
21123					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21124				)]
21125				#[encode_as_type(
21126					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21127				)]
21128				#[doc = "The `Error` enum of this pallet."]
21129				pub enum Error {
21130					#[codec(index = 0)]
21131					#[doc = "The account attempting to enable reversibility is already marked as reversible."]
21132					AccountAlreadyHighSecurity,
21133					#[codec(index = 1)]
21134					#[doc = "The account attempting the action is not marked as high security."]
21135					AccountNotHighSecurity,
21136					#[codec(index = 2)]
21137					#[doc = "Interceptor can not be the account itself, because it is redundant."]
21138					InterceptorCannotBeSelf,
21139					#[codec(index = 3)]
21140					#[doc = "Recoverer cannot be the account itself, because it is redundant."]
21141					RecovererCannotBeSelf,
21142					#[codec(index = 4)]
21143					#[doc = "The specified pending transaction ID was not found."]
21144					PendingTxNotFound,
21145					#[codec(index = 5)]
21146					#[doc = "The caller is not the original submitter of the transaction they are trying to cancel."]
21147					NotOwner,
21148					#[codec(index = 6)]
21149					#[doc = "The account has reached the maximum number of pending reversible transactions."]
21150					TooManyPendingTransactions,
21151					#[codec(index = 7)]
21152					#[doc = "The specified delay period is below the configured minimum."]
21153					DelayTooShort,
21154					#[codec(index = 8)]
21155					#[doc = "Failed to schedule the transaction execution with the scheduler pallet."]
21156					SchedulingFailed,
21157					#[codec(index = 9)]
21158					#[doc = "Failed to cancel the scheduled task with the scheduler pallet."]
21159					CancellationFailed,
21160					#[codec(index = 10)]
21161					#[doc = "Failed to decode the OpaqueCall back into a RuntimeCall."]
21162					CallDecodingFailed,
21163					#[codec(index = 11)]
21164					#[doc = "Call is invalid."]
21165					InvalidCall,
21166					#[codec(index = 12)]
21167					#[doc = "Invalid scheduler origin"]
21168					InvalidSchedulerOrigin,
21169					#[codec(index = 13)]
21170					#[doc = "Reverser is invalid"]
21171					InvalidReverser,
21172					#[codec(index = 14)]
21173					#[doc = "Cannot schedule one time reversible transaction when account is reversible (theft"]
21174					#[doc = "deterrence)"]
21175					AccountAlreadyReversibleCannotScheduleOneTime,
21176					#[codec(index = 15)]
21177					#[doc = "The interceptor has reached the maximum number of accounts they can intercept for."]
21178					TooManyInterceptorAccounts,
21179				}
21180				#[derive(
21181					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21182					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21183					Debug,
21184				)]
21185				#[decode_as_type(
21186					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21187				)]
21188				#[encode_as_type(
21189					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21190				)]
21191				#[doc = "The `Event` enum of this pallet"]
21192				pub enum Event {
21193					#[codec(index = 0)]
21194					#[doc = "A user has enabled their high-security settings."]
21195					#[doc = "[who, interceptor, recoverer, delay]"]
21196					HighSecuritySet {
21197						who: ::subxt::ext::subxt_core::utils::AccountId32,
21198						interceptor: ::subxt::ext::subxt_core::utils::AccountId32,
21199						delay: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21200							::core::primitive::u32,
21201							::core::primitive::u64,
21202						>,
21203					},
21204					#[codec(index = 1)]
21205					#[doc = "A transaction has been intercepted and scheduled for delayed execution."]
21206					#[doc = "[from, to, interceptor, amount, tx_id, execute_at_moment]"]
21207					TransactionScheduled {
21208						from: ::subxt::ext::subxt_core::utils::AccountId32,
21209						to: ::subxt::ext::subxt_core::utils::AccountId32,
21210						interceptor: ::subxt::ext::subxt_core::utils::AccountId32,
21211						amount: ::core::primitive::u128,
21212						tx_id: ::subxt::ext::subxt_core::utils::H256,
21213						execute_at: runtime_types::qp_scheduler::DispatchTime<
21214							::core::primitive::u32,
21215							::core::primitive::u64,
21216						>,
21217					},
21218					#[codec(index = 2)]
21219					#[doc = "A scheduled transaction has been successfully cancelled by the owner."]
21220					#[doc = "[who, tx_id]"]
21221					TransactionCancelled {
21222						who: ::subxt::ext::subxt_core::utils::AccountId32,
21223						tx_id: ::subxt::ext::subxt_core::utils::H256,
21224					},
21225					#[codec(index = 3)]
21226					#[doc = "A scheduled transaction was executed by the scheduler."]
21227					#[doc = "[tx_id, dispatch_result]"]
21228					TransactionExecuted {
21229						tx_id: ::subxt::ext::subxt_core::utils::H256,
21230						result: ::core::result::Result<
21231							runtime_types::frame_support::dispatch::PostDispatchInfo,
21232							runtime_types::sp_runtime::DispatchErrorWithPostInfo<
21233								runtime_types::frame_support::dispatch::PostDispatchInfo,
21234							>,
21235						>,
21236					},
21237				}
21238				#[derive(
21239					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21240					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21241					Debug,
21242				)]
21243				#[decode_as_type(
21244					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21245				)]
21246				#[encode_as_type(
21247					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21248				)]
21249				pub enum HoldReason {
21250					#[codec(index = 0)]
21251					ScheduledTransfer,
21252				}
21253			}
21254			#[derive(
21255				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21256				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21257				Debug,
21258			)]
21259			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21260			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21261			pub struct HighSecurityAccountData<_0, _1> {
21262				pub interceptor: _0,
21263				pub delay: _1,
21264			}
21265			#[derive(
21266				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21267				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21268				Debug,
21269			)]
21270			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21271			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21272			pub struct PendingTransfer<_0, _1, _2> {
21273				pub from: _0,
21274				pub to: _0,
21275				pub interceptor: _0,
21276				pub call: _2,
21277				pub amount: _1,
21278			}
21279		}
21280		pub mod pallet_scheduler {
21281			use super::runtime_types;
21282			pub mod pallet {
21283				use super::runtime_types;
21284				#[derive(
21285					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21286					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21287					Debug,
21288				)]
21289				#[decode_as_type(
21290					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21291				)]
21292				#[encode_as_type(
21293					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21294				)]
21295				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
21296				pub enum Call {
21297					#[codec(index = 0)]
21298					#[doc = "Anonymously schedule a task."]
21299					schedule {
21300						when: ::core::primitive::u32,
21301						maybe_periodic: ::core::option::Option<(
21302							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21303								::core::primitive::u32,
21304								::core::primitive::u64,
21305							>,
21306							::core::primitive::u32,
21307						)>,
21308						priority: ::core::primitive::u8,
21309						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
21310							runtime_types::quantus_runtime::RuntimeCall,
21311						>,
21312					},
21313					#[codec(index = 1)]
21314					#[doc = "Cancel an anonymously scheduled task."]
21315					cancel {
21316						when: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21317							::core::primitive::u32,
21318							::core::primitive::u64,
21319						>,
21320						index: ::core::primitive::u32,
21321					},
21322					#[codec(index = 2)]
21323					#[doc = "Schedule a named task."]
21324					schedule_named {
21325						id: [::core::primitive::u8; 32usize],
21326						when: ::core::primitive::u32,
21327						maybe_periodic: ::core::option::Option<(
21328							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21329								::core::primitive::u32,
21330								::core::primitive::u64,
21331							>,
21332							::core::primitive::u32,
21333						)>,
21334						priority: ::core::primitive::u8,
21335						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
21336							runtime_types::quantus_runtime::RuntimeCall,
21337						>,
21338					},
21339					#[codec(index = 3)]
21340					#[doc = "Cancel a named scheduled task."]
21341					cancel_named { id: [::core::primitive::u8; 32usize] },
21342					#[codec(index = 4)]
21343					#[doc = "Anonymously schedule a task after a delay."]
21344					schedule_after {
21345						after: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21346							::core::primitive::u32,
21347							::core::primitive::u64,
21348						>,
21349						maybe_periodic: ::core::option::Option<(
21350							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21351								::core::primitive::u32,
21352								::core::primitive::u64,
21353							>,
21354							::core::primitive::u32,
21355						)>,
21356						priority: ::core::primitive::u8,
21357						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
21358							runtime_types::quantus_runtime::RuntimeCall,
21359						>,
21360					},
21361					#[codec(index = 5)]
21362					#[doc = "Schedule a named task after a delay."]
21363					schedule_named_after {
21364						id: [::core::primitive::u8; 32usize],
21365						after: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21366							::core::primitive::u32,
21367							::core::primitive::u64,
21368						>,
21369						maybe_periodic: ::core::option::Option<(
21370							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21371								::core::primitive::u32,
21372								::core::primitive::u64,
21373							>,
21374							::core::primitive::u32,
21375						)>,
21376						priority: ::core::primitive::u8,
21377						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
21378							runtime_types::quantus_runtime::RuntimeCall,
21379						>,
21380					},
21381					#[codec(index = 6)]
21382					#[doc = "Set a retry configuration for a task so that, in case its scheduled run fails, it will"]
21383					#[doc = "be retried after `period` blocks, for a total amount of `retries` retries or until it"]
21384					#[doc = "succeeds."]
21385					#[doc = ""]
21386					#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
21387					#[doc = "agenda space, same as a regular task. If a periodic task fails, it will be scheduled"]
21388					#[doc = "normally while the task is retrying."]
21389					#[doc = ""]
21390					#[doc = "Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic"]
21391					#[doc = "clones of the original task. Their retry configuration will be derived from the"]
21392					#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
21393					#[doc = "original `total_retries`."]
21394					set_retry {
21395						task: (
21396							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21397								::core::primitive::u32,
21398								::core::primitive::u64,
21399							>,
21400							::core::primitive::u32,
21401						),
21402						retries: ::core::primitive::u8,
21403						period: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21404							::core::primitive::u32,
21405							::core::primitive::u64,
21406						>,
21407					},
21408					#[codec(index = 7)]
21409					#[doc = "Set a retry configuration for a named task so that, in case its scheduled run fails, it"]
21410					#[doc = "will be retried after `period` blocks, for a total amount of `retries` retries or until"]
21411					#[doc = "it succeeds."]
21412					#[doc = ""]
21413					#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
21414					#[doc = "agenda space, same as a regular task. If a periodic task fails, it will be scheduled"]
21415					#[doc = "normally while the task is retrying."]
21416					#[doc = ""]
21417					#[doc = "Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic"]
21418					#[doc = "clones of the original task. Their retry configuration will be derived from the"]
21419					#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
21420					#[doc = "original `total_retries`."]
21421					set_retry_named {
21422						id: [::core::primitive::u8; 32usize],
21423						retries: ::core::primitive::u8,
21424						period: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21425							::core::primitive::u32,
21426							::core::primitive::u64,
21427						>,
21428					},
21429					#[codec(index = 8)]
21430					#[doc = "Removes the retry configuration of a task."]
21431					cancel_retry {
21432						task: (
21433							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21434								::core::primitive::u32,
21435								::core::primitive::u64,
21436							>,
21437							::core::primitive::u32,
21438						),
21439					},
21440					#[codec(index = 9)]
21441					#[doc = "Cancel the retry configuration of a named task."]
21442					cancel_retry_named { id: [::core::primitive::u8; 32usize] },
21443				}
21444				#[derive(
21445					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21446					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21447					Debug,
21448				)]
21449				#[decode_as_type(
21450					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21451				)]
21452				#[encode_as_type(
21453					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21454				)]
21455				#[doc = "The `Error` enum of this pallet."]
21456				pub enum Error {
21457					#[codec(index = 0)]
21458					#[doc = "Failed to schedule a call"]
21459					FailedToSchedule,
21460					#[codec(index = 1)]
21461					#[doc = "Cannot find the scheduled call."]
21462					NotFound,
21463					#[codec(index = 2)]
21464					#[doc = "Given target block number is in the past."]
21465					TargetBlockNumberInPast,
21466					#[codec(index = 3)]
21467					#[doc = "Given target timestamp is in the past."]
21468					TargetTimestampInPast,
21469					#[codec(index = 4)]
21470					#[doc = "Reschedule failed because it does not change scheduled time."]
21471					RescheduleNoChange,
21472					#[codec(index = 5)]
21473					#[doc = "Attempt to use a non-named function on a named task."]
21474					Named,
21475				}
21476				#[derive(
21477					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21478					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21479					Debug,
21480				)]
21481				#[decode_as_type(
21482					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21483				)]
21484				#[encode_as_type(
21485					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21486				)]
21487				#[doc = "Events type."]
21488				pub enum Event {
21489					#[codec(index = 0)]
21490					#[doc = "Scheduled some task."]
21491					Scheduled {
21492						when: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21493							::core::primitive::u32,
21494							::core::primitive::u64,
21495						>,
21496						index: ::core::primitive::u32,
21497					},
21498					#[codec(index = 1)]
21499					#[doc = "Canceled some task."]
21500					Canceled {
21501						when: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21502							::core::primitive::u32,
21503							::core::primitive::u64,
21504						>,
21505						index: ::core::primitive::u32,
21506					},
21507					#[codec(index = 2)]
21508					#[doc = "Dispatched some task."]
21509					Dispatched {
21510						task: (
21511							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21512								::core::primitive::u32,
21513								::core::primitive::u64,
21514							>,
21515							::core::primitive::u32,
21516						),
21517						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
21518						result:
21519							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
21520					},
21521					#[codec(index = 3)]
21522					#[doc = "Set a retry configuration for some task."]
21523					RetrySet {
21524						task: (
21525							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21526								::core::primitive::u32,
21527								::core::primitive::u64,
21528							>,
21529							::core::primitive::u32,
21530						),
21531						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
21532						period: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21533							::core::primitive::u32,
21534							::core::primitive::u64,
21535						>,
21536						retries: ::core::primitive::u8,
21537					},
21538					#[codec(index = 4)]
21539					#[doc = "Cancel a retry configuration for some task."]
21540					RetryCancelled {
21541						task: (
21542							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21543								::core::primitive::u32,
21544								::core::primitive::u64,
21545							>,
21546							::core::primitive::u32,
21547						),
21548						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
21549					},
21550					#[codec(index = 5)]
21551					#[doc = "The call for the provided hash was not found so the task has been aborted."]
21552					CallUnavailable {
21553						task: (
21554							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21555								::core::primitive::u32,
21556								::core::primitive::u64,
21557							>,
21558							::core::primitive::u32,
21559						),
21560						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
21561					},
21562					#[codec(index = 6)]
21563					#[doc = "The given task was unable to be renewed since the agenda is full at that block."]
21564					PeriodicFailed {
21565						task: (
21566							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21567								::core::primitive::u32,
21568								::core::primitive::u64,
21569							>,
21570							::core::primitive::u32,
21571						),
21572						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
21573					},
21574					#[codec(index = 7)]
21575					#[doc = "The given task was unable to be retried since the agenda is full at that block or there"]
21576					#[doc = "was not enough weight to reschedule it."]
21577					RetryFailed {
21578						task: (
21579							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21580								::core::primitive::u32,
21581								::core::primitive::u64,
21582							>,
21583							::core::primitive::u32,
21584						),
21585						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
21586					},
21587					#[codec(index = 8)]
21588					#[doc = "The given task can never be executed since it is overweight."]
21589					PermanentlyOverweight {
21590						task: (
21591							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
21592								::core::primitive::u32,
21593								::core::primitive::u64,
21594							>,
21595							::core::primitive::u32,
21596						),
21597						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
21598					},
21599				}
21600			}
21601			#[derive(
21602				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21603				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21604				Debug,
21605			)]
21606			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21607			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21608			pub struct RetryConfig<_0> {
21609				pub total_retries: ::core::primitive::u8,
21610				pub remaining: ::core::primitive::u8,
21611				pub period: _0,
21612			}
21613			#[derive(
21614				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21615				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21616				Debug,
21617			)]
21618			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21619			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21620			pub struct Scheduled<_0, _1, _2, _3, _4, _5> {
21621				pub maybe_id: ::core::option::Option<_0>,
21622				pub priority: ::core::primitive::u8,
21623				pub call: _1,
21624				pub maybe_periodic: ::core::option::Option<(
21625					runtime_types::qp_scheduler::BlockNumberOrTimestamp<_2, _5>,
21626					_2,
21627				)>,
21628				pub origin: _3,
21629				#[codec(skip)]
21630				pub __ignore: ::core::marker::PhantomData<_4>,
21631			}
21632		}
21633		pub mod pallet_sudo {
21634			use super::runtime_types;
21635			pub mod pallet {
21636				use super::runtime_types;
21637				#[derive(
21638					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21639					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21640					Debug,
21641				)]
21642				#[decode_as_type(
21643					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21644				)]
21645				#[encode_as_type(
21646					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21647				)]
21648				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
21649				pub enum Call {
21650					#[codec(index = 0)]
21651					#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
21652					sudo {
21653						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
21654							runtime_types::quantus_runtime::RuntimeCall,
21655						>,
21656					},
21657					#[codec(index = 1)]
21658					#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
21659					#[doc = "This function does not check the weight of the call, and instead allows the"]
21660					#[doc = "Sudo user to specify the weight of the call."]
21661					#[doc = ""]
21662					#[doc = "The dispatch origin for this call must be _Signed_."]
21663					sudo_unchecked_weight {
21664						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
21665							runtime_types::quantus_runtime::RuntimeCall,
21666						>,
21667						weight: runtime_types::sp_weights::weight_v2::Weight,
21668					},
21669					#[codec(index = 2)]
21670					#[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"]
21671					#[doc = "key."]
21672					set_key {
21673						new: ::subxt::ext::subxt_core::utils::MultiAddress<
21674							::subxt::ext::subxt_core::utils::AccountId32,
21675							(),
21676						>,
21677					},
21678					#[codec(index = 3)]
21679					#[doc = "Authenticates the sudo key and dispatches a function call with `Signed` origin from"]
21680					#[doc = "a given account."]
21681					#[doc = ""]
21682					#[doc = "The dispatch origin for this call must be _Signed_."]
21683					sudo_as {
21684						who: ::subxt::ext::subxt_core::utils::MultiAddress<
21685							::subxt::ext::subxt_core::utils::AccountId32,
21686							(),
21687						>,
21688						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
21689							runtime_types::quantus_runtime::RuntimeCall,
21690						>,
21691					},
21692					#[codec(index = 4)]
21693					#[doc = "Permanently removes the sudo key."]
21694					#[doc = ""]
21695					#[doc = "**This cannot be un-done.**"]
21696					remove_key,
21697				}
21698				#[derive(
21699					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21700					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21701					Debug,
21702				)]
21703				#[decode_as_type(
21704					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21705				)]
21706				#[encode_as_type(
21707					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21708				)]
21709				#[doc = "Error for the Sudo pallet."]
21710				pub enum Error {
21711					#[codec(index = 0)]
21712					#[doc = "Sender must be the Sudo account."]
21713					RequireSudo,
21714				}
21715				#[derive(
21716					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21717					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21718					Debug,
21719				)]
21720				#[decode_as_type(
21721					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21722				)]
21723				#[encode_as_type(
21724					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21725				)]
21726				#[doc = "The `Event` enum of this pallet"]
21727				pub enum Event {
21728					#[codec(index = 0)]
21729					#[doc = "A sudo call just took place."]
21730					Sudid {
21731						sudo_result:
21732							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
21733					},
21734					#[codec(index = 1)]
21735					#[doc = "The sudo key has been updated."]
21736					KeyChanged {
21737						old: ::core::option::Option<::subxt::ext::subxt_core::utils::AccountId32>,
21738						new: ::subxt::ext::subxt_core::utils::AccountId32,
21739					},
21740					#[codec(index = 2)]
21741					#[doc = "The key was permanently removed."]
21742					KeyRemoved,
21743					#[codec(index = 3)]
21744					#[doc = "A [sudo_as](Pallet::sudo_as) call just took place."]
21745					SudoAsDone {
21746						sudo_result:
21747							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
21748					},
21749				}
21750			}
21751		}
21752		pub mod pallet_timestamp {
21753			use super::runtime_types;
21754			pub mod pallet {
21755				use super::runtime_types;
21756				#[derive(
21757					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21758					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21759					Debug,
21760				)]
21761				#[decode_as_type(
21762					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21763				)]
21764				#[encode_as_type(
21765					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21766				)]
21767				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
21768				pub enum Call {
21769					#[codec(index = 0)]
21770					#[doc = "Set the current time."]
21771					#[doc = ""]
21772					#[doc = "This call should be invoked exactly once per block. It will panic at the finalization"]
21773					#[doc = "phase, if this call hasn't been invoked by that time."]
21774					#[doc = ""]
21775					#[doc = "The timestamp should be greater than the previous one by the amount specified by"]
21776					#[doc = "[`Config::MinimumPeriod`]."]
21777					#[doc = ""]
21778					#[doc = "The dispatch origin for this call must be _None_."]
21779					#[doc = ""]
21780					#[doc = "This dispatch class is _Mandatory_ to ensure it gets executed in the block. Be aware"]
21781					#[doc = "that changing the complexity of this call could result exhausting the resources in a"]
21782					#[doc = "block to execute any other calls."]
21783					#[doc = ""]
21784					#[doc = "## Complexity"]
21785					#[doc = "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)"]
21786					#[doc = "- 1 storage read and 1 storage mutation (codec `O(1)` because of `DidUpdate::take` in"]
21787					#[doc = "  `on_finalize`)"]
21788					#[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."]
21789					set {
21790						#[codec(compact)]
21791						now: ::core::primitive::u64,
21792					},
21793				}
21794			}
21795		}
21796		pub mod pallet_transaction_payment {
21797			use super::runtime_types;
21798			pub mod pallet {
21799				use super::runtime_types;
21800				#[derive(
21801					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21802					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21803					Debug,
21804				)]
21805				#[decode_as_type(
21806					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21807				)]
21808				#[encode_as_type(
21809					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21810				)]
21811				#[doc = "The `Event` enum of this pallet"]
21812				pub enum Event {
21813					#[codec(index = 0)]
21814					#[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"]
21815					#[doc = "has been paid by `who`."]
21816					TransactionFeePaid {
21817						who: ::subxt::ext::subxt_core::utils::AccountId32,
21818						actual_fee: ::core::primitive::u128,
21819						tip: ::core::primitive::u128,
21820					},
21821				}
21822			}
21823			pub mod types {
21824				use super::runtime_types;
21825				#[derive(
21826					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21827					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21828					Debug,
21829				)]
21830				#[decode_as_type(
21831					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21832				)]
21833				#[encode_as_type(
21834					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21835				)]
21836				pub struct FeeDetails<_0> {
21837					pub inclusion_fee: ::core::option::Option<
21838						runtime_types::pallet_transaction_payment::types::InclusionFee<_0>,
21839					>,
21840					pub tip: _0,
21841				}
21842				#[derive(
21843					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21844					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21845					Debug,
21846				)]
21847				#[decode_as_type(
21848					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21849				)]
21850				#[encode_as_type(
21851					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21852				)]
21853				pub struct InclusionFee<_0> {
21854					pub base_fee: _0,
21855					pub len_fee: _0,
21856					pub adjusted_weight_fee: _0,
21857				}
21858				#[derive(
21859					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21860					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21861					Debug,
21862				)]
21863				#[decode_as_type(
21864					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21865				)]
21866				#[encode_as_type(
21867					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21868				)]
21869				pub struct RuntimeDispatchInfo<_0, _1> {
21870					pub weight: _1,
21871					pub class: runtime_types::frame_support::dispatch::DispatchClass,
21872					pub partial_fee: _0,
21873				}
21874			}
21875			#[derive(
21876				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21877				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21878				Debug,
21879			)]
21880			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21881			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21882			pub struct ChargeTransactionPayment(#[codec(compact)] pub ::core::primitive::u128);
21883			#[derive(
21884				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21885				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21886				Debug,
21887			)]
21888			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21889			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21890			pub enum Releases {
21891				#[codec(index = 0)]
21892				V1Ancient,
21893				#[codec(index = 1)]
21894				V2,
21895			}
21896		}
21897		pub mod pallet_treasury {
21898			use super::runtime_types;
21899			pub mod pallet {
21900				use super::runtime_types;
21901				#[derive(
21902					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21903					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21904					Debug,
21905				)]
21906				#[decode_as_type(
21907					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21908				)]
21909				#[encode_as_type(
21910					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21911				)]
21912				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
21913				pub enum Call {
21914					#[codec(index = 3)]
21915					#[doc = "Propose and approve a spend of treasury funds."]
21916					#[doc = ""]
21917					#[doc = "## Dispatch Origin"]
21918					#[doc = ""]
21919					#[doc = "Must be [`Config::SpendOrigin`] with the `Success` value being at least `amount`."]
21920					#[doc = ""]
21921					#[doc = "### Details"]
21922					#[doc = "NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the"]
21923					#[doc = "beneficiary."]
21924					#[doc = ""]
21925					#[doc = "### Parameters"]
21926					#[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."]
21927					#[doc = "- `beneficiary`: The destination account for the transfer."]
21928					#[doc = ""]
21929					#[doc = "## Events"]
21930					#[doc = ""]
21931					#[doc = "Emits [`Event::SpendApproved`] if successful."]
21932					spend_local {
21933						#[codec(compact)]
21934						amount: ::core::primitive::u128,
21935						beneficiary: ::subxt::ext::subxt_core::utils::MultiAddress<
21936							::subxt::ext::subxt_core::utils::AccountId32,
21937							(),
21938						>,
21939					},
21940					#[codec(index = 4)]
21941					#[doc = "Force a previously approved proposal to be removed from the approval queue."]
21942					#[doc = ""]
21943					#[doc = "## Dispatch Origin"]
21944					#[doc = ""]
21945					#[doc = "Must be [`Config::RejectOrigin`]."]
21946					#[doc = ""]
21947					#[doc = "## Details"]
21948					#[doc = ""]
21949					#[doc = "The original deposit will no longer be returned."]
21950					#[doc = ""]
21951					#[doc = "### Parameters"]
21952					#[doc = "- `proposal_id`: The index of a proposal"]
21953					#[doc = ""]
21954					#[doc = "### Complexity"]
21955					#[doc = "- O(A) where `A` is the number of approvals"]
21956					#[doc = ""]
21957					#[doc = "### Errors"]
21958					#[doc = "- [`Error::ProposalNotApproved`]: The `proposal_id` supplied was not found in the"]
21959					#[doc = "  approval queue, i.e., the proposal has not been approved. This could also mean the"]
21960					#[doc = "  proposal does not exist altogether, thus there is no way it would have been approved"]
21961					#[doc = "  in the first place."]
21962					remove_approval {
21963						#[codec(compact)]
21964						proposal_id: ::core::primitive::u32,
21965					},
21966					#[codec(index = 5)]
21967					#[doc = "Propose and approve a spend of treasury funds."]
21968					#[doc = ""]
21969					#[doc = "## Dispatch Origin"]
21970					#[doc = ""]
21971					#[doc = "Must be [`Config::SpendOrigin`] with the `Success` value being at least"]
21972					#[doc = "`amount` of `asset_kind` in the native asset. The amount of `asset_kind` is converted"]
21973					#[doc = "for assertion using the [`Config::BalanceConverter`]."]
21974					#[doc = ""]
21975					#[doc = "## Details"]
21976					#[doc = ""]
21977					#[doc = "Create an approved spend for transferring a specific `amount` of `asset_kind` to a"]
21978					#[doc = "designated beneficiary. The spend must be claimed using the `payout` dispatchable within"]
21979					#[doc = "the [`Config::PayoutPeriod`]."]
21980					#[doc = ""]
21981					#[doc = "### Parameters"]
21982					#[doc = "- `asset_kind`: An indicator of the specific asset class to be spent."]
21983					#[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."]
21984					#[doc = "- `beneficiary`: The beneficiary of the spend."]
21985					#[doc = "- `valid_from`: The block number from which the spend can be claimed. It can refer to"]
21986					#[doc = "  the past if the resulting spend has not yet expired according to the"]
21987					#[doc = "  [`Config::PayoutPeriod`]. If `None`, the spend can be claimed immediately after"]
21988					#[doc = "  approval."]
21989					#[doc = ""]
21990					#[doc = "## Events"]
21991					#[doc = ""]
21992					#[doc = "Emits [`Event::AssetSpendApproved`] if successful."]
21993					spend {
21994						asset_kind: ::subxt::ext::subxt_core::alloc::boxed::Box<()>,
21995						#[codec(compact)]
21996						amount: ::core::primitive::u128,
21997						beneficiary: ::subxt::ext::subxt_core::alloc::boxed::Box<
21998							::subxt::ext::subxt_core::utils::MultiAddress<
21999								::subxt::ext::subxt_core::utils::AccountId32,
22000								(),
22001							>,
22002						>,
22003						valid_from: ::core::option::Option<::core::primitive::u32>,
22004					},
22005					#[codec(index = 6)]
22006					#[doc = "Claim a spend."]
22007					#[doc = ""]
22008					#[doc = "## Dispatch Origin"]
22009					#[doc = ""]
22010					#[doc = "Must be signed"]
22011					#[doc = ""]
22012					#[doc = "## Details"]
22013					#[doc = ""]
22014					#[doc = "Spends must be claimed within some temporal bounds. A spend may be claimed within one"]
22015					#[doc = "[`Config::PayoutPeriod`] from the `valid_from` block."]
22016					#[doc = "In case of a payout failure, the spend status must be updated with the `check_status`"]
22017					#[doc = "dispatchable before retrying with the current function."]
22018					#[doc = ""]
22019					#[doc = "### Parameters"]
22020					#[doc = "- `index`: The spend index."]
22021					#[doc = ""]
22022					#[doc = "## Events"]
22023					#[doc = ""]
22024					#[doc = "Emits [`Event::Paid`] if successful."]
22025					payout { index: ::core::primitive::u32 },
22026					#[codec(index = 7)]
22027					#[doc = "Check the status of the spend and remove it from the storage if processed."]
22028					#[doc = ""]
22029					#[doc = "## Dispatch Origin"]
22030					#[doc = ""]
22031					#[doc = "Must be signed."]
22032					#[doc = ""]
22033					#[doc = "## Details"]
22034					#[doc = ""]
22035					#[doc = "The status check is a prerequisite for retrying a failed payout."]
22036					#[doc = "If a spend has either succeeded or expired, it is removed from the storage by this"]
22037					#[doc = "function. In such instances, transaction fees are refunded."]
22038					#[doc = ""]
22039					#[doc = "### Parameters"]
22040					#[doc = "- `index`: The spend index."]
22041					#[doc = ""]
22042					#[doc = "## Events"]
22043					#[doc = ""]
22044					#[doc = "Emits [`Event::PaymentFailed`] if the spend payout has failed."]
22045					#[doc = "Emits [`Event::SpendProcessed`] if the spend payout has succeed."]
22046					check_status { index: ::core::primitive::u32 },
22047					#[codec(index = 8)]
22048					#[doc = "Void previously approved spend."]
22049					#[doc = ""]
22050					#[doc = "## Dispatch Origin"]
22051					#[doc = ""]
22052					#[doc = "Must be [`Config::RejectOrigin`]."]
22053					#[doc = ""]
22054					#[doc = "## Details"]
22055					#[doc = ""]
22056					#[doc = "A spend void is only possible if the payout has not been attempted yet."]
22057					#[doc = ""]
22058					#[doc = "### Parameters"]
22059					#[doc = "- `index`: The spend index."]
22060					#[doc = ""]
22061					#[doc = "## Events"]
22062					#[doc = ""]
22063					#[doc = "Emits [`Event::AssetSpendVoided`] if successful."]
22064					void_spend { index: ::core::primitive::u32 },
22065				}
22066				#[derive(
22067					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22068					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22069					Debug,
22070				)]
22071				#[decode_as_type(
22072					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22073				)]
22074				#[encode_as_type(
22075					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22076				)]
22077				#[doc = "Error for the treasury pallet."]
22078				pub enum Error {
22079					#[codec(index = 0)]
22080					#[doc = "No proposal, bounty or spend at that index."]
22081					InvalidIndex,
22082					#[codec(index = 1)]
22083					#[doc = "Too many approvals in the queue."]
22084					TooManyApprovals,
22085					#[codec(index = 2)]
22086					#[doc = "The spend origin is valid but the amount it is allowed to spend is lower than the"]
22087					#[doc = "amount to be spent."]
22088					InsufficientPermission,
22089					#[codec(index = 3)]
22090					#[doc = "Proposal has not been approved."]
22091					ProposalNotApproved,
22092					#[codec(index = 4)]
22093					#[doc = "The balance of the asset kind is not convertible to the balance of the native asset."]
22094					FailedToConvertBalance,
22095					#[codec(index = 5)]
22096					#[doc = "The spend has expired and cannot be claimed."]
22097					SpendExpired,
22098					#[codec(index = 6)]
22099					#[doc = "The spend is not yet eligible for payout."]
22100					EarlyPayout,
22101					#[codec(index = 7)]
22102					#[doc = "The payment has already been attempted."]
22103					AlreadyAttempted,
22104					#[codec(index = 8)]
22105					#[doc = "There was some issue with the mechanism of payment."]
22106					PayoutError,
22107					#[codec(index = 9)]
22108					#[doc = "The payout was not yet attempted/claimed."]
22109					NotAttempted,
22110					#[codec(index = 10)]
22111					#[doc = "The payment has neither failed nor succeeded yet."]
22112					Inconclusive,
22113				}
22114				#[derive(
22115					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22116					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22117					Debug,
22118				)]
22119				#[decode_as_type(
22120					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22121				)]
22122				#[encode_as_type(
22123					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22124				)]
22125				#[doc = "The `Event` enum of this pallet"]
22126				pub enum Event {
22127					#[codec(index = 0)]
22128					#[doc = "We have ended a spend period and will now allocate funds."]
22129					Spending { budget_remaining: ::core::primitive::u128 },
22130					#[codec(index = 1)]
22131					#[doc = "Some funds have been allocated."]
22132					Awarded {
22133						proposal_index: ::core::primitive::u32,
22134						award: ::core::primitive::u128,
22135						account: ::subxt::ext::subxt_core::utils::AccountId32,
22136					},
22137					#[codec(index = 2)]
22138					#[doc = "Some of our funds have been burnt."]
22139					Burnt { burnt_funds: ::core::primitive::u128 },
22140					#[codec(index = 3)]
22141					#[doc = "Spending has finished; this is the amount that rolls over until next spend."]
22142					Rollover { rollover_balance: ::core::primitive::u128 },
22143					#[codec(index = 4)]
22144					#[doc = "Some funds have been deposited."]
22145					Deposit { value: ::core::primitive::u128 },
22146					#[codec(index = 5)]
22147					#[doc = "A new spend proposal has been approved."]
22148					SpendApproved {
22149						proposal_index: ::core::primitive::u32,
22150						amount: ::core::primitive::u128,
22151						beneficiary: ::subxt::ext::subxt_core::utils::AccountId32,
22152					},
22153					#[codec(index = 6)]
22154					#[doc = "The inactive funds of the pallet have been updated."]
22155					UpdatedInactive {
22156						reactivated: ::core::primitive::u128,
22157						deactivated: ::core::primitive::u128,
22158					},
22159					#[codec(index = 7)]
22160					#[doc = "A new asset spend proposal has been approved."]
22161					AssetSpendApproved {
22162						index: ::core::primitive::u32,
22163						asset_kind: (),
22164						amount: ::core::primitive::u128,
22165						beneficiary: ::subxt::ext::subxt_core::utils::AccountId32,
22166						valid_from: ::core::primitive::u32,
22167						expire_at: ::core::primitive::u32,
22168					},
22169					#[codec(index = 8)]
22170					#[doc = "An approved spend was voided."]
22171					AssetSpendVoided { index: ::core::primitive::u32 },
22172					#[codec(index = 9)]
22173					#[doc = "A payment happened."]
22174					Paid { index: ::core::primitive::u32, payment_id: ::core::primitive::u32 },
22175					#[codec(index = 10)]
22176					#[doc = "A payment failed and can be retried."]
22177					PaymentFailed {
22178						index: ::core::primitive::u32,
22179						payment_id: ::core::primitive::u32,
22180					},
22181					#[codec(index = 11)]
22182					#[doc = "A spend was processed and removed from the storage. It might have been successfully"]
22183					#[doc = "paid or it may have expired."]
22184					SpendProcessed { index: ::core::primitive::u32 },
22185				}
22186			}
22187			#[derive(
22188				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22189				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22190				Debug,
22191			)]
22192			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
22193			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
22194			pub enum PaymentState<_0> {
22195				#[codec(index = 0)]
22196				Pending,
22197				#[codec(index = 1)]
22198				Attempted { id: _0 },
22199				#[codec(index = 2)]
22200				Failed,
22201			}
22202			#[derive(
22203				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22204				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22205				Debug,
22206			)]
22207			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
22208			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
22209			pub struct Proposal<_0, _1> {
22210				pub proposer: _0,
22211				pub value: _1,
22212				pub beneficiary: _0,
22213				pub bond: _1,
22214			}
22215			#[derive(
22216				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22217				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22218				Debug,
22219			)]
22220			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
22221			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
22222			pub struct SpendStatus<_0, _1, _2, _3, _4> {
22223				pub asset_kind: _0,
22224				pub amount: _1,
22225				pub beneficiary: _2,
22226				pub valid_from: _3,
22227				pub expire_at: _3,
22228				pub status: runtime_types::pallet_treasury::PaymentState<_3>,
22229				#[codec(skip)]
22230				pub __ignore: ::core::marker::PhantomData<_4>,
22231			}
22232		}
22233		pub mod pallet_utility {
22234			use super::runtime_types;
22235			pub mod pallet {
22236				use super::runtime_types;
22237				#[derive(
22238					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22239					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22240					Debug,
22241				)]
22242				#[decode_as_type(
22243					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22244				)]
22245				#[encode_as_type(
22246					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22247				)]
22248				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
22249				pub enum Call {
22250					#[codec(index = 0)]
22251					#[doc = "Send a batch of dispatch calls."]
22252					#[doc = ""]
22253					#[doc = "May be called from any origin except `None`."]
22254					#[doc = ""]
22255					#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
22256					#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
22257					#[doc = ""]
22258					#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
22259					#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
22260					#[doc = ""]
22261					#[doc = "## Complexity"]
22262					#[doc = "- O(C) where C is the number of calls to be batched."]
22263					#[doc = ""]
22264					#[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"]
22265					#[doc = "event is deposited. If a call failed and the batch was interrupted, then the"]
22266					#[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"]
22267					#[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"]
22268					#[doc = "event is deposited."]
22269					batch {
22270						calls: ::subxt::ext::subxt_core::alloc::vec::Vec<
22271							runtime_types::quantus_runtime::RuntimeCall,
22272						>,
22273					},
22274					#[codec(index = 1)]
22275					#[doc = "Send a call through an indexed pseudonym of the sender."]
22276					#[doc = ""]
22277					#[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"]
22278					#[doc = "use the same filter as the origin of this call."]
22279					#[doc = ""]
22280					#[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."]
22281					#[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"]
22282					#[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"]
22283					#[doc = "in the Multisig pallet instead."]
22284					#[doc = ""]
22285					#[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."]
22286					#[doc = ""]
22287					#[doc = "The dispatch origin for this call must be _Signed_."]
22288					as_derivative {
22289						index: ::core::primitive::u16,
22290						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
22291							runtime_types::quantus_runtime::RuntimeCall,
22292						>,
22293					},
22294					#[codec(index = 2)]
22295					#[doc = "Send a batch of dispatch calls and atomically execute them."]
22296					#[doc = "The whole transaction will rollback and fail if any of the calls failed."]
22297					#[doc = ""]
22298					#[doc = "May be called from any origin except `None`."]
22299					#[doc = ""]
22300					#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
22301					#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
22302					#[doc = ""]
22303					#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
22304					#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
22305					#[doc = ""]
22306					#[doc = "## Complexity"]
22307					#[doc = "- O(C) where C is the number of calls to be batched."]
22308					batch_all {
22309						calls: ::subxt::ext::subxt_core::alloc::vec::Vec<
22310							runtime_types::quantus_runtime::RuntimeCall,
22311						>,
22312					},
22313					#[codec(index = 3)]
22314					#[doc = "Dispatches a function call with a provided origin."]
22315					#[doc = ""]
22316					#[doc = "The dispatch origin for this call must be _Root_."]
22317					#[doc = ""]
22318					#[doc = "## Complexity"]
22319					#[doc = "- O(1)."]
22320					dispatch_as {
22321						as_origin: ::subxt::ext::subxt_core::alloc::boxed::Box<
22322							runtime_types::quantus_runtime::OriginCaller,
22323						>,
22324						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
22325							runtime_types::quantus_runtime::RuntimeCall,
22326						>,
22327					},
22328					#[codec(index = 4)]
22329					#[doc = "Send a batch of dispatch calls."]
22330					#[doc = "Unlike `batch`, it allows errors and won't interrupt."]
22331					#[doc = ""]
22332					#[doc = "May be called from any origin except `None`."]
22333					#[doc = ""]
22334					#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
22335					#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
22336					#[doc = ""]
22337					#[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"]
22338					#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
22339					#[doc = ""]
22340					#[doc = "## Complexity"]
22341					#[doc = "- O(C) where C is the number of calls to be batched."]
22342					force_batch {
22343						calls: ::subxt::ext::subxt_core::alloc::vec::Vec<
22344							runtime_types::quantus_runtime::RuntimeCall,
22345						>,
22346					},
22347					#[codec(index = 5)]
22348					#[doc = "Dispatch a function call with a specified weight."]
22349					#[doc = ""]
22350					#[doc = "This function does not check the weight of the call, and instead allows the"]
22351					#[doc = "Root origin to specify the weight of the call."]
22352					#[doc = ""]
22353					#[doc = "The dispatch origin for this call must be _Root_."]
22354					with_weight {
22355						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
22356							runtime_types::quantus_runtime::RuntimeCall,
22357						>,
22358						weight: runtime_types::sp_weights::weight_v2::Weight,
22359					},
22360					#[codec(index = 6)]
22361					#[doc = "Dispatch a fallback call in the event the main call fails to execute."]
22362					#[doc = "May be called from any origin except `None`."]
22363					#[doc = ""]
22364					#[doc = "This function first attempts to dispatch the `main` call."]
22365					#[doc = "If the `main` call fails, the `fallback` is attemted."]
22366					#[doc = "if the fallback is successfully dispatched, the weights of both calls"]
22367					#[doc = "are accumulated and an event containing the main call error is deposited."]
22368					#[doc = ""]
22369					#[doc = "In the event of a fallback failure the whole call fails"]
22370					#[doc = "with the weights returned."]
22371					#[doc = ""]
22372					#[doc = "- `main`: The main call to be dispatched. This is the primary action to execute."]
22373					#[doc = "- `fallback`: The fallback call to be dispatched in case the `main` call fails."]
22374					#[doc = ""]
22375					#[doc = "## Dispatch Logic"]
22376					#[doc = "- If the origin is `root`, both the main and fallback calls are executed without"]
22377					#[doc = "  applying any origin filters."]
22378					#[doc = "- If the origin is not `root`, the origin filter is applied to both the `main` and"]
22379					#[doc = "  `fallback` calls."]
22380					#[doc = ""]
22381					#[doc = "## Use Case"]
22382					#[doc = "- Some use cases might involve submitting a `batch` type call in either main, fallback"]
22383					#[doc = "  or both."]
22384					if_else {
22385						main: ::subxt::ext::subxt_core::alloc::boxed::Box<
22386							runtime_types::quantus_runtime::RuntimeCall,
22387						>,
22388						fallback: ::subxt::ext::subxt_core::alloc::boxed::Box<
22389							runtime_types::quantus_runtime::RuntimeCall,
22390						>,
22391					},
22392					#[codec(index = 7)]
22393					#[doc = "Dispatches a function call with a provided origin."]
22394					#[doc = ""]
22395					#[doc = "Almost the same as [`Pallet::dispatch_as`] but forwards any error of the inner call."]
22396					#[doc = ""]
22397					#[doc = "The dispatch origin for this call must be _Root_."]
22398					dispatch_as_fallible {
22399						as_origin: ::subxt::ext::subxt_core::alloc::boxed::Box<
22400							runtime_types::quantus_runtime::OriginCaller,
22401						>,
22402						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
22403							runtime_types::quantus_runtime::RuntimeCall,
22404						>,
22405					},
22406				}
22407				#[derive(
22408					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22409					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22410					Debug,
22411				)]
22412				#[decode_as_type(
22413					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22414				)]
22415				#[encode_as_type(
22416					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22417				)]
22418				#[doc = "The `Error` enum of this pallet."]
22419				pub enum Error {
22420					#[codec(index = 0)]
22421					#[doc = "Too many calls batched."]
22422					TooManyCalls,
22423				}
22424				#[derive(
22425					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22426					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22427					Debug,
22428				)]
22429				#[decode_as_type(
22430					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22431				)]
22432				#[encode_as_type(
22433					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22434				)]
22435				#[doc = "The `Event` enum of this pallet"]
22436				pub enum Event {
22437					#[codec(index = 0)]
22438					#[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"]
22439					#[doc = "well as the error."]
22440					BatchInterrupted {
22441						index: ::core::primitive::u32,
22442						error: runtime_types::sp_runtime::DispatchError,
22443					},
22444					#[codec(index = 1)]
22445					#[doc = "Batch of dispatches completed fully with no error."]
22446					BatchCompleted,
22447					#[codec(index = 2)]
22448					#[doc = "Batch of dispatches completed but has errors."]
22449					BatchCompletedWithErrors,
22450					#[codec(index = 3)]
22451					#[doc = "A single item within a Batch of dispatches has completed with no error."]
22452					ItemCompleted,
22453					#[codec(index = 4)]
22454					#[doc = "A single item within a Batch of dispatches has completed with error."]
22455					ItemFailed { error: runtime_types::sp_runtime::DispatchError },
22456					#[codec(index = 5)]
22457					#[doc = "A call was dispatched."]
22458					DispatchedAs {
22459						result:
22460							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
22461					},
22462					#[codec(index = 6)]
22463					#[doc = "Main call was dispatched."]
22464					IfElseMainSuccess,
22465					#[codec(index = 7)]
22466					#[doc = "The fallback call was dispatched."]
22467					IfElseFallbackCalled { main_error: runtime_types::sp_runtime::DispatchError },
22468				}
22469			}
22470		}
22471		pub mod pallet_vesting {
22472			use super::runtime_types;
22473			pub mod pallet {
22474				use super::runtime_types;
22475				#[derive(
22476					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22477					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22478					Debug,
22479				)]
22480				#[decode_as_type(
22481					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22482				)]
22483				#[encode_as_type(
22484					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22485				)]
22486				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
22487				pub enum Call {
22488					#[codec(index = 0)]
22489					#[doc = "Unlock any vested funds of the sender account."]
22490					#[doc = ""]
22491					#[doc = "The dispatch origin for this call must be _Signed_ and the sender must have funds still"]
22492					#[doc = "locked under this pallet."]
22493					#[doc = ""]
22494					#[doc = "Emits either `VestingCompleted` or `VestingUpdated`."]
22495					#[doc = ""]
22496					#[doc = "## Complexity"]
22497					#[doc = "- `O(1)`."]
22498					vest,
22499					#[codec(index = 1)]
22500					#[doc = "Unlock any vested funds of a `target` account."]
22501					#[doc = ""]
22502					#[doc = "The dispatch origin for this call must be _Signed_."]
22503					#[doc = ""]
22504					#[doc = "- `target`: The account whose vested funds should be unlocked. Must have funds still"]
22505					#[doc = "locked under this pallet."]
22506					#[doc = ""]
22507					#[doc = "Emits either `VestingCompleted` or `VestingUpdated`."]
22508					#[doc = ""]
22509					#[doc = "## Complexity"]
22510					#[doc = "- `O(1)`."]
22511					vest_other {
22512						target: ::subxt::ext::subxt_core::utils::MultiAddress<
22513							::subxt::ext::subxt_core::utils::AccountId32,
22514							(),
22515						>,
22516					},
22517					#[codec(index = 2)]
22518					#[doc = "Create a vested transfer."]
22519					#[doc = ""]
22520					#[doc = "The dispatch origin for this call must be _Signed_."]
22521					#[doc = ""]
22522					#[doc = "- `target`: The account receiving the vested funds."]
22523					#[doc = "- `schedule`: The vesting schedule attached to the transfer."]
22524					#[doc = ""]
22525					#[doc = "Emits `VestingCreated`."]
22526					#[doc = ""]
22527					#[doc = "NOTE: This will unlock all schedules through the current block."]
22528					#[doc = ""]
22529					#[doc = "## Complexity"]
22530					#[doc = "- `O(1)`."]
22531					vested_transfer {
22532						target: ::subxt::ext::subxt_core::utils::MultiAddress<
22533							::subxt::ext::subxt_core::utils::AccountId32,
22534							(),
22535						>,
22536						schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo<
22537							::core::primitive::u128,
22538							::core::primitive::u32,
22539						>,
22540					},
22541					#[codec(index = 3)]
22542					#[doc = "Force a vested transfer."]
22543					#[doc = ""]
22544					#[doc = "The dispatch origin for this call must be _Root_."]
22545					#[doc = ""]
22546					#[doc = "- `source`: The account whose funds should be transferred."]
22547					#[doc = "- `target`: The account that should be transferred the vested funds."]
22548					#[doc = "- `schedule`: The vesting schedule attached to the transfer."]
22549					#[doc = ""]
22550					#[doc = "Emits `VestingCreated`."]
22551					#[doc = ""]
22552					#[doc = "NOTE: This will unlock all schedules through the current block."]
22553					#[doc = ""]
22554					#[doc = "## Complexity"]
22555					#[doc = "- `O(1)`."]
22556					force_vested_transfer {
22557						source: ::subxt::ext::subxt_core::utils::MultiAddress<
22558							::subxt::ext::subxt_core::utils::AccountId32,
22559							(),
22560						>,
22561						target: ::subxt::ext::subxt_core::utils::MultiAddress<
22562							::subxt::ext::subxt_core::utils::AccountId32,
22563							(),
22564						>,
22565						schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo<
22566							::core::primitive::u128,
22567							::core::primitive::u32,
22568						>,
22569					},
22570					#[codec(index = 4)]
22571					#[doc = "Merge two vesting schedules together, creating a new vesting schedule that unlocks over"]
22572					#[doc = "the highest possible start and end blocks. If both schedules have already started the"]
22573					#[doc = "current block will be used as the schedule start; with the caveat that if one schedule"]
22574					#[doc = "is finished by the current block, the other will be treated as the new merged schedule,"]
22575					#[doc = "unmodified."]
22576					#[doc = ""]
22577					#[doc = "NOTE: If `schedule1_index == schedule2_index` this is a no-op."]
22578					#[doc = "NOTE: This will unlock all schedules through the current block prior to merging."]
22579					#[doc = "NOTE: If both schedules have ended by the current block, no new schedule will be created"]
22580					#[doc = "and both will be removed."]
22581					#[doc = ""]
22582					#[doc = "Merged schedule attributes:"]
22583					#[doc = "- `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block,"]
22584					#[doc = "  current_block)`."]
22585					#[doc = "- `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`."]
22586					#[doc = "- `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`."]
22587					#[doc = ""]
22588					#[doc = "The dispatch origin for this call must be _Signed_."]
22589					#[doc = ""]
22590					#[doc = "- `schedule1_index`: index of the first schedule to merge."]
22591					#[doc = "- `schedule2_index`: index of the second schedule to merge."]
22592					merge_schedules {
22593						schedule1_index: ::core::primitive::u32,
22594						schedule2_index: ::core::primitive::u32,
22595					},
22596					#[codec(index = 5)]
22597					#[doc = "Force remove a vesting schedule"]
22598					#[doc = ""]
22599					#[doc = "The dispatch origin for this call must be _Root_."]
22600					#[doc = ""]
22601					#[doc = "- `target`: An account that has a vesting schedule"]
22602					#[doc = "- `schedule_index`: The vesting schedule index that should be removed"]
22603					force_remove_vesting_schedule {
22604						target: ::subxt::ext::subxt_core::utils::MultiAddress<
22605							::subxt::ext::subxt_core::utils::AccountId32,
22606							(),
22607						>,
22608						schedule_index: ::core::primitive::u32,
22609					},
22610				}
22611				#[derive(
22612					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22613					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22614					Debug,
22615				)]
22616				#[decode_as_type(
22617					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22618				)]
22619				#[encode_as_type(
22620					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22621				)]
22622				#[doc = "Error for the vesting pallet."]
22623				pub enum Error {
22624					#[codec(index = 0)]
22625					#[doc = "The account given is not vesting."]
22626					NotVesting,
22627					#[codec(index = 1)]
22628					#[doc = "The account already has `MaxVestingSchedules` count of schedules and thus"]
22629					#[doc = "cannot add another one. Consider merging existing schedules in order to add another."]
22630					AtMaxVestingSchedules,
22631					#[codec(index = 2)]
22632					#[doc = "Amount being transferred is too low to create a vesting schedule."]
22633					AmountLow,
22634					#[codec(index = 3)]
22635					#[doc = "An index was out of bounds of the vesting schedules."]
22636					ScheduleIndexOutOfBounds,
22637					#[codec(index = 4)]
22638					#[doc = "Failed to create a new schedule because some parameter was invalid."]
22639					InvalidScheduleParams,
22640				}
22641				#[derive(
22642					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22643					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22644					Debug,
22645				)]
22646				#[decode_as_type(
22647					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22648				)]
22649				#[encode_as_type(
22650					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22651				)]
22652				#[doc = "The `Event` enum of this pallet"]
22653				pub enum Event {
22654					#[codec(index = 0)]
22655					#[doc = "A vesting schedule has been created."]
22656					VestingCreated {
22657						account: ::subxt::ext::subxt_core::utils::AccountId32,
22658						schedule_index: ::core::primitive::u32,
22659					},
22660					#[codec(index = 1)]
22661					#[doc = "The amount vested has been updated. This could indicate a change in funds available."]
22662					#[doc = "The balance given is the amount which is left unvested (and thus locked)."]
22663					VestingUpdated {
22664						account: ::subxt::ext::subxt_core::utils::AccountId32,
22665						unvested: ::core::primitive::u128,
22666					},
22667					#[codec(index = 2)]
22668					#[doc = "An \\[account\\] has become fully vested."]
22669					VestingCompleted { account: ::subxt::ext::subxt_core::utils::AccountId32 },
22670				}
22671			}
22672			pub mod vesting_info {
22673				use super::runtime_types;
22674				#[derive(
22675					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22676					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22677					Debug,
22678				)]
22679				#[decode_as_type(
22680					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22681				)]
22682				#[encode_as_type(
22683					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22684				)]
22685				pub struct VestingInfo<_0, _1> {
22686					pub locked: _0,
22687					pub per_block: _0,
22688					pub starting_block: _1,
22689				}
22690			}
22691			#[derive(
22692				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22693				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22694				Debug,
22695			)]
22696			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
22697			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
22698			pub enum Releases {
22699				#[codec(index = 0)]
22700				V0,
22701				#[codec(index = 1)]
22702				V1,
22703			}
22704		}
22705		pub mod pallet_wormhole {
22706			use super::runtime_types;
22707			pub mod pallet {
22708				use super::runtime_types;
22709				#[derive(
22710					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22711					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22712					Debug,
22713				)]
22714				#[decode_as_type(
22715					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22716				)]
22717				#[encode_as_type(
22718					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22719				)]
22720				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
22721				pub enum Call {
22722					#[codec(index = 0)]
22723					verify_wormhole_proof {
22724						proof_bytes:
22725							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
22726						block_number: ::core::primitive::u32,
22727					},
22728				}
22729				#[derive(
22730					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22731					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22732					Debug,
22733				)]
22734				#[decode_as_type(
22735					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22736				)]
22737				#[encode_as_type(
22738					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22739				)]
22740				#[doc = "The `Error` enum of this pallet."]
22741				pub enum Error {
22742					#[codec(index = 0)]
22743					InvalidProof,
22744					#[codec(index = 1)]
22745					ProofDeserializationFailed,
22746					#[codec(index = 2)]
22747					VerificationFailed,
22748					#[codec(index = 3)]
22749					InvalidPublicInputs,
22750					#[codec(index = 4)]
22751					NullifierAlreadyUsed,
22752					#[codec(index = 5)]
22753					VerifierNotAvailable,
22754					#[codec(index = 6)]
22755					InvalidStorageRoot,
22756					#[codec(index = 7)]
22757					StorageRootMismatch,
22758					#[codec(index = 8)]
22759					BlockNotFound,
22760					#[codec(index = 9)]
22761					InvalidBlockNumber,
22762				}
22763				#[derive(
22764					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22765					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22766					Debug,
22767				)]
22768				#[decode_as_type(
22769					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22770				)]
22771				#[encode_as_type(
22772					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22773				)]
22774				#[doc = "The `Event` enum of this pallet"]
22775				pub enum Event {
22776					#[codec(index = 0)]
22777					ProofVerified { exit_amount: ::core::primitive::u128 },
22778				}
22779			}
22780		}
22781		pub mod poseidon_resonance {
22782			use super::runtime_types;
22783			#[derive(
22784				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22785				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22786				Debug,
22787			)]
22788			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
22789			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
22790			pub struct PoseidonHasher;
22791		}
22792		pub mod primitive_types {
22793			use super::runtime_types;
22794			#[derive(
22795				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22796				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22797				Debug,
22798			)]
22799			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
22800			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
22801			pub struct U512(pub [::core::primitive::u64; 8usize]);
22802		}
22803		pub mod qp_scheduler {
22804			use super::runtime_types;
22805			#[derive(
22806				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22807				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22808				Debug,
22809			)]
22810			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
22811			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
22812			pub enum BlockNumberOrTimestamp<_0, _1> {
22813				#[codec(index = 0)]
22814				BlockNumber(_0),
22815				#[codec(index = 1)]
22816				Timestamp(_1),
22817			}
22818			#[derive(
22819				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22820				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22821				Debug,
22822			)]
22823			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
22824			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
22825			pub enum DispatchTime<_0, _1> {
22826				#[codec(index = 0)]
22827				At(_0),
22828				#[codec(index = 1)]
22829				After(runtime_types::qp_scheduler::BlockNumberOrTimestamp<_0, _1>),
22830			}
22831		}
22832		pub mod quantus_runtime {
22833			use super::runtime_types;
22834			pub mod governance {
22835				use super::runtime_types;
22836				pub mod definitions {
22837					use super::runtime_types;
22838					#[derive(
22839						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22840						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22841						Debug,
22842					)]
22843					#[decode_as_type(
22844						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22845					)]
22846					#[encode_as_type(
22847						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22848					)]
22849					pub struct PreimageDeposit {
22850						pub amount: ::core::primitive::u128,
22851					}
22852				}
22853				pub mod origins {
22854					use super::runtime_types;
22855					pub mod pallet_custom_origins {
22856						use super::runtime_types;
22857						#[derive(
22858							:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22859							:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22860							Debug,
22861						)]
22862						#[decode_as_type(
22863							crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22864						)]
22865						#[encode_as_type(
22866							crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22867						)]
22868						pub enum Origin {
22869							#[codec(index = 0)]
22870							Treasurer,
22871							#[codec(index = 1)]
22872							SmallSpender,
22873							#[codec(index = 2)]
22874							MediumSpender,
22875							#[codec(index = 3)]
22876							BigSpender,
22877						}
22878					}
22879				}
22880			}
22881			pub mod transaction_extensions {
22882				use super::runtime_types;
22883				#[derive(
22884					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22885					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22886					Debug,
22887				)]
22888				#[decode_as_type(
22889					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22890				)]
22891				#[encode_as_type(
22892					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22893				)]
22894				pub struct ReversibleTransactionExtension;
22895			}
22896			#[derive(
22897				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22898				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22899				Debug,
22900			)]
22901			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
22902			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
22903			pub enum OriginCaller {
22904				# [codec (index = 0)] system (runtime_types :: frame_support :: dispatch :: RawOrigin < :: subxt :: ext :: subxt_core :: utils :: AccountId32 > ,) , # [codec (index = 19)] Origins (runtime_types :: quantus_runtime :: governance :: origins :: pallet_custom_origins :: Origin ,) , }
22905			#[derive(
22906				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22907				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22908				Debug,
22909			)]
22910			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
22911			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
22912			pub struct Runtime;
22913			#[derive(
22914				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22915				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22916				Debug,
22917			)]
22918			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
22919			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
22920			pub enum RuntimeCall {
22921				#[codec(index = 0)]
22922				System(runtime_types::frame_system::pallet::Call),
22923				#[codec(index = 1)]
22924				Timestamp(runtime_types::pallet_timestamp::pallet::Call),
22925				#[codec(index = 2)]
22926				Balances(runtime_types::pallet_balances::pallet::Call),
22927				#[codec(index = 4)]
22928				Sudo(runtime_types::pallet_sudo::pallet::Call),
22929				#[codec(index = 6)]
22930				Wormhole(runtime_types::pallet_wormhole::pallet::Call),
22931				#[codec(index = 8)]
22932				Vesting(runtime_types::pallet_vesting::pallet::Call),
22933				#[codec(index = 9)]
22934				Preimage(runtime_types::pallet_preimage::pallet::Call),
22935				#[codec(index = 10)]
22936				Scheduler(runtime_types::pallet_scheduler::pallet::Call),
22937				#[codec(index = 11)]
22938				Utility(runtime_types::pallet_utility::pallet::Call),
22939				#[codec(index = 12)]
22940				Referenda(runtime_types::pallet_referenda::pallet::Call),
22941				#[codec(index = 13)]
22942				ReversibleTransfers(runtime_types::pallet_reversible_transfers::pallet::Call),
22943				#[codec(index = 14)]
22944				ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Call),
22945				#[codec(index = 15)]
22946				TechCollective(runtime_types::pallet_ranked_collective::pallet::Call),
22947				#[codec(index = 16)]
22948				TechReferenda(runtime_types::pallet_referenda::pallet::Call),
22949				#[codec(index = 17)]
22950				MerkleAirdrop(runtime_types::pallet_merkle_airdrop::pallet::Call),
22951				#[codec(index = 18)]
22952				TreasuryPallet(runtime_types::pallet_treasury::pallet::Call),
22953				#[codec(index = 20)]
22954				Recovery(runtime_types::pallet_recovery::pallet::Call),
22955			}
22956			#[derive(
22957				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22958				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22959				Debug,
22960			)]
22961			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
22962			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
22963			pub enum RuntimeError {
22964				#[codec(index = 0)]
22965				System(runtime_types::frame_system::pallet::Error),
22966				#[codec(index = 2)]
22967				Balances(runtime_types::pallet_balances::pallet::Error),
22968				#[codec(index = 4)]
22969				Sudo(runtime_types::pallet_sudo::pallet::Error),
22970				#[codec(index = 5)]
22971				QPoW(runtime_types::pallet_qpow::pallet::Error),
22972				#[codec(index = 6)]
22973				Wormhole(runtime_types::pallet_wormhole::pallet::Error),
22974				#[codec(index = 8)]
22975				Vesting(runtime_types::pallet_vesting::pallet::Error),
22976				#[codec(index = 9)]
22977				Preimage(runtime_types::pallet_preimage::pallet::Error),
22978				#[codec(index = 10)]
22979				Scheduler(runtime_types::pallet_scheduler::pallet::Error),
22980				#[codec(index = 11)]
22981				Utility(runtime_types::pallet_utility::pallet::Error),
22982				#[codec(index = 12)]
22983				Referenda(runtime_types::pallet_referenda::pallet::Error),
22984				#[codec(index = 13)]
22985				ReversibleTransfers(runtime_types::pallet_reversible_transfers::pallet::Error),
22986				#[codec(index = 14)]
22987				ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Error),
22988				#[codec(index = 15)]
22989				TechCollective(runtime_types::pallet_ranked_collective::pallet::Error),
22990				#[codec(index = 16)]
22991				TechReferenda(runtime_types::pallet_referenda::pallet::Error),
22992				#[codec(index = 17)]
22993				MerkleAirdrop(runtime_types::pallet_merkle_airdrop::pallet::Error),
22994				#[codec(index = 18)]
22995				TreasuryPallet(runtime_types::pallet_treasury::pallet::Error),
22996				#[codec(index = 20)]
22997				Recovery(runtime_types::pallet_recovery::pallet::Error),
22998			}
22999			#[derive(
23000				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23001				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23002				Debug,
23003			)]
23004			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
23005			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
23006			pub enum RuntimeEvent {
23007				#[codec(index = 0)]
23008				System(runtime_types::frame_system::pallet::Event),
23009				#[codec(index = 2)]
23010				Balances(runtime_types::pallet_balances::pallet::Event),
23011				#[codec(index = 3)]
23012				TransactionPayment(runtime_types::pallet_transaction_payment::pallet::Event),
23013				#[codec(index = 4)]
23014				Sudo(runtime_types::pallet_sudo::pallet::Event),
23015				#[codec(index = 5)]
23016				QPoW(runtime_types::pallet_qpow::pallet::Event),
23017				#[codec(index = 6)]
23018				Wormhole(runtime_types::pallet_wormhole::pallet::Event),
23019				#[codec(index = 7)]
23020				MiningRewards(runtime_types::pallet_mining_rewards::pallet::Event),
23021				#[codec(index = 8)]
23022				Vesting(runtime_types::pallet_vesting::pallet::Event),
23023				#[codec(index = 9)]
23024				Preimage(runtime_types::pallet_preimage::pallet::Event),
23025				#[codec(index = 10)]
23026				Scheduler(runtime_types::pallet_scheduler::pallet::Event),
23027				#[codec(index = 11)]
23028				Utility(runtime_types::pallet_utility::pallet::Event),
23029				#[codec(index = 12)]
23030				Referenda(runtime_types::pallet_referenda::pallet::Event1),
23031				#[codec(index = 13)]
23032				ReversibleTransfers(runtime_types::pallet_reversible_transfers::pallet::Event),
23033				#[codec(index = 14)]
23034				ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Event),
23035				#[codec(index = 15)]
23036				TechCollective(runtime_types::pallet_ranked_collective::pallet::Event),
23037				#[codec(index = 16)]
23038				TechReferenda(runtime_types::pallet_referenda::pallet::Event2),
23039				#[codec(index = 17)]
23040				MerkleAirdrop(runtime_types::pallet_merkle_airdrop::pallet::Event),
23041				#[codec(index = 18)]
23042				TreasuryPallet(runtime_types::pallet_treasury::pallet::Event),
23043				#[codec(index = 20)]
23044				Recovery(runtime_types::pallet_recovery::pallet::Event),
23045			}
23046			#[derive(
23047				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23048				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23049				Debug,
23050			)]
23051			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
23052			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
23053			pub enum RuntimeFreezeReason {}
23054			#[derive(
23055				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23056				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23057				Debug,
23058			)]
23059			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
23060			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
23061			pub enum RuntimeHoldReason {
23062				#[codec(index = 9)]
23063				Preimage(runtime_types::pallet_preimage::pallet::HoldReason),
23064				#[codec(index = 13)]
23065				ReversibleTransfers(runtime_types::pallet_reversible_transfers::pallet::HoldReason),
23066			}
23067		}
23068		pub mod sp_arithmetic {
23069			use super::runtime_types;
23070			pub mod fixed_point {
23071				use super::runtime_types;
23072				#[derive(
23073					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23074					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23075					Debug,
23076				)]
23077				#[decode_as_type(
23078					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23079				)]
23080				#[encode_as_type(
23081					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23082				)]
23083				pub struct FixedI64(pub ::core::primitive::i64);
23084				#[derive(
23085					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23086					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23087					Debug,
23088				)]
23089				#[decode_as_type(
23090					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23091				)]
23092				#[encode_as_type(
23093					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23094				)]
23095				pub struct FixedU128(pub ::core::primitive::u128);
23096			}
23097			pub mod per_things {
23098				use super::runtime_types;
23099				#[derive(
23100					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23101					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23102					Debug,
23103				)]
23104				#[decode_as_type(
23105					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23106				)]
23107				#[encode_as_type(
23108					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23109				)]
23110				pub struct Perbill(pub ::core::primitive::u32);
23111				#[derive(
23112					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23113					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23114					Debug,
23115				)]
23116				#[decode_as_type(
23117					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23118				)]
23119				#[encode_as_type(
23120					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23121				)]
23122				pub struct Permill(pub ::core::primitive::u32);
23123			}
23124			#[derive(
23125				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23126				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23127				Debug,
23128			)]
23129			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
23130			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
23131			pub enum ArithmeticError {
23132				#[codec(index = 0)]
23133				Underflow,
23134				#[codec(index = 1)]
23135				Overflow,
23136				#[codec(index = 2)]
23137				DivisionByZero,
23138			}
23139		}
23140		pub mod sp_core {
23141			use super::runtime_types;
23142			pub mod crypto {
23143				use super::runtime_types;
23144				#[derive(
23145					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23146					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23147					Debug,
23148				)]
23149				#[decode_as_type(
23150					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23151				)]
23152				#[encode_as_type(
23153					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23154				)]
23155				pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]);
23156			}
23157			#[derive(
23158				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23159				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23160				Debug,
23161			)]
23162			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
23163			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
23164			pub struct OpaqueMetadata(
23165				pub ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
23166			);
23167		}
23168		pub mod sp_inherents {
23169			use super::runtime_types;
23170			#[derive(
23171				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23172				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23173				Debug,
23174			)]
23175			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
23176			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
23177			pub struct CheckInherentsResult {
23178				pub okay: ::core::primitive::bool,
23179				pub fatal_error: ::core::primitive::bool,
23180				pub errors: runtime_types::sp_inherents::InherentData,
23181			}
23182			#[derive(
23183				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23184				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23185				Debug,
23186			)]
23187			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
23188			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
23189			pub struct InherentData {
23190				pub data: ::subxt::ext::subxt_core::utils::KeyedVec<
23191					[::core::primitive::u8; 8usize],
23192					::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
23193				>,
23194			}
23195		}
23196		pub mod sp_runtime {
23197			use super::runtime_types;
23198			pub mod generic {
23199				use super::runtime_types;
23200				pub mod block {
23201					use super::runtime_types;
23202					#[derive(
23203						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23204						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23205						Debug,
23206					)]
23207					#[decode_as_type(
23208						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23209					)]
23210					#[encode_as_type(
23211						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23212					)]
23213					pub struct Block<_0, _1> {
23214						pub header: _0,
23215						pub extrinsics: ::subxt::ext::subxt_core::alloc::vec::Vec<_1>,
23216					}
23217				}
23218				pub mod digest {
23219					use super::runtime_types;
23220					#[derive(
23221						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23222						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23223						Debug,
23224					)]
23225					#[decode_as_type(
23226						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23227					)]
23228					#[encode_as_type(
23229						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23230					)]
23231					pub struct Digest {
23232						pub logs: ::subxt::ext::subxt_core::alloc::vec::Vec<
23233							runtime_types::sp_runtime::generic::digest::DigestItem,
23234						>,
23235					}
23236					#[derive(
23237						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23238						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23239						Debug,
23240					)]
23241					#[decode_as_type(
23242						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23243					)]
23244					#[encode_as_type(
23245						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23246					)]
23247					pub enum DigestItem {
23248						#[codec(index = 6)]
23249						PreRuntime(
23250							[::core::primitive::u8; 4usize],
23251							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
23252						),
23253						#[codec(index = 4)]
23254						Consensus(
23255							[::core::primitive::u8; 4usize],
23256							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
23257						),
23258						#[codec(index = 5)]
23259						Seal(
23260							[::core::primitive::u8; 4usize],
23261							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
23262						),
23263						#[codec(index = 0)]
23264						Other(::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>),
23265						#[codec(index = 8)]
23266						RuntimeEnvironmentUpdated,
23267					}
23268				}
23269				pub mod era {
23270					use super::runtime_types;
23271					#[derive(
23272						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23273						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23274						Debug,
23275					)]
23276					#[decode_as_type(
23277						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23278					)]
23279					#[encode_as_type(
23280						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23281					)]
23282					pub enum Era {
23283						#[codec(index = 0)]
23284						Immortal,
23285						#[codec(index = 1)]
23286						Mortal1(::core::primitive::u8),
23287						#[codec(index = 2)]
23288						Mortal2(::core::primitive::u8),
23289						#[codec(index = 3)]
23290						Mortal3(::core::primitive::u8),
23291						#[codec(index = 4)]
23292						Mortal4(::core::primitive::u8),
23293						#[codec(index = 5)]
23294						Mortal5(::core::primitive::u8),
23295						#[codec(index = 6)]
23296						Mortal6(::core::primitive::u8),
23297						#[codec(index = 7)]
23298						Mortal7(::core::primitive::u8),
23299						#[codec(index = 8)]
23300						Mortal8(::core::primitive::u8),
23301						#[codec(index = 9)]
23302						Mortal9(::core::primitive::u8),
23303						#[codec(index = 10)]
23304						Mortal10(::core::primitive::u8),
23305						#[codec(index = 11)]
23306						Mortal11(::core::primitive::u8),
23307						#[codec(index = 12)]
23308						Mortal12(::core::primitive::u8),
23309						#[codec(index = 13)]
23310						Mortal13(::core::primitive::u8),
23311						#[codec(index = 14)]
23312						Mortal14(::core::primitive::u8),
23313						#[codec(index = 15)]
23314						Mortal15(::core::primitive::u8),
23315						#[codec(index = 16)]
23316						Mortal16(::core::primitive::u8),
23317						#[codec(index = 17)]
23318						Mortal17(::core::primitive::u8),
23319						#[codec(index = 18)]
23320						Mortal18(::core::primitive::u8),
23321						#[codec(index = 19)]
23322						Mortal19(::core::primitive::u8),
23323						#[codec(index = 20)]
23324						Mortal20(::core::primitive::u8),
23325						#[codec(index = 21)]
23326						Mortal21(::core::primitive::u8),
23327						#[codec(index = 22)]
23328						Mortal22(::core::primitive::u8),
23329						#[codec(index = 23)]
23330						Mortal23(::core::primitive::u8),
23331						#[codec(index = 24)]
23332						Mortal24(::core::primitive::u8),
23333						#[codec(index = 25)]
23334						Mortal25(::core::primitive::u8),
23335						#[codec(index = 26)]
23336						Mortal26(::core::primitive::u8),
23337						#[codec(index = 27)]
23338						Mortal27(::core::primitive::u8),
23339						#[codec(index = 28)]
23340						Mortal28(::core::primitive::u8),
23341						#[codec(index = 29)]
23342						Mortal29(::core::primitive::u8),
23343						#[codec(index = 30)]
23344						Mortal30(::core::primitive::u8),
23345						#[codec(index = 31)]
23346						Mortal31(::core::primitive::u8),
23347						#[codec(index = 32)]
23348						Mortal32(::core::primitive::u8),
23349						#[codec(index = 33)]
23350						Mortal33(::core::primitive::u8),
23351						#[codec(index = 34)]
23352						Mortal34(::core::primitive::u8),
23353						#[codec(index = 35)]
23354						Mortal35(::core::primitive::u8),
23355						#[codec(index = 36)]
23356						Mortal36(::core::primitive::u8),
23357						#[codec(index = 37)]
23358						Mortal37(::core::primitive::u8),
23359						#[codec(index = 38)]
23360						Mortal38(::core::primitive::u8),
23361						#[codec(index = 39)]
23362						Mortal39(::core::primitive::u8),
23363						#[codec(index = 40)]
23364						Mortal40(::core::primitive::u8),
23365						#[codec(index = 41)]
23366						Mortal41(::core::primitive::u8),
23367						#[codec(index = 42)]
23368						Mortal42(::core::primitive::u8),
23369						#[codec(index = 43)]
23370						Mortal43(::core::primitive::u8),
23371						#[codec(index = 44)]
23372						Mortal44(::core::primitive::u8),
23373						#[codec(index = 45)]
23374						Mortal45(::core::primitive::u8),
23375						#[codec(index = 46)]
23376						Mortal46(::core::primitive::u8),
23377						#[codec(index = 47)]
23378						Mortal47(::core::primitive::u8),
23379						#[codec(index = 48)]
23380						Mortal48(::core::primitive::u8),
23381						#[codec(index = 49)]
23382						Mortal49(::core::primitive::u8),
23383						#[codec(index = 50)]
23384						Mortal50(::core::primitive::u8),
23385						#[codec(index = 51)]
23386						Mortal51(::core::primitive::u8),
23387						#[codec(index = 52)]
23388						Mortal52(::core::primitive::u8),
23389						#[codec(index = 53)]
23390						Mortal53(::core::primitive::u8),
23391						#[codec(index = 54)]
23392						Mortal54(::core::primitive::u8),
23393						#[codec(index = 55)]
23394						Mortal55(::core::primitive::u8),
23395						#[codec(index = 56)]
23396						Mortal56(::core::primitive::u8),
23397						#[codec(index = 57)]
23398						Mortal57(::core::primitive::u8),
23399						#[codec(index = 58)]
23400						Mortal58(::core::primitive::u8),
23401						#[codec(index = 59)]
23402						Mortal59(::core::primitive::u8),
23403						#[codec(index = 60)]
23404						Mortal60(::core::primitive::u8),
23405						#[codec(index = 61)]
23406						Mortal61(::core::primitive::u8),
23407						#[codec(index = 62)]
23408						Mortal62(::core::primitive::u8),
23409						#[codec(index = 63)]
23410						Mortal63(::core::primitive::u8),
23411						#[codec(index = 64)]
23412						Mortal64(::core::primitive::u8),
23413						#[codec(index = 65)]
23414						Mortal65(::core::primitive::u8),
23415						#[codec(index = 66)]
23416						Mortal66(::core::primitive::u8),
23417						#[codec(index = 67)]
23418						Mortal67(::core::primitive::u8),
23419						#[codec(index = 68)]
23420						Mortal68(::core::primitive::u8),
23421						#[codec(index = 69)]
23422						Mortal69(::core::primitive::u8),
23423						#[codec(index = 70)]
23424						Mortal70(::core::primitive::u8),
23425						#[codec(index = 71)]
23426						Mortal71(::core::primitive::u8),
23427						#[codec(index = 72)]
23428						Mortal72(::core::primitive::u8),
23429						#[codec(index = 73)]
23430						Mortal73(::core::primitive::u8),
23431						#[codec(index = 74)]
23432						Mortal74(::core::primitive::u8),
23433						#[codec(index = 75)]
23434						Mortal75(::core::primitive::u8),
23435						#[codec(index = 76)]
23436						Mortal76(::core::primitive::u8),
23437						#[codec(index = 77)]
23438						Mortal77(::core::primitive::u8),
23439						#[codec(index = 78)]
23440						Mortal78(::core::primitive::u8),
23441						#[codec(index = 79)]
23442						Mortal79(::core::primitive::u8),
23443						#[codec(index = 80)]
23444						Mortal80(::core::primitive::u8),
23445						#[codec(index = 81)]
23446						Mortal81(::core::primitive::u8),
23447						#[codec(index = 82)]
23448						Mortal82(::core::primitive::u8),
23449						#[codec(index = 83)]
23450						Mortal83(::core::primitive::u8),
23451						#[codec(index = 84)]
23452						Mortal84(::core::primitive::u8),
23453						#[codec(index = 85)]
23454						Mortal85(::core::primitive::u8),
23455						#[codec(index = 86)]
23456						Mortal86(::core::primitive::u8),
23457						#[codec(index = 87)]
23458						Mortal87(::core::primitive::u8),
23459						#[codec(index = 88)]
23460						Mortal88(::core::primitive::u8),
23461						#[codec(index = 89)]
23462						Mortal89(::core::primitive::u8),
23463						#[codec(index = 90)]
23464						Mortal90(::core::primitive::u8),
23465						#[codec(index = 91)]
23466						Mortal91(::core::primitive::u8),
23467						#[codec(index = 92)]
23468						Mortal92(::core::primitive::u8),
23469						#[codec(index = 93)]
23470						Mortal93(::core::primitive::u8),
23471						#[codec(index = 94)]
23472						Mortal94(::core::primitive::u8),
23473						#[codec(index = 95)]
23474						Mortal95(::core::primitive::u8),
23475						#[codec(index = 96)]
23476						Mortal96(::core::primitive::u8),
23477						#[codec(index = 97)]
23478						Mortal97(::core::primitive::u8),
23479						#[codec(index = 98)]
23480						Mortal98(::core::primitive::u8),
23481						#[codec(index = 99)]
23482						Mortal99(::core::primitive::u8),
23483						#[codec(index = 100)]
23484						Mortal100(::core::primitive::u8),
23485						#[codec(index = 101)]
23486						Mortal101(::core::primitive::u8),
23487						#[codec(index = 102)]
23488						Mortal102(::core::primitive::u8),
23489						#[codec(index = 103)]
23490						Mortal103(::core::primitive::u8),
23491						#[codec(index = 104)]
23492						Mortal104(::core::primitive::u8),
23493						#[codec(index = 105)]
23494						Mortal105(::core::primitive::u8),
23495						#[codec(index = 106)]
23496						Mortal106(::core::primitive::u8),
23497						#[codec(index = 107)]
23498						Mortal107(::core::primitive::u8),
23499						#[codec(index = 108)]
23500						Mortal108(::core::primitive::u8),
23501						#[codec(index = 109)]
23502						Mortal109(::core::primitive::u8),
23503						#[codec(index = 110)]
23504						Mortal110(::core::primitive::u8),
23505						#[codec(index = 111)]
23506						Mortal111(::core::primitive::u8),
23507						#[codec(index = 112)]
23508						Mortal112(::core::primitive::u8),
23509						#[codec(index = 113)]
23510						Mortal113(::core::primitive::u8),
23511						#[codec(index = 114)]
23512						Mortal114(::core::primitive::u8),
23513						#[codec(index = 115)]
23514						Mortal115(::core::primitive::u8),
23515						#[codec(index = 116)]
23516						Mortal116(::core::primitive::u8),
23517						#[codec(index = 117)]
23518						Mortal117(::core::primitive::u8),
23519						#[codec(index = 118)]
23520						Mortal118(::core::primitive::u8),
23521						#[codec(index = 119)]
23522						Mortal119(::core::primitive::u8),
23523						#[codec(index = 120)]
23524						Mortal120(::core::primitive::u8),
23525						#[codec(index = 121)]
23526						Mortal121(::core::primitive::u8),
23527						#[codec(index = 122)]
23528						Mortal122(::core::primitive::u8),
23529						#[codec(index = 123)]
23530						Mortal123(::core::primitive::u8),
23531						#[codec(index = 124)]
23532						Mortal124(::core::primitive::u8),
23533						#[codec(index = 125)]
23534						Mortal125(::core::primitive::u8),
23535						#[codec(index = 126)]
23536						Mortal126(::core::primitive::u8),
23537						#[codec(index = 127)]
23538						Mortal127(::core::primitive::u8),
23539						#[codec(index = 128)]
23540						Mortal128(::core::primitive::u8),
23541						#[codec(index = 129)]
23542						Mortal129(::core::primitive::u8),
23543						#[codec(index = 130)]
23544						Mortal130(::core::primitive::u8),
23545						#[codec(index = 131)]
23546						Mortal131(::core::primitive::u8),
23547						#[codec(index = 132)]
23548						Mortal132(::core::primitive::u8),
23549						#[codec(index = 133)]
23550						Mortal133(::core::primitive::u8),
23551						#[codec(index = 134)]
23552						Mortal134(::core::primitive::u8),
23553						#[codec(index = 135)]
23554						Mortal135(::core::primitive::u8),
23555						#[codec(index = 136)]
23556						Mortal136(::core::primitive::u8),
23557						#[codec(index = 137)]
23558						Mortal137(::core::primitive::u8),
23559						#[codec(index = 138)]
23560						Mortal138(::core::primitive::u8),
23561						#[codec(index = 139)]
23562						Mortal139(::core::primitive::u8),
23563						#[codec(index = 140)]
23564						Mortal140(::core::primitive::u8),
23565						#[codec(index = 141)]
23566						Mortal141(::core::primitive::u8),
23567						#[codec(index = 142)]
23568						Mortal142(::core::primitive::u8),
23569						#[codec(index = 143)]
23570						Mortal143(::core::primitive::u8),
23571						#[codec(index = 144)]
23572						Mortal144(::core::primitive::u8),
23573						#[codec(index = 145)]
23574						Mortal145(::core::primitive::u8),
23575						#[codec(index = 146)]
23576						Mortal146(::core::primitive::u8),
23577						#[codec(index = 147)]
23578						Mortal147(::core::primitive::u8),
23579						#[codec(index = 148)]
23580						Mortal148(::core::primitive::u8),
23581						#[codec(index = 149)]
23582						Mortal149(::core::primitive::u8),
23583						#[codec(index = 150)]
23584						Mortal150(::core::primitive::u8),
23585						#[codec(index = 151)]
23586						Mortal151(::core::primitive::u8),
23587						#[codec(index = 152)]
23588						Mortal152(::core::primitive::u8),
23589						#[codec(index = 153)]
23590						Mortal153(::core::primitive::u8),
23591						#[codec(index = 154)]
23592						Mortal154(::core::primitive::u8),
23593						#[codec(index = 155)]
23594						Mortal155(::core::primitive::u8),
23595						#[codec(index = 156)]
23596						Mortal156(::core::primitive::u8),
23597						#[codec(index = 157)]
23598						Mortal157(::core::primitive::u8),
23599						#[codec(index = 158)]
23600						Mortal158(::core::primitive::u8),
23601						#[codec(index = 159)]
23602						Mortal159(::core::primitive::u8),
23603						#[codec(index = 160)]
23604						Mortal160(::core::primitive::u8),
23605						#[codec(index = 161)]
23606						Mortal161(::core::primitive::u8),
23607						#[codec(index = 162)]
23608						Mortal162(::core::primitive::u8),
23609						#[codec(index = 163)]
23610						Mortal163(::core::primitive::u8),
23611						#[codec(index = 164)]
23612						Mortal164(::core::primitive::u8),
23613						#[codec(index = 165)]
23614						Mortal165(::core::primitive::u8),
23615						#[codec(index = 166)]
23616						Mortal166(::core::primitive::u8),
23617						#[codec(index = 167)]
23618						Mortal167(::core::primitive::u8),
23619						#[codec(index = 168)]
23620						Mortal168(::core::primitive::u8),
23621						#[codec(index = 169)]
23622						Mortal169(::core::primitive::u8),
23623						#[codec(index = 170)]
23624						Mortal170(::core::primitive::u8),
23625						#[codec(index = 171)]
23626						Mortal171(::core::primitive::u8),
23627						#[codec(index = 172)]
23628						Mortal172(::core::primitive::u8),
23629						#[codec(index = 173)]
23630						Mortal173(::core::primitive::u8),
23631						#[codec(index = 174)]
23632						Mortal174(::core::primitive::u8),
23633						#[codec(index = 175)]
23634						Mortal175(::core::primitive::u8),
23635						#[codec(index = 176)]
23636						Mortal176(::core::primitive::u8),
23637						#[codec(index = 177)]
23638						Mortal177(::core::primitive::u8),
23639						#[codec(index = 178)]
23640						Mortal178(::core::primitive::u8),
23641						#[codec(index = 179)]
23642						Mortal179(::core::primitive::u8),
23643						#[codec(index = 180)]
23644						Mortal180(::core::primitive::u8),
23645						#[codec(index = 181)]
23646						Mortal181(::core::primitive::u8),
23647						#[codec(index = 182)]
23648						Mortal182(::core::primitive::u8),
23649						#[codec(index = 183)]
23650						Mortal183(::core::primitive::u8),
23651						#[codec(index = 184)]
23652						Mortal184(::core::primitive::u8),
23653						#[codec(index = 185)]
23654						Mortal185(::core::primitive::u8),
23655						#[codec(index = 186)]
23656						Mortal186(::core::primitive::u8),
23657						#[codec(index = 187)]
23658						Mortal187(::core::primitive::u8),
23659						#[codec(index = 188)]
23660						Mortal188(::core::primitive::u8),
23661						#[codec(index = 189)]
23662						Mortal189(::core::primitive::u8),
23663						#[codec(index = 190)]
23664						Mortal190(::core::primitive::u8),
23665						#[codec(index = 191)]
23666						Mortal191(::core::primitive::u8),
23667						#[codec(index = 192)]
23668						Mortal192(::core::primitive::u8),
23669						#[codec(index = 193)]
23670						Mortal193(::core::primitive::u8),
23671						#[codec(index = 194)]
23672						Mortal194(::core::primitive::u8),
23673						#[codec(index = 195)]
23674						Mortal195(::core::primitive::u8),
23675						#[codec(index = 196)]
23676						Mortal196(::core::primitive::u8),
23677						#[codec(index = 197)]
23678						Mortal197(::core::primitive::u8),
23679						#[codec(index = 198)]
23680						Mortal198(::core::primitive::u8),
23681						#[codec(index = 199)]
23682						Mortal199(::core::primitive::u8),
23683						#[codec(index = 200)]
23684						Mortal200(::core::primitive::u8),
23685						#[codec(index = 201)]
23686						Mortal201(::core::primitive::u8),
23687						#[codec(index = 202)]
23688						Mortal202(::core::primitive::u8),
23689						#[codec(index = 203)]
23690						Mortal203(::core::primitive::u8),
23691						#[codec(index = 204)]
23692						Mortal204(::core::primitive::u8),
23693						#[codec(index = 205)]
23694						Mortal205(::core::primitive::u8),
23695						#[codec(index = 206)]
23696						Mortal206(::core::primitive::u8),
23697						#[codec(index = 207)]
23698						Mortal207(::core::primitive::u8),
23699						#[codec(index = 208)]
23700						Mortal208(::core::primitive::u8),
23701						#[codec(index = 209)]
23702						Mortal209(::core::primitive::u8),
23703						#[codec(index = 210)]
23704						Mortal210(::core::primitive::u8),
23705						#[codec(index = 211)]
23706						Mortal211(::core::primitive::u8),
23707						#[codec(index = 212)]
23708						Mortal212(::core::primitive::u8),
23709						#[codec(index = 213)]
23710						Mortal213(::core::primitive::u8),
23711						#[codec(index = 214)]
23712						Mortal214(::core::primitive::u8),
23713						#[codec(index = 215)]
23714						Mortal215(::core::primitive::u8),
23715						#[codec(index = 216)]
23716						Mortal216(::core::primitive::u8),
23717						#[codec(index = 217)]
23718						Mortal217(::core::primitive::u8),
23719						#[codec(index = 218)]
23720						Mortal218(::core::primitive::u8),
23721						#[codec(index = 219)]
23722						Mortal219(::core::primitive::u8),
23723						#[codec(index = 220)]
23724						Mortal220(::core::primitive::u8),
23725						#[codec(index = 221)]
23726						Mortal221(::core::primitive::u8),
23727						#[codec(index = 222)]
23728						Mortal222(::core::primitive::u8),
23729						#[codec(index = 223)]
23730						Mortal223(::core::primitive::u8),
23731						#[codec(index = 224)]
23732						Mortal224(::core::primitive::u8),
23733						#[codec(index = 225)]
23734						Mortal225(::core::primitive::u8),
23735						#[codec(index = 226)]
23736						Mortal226(::core::primitive::u8),
23737						#[codec(index = 227)]
23738						Mortal227(::core::primitive::u8),
23739						#[codec(index = 228)]
23740						Mortal228(::core::primitive::u8),
23741						#[codec(index = 229)]
23742						Mortal229(::core::primitive::u8),
23743						#[codec(index = 230)]
23744						Mortal230(::core::primitive::u8),
23745						#[codec(index = 231)]
23746						Mortal231(::core::primitive::u8),
23747						#[codec(index = 232)]
23748						Mortal232(::core::primitive::u8),
23749						#[codec(index = 233)]
23750						Mortal233(::core::primitive::u8),
23751						#[codec(index = 234)]
23752						Mortal234(::core::primitive::u8),
23753						#[codec(index = 235)]
23754						Mortal235(::core::primitive::u8),
23755						#[codec(index = 236)]
23756						Mortal236(::core::primitive::u8),
23757						#[codec(index = 237)]
23758						Mortal237(::core::primitive::u8),
23759						#[codec(index = 238)]
23760						Mortal238(::core::primitive::u8),
23761						#[codec(index = 239)]
23762						Mortal239(::core::primitive::u8),
23763						#[codec(index = 240)]
23764						Mortal240(::core::primitive::u8),
23765						#[codec(index = 241)]
23766						Mortal241(::core::primitive::u8),
23767						#[codec(index = 242)]
23768						Mortal242(::core::primitive::u8),
23769						#[codec(index = 243)]
23770						Mortal243(::core::primitive::u8),
23771						#[codec(index = 244)]
23772						Mortal244(::core::primitive::u8),
23773						#[codec(index = 245)]
23774						Mortal245(::core::primitive::u8),
23775						#[codec(index = 246)]
23776						Mortal246(::core::primitive::u8),
23777						#[codec(index = 247)]
23778						Mortal247(::core::primitive::u8),
23779						#[codec(index = 248)]
23780						Mortal248(::core::primitive::u8),
23781						#[codec(index = 249)]
23782						Mortal249(::core::primitive::u8),
23783						#[codec(index = 250)]
23784						Mortal250(::core::primitive::u8),
23785						#[codec(index = 251)]
23786						Mortal251(::core::primitive::u8),
23787						#[codec(index = 252)]
23788						Mortal252(::core::primitive::u8),
23789						#[codec(index = 253)]
23790						Mortal253(::core::primitive::u8),
23791						#[codec(index = 254)]
23792						Mortal254(::core::primitive::u8),
23793						#[codec(index = 255)]
23794						Mortal255(::core::primitive::u8),
23795					}
23796				}
23797				pub mod header {
23798					use super::runtime_types;
23799					#[derive(
23800						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23801						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23802						Debug,
23803					)]
23804					#[decode_as_type(
23805						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23806					)]
23807					#[encode_as_type(
23808						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23809					)]
23810					pub struct Header<_0> {
23811						pub parent_hash: ::subxt::ext::subxt_core::utils::H256,
23812						#[codec(compact)]
23813						pub number: _0,
23814						pub state_root: ::subxt::ext::subxt_core::utils::H256,
23815						pub extrinsics_root: ::subxt::ext::subxt_core::utils::H256,
23816						pub digest: runtime_types::sp_runtime::generic::digest::Digest,
23817					}
23818				}
23819			}
23820			pub mod proving_trie {
23821				use super::runtime_types;
23822				#[derive(
23823					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23824					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23825					Debug,
23826				)]
23827				#[decode_as_type(
23828					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23829				)]
23830				#[encode_as_type(
23831					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23832				)]
23833				pub enum TrieError {
23834					#[codec(index = 0)]
23835					InvalidStateRoot,
23836					#[codec(index = 1)]
23837					IncompleteDatabase,
23838					#[codec(index = 2)]
23839					ValueAtIncompleteKey,
23840					#[codec(index = 3)]
23841					DecoderError,
23842					#[codec(index = 4)]
23843					InvalidHash,
23844					#[codec(index = 5)]
23845					DuplicateKey,
23846					#[codec(index = 6)]
23847					ExtraneousNode,
23848					#[codec(index = 7)]
23849					ExtraneousValue,
23850					#[codec(index = 8)]
23851					ExtraneousHashReference,
23852					#[codec(index = 9)]
23853					InvalidChildReference,
23854					#[codec(index = 10)]
23855					ValueMismatch,
23856					#[codec(index = 11)]
23857					IncompleteProof,
23858					#[codec(index = 12)]
23859					RootMismatch,
23860					#[codec(index = 13)]
23861					DecodeError,
23862				}
23863			}
23864			pub mod transaction_validity {
23865				use super::runtime_types;
23866				#[derive(
23867					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23868					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23869					Debug,
23870				)]
23871				#[decode_as_type(
23872					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23873				)]
23874				#[encode_as_type(
23875					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23876				)]
23877				pub enum InvalidTransaction {
23878					#[codec(index = 0)]
23879					Call,
23880					#[codec(index = 1)]
23881					Payment,
23882					#[codec(index = 2)]
23883					Future,
23884					#[codec(index = 3)]
23885					Stale,
23886					#[codec(index = 4)]
23887					BadProof,
23888					#[codec(index = 5)]
23889					AncientBirthBlock,
23890					#[codec(index = 6)]
23891					ExhaustsResources,
23892					#[codec(index = 7)]
23893					Custom(::core::primitive::u8),
23894					#[codec(index = 8)]
23895					BadMandatory,
23896					#[codec(index = 9)]
23897					MandatoryValidation,
23898					#[codec(index = 10)]
23899					BadSigner,
23900					#[codec(index = 11)]
23901					IndeterminateImplicit,
23902					#[codec(index = 12)]
23903					UnknownOrigin,
23904				}
23905				#[derive(
23906					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23907					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23908					Debug,
23909				)]
23910				#[decode_as_type(
23911					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23912				)]
23913				#[encode_as_type(
23914					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23915				)]
23916				pub enum TransactionSource {
23917					#[codec(index = 0)]
23918					InBlock,
23919					#[codec(index = 1)]
23920					Local,
23921					#[codec(index = 2)]
23922					External,
23923				}
23924				#[derive(
23925					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23926					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23927					Debug,
23928				)]
23929				#[decode_as_type(
23930					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23931				)]
23932				#[encode_as_type(
23933					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23934				)]
23935				pub enum TransactionValidityError {
23936					#[codec(index = 0)]
23937					Invalid(runtime_types::sp_runtime::transaction_validity::InvalidTransaction),
23938					#[codec(index = 1)]
23939					Unknown(runtime_types::sp_runtime::transaction_validity::UnknownTransaction),
23940				}
23941				#[derive(
23942					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23943					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23944					Debug,
23945				)]
23946				#[decode_as_type(
23947					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23948				)]
23949				#[encode_as_type(
23950					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23951				)]
23952				pub enum UnknownTransaction {
23953					#[codec(index = 0)]
23954					CannotLookup,
23955					#[codec(index = 1)]
23956					NoUnsignedValidator,
23957					#[codec(index = 2)]
23958					Custom(::core::primitive::u8),
23959				}
23960				#[derive(
23961					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23962					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23963					Debug,
23964				)]
23965				#[decode_as_type(
23966					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23967				)]
23968				#[encode_as_type(
23969					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23970				)]
23971				pub struct ValidTransaction {
23972					pub priority: ::core::primitive::u64,
23973					pub requires: ::subxt::ext::subxt_core::alloc::vec::Vec<
23974						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
23975					>,
23976					pub provides: ::subxt::ext::subxt_core::alloc::vec::Vec<
23977						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
23978					>,
23979					pub longevity: ::core::primitive::u64,
23980					pub propagate: ::core::primitive::bool,
23981				}
23982			}
23983			#[derive(
23984				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23985				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23986				Debug,
23987			)]
23988			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
23989			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
23990			pub enum DispatchError {
23991				#[codec(index = 0)]
23992				Other,
23993				#[codec(index = 1)]
23994				CannotLookup,
23995				#[codec(index = 2)]
23996				BadOrigin,
23997				#[codec(index = 3)]
23998				Module(runtime_types::sp_runtime::ModuleError),
23999				#[codec(index = 4)]
24000				ConsumerRemaining,
24001				#[codec(index = 5)]
24002				NoProviders,
24003				#[codec(index = 6)]
24004				TooManyConsumers,
24005				#[codec(index = 7)]
24006				Token(runtime_types::sp_runtime::TokenError),
24007				#[codec(index = 8)]
24008				Arithmetic(runtime_types::sp_arithmetic::ArithmeticError),
24009				#[codec(index = 9)]
24010				Transactional(runtime_types::sp_runtime::TransactionalError),
24011				#[codec(index = 10)]
24012				Exhausted,
24013				#[codec(index = 11)]
24014				Corruption,
24015				#[codec(index = 12)]
24016				Unavailable,
24017				#[codec(index = 13)]
24018				RootNotAllowed,
24019				#[codec(index = 14)]
24020				Trie(runtime_types::sp_runtime::proving_trie::TrieError),
24021			}
24022			#[derive(
24023				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24024				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24025				Debug,
24026			)]
24027			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24028			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24029			pub struct DispatchErrorWithPostInfo<_0> {
24030				pub post_info: _0,
24031				pub error: runtime_types::sp_runtime::DispatchError,
24032			}
24033			#[derive(
24034				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24035				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24036				Debug,
24037			)]
24038			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24039			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24040			pub enum ExtrinsicInclusionMode {
24041				#[codec(index = 0)]
24042				AllExtrinsics,
24043				#[codec(index = 1)]
24044				OnlyInherents,
24045			}
24046			#[derive(
24047				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24048				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24049				Debug,
24050			)]
24051			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24052			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24053			pub struct ModuleError {
24054				pub index: ::core::primitive::u8,
24055				pub error: [::core::primitive::u8; 4usize],
24056			}
24057			#[derive(
24058				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24059				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24060				Debug,
24061			)]
24062			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24063			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24064			pub enum TokenError {
24065				#[codec(index = 0)]
24066				FundsUnavailable,
24067				#[codec(index = 1)]
24068				OnlyProvider,
24069				#[codec(index = 2)]
24070				BelowMinimum,
24071				#[codec(index = 3)]
24072				CannotCreate,
24073				#[codec(index = 4)]
24074				UnknownAsset,
24075				#[codec(index = 5)]
24076				Frozen,
24077				#[codec(index = 6)]
24078				Unsupported,
24079				#[codec(index = 7)]
24080				CannotCreateHold,
24081				#[codec(index = 8)]
24082				NotExpendable,
24083				#[codec(index = 9)]
24084				Blocked,
24085			}
24086			#[derive(
24087				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24088				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24089				Debug,
24090			)]
24091			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24092			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24093			pub enum TransactionalError {
24094				#[codec(index = 0)]
24095				LimitReached,
24096				#[codec(index = 1)]
24097				NoLayer,
24098			}
24099		}
24100		pub mod sp_version {
24101			use super::runtime_types;
24102			#[derive(
24103				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24104				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24105				Debug,
24106			)]
24107			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24108			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24109			pub struct RuntimeVersion {
24110				pub spec_name: ::subxt::ext::subxt_core::alloc::string::String,
24111				pub impl_name: ::subxt::ext::subxt_core::alloc::string::String,
24112				pub authoring_version: ::core::primitive::u32,
24113				pub spec_version: ::core::primitive::u32,
24114				pub impl_version: ::core::primitive::u32,
24115				pub apis: ::subxt::ext::subxt_core::alloc::vec::Vec<(
24116					[::core::primitive::u8; 8usize],
24117					::core::primitive::u32,
24118				)>,
24119				pub transaction_version: ::core::primitive::u32,
24120				pub system_version: ::core::primitive::u8,
24121			}
24122		}
24123		pub mod sp_weights {
24124			use super::runtime_types;
24125			pub mod weight_v2 {
24126				use super::runtime_types;
24127				#[derive(
24128					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24129					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24130					Debug,
24131				)]
24132				#[decode_as_type(
24133					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24134				)]
24135				#[encode_as_type(
24136					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24137				)]
24138				pub struct Weight {
24139					#[codec(compact)]
24140					pub ref_time: ::core::primitive::u64,
24141					#[codec(compact)]
24142					pub proof_size: ::core::primitive::u64,
24143				}
24144			}
24145			#[derive(
24146				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24147				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24148				Debug,
24149			)]
24150			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24151			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24152			pub struct RuntimeDbWeight {
24153				pub read: ::core::primitive::u64,
24154				pub write: ::core::primitive::u64,
24155			}
24156		}
24157	}
24158}