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; 22usize] = [
10		"System",
11		"Timestamp",
12		"Balances",
13		"TransactionPayment",
14		"Sudo",
15		"QPoW",
16		"MiningRewards",
17		"Vesting",
18		"Preimage",
19		"Scheduler",
20		"Utility",
21		"Referenda",
22		"ReversibleTransfers",
23		"ConvictionVoting",
24		"TechCollective",
25		"TechReferenda",
26		"MerkleAirdrop",
27		"TreasuryPallet",
28		"Origins",
29		"Recovery",
30		"Assets",
31		"AssetsHolder",
32	];
33	pub static RUNTIME_APIS: [&str; 11usize] = [
34		"Core",
35		"Metadata",
36		"BlockBuilder",
37		"TaggedTransactionQueue",
38		"OffchainWorkerApi",
39		"SessionKeys",
40		"QPoWApi",
41		"AccountNonceApi",
42		"TransactionPaymentApi",
43		"TransactionPaymentCallApi",
44		"GenesisBuilder",
45	];
46	#[doc = r" The error type that is returned when there is a runtime issue."]
47	pub type DispatchError = runtime_types::sp_runtime::DispatchError;
48	#[doc = r" The outer event enum."]
49	pub type Event = runtime_types::quantus_runtime::RuntimeEvent;
50	#[doc = r" The outer extrinsic enum."]
51	pub type Call = runtime_types::quantus_runtime::RuntimeCall;
52	#[doc = r" The outer error enum represents the DispatchError's Module variant."]
53	pub type Error = runtime_types::quantus_runtime::RuntimeError;
54	pub fn constants() -> ConstantsApi {
55		ConstantsApi
56	}
57	pub fn storage() -> StorageApi {
58		StorageApi
59	}
60	pub fn tx() -> TransactionApi {
61		TransactionApi
62	}
63	pub fn apis() -> runtime_apis::RuntimeApi {
64		runtime_apis::RuntimeApi
65	}
66	pub mod runtime_apis {
67		use super::{root_mod, runtime_types};
68		use ::subxt::ext::subxt_core::ext::codec::Encode;
69		pub struct RuntimeApi;
70		impl RuntimeApi {
71			pub fn core(&self) -> core::Core {
72				core::Core
73			}
74			pub fn metadata(&self) -> metadata::Metadata {
75				metadata::Metadata
76			}
77			pub fn block_builder(&self) -> block_builder::BlockBuilder {
78				block_builder::BlockBuilder
79			}
80			pub fn tagged_transaction_queue(
81				&self,
82			) -> tagged_transaction_queue::TaggedTransactionQueue {
83				tagged_transaction_queue::TaggedTransactionQueue
84			}
85			pub fn offchain_worker_api(&self) -> offchain_worker_api::OffchainWorkerApi {
86				offchain_worker_api::OffchainWorkerApi
87			}
88			pub fn session_keys(&self) -> session_keys::SessionKeys {
89				session_keys::SessionKeys
90			}
91			pub fn q_po_w_api(&self) -> q_po_w_api::QPoWApi {
92				q_po_w_api::QPoWApi
93			}
94			pub fn account_nonce_api(&self) -> account_nonce_api::AccountNonceApi {
95				account_nonce_api::AccountNonceApi
96			}
97			pub fn transaction_payment_api(
98				&self,
99			) -> transaction_payment_api::TransactionPaymentApi {
100				transaction_payment_api::TransactionPaymentApi
101			}
102			pub fn transaction_payment_call_api(
103				&self,
104			) -> transaction_payment_call_api::TransactionPaymentCallApi {
105				transaction_payment_call_api::TransactionPaymentCallApi
106			}
107			pub fn genesis_builder(&self) -> genesis_builder::GenesisBuilder {
108				genesis_builder::GenesisBuilder
109			}
110		}
111		pub mod core {
112			use super::{root_mod, runtime_types};
113			#[doc = " The `Core` runtime api that every Substrate runtime needs to implement."]
114			pub struct Core;
115			impl Core {
116				#[doc = " Returns the version of the runtime."]
117				pub fn version(
118					&self,
119				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
120					types::Version,
121					types::version::output::Output,
122				> {
123					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
124						"Core",
125						"version",
126						types::Version {},
127						[
128							79u8, 22u8, 137u8, 4u8, 40u8, 64u8, 30u8, 180u8, 49u8, 222u8, 114u8,
129							125u8, 44u8, 25u8, 33u8, 152u8, 98u8, 42u8, 72u8, 178u8, 240u8, 103u8,
130							34u8, 187u8, 81u8, 161u8, 183u8, 6u8, 120u8, 2u8, 146u8, 0u8,
131						],
132					)
133				}
134				#[doc = " Execute the given block."]
135				pub fn execute_block(
136					&self,
137					block: types::execute_block::Block,
138				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
139					types::ExecuteBlock,
140					types::execute_block::output::Output,
141				> {
142					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
143						"Core",
144						"execute_block",
145						types::ExecuteBlock { block },
146						[
147							133u8, 135u8, 228u8, 65u8, 106u8, 27u8, 85u8, 158u8, 112u8, 254u8,
148							93u8, 26u8, 102u8, 201u8, 118u8, 216u8, 249u8, 247u8, 91u8, 74u8, 56u8,
149							208u8, 231u8, 115u8, 131u8, 29u8, 209u8, 6u8, 65u8, 57u8, 214u8, 125u8,
150						],
151					)
152				}
153				#[doc = " Initialize a block with the given header and return the runtime executive mode."]
154				pub fn initialize_block(
155					&self,
156					header: types::initialize_block::Header,
157				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
158					types::InitializeBlock,
159					types::initialize_block::output::Output,
160				> {
161					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
162						"Core",
163						"initialize_block",
164						types::InitializeBlock { header },
165						[
166							132u8, 169u8, 113u8, 112u8, 80u8, 139u8, 113u8, 35u8, 41u8, 81u8, 36u8,
167							35u8, 37u8, 202u8, 29u8, 207u8, 205u8, 229u8, 145u8, 7u8, 133u8, 94u8,
168							25u8, 108u8, 233u8, 86u8, 234u8, 29u8, 236u8, 57u8, 56u8, 186u8,
169						],
170					)
171				}
172			}
173			pub mod types {
174				use super::runtime_types;
175				pub mod version {
176					use super::runtime_types;
177					pub mod output {
178						use super::runtime_types;
179						pub type Output = runtime_types::sp_version::RuntimeVersion;
180					}
181				}
182				#[derive(
183					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
184					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
185					Debug,
186				)]
187				#[decode_as_type(
188					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
189				)]
190				#[encode_as_type(
191					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
192				)]
193				pub struct Version {}
194				pub mod execute_block {
195					use super::runtime_types;
196					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 :: qp_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 ,) > > ;
197					pub mod output {
198						use super::runtime_types;
199						pub type Output = ();
200					}
201				}
202				#[derive(
203					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
204					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
205					Debug,
206				)]
207				#[decode_as_type(
208					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
209				)]
210				#[encode_as_type(
211					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
212				)]
213				pub struct ExecuteBlock {
214					pub block: execute_block::Block,
215				}
216				pub mod initialize_block {
217					use super::runtime_types;
218					pub type Header =
219						runtime_types::sp_runtime::generic::header::Header<::core::primitive::u32>;
220					pub mod output {
221						use super::runtime_types;
222						pub type Output = runtime_types::sp_runtime::ExtrinsicInclusionMode;
223					}
224				}
225				#[derive(
226					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
227					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
228					Debug,
229				)]
230				#[decode_as_type(
231					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
232				)]
233				#[encode_as_type(
234					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
235				)]
236				pub struct InitializeBlock {
237					pub header: initialize_block::Header,
238				}
239			}
240		}
241		pub mod metadata {
242			use super::{root_mod, runtime_types};
243			#[doc = " The `Metadata` api trait that returns metadata for the runtime."]
244			pub struct Metadata;
245			impl Metadata {
246				#[doc = " Returns the metadata of a runtime."]
247				pub fn metadata(
248					&self,
249				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
250					types::Metadata,
251					types::metadata::output::Output,
252				> {
253					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
254						"Metadata",
255						"metadata",
256						types::Metadata {},
257						[
258							231u8, 24u8, 67u8, 152u8, 23u8, 26u8, 188u8, 82u8, 229u8, 6u8, 185u8,
259							27u8, 175u8, 68u8, 83u8, 122u8, 69u8, 89u8, 185u8, 74u8, 248u8, 87u8,
260							217u8, 124u8, 193u8, 252u8, 199u8, 186u8, 196u8, 179u8, 179u8, 96u8,
261						],
262					)
263				}
264				#[doc = " Returns the metadata at a given version."]
265				#[doc = ""]
266				#[doc = " If the given `version` isn't supported, this will return `None`."]
267				#[doc = " Use [`Self::metadata_versions`] to find out about supported metadata version of the runtime."]
268				pub fn metadata_at_version(
269					&self,
270					version: types::metadata_at_version::Version,
271				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
272					types::MetadataAtVersion,
273					types::metadata_at_version::output::Output,
274				> {
275					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
276						"Metadata",
277						"metadata_at_version",
278						types::MetadataAtVersion { version },
279						[
280							131u8, 53u8, 212u8, 234u8, 16u8, 25u8, 120u8, 252u8, 153u8, 153u8,
281							216u8, 28u8, 54u8, 113u8, 52u8, 236u8, 146u8, 68u8, 142u8, 8u8, 10u8,
282							169u8, 131u8, 142u8, 204u8, 38u8, 48u8, 108u8, 134u8, 86u8, 226u8,
283							61u8,
284						],
285					)
286				}
287				#[doc = " Returns the supported metadata versions."]
288				#[doc = ""]
289				#[doc = " This can be used to call `metadata_at_version`."]
290				pub fn metadata_versions(
291					&self,
292				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
293					types::MetadataVersions,
294					types::metadata_versions::output::Output,
295				> {
296					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
297						"Metadata",
298						"metadata_versions",
299						types::MetadataVersions {},
300						[
301							23u8, 144u8, 137u8, 91u8, 188u8, 39u8, 231u8, 208u8, 252u8, 218u8,
302							224u8, 176u8, 77u8, 32u8, 130u8, 212u8, 223u8, 76u8, 100u8, 190u8,
303							82u8, 94u8, 190u8, 8u8, 82u8, 244u8, 225u8, 179u8, 85u8, 176u8, 56u8,
304							16u8,
305						],
306					)
307				}
308			}
309			pub mod types {
310				use super::runtime_types;
311				pub mod metadata {
312					use super::runtime_types;
313					pub mod output {
314						use super::runtime_types;
315						pub type Output = runtime_types::sp_core::OpaqueMetadata;
316					}
317				}
318				#[derive(
319					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
320					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
321					Debug,
322				)]
323				#[decode_as_type(
324					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
325				)]
326				#[encode_as_type(
327					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
328				)]
329				pub struct Metadata {}
330				pub mod metadata_at_version {
331					use super::runtime_types;
332					pub type Version = ::core::primitive::u32;
333					pub mod output {
334						use super::runtime_types;
335						pub type Output =
336							::core::option::Option<runtime_types::sp_core::OpaqueMetadata>;
337					}
338				}
339				#[derive(
340					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
341					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
342					Debug,
343				)]
344				#[decode_as_type(
345					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
346				)]
347				#[encode_as_type(
348					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
349				)]
350				pub struct MetadataAtVersion {
351					pub version: metadata_at_version::Version,
352				}
353				pub mod metadata_versions {
354					use super::runtime_types;
355					pub mod output {
356						use super::runtime_types;
357						pub type Output =
358							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u32>;
359					}
360				}
361				#[derive(
362					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
363					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
364					Debug,
365				)]
366				#[decode_as_type(
367					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
368				)]
369				#[encode_as_type(
370					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
371				)]
372				pub struct MetadataVersions {}
373			}
374		}
375		pub mod block_builder {
376			use super::{root_mod, runtime_types};
377			#[doc = " The `BlockBuilder` api trait that provides the required functionality for building a block."]
378			pub struct BlockBuilder;
379			impl BlockBuilder {
380				#[doc = " Apply the given extrinsic."]
381				#[doc = ""]
382				#[doc = " Returns an inclusion outcome which specifies if this extrinsic is included in"]
383				#[doc = " this block or not."]
384				pub fn apply_extrinsic(
385					&self,
386					extrinsic: types::apply_extrinsic::Extrinsic,
387				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
388					types::ApplyExtrinsic,
389					types::apply_extrinsic::output::Output,
390				> {
391					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
392						"BlockBuilder",
393						"apply_extrinsic",
394						types::ApplyExtrinsic { extrinsic },
395						[
396							192u8, 184u8, 199u8, 4u8, 85u8, 136u8, 214u8, 205u8, 29u8, 29u8, 98u8,
397							145u8, 172u8, 92u8, 168u8, 161u8, 150u8, 133u8, 100u8, 243u8, 100u8,
398							100u8, 118u8, 28u8, 104u8, 82u8, 93u8, 63u8, 79u8, 36u8, 149u8, 144u8,
399						],
400					)
401				}
402				#[doc = " Finish the current block."]
403				pub fn finalize_block(
404					&self,
405				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
406					types::FinalizeBlock,
407					types::finalize_block::output::Output,
408				> {
409					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
410						"BlockBuilder",
411						"finalize_block",
412						types::FinalizeBlock {},
413						[
414							244u8, 207u8, 24u8, 33u8, 13u8, 69u8, 9u8, 249u8, 145u8, 143u8, 122u8,
415							96u8, 197u8, 55u8, 64u8, 111u8, 238u8, 224u8, 34u8, 201u8, 27u8, 146u8,
416							232u8, 99u8, 191u8, 30u8, 114u8, 16u8, 32u8, 220u8, 58u8, 62u8,
417						],
418					)
419				}
420				#[doc = " Generate inherent extrinsics. The inherent data will vary from chain to chain."]
421				pub fn inherent_extrinsics(
422					&self,
423					inherent: types::inherent_extrinsics::Inherent,
424				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
425					types::InherentExtrinsics,
426					types::inherent_extrinsics::output::Output,
427				> {
428					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
429						"BlockBuilder",
430						"inherent_extrinsics",
431						types::InherentExtrinsics { inherent },
432						[
433							254u8, 110u8, 245u8, 201u8, 250u8, 192u8, 27u8, 228u8, 151u8, 213u8,
434							166u8, 89u8, 94u8, 81u8, 189u8, 234u8, 64u8, 18u8, 245u8, 80u8, 29u8,
435							18u8, 140u8, 129u8, 113u8, 236u8, 135u8, 55u8, 79u8, 159u8, 175u8,
436							183u8,
437						],
438					)
439				}
440				#[doc = " Check that the inherents are valid. The inherent data will vary from chain to chain."]
441				pub fn check_inherents(
442					&self,
443					block: types::check_inherents::Block,
444					data: types::check_inherents::Data,
445				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
446					types::CheckInherents,
447					types::check_inherents::output::Output,
448				> {
449					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
450						"BlockBuilder",
451						"check_inherents",
452						types::CheckInherents { block, data },
453						[
454							153u8, 134u8, 1u8, 215u8, 139u8, 11u8, 53u8, 51u8, 210u8, 175u8, 197u8,
455							28u8, 38u8, 209u8, 175u8, 247u8, 142u8, 157u8, 50u8, 151u8, 164u8,
456							191u8, 181u8, 118u8, 80u8, 97u8, 160u8, 248u8, 110u8, 217u8, 181u8,
457							234u8,
458						],
459					)
460				}
461			}
462			pub mod types {
463				use super::runtime_types;
464				pub mod apply_extrinsic {
465					use super::runtime_types;
466					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 :: qp_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 ,) > ;
467					pub mod output {
468						use super::runtime_types;
469						pub type Output = :: core :: result :: Result < :: core :: result :: Result < () , runtime_types :: sp_runtime :: DispatchError > , runtime_types :: sp_runtime :: transaction_validity :: TransactionValidityError > ;
470					}
471				}
472				#[derive(
473					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
474					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
475					Debug,
476				)]
477				#[decode_as_type(
478					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
479				)]
480				#[encode_as_type(
481					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
482				)]
483				pub struct ApplyExtrinsic {
484					pub extrinsic: apply_extrinsic::Extrinsic,
485				}
486				pub mod finalize_block {
487					use super::runtime_types;
488					pub mod output {
489						use super::runtime_types;
490						pub type Output = runtime_types::sp_runtime::generic::header::Header<
491							::core::primitive::u32,
492						>;
493					}
494				}
495				#[derive(
496					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
497					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
498					Debug,
499				)]
500				#[decode_as_type(
501					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
502				)]
503				#[encode_as_type(
504					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
505				)]
506				pub struct FinalizeBlock {}
507				pub mod inherent_extrinsics {
508					use super::runtime_types;
509					pub type Inherent = runtime_types::sp_inherents::InherentData;
510					pub mod output {
511						use super::runtime_types;
512						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 :: qp_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 ,) > > ;
513					}
514				}
515				#[derive(
516					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
517					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
518					Debug,
519				)]
520				#[decode_as_type(
521					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
522				)]
523				#[encode_as_type(
524					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
525				)]
526				pub struct InherentExtrinsics {
527					pub inherent: inherent_extrinsics::Inherent,
528				}
529				pub mod check_inherents {
530					use super::runtime_types;
531					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 :: qp_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 ,) > > ;
532					pub type Data = runtime_types::sp_inherents::InherentData;
533					pub mod output {
534						use super::runtime_types;
535						pub type Output = runtime_types::sp_inherents::CheckInherentsResult;
536					}
537				}
538				#[derive(
539					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
540					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
541					Debug,
542				)]
543				#[decode_as_type(
544					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
545				)]
546				#[encode_as_type(
547					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
548				)]
549				pub struct CheckInherents {
550					pub block: check_inherents::Block,
551					pub data: check_inherents::Data,
552				}
553			}
554		}
555		pub mod tagged_transaction_queue {
556			use super::{root_mod, runtime_types};
557			#[doc = " The `TaggedTransactionQueue` api trait for interfering with the transaction queue."]
558			pub struct TaggedTransactionQueue;
559			impl TaggedTransactionQueue {
560				#[doc = " Validate the transaction."]
561				#[doc = ""]
562				#[doc = " This method is invoked by the transaction pool to learn details about given transaction."]
563				#[doc = " The implementation should make sure to verify the correctness of the transaction"]
564				#[doc = " against current state. The given `block_hash` corresponds to the hash of the block"]
565				#[doc = " that is used as current state."]
566				#[doc = ""]
567				#[doc = " Note that this call may be performed by the pool multiple times and transactions"]
568				#[doc = " might be verified in any possible order."]
569				pub fn validate_transaction(
570					&self,
571					source: types::validate_transaction::Source,
572					tx: types::validate_transaction::Tx,
573					block_hash: types::validate_transaction::BlockHash,
574				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
575					types::ValidateTransaction,
576					types::validate_transaction::output::Output,
577				> {
578					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
579						"TaggedTransactionQueue",
580						"validate_transaction",
581						types::ValidateTransaction { source, tx, block_hash },
582						[
583							19u8, 53u8, 170u8, 115u8, 75u8, 121u8, 231u8, 50u8, 199u8, 181u8,
584							243u8, 170u8, 163u8, 224u8, 213u8, 134u8, 206u8, 207u8, 88u8, 242u8,
585							80u8, 139u8, 233u8, 87u8, 175u8, 249u8, 178u8, 169u8, 255u8, 171u8,
586							4u8, 125u8,
587						],
588					)
589				}
590			}
591			pub mod types {
592				use super::runtime_types;
593				pub mod validate_transaction {
594					use super::runtime_types;
595					pub type Source =
596						runtime_types::sp_runtime::transaction_validity::TransactionSource;
597					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 :: qp_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 ,) > ;
598					pub type BlockHash = ::subxt::ext::subxt_core::utils::H256;
599					pub mod output {
600						use super::runtime_types;
601						pub type Output = :: core :: result :: Result < runtime_types :: sp_runtime :: transaction_validity :: ValidTransaction , runtime_types :: sp_runtime :: transaction_validity :: TransactionValidityError > ;
602					}
603				}
604				#[derive(
605					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
606					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
607					Debug,
608				)]
609				#[decode_as_type(
610					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
611				)]
612				#[encode_as_type(
613					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
614				)]
615				pub struct ValidateTransaction {
616					pub source: validate_transaction::Source,
617					pub tx: validate_transaction::Tx,
618					pub block_hash: validate_transaction::BlockHash,
619				}
620			}
621		}
622		pub mod offchain_worker_api {
623			use super::{root_mod, runtime_types};
624			#[doc = " The offchain worker api."]
625			pub struct OffchainWorkerApi;
626			impl OffchainWorkerApi {
627				#[doc = " Starts the off-chain task for given block header."]
628				pub fn offchain_worker(
629					&self,
630					header: types::offchain_worker::Header,
631				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
632					types::OffchainWorker,
633					types::offchain_worker::output::Output,
634				> {
635					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
636						"OffchainWorkerApi",
637						"offchain_worker",
638						types::OffchainWorker { header },
639						[
640							10u8, 135u8, 19u8, 153u8, 33u8, 216u8, 18u8, 242u8, 33u8, 140u8, 4u8,
641							223u8, 200u8, 130u8, 103u8, 118u8, 137u8, 24u8, 19u8, 127u8, 161u8,
642							29u8, 184u8, 111u8, 222u8, 111u8, 253u8, 73u8, 45u8, 31u8, 79u8, 60u8,
643						],
644					)
645				}
646			}
647			pub mod types {
648				use super::runtime_types;
649				pub mod offchain_worker {
650					use super::runtime_types;
651					pub type Header =
652						runtime_types::sp_runtime::generic::header::Header<::core::primitive::u32>;
653					pub mod output {
654						use super::runtime_types;
655						pub type Output = ();
656					}
657				}
658				#[derive(
659					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
660					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
661					Debug,
662				)]
663				#[decode_as_type(
664					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
665				)]
666				#[encode_as_type(
667					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
668				)]
669				pub struct OffchainWorker {
670					pub header: offchain_worker::Header,
671				}
672			}
673		}
674		pub mod session_keys {
675			use super::{root_mod, runtime_types};
676			#[doc = " Session keys runtime api."]
677			pub struct SessionKeys;
678			impl SessionKeys {
679				#[doc = " Generate a set of session keys with optionally using the given seed."]
680				#[doc = " The keys should be stored within the keystore exposed via runtime"]
681				#[doc = " externalities."]
682				#[doc = ""]
683				#[doc = " The seed needs to be a valid `utf8` string."]
684				#[doc = ""]
685				#[doc = " Returns the concatenated SCALE encoded public keys."]
686				pub fn generate_session_keys(
687					&self,
688					seed: types::generate_session_keys::Seed,
689				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
690					types::GenerateSessionKeys,
691					types::generate_session_keys::output::Output,
692				> {
693					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
694						"SessionKeys",
695						"generate_session_keys",
696						types::GenerateSessionKeys { seed },
697						[
698							96u8, 171u8, 164u8, 166u8, 175u8, 102u8, 101u8, 47u8, 133u8, 95u8,
699							102u8, 202u8, 83u8, 26u8, 238u8, 47u8, 126u8, 132u8, 22u8, 11u8, 33u8,
700							190u8, 175u8, 94u8, 58u8, 245u8, 46u8, 80u8, 195u8, 184u8, 107u8, 65u8,
701						],
702					)
703				}
704				#[doc = " Decode the given public session keys."]
705				#[doc = ""]
706				#[doc = " Returns the list of public raw public keys + key type."]
707				pub fn decode_session_keys(
708					&self,
709					encoded: types::decode_session_keys::Encoded,
710				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
711					types::DecodeSessionKeys,
712					types::decode_session_keys::output::Output,
713				> {
714					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
715						"SessionKeys",
716						"decode_session_keys",
717						types::DecodeSessionKeys { encoded },
718						[
719							57u8, 242u8, 18u8, 51u8, 132u8, 110u8, 238u8, 255u8, 39u8, 194u8, 8u8,
720							54u8, 198u8, 178u8, 75u8, 151u8, 148u8, 176u8, 144u8, 197u8, 87u8,
721							29u8, 179u8, 235u8, 176u8, 78u8, 252u8, 103u8, 72u8, 203u8, 151u8,
722							248u8,
723						],
724					)
725				}
726			}
727			pub mod types {
728				use super::runtime_types;
729				pub mod generate_session_keys {
730					use super::runtime_types;
731					pub type Seed = ::core::option::Option<
732						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
733					>;
734					pub mod output {
735						use super::runtime_types;
736						pub type Output =
737							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
738					}
739				}
740				#[derive(
741					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
742					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
743					Debug,
744				)]
745				#[decode_as_type(
746					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
747				)]
748				#[encode_as_type(
749					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
750				)]
751				pub struct GenerateSessionKeys {
752					pub seed: generate_session_keys::Seed,
753				}
754				pub mod decode_session_keys {
755					use super::runtime_types;
756					pub type Encoded =
757						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
758					pub mod output {
759						use super::runtime_types;
760						pub type Output = ::core::option::Option<
761							::subxt::ext::subxt_core::alloc::vec::Vec<(
762								::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
763								runtime_types::sp_core::crypto::KeyTypeId,
764							)>,
765						>;
766					}
767				}
768				#[derive(
769					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
770					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
771					Debug,
772				)]
773				#[decode_as_type(
774					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
775				)]
776				#[encode_as_type(
777					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
778				)]
779				pub struct DecodeSessionKeys {
780					pub encoded: decode_session_keys::Encoded,
781				}
782			}
783		}
784		pub mod q_po_w_api {
785			use super::{root_mod, runtime_types};
786			pub struct QPoWApi;
787			impl QPoWApi {
788				#[doc = " calculate distance header with nonce to with nonce"]
789				pub fn get_nonce_distance(
790					&self,
791					block_hash: types::get_nonce_distance::BlockHash,
792					nonce: types::get_nonce_distance::Nonce,
793				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
794					types::GetNonceDistance,
795					types::get_nonce_distance::output::Output,
796				> {
797					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
798						"QPoWApi",
799						"get_nonce_distance",
800						types::GetNonceDistance { block_hash, nonce },
801						[
802							129u8, 114u8, 220u8, 23u8, 229u8, 124u8, 105u8, 65u8, 77u8, 91u8, 9u8,
803							2u8, 2u8, 177u8, 124u8, 108u8, 143u8, 100u8, 174u8, 61u8, 29u8, 55u8,
804							166u8, 162u8, 16u8, 61u8, 75u8, 213u8, 182u8, 125u8, 7u8, 120u8,
805						],
806					)
807				}
808				#[doc = " Get the max possible reorg depth"]
809				pub fn get_max_reorg_depth(
810					&self,
811				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
812					types::GetMaxReorgDepth,
813					types::get_max_reorg_depth::output::Output,
814				> {
815					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
816						"QPoWApi",
817						"get_max_reorg_depth",
818						types::GetMaxReorgDepth {},
819						[
820							95u8, 253u8, 190u8, 31u8, 75u8, 182u8, 224u8, 166u8, 3u8, 9u8, 29u8,
821							200u8, 89u8, 143u8, 104u8, 126u8, 178u8, 83u8, 156u8, 109u8, 140u8,
822							177u8, 70u8, 113u8, 23u8, 182u8, 236u8, 236u8, 111u8, 145u8, 237u8,
823							148u8,
824						],
825					)
826				}
827				#[doc = " Get the max possible distance_threshold for work calculation"]
828				pub fn get_max_distance(
829					&self,
830				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
831					types::GetMaxDistance,
832					types::get_max_distance::output::Output,
833				> {
834					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
835						"QPoWApi",
836						"get_max_distance",
837						types::GetMaxDistance {},
838						[
839							228u8, 221u8, 157u8, 71u8, 206u8, 66u8, 16u8, 79u8, 17u8, 1u8, 0u8,
840							134u8, 36u8, 195u8, 232u8, 254u8, 165u8, 162u8, 169u8, 184u8, 85u8,
841							136u8, 11u8, 10u8, 40u8, 197u8, 225u8, 249u8, 240u8, 43u8, 120u8, 45u8,
842						],
843					)
844				}
845				#[doc = " Get the current difficulty (max_distance / distance_threshold)"]
846				pub fn get_difficulty(
847					&self,
848				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
849					types::GetDifficulty,
850					types::get_difficulty::output::Output,
851				> {
852					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
853						"QPoWApi",
854						"get_difficulty",
855						types::GetDifficulty {},
856						[
857							180u8, 101u8, 92u8, 73u8, 15u8, 146u8, 167u8, 45u8, 127u8, 230u8,
858							148u8, 6u8, 174u8, 121u8, 38u8, 103u8, 46u8, 5u8, 235u8, 20u8, 133u8,
859							207u8, 67u8, 211u8, 25u8, 112u8, 83u8, 196u8, 118u8, 66u8, 118u8,
860							179u8,
861						],
862					)
863				}
864				#[doc = " Get the current distance_threshold target for proof generation"]
865				pub fn get_distance_threshold(
866					&self,
867				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
868					types::GetDistanceThreshold,
869					types::get_distance_threshold::output::Output,
870				> {
871					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
872						"QPoWApi",
873						"get_distance_threshold",
874						types::GetDistanceThreshold {},
875						[
876							84u8, 236u8, 60u8, 104u8, 10u8, 61u8, 150u8, 165u8, 61u8, 214u8, 204u8,
877							210u8, 47u8, 211u8, 67u8, 136u8, 243u8, 72u8, 252u8, 132u8, 128u8,
878							28u8, 166u8, 87u8, 131u8, 48u8, 61u8, 109u8, 115u8, 66u8, 190u8, 201u8,
879						],
880					)
881				}
882				#[doc = " Get total work"]
883				pub fn get_total_work(
884					&self,
885				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
886					types::GetTotalWork,
887					types::get_total_work::output::Output,
888				> {
889					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
890						"QPoWApi",
891						"get_total_work",
892						types::GetTotalWork {},
893						[
894							1u8, 91u8, 59u8, 140u8, 203u8, 250u8, 8u8, 65u8, 208u8, 35u8, 187u8,
895							190u8, 255u8, 125u8, 190u8, 111u8, 216u8, 168u8, 83u8, 32u8, 37u8,
896							203u8, 102u8, 226u8, 88u8, 207u8, 253u8, 59u8, 86u8, 72u8, 30u8, 171u8,
897						],
898					)
899				}
900				#[doc = " Get block ema"]
901				pub fn get_block_time_ema(
902					&self,
903				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
904					types::GetBlockTimeEma,
905					types::get_block_time_ema::output::Output,
906				> {
907					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
908						"QPoWApi",
909						"get_block_time_ema",
910						types::GetBlockTimeEma {},
911						[
912							250u8, 101u8, 7u8, 92u8, 2u8, 209u8, 35u8, 184u8, 188u8, 152u8, 196u8,
913							182u8, 14u8, 245u8, 245u8, 243u8, 55u8, 180u8, 6u8, 36u8, 123u8, 95u8,
914							19u8, 102u8, 37u8, 142u8, 238u8, 97u8, 63u8, 133u8, 233u8, 6u8,
915						],
916					)
917				}
918				#[doc = " Get last block timestamp"]
919				pub fn get_last_block_time(
920					&self,
921				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
922					types::GetLastBlockTime,
923					types::get_last_block_time::output::Output,
924				> {
925					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
926						"QPoWApi",
927						"get_last_block_time",
928						types::GetLastBlockTime {},
929						[
930							207u8, 192u8, 227u8, 7u8, 154u8, 92u8, 133u8, 111u8, 21u8, 9u8, 21u8,
931							171u8, 235u8, 117u8, 143u8, 199u8, 19u8, 67u8, 76u8, 35u8, 220u8, 32u8,
932							221u8, 166u8, 0u8, 234u8, 107u8, 217u8, 122u8, 89u8, 91u8, 144u8,
933						],
934					)
935				}
936				pub fn get_last_block_duration(
937					&self,
938				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
939					types::GetLastBlockDuration,
940					types::get_last_block_duration::output::Output,
941				> {
942					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
943						"QPoWApi",
944						"get_last_block_duration",
945						types::GetLastBlockDuration {},
946						[
947							103u8, 98u8, 123u8, 21u8, 125u8, 171u8, 88u8, 46u8, 187u8, 94u8, 96u8,
948							238u8, 16u8, 122u8, 81u8, 108u8, 157u8, 204u8, 79u8, 43u8, 170u8,
949							235u8, 176u8, 238u8, 174u8, 235u8, 47u8, 152u8, 167u8, 245u8, 243u8,
950							157u8,
951						],
952					)
953				}
954				pub fn get_chain_height(
955					&self,
956				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
957					types::GetChainHeight,
958					types::get_chain_height::output::Output,
959				> {
960					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
961						"QPoWApi",
962						"get_chain_height",
963						types::GetChainHeight {},
964						[
965							249u8, 203u8, 37u8, 234u8, 170u8, 203u8, 200u8, 147u8, 30u8, 193u8,
966							91u8, 97u8, 96u8, 104u8, 39u8, 96u8, 171u8, 69u8, 119u8, 30u8, 112u8,
967							81u8, 132u8, 33u8, 69u8, 168u8, 70u8, 33u8, 196u8, 16u8, 215u8, 113u8,
968						],
969					)
970				}
971				pub fn get_random_rsa(
972					&self,
973					block_hash: types::get_random_rsa::BlockHash,
974				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
975					types::GetRandomRsa,
976					types::get_random_rsa::output::Output,
977				> {
978					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
979						"QPoWApi",
980						"get_random_rsa",
981						types::GetRandomRsa { block_hash },
982						[
983							179u8, 195u8, 121u8, 252u8, 235u8, 176u8, 160u8, 58u8, 188u8, 236u8,
984							106u8, 222u8, 47u8, 7u8, 73u8, 89u8, 186u8, 175u8, 25u8, 77u8, 196u8,
985							68u8, 111u8, 186u8, 181u8, 178u8, 2u8, 205u8, 215u8, 142u8, 157u8,
986							160u8,
987						],
988					)
989				}
990				pub fn hash_to_group_bigint(
991					&self,
992					h: types::hash_to_group_bigint::H,
993					m: types::hash_to_group_bigint::M,
994					n: types::hash_to_group_bigint::N,
995					solution: types::hash_to_group_bigint::Solution,
996				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
997					types::HashToGroupBigint,
998					types::hash_to_group_bigint::output::Output,
999				> {
1000					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1001						"QPoWApi",
1002						"hash_to_group_bigint",
1003						types::HashToGroupBigint { h, m, n, solution },
1004						[
1005							117u8, 71u8, 148u8, 115u8, 194u8, 210u8, 59u8, 139u8, 102u8, 255u8,
1006							55u8, 207u8, 118u8, 114u8, 98u8, 151u8, 147u8, 99u8, 142u8, 158u8,
1007							185u8, 151u8, 118u8, 31u8, 192u8, 26u8, 63u8, 150u8, 50u8, 123u8, 40u8,
1008							163u8,
1009						],
1010					)
1011				}
1012				pub fn verify_nonce_on_import_block(
1013					&self,
1014					block_hash: types::verify_nonce_on_import_block::BlockHash,
1015					nonce: types::verify_nonce_on_import_block::Nonce,
1016				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1017					types::VerifyNonceOnImportBlock,
1018					types::verify_nonce_on_import_block::output::Output,
1019				> {
1020					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1021						"QPoWApi",
1022						"verify_nonce_on_import_block",
1023						types::VerifyNonceOnImportBlock { block_hash, nonce },
1024						[
1025							178u8, 216u8, 20u8, 254u8, 253u8, 202u8, 63u8, 238u8, 164u8, 135u8,
1026							163u8, 28u8, 170u8, 44u8, 183u8, 157u8, 211u8, 62u8, 4u8, 77u8, 30u8,
1027							32u8, 68u8, 166u8, 42u8, 161u8, 111u8, 79u8, 54u8, 54u8, 40u8, 15u8,
1028						],
1029					)
1030				}
1031				pub fn verify_nonce_local_mining(
1032					&self,
1033					block_hash: types::verify_nonce_local_mining::BlockHash,
1034					nonce: types::verify_nonce_local_mining::Nonce,
1035				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1036					types::VerifyNonceLocalMining,
1037					types::verify_nonce_local_mining::output::Output,
1038				> {
1039					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1040						"QPoWApi",
1041						"verify_nonce_local_mining",
1042						types::VerifyNonceLocalMining { block_hash, nonce },
1043						[
1044							10u8, 191u8, 243u8, 4u8, 31u8, 132u8, 202u8, 157u8, 183u8, 189u8, 49u8,
1045							76u8, 201u8, 182u8, 52u8, 197u8, 34u8, 248u8, 253u8, 226u8, 64u8,
1046							100u8, 108u8, 2u8, 119u8, 85u8, 184u8, 96u8, 25u8, 156u8, 108u8, 240u8,
1047						],
1048					)
1049				}
1050			}
1051			pub mod types {
1052				use super::runtime_types;
1053				pub mod get_nonce_distance {
1054					use super::runtime_types;
1055					pub type BlockHash = [::core::primitive::u8; 32usize];
1056					pub type Nonce = [::core::primitive::u8; 64usize];
1057					pub mod output {
1058						use super::runtime_types;
1059						pub type Output = runtime_types::primitive_types::U512;
1060					}
1061				}
1062				#[derive(
1063					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1064					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1065					Debug,
1066				)]
1067				#[decode_as_type(
1068					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1069				)]
1070				#[encode_as_type(
1071					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1072				)]
1073				pub struct GetNonceDistance {
1074					pub block_hash: get_nonce_distance::BlockHash,
1075					pub nonce: get_nonce_distance::Nonce,
1076				}
1077				pub mod get_max_reorg_depth {
1078					use super::runtime_types;
1079					pub mod output {
1080						use super::runtime_types;
1081						pub type Output = ::core::primitive::u32;
1082					}
1083				}
1084				#[derive(
1085					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1086					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1087					Debug,
1088				)]
1089				#[decode_as_type(
1090					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1091				)]
1092				#[encode_as_type(
1093					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1094				)]
1095				pub struct GetMaxReorgDepth {}
1096				pub mod get_max_distance {
1097					use super::runtime_types;
1098					pub mod output {
1099						use super::runtime_types;
1100						pub type Output = runtime_types::primitive_types::U512;
1101					}
1102				}
1103				#[derive(
1104					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1105					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1106					Debug,
1107				)]
1108				#[decode_as_type(
1109					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1110				)]
1111				#[encode_as_type(
1112					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1113				)]
1114				pub struct GetMaxDistance {}
1115				pub mod get_difficulty {
1116					use super::runtime_types;
1117					pub mod output {
1118						use super::runtime_types;
1119						pub type Output = runtime_types::primitive_types::U512;
1120					}
1121				}
1122				#[derive(
1123					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1124					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1125					Debug,
1126				)]
1127				#[decode_as_type(
1128					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1129				)]
1130				#[encode_as_type(
1131					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1132				)]
1133				pub struct GetDifficulty {}
1134				pub mod get_distance_threshold {
1135					use super::runtime_types;
1136					pub mod output {
1137						use super::runtime_types;
1138						pub type Output = runtime_types::primitive_types::U512;
1139					}
1140				}
1141				#[derive(
1142					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1143					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1144					Debug,
1145				)]
1146				#[decode_as_type(
1147					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1148				)]
1149				#[encode_as_type(
1150					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1151				)]
1152				pub struct GetDistanceThreshold {}
1153				pub mod get_total_work {
1154					use super::runtime_types;
1155					pub mod output {
1156						use super::runtime_types;
1157						pub type Output = runtime_types::primitive_types::U512;
1158					}
1159				}
1160				#[derive(
1161					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1162					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1163					Debug,
1164				)]
1165				#[decode_as_type(
1166					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1167				)]
1168				#[encode_as_type(
1169					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1170				)]
1171				pub struct GetTotalWork {}
1172				pub mod get_block_time_ema {
1173					use super::runtime_types;
1174					pub mod output {
1175						use super::runtime_types;
1176						pub type Output = ::core::primitive::u64;
1177					}
1178				}
1179				#[derive(
1180					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1181					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1182					Debug,
1183				)]
1184				#[decode_as_type(
1185					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1186				)]
1187				#[encode_as_type(
1188					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1189				)]
1190				pub struct GetBlockTimeEma {}
1191				pub mod get_last_block_time {
1192					use super::runtime_types;
1193					pub mod output {
1194						use super::runtime_types;
1195						pub type Output = ::core::primitive::u64;
1196					}
1197				}
1198				#[derive(
1199					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1200					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1201					Debug,
1202				)]
1203				#[decode_as_type(
1204					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1205				)]
1206				#[encode_as_type(
1207					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1208				)]
1209				pub struct GetLastBlockTime {}
1210				pub mod get_last_block_duration {
1211					use super::runtime_types;
1212					pub mod output {
1213						use super::runtime_types;
1214						pub type Output = ::core::primitive::u64;
1215					}
1216				}
1217				#[derive(
1218					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1219					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1220					Debug,
1221				)]
1222				#[decode_as_type(
1223					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1224				)]
1225				#[encode_as_type(
1226					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1227				)]
1228				pub struct GetLastBlockDuration {}
1229				pub mod get_chain_height {
1230					use super::runtime_types;
1231					pub mod output {
1232						use super::runtime_types;
1233						pub type Output = ::core::primitive::u32;
1234					}
1235				}
1236				#[derive(
1237					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1238					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1239					Debug,
1240				)]
1241				#[decode_as_type(
1242					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1243				)]
1244				#[encode_as_type(
1245					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1246				)]
1247				pub struct GetChainHeight {}
1248				pub mod get_random_rsa {
1249					use super::runtime_types;
1250					pub type BlockHash = [::core::primitive::u8; 32usize];
1251					pub mod output {
1252						use super::runtime_types;
1253						pub type Output = (
1254							runtime_types::primitive_types::U512,
1255							runtime_types::primitive_types::U512,
1256						);
1257					}
1258				}
1259				#[derive(
1260					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1261					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1262					Debug,
1263				)]
1264				#[decode_as_type(
1265					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1266				)]
1267				#[encode_as_type(
1268					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1269				)]
1270				pub struct GetRandomRsa {
1271					pub block_hash: get_random_rsa::BlockHash,
1272				}
1273				pub mod hash_to_group_bigint {
1274					use super::runtime_types;
1275					pub type H = runtime_types::primitive_types::U512;
1276					pub type M = runtime_types::primitive_types::U512;
1277					pub type N = runtime_types::primitive_types::U512;
1278					pub type Solution = runtime_types::primitive_types::U512;
1279					pub mod output {
1280						use super::runtime_types;
1281						pub type Output = runtime_types::primitive_types::U512;
1282					}
1283				}
1284				#[derive(
1285					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1286					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1287					Debug,
1288				)]
1289				#[decode_as_type(
1290					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1291				)]
1292				#[encode_as_type(
1293					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1294				)]
1295				pub struct HashToGroupBigint {
1296					pub h: hash_to_group_bigint::H,
1297					pub m: hash_to_group_bigint::M,
1298					pub n: hash_to_group_bigint::N,
1299					pub solution: hash_to_group_bigint::Solution,
1300				}
1301				pub mod verify_nonce_on_import_block {
1302					use super::runtime_types;
1303					pub type BlockHash = [::core::primitive::u8; 32usize];
1304					pub type Nonce = [::core::primitive::u8; 64usize];
1305					pub mod output {
1306						use super::runtime_types;
1307						pub type Output = ::core::primitive::bool;
1308					}
1309				}
1310				#[derive(
1311					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1312					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1313					Debug,
1314				)]
1315				#[decode_as_type(
1316					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1317				)]
1318				#[encode_as_type(
1319					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1320				)]
1321				pub struct VerifyNonceOnImportBlock {
1322					pub block_hash: verify_nonce_on_import_block::BlockHash,
1323					pub nonce: verify_nonce_on_import_block::Nonce,
1324				}
1325				pub mod verify_nonce_local_mining {
1326					use super::runtime_types;
1327					pub type BlockHash = [::core::primitive::u8; 32usize];
1328					pub type Nonce = [::core::primitive::u8; 64usize];
1329					pub mod output {
1330						use super::runtime_types;
1331						pub type Output = ::core::primitive::bool;
1332					}
1333				}
1334				#[derive(
1335					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1336					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1337					Debug,
1338				)]
1339				#[decode_as_type(
1340					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1341				)]
1342				#[encode_as_type(
1343					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1344				)]
1345				pub struct VerifyNonceLocalMining {
1346					pub block_hash: verify_nonce_local_mining::BlockHash,
1347					pub nonce: verify_nonce_local_mining::Nonce,
1348				}
1349			}
1350		}
1351		pub mod account_nonce_api {
1352			use super::{root_mod, runtime_types};
1353			#[doc = " The API to query account nonce."]
1354			pub struct AccountNonceApi;
1355			impl AccountNonceApi {
1356				#[doc = " Get current account nonce of given `AccountId`."]
1357				pub fn account_nonce(
1358					&self,
1359					account: types::account_nonce::Account,
1360				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1361					types::AccountNonce,
1362					types::account_nonce::output::Output,
1363				> {
1364					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1365						"AccountNonceApi",
1366						"account_nonce",
1367						types::AccountNonce { account },
1368						[
1369							231u8, 82u8, 7u8, 227u8, 131u8, 2u8, 215u8, 252u8, 173u8, 82u8, 11u8,
1370							103u8, 200u8, 25u8, 114u8, 116u8, 79u8, 229u8, 152u8, 150u8, 236u8,
1371							37u8, 101u8, 26u8, 220u8, 146u8, 182u8, 101u8, 73u8, 55u8, 191u8,
1372							171u8,
1373						],
1374					)
1375				}
1376			}
1377			pub mod types {
1378				use super::runtime_types;
1379				pub mod account_nonce {
1380					use super::runtime_types;
1381					pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
1382					pub mod output {
1383						use super::runtime_types;
1384						pub type Output = ::core::primitive::u32;
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 AccountNonce {
1399					pub account: account_nonce::Account,
1400				}
1401			}
1402		}
1403		pub mod transaction_payment_api {
1404			use super::{root_mod, runtime_types};
1405			pub struct TransactionPaymentApi;
1406			impl TransactionPaymentApi {
1407				pub fn query_info(
1408					&self,
1409					uxt: types::query_info::Uxt,
1410					len: types::query_info::Len,
1411				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1412					types::QueryInfo,
1413					types::query_info::output::Output,
1414				> {
1415					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1416						"TransactionPaymentApi",
1417						"query_info",
1418						types::QueryInfo { uxt, len },
1419						[
1420							56u8, 30u8, 174u8, 34u8, 202u8, 24u8, 177u8, 189u8, 145u8, 36u8, 1u8,
1421							156u8, 98u8, 209u8, 178u8, 49u8, 198u8, 23u8, 150u8, 173u8, 35u8,
1422							205u8, 147u8, 129u8, 42u8, 22u8, 69u8, 3u8, 129u8, 8u8, 196u8, 139u8,
1423						],
1424					)
1425				}
1426				pub fn query_fee_details(
1427					&self,
1428					uxt: types::query_fee_details::Uxt,
1429					len: types::query_fee_details::Len,
1430				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1431					types::QueryFeeDetails,
1432					types::query_fee_details::output::Output,
1433				> {
1434					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1435						"TransactionPaymentApi",
1436						"query_fee_details",
1437						types::QueryFeeDetails { uxt, len },
1438						[
1439							117u8, 60u8, 137u8, 159u8, 237u8, 252u8, 216u8, 238u8, 232u8, 1u8,
1440							100u8, 152u8, 26u8, 185u8, 145u8, 125u8, 68u8, 189u8, 4u8, 30u8, 125u8,
1441							7u8, 196u8, 153u8, 235u8, 51u8, 219u8, 108u8, 185u8, 254u8, 100u8,
1442							201u8,
1443						],
1444					)
1445				}
1446				pub fn query_weight_to_fee(
1447					&self,
1448					weight: types::query_weight_to_fee::Weight,
1449				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1450					types::QueryWeightToFee,
1451					types::query_weight_to_fee::output::Output,
1452				> {
1453					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1454						"TransactionPaymentApi",
1455						"query_weight_to_fee",
1456						types::QueryWeightToFee { weight },
1457						[
1458							206u8, 243u8, 189u8, 83u8, 231u8, 244u8, 247u8, 52u8, 126u8, 208u8,
1459							224u8, 5u8, 163u8, 108u8, 254u8, 114u8, 214u8, 156u8, 227u8, 217u8,
1460							211u8, 198u8, 121u8, 164u8, 110u8, 54u8, 181u8, 146u8, 50u8, 146u8,
1461							146u8, 23u8,
1462						],
1463					)
1464				}
1465				pub fn query_length_to_fee(
1466					&self,
1467					length: types::query_length_to_fee::Length,
1468				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1469					types::QueryLengthToFee,
1470					types::query_length_to_fee::output::Output,
1471				> {
1472					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1473						"TransactionPaymentApi",
1474						"query_length_to_fee",
1475						types::QueryLengthToFee { length },
1476						[
1477							92u8, 132u8, 29u8, 119u8, 66u8, 11u8, 196u8, 224u8, 129u8, 23u8, 249u8,
1478							12u8, 32u8, 28u8, 92u8, 50u8, 188u8, 101u8, 203u8, 229u8, 248u8, 216u8,
1479							130u8, 150u8, 212u8, 161u8, 81u8, 254u8, 116u8, 89u8, 162u8, 48u8,
1480						],
1481					)
1482				}
1483			}
1484			pub mod types {
1485				use super::runtime_types;
1486				pub mod query_info {
1487					use super::runtime_types;
1488					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 :: qp_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 ,) > ;
1489					pub type Len = ::core::primitive::u32;
1490					pub mod output {
1491						use super::runtime_types;
1492						pub type Output =
1493							runtime_types::pallet_transaction_payment::types::RuntimeDispatchInfo<
1494								::core::primitive::u128,
1495								runtime_types::sp_weights::weight_v2::Weight,
1496							>;
1497					}
1498				}
1499				#[derive(
1500					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1501					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1502					Debug,
1503				)]
1504				#[decode_as_type(
1505					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1506				)]
1507				#[encode_as_type(
1508					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1509				)]
1510				pub struct QueryInfo {
1511					pub uxt: query_info::Uxt,
1512					pub len: query_info::Len,
1513				}
1514				pub mod query_fee_details {
1515					use super::runtime_types;
1516					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 :: qp_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 ,) > ;
1517					pub type Len = ::core::primitive::u32;
1518					pub mod output {
1519						use super::runtime_types;
1520						pub type Output =
1521							runtime_types::pallet_transaction_payment::types::FeeDetails<
1522								::core::primitive::u128,
1523							>;
1524					}
1525				}
1526				#[derive(
1527					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1528					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1529					Debug,
1530				)]
1531				#[decode_as_type(
1532					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1533				)]
1534				#[encode_as_type(
1535					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1536				)]
1537				pub struct QueryFeeDetails {
1538					pub uxt: query_fee_details::Uxt,
1539					pub len: query_fee_details::Len,
1540				}
1541				pub mod query_weight_to_fee {
1542					use super::runtime_types;
1543					pub type Weight = runtime_types::sp_weights::weight_v2::Weight;
1544					pub mod output {
1545						use super::runtime_types;
1546						pub type Output = ::core::primitive::u128;
1547					}
1548				}
1549				#[derive(
1550					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1551					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1552					Debug,
1553				)]
1554				#[decode_as_type(
1555					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1556				)]
1557				#[encode_as_type(
1558					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1559				)]
1560				pub struct QueryWeightToFee {
1561					pub weight: query_weight_to_fee::Weight,
1562				}
1563				pub mod query_length_to_fee {
1564					use super::runtime_types;
1565					pub type Length = ::core::primitive::u32;
1566					pub mod output {
1567						use super::runtime_types;
1568						pub type Output = ::core::primitive::u128;
1569					}
1570				}
1571				#[derive(
1572					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1573					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1574					Debug,
1575				)]
1576				#[decode_as_type(
1577					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1578				)]
1579				#[encode_as_type(
1580					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1581				)]
1582				pub struct QueryLengthToFee {
1583					pub length: query_length_to_fee::Length,
1584				}
1585			}
1586		}
1587		pub mod transaction_payment_call_api {
1588			use super::{root_mod, runtime_types};
1589			pub struct TransactionPaymentCallApi;
1590			impl TransactionPaymentCallApi {
1591				#[doc = " Query information of a dispatch class, weight, and fee of a given encoded `Call`."]
1592				pub fn query_call_info(
1593					&self,
1594					call: types::query_call_info::Call,
1595					len: types::query_call_info::Len,
1596				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1597					types::QueryCallInfo,
1598					types::query_call_info::output::Output,
1599				> {
1600					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1601						"TransactionPaymentCallApi",
1602						"query_call_info",
1603						types::QueryCallInfo { call, len },
1604						[
1605							166u8, 173u8, 176u8, 212u8, 240u8, 248u8, 215u8, 188u8, 215u8, 21u8,
1606							209u8, 116u8, 183u8, 186u8, 201u8, 229u8, 28u8, 26u8, 218u8, 247u8,
1607							99u8, 59u8, 155u8, 235u8, 205u8, 76u8, 165u8, 181u8, 148u8, 21u8,
1608							122u8, 86u8,
1609						],
1610					)
1611				}
1612				#[doc = " Query fee details of a given encoded `Call`."]
1613				pub fn query_call_fee_details(
1614					&self,
1615					call: types::query_call_fee_details::Call,
1616					len: types::query_call_fee_details::Len,
1617				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1618					types::QueryCallFeeDetails,
1619					types::query_call_fee_details::output::Output,
1620				> {
1621					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1622						"TransactionPaymentCallApi",
1623						"query_call_fee_details",
1624						types::QueryCallFeeDetails { call, len },
1625						[
1626							18u8, 80u8, 212u8, 196u8, 230u8, 162u8, 108u8, 100u8, 130u8, 14u8,
1627							44u8, 76u8, 26u8, 143u8, 202u8, 61u8, 26u8, 132u8, 34u8, 112u8, 49u8,
1628							183u8, 31u8, 51u8, 122u8, 49u8, 37u8, 229u8, 87u8, 43u8, 107u8, 82u8,
1629						],
1630					)
1631				}
1632				#[doc = " Query the output of the current `WeightToFee` given some input."]
1633				pub fn query_weight_to_fee(
1634					&self,
1635					weight: types::query_weight_to_fee::Weight,
1636				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1637					types::QueryWeightToFee,
1638					types::query_weight_to_fee::output::Output,
1639				> {
1640					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1641						"TransactionPaymentCallApi",
1642						"query_weight_to_fee",
1643						types::QueryWeightToFee { weight },
1644						[
1645							117u8, 91u8, 94u8, 22u8, 248u8, 212u8, 15u8, 23u8, 97u8, 116u8, 64u8,
1646							228u8, 83u8, 123u8, 87u8, 77u8, 97u8, 7u8, 98u8, 181u8, 6u8, 165u8,
1647							114u8, 141u8, 164u8, 113u8, 126u8, 88u8, 174u8, 171u8, 224u8, 35u8,
1648						],
1649					)
1650				}
1651				#[doc = " Query the output of the current `LengthToFee` given some input."]
1652				pub fn query_length_to_fee(
1653					&self,
1654					length: types::query_length_to_fee::Length,
1655				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1656					types::QueryLengthToFee,
1657					types::query_length_to_fee::output::Output,
1658				> {
1659					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1660						"TransactionPaymentCallApi",
1661						"query_length_to_fee",
1662						types::QueryLengthToFee { length },
1663						[
1664							246u8, 40u8, 4u8, 160u8, 152u8, 94u8, 170u8, 53u8, 205u8, 122u8, 5u8,
1665							69u8, 70u8, 25u8, 128u8, 156u8, 119u8, 134u8, 116u8, 147u8, 14u8,
1666							164u8, 65u8, 140u8, 86u8, 13u8, 250u8, 218u8, 89u8, 95u8, 234u8, 228u8,
1667						],
1668					)
1669				}
1670			}
1671			pub mod types {
1672				use super::runtime_types;
1673				pub mod query_call_info {
1674					use super::runtime_types;
1675					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
1676					pub type Len = ::core::primitive::u32;
1677					pub mod output {
1678						use super::runtime_types;
1679						pub type Output =
1680							runtime_types::pallet_transaction_payment::types::RuntimeDispatchInfo<
1681								::core::primitive::u128,
1682								runtime_types::sp_weights::weight_v2::Weight,
1683							>;
1684					}
1685				}
1686				#[derive(
1687					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1688					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1689					Debug,
1690				)]
1691				#[decode_as_type(
1692					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1693				)]
1694				#[encode_as_type(
1695					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1696				)]
1697				pub struct QueryCallInfo {
1698					pub call: query_call_info::Call,
1699					pub len: query_call_info::Len,
1700				}
1701				pub mod query_call_fee_details {
1702					use super::runtime_types;
1703					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
1704					pub type Len = ::core::primitive::u32;
1705					pub mod output {
1706						use super::runtime_types;
1707						pub type Output =
1708							runtime_types::pallet_transaction_payment::types::FeeDetails<
1709								::core::primitive::u128,
1710							>;
1711					}
1712				}
1713				#[derive(
1714					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1715					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1716					Debug,
1717				)]
1718				#[decode_as_type(
1719					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1720				)]
1721				#[encode_as_type(
1722					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1723				)]
1724				pub struct QueryCallFeeDetails {
1725					pub call: query_call_fee_details::Call,
1726					pub len: query_call_fee_details::Len,
1727				}
1728				pub mod query_weight_to_fee {
1729					use super::runtime_types;
1730					pub type Weight = runtime_types::sp_weights::weight_v2::Weight;
1731					pub mod output {
1732						use super::runtime_types;
1733						pub type Output = ::core::primitive::u128;
1734					}
1735				}
1736				#[derive(
1737					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1738					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1739					Debug,
1740				)]
1741				#[decode_as_type(
1742					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1743				)]
1744				#[encode_as_type(
1745					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1746				)]
1747				pub struct QueryWeightToFee {
1748					pub weight: query_weight_to_fee::Weight,
1749				}
1750				pub mod query_length_to_fee {
1751					use super::runtime_types;
1752					pub type Length = ::core::primitive::u32;
1753					pub mod output {
1754						use super::runtime_types;
1755						pub type Output = ::core::primitive::u128;
1756					}
1757				}
1758				#[derive(
1759					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1760					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1761					Debug,
1762				)]
1763				#[decode_as_type(
1764					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1765				)]
1766				#[encode_as_type(
1767					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1768				)]
1769				pub struct QueryLengthToFee {
1770					pub length: query_length_to_fee::Length,
1771				}
1772			}
1773		}
1774		pub mod genesis_builder {
1775			use super::{root_mod, runtime_types};
1776			#[doc = " API to interact with `RuntimeGenesisConfig` for the runtime"]
1777			pub struct GenesisBuilder;
1778			impl GenesisBuilder {
1779				#[doc = " Build `RuntimeGenesisConfig` from a JSON blob not using any defaults and store it in the"]
1780				#[doc = " storage."]
1781				#[doc = ""]
1782				#[doc = " In the case of a FRAME-based runtime, this function deserializes the full"]
1783				#[doc = " `RuntimeGenesisConfig` from the given JSON blob and puts it into the storage. If the"]
1784				#[doc = " provided JSON blob is incorrect or incomplete or the deserialization fails, an error"]
1785				#[doc = " is returned."]
1786				#[doc = ""]
1787				#[doc = " Please note that provided JSON blob must contain all `RuntimeGenesisConfig` fields, no"]
1788				#[doc = " defaults will be used."]
1789				pub fn build_state(
1790					&self,
1791					json: types::build_state::Json,
1792				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1793					types::BuildState,
1794					types::build_state::output::Output,
1795				> {
1796					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1797						"GenesisBuilder",
1798						"build_state",
1799						types::BuildState { json },
1800						[
1801							203u8, 233u8, 104u8, 116u8, 111u8, 131u8, 201u8, 235u8, 117u8, 116u8,
1802							140u8, 185u8, 93u8, 25u8, 155u8, 210u8, 56u8, 49u8, 23u8, 32u8, 253u8,
1803							92u8, 149u8, 241u8, 85u8, 245u8, 137u8, 45u8, 209u8, 189u8, 81u8, 2u8,
1804						],
1805					)
1806				}
1807				#[doc = " Returns a JSON blob representation of the built-in `RuntimeGenesisConfig` identified by"]
1808				#[doc = " `id`."]
1809				#[doc = ""]
1810				#[doc = " If `id` is `None` the function should return JSON blob representation of the default"]
1811				#[doc = " `RuntimeGenesisConfig` struct of the runtime. Implementation must provide default"]
1812				#[doc = " `RuntimeGenesisConfig`."]
1813				#[doc = ""]
1814				#[doc = " Otherwise function returns a JSON representation of the built-in, named"]
1815				#[doc = " `RuntimeGenesisConfig` preset identified by `id`, or `None` if such preset does not"]
1816				#[doc = " exist. Returned `Vec<u8>` contains bytes of JSON blob (patch) which comprises a list of"]
1817				#[doc = " (potentially nested) key-value pairs that are intended for customizing the default"]
1818				#[doc = " runtime genesis config. The patch shall be merged (rfc7386) with the JSON representation"]
1819				#[doc = " of the default `RuntimeGenesisConfig` to create a comprehensive genesis config that can"]
1820				#[doc = " be used in `build_state` method."]
1821				pub fn get_preset(
1822					&self,
1823					id: types::get_preset::Id,
1824				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1825					types::GetPreset,
1826					types::get_preset::output::Output,
1827				> {
1828					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1829						"GenesisBuilder",
1830						"get_preset",
1831						types::GetPreset { id },
1832						[
1833							43u8, 153u8, 23u8, 52u8, 113u8, 161u8, 227u8, 122u8, 169u8, 135u8,
1834							119u8, 8u8, 128u8, 33u8, 143u8, 235u8, 13u8, 173u8, 58u8, 121u8, 178u8,
1835							223u8, 66u8, 217u8, 22u8, 244u8, 168u8, 113u8, 202u8, 186u8, 241u8,
1836							124u8,
1837						],
1838					)
1839				}
1840				#[doc = " Returns a list of identifiers for available builtin `RuntimeGenesisConfig` presets."]
1841				#[doc = ""]
1842				#[doc = " The presets from the list can be queried with [`GenesisBuilder::get_preset`] method. If"]
1843				#[doc = " no named presets are provided by the runtime the list is empty."]
1844				pub fn preset_names(
1845					&self,
1846				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1847					types::PresetNames,
1848					types::preset_names::output::Output,
1849				> {
1850					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1851						"GenesisBuilder",
1852						"preset_names",
1853						types::PresetNames {},
1854						[
1855							150u8, 117u8, 54u8, 129u8, 221u8, 130u8, 186u8, 71u8, 13u8, 140u8,
1856							77u8, 180u8, 141u8, 37u8, 22u8, 219u8, 149u8, 218u8, 186u8, 206u8,
1857							80u8, 42u8, 165u8, 41u8, 99u8, 184u8, 73u8, 37u8, 125u8, 188u8, 167u8,
1858							122u8,
1859						],
1860					)
1861				}
1862			}
1863			pub mod types {
1864				use super::runtime_types;
1865				pub mod build_state {
1866					use super::runtime_types;
1867					pub type Json =
1868						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
1869					pub mod output {
1870						use super::runtime_types;
1871						pub type Output = ::core::result::Result<
1872							(),
1873							::subxt::ext::subxt_core::alloc::string::String,
1874						>;
1875					}
1876				}
1877				#[derive(
1878					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1879					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1880					Debug,
1881				)]
1882				#[decode_as_type(
1883					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1884				)]
1885				#[encode_as_type(
1886					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1887				)]
1888				pub struct BuildState {
1889					pub json: build_state::Json,
1890				}
1891				pub mod get_preset {
1892					use super::runtime_types;
1893					pub type Id =
1894						::core::option::Option<::subxt::ext::subxt_core::alloc::string::String>;
1895					pub mod output {
1896						use super::runtime_types;
1897						pub type Output = ::core::option::Option<
1898							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
1899						>;
1900					}
1901				}
1902				#[derive(
1903					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1904					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1905					Debug,
1906				)]
1907				#[decode_as_type(
1908					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1909				)]
1910				#[encode_as_type(
1911					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1912				)]
1913				pub struct GetPreset {
1914					pub id: get_preset::Id,
1915				}
1916				pub mod preset_names {
1917					use super::runtime_types;
1918					pub mod output {
1919						use super::runtime_types;
1920						pub type Output = ::subxt::ext::subxt_core::alloc::vec::Vec<
1921							::subxt::ext::subxt_core::alloc::string::String,
1922						>;
1923					}
1924				}
1925				#[derive(
1926					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1927					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1928					Debug,
1929				)]
1930				#[decode_as_type(
1931					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1932				)]
1933				#[encode_as_type(
1934					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1935				)]
1936				pub struct PresetNames {}
1937			}
1938		}
1939	}
1940	pub fn view_functions() -> ViewFunctionsApi {
1941		ViewFunctionsApi
1942	}
1943	pub fn custom() -> CustomValuesApi {
1944		CustomValuesApi
1945	}
1946	pub struct CustomValuesApi;
1947	impl CustomValuesApi {}
1948	pub struct ConstantsApi;
1949	impl ConstantsApi {
1950		pub fn system(&self) -> system::constants::ConstantsApi {
1951			system::constants::ConstantsApi
1952		}
1953		pub fn timestamp(&self) -> timestamp::constants::ConstantsApi {
1954			timestamp::constants::ConstantsApi
1955		}
1956		pub fn balances(&self) -> balances::constants::ConstantsApi {
1957			balances::constants::ConstantsApi
1958		}
1959		pub fn transaction_payment(&self) -> transaction_payment::constants::ConstantsApi {
1960			transaction_payment::constants::ConstantsApi
1961		}
1962		pub fn q_po_w(&self) -> q_po_w::constants::ConstantsApi {
1963			q_po_w::constants::ConstantsApi
1964		}
1965		pub fn mining_rewards(&self) -> mining_rewards::constants::ConstantsApi {
1966			mining_rewards::constants::ConstantsApi
1967		}
1968		pub fn vesting(&self) -> vesting::constants::ConstantsApi {
1969			vesting::constants::ConstantsApi
1970		}
1971		pub fn scheduler(&self) -> scheduler::constants::ConstantsApi {
1972			scheduler::constants::ConstantsApi
1973		}
1974		pub fn utility(&self) -> utility::constants::ConstantsApi {
1975			utility::constants::ConstantsApi
1976		}
1977		pub fn referenda(&self) -> referenda::constants::ConstantsApi {
1978			referenda::constants::ConstantsApi
1979		}
1980		pub fn reversible_transfers(&self) -> reversible_transfers::constants::ConstantsApi {
1981			reversible_transfers::constants::ConstantsApi
1982		}
1983		pub fn conviction_voting(&self) -> conviction_voting::constants::ConstantsApi {
1984			conviction_voting::constants::ConstantsApi
1985		}
1986		pub fn tech_referenda(&self) -> tech_referenda::constants::ConstantsApi {
1987			tech_referenda::constants::ConstantsApi
1988		}
1989		pub fn merkle_airdrop(&self) -> merkle_airdrop::constants::ConstantsApi {
1990			merkle_airdrop::constants::ConstantsApi
1991		}
1992		pub fn treasury_pallet(&self) -> treasury_pallet::constants::ConstantsApi {
1993			treasury_pallet::constants::ConstantsApi
1994		}
1995		pub fn recovery(&self) -> recovery::constants::ConstantsApi {
1996			recovery::constants::ConstantsApi
1997		}
1998		pub fn assets(&self) -> assets::constants::ConstantsApi {
1999			assets::constants::ConstantsApi
2000		}
2001	}
2002	pub struct StorageApi;
2003	impl StorageApi {
2004		pub fn system(&self) -> system::storage::StorageApi {
2005			system::storage::StorageApi
2006		}
2007		pub fn timestamp(&self) -> timestamp::storage::StorageApi {
2008			timestamp::storage::StorageApi
2009		}
2010		pub fn balances(&self) -> balances::storage::StorageApi {
2011			balances::storage::StorageApi
2012		}
2013		pub fn transaction_payment(&self) -> transaction_payment::storage::StorageApi {
2014			transaction_payment::storage::StorageApi
2015		}
2016		pub fn sudo(&self) -> sudo::storage::StorageApi {
2017			sudo::storage::StorageApi
2018		}
2019		pub fn q_po_w(&self) -> q_po_w::storage::StorageApi {
2020			q_po_w::storage::StorageApi
2021		}
2022		pub fn mining_rewards(&self) -> mining_rewards::storage::StorageApi {
2023			mining_rewards::storage::StorageApi
2024		}
2025		pub fn vesting(&self) -> vesting::storage::StorageApi {
2026			vesting::storage::StorageApi
2027		}
2028		pub fn preimage(&self) -> preimage::storage::StorageApi {
2029			preimage::storage::StorageApi
2030		}
2031		pub fn scheduler(&self) -> scheduler::storage::StorageApi {
2032			scheduler::storage::StorageApi
2033		}
2034		pub fn referenda(&self) -> referenda::storage::StorageApi {
2035			referenda::storage::StorageApi
2036		}
2037		pub fn reversible_transfers(&self) -> reversible_transfers::storage::StorageApi {
2038			reversible_transfers::storage::StorageApi
2039		}
2040		pub fn conviction_voting(&self) -> conviction_voting::storage::StorageApi {
2041			conviction_voting::storage::StorageApi
2042		}
2043		pub fn tech_collective(&self) -> tech_collective::storage::StorageApi {
2044			tech_collective::storage::StorageApi
2045		}
2046		pub fn tech_referenda(&self) -> tech_referenda::storage::StorageApi {
2047			tech_referenda::storage::StorageApi
2048		}
2049		pub fn merkle_airdrop(&self) -> merkle_airdrop::storage::StorageApi {
2050			merkle_airdrop::storage::StorageApi
2051		}
2052		pub fn treasury_pallet(&self) -> treasury_pallet::storage::StorageApi {
2053			treasury_pallet::storage::StorageApi
2054		}
2055		pub fn recovery(&self) -> recovery::storage::StorageApi {
2056			recovery::storage::StorageApi
2057		}
2058		pub fn assets(&self) -> assets::storage::StorageApi {
2059			assets::storage::StorageApi
2060		}
2061		pub fn assets_holder(&self) -> assets_holder::storage::StorageApi {
2062			assets_holder::storage::StorageApi
2063		}
2064	}
2065	pub struct TransactionApi;
2066	impl TransactionApi {
2067		pub fn system(&self) -> system::calls::TransactionApi {
2068			system::calls::TransactionApi
2069		}
2070		pub fn timestamp(&self) -> timestamp::calls::TransactionApi {
2071			timestamp::calls::TransactionApi
2072		}
2073		pub fn balances(&self) -> balances::calls::TransactionApi {
2074			balances::calls::TransactionApi
2075		}
2076		pub fn sudo(&self) -> sudo::calls::TransactionApi {
2077			sudo::calls::TransactionApi
2078		}
2079		pub fn vesting(&self) -> vesting::calls::TransactionApi {
2080			vesting::calls::TransactionApi
2081		}
2082		pub fn preimage(&self) -> preimage::calls::TransactionApi {
2083			preimage::calls::TransactionApi
2084		}
2085		pub fn scheduler(&self) -> scheduler::calls::TransactionApi {
2086			scheduler::calls::TransactionApi
2087		}
2088		pub fn utility(&self) -> utility::calls::TransactionApi {
2089			utility::calls::TransactionApi
2090		}
2091		pub fn referenda(&self) -> referenda::calls::TransactionApi {
2092			referenda::calls::TransactionApi
2093		}
2094		pub fn reversible_transfers(&self) -> reversible_transfers::calls::TransactionApi {
2095			reversible_transfers::calls::TransactionApi
2096		}
2097		pub fn conviction_voting(&self) -> conviction_voting::calls::TransactionApi {
2098			conviction_voting::calls::TransactionApi
2099		}
2100		pub fn tech_collective(&self) -> tech_collective::calls::TransactionApi {
2101			tech_collective::calls::TransactionApi
2102		}
2103		pub fn tech_referenda(&self) -> tech_referenda::calls::TransactionApi {
2104			tech_referenda::calls::TransactionApi
2105		}
2106		pub fn merkle_airdrop(&self) -> merkle_airdrop::calls::TransactionApi {
2107			merkle_airdrop::calls::TransactionApi
2108		}
2109		pub fn treasury_pallet(&self) -> treasury_pallet::calls::TransactionApi {
2110			treasury_pallet::calls::TransactionApi
2111		}
2112		pub fn recovery(&self) -> recovery::calls::TransactionApi {
2113			recovery::calls::TransactionApi
2114		}
2115		pub fn assets(&self) -> assets::calls::TransactionApi {
2116			assets::calls::TransactionApi
2117		}
2118	}
2119	pub struct ViewFunctionsApi;
2120	impl ViewFunctionsApi {}
2121	#[doc = r" check whether the metadata provided is aligned with this statically generated code."]
2122	pub fn is_codegen_valid_for(metadata: &::subxt::ext::subxt_core::Metadata) -> bool {
2123		let runtime_metadata_hash = metadata
2124			.hasher()
2125			.only_these_pallets(&PALLETS)
2126			.only_these_runtime_apis(&RUNTIME_APIS)
2127			.hash();
2128		runtime_metadata_hash ==
2129			[
2130				233u8, 139u8, 33u8, 121u8, 216u8, 140u8, 113u8, 170u8, 4u8, 134u8, 193u8, 169u8,
2131				110u8, 254u8, 201u8, 203u8, 231u8, 65u8, 233u8, 128u8, 43u8, 145u8, 115u8, 113u8,
2132				30u8, 109u8, 204u8, 62u8, 103u8, 201u8, 165u8, 102u8,
2133			]
2134	}
2135	pub mod system {
2136		use super::{root_mod, runtime_types};
2137		#[doc = "Error for the System pallet"]
2138		pub type Error = runtime_types::frame_system::pallet::Error;
2139		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
2140		pub type Call = runtime_types::frame_system::pallet::Call;
2141		pub mod calls {
2142			use super::{root_mod, runtime_types};
2143			type DispatchError = runtime_types::sp_runtime::DispatchError;
2144			pub mod types {
2145				use super::runtime_types;
2146				#[derive(
2147					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2148					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2149					Debug,
2150				)]
2151				#[decode_as_type(
2152					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2153				)]
2154				#[encode_as_type(
2155					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2156				)]
2157				#[doc = "Make some on-chain remark."]
2158				#[doc = ""]
2159				#[doc = "Can be executed by every `origin`."]
2160				pub struct Remark {
2161					pub remark: remark::Remark,
2162				}
2163				pub mod remark {
2164					use super::runtime_types;
2165					pub type Remark =
2166						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2167				}
2168				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Remark {
2169					const PALLET: &'static str = "System";
2170					const CALL: &'static str = "remark";
2171				}
2172				#[derive(
2173					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2174					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2175					Debug,
2176				)]
2177				#[decode_as_type(
2178					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2179				)]
2180				#[encode_as_type(
2181					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2182				)]
2183				#[doc = "Set the number of pages in the WebAssembly environment's heap."]
2184				pub struct SetHeapPages {
2185					pub pages: set_heap_pages::Pages,
2186				}
2187				pub mod set_heap_pages {
2188					use super::runtime_types;
2189					pub type Pages = ::core::primitive::u64;
2190				}
2191				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetHeapPages {
2192					const PALLET: &'static str = "System";
2193					const CALL: &'static str = "set_heap_pages";
2194				}
2195				#[derive(
2196					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2197					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2198					Debug,
2199				)]
2200				#[decode_as_type(
2201					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2202				)]
2203				#[encode_as_type(
2204					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2205				)]
2206				#[doc = "Set the new runtime code."]
2207				pub struct SetCode {
2208					pub code: set_code::Code,
2209				}
2210				pub mod set_code {
2211					use super::runtime_types;
2212					pub type Code =
2213						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2214				}
2215				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetCode {
2216					const PALLET: &'static str = "System";
2217					const CALL: &'static str = "set_code";
2218				}
2219				#[derive(
2220					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2221					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2222					Debug,
2223				)]
2224				#[decode_as_type(
2225					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2226				)]
2227				#[encode_as_type(
2228					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2229				)]
2230				#[doc = "Set the new runtime code without doing any checks of the given `code`."]
2231				#[doc = ""]
2232				#[doc = "Note that runtime upgrades will not run if this is called with a not-increasing spec"]
2233				#[doc = "version!"]
2234				pub struct SetCodeWithoutChecks {
2235					pub code: set_code_without_checks::Code,
2236				}
2237				pub mod set_code_without_checks {
2238					use super::runtime_types;
2239					pub type Code =
2240						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2241				}
2242				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetCodeWithoutChecks {
2243					const PALLET: &'static str = "System";
2244					const CALL: &'static str = "set_code_without_checks";
2245				}
2246				#[derive(
2247					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2248					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2249					Debug,
2250				)]
2251				#[decode_as_type(
2252					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2253				)]
2254				#[encode_as_type(
2255					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2256				)]
2257				#[doc = "Set some items of storage."]
2258				pub struct SetStorage {
2259					pub items: set_storage::Items,
2260				}
2261				pub mod set_storage {
2262					use super::runtime_types;
2263					pub type Items = ::subxt::ext::subxt_core::alloc::vec::Vec<(
2264						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
2265						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
2266					)>;
2267				}
2268				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetStorage {
2269					const PALLET: &'static str = "System";
2270					const CALL: &'static str = "set_storage";
2271				}
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 = "Kill some items from storage."]
2284				pub struct KillStorage {
2285					pub keys: kill_storage::Keys,
2286				}
2287				pub mod kill_storage {
2288					use super::runtime_types;
2289					pub type Keys = ::subxt::ext::subxt_core::alloc::vec::Vec<
2290						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
2291					>;
2292				}
2293				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for KillStorage {
2294					const PALLET: &'static str = "System";
2295					const CALL: &'static str = "kill_storage";
2296				}
2297				#[derive(
2298					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2299					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2300					Debug,
2301				)]
2302				#[decode_as_type(
2303					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2304				)]
2305				#[encode_as_type(
2306					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2307				)]
2308				#[doc = "Kill all storage items with a key that starts with the given prefix."]
2309				#[doc = ""]
2310				#[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"]
2311				#[doc = "the prefix we are removing to accurately calculate the weight of this function."]
2312				pub struct KillPrefix {
2313					pub prefix: kill_prefix::Prefix,
2314					pub subkeys: kill_prefix::Subkeys,
2315				}
2316				pub mod kill_prefix {
2317					use super::runtime_types;
2318					pub type Prefix =
2319						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2320					pub type Subkeys = ::core::primitive::u32;
2321				}
2322				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for KillPrefix {
2323					const PALLET: &'static str = "System";
2324					const CALL: &'static str = "kill_prefix";
2325				}
2326				#[derive(
2327					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2328					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2329					Debug,
2330				)]
2331				#[decode_as_type(
2332					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2333				)]
2334				#[encode_as_type(
2335					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2336				)]
2337				#[doc = "Make some on-chain remark and emit event."]
2338				pub struct RemarkWithEvent {
2339					pub remark: remark_with_event::Remark,
2340				}
2341				pub mod remark_with_event {
2342					use super::runtime_types;
2343					pub type Remark =
2344						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2345				}
2346				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemarkWithEvent {
2347					const PALLET: &'static str = "System";
2348					const CALL: &'static str = "remark_with_event";
2349				}
2350				#[derive(
2351					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2352					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2353					Debug,
2354				)]
2355				#[decode_as_type(
2356					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2357				)]
2358				#[encode_as_type(
2359					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2360				)]
2361				#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
2362				#[doc = "later."]
2363				#[doc = ""]
2364				#[doc = "This call requires Root origin."]
2365				pub struct AuthorizeUpgrade {
2366					pub code_hash: authorize_upgrade::CodeHash,
2367				}
2368				pub mod authorize_upgrade {
2369					use super::runtime_types;
2370					pub type CodeHash = ::subxt::ext::subxt_core::utils::H256;
2371				}
2372				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for AuthorizeUpgrade {
2373					const PALLET: &'static str = "System";
2374					const CALL: &'static str = "authorize_upgrade";
2375				}
2376				#[derive(
2377					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2378					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2379					Debug,
2380				)]
2381				#[decode_as_type(
2382					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2383				)]
2384				#[encode_as_type(
2385					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2386				)]
2387				#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
2388				#[doc = "later."]
2389				#[doc = ""]
2390				#[doc = "WARNING: This authorizes an upgrade that will take place without any safety checks, for"]
2391				#[doc = "example that the spec name remains the same and that the version number increases. Not"]
2392				#[doc = "recommended for normal use. Use `authorize_upgrade` instead."]
2393				#[doc = ""]
2394				#[doc = "This call requires Root origin."]
2395				pub struct AuthorizeUpgradeWithoutChecks {
2396					pub code_hash: authorize_upgrade_without_checks::CodeHash,
2397				}
2398				pub mod authorize_upgrade_without_checks {
2399					use super::runtime_types;
2400					pub type CodeHash = ::subxt::ext::subxt_core::utils::H256;
2401				}
2402				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for AuthorizeUpgradeWithoutChecks {
2403					const PALLET: &'static str = "System";
2404					const CALL: &'static str = "authorize_upgrade_without_checks";
2405				}
2406				#[derive(
2407					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2408					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2409					Debug,
2410				)]
2411				#[decode_as_type(
2412					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2413				)]
2414				#[encode_as_type(
2415					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2416				)]
2417				#[doc = "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized."]
2418				#[doc = ""]
2419				#[doc = "If the authorization required a version check, this call will ensure the spec name"]
2420				#[doc = "remains unchanged and that the spec version has increased."]
2421				#[doc = ""]
2422				#[doc = "Depending on the runtime's `OnSetCode` configuration, this function may directly apply"]
2423				#[doc = "the new `code` in the same block or attempt to schedule the upgrade."]
2424				#[doc = ""]
2425				#[doc = "All origins are allowed."]
2426				pub struct ApplyAuthorizedUpgrade {
2427					pub code: apply_authorized_upgrade::Code,
2428				}
2429				pub mod apply_authorized_upgrade {
2430					use super::runtime_types;
2431					pub type Code =
2432						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2433				}
2434				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ApplyAuthorizedUpgrade {
2435					const PALLET: &'static str = "System";
2436					const CALL: &'static str = "apply_authorized_upgrade";
2437				}
2438			}
2439			pub struct TransactionApi;
2440			impl TransactionApi {
2441				#[doc = "Make some on-chain remark."]
2442				#[doc = ""]
2443				#[doc = "Can be executed by every `origin`."]
2444				pub fn remark(
2445					&self,
2446					remark: types::remark::Remark,
2447				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Remark> {
2448					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2449						"System",
2450						"remark",
2451						types::Remark { remark },
2452						[
2453							43u8, 126u8, 180u8, 174u8, 141u8, 48u8, 52u8, 125u8, 166u8, 212u8,
2454							216u8, 98u8, 100u8, 24u8, 132u8, 71u8, 101u8, 64u8, 246u8, 169u8, 33u8,
2455							250u8, 147u8, 208u8, 2u8, 40u8, 129u8, 209u8, 232u8, 207u8, 207u8,
2456							13u8,
2457						],
2458					)
2459				}
2460				#[doc = "Set the number of pages in the WebAssembly environment's heap."]
2461				pub fn set_heap_pages(
2462					&self,
2463					pages: types::set_heap_pages::Pages,
2464				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetHeapPages> {
2465					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2466						"System",
2467						"set_heap_pages",
2468						types::SetHeapPages { pages },
2469						[
2470							188u8, 191u8, 99u8, 216u8, 219u8, 109u8, 141u8, 50u8, 78u8, 235u8,
2471							215u8, 242u8, 195u8, 24u8, 111u8, 76u8, 229u8, 64u8, 99u8, 225u8,
2472							134u8, 121u8, 81u8, 209u8, 127u8, 223u8, 98u8, 215u8, 150u8, 70u8,
2473							57u8, 147u8,
2474						],
2475					)
2476				}
2477				#[doc = "Set the new runtime code."]
2478				pub fn set_code(
2479					&self,
2480					code: types::set_code::Code,
2481				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetCode> {
2482					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2483						"System",
2484						"set_code",
2485						types::SetCode { code },
2486						[
2487							233u8, 248u8, 88u8, 245u8, 28u8, 65u8, 25u8, 169u8, 35u8, 237u8, 19u8,
2488							203u8, 136u8, 160u8, 18u8, 3u8, 20u8, 197u8, 81u8, 169u8, 244u8, 188u8,
2489							27u8, 147u8, 147u8, 236u8, 65u8, 25u8, 3u8, 143u8, 182u8, 22u8,
2490						],
2491					)
2492				}
2493				#[doc = "Set the new runtime code without doing any checks of the given `code`."]
2494				#[doc = ""]
2495				#[doc = "Note that runtime upgrades will not run if this is called with a not-increasing spec"]
2496				#[doc = "version!"]
2497				pub fn set_code_without_checks(
2498					&self,
2499					code: types::set_code_without_checks::Code,
2500				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetCodeWithoutChecks>
2501				{
2502					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2503						"System",
2504						"set_code_without_checks",
2505						types::SetCodeWithoutChecks { code },
2506						[
2507							82u8, 212u8, 157u8, 44u8, 70u8, 0u8, 143u8, 15u8, 109u8, 109u8, 107u8,
2508							157u8, 141u8, 42u8, 169u8, 11u8, 15u8, 186u8, 252u8, 138u8, 10u8,
2509							147u8, 15u8, 178u8, 247u8, 229u8, 213u8, 98u8, 207u8, 231u8, 119u8,
2510							115u8,
2511						],
2512					)
2513				}
2514				#[doc = "Set some items of storage."]
2515				pub fn set_storage(
2516					&self,
2517					items: types::set_storage::Items,
2518				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetStorage> {
2519					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2520						"System",
2521						"set_storage",
2522						types::SetStorage { items },
2523						[
2524							141u8, 216u8, 52u8, 222u8, 223u8, 136u8, 123u8, 181u8, 19u8, 75u8,
2525							163u8, 102u8, 229u8, 189u8, 158u8, 142u8, 95u8, 235u8, 240u8, 49u8,
2526							150u8, 76u8, 78u8, 137u8, 126u8, 88u8, 183u8, 88u8, 231u8, 146u8,
2527							234u8, 43u8,
2528						],
2529					)
2530				}
2531				#[doc = "Kill some items from storage."]
2532				pub fn kill_storage(
2533					&self,
2534					keys: types::kill_storage::Keys,
2535				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::KillStorage> {
2536					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2537						"System",
2538						"kill_storage",
2539						types::KillStorage { keys },
2540						[
2541							73u8, 63u8, 196u8, 36u8, 144u8, 114u8, 34u8, 213u8, 108u8, 93u8, 209u8,
2542							234u8, 153u8, 185u8, 33u8, 91u8, 187u8, 195u8, 223u8, 130u8, 58u8,
2543							156u8, 63u8, 47u8, 228u8, 249u8, 216u8, 139u8, 143u8, 177u8, 41u8,
2544							35u8,
2545						],
2546					)
2547				}
2548				#[doc = "Kill all storage items with a key that starts with the given prefix."]
2549				#[doc = ""]
2550				#[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"]
2551				#[doc = "the prefix we are removing to accurately calculate the weight of this function."]
2552				pub fn kill_prefix(
2553					&self,
2554					prefix: types::kill_prefix::Prefix,
2555					subkeys: types::kill_prefix::Subkeys,
2556				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::KillPrefix> {
2557					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2558						"System",
2559						"kill_prefix",
2560						types::KillPrefix { prefix, subkeys },
2561						[
2562							184u8, 57u8, 139u8, 24u8, 208u8, 87u8, 108u8, 215u8, 198u8, 189u8,
2563							175u8, 242u8, 167u8, 215u8, 97u8, 63u8, 110u8, 166u8, 238u8, 98u8,
2564							67u8, 236u8, 111u8, 110u8, 234u8, 81u8, 102u8, 5u8, 182u8, 5u8, 214u8,
2565							85u8,
2566						],
2567					)
2568				}
2569				#[doc = "Make some on-chain remark and emit event."]
2570				pub fn remark_with_event(
2571					&self,
2572					remark: types::remark_with_event::Remark,
2573				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemarkWithEvent>
2574				{
2575					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2576						"System",
2577						"remark_with_event",
2578						types::RemarkWithEvent { remark },
2579						[
2580							120u8, 120u8, 153u8, 92u8, 184u8, 85u8, 34u8, 2u8, 174u8, 206u8, 105u8,
2581							228u8, 233u8, 130u8, 80u8, 246u8, 228u8, 59u8, 234u8, 240u8, 4u8, 49u8,
2582							147u8, 170u8, 115u8, 91u8, 149u8, 200u8, 228u8, 181u8, 8u8, 154u8,
2583						],
2584					)
2585				}
2586				#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
2587				#[doc = "later."]
2588				#[doc = ""]
2589				#[doc = "This call requires Root origin."]
2590				pub fn authorize_upgrade(
2591					&self,
2592					code_hash: types::authorize_upgrade::CodeHash,
2593				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::AuthorizeUpgrade>
2594				{
2595					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2596						"System",
2597						"authorize_upgrade",
2598						types::AuthorizeUpgrade { code_hash },
2599						[
2600							4u8, 14u8, 76u8, 107u8, 209u8, 129u8, 9u8, 39u8, 193u8, 17u8, 84u8,
2601							254u8, 170u8, 214u8, 24u8, 155u8, 29u8, 184u8, 249u8, 241u8, 109u8,
2602							58u8, 145u8, 131u8, 109u8, 63u8, 38u8, 165u8, 107u8, 215u8, 217u8,
2603							172u8,
2604						],
2605					)
2606				}
2607				#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
2608				#[doc = "later."]
2609				#[doc = ""]
2610				#[doc = "WARNING: This authorizes an upgrade that will take place without any safety checks, for"]
2611				#[doc = "example that the spec name remains the same and that the version number increases. Not"]
2612				#[doc = "recommended for normal use. Use `authorize_upgrade` instead."]
2613				#[doc = ""]
2614				#[doc = "This call requires Root origin."]
2615				pub fn authorize_upgrade_without_checks(
2616					&self,
2617					code_hash: types::authorize_upgrade_without_checks::CodeHash,
2618				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
2619					types::AuthorizeUpgradeWithoutChecks,
2620				> {
2621					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2622						"System",
2623						"authorize_upgrade_without_checks",
2624						types::AuthorizeUpgradeWithoutChecks { code_hash },
2625						[
2626							126u8, 126u8, 55u8, 26u8, 47u8, 55u8, 66u8, 8u8, 167u8, 18u8, 29u8,
2627							136u8, 146u8, 14u8, 189u8, 117u8, 16u8, 227u8, 162u8, 61u8, 149u8,
2628							197u8, 104u8, 184u8, 185u8, 161u8, 99u8, 154u8, 80u8, 125u8, 181u8,
2629							233u8,
2630						],
2631					)
2632				}
2633				#[doc = "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized."]
2634				#[doc = ""]
2635				#[doc = "If the authorization required a version check, this call will ensure the spec name"]
2636				#[doc = "remains unchanged and that the spec version has increased."]
2637				#[doc = ""]
2638				#[doc = "Depending on the runtime's `OnSetCode` configuration, this function may directly apply"]
2639				#[doc = "the new `code` in the same block or attempt to schedule the upgrade."]
2640				#[doc = ""]
2641				#[doc = "All origins are allowed."]
2642				pub fn apply_authorized_upgrade(
2643					&self,
2644					code: types::apply_authorized_upgrade::Code,
2645				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
2646					types::ApplyAuthorizedUpgrade,
2647				> {
2648					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2649						"System",
2650						"apply_authorized_upgrade",
2651						types::ApplyAuthorizedUpgrade { code },
2652						[
2653							232u8, 107u8, 127u8, 38u8, 230u8, 29u8, 97u8, 4u8, 160u8, 191u8, 222u8,
2654							156u8, 245u8, 102u8, 196u8, 141u8, 44u8, 163u8, 98u8, 68u8, 125u8,
2655							32u8, 124u8, 101u8, 108u8, 93u8, 211u8, 52u8, 0u8, 231u8, 33u8, 227u8,
2656						],
2657					)
2658				}
2659			}
2660		}
2661		#[doc = "Event for the System pallet."]
2662		pub type Event = runtime_types::frame_system::pallet::Event;
2663		pub mod events {
2664			use super::runtime_types;
2665			#[derive(
2666				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2667				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2668				Debug,
2669			)]
2670			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2671			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2672			#[doc = "An extrinsic completed successfully."]
2673			pub struct ExtrinsicSuccess {
2674				pub dispatch_info: extrinsic_success::DispatchInfo,
2675			}
2676			pub mod extrinsic_success {
2677				use super::runtime_types;
2678				pub type DispatchInfo = runtime_types::frame_system::DispatchEventInfo;
2679			}
2680			impl ::subxt::ext::subxt_core::events::StaticEvent for ExtrinsicSuccess {
2681				const PALLET: &'static str = "System";
2682				const EVENT: &'static str = "ExtrinsicSuccess";
2683			}
2684			#[derive(
2685				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2686				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2687				Debug,
2688			)]
2689			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2690			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2691			#[doc = "An extrinsic failed."]
2692			pub struct ExtrinsicFailed {
2693				pub dispatch_error: extrinsic_failed::DispatchError,
2694				pub dispatch_info: extrinsic_failed::DispatchInfo,
2695			}
2696			pub mod extrinsic_failed {
2697				use super::runtime_types;
2698				pub type DispatchError = runtime_types::sp_runtime::DispatchError;
2699				pub type DispatchInfo = runtime_types::frame_system::DispatchEventInfo;
2700			}
2701			impl ::subxt::ext::subxt_core::events::StaticEvent for ExtrinsicFailed {
2702				const PALLET: &'static str = "System";
2703				const EVENT: &'static str = "ExtrinsicFailed";
2704			}
2705			#[derive(
2706				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2707				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2708				Debug,
2709			)]
2710			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2711			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2712			#[doc = "`:code` was updated."]
2713			pub struct CodeUpdated;
2714			impl ::subxt::ext::subxt_core::events::StaticEvent for CodeUpdated {
2715				const PALLET: &'static str = "System";
2716				const EVENT: &'static str = "CodeUpdated";
2717			}
2718			#[derive(
2719				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2720				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2721				Debug,
2722			)]
2723			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2724			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2725			#[doc = "A new account was created."]
2726			pub struct NewAccount {
2727				pub account: new_account::Account,
2728			}
2729			pub mod new_account {
2730				use super::runtime_types;
2731				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
2732			}
2733			impl ::subxt::ext::subxt_core::events::StaticEvent for NewAccount {
2734				const PALLET: &'static str = "System";
2735				const EVENT: &'static str = "NewAccount";
2736			}
2737			#[derive(
2738				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2739				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2740				Debug,
2741			)]
2742			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2743			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2744			#[doc = "An account was reaped."]
2745			pub struct KilledAccount {
2746				pub account: killed_account::Account,
2747			}
2748			pub mod killed_account {
2749				use super::runtime_types;
2750				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
2751			}
2752			impl ::subxt::ext::subxt_core::events::StaticEvent for KilledAccount {
2753				const PALLET: &'static str = "System";
2754				const EVENT: &'static str = "KilledAccount";
2755			}
2756			#[derive(
2757				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2758				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2759				Debug,
2760			)]
2761			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2762			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2763			#[doc = "On on-chain remark happened."]
2764			pub struct Remarked {
2765				pub sender: remarked::Sender,
2766				pub hash: remarked::Hash,
2767			}
2768			pub mod remarked {
2769				use super::runtime_types;
2770				pub type Sender = ::subxt::ext::subxt_core::utils::AccountId32;
2771				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
2772			}
2773			impl ::subxt::ext::subxt_core::events::StaticEvent for Remarked {
2774				const PALLET: &'static str = "System";
2775				const EVENT: &'static str = "Remarked";
2776			}
2777			#[derive(
2778				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2779				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2780				Debug,
2781			)]
2782			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2783			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2784			#[doc = "An upgrade was authorized."]
2785			pub struct UpgradeAuthorized {
2786				pub code_hash: upgrade_authorized::CodeHash,
2787				pub check_version: upgrade_authorized::CheckVersion,
2788			}
2789			pub mod upgrade_authorized {
2790				use super::runtime_types;
2791				pub type CodeHash = ::subxt::ext::subxt_core::utils::H256;
2792				pub type CheckVersion = ::core::primitive::bool;
2793			}
2794			impl ::subxt::ext::subxt_core::events::StaticEvent for UpgradeAuthorized {
2795				const PALLET: &'static str = "System";
2796				const EVENT: &'static str = "UpgradeAuthorized";
2797			}
2798			#[derive(
2799				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2800				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2801				Debug,
2802			)]
2803			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2804			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2805			#[doc = "An invalid authorized upgrade was rejected while trying to apply it."]
2806			pub struct RejectedInvalidAuthorizedUpgrade {
2807				pub code_hash: rejected_invalid_authorized_upgrade::CodeHash,
2808				pub error: rejected_invalid_authorized_upgrade::Error,
2809			}
2810			pub mod rejected_invalid_authorized_upgrade {
2811				use super::runtime_types;
2812				pub type CodeHash = ::subxt::ext::subxt_core::utils::H256;
2813				pub type Error = runtime_types::sp_runtime::DispatchError;
2814			}
2815			impl ::subxt::ext::subxt_core::events::StaticEvent for RejectedInvalidAuthorizedUpgrade {
2816				const PALLET: &'static str = "System";
2817				const EVENT: &'static str = "RejectedInvalidAuthorizedUpgrade";
2818			}
2819		}
2820		pub mod storage {
2821			use super::runtime_types;
2822			pub mod types {
2823				use super::runtime_types;
2824				pub mod account {
2825					use super::runtime_types;
2826					pub type Account = runtime_types::frame_system::AccountInfo<
2827						::core::primitive::u32,
2828						runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>,
2829					>;
2830					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
2831				}
2832				pub mod extrinsic_count {
2833					use super::runtime_types;
2834					pub type ExtrinsicCount = ::core::primitive::u32;
2835				}
2836				pub mod inherents_applied {
2837					use super::runtime_types;
2838					pub type InherentsApplied = ::core::primitive::bool;
2839				}
2840				pub mod block_weight {
2841					use super::runtime_types;
2842					pub type BlockWeight = runtime_types::frame_support::dispatch::PerDispatchClass<
2843						runtime_types::sp_weights::weight_v2::Weight,
2844					>;
2845				}
2846				pub mod all_extrinsics_len {
2847					use super::runtime_types;
2848					pub type AllExtrinsicsLen = ::core::primitive::u32;
2849				}
2850				pub mod block_hash {
2851					use super::runtime_types;
2852					pub type BlockHash = ::subxt::ext::subxt_core::utils::H256;
2853					pub type Param0 = ::core::primitive::u32;
2854				}
2855				pub mod extrinsic_data {
2856					use super::runtime_types;
2857					pub type ExtrinsicData =
2858						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2859					pub type Param0 = ::core::primitive::u32;
2860				}
2861				pub mod number {
2862					use super::runtime_types;
2863					pub type Number = ::core::primitive::u32;
2864				}
2865				pub mod parent_hash {
2866					use super::runtime_types;
2867					pub type ParentHash = ::subxt::ext::subxt_core::utils::H256;
2868				}
2869				pub mod digest {
2870					use super::runtime_types;
2871					pub type Digest = runtime_types::sp_runtime::generic::digest::Digest;
2872				}
2873				pub mod events {
2874					use super::runtime_types;
2875					pub type Events = ::subxt::ext::subxt_core::alloc::vec::Vec<
2876						runtime_types::frame_system::EventRecord<
2877							runtime_types::quantus_runtime::RuntimeEvent,
2878							::subxt::ext::subxt_core::utils::H256,
2879						>,
2880					>;
2881				}
2882				pub mod event_count {
2883					use super::runtime_types;
2884					pub type EventCount = ::core::primitive::u32;
2885				}
2886				pub mod event_topics {
2887					use super::runtime_types;
2888					pub type EventTopics = ::subxt::ext::subxt_core::alloc::vec::Vec<(
2889						::core::primitive::u32,
2890						::core::primitive::u32,
2891					)>;
2892					pub type Param0 = ::subxt::ext::subxt_core::utils::H256;
2893				}
2894				pub mod last_runtime_upgrade {
2895					use super::runtime_types;
2896					pub type LastRuntimeUpgrade =
2897						runtime_types::frame_system::LastRuntimeUpgradeInfo;
2898				}
2899				pub mod upgraded_to_u32_ref_count {
2900					use super::runtime_types;
2901					pub type UpgradedToU32RefCount = ::core::primitive::bool;
2902				}
2903				pub mod upgraded_to_triple_ref_count {
2904					use super::runtime_types;
2905					pub type UpgradedToTripleRefCount = ::core::primitive::bool;
2906				}
2907				pub mod execution_phase {
2908					use super::runtime_types;
2909					pub type ExecutionPhase = runtime_types::frame_system::Phase;
2910				}
2911				pub mod authorized_upgrade {
2912					use super::runtime_types;
2913					pub type AuthorizedUpgrade =
2914						runtime_types::frame_system::CodeUpgradeAuthorization;
2915				}
2916				pub mod extrinsic_weight_reclaimed {
2917					use super::runtime_types;
2918					pub type ExtrinsicWeightReclaimed =
2919						runtime_types::sp_weights::weight_v2::Weight;
2920				}
2921			}
2922			pub struct StorageApi;
2923			impl StorageApi {
2924				#[doc = " The full account information for a particular account ID."]
2925				pub fn account_iter(
2926					&self,
2927				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2928					(),
2929					types::account::Account,
2930					(),
2931					::subxt::ext::subxt_core::utils::Yes,
2932					::subxt::ext::subxt_core::utils::Yes,
2933				> {
2934					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2935						"System",
2936						"Account",
2937						(),
2938						[
2939							14u8, 233u8, 115u8, 214u8, 0u8, 109u8, 222u8, 121u8, 162u8, 65u8, 60u8,
2940							175u8, 209u8, 79u8, 222u8, 124u8, 22u8, 235u8, 138u8, 176u8, 133u8,
2941							124u8, 90u8, 158u8, 85u8, 45u8, 37u8, 174u8, 47u8, 79u8, 47u8, 166u8,
2942						],
2943					)
2944				}
2945				#[doc = " The full account information for a particular account ID."]
2946				pub fn account(
2947					&self,
2948					_0: types::account::Param0,
2949				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2950					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
2951						types::account::Param0,
2952					>,
2953					types::account::Account,
2954					::subxt::ext::subxt_core::utils::Yes,
2955					::subxt::ext::subxt_core::utils::Yes,
2956					(),
2957				> {
2958					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2959						"System",
2960						"Account",
2961						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
2962						[
2963							14u8, 233u8, 115u8, 214u8, 0u8, 109u8, 222u8, 121u8, 162u8, 65u8, 60u8,
2964							175u8, 209u8, 79u8, 222u8, 124u8, 22u8, 235u8, 138u8, 176u8, 133u8,
2965							124u8, 90u8, 158u8, 85u8, 45u8, 37u8, 174u8, 47u8, 79u8, 47u8, 166u8,
2966						],
2967					)
2968				}
2969				#[doc = " Total extrinsics count for the current block."]
2970				pub fn extrinsic_count(
2971					&self,
2972				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2973					(),
2974					types::extrinsic_count::ExtrinsicCount,
2975					::subxt::ext::subxt_core::utils::Yes,
2976					(),
2977					(),
2978				> {
2979					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2980						"System",
2981						"ExtrinsicCount",
2982						(),
2983						[
2984							102u8, 76u8, 236u8, 42u8, 40u8, 231u8, 33u8, 222u8, 123u8, 147u8,
2985							153u8, 148u8, 234u8, 203u8, 181u8, 119u8, 6u8, 187u8, 177u8, 199u8,
2986							120u8, 47u8, 137u8, 254u8, 96u8, 100u8, 165u8, 182u8, 249u8, 230u8,
2987							159u8, 79u8,
2988						],
2989					)
2990				}
2991				#[doc = " Whether all inherents have been applied."]
2992				pub fn inherents_applied(
2993					&self,
2994				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2995					(),
2996					types::inherents_applied::InherentsApplied,
2997					::subxt::ext::subxt_core::utils::Yes,
2998					::subxt::ext::subxt_core::utils::Yes,
2999					(),
3000				> {
3001					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3002						"System",
3003						"InherentsApplied",
3004						(),
3005						[
3006							132u8, 249u8, 142u8, 252u8, 8u8, 103u8, 80u8, 120u8, 50u8, 6u8, 188u8,
3007							223u8, 101u8, 55u8, 165u8, 189u8, 172u8, 249u8, 165u8, 230u8, 183u8,
3008							109u8, 34u8, 65u8, 185u8, 150u8, 29u8, 8u8, 186u8, 129u8, 135u8, 239u8,
3009						],
3010					)
3011				}
3012				#[doc = " The current weight for the block."]
3013				pub fn block_weight(
3014					&self,
3015				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3016					(),
3017					types::block_weight::BlockWeight,
3018					::subxt::ext::subxt_core::utils::Yes,
3019					::subxt::ext::subxt_core::utils::Yes,
3020					(),
3021				> {
3022					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3023						"System",
3024						"BlockWeight",
3025						(),
3026						[
3027							158u8, 46u8, 228u8, 89u8, 210u8, 214u8, 84u8, 154u8, 50u8, 68u8, 63u8,
3028							62u8, 43u8, 42u8, 99u8, 27u8, 54u8, 42u8, 146u8, 44u8, 241u8, 216u8,
3029							229u8, 30u8, 216u8, 255u8, 165u8, 238u8, 181u8, 130u8, 36u8, 102u8,
3030						],
3031					)
3032				}
3033				#[doc = " Total length (in bytes) for all extrinsics put together, for the current block."]
3034				pub fn all_extrinsics_len(
3035					&self,
3036				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3037					(),
3038					types::all_extrinsics_len::AllExtrinsicsLen,
3039					::subxt::ext::subxt_core::utils::Yes,
3040					(),
3041					(),
3042				> {
3043					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3044						"System",
3045						"AllExtrinsicsLen",
3046						(),
3047						[
3048							117u8, 86u8, 61u8, 243u8, 41u8, 51u8, 102u8, 214u8, 137u8, 100u8,
3049							243u8, 185u8, 122u8, 174u8, 187u8, 117u8, 86u8, 189u8, 63u8, 135u8,
3050							101u8, 218u8, 203u8, 201u8, 237u8, 254u8, 128u8, 183u8, 169u8, 221u8,
3051							242u8, 65u8,
3052						],
3053					)
3054				}
3055				#[doc = " Map of block numbers to block hashes."]
3056				pub fn block_hash_iter(
3057					&self,
3058				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3059					(),
3060					types::block_hash::BlockHash,
3061					(),
3062					::subxt::ext::subxt_core::utils::Yes,
3063					::subxt::ext::subxt_core::utils::Yes,
3064				> {
3065					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3066						"System",
3067						"BlockHash",
3068						(),
3069						[
3070							217u8, 32u8, 215u8, 253u8, 24u8, 182u8, 207u8, 178u8, 157u8, 24u8,
3071							103u8, 100u8, 195u8, 165u8, 69u8, 152u8, 112u8, 181u8, 56u8, 192u8,
3072							164u8, 16u8, 20u8, 222u8, 28u8, 214u8, 144u8, 142u8, 146u8, 69u8,
3073							202u8, 118u8,
3074						],
3075					)
3076				}
3077				#[doc = " Map of block numbers to block hashes."]
3078				pub fn block_hash(
3079					&self,
3080					_0: types::block_hash::Param0,
3081				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3082					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
3083						types::block_hash::Param0,
3084					>,
3085					types::block_hash::BlockHash,
3086					::subxt::ext::subxt_core::utils::Yes,
3087					::subxt::ext::subxt_core::utils::Yes,
3088					(),
3089				> {
3090					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3091						"System",
3092						"BlockHash",
3093						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
3094						[
3095							217u8, 32u8, 215u8, 253u8, 24u8, 182u8, 207u8, 178u8, 157u8, 24u8,
3096							103u8, 100u8, 195u8, 165u8, 69u8, 152u8, 112u8, 181u8, 56u8, 192u8,
3097							164u8, 16u8, 20u8, 222u8, 28u8, 214u8, 144u8, 142u8, 146u8, 69u8,
3098							202u8, 118u8,
3099						],
3100					)
3101				}
3102				#[doc = " Extrinsics data for the current block (maps an extrinsic's index to its data)."]
3103				pub fn extrinsic_data_iter(
3104					&self,
3105				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3106					(),
3107					types::extrinsic_data::ExtrinsicData,
3108					(),
3109					::subxt::ext::subxt_core::utils::Yes,
3110					::subxt::ext::subxt_core::utils::Yes,
3111				> {
3112					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3113						"System",
3114						"ExtrinsicData",
3115						(),
3116						[
3117							160u8, 180u8, 122u8, 18u8, 196u8, 26u8, 2u8, 37u8, 115u8, 232u8, 133u8,
3118							220u8, 106u8, 245u8, 4u8, 129u8, 42u8, 84u8, 241u8, 45u8, 199u8, 179u8,
3119							128u8, 61u8, 170u8, 137u8, 231u8, 156u8, 247u8, 57u8, 47u8, 38u8,
3120						],
3121					)
3122				}
3123				#[doc = " Extrinsics data for the current block (maps an extrinsic's index to its data)."]
3124				pub fn extrinsic_data(
3125					&self,
3126					_0: types::extrinsic_data::Param0,
3127				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3128					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
3129						types::extrinsic_data::Param0,
3130					>,
3131					types::extrinsic_data::ExtrinsicData,
3132					::subxt::ext::subxt_core::utils::Yes,
3133					::subxt::ext::subxt_core::utils::Yes,
3134					(),
3135				> {
3136					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3137						"System",
3138						"ExtrinsicData",
3139						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
3140						[
3141							160u8, 180u8, 122u8, 18u8, 196u8, 26u8, 2u8, 37u8, 115u8, 232u8, 133u8,
3142							220u8, 106u8, 245u8, 4u8, 129u8, 42u8, 84u8, 241u8, 45u8, 199u8, 179u8,
3143							128u8, 61u8, 170u8, 137u8, 231u8, 156u8, 247u8, 57u8, 47u8, 38u8,
3144						],
3145					)
3146				}
3147				#[doc = " The current block number being processed. Set by `execute_block`."]
3148				pub fn number(
3149					&self,
3150				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3151					(),
3152					types::number::Number,
3153					::subxt::ext::subxt_core::utils::Yes,
3154					::subxt::ext::subxt_core::utils::Yes,
3155					(),
3156				> {
3157					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3158						"System",
3159						"Number",
3160						(),
3161						[
3162							30u8, 194u8, 177u8, 90u8, 194u8, 232u8, 46u8, 180u8, 85u8, 129u8, 14u8,
3163							9u8, 8u8, 8u8, 23u8, 95u8, 230u8, 5u8, 13u8, 105u8, 125u8, 2u8, 22u8,
3164							200u8, 78u8, 93u8, 115u8, 28u8, 150u8, 113u8, 48u8, 53u8,
3165						],
3166					)
3167				}
3168				#[doc = " Hash of the previous block."]
3169				pub fn parent_hash(
3170					&self,
3171				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3172					(),
3173					types::parent_hash::ParentHash,
3174					::subxt::ext::subxt_core::utils::Yes,
3175					::subxt::ext::subxt_core::utils::Yes,
3176					(),
3177				> {
3178					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3179						"System",
3180						"ParentHash",
3181						(),
3182						[
3183							26u8, 130u8, 11u8, 216u8, 155u8, 71u8, 128u8, 170u8, 30u8, 153u8, 21u8,
3184							192u8, 62u8, 93u8, 137u8, 80u8, 120u8, 81u8, 202u8, 94u8, 248u8, 125u8,
3185							71u8, 82u8, 141u8, 229u8, 32u8, 56u8, 73u8, 50u8, 101u8, 78u8,
3186						],
3187					)
3188				}
3189				#[doc = " Digest of the current block, also part of the block header."]
3190				pub fn digest(
3191					&self,
3192				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3193					(),
3194					types::digest::Digest,
3195					::subxt::ext::subxt_core::utils::Yes,
3196					::subxt::ext::subxt_core::utils::Yes,
3197					(),
3198				> {
3199					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3200						"System",
3201						"Digest",
3202						(),
3203						[
3204							61u8, 64u8, 237u8, 91u8, 145u8, 232u8, 17u8, 254u8, 181u8, 16u8, 234u8,
3205							91u8, 51u8, 140u8, 254u8, 131u8, 98u8, 135u8, 21u8, 37u8, 251u8, 20u8,
3206							58u8, 92u8, 123u8, 141u8, 14u8, 227u8, 146u8, 46u8, 222u8, 117u8,
3207						],
3208					)
3209				}
3210				#[doc = " Events deposited for the current block."]
3211				#[doc = ""]
3212				#[doc = " NOTE: The item is unbound and should therefore never be read on chain."]
3213				#[doc = " It could otherwise inflate the PoV size of a block."]
3214				#[doc = ""]
3215				#[doc = " Events have a large in-memory size. Box the events to not go out-of-memory"]
3216				#[doc = " just in case someone still reads them from within the runtime."]
3217				pub fn events(
3218					&self,
3219				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3220					(),
3221					types::events::Events,
3222					::subxt::ext::subxt_core::utils::Yes,
3223					::subxt::ext::subxt_core::utils::Yes,
3224					(),
3225				> {
3226					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3227						"System",
3228						"Events",
3229						(),
3230						[
3231							207u8, 151u8, 186u8, 46u8, 5u8, 145u8, 47u8, 183u8, 65u8, 63u8, 69u8,
3232							242u8, 0u8, 124u8, 212u8, 46u8, 191u8, 190u8, 44u8, 102u8, 148u8, 97u8,
3233							2u8, 120u8, 238u8, 231u8, 7u8, 101u8, 157u8, 45u8, 72u8, 226u8,
3234						],
3235					)
3236				}
3237				#[doc = " The number of events in the `Events<T>` list."]
3238				pub fn event_count(
3239					&self,
3240				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3241					(),
3242					types::event_count::EventCount,
3243					::subxt::ext::subxt_core::utils::Yes,
3244					::subxt::ext::subxt_core::utils::Yes,
3245					(),
3246				> {
3247					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3248						"System",
3249						"EventCount",
3250						(),
3251						[
3252							175u8, 24u8, 252u8, 184u8, 210u8, 167u8, 146u8, 143u8, 164u8, 80u8,
3253							151u8, 205u8, 189u8, 189u8, 55u8, 220u8, 47u8, 101u8, 181u8, 33u8,
3254							254u8, 131u8, 13u8, 143u8, 3u8, 244u8, 245u8, 45u8, 2u8, 210u8, 79u8,
3255							133u8,
3256						],
3257					)
3258				}
3259				#[doc = " Mapping between a topic (represented by T::Hash) and a vector of indexes"]
3260				#[doc = " of events in the `<Events<T>>` list."]
3261				#[doc = ""]
3262				#[doc = " All topic vectors have deterministic storage locations depending on the topic. This"]
3263				#[doc = " allows light-clients to leverage the changes trie storage tracking mechanism and"]
3264				#[doc = " in case of changes fetch the list of events of interest."]
3265				#[doc = ""]
3266				#[doc = " The value has the type `(BlockNumberFor<T>, EventIndex)` because if we used only just"]
3267				#[doc = " the `EventIndex` then in case if the topic has the same contents on the next block"]
3268				#[doc = " no notification will be triggered thus the event might be lost."]
3269				pub fn event_topics_iter(
3270					&self,
3271				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3272					(),
3273					types::event_topics::EventTopics,
3274					(),
3275					::subxt::ext::subxt_core::utils::Yes,
3276					::subxt::ext::subxt_core::utils::Yes,
3277				> {
3278					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3279						"System",
3280						"EventTopics",
3281						(),
3282						[
3283							40u8, 225u8, 14u8, 75u8, 44u8, 176u8, 76u8, 34u8, 143u8, 107u8, 69u8,
3284							133u8, 114u8, 13u8, 172u8, 250u8, 141u8, 73u8, 12u8, 65u8, 217u8, 63u8,
3285							120u8, 241u8, 48u8, 106u8, 143u8, 161u8, 128u8, 100u8, 166u8, 59u8,
3286						],
3287					)
3288				}
3289				#[doc = " Mapping between a topic (represented by T::Hash) and a vector of indexes"]
3290				#[doc = " of events in the `<Events<T>>` list."]
3291				#[doc = ""]
3292				#[doc = " All topic vectors have deterministic storage locations depending on the topic. This"]
3293				#[doc = " allows light-clients to leverage the changes trie storage tracking mechanism and"]
3294				#[doc = " in case of changes fetch the list of events of interest."]
3295				#[doc = ""]
3296				#[doc = " The value has the type `(BlockNumberFor<T>, EventIndex)` because if we used only just"]
3297				#[doc = " the `EventIndex` then in case if the topic has the same contents on the next block"]
3298				#[doc = " no notification will be triggered thus the event might be lost."]
3299				pub fn event_topics(
3300					&self,
3301					_0: types::event_topics::Param0,
3302				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3303					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
3304						types::event_topics::Param0,
3305					>,
3306					types::event_topics::EventTopics,
3307					::subxt::ext::subxt_core::utils::Yes,
3308					::subxt::ext::subxt_core::utils::Yes,
3309					(),
3310				> {
3311					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3312						"System",
3313						"EventTopics",
3314						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
3315						[
3316							40u8, 225u8, 14u8, 75u8, 44u8, 176u8, 76u8, 34u8, 143u8, 107u8, 69u8,
3317							133u8, 114u8, 13u8, 172u8, 250u8, 141u8, 73u8, 12u8, 65u8, 217u8, 63u8,
3318							120u8, 241u8, 48u8, 106u8, 143u8, 161u8, 128u8, 100u8, 166u8, 59u8,
3319						],
3320					)
3321				}
3322				#[doc = " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened."]
3323				pub fn last_runtime_upgrade(
3324					&self,
3325				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3326					(),
3327					types::last_runtime_upgrade::LastRuntimeUpgrade,
3328					::subxt::ext::subxt_core::utils::Yes,
3329					(),
3330					(),
3331				> {
3332					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3333						"System",
3334						"LastRuntimeUpgrade",
3335						(),
3336						[
3337							197u8, 212u8, 249u8, 209u8, 79u8, 34u8, 55u8, 203u8, 31u8, 42u8, 199u8,
3338							242u8, 188u8, 74u8, 234u8, 250u8, 245u8, 44u8, 139u8, 162u8, 45u8,
3339							150u8, 230u8, 249u8, 135u8, 100u8, 158u8, 167u8, 118u8, 219u8, 28u8,
3340							98u8,
3341						],
3342					)
3343				}
3344				#[doc = " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not."]
3345				pub fn upgraded_to_u32_ref_count(
3346					&self,
3347				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3348					(),
3349					types::upgraded_to_u32_ref_count::UpgradedToU32RefCount,
3350					::subxt::ext::subxt_core::utils::Yes,
3351					::subxt::ext::subxt_core::utils::Yes,
3352					(),
3353				> {
3354					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3355						"System",
3356						"UpgradedToU32RefCount",
3357						(),
3358						[
3359							229u8, 73u8, 9u8, 132u8, 186u8, 116u8, 151u8, 171u8, 145u8, 29u8, 34u8,
3360							130u8, 52u8, 146u8, 124u8, 175u8, 79u8, 189u8, 147u8, 230u8, 234u8,
3361							107u8, 124u8, 31u8, 2u8, 22u8, 86u8, 190u8, 4u8, 147u8, 50u8, 245u8,
3362						],
3363					)
3364				}
3365				#[doc = " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False"]
3366				#[doc = " (default) if not."]
3367				pub fn upgraded_to_triple_ref_count(
3368					&self,
3369				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3370					(),
3371					types::upgraded_to_triple_ref_count::UpgradedToTripleRefCount,
3372					::subxt::ext::subxt_core::utils::Yes,
3373					::subxt::ext::subxt_core::utils::Yes,
3374					(),
3375				> {
3376					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3377						"System",
3378						"UpgradedToTripleRefCount",
3379						(),
3380						[
3381							97u8, 66u8, 124u8, 243u8, 27u8, 167u8, 147u8, 81u8, 254u8, 201u8,
3382							101u8, 24u8, 40u8, 231u8, 14u8, 179u8, 154u8, 163u8, 71u8, 81u8, 185u8,
3383							167u8, 82u8, 254u8, 189u8, 3u8, 101u8, 207u8, 206u8, 194u8, 155u8,
3384							151u8,
3385						],
3386					)
3387				}
3388				#[doc = " The execution phase of the block."]
3389				pub fn execution_phase(
3390					&self,
3391				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3392					(),
3393					types::execution_phase::ExecutionPhase,
3394					::subxt::ext::subxt_core::utils::Yes,
3395					(),
3396					(),
3397				> {
3398					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3399						"System",
3400						"ExecutionPhase",
3401						(),
3402						[
3403							191u8, 129u8, 100u8, 134u8, 126u8, 116u8, 154u8, 203u8, 220u8, 200u8,
3404							0u8, 26u8, 161u8, 250u8, 133u8, 205u8, 146u8, 24u8, 5u8, 156u8, 158u8,
3405							35u8, 36u8, 253u8, 52u8, 235u8, 86u8, 167u8, 35u8, 100u8, 119u8, 27u8,
3406						],
3407					)
3408				}
3409				#[doc = " `Some` if a code upgrade has been authorized."]
3410				pub fn authorized_upgrade(
3411					&self,
3412				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3413					(),
3414					types::authorized_upgrade::AuthorizedUpgrade,
3415					::subxt::ext::subxt_core::utils::Yes,
3416					(),
3417					(),
3418				> {
3419					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3420						"System",
3421						"AuthorizedUpgrade",
3422						(),
3423						[
3424							165u8, 97u8, 27u8, 138u8, 2u8, 28u8, 55u8, 92u8, 96u8, 96u8, 168u8,
3425							169u8, 55u8, 178u8, 44u8, 127u8, 58u8, 140u8, 206u8, 178u8, 1u8, 37u8,
3426							214u8, 213u8, 251u8, 123u8, 5u8, 111u8, 90u8, 148u8, 217u8, 135u8,
3427						],
3428					)
3429				}
3430				#[doc = " The weight reclaimed for the extrinsic."]
3431				#[doc = ""]
3432				#[doc = " This information is available until the end of the extrinsic execution."]
3433				#[doc = " More precisely this information is removed in `note_applied_extrinsic`."]
3434				#[doc = ""]
3435				#[doc = " Logic doing some post dispatch weight reduction must update this storage to avoid duplicate"]
3436				#[doc = " reduction."]
3437				pub fn extrinsic_weight_reclaimed(
3438					&self,
3439				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3440					(),
3441					types::extrinsic_weight_reclaimed::ExtrinsicWeightReclaimed,
3442					::subxt::ext::subxt_core::utils::Yes,
3443					::subxt::ext::subxt_core::utils::Yes,
3444					(),
3445				> {
3446					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3447						"System",
3448						"ExtrinsicWeightReclaimed",
3449						(),
3450						[
3451							195u8, 143u8, 164u8, 84u8, 225u8, 194u8, 227u8, 128u8, 196u8, 241u8,
3452							188u8, 159u8, 59u8, 197u8, 11u8, 12u8, 119u8, 164u8, 46u8, 229u8, 92u8,
3453							212u8, 236u8, 255u8, 238u8, 54u8, 105u8, 200u8, 229u8, 191u8, 221u8,
3454							202u8,
3455						],
3456					)
3457				}
3458			}
3459		}
3460		pub mod constants {
3461			use super::runtime_types;
3462			pub struct ConstantsApi;
3463			impl ConstantsApi {
3464				#[doc = " Block & extrinsics weights: base values and limits."]
3465				pub fn block_weights(
3466					&self,
3467				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3468					runtime_types::frame_system::limits::BlockWeights,
3469				> {
3470					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3471						"System",
3472						"BlockWeights",
3473						[
3474							176u8, 124u8, 225u8, 136u8, 25u8, 73u8, 247u8, 33u8, 82u8, 206u8, 85u8,
3475							190u8, 127u8, 102u8, 71u8, 11u8, 185u8, 8u8, 58u8, 0u8, 94u8, 55u8,
3476							163u8, 177u8, 104u8, 59u8, 60u8, 136u8, 246u8, 116u8, 0u8, 239u8,
3477						],
3478					)
3479				}
3480				#[doc = " The maximum length of a block (in bytes)."]
3481				pub fn block_length(
3482					&self,
3483				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3484					runtime_types::frame_system::limits::BlockLength,
3485				> {
3486					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3487						"System",
3488						"BlockLength",
3489						[
3490							23u8, 242u8, 225u8, 39u8, 225u8, 67u8, 152u8, 41u8, 155u8, 104u8, 68u8,
3491							229u8, 185u8, 133u8, 10u8, 143u8, 184u8, 152u8, 234u8, 44u8, 140u8,
3492							96u8, 166u8, 235u8, 162u8, 160u8, 72u8, 7u8, 35u8, 194u8, 3u8, 37u8,
3493						],
3494					)
3495				}
3496				#[doc = " Maximum number of block number to block hash mappings to keep (oldest pruned first)."]
3497				pub fn block_hash_count(
3498					&self,
3499				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3500					::core::primitive::u32,
3501				> {
3502					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3503						"System",
3504						"BlockHashCount",
3505						[
3506							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
3507							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
3508							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
3509							145u8,
3510						],
3511					)
3512				}
3513				#[doc = " The weight of runtime database operations the runtime can invoke."]
3514				pub fn db_weight(
3515					&self,
3516				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3517					runtime_types::sp_weights::RuntimeDbWeight,
3518				> {
3519					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3520						"System",
3521						"DbWeight",
3522						[
3523							42u8, 43u8, 178u8, 142u8, 243u8, 203u8, 60u8, 173u8, 118u8, 111u8,
3524							200u8, 170u8, 102u8, 70u8, 237u8, 187u8, 198u8, 120u8, 153u8, 232u8,
3525							183u8, 76u8, 74u8, 10u8, 70u8, 243u8, 14u8, 218u8, 213u8, 126u8, 29u8,
3526							177u8,
3527						],
3528					)
3529				}
3530				#[doc = " Get the chain's in-code version."]
3531				pub fn version(
3532					&self,
3533				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3534					runtime_types::sp_version::RuntimeVersion,
3535				> {
3536					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3537						"System",
3538						"Version",
3539						[
3540							214u8, 43u8, 96u8, 193u8, 96u8, 213u8, 63u8, 124u8, 22u8, 111u8, 41u8,
3541							78u8, 146u8, 77u8, 34u8, 163u8, 117u8, 100u8, 6u8, 216u8, 238u8, 54u8,
3542							80u8, 185u8, 219u8, 11u8, 192u8, 200u8, 129u8, 88u8, 161u8, 250u8,
3543						],
3544					)
3545				}
3546				#[doc = " The designated SS58 prefix of this chain."]
3547				#[doc = ""]
3548				#[doc = " This replaces the \"ss58Format\" property declared in the chain spec. Reason is"]
3549				#[doc = " that the runtime should know about the prefix in order to make use of it as"]
3550				#[doc = " an identifier of the chain."]
3551				pub fn ss58_prefix(
3552					&self,
3553				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3554					::core::primitive::u16,
3555				> {
3556					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3557						"System",
3558						"SS58Prefix",
3559						[
3560							116u8, 33u8, 2u8, 170u8, 181u8, 147u8, 171u8, 169u8, 167u8, 227u8,
3561							41u8, 144u8, 11u8, 236u8, 82u8, 100u8, 74u8, 60u8, 184u8, 72u8, 169u8,
3562							90u8, 208u8, 135u8, 15u8, 117u8, 10u8, 123u8, 128u8, 193u8, 29u8, 70u8,
3563						],
3564					)
3565				}
3566			}
3567		}
3568	}
3569	pub mod timestamp {
3570		use super::{root_mod, runtime_types};
3571		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
3572		pub type Call = runtime_types::pallet_timestamp::pallet::Call;
3573		pub mod calls {
3574			use super::{root_mod, runtime_types};
3575			type DispatchError = runtime_types::sp_runtime::DispatchError;
3576			pub mod types {
3577				use super::runtime_types;
3578				#[derive(
3579					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3580					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3581					Debug,
3582				)]
3583				#[decode_as_type(
3584					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3585				)]
3586				#[encode_as_type(
3587					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3588				)]
3589				#[doc = "Set the current time."]
3590				#[doc = ""]
3591				#[doc = "This call should be invoked exactly once per block. It will panic at the finalization"]
3592				#[doc = "phase, if this call hasn't been invoked by that time."]
3593				#[doc = ""]
3594				#[doc = "The timestamp should be greater than the previous one by the amount specified by"]
3595				#[doc = "[`Config::MinimumPeriod`]."]
3596				#[doc = ""]
3597				#[doc = "The dispatch origin for this call must be _None_."]
3598				#[doc = ""]
3599				#[doc = "This dispatch class is _Mandatory_ to ensure it gets executed in the block. Be aware"]
3600				#[doc = "that changing the complexity of this call could result exhausting the resources in a"]
3601				#[doc = "block to execute any other calls."]
3602				#[doc = ""]
3603				#[doc = "## Complexity"]
3604				#[doc = "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)"]
3605				#[doc = "- 1 storage read and 1 storage mutation (codec `O(1)` because of `DidUpdate::take` in"]
3606				#[doc = "  `on_finalize`)"]
3607				#[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."]
3608				pub struct Set {
3609					#[codec(compact)]
3610					pub now: set::Now,
3611				}
3612				pub mod set {
3613					use super::runtime_types;
3614					pub type Now = ::core::primitive::u64;
3615				}
3616				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Set {
3617					const PALLET: &'static str = "Timestamp";
3618					const CALL: &'static str = "set";
3619				}
3620			}
3621			pub struct TransactionApi;
3622			impl TransactionApi {
3623				#[doc = "Set the current time."]
3624				#[doc = ""]
3625				#[doc = "This call should be invoked exactly once per block. It will panic at the finalization"]
3626				#[doc = "phase, if this call hasn't been invoked by that time."]
3627				#[doc = ""]
3628				#[doc = "The timestamp should be greater than the previous one by the amount specified by"]
3629				#[doc = "[`Config::MinimumPeriod`]."]
3630				#[doc = ""]
3631				#[doc = "The dispatch origin for this call must be _None_."]
3632				#[doc = ""]
3633				#[doc = "This dispatch class is _Mandatory_ to ensure it gets executed in the block. Be aware"]
3634				#[doc = "that changing the complexity of this call could result exhausting the resources in a"]
3635				#[doc = "block to execute any other calls."]
3636				#[doc = ""]
3637				#[doc = "## Complexity"]
3638				#[doc = "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)"]
3639				#[doc = "- 1 storage read and 1 storage mutation (codec `O(1)` because of `DidUpdate::take` in"]
3640				#[doc = "  `on_finalize`)"]
3641				#[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."]
3642				pub fn set(
3643					&self,
3644					now: types::set::Now,
3645				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Set> {
3646					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
3647						"Timestamp",
3648						"set",
3649						types::Set { now },
3650						[
3651							37u8, 95u8, 49u8, 218u8, 24u8, 22u8, 0u8, 95u8, 72u8, 35u8, 155u8,
3652							199u8, 213u8, 54u8, 207u8, 22u8, 185u8, 193u8, 221u8, 70u8, 18u8,
3653							200u8, 4u8, 231u8, 195u8, 173u8, 6u8, 122u8, 11u8, 203u8, 231u8, 227u8,
3654						],
3655					)
3656				}
3657			}
3658		}
3659		pub mod storage {
3660			use super::runtime_types;
3661			pub mod types {
3662				use super::runtime_types;
3663				pub mod now {
3664					use super::runtime_types;
3665					pub type Now = ::core::primitive::u64;
3666				}
3667				pub mod did_update {
3668					use super::runtime_types;
3669					pub type DidUpdate = ::core::primitive::bool;
3670				}
3671			}
3672			pub struct StorageApi;
3673			impl StorageApi {
3674				#[doc = " The current time for the current block."]
3675				pub fn now(
3676					&self,
3677				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3678					(),
3679					types::now::Now,
3680					::subxt::ext::subxt_core::utils::Yes,
3681					::subxt::ext::subxt_core::utils::Yes,
3682					(),
3683				> {
3684					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3685						"Timestamp",
3686						"Now",
3687						(),
3688						[
3689							44u8, 50u8, 80u8, 30u8, 195u8, 146u8, 123u8, 238u8, 8u8, 163u8, 187u8,
3690							92u8, 61u8, 39u8, 51u8, 29u8, 173u8, 169u8, 217u8, 158u8, 85u8, 187u8,
3691							141u8, 26u8, 12u8, 115u8, 51u8, 11u8, 200u8, 244u8, 138u8, 152u8,
3692						],
3693					)
3694				}
3695				#[doc = " Whether the timestamp has been updated in this block."]
3696				#[doc = ""]
3697				#[doc = " This value is updated to `true` upon successful submission of a timestamp by a node."]
3698				#[doc = " It is then checked at the end of each block execution in the `on_finalize` hook."]
3699				pub fn did_update(
3700					&self,
3701				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3702					(),
3703					types::did_update::DidUpdate,
3704					::subxt::ext::subxt_core::utils::Yes,
3705					::subxt::ext::subxt_core::utils::Yes,
3706					(),
3707				> {
3708					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3709						"Timestamp",
3710						"DidUpdate",
3711						(),
3712						[
3713							229u8, 175u8, 246u8, 102u8, 237u8, 158u8, 212u8, 229u8, 238u8, 214u8,
3714							205u8, 160u8, 164u8, 252u8, 195u8, 75u8, 139u8, 110u8, 22u8, 34u8,
3715							248u8, 204u8, 107u8, 46u8, 20u8, 200u8, 238u8, 167u8, 71u8, 41u8,
3716							214u8, 140u8,
3717						],
3718					)
3719				}
3720			}
3721		}
3722		pub mod constants {
3723			use super::runtime_types;
3724			pub struct ConstantsApi;
3725			impl ConstantsApi {
3726				#[doc = " The minimum period between blocks."]
3727				#[doc = ""]
3728				#[doc = " Be aware that this is different to the *expected* period that the block production"]
3729				#[doc = " apparatus provides. Your chosen consensus system will generally work with this to"]
3730				#[doc = " determine a sensible block time. For example, in the Aura pallet it will be double this"]
3731				#[doc = " period on default settings."]
3732				pub fn minimum_period(
3733					&self,
3734				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3735					::core::primitive::u64,
3736				> {
3737					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3738						"Timestamp",
3739						"MinimumPeriod",
3740						[
3741							128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8,
3742							59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8,
3743							103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8,
3744							246u8,
3745						],
3746					)
3747				}
3748			}
3749		}
3750	}
3751	pub mod balances {
3752		use super::{root_mod, runtime_types};
3753		#[doc = "The `Error` enum of this pallet."]
3754		pub type Error = runtime_types::pallet_balances::pallet::Error;
3755		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
3756		pub type Call = runtime_types::pallet_balances::pallet::Call;
3757		pub mod calls {
3758			use super::{root_mod, runtime_types};
3759			type DispatchError = runtime_types::sp_runtime::DispatchError;
3760			pub mod types {
3761				use super::runtime_types;
3762				#[derive(
3763					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3764					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3765					Debug,
3766				)]
3767				#[decode_as_type(
3768					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3769				)]
3770				#[encode_as_type(
3771					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3772				)]
3773				#[doc = "Transfer some liquid free balance to another account."]
3774				#[doc = ""]
3775				#[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."]
3776				#[doc = "If the sender's account is below the existential deposit as a result"]
3777				#[doc = "of the transfer, the account will be reaped."]
3778				#[doc = ""]
3779				#[doc = "The dispatch origin for this call must be `Signed` by the transactor."]
3780				pub struct TransferAllowDeath {
3781					pub dest: transfer_allow_death::Dest,
3782					#[codec(compact)]
3783					pub value: transfer_allow_death::Value,
3784				}
3785				pub mod transfer_allow_death {
3786					use super::runtime_types;
3787					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
3788						::subxt::ext::subxt_core::utils::AccountId32,
3789						(),
3790					>;
3791					pub type Value = ::core::primitive::u128;
3792				}
3793				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferAllowDeath {
3794					const PALLET: &'static str = "Balances";
3795					const CALL: &'static str = "transfer_allow_death";
3796				}
3797				#[derive(
3798					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3799					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3800					Debug,
3801				)]
3802				#[decode_as_type(
3803					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3804				)]
3805				#[encode_as_type(
3806					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3807				)]
3808				#[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"]
3809				#[doc = "may be specified."]
3810				pub struct ForceTransfer {
3811					pub source: force_transfer::Source,
3812					pub dest: force_transfer::Dest,
3813					#[codec(compact)]
3814					pub value: force_transfer::Value,
3815				}
3816				pub mod force_transfer {
3817					use super::runtime_types;
3818					pub type Source = ::subxt::ext::subxt_core::utils::MultiAddress<
3819						::subxt::ext::subxt_core::utils::AccountId32,
3820						(),
3821					>;
3822					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
3823						::subxt::ext::subxt_core::utils::AccountId32,
3824						(),
3825					>;
3826					pub type Value = ::core::primitive::u128;
3827				}
3828				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceTransfer {
3829					const PALLET: &'static str = "Balances";
3830					const CALL: &'static str = "force_transfer";
3831				}
3832				#[derive(
3833					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3834					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3835					Debug,
3836				)]
3837				#[decode_as_type(
3838					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3839				)]
3840				#[encode_as_type(
3841					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3842				)]
3843				#[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"]
3844				#[doc = "kill the origin account."]
3845				#[doc = ""]
3846				#[doc = "99% of the time you want [`transfer_allow_death`] instead."]
3847				#[doc = ""]
3848				#[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"]
3849				pub struct TransferKeepAlive {
3850					pub dest: transfer_keep_alive::Dest,
3851					#[codec(compact)]
3852					pub value: transfer_keep_alive::Value,
3853				}
3854				pub mod transfer_keep_alive {
3855					use super::runtime_types;
3856					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
3857						::subxt::ext::subxt_core::utils::AccountId32,
3858						(),
3859					>;
3860					pub type Value = ::core::primitive::u128;
3861				}
3862				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferKeepAlive {
3863					const PALLET: &'static str = "Balances";
3864					const CALL: &'static str = "transfer_keep_alive";
3865				}
3866				#[derive(
3867					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3868					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3869					Debug,
3870				)]
3871				#[decode_as_type(
3872					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3873				)]
3874				#[encode_as_type(
3875					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3876				)]
3877				#[doc = "Transfer the entire transferable balance from the caller account."]
3878				#[doc = ""]
3879				#[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"]
3880				#[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"]
3881				#[doc = "transferred by this function. To ensure that this function results in a killed account,"]
3882				#[doc = "you might need to prepare the account by removing any reference counters, storage"]
3883				#[doc = "deposits, etc..."]
3884				#[doc = ""]
3885				#[doc = "The dispatch origin of this call must be Signed."]
3886				#[doc = ""]
3887				#[doc = "- `dest`: The recipient of the transfer."]
3888				#[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"]
3889				#[doc = "  of the funds the account has, causing the sender account to be killed (false), or"]
3890				#[doc = "  transfer everything except at least the existential deposit, which will guarantee to"]
3891				#[doc = "  keep the sender account alive (true)."]
3892				pub struct TransferAll {
3893					pub dest: transfer_all::Dest,
3894					pub keep_alive: transfer_all::KeepAlive,
3895				}
3896				pub mod transfer_all {
3897					use super::runtime_types;
3898					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
3899						::subxt::ext::subxt_core::utils::AccountId32,
3900						(),
3901					>;
3902					pub type KeepAlive = ::core::primitive::bool;
3903				}
3904				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferAll {
3905					const PALLET: &'static str = "Balances";
3906					const CALL: &'static str = "transfer_all";
3907				}
3908				#[derive(
3909					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3910					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3911					Debug,
3912				)]
3913				#[decode_as_type(
3914					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3915				)]
3916				#[encode_as_type(
3917					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3918				)]
3919				#[doc = "Unreserve some balance from a user by force."]
3920				#[doc = ""]
3921				#[doc = "Can only be called by ROOT."]
3922				pub struct ForceUnreserve {
3923					pub who: force_unreserve::Who,
3924					pub amount: force_unreserve::Amount,
3925				}
3926				pub mod force_unreserve {
3927					use super::runtime_types;
3928					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
3929						::subxt::ext::subxt_core::utils::AccountId32,
3930						(),
3931					>;
3932					pub type Amount = ::core::primitive::u128;
3933				}
3934				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceUnreserve {
3935					const PALLET: &'static str = "Balances";
3936					const CALL: &'static str = "force_unreserve";
3937				}
3938				#[derive(
3939					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3940					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3941					Debug,
3942				)]
3943				#[decode_as_type(
3944					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3945				)]
3946				#[encode_as_type(
3947					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3948				)]
3949				#[doc = "Upgrade a specified account."]
3950				#[doc = ""]
3951				#[doc = "- `origin`: Must be `Signed`."]
3952				#[doc = "- `who`: The account to be upgraded."]
3953				#[doc = ""]
3954				#[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"]
3955				#[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"]
3956				#[doc = "possibility of churn)."]
3957				pub struct UpgradeAccounts {
3958					pub who: upgrade_accounts::Who,
3959				}
3960				pub mod upgrade_accounts {
3961					use super::runtime_types;
3962					pub type Who = ::subxt::ext::subxt_core::alloc::vec::Vec<
3963						::subxt::ext::subxt_core::utils::AccountId32,
3964					>;
3965				}
3966				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for UpgradeAccounts {
3967					const PALLET: &'static str = "Balances";
3968					const CALL: &'static str = "upgrade_accounts";
3969				}
3970				#[derive(
3971					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3972					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3973					Debug,
3974				)]
3975				#[decode_as_type(
3976					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3977				)]
3978				#[encode_as_type(
3979					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3980				)]
3981				#[doc = "Set the regular balance of a given account."]
3982				#[doc = ""]
3983				#[doc = "The dispatch origin for this call is `root`."]
3984				pub struct ForceSetBalance {
3985					pub who: force_set_balance::Who,
3986					#[codec(compact)]
3987					pub new_free: force_set_balance::NewFree,
3988				}
3989				pub mod force_set_balance {
3990					use super::runtime_types;
3991					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
3992						::subxt::ext::subxt_core::utils::AccountId32,
3993						(),
3994					>;
3995					pub type NewFree = ::core::primitive::u128;
3996				}
3997				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceSetBalance {
3998					const PALLET: &'static str = "Balances";
3999					const CALL: &'static str = "force_set_balance";
4000				}
4001				#[derive(
4002					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4003					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4004					Debug,
4005				)]
4006				#[decode_as_type(
4007					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
4008				)]
4009				#[encode_as_type(
4010					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
4011				)]
4012				#[doc = "Adjust the total issuance in a saturating way."]
4013				#[doc = ""]
4014				#[doc = "Can only be called by root and always needs a positive `delta`."]
4015				#[doc = ""]
4016				#[doc = "# Example"]
4017				pub struct ForceAdjustTotalIssuance {
4018					pub direction: force_adjust_total_issuance::Direction,
4019					#[codec(compact)]
4020					pub delta: force_adjust_total_issuance::Delta,
4021				}
4022				pub mod force_adjust_total_issuance {
4023					use super::runtime_types;
4024					pub type Direction = runtime_types::pallet_balances::types::AdjustmentDirection;
4025					pub type Delta = ::core::primitive::u128;
4026				}
4027				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceAdjustTotalIssuance {
4028					const PALLET: &'static str = "Balances";
4029					const CALL: &'static str = "force_adjust_total_issuance";
4030				}
4031				#[derive(
4032					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4033					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4034					Debug,
4035				)]
4036				#[decode_as_type(
4037					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
4038				)]
4039				#[encode_as_type(
4040					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
4041				)]
4042				#[doc = "Burn the specified liquid free balance from the origin account."]
4043				#[doc = ""]
4044				#[doc = "If the origin's account ends up below the existential deposit as a result"]
4045				#[doc = "of the burn and `keep_alive` is false, the account will be reaped."]
4046				#[doc = ""]
4047				#[doc = "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,"]
4048				#[doc = "this `burn` operation will reduce total issuance by the amount _burned_."]
4049				pub struct Burn {
4050					#[codec(compact)]
4051					pub value: burn::Value,
4052					pub keep_alive: burn::KeepAlive,
4053				}
4054				pub mod burn {
4055					use super::runtime_types;
4056					pub type Value = ::core::primitive::u128;
4057					pub type KeepAlive = ::core::primitive::bool;
4058				}
4059				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Burn {
4060					const PALLET: &'static str = "Balances";
4061					const CALL: &'static str = "burn";
4062				}
4063			}
4064			pub struct TransactionApi;
4065			impl TransactionApi {
4066				#[doc = "Transfer some liquid free balance to another account."]
4067				#[doc = ""]
4068				#[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."]
4069				#[doc = "If the sender's account is below the existential deposit as a result"]
4070				#[doc = "of the transfer, the account will be reaped."]
4071				#[doc = ""]
4072				#[doc = "The dispatch origin for this call must be `Signed` by the transactor."]
4073				pub fn transfer_allow_death(
4074					&self,
4075					dest: types::transfer_allow_death::Dest,
4076					value: types::transfer_allow_death::Value,
4077				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferAllowDeath>
4078				{
4079					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4080						"Balances",
4081						"transfer_allow_death",
4082						types::TransferAllowDeath { dest, value },
4083						[
4084							51u8, 166u8, 195u8, 10u8, 139u8, 218u8, 55u8, 130u8, 6u8, 194u8, 35u8,
4085							140u8, 27u8, 205u8, 214u8, 222u8, 102u8, 43u8, 143u8, 145u8, 86u8,
4086							219u8, 210u8, 147u8, 13u8, 39u8, 51u8, 21u8, 237u8, 179u8, 132u8,
4087							130u8,
4088						],
4089					)
4090				}
4091				#[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"]
4092				#[doc = "may be specified."]
4093				pub fn force_transfer(
4094					&self,
4095					source: types::force_transfer::Source,
4096					dest: types::force_transfer::Dest,
4097					value: types::force_transfer::Value,
4098				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceTransfer>
4099				{
4100					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4101						"Balances",
4102						"force_transfer",
4103						types::ForceTransfer { source, dest, value },
4104						[
4105							154u8, 93u8, 222u8, 27u8, 12u8, 248u8, 63u8, 213u8, 224u8, 86u8, 250u8,
4106							153u8, 249u8, 102u8, 83u8, 160u8, 79u8, 125u8, 105u8, 222u8, 77u8,
4107							180u8, 90u8, 105u8, 81u8, 217u8, 60u8, 25u8, 213u8, 51u8, 185u8, 96u8,
4108						],
4109					)
4110				}
4111				#[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"]
4112				#[doc = "kill the origin account."]
4113				#[doc = ""]
4114				#[doc = "99% of the time you want [`transfer_allow_death`] instead."]
4115				#[doc = ""]
4116				#[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"]
4117				pub fn transfer_keep_alive(
4118					&self,
4119					dest: types::transfer_keep_alive::Dest,
4120					value: types::transfer_keep_alive::Value,
4121				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferKeepAlive>
4122				{
4123					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4124						"Balances",
4125						"transfer_keep_alive",
4126						types::TransferKeepAlive { dest, value },
4127						[
4128							245u8, 14u8, 190u8, 193u8, 32u8, 210u8, 74u8, 92u8, 25u8, 182u8, 76u8,
4129							55u8, 247u8, 83u8, 114u8, 75u8, 143u8, 236u8, 117u8, 25u8, 54u8, 157u8,
4130							208u8, 207u8, 233u8, 89u8, 70u8, 161u8, 235u8, 242u8, 222u8, 59u8,
4131						],
4132					)
4133				}
4134				#[doc = "Transfer the entire transferable balance from the caller account."]
4135				#[doc = ""]
4136				#[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"]
4137				#[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"]
4138				#[doc = "transferred by this function. To ensure that this function results in a killed account,"]
4139				#[doc = "you might need to prepare the account by removing any reference counters, storage"]
4140				#[doc = "deposits, etc..."]
4141				#[doc = ""]
4142				#[doc = "The dispatch origin of this call must be Signed."]
4143				#[doc = ""]
4144				#[doc = "- `dest`: The recipient of the transfer."]
4145				#[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"]
4146				#[doc = "  of the funds the account has, causing the sender account to be killed (false), or"]
4147				#[doc = "  transfer everything except at least the existential deposit, which will guarantee to"]
4148				#[doc = "  keep the sender account alive (true)."]
4149				pub fn transfer_all(
4150					&self,
4151					dest: types::transfer_all::Dest,
4152					keep_alive: types::transfer_all::KeepAlive,
4153				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferAll> {
4154					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4155						"Balances",
4156						"transfer_all",
4157						types::TransferAll { dest, keep_alive },
4158						[
4159							105u8, 132u8, 49u8, 144u8, 195u8, 250u8, 34u8, 46u8, 213u8, 248u8,
4160							112u8, 188u8, 81u8, 228u8, 136u8, 18u8, 67u8, 172u8, 37u8, 38u8, 238u8,
4161							9u8, 34u8, 15u8, 67u8, 34u8, 148u8, 195u8, 223u8, 29u8, 154u8, 6u8,
4162						],
4163					)
4164				}
4165				#[doc = "Unreserve some balance from a user by force."]
4166				#[doc = ""]
4167				#[doc = "Can only be called by ROOT."]
4168				pub fn force_unreserve(
4169					&self,
4170					who: types::force_unreserve::Who,
4171					amount: types::force_unreserve::Amount,
4172				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceUnreserve>
4173				{
4174					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4175						"Balances",
4176						"force_unreserve",
4177						types::ForceUnreserve { who, amount },
4178						[
4179							142u8, 151u8, 64u8, 205u8, 46u8, 64u8, 62u8, 122u8, 108u8, 49u8, 223u8,
4180							140u8, 120u8, 153u8, 35u8, 165u8, 187u8, 38u8, 157u8, 200u8, 123u8,
4181							199u8, 198u8, 168u8, 208u8, 159u8, 39u8, 134u8, 92u8, 103u8, 84u8,
4182							171u8,
4183						],
4184					)
4185				}
4186				#[doc = "Upgrade a specified account."]
4187				#[doc = ""]
4188				#[doc = "- `origin`: Must be `Signed`."]
4189				#[doc = "- `who`: The account to be upgraded."]
4190				#[doc = ""]
4191				#[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"]
4192				#[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"]
4193				#[doc = "possibility of churn)."]
4194				pub fn upgrade_accounts(
4195					&self,
4196					who: types::upgrade_accounts::Who,
4197				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::UpgradeAccounts>
4198				{
4199					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4200						"Balances",
4201						"upgrade_accounts",
4202						types::UpgradeAccounts { who },
4203						[
4204							66u8, 200u8, 179u8, 104u8, 65u8, 2u8, 101u8, 56u8, 130u8, 161u8, 224u8,
4205							233u8, 255u8, 124u8, 70u8, 122u8, 8u8, 49u8, 103u8, 178u8, 68u8, 47u8,
4206							214u8, 166u8, 217u8, 116u8, 178u8, 50u8, 212u8, 164u8, 98u8, 226u8,
4207						],
4208					)
4209				}
4210				#[doc = "Set the regular balance of a given account."]
4211				#[doc = ""]
4212				#[doc = "The dispatch origin for this call is `root`."]
4213				pub fn force_set_balance(
4214					&self,
4215					who: types::force_set_balance::Who,
4216					new_free: types::force_set_balance::NewFree,
4217				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceSetBalance>
4218				{
4219					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4220						"Balances",
4221						"force_set_balance",
4222						types::ForceSetBalance { who, new_free },
4223						[
4224							114u8, 229u8, 59u8, 204u8, 180u8, 83u8, 17u8, 4u8, 59u8, 4u8, 55u8,
4225							39u8, 151u8, 196u8, 124u8, 60u8, 209u8, 65u8, 193u8, 11u8, 44u8, 164u8,
4226							116u8, 93u8, 169u8, 30u8, 199u8, 165u8, 55u8, 231u8, 223u8, 43u8,
4227						],
4228					)
4229				}
4230				#[doc = "Adjust the total issuance in a saturating way."]
4231				#[doc = ""]
4232				#[doc = "Can only be called by root and always needs a positive `delta`."]
4233				#[doc = ""]
4234				#[doc = "# Example"]
4235				pub fn force_adjust_total_issuance(
4236					&self,
4237					direction: types::force_adjust_total_issuance::Direction,
4238					delta: types::force_adjust_total_issuance::Delta,
4239				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
4240					types::ForceAdjustTotalIssuance,
4241				> {
4242					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4243						"Balances",
4244						"force_adjust_total_issuance",
4245						types::ForceAdjustTotalIssuance { direction, delta },
4246						[
4247							208u8, 134u8, 56u8, 133u8, 232u8, 164u8, 10u8, 213u8, 53u8, 193u8,
4248							190u8, 63u8, 236u8, 186u8, 96u8, 122u8, 104u8, 87u8, 173u8, 38u8, 58u8,
4249							176u8, 21u8, 78u8, 42u8, 106u8, 46u8, 248u8, 251u8, 190u8, 150u8,
4250							202u8,
4251						],
4252					)
4253				}
4254				#[doc = "Burn the specified liquid free balance from the origin account."]
4255				#[doc = ""]
4256				#[doc = "If the origin's account ends up below the existential deposit as a result"]
4257				#[doc = "of the burn and `keep_alive` is false, the account will be reaped."]
4258				#[doc = ""]
4259				#[doc = "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,"]
4260				#[doc = "this `burn` operation will reduce total issuance by the amount _burned_."]
4261				pub fn burn(
4262					&self,
4263					value: types::burn::Value,
4264					keep_alive: types::burn::KeepAlive,
4265				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Burn> {
4266					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4267						"Balances",
4268						"burn",
4269						types::Burn { value, keep_alive },
4270						[
4271							176u8, 64u8, 7u8, 109u8, 16u8, 44u8, 145u8, 125u8, 147u8, 152u8, 130u8,
4272							114u8, 221u8, 201u8, 150u8, 162u8, 118u8, 71u8, 52u8, 92u8, 240u8,
4273							116u8, 203u8, 98u8, 5u8, 22u8, 43u8, 102u8, 94u8, 208u8, 101u8, 57u8,
4274						],
4275					)
4276				}
4277			}
4278		}
4279		#[doc = "The `Event` enum of this pallet"]
4280		pub type Event = runtime_types::pallet_balances::pallet::Event;
4281		pub mod events {
4282			use super::runtime_types;
4283			#[derive(
4284				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4285				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4286				Debug,
4287			)]
4288			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4289			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4290			#[doc = "An account was created with some free balance."]
4291			pub struct Endowed {
4292				pub account: endowed::Account,
4293				pub free_balance: endowed::FreeBalance,
4294			}
4295			pub mod endowed {
4296				use super::runtime_types;
4297				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
4298				pub type FreeBalance = ::core::primitive::u128;
4299			}
4300			impl ::subxt::ext::subxt_core::events::StaticEvent for Endowed {
4301				const PALLET: &'static str = "Balances";
4302				const EVENT: &'static str = "Endowed";
4303			}
4304			#[derive(
4305				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4306				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4307				Debug,
4308			)]
4309			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4310			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4311			#[doc = "An account was removed whose balance was non-zero but below ExistentialDeposit,"]
4312			#[doc = "resulting in an outright loss."]
4313			pub struct DustLost {
4314				pub account: dust_lost::Account,
4315				pub amount: dust_lost::Amount,
4316			}
4317			pub mod dust_lost {
4318				use super::runtime_types;
4319				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
4320				pub type Amount = ::core::primitive::u128;
4321			}
4322			impl ::subxt::ext::subxt_core::events::StaticEvent for DustLost {
4323				const PALLET: &'static str = "Balances";
4324				const EVENT: &'static str = "DustLost";
4325			}
4326			#[derive(
4327				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4328				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4329				Debug,
4330			)]
4331			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4332			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4333			#[doc = "Transfer succeeded."]
4334			pub struct Transfer {
4335				pub from: transfer::From,
4336				pub to: transfer::To,
4337				pub amount: transfer::Amount,
4338			}
4339			pub mod transfer {
4340				use super::runtime_types;
4341				pub type From = ::subxt::ext::subxt_core::utils::AccountId32;
4342				pub type To = ::subxt::ext::subxt_core::utils::AccountId32;
4343				pub type Amount = ::core::primitive::u128;
4344			}
4345			impl ::subxt::ext::subxt_core::events::StaticEvent for Transfer {
4346				const PALLET: &'static str = "Balances";
4347				const EVENT: &'static str = "Transfer";
4348			}
4349			#[derive(
4350				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4351				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4352				Debug,
4353			)]
4354			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4355			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4356			#[doc = "A balance was set by root."]
4357			pub struct BalanceSet {
4358				pub who: balance_set::Who,
4359				pub free: balance_set::Free,
4360			}
4361			pub mod balance_set {
4362				use super::runtime_types;
4363				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4364				pub type Free = ::core::primitive::u128;
4365			}
4366			impl ::subxt::ext::subxt_core::events::StaticEvent for BalanceSet {
4367				const PALLET: &'static str = "Balances";
4368				const EVENT: &'static str = "BalanceSet";
4369			}
4370			#[derive(
4371				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4372				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4373				Debug,
4374			)]
4375			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4376			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4377			#[doc = "Some balance was reserved (moved from free to reserved)."]
4378			pub struct Reserved {
4379				pub who: reserved::Who,
4380				pub amount: reserved::Amount,
4381			}
4382			pub mod reserved {
4383				use super::runtime_types;
4384				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4385				pub type Amount = ::core::primitive::u128;
4386			}
4387			impl ::subxt::ext::subxt_core::events::StaticEvent for Reserved {
4388				const PALLET: &'static str = "Balances";
4389				const EVENT: &'static str = "Reserved";
4390			}
4391			#[derive(
4392				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4393				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4394				Debug,
4395			)]
4396			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4397			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4398			#[doc = "Some balance was unreserved (moved from reserved to free)."]
4399			pub struct Unreserved {
4400				pub who: unreserved::Who,
4401				pub amount: unreserved::Amount,
4402			}
4403			pub mod unreserved {
4404				use super::runtime_types;
4405				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4406				pub type Amount = ::core::primitive::u128;
4407			}
4408			impl ::subxt::ext::subxt_core::events::StaticEvent for Unreserved {
4409				const PALLET: &'static str = "Balances";
4410				const EVENT: &'static str = "Unreserved";
4411			}
4412			#[derive(
4413				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4414				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4415				Debug,
4416			)]
4417			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4418			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4419			#[doc = "Some balance was moved from the reserve of the first account to the second account."]
4420			#[doc = "Final argument indicates the destination balance type."]
4421			pub struct ReserveRepatriated {
4422				pub from: reserve_repatriated::From,
4423				pub to: reserve_repatriated::To,
4424				pub amount: reserve_repatriated::Amount,
4425				pub destination_status: reserve_repatriated::DestinationStatus,
4426			}
4427			pub mod reserve_repatriated {
4428				use super::runtime_types;
4429				pub type From = ::subxt::ext::subxt_core::utils::AccountId32;
4430				pub type To = ::subxt::ext::subxt_core::utils::AccountId32;
4431				pub type Amount = ::core::primitive::u128;
4432				pub type DestinationStatus =
4433					runtime_types::frame_support::traits::tokens::misc::BalanceStatus;
4434			}
4435			impl ::subxt::ext::subxt_core::events::StaticEvent for ReserveRepatriated {
4436				const PALLET: &'static str = "Balances";
4437				const EVENT: &'static str = "ReserveRepatriated";
4438			}
4439			#[derive(
4440				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4441				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4442				Debug,
4443			)]
4444			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4445			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4446			#[doc = "Some amount was deposited (e.g. for transaction fees)."]
4447			pub struct Deposit {
4448				pub who: deposit::Who,
4449				pub amount: deposit::Amount,
4450			}
4451			pub mod deposit {
4452				use super::runtime_types;
4453				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4454				pub type Amount = ::core::primitive::u128;
4455			}
4456			impl ::subxt::ext::subxt_core::events::StaticEvent for Deposit {
4457				const PALLET: &'static str = "Balances";
4458				const EVENT: &'static str = "Deposit";
4459			}
4460			#[derive(
4461				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4462				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4463				Debug,
4464			)]
4465			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4466			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4467			#[doc = "Some amount was withdrawn from the account (e.g. for transaction fees)."]
4468			pub struct Withdraw {
4469				pub who: withdraw::Who,
4470				pub amount: withdraw::Amount,
4471			}
4472			pub mod withdraw {
4473				use super::runtime_types;
4474				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4475				pub type Amount = ::core::primitive::u128;
4476			}
4477			impl ::subxt::ext::subxt_core::events::StaticEvent for Withdraw {
4478				const PALLET: &'static str = "Balances";
4479				const EVENT: &'static str = "Withdraw";
4480			}
4481			#[derive(
4482				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4483				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4484				Debug,
4485			)]
4486			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4487			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4488			#[doc = "Some amount was removed from the account (e.g. for misbehavior)."]
4489			pub struct Slashed {
4490				pub who: slashed::Who,
4491				pub amount: slashed::Amount,
4492			}
4493			pub mod slashed {
4494				use super::runtime_types;
4495				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4496				pub type Amount = ::core::primitive::u128;
4497			}
4498			impl ::subxt::ext::subxt_core::events::StaticEvent for Slashed {
4499				const PALLET: &'static str = "Balances";
4500				const EVENT: &'static str = "Slashed";
4501			}
4502			#[derive(
4503				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4504				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4505				Debug,
4506			)]
4507			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4508			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4509			#[doc = "Some amount was minted into an account."]
4510			pub struct Minted {
4511				pub who: minted::Who,
4512				pub amount: minted::Amount,
4513			}
4514			pub mod minted {
4515				use super::runtime_types;
4516				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4517				pub type Amount = ::core::primitive::u128;
4518			}
4519			impl ::subxt::ext::subxt_core::events::StaticEvent for Minted {
4520				const PALLET: &'static str = "Balances";
4521				const EVENT: &'static str = "Minted";
4522			}
4523			#[derive(
4524				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4525				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4526				Debug,
4527			)]
4528			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4529			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4530			#[doc = "Some amount was burned from an account."]
4531			pub struct Burned {
4532				pub who: burned::Who,
4533				pub amount: burned::Amount,
4534			}
4535			pub mod burned {
4536				use super::runtime_types;
4537				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4538				pub type Amount = ::core::primitive::u128;
4539			}
4540			impl ::subxt::ext::subxt_core::events::StaticEvent for Burned {
4541				const PALLET: &'static str = "Balances";
4542				const EVENT: &'static str = "Burned";
4543			}
4544			#[derive(
4545				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4546				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4547				Debug,
4548			)]
4549			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4550			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4551			#[doc = "Some amount was suspended from an account (it can be restored later)."]
4552			pub struct Suspended {
4553				pub who: suspended::Who,
4554				pub amount: suspended::Amount,
4555			}
4556			pub mod suspended {
4557				use super::runtime_types;
4558				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4559				pub type Amount = ::core::primitive::u128;
4560			}
4561			impl ::subxt::ext::subxt_core::events::StaticEvent for Suspended {
4562				const PALLET: &'static str = "Balances";
4563				const EVENT: &'static str = "Suspended";
4564			}
4565			#[derive(
4566				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4567				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4568				Debug,
4569			)]
4570			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4571			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4572			#[doc = "Some amount was restored into an account."]
4573			pub struct Restored {
4574				pub who: restored::Who,
4575				pub amount: restored::Amount,
4576			}
4577			pub mod restored {
4578				use super::runtime_types;
4579				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4580				pub type Amount = ::core::primitive::u128;
4581			}
4582			impl ::subxt::ext::subxt_core::events::StaticEvent for Restored {
4583				const PALLET: &'static str = "Balances";
4584				const EVENT: &'static str = "Restored";
4585			}
4586			#[derive(
4587				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4588				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4589				Debug,
4590			)]
4591			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4592			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4593			#[doc = "An account was upgraded."]
4594			pub struct Upgraded {
4595				pub who: upgraded::Who,
4596			}
4597			pub mod upgraded {
4598				use super::runtime_types;
4599				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4600			}
4601			impl ::subxt::ext::subxt_core::events::StaticEvent for Upgraded {
4602				const PALLET: &'static str = "Balances";
4603				const EVENT: &'static str = "Upgraded";
4604			}
4605			#[derive(
4606				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4607				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4608				Debug,
4609			)]
4610			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4611			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4612			#[doc = "Total issuance was increased by `amount`, creating a credit to be balanced."]
4613			pub struct Issued {
4614				pub amount: issued::Amount,
4615			}
4616			pub mod issued {
4617				use super::runtime_types;
4618				pub type Amount = ::core::primitive::u128;
4619			}
4620			impl ::subxt::ext::subxt_core::events::StaticEvent for Issued {
4621				const PALLET: &'static str = "Balances";
4622				const EVENT: &'static str = "Issued";
4623			}
4624			#[derive(
4625				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4626				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4627				Debug,
4628			)]
4629			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4630			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4631			#[doc = "Total issuance was decreased by `amount`, creating a debt to be balanced."]
4632			pub struct Rescinded {
4633				pub amount: rescinded::Amount,
4634			}
4635			pub mod rescinded {
4636				use super::runtime_types;
4637				pub type Amount = ::core::primitive::u128;
4638			}
4639			impl ::subxt::ext::subxt_core::events::StaticEvent for Rescinded {
4640				const PALLET: &'static str = "Balances";
4641				const EVENT: &'static str = "Rescinded";
4642			}
4643			#[derive(
4644				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4645				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4646				Debug,
4647			)]
4648			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4649			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4650			#[doc = "Some balance was locked."]
4651			pub struct Locked {
4652				pub who: locked::Who,
4653				pub amount: locked::Amount,
4654			}
4655			pub mod locked {
4656				use super::runtime_types;
4657				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4658				pub type Amount = ::core::primitive::u128;
4659			}
4660			impl ::subxt::ext::subxt_core::events::StaticEvent for Locked {
4661				const PALLET: &'static str = "Balances";
4662				const EVENT: &'static str = "Locked";
4663			}
4664			#[derive(
4665				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4666				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4667				Debug,
4668			)]
4669			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4670			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4671			#[doc = "Some balance was unlocked."]
4672			pub struct Unlocked {
4673				pub who: unlocked::Who,
4674				pub amount: unlocked::Amount,
4675			}
4676			pub mod unlocked {
4677				use super::runtime_types;
4678				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4679				pub type Amount = ::core::primitive::u128;
4680			}
4681			impl ::subxt::ext::subxt_core::events::StaticEvent for Unlocked {
4682				const PALLET: &'static str = "Balances";
4683				const EVENT: &'static str = "Unlocked";
4684			}
4685			#[derive(
4686				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4687				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4688				Debug,
4689			)]
4690			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4691			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4692			#[doc = "Some balance was frozen."]
4693			pub struct Frozen {
4694				pub who: frozen::Who,
4695				pub amount: frozen::Amount,
4696			}
4697			pub mod frozen {
4698				use super::runtime_types;
4699				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4700				pub type Amount = ::core::primitive::u128;
4701			}
4702			impl ::subxt::ext::subxt_core::events::StaticEvent for Frozen {
4703				const PALLET: &'static str = "Balances";
4704				const EVENT: &'static str = "Frozen";
4705			}
4706			#[derive(
4707				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4708				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4709				Debug,
4710			)]
4711			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4712			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4713			#[doc = "Some balance was thawed."]
4714			pub struct Thawed {
4715				pub who: thawed::Who,
4716				pub amount: thawed::Amount,
4717			}
4718			pub mod thawed {
4719				use super::runtime_types;
4720				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4721				pub type Amount = ::core::primitive::u128;
4722			}
4723			impl ::subxt::ext::subxt_core::events::StaticEvent for Thawed {
4724				const PALLET: &'static str = "Balances";
4725				const EVENT: &'static str = "Thawed";
4726			}
4727			#[derive(
4728				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4729				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4730				Debug,
4731			)]
4732			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4733			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4734			#[doc = "The `TotalIssuance` was forcefully changed."]
4735			pub struct TotalIssuanceForced {
4736				pub old: total_issuance_forced::Old,
4737				pub new: total_issuance_forced::New,
4738			}
4739			pub mod total_issuance_forced {
4740				use super::runtime_types;
4741				pub type Old = ::core::primitive::u128;
4742				pub type New = ::core::primitive::u128;
4743			}
4744			impl ::subxt::ext::subxt_core::events::StaticEvent for TotalIssuanceForced {
4745				const PALLET: &'static str = "Balances";
4746				const EVENT: &'static str = "TotalIssuanceForced";
4747			}
4748		}
4749		pub mod storage {
4750			use super::runtime_types;
4751			pub mod types {
4752				use super::runtime_types;
4753				pub mod total_issuance {
4754					use super::runtime_types;
4755					pub type TotalIssuance = ::core::primitive::u128;
4756				}
4757				pub mod inactive_issuance {
4758					use super::runtime_types;
4759					pub type InactiveIssuance = ::core::primitive::u128;
4760				}
4761				pub mod account {
4762					use super::runtime_types;
4763					pub type Account =
4764						runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>;
4765					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
4766				}
4767				pub mod locks {
4768					use super::runtime_types;
4769					pub type Locks =
4770						runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
4771							runtime_types::pallet_balances::types::BalanceLock<
4772								::core::primitive::u128,
4773							>,
4774						>;
4775					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
4776				}
4777				pub mod reserves {
4778					use super::runtime_types;
4779					pub type Reserves = runtime_types::bounded_collections::bounded_vec::BoundedVec<
4780						runtime_types::pallet_balances::types::ReserveData<
4781							[::core::primitive::u8; 8usize],
4782							::core::primitive::u128,
4783						>,
4784					>;
4785					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
4786				}
4787				pub mod holds {
4788					use super::runtime_types;
4789					pub type Holds = runtime_types::bounded_collections::bounded_vec::BoundedVec<
4790						runtime_types::frame_support::traits::tokens::misc::IdAmount<
4791							runtime_types::quantus_runtime::RuntimeHoldReason,
4792							::core::primitive::u128,
4793						>,
4794					>;
4795					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
4796				}
4797				pub mod freezes {
4798					use super::runtime_types;
4799					pub type Freezes = runtime_types::bounded_collections::bounded_vec::BoundedVec<
4800						runtime_types::frame_support::traits::tokens::misc::IdAmount<
4801							runtime_types::quantus_runtime::RuntimeFreezeReason,
4802							::core::primitive::u128,
4803						>,
4804					>;
4805					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
4806				}
4807				pub mod transfer_proof {
4808					use super::runtime_types;
4809					pub type TransferProof = ();
4810					pub type Param0 = (
4811						::core::primitive::u64,
4812						::subxt::ext::subxt_core::utils::AccountId32,
4813						::subxt::ext::subxt_core::utils::AccountId32,
4814						::core::primitive::u128,
4815					);
4816				}
4817				pub mod transfer_count {
4818					use super::runtime_types;
4819					pub type TransferCount = ::core::primitive::u64;
4820				}
4821			}
4822			pub struct StorageApi;
4823			impl StorageApi {
4824				#[doc = " The total units issued in the system."]
4825				pub fn total_issuance(
4826					&self,
4827				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4828					(),
4829					types::total_issuance::TotalIssuance,
4830					::subxt::ext::subxt_core::utils::Yes,
4831					::subxt::ext::subxt_core::utils::Yes,
4832					(),
4833				> {
4834					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4835						"Balances",
4836						"TotalIssuance",
4837						(),
4838						[
4839							116u8, 70u8, 119u8, 194u8, 69u8, 37u8, 116u8, 206u8, 171u8, 70u8,
4840							171u8, 210u8, 226u8, 111u8, 184u8, 204u8, 206u8, 11u8, 68u8, 72u8,
4841							255u8, 19u8, 194u8, 11u8, 27u8, 194u8, 81u8, 204u8, 59u8, 224u8, 202u8,
4842							185u8,
4843						],
4844					)
4845				}
4846				#[doc = " The total units of outstanding deactivated balance in the system."]
4847				pub fn inactive_issuance(
4848					&self,
4849				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4850					(),
4851					types::inactive_issuance::InactiveIssuance,
4852					::subxt::ext::subxt_core::utils::Yes,
4853					::subxt::ext::subxt_core::utils::Yes,
4854					(),
4855				> {
4856					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4857						"Balances",
4858						"InactiveIssuance",
4859						(),
4860						[
4861							212u8, 185u8, 19u8, 50u8, 250u8, 72u8, 173u8, 50u8, 4u8, 104u8, 161u8,
4862							249u8, 77u8, 247u8, 204u8, 248u8, 11u8, 18u8, 57u8, 4u8, 82u8, 110u8,
4863							30u8, 216u8, 16u8, 37u8, 87u8, 67u8, 189u8, 235u8, 214u8, 155u8,
4864						],
4865					)
4866				}
4867				#[doc = " The Balances pallet example of storing the balance of an account."]
4868				#[doc = ""]
4869				#[doc = " # Example"]
4870				#[doc = ""]
4871				#[doc = " ```nocompile"]
4872				#[doc = "  impl pallet_balances::Config for Runtime {"]
4873				#[doc = "    type AccountStore = StorageMapShim<Self::Account<Runtime>, frame_system::Provider<Runtime>, AccountId, Self::AccountData<Balance>>"]
4874				#[doc = "  }"]
4875				#[doc = " ```"]
4876				#[doc = ""]
4877				#[doc = " You can also store the balance of an account in the `System` pallet."]
4878				#[doc = ""]
4879				#[doc = " # Example"]
4880				#[doc = ""]
4881				#[doc = " ```nocompile"]
4882				#[doc = "  impl pallet_balances::Config for Runtime {"]
4883				#[doc = "   type AccountStore = System"]
4884				#[doc = "  }"]
4885				#[doc = " ```"]
4886				#[doc = ""]
4887				#[doc = " But this comes with tradeoffs, storing account balances in the system pallet stores"]
4888				#[doc = " `frame_system` data alongside the account data contrary to storing account balances in the"]
4889				#[doc = " `Balances` pallet, which uses a `StorageMap` to store balances data only."]
4890				#[doc = " NOTE: This is only used in the case that this pallet is used to store balances."]
4891				pub fn account_iter(
4892					&self,
4893				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4894					(),
4895					types::account::Account,
4896					(),
4897					::subxt::ext::subxt_core::utils::Yes,
4898					::subxt::ext::subxt_core::utils::Yes,
4899				> {
4900					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4901						"Balances",
4902						"Account",
4903						(),
4904						[
4905							213u8, 38u8, 200u8, 69u8, 218u8, 0u8, 112u8, 181u8, 160u8, 23u8, 96u8,
4906							90u8, 3u8, 88u8, 126u8, 22u8, 103u8, 74u8, 64u8, 69u8, 29u8, 247u8,
4907							18u8, 17u8, 234u8, 143u8, 189u8, 22u8, 247u8, 194u8, 154u8, 249u8,
4908						],
4909					)
4910				}
4911				#[doc = " The Balances pallet example of storing the balance of an account."]
4912				#[doc = ""]
4913				#[doc = " # Example"]
4914				#[doc = ""]
4915				#[doc = " ```nocompile"]
4916				#[doc = "  impl pallet_balances::Config for Runtime {"]
4917				#[doc = "    type AccountStore = StorageMapShim<Self::Account<Runtime>, frame_system::Provider<Runtime>, AccountId, Self::AccountData<Balance>>"]
4918				#[doc = "  }"]
4919				#[doc = " ```"]
4920				#[doc = ""]
4921				#[doc = " You can also store the balance of an account in the `System` pallet."]
4922				#[doc = ""]
4923				#[doc = " # Example"]
4924				#[doc = ""]
4925				#[doc = " ```nocompile"]
4926				#[doc = "  impl pallet_balances::Config for Runtime {"]
4927				#[doc = "   type AccountStore = System"]
4928				#[doc = "  }"]
4929				#[doc = " ```"]
4930				#[doc = ""]
4931				#[doc = " But this comes with tradeoffs, storing account balances in the system pallet stores"]
4932				#[doc = " `frame_system` data alongside the account data contrary to storing account balances in the"]
4933				#[doc = " `Balances` pallet, which uses a `StorageMap` to store balances data only."]
4934				#[doc = " NOTE: This is only used in the case that this pallet is used to store balances."]
4935				pub fn account(
4936					&self,
4937					_0: types::account::Param0,
4938				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4939					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
4940						types::account::Param0,
4941					>,
4942					types::account::Account,
4943					::subxt::ext::subxt_core::utils::Yes,
4944					::subxt::ext::subxt_core::utils::Yes,
4945					(),
4946				> {
4947					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4948						"Balances",
4949						"Account",
4950						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
4951						[
4952							213u8, 38u8, 200u8, 69u8, 218u8, 0u8, 112u8, 181u8, 160u8, 23u8, 96u8,
4953							90u8, 3u8, 88u8, 126u8, 22u8, 103u8, 74u8, 64u8, 69u8, 29u8, 247u8,
4954							18u8, 17u8, 234u8, 143u8, 189u8, 22u8, 247u8, 194u8, 154u8, 249u8,
4955						],
4956					)
4957				}
4958				#[doc = " Any liquidity locks on some account balances."]
4959				#[doc = " NOTE: Should only be accessed when setting, changing and freeing a lock."]
4960				#[doc = ""]
4961				#[doc = " Use of locks is deprecated in favour of freezes. See `https://github.com/paritytech/substrate/pull/12951/`"]
4962				pub fn locks_iter(
4963					&self,
4964				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4965					(),
4966					types::locks::Locks,
4967					(),
4968					::subxt::ext::subxt_core::utils::Yes,
4969					::subxt::ext::subxt_core::utils::Yes,
4970				> {
4971					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4972						"Balances",
4973						"Locks",
4974						(),
4975						[
4976							10u8, 223u8, 55u8, 0u8, 249u8, 69u8, 168u8, 41u8, 75u8, 35u8, 120u8,
4977							167u8, 18u8, 132u8, 9u8, 20u8, 91u8, 51u8, 27u8, 69u8, 136u8, 187u8,
4978							13u8, 220u8, 163u8, 122u8, 26u8, 141u8, 174u8, 249u8, 85u8, 37u8,
4979						],
4980					)
4981				}
4982				#[doc = " Any liquidity locks on some account balances."]
4983				#[doc = " NOTE: Should only be accessed when setting, changing and freeing a lock."]
4984				#[doc = ""]
4985				#[doc = " Use of locks is deprecated in favour of freezes. See `https://github.com/paritytech/substrate/pull/12951/`"]
4986				pub fn locks(
4987					&self,
4988					_0: types::locks::Param0,
4989				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4990					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
4991						types::locks::Param0,
4992					>,
4993					types::locks::Locks,
4994					::subxt::ext::subxt_core::utils::Yes,
4995					::subxt::ext::subxt_core::utils::Yes,
4996					(),
4997				> {
4998					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4999						"Balances",
5000						"Locks",
5001						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
5002						[
5003							10u8, 223u8, 55u8, 0u8, 249u8, 69u8, 168u8, 41u8, 75u8, 35u8, 120u8,
5004							167u8, 18u8, 132u8, 9u8, 20u8, 91u8, 51u8, 27u8, 69u8, 136u8, 187u8,
5005							13u8, 220u8, 163u8, 122u8, 26u8, 141u8, 174u8, 249u8, 85u8, 37u8,
5006						],
5007					)
5008				}
5009				#[doc = " Named reserves on some account balances."]
5010				#[doc = ""]
5011				#[doc = " Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/`"]
5012				pub fn reserves_iter(
5013					&self,
5014				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5015					(),
5016					types::reserves::Reserves,
5017					(),
5018					::subxt::ext::subxt_core::utils::Yes,
5019					::subxt::ext::subxt_core::utils::Yes,
5020				> {
5021					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5022						"Balances",
5023						"Reserves",
5024						(),
5025						[
5026							112u8, 10u8, 241u8, 77u8, 64u8, 187u8, 106u8, 159u8, 13u8, 153u8,
5027							140u8, 178u8, 182u8, 50u8, 1u8, 55u8, 149u8, 92u8, 196u8, 229u8, 170u8,
5028							106u8, 193u8, 88u8, 255u8, 244u8, 2u8, 193u8, 62u8, 235u8, 204u8, 91u8,
5029						],
5030					)
5031				}
5032				#[doc = " Named reserves on some account balances."]
5033				#[doc = ""]
5034				#[doc = " Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/`"]
5035				pub fn reserves(
5036					&self,
5037					_0: types::reserves::Param0,
5038				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5039					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
5040						types::reserves::Param0,
5041					>,
5042					types::reserves::Reserves,
5043					::subxt::ext::subxt_core::utils::Yes,
5044					::subxt::ext::subxt_core::utils::Yes,
5045					(),
5046				> {
5047					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5048						"Balances",
5049						"Reserves",
5050						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
5051						[
5052							112u8, 10u8, 241u8, 77u8, 64u8, 187u8, 106u8, 159u8, 13u8, 153u8,
5053							140u8, 178u8, 182u8, 50u8, 1u8, 55u8, 149u8, 92u8, 196u8, 229u8, 170u8,
5054							106u8, 193u8, 88u8, 255u8, 244u8, 2u8, 193u8, 62u8, 235u8, 204u8, 91u8,
5055						],
5056					)
5057				}
5058				#[doc = " Holds on account balances."]
5059				pub fn holds_iter(
5060					&self,
5061				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5062					(),
5063					types::holds::Holds,
5064					(),
5065					::subxt::ext::subxt_core::utils::Yes,
5066					::subxt::ext::subxt_core::utils::Yes,
5067				> {
5068					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5069						"Balances",
5070						"Holds",
5071						(),
5072						[
5073							108u8, 118u8, 163u8, 86u8, 4u8, 174u8, 42u8, 210u8, 139u8, 171u8, 15u8,
5074							242u8, 10u8, 4u8, 255u8, 205u8, 247u8, 61u8, 236u8, 127u8, 54u8, 175u8,
5075							182u8, 131u8, 84u8, 129u8, 78u8, 242u8, 92u8, 143u8, 219u8, 35u8,
5076						],
5077					)
5078				}
5079				#[doc = " Holds on account balances."]
5080				pub fn holds(
5081					&self,
5082					_0: types::holds::Param0,
5083				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5084					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
5085						types::holds::Param0,
5086					>,
5087					types::holds::Holds,
5088					::subxt::ext::subxt_core::utils::Yes,
5089					::subxt::ext::subxt_core::utils::Yes,
5090					(),
5091				> {
5092					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5093						"Balances",
5094						"Holds",
5095						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
5096						[
5097							108u8, 118u8, 163u8, 86u8, 4u8, 174u8, 42u8, 210u8, 139u8, 171u8, 15u8,
5098							242u8, 10u8, 4u8, 255u8, 205u8, 247u8, 61u8, 236u8, 127u8, 54u8, 175u8,
5099							182u8, 131u8, 84u8, 129u8, 78u8, 242u8, 92u8, 143u8, 219u8, 35u8,
5100						],
5101					)
5102				}
5103				#[doc = " Freeze locks on account balances."]
5104				pub fn freezes_iter(
5105					&self,
5106				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5107					(),
5108					types::freezes::Freezes,
5109					(),
5110					::subxt::ext::subxt_core::utils::Yes,
5111					::subxt::ext::subxt_core::utils::Yes,
5112				> {
5113					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5114						"Balances",
5115						"Freezes",
5116						(),
5117						[
5118							170u8, 69u8, 116u8, 92u8, 165u8, 14u8, 129u8, 179u8, 165u8, 6u8, 123u8,
5119							156u8, 4u8, 30u8, 25u8, 181u8, 191u8, 29u8, 3u8, 92u8, 96u8, 167u8,
5120							102u8, 38u8, 128u8, 140u8, 85u8, 248u8, 114u8, 127u8, 128u8, 40u8,
5121						],
5122					)
5123				}
5124				#[doc = " Freeze locks on account balances."]
5125				pub fn freezes(
5126					&self,
5127					_0: types::freezes::Param0,
5128				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5129					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
5130						types::freezes::Param0,
5131					>,
5132					types::freezes::Freezes,
5133					::subxt::ext::subxt_core::utils::Yes,
5134					::subxt::ext::subxt_core::utils::Yes,
5135					(),
5136				> {
5137					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5138						"Balances",
5139						"Freezes",
5140						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
5141						[
5142							170u8, 69u8, 116u8, 92u8, 165u8, 14u8, 129u8, 179u8, 165u8, 6u8, 123u8,
5143							156u8, 4u8, 30u8, 25u8, 181u8, 191u8, 29u8, 3u8, 92u8, 96u8, 167u8,
5144							102u8, 38u8, 128u8, 140u8, 85u8, 248u8, 114u8, 127u8, 128u8, 40u8,
5145						],
5146					)
5147				}
5148				#[doc = " Transfer proofs for a wormhole transfers"]
5149				pub fn transfer_proof_iter(
5150					&self,
5151				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5152					(),
5153					types::transfer_proof::TransferProof,
5154					(),
5155					(),
5156					::subxt::ext::subxt_core::utils::Yes,
5157				> {
5158					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5159						"Balances",
5160						"TransferProof",
5161						(),
5162						[
5163							210u8, 54u8, 36u8, 79u8, 12u8, 123u8, 227u8, 172u8, 23u8, 232u8, 200u8,
5164							138u8, 130u8, 99u8, 12u8, 186u8, 77u8, 74u8, 208u8, 111u8, 137u8,
5165							159u8, 169u8, 112u8, 227u8, 111u8, 65u8, 127u8, 232u8, 57u8, 166u8,
5166							14u8,
5167						],
5168					)
5169				}
5170				#[doc = " Transfer proofs for a wormhole transfers"]
5171				pub fn transfer_proof(
5172					&self,
5173					_0: types::transfer_proof::Param0,
5174				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5175					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
5176						types::transfer_proof::Param0,
5177					>,
5178					types::transfer_proof::TransferProof,
5179					::subxt::ext::subxt_core::utils::Yes,
5180					(),
5181					(),
5182				> {
5183					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5184						"Balances",
5185						"TransferProof",
5186						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
5187						[
5188							210u8, 54u8, 36u8, 79u8, 12u8, 123u8, 227u8, 172u8, 23u8, 232u8, 200u8,
5189							138u8, 130u8, 99u8, 12u8, 186u8, 77u8, 74u8, 208u8, 111u8, 137u8,
5190							159u8, 169u8, 112u8, 227u8, 111u8, 65u8, 127u8, 232u8, 57u8, 166u8,
5191							14u8,
5192						],
5193					)
5194				}
5195				pub fn transfer_count(
5196					&self,
5197				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5198					(),
5199					types::transfer_count::TransferCount,
5200					::subxt::ext::subxt_core::utils::Yes,
5201					::subxt::ext::subxt_core::utils::Yes,
5202					(),
5203				> {
5204					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5205						"Balances",
5206						"TransferCount",
5207						(),
5208						[
5209							105u8, 10u8, 160u8, 118u8, 193u8, 131u8, 207u8, 188u8, 78u8, 238u8,
5210							252u8, 99u8, 31u8, 72u8, 159u8, 128u8, 159u8, 215u8, 110u8, 101u8,
5211							27u8, 132u8, 12u8, 59u8, 182u8, 107u8, 98u8, 77u8, 189u8, 100u8, 51u8,
5212							209u8,
5213						],
5214					)
5215				}
5216			}
5217		}
5218		pub mod constants {
5219			use super::runtime_types;
5220			pub struct ConstantsApi;
5221			impl ConstantsApi {
5222				#[doc = " The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!"]
5223				#[doc = ""]
5224				#[doc = " If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for"]
5225				#[doc = " this pallet. However, you do so at your own risk: this will open up a major DoS vector."]
5226				#[doc = " In case you have multiple sources of provider references, you may also get unexpected"]
5227				#[doc = " behaviour if you set this to zero."]
5228				#[doc = ""]
5229				#[doc = " Bottom line: Do yourself a favour and make it at least one!"]
5230				pub fn existential_deposit(
5231					&self,
5232				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5233					::core::primitive::u128,
5234				> {
5235					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5236						"Balances",
5237						"ExistentialDeposit",
5238						[
5239							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
5240							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
5241							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
5242						],
5243					)
5244				}
5245				#[doc = " The maximum number of locks that should exist on an account."]
5246				#[doc = " Not strictly enforced, but used for weight estimation."]
5247				#[doc = ""]
5248				#[doc = " Use of locks is deprecated in favour of freezes. See `https://github.com/paritytech/substrate/pull/12951/`"]
5249				pub fn max_locks(
5250					&self,
5251				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5252					::core::primitive::u32,
5253				> {
5254					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5255						"Balances",
5256						"MaxLocks",
5257						[
5258							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
5259							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
5260							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
5261							145u8,
5262						],
5263					)
5264				}
5265				#[doc = " The maximum number of named reserves that can exist on an account."]
5266				#[doc = ""]
5267				#[doc = " Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/`"]
5268				pub fn max_reserves(
5269					&self,
5270				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5271					::core::primitive::u32,
5272				> {
5273					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5274						"Balances",
5275						"MaxReserves",
5276						[
5277							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
5278							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
5279							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
5280							145u8,
5281						],
5282					)
5283				}
5284				#[doc = " The maximum number of individual freeze locks that can exist on an account at any time."]
5285				pub fn max_freezes(
5286					&self,
5287				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5288					::core::primitive::u32,
5289				> {
5290					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5291						"Balances",
5292						"MaxFreezes",
5293						[
5294							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
5295							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
5296							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
5297							145u8,
5298						],
5299					)
5300				}
5301			}
5302		}
5303	}
5304	pub mod transaction_payment {
5305		use super::{root_mod, runtime_types};
5306		#[doc = "The `Event` enum of this pallet"]
5307		pub type Event = runtime_types::pallet_transaction_payment::pallet::Event;
5308		pub mod events {
5309			use super::runtime_types;
5310			#[derive(
5311				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5312				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5313				Debug,
5314			)]
5315			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5316			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5317			#[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"]
5318			#[doc = "has been paid by `who`."]
5319			pub struct TransactionFeePaid {
5320				pub who: transaction_fee_paid::Who,
5321				pub actual_fee: transaction_fee_paid::ActualFee,
5322				pub tip: transaction_fee_paid::Tip,
5323			}
5324			pub mod transaction_fee_paid {
5325				use super::runtime_types;
5326				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
5327				pub type ActualFee = ::core::primitive::u128;
5328				pub type Tip = ::core::primitive::u128;
5329			}
5330			impl ::subxt::ext::subxt_core::events::StaticEvent for TransactionFeePaid {
5331				const PALLET: &'static str = "TransactionPayment";
5332				const EVENT: &'static str = "TransactionFeePaid";
5333			}
5334		}
5335		pub mod storage {
5336			use super::runtime_types;
5337			pub mod types {
5338				use super::runtime_types;
5339				pub mod next_fee_multiplier {
5340					use super::runtime_types;
5341					pub type NextFeeMultiplier =
5342						runtime_types::sp_arithmetic::fixed_point::FixedU128;
5343				}
5344				pub mod storage_version {
5345					use super::runtime_types;
5346					pub type StorageVersion = runtime_types::pallet_transaction_payment::Releases;
5347				}
5348			}
5349			pub struct StorageApi;
5350			impl StorageApi {
5351				pub fn next_fee_multiplier(
5352					&self,
5353				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5354					(),
5355					types::next_fee_multiplier::NextFeeMultiplier,
5356					::subxt::ext::subxt_core::utils::Yes,
5357					::subxt::ext::subxt_core::utils::Yes,
5358					(),
5359				> {
5360					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5361						"TransactionPayment",
5362						"NextFeeMultiplier",
5363						(),
5364						[
5365							247u8, 39u8, 81u8, 170u8, 225u8, 226u8, 82u8, 147u8, 34u8, 113u8,
5366							147u8, 213u8, 59u8, 80u8, 139u8, 35u8, 36u8, 196u8, 152u8, 19u8, 9u8,
5367							159u8, 176u8, 79u8, 249u8, 201u8, 170u8, 1u8, 129u8, 79u8, 146u8,
5368							197u8,
5369						],
5370					)
5371				}
5372				pub fn storage_version(
5373					&self,
5374				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5375					(),
5376					types::storage_version::StorageVersion,
5377					::subxt::ext::subxt_core::utils::Yes,
5378					::subxt::ext::subxt_core::utils::Yes,
5379					(),
5380				> {
5381					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5382						"TransactionPayment",
5383						"StorageVersion",
5384						(),
5385						[
5386							105u8, 243u8, 158u8, 241u8, 159u8, 231u8, 253u8, 6u8, 4u8, 32u8, 85u8,
5387							178u8, 126u8, 31u8, 203u8, 134u8, 154u8, 38u8, 122u8, 155u8, 150u8,
5388							251u8, 174u8, 15u8, 74u8, 134u8, 216u8, 244u8, 168u8, 175u8, 158u8,
5389							144u8,
5390						],
5391					)
5392				}
5393			}
5394		}
5395		pub mod constants {
5396			use super::runtime_types;
5397			pub struct ConstantsApi;
5398			impl ConstantsApi {
5399				#[doc = " A fee multiplier for `Operational` extrinsics to compute \"virtual tip\" to boost their"]
5400				#[doc = " `priority`"]
5401				#[doc = ""]
5402				#[doc = " This value is multiplied by the `final_fee` to obtain a \"virtual tip\" that is later"]
5403				#[doc = " added to a tip component in regular `priority` calculations."]
5404				#[doc = " It means that a `Normal` transaction can front-run a similarly-sized `Operational`"]
5405				#[doc = " extrinsic (with no tip), by including a tip value greater than the virtual tip."]
5406				#[doc = ""]
5407				#[doc = " ```rust,ignore"]
5408				#[doc = " // For `Normal`"]
5409				#[doc = " let priority = priority_calc(tip);"]
5410				#[doc = ""]
5411				#[doc = " // For `Operational`"]
5412				#[doc = " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;"]
5413				#[doc = " let priority = priority_calc(tip + virtual_tip);"]
5414				#[doc = " ```"]
5415				#[doc = ""]
5416				#[doc = " Note that since we use `final_fee` the multiplier applies also to the regular `tip`"]
5417				#[doc = " sent with the transaction. So, not only does the transaction get a priority bump based"]
5418				#[doc = " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`"]
5419				#[doc = " transactions."]
5420				pub fn operational_fee_multiplier(
5421					&self,
5422				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5423					::core::primitive::u8,
5424				> {
5425					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5426						"TransactionPayment",
5427						"OperationalFeeMultiplier",
5428						[
5429							141u8, 130u8, 11u8, 35u8, 226u8, 114u8, 92u8, 179u8, 168u8, 110u8,
5430							28u8, 91u8, 221u8, 64u8, 4u8, 148u8, 201u8, 193u8, 185u8, 66u8, 226u8,
5431							114u8, 97u8, 79u8, 62u8, 212u8, 202u8, 114u8, 237u8, 228u8, 183u8,
5432							165u8,
5433						],
5434					)
5435				}
5436			}
5437		}
5438	}
5439	pub mod sudo {
5440		use super::{root_mod, runtime_types};
5441		#[doc = "Error for the Sudo pallet."]
5442		pub type Error = runtime_types::pallet_sudo::pallet::Error;
5443		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
5444		pub type Call = runtime_types::pallet_sudo::pallet::Call;
5445		pub mod calls {
5446			use super::{root_mod, runtime_types};
5447			type DispatchError = runtime_types::sp_runtime::DispatchError;
5448			pub mod types {
5449				use super::runtime_types;
5450				#[derive(
5451					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5452					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5453					Debug,
5454				)]
5455				#[decode_as_type(
5456					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
5457				)]
5458				#[encode_as_type(
5459					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
5460				)]
5461				#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
5462				pub struct Sudo {
5463					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<sudo::Call>,
5464				}
5465				pub mod sudo {
5466					use super::runtime_types;
5467					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
5468				}
5469				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Sudo {
5470					const PALLET: &'static str = "Sudo";
5471					const CALL: &'static str = "sudo";
5472				}
5473				#[derive(
5474					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5475					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5476					Debug,
5477				)]
5478				#[decode_as_type(
5479					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
5480				)]
5481				#[encode_as_type(
5482					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
5483				)]
5484				#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
5485				#[doc = "This function does not check the weight of the call, and instead allows the"]
5486				#[doc = "Sudo user to specify the weight of the call."]
5487				#[doc = ""]
5488				#[doc = "The dispatch origin for this call must be _Signed_."]
5489				pub struct SudoUncheckedWeight {
5490					pub call:
5491						::subxt::ext::subxt_core::alloc::boxed::Box<sudo_unchecked_weight::Call>,
5492					pub weight: sudo_unchecked_weight::Weight,
5493				}
5494				pub mod sudo_unchecked_weight {
5495					use super::runtime_types;
5496					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
5497					pub type Weight = runtime_types::sp_weights::weight_v2::Weight;
5498				}
5499				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SudoUncheckedWeight {
5500					const PALLET: &'static str = "Sudo";
5501					const CALL: &'static str = "sudo_unchecked_weight";
5502				}
5503				#[derive(
5504					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5505					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5506					Debug,
5507				)]
5508				#[decode_as_type(
5509					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
5510				)]
5511				#[encode_as_type(
5512					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
5513				)]
5514				#[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"]
5515				#[doc = "key."]
5516				pub struct SetKey {
5517					pub new: set_key::New,
5518				}
5519				pub mod set_key {
5520					use super::runtime_types;
5521					pub type New = ::subxt::ext::subxt_core::utils::MultiAddress<
5522						::subxt::ext::subxt_core::utils::AccountId32,
5523						(),
5524					>;
5525				}
5526				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetKey {
5527					const PALLET: &'static str = "Sudo";
5528					const CALL: &'static str = "set_key";
5529				}
5530				#[derive(
5531					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5532					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5533					Debug,
5534				)]
5535				#[decode_as_type(
5536					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
5537				)]
5538				#[encode_as_type(
5539					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
5540				)]
5541				#[doc = "Authenticates the sudo key and dispatches a function call with `Signed` origin from"]
5542				#[doc = "a given account."]
5543				#[doc = ""]
5544				#[doc = "The dispatch origin for this call must be _Signed_."]
5545				pub struct SudoAs {
5546					pub who: sudo_as::Who,
5547					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<sudo_as::Call>,
5548				}
5549				pub mod sudo_as {
5550					use super::runtime_types;
5551					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
5552						::subxt::ext::subxt_core::utils::AccountId32,
5553						(),
5554					>;
5555					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
5556				}
5557				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SudoAs {
5558					const PALLET: &'static str = "Sudo";
5559					const CALL: &'static str = "sudo_as";
5560				}
5561				#[derive(
5562					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5563					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5564					Debug,
5565				)]
5566				#[decode_as_type(
5567					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
5568				)]
5569				#[encode_as_type(
5570					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
5571				)]
5572				#[doc = "Permanently removes the sudo key."]
5573				#[doc = ""]
5574				#[doc = "**This cannot be un-done.**"]
5575				pub struct RemoveKey;
5576				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveKey {
5577					const PALLET: &'static str = "Sudo";
5578					const CALL: &'static str = "remove_key";
5579				}
5580			}
5581			pub struct TransactionApi;
5582			impl TransactionApi {
5583				#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
5584				pub fn sudo(
5585					&self,
5586					call: types::sudo::Call,
5587				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Sudo> {
5588					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
5589						"Sudo",
5590						"sudo",
5591						types::Sudo {
5592							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
5593						},
5594						[
5595							35u8, 97u8, 151u8, 80u8, 160u8, 5u8, 249u8, 161u8, 124u8, 31u8, 46u8,
5596							45u8, 205u8, 88u8, 85u8, 115u8, 98u8, 172u8, 229u8, 119u8, 45u8, 74u8,
5597							176u8, 35u8, 216u8, 58u8, 23u8, 103u8, 209u8, 201u8, 15u8, 61u8,
5598						],
5599					)
5600				}
5601				#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
5602				#[doc = "This function does not check the weight of the call, and instead allows the"]
5603				#[doc = "Sudo user to specify the weight of the call."]
5604				#[doc = ""]
5605				#[doc = "The dispatch origin for this call must be _Signed_."]
5606				pub fn sudo_unchecked_weight(
5607					&self,
5608					call: types::sudo_unchecked_weight::Call,
5609					weight: types::sudo_unchecked_weight::Weight,
5610				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SudoUncheckedWeight>
5611				{
5612					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
5613						"Sudo",
5614						"sudo_unchecked_weight",
5615						types::SudoUncheckedWeight {
5616							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
5617							weight,
5618						},
5619						[
5620							129u8, 254u8, 188u8, 113u8, 132u8, 176u8, 63u8, 138u8, 200u8, 84u8,
5621							62u8, 198u8, 140u8, 161u8, 52u8, 222u8, 184u8, 140u8, 204u8, 144u8,
5622							247u8, 118u8, 46u8, 126u8, 211u8, 117u8, 140u8, 227u8, 105u8, 74u8,
5623							162u8, 225u8,
5624						],
5625					)
5626				}
5627				#[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"]
5628				#[doc = "key."]
5629				pub fn set_key(
5630					&self,
5631					new: types::set_key::New,
5632				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetKey> {
5633					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
5634						"Sudo",
5635						"set_key",
5636						types::SetKey { new },
5637						[
5638							9u8, 73u8, 39u8, 205u8, 188u8, 127u8, 143u8, 54u8, 128u8, 94u8, 8u8,
5639							227u8, 197u8, 44u8, 70u8, 93u8, 228u8, 196u8, 64u8, 165u8, 226u8,
5640							158u8, 101u8, 192u8, 22u8, 193u8, 102u8, 84u8, 21u8, 35u8, 92u8, 198u8,
5641						],
5642					)
5643				}
5644				#[doc = "Authenticates the sudo key and dispatches a function call with `Signed` origin from"]
5645				#[doc = "a given account."]
5646				#[doc = ""]
5647				#[doc = "The dispatch origin for this call must be _Signed_."]
5648				pub fn sudo_as(
5649					&self,
5650					who: types::sudo_as::Who,
5651					call: types::sudo_as::Call,
5652				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SudoAs> {
5653					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
5654						"Sudo",
5655						"sudo_as",
5656						types::SudoAs {
5657							who,
5658							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
5659						},
5660						[
5661							174u8, 114u8, 45u8, 150u8, 219u8, 165u8, 118u8, 166u8, 250u8, 85u8,
5662							15u8, 165u8, 148u8, 17u8, 160u8, 123u8, 198u8, 241u8, 78u8, 198u8,
5663							206u8, 131u8, 9u8, 107u8, 172u8, 188u8, 83u8, 6u8, 234u8, 14u8, 211u8,
5664							76u8,
5665						],
5666					)
5667				}
5668				#[doc = "Permanently removes the sudo key."]
5669				#[doc = ""]
5670				#[doc = "**This cannot be un-done.**"]
5671				pub fn remove_key(
5672					&self,
5673				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveKey> {
5674					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
5675						"Sudo",
5676						"remove_key",
5677						types::RemoveKey {},
5678						[
5679							133u8, 253u8, 54u8, 175u8, 202u8, 239u8, 5u8, 198u8, 180u8, 138u8,
5680							25u8, 28u8, 109u8, 40u8, 30u8, 56u8, 126u8, 100u8, 52u8, 205u8, 250u8,
5681							191u8, 61u8, 195u8, 172u8, 142u8, 184u8, 239u8, 247u8, 10u8, 211u8,
5682							79u8,
5683						],
5684					)
5685				}
5686			}
5687		}
5688		#[doc = "The `Event` enum of this pallet"]
5689		pub type Event = runtime_types::pallet_sudo::pallet::Event;
5690		pub mod events {
5691			use super::runtime_types;
5692			#[derive(
5693				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5694				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5695				Debug,
5696			)]
5697			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5698			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5699			#[doc = "A sudo call just took place."]
5700			pub struct Sudid {
5701				pub sudo_result: sudid::SudoResult,
5702			}
5703			pub mod sudid {
5704				use super::runtime_types;
5705				pub type SudoResult =
5706					::core::result::Result<(), runtime_types::sp_runtime::DispatchError>;
5707			}
5708			impl ::subxt::ext::subxt_core::events::StaticEvent for Sudid {
5709				const PALLET: &'static str = "Sudo";
5710				const EVENT: &'static str = "Sudid";
5711			}
5712			#[derive(
5713				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5714				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5715				Debug,
5716			)]
5717			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5718			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5719			#[doc = "The sudo key has been updated."]
5720			pub struct KeyChanged {
5721				pub old: key_changed::Old,
5722				pub new: key_changed::New,
5723			}
5724			pub mod key_changed {
5725				use super::runtime_types;
5726				pub type Old = ::core::option::Option<::subxt::ext::subxt_core::utils::AccountId32>;
5727				pub type New = ::subxt::ext::subxt_core::utils::AccountId32;
5728			}
5729			impl ::subxt::ext::subxt_core::events::StaticEvent for KeyChanged {
5730				const PALLET: &'static str = "Sudo";
5731				const EVENT: &'static str = "KeyChanged";
5732			}
5733			#[derive(
5734				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5735				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5736				Debug,
5737			)]
5738			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5739			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5740			#[doc = "The key was permanently removed."]
5741			pub struct KeyRemoved;
5742			impl ::subxt::ext::subxt_core::events::StaticEvent for KeyRemoved {
5743				const PALLET: &'static str = "Sudo";
5744				const EVENT: &'static str = "KeyRemoved";
5745			}
5746			#[derive(
5747				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5748				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5749				Debug,
5750			)]
5751			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5752			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5753			#[doc = "A [sudo_as](Pallet::sudo_as) call just took place."]
5754			pub struct SudoAsDone {
5755				pub sudo_result: sudo_as_done::SudoResult,
5756			}
5757			pub mod sudo_as_done {
5758				use super::runtime_types;
5759				pub type SudoResult =
5760					::core::result::Result<(), runtime_types::sp_runtime::DispatchError>;
5761			}
5762			impl ::subxt::ext::subxt_core::events::StaticEvent for SudoAsDone {
5763				const PALLET: &'static str = "Sudo";
5764				const EVENT: &'static str = "SudoAsDone";
5765			}
5766		}
5767		pub mod storage {
5768			use super::runtime_types;
5769			pub mod types {
5770				use super::runtime_types;
5771				pub mod key {
5772					use super::runtime_types;
5773					pub type Key = ::subxt::ext::subxt_core::utils::AccountId32;
5774				}
5775			}
5776			pub struct StorageApi;
5777			impl StorageApi {
5778				#[doc = " The `AccountId` of the sudo key."]
5779				pub fn key(
5780					&self,
5781				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5782					(),
5783					types::key::Key,
5784					::subxt::ext::subxt_core::utils::Yes,
5785					(),
5786					(),
5787				> {
5788					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5789						"Sudo",
5790						"Key",
5791						(),
5792						[
5793							72u8, 14u8, 225u8, 162u8, 205u8, 247u8, 227u8, 105u8, 116u8, 57u8, 4u8,
5794							31u8, 84u8, 137u8, 227u8, 228u8, 133u8, 245u8, 206u8, 227u8, 117u8,
5795							36u8, 252u8, 151u8, 107u8, 15u8, 180u8, 4u8, 4u8, 152u8, 195u8, 144u8,
5796						],
5797					)
5798				}
5799			}
5800		}
5801	}
5802	pub mod q_po_w {
5803		use super::{root_mod, runtime_types};
5804		#[doc = "The `Error` enum of this pallet."]
5805		pub type Error = runtime_types::pallet_qpow::pallet::Error;
5806		#[doc = "The `Event` enum of this pallet"]
5807		pub type Event = runtime_types::pallet_qpow::pallet::Event;
5808		pub mod events {
5809			use super::runtime_types;
5810			#[derive(
5811				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5812				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5813				Debug,
5814			)]
5815			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5816			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5817			pub struct ProofSubmitted {
5818				pub nonce: proof_submitted::Nonce,
5819				pub difficulty: proof_submitted::Difficulty,
5820				pub distance_achieved: proof_submitted::DistanceAchieved,
5821			}
5822			pub mod proof_submitted {
5823				use super::runtime_types;
5824				pub type Nonce = [::core::primitive::u8; 64usize];
5825				pub type Difficulty = runtime_types::primitive_types::U512;
5826				pub type DistanceAchieved = runtime_types::primitive_types::U512;
5827			}
5828			impl ::subxt::ext::subxt_core::events::StaticEvent for ProofSubmitted {
5829				const PALLET: &'static str = "QPoW";
5830				const EVENT: &'static str = "ProofSubmitted";
5831			}
5832			#[derive(
5833				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5834				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5835				Debug,
5836			)]
5837			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5838			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5839			pub struct DistanceThresholdAdjusted {
5840				pub old_distance_threshold: distance_threshold_adjusted::OldDistanceThreshold,
5841				pub new_distance_threshold: distance_threshold_adjusted::NewDistanceThreshold,
5842				pub observed_block_time: distance_threshold_adjusted::ObservedBlockTime,
5843			}
5844			pub mod distance_threshold_adjusted {
5845				use super::runtime_types;
5846				pub type OldDistanceThreshold = runtime_types::primitive_types::U512;
5847				pub type NewDistanceThreshold = runtime_types::primitive_types::U512;
5848				pub type ObservedBlockTime = ::core::primitive::u64;
5849			}
5850			impl ::subxt::ext::subxt_core::events::StaticEvent for DistanceThresholdAdjusted {
5851				const PALLET: &'static str = "QPoW";
5852				const EVENT: &'static str = "DistanceThresholdAdjusted";
5853			}
5854		}
5855		pub mod storage {
5856			use super::runtime_types;
5857			pub mod types {
5858				use super::runtime_types;
5859				pub mod last_block_time {
5860					use super::runtime_types;
5861					pub type LastBlockTime = ::core::primitive::u64;
5862				}
5863				pub mod last_block_duration {
5864					use super::runtime_types;
5865					pub type LastBlockDuration = ::core::primitive::u64;
5866				}
5867				pub mod current_distance_threshold {
5868					use super::runtime_types;
5869					pub type CurrentDistanceThreshold = runtime_types::primitive_types::U512;
5870				}
5871				pub mod total_work {
5872					use super::runtime_types;
5873					pub type TotalWork = runtime_types::primitive_types::U512;
5874				}
5875				pub mod blocks_in_period {
5876					use super::runtime_types;
5877					pub type BlocksInPeriod = ::core::primitive::u32;
5878				}
5879				pub mod block_time_history {
5880					use super::runtime_types;
5881					pub type BlockTimeHistory = ::core::primitive::u64;
5882					pub type Param0 = ::core::primitive::u32;
5883				}
5884				pub mod history_index {
5885					use super::runtime_types;
5886					pub type HistoryIndex = ::core::primitive::u32;
5887				}
5888				pub mod block_time_ema {
5889					use super::runtime_types;
5890					pub type BlockTimeEma = ::core::primitive::u64;
5891				}
5892			}
5893			pub struct StorageApi;
5894			impl StorageApi {
5895				pub fn last_block_time(
5896					&self,
5897				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5898					(),
5899					types::last_block_time::LastBlockTime,
5900					::subxt::ext::subxt_core::utils::Yes,
5901					::subxt::ext::subxt_core::utils::Yes,
5902					(),
5903				> {
5904					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5905						"QPoW",
5906						"LastBlockTime",
5907						(),
5908						[
5909							239u8, 229u8, 252u8, 169u8, 178u8, 1u8, 146u8, 236u8, 50u8, 59u8,
5910							221u8, 169u8, 107u8, 168u8, 203u8, 103u8, 252u8, 189u8, 52u8, 64u8,
5911							235u8, 110u8, 164u8, 100u8, 85u8, 66u8, 202u8, 71u8, 189u8, 18u8, 4u8,
5912							217u8,
5913						],
5914					)
5915				}
5916				pub fn last_block_duration(
5917					&self,
5918				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5919					(),
5920					types::last_block_duration::LastBlockDuration,
5921					::subxt::ext::subxt_core::utils::Yes,
5922					::subxt::ext::subxt_core::utils::Yes,
5923					(),
5924				> {
5925					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5926						"QPoW",
5927						"LastBlockDuration",
5928						(),
5929						[
5930							44u8, 139u8, 180u8, 95u8, 43u8, 58u8, 255u8, 71u8, 201u8, 240u8, 61u8,
5931							131u8, 214u8, 202u8, 118u8, 157u8, 21u8, 52u8, 154u8, 123u8, 253u8,
5932							160u8, 68u8, 100u8, 91u8, 196u8, 168u8, 14u8, 84u8, 60u8, 160u8, 229u8,
5933						],
5934					)
5935				}
5936				pub fn current_distance_threshold(
5937					&self,
5938				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5939					(),
5940					types::current_distance_threshold::CurrentDistanceThreshold,
5941					::subxt::ext::subxt_core::utils::Yes,
5942					::subxt::ext::subxt_core::utils::Yes,
5943					(),
5944				> {
5945					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5946						"QPoW",
5947						"CurrentDistanceThreshold",
5948						(),
5949						[
5950							241u8, 84u8, 91u8, 177u8, 115u8, 209u8, 7u8, 88u8, 15u8, 186u8, 180u8,
5951							244u8, 29u8, 198u8, 42u8, 162u8, 144u8, 70u8, 255u8, 39u8, 235u8,
5952							121u8, 239u8, 136u8, 137u8, 171u8, 183u8, 245u8, 158u8, 225u8, 244u8,
5953							147u8,
5954						],
5955					)
5956				}
5957				pub fn total_work(
5958					&self,
5959				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5960					(),
5961					types::total_work::TotalWork,
5962					::subxt::ext::subxt_core::utils::Yes,
5963					::subxt::ext::subxt_core::utils::Yes,
5964					(),
5965				> {
5966					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5967						"QPoW",
5968						"TotalWork",
5969						(),
5970						[
5971							184u8, 29u8, 54u8, 146u8, 220u8, 155u8, 103u8, 67u8, 21u8, 188u8, 53u8,
5972							160u8, 171u8, 107u8, 52u8, 211u8, 251u8, 52u8, 192u8, 227u8, 150u8,
5973							156u8, 172u8, 1u8, 233u8, 37u8, 49u8, 13u8, 213u8, 104u8, 10u8, 134u8,
5974						],
5975					)
5976				}
5977				pub fn blocks_in_period(
5978					&self,
5979				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5980					(),
5981					types::blocks_in_period::BlocksInPeriod,
5982					::subxt::ext::subxt_core::utils::Yes,
5983					::subxt::ext::subxt_core::utils::Yes,
5984					(),
5985				> {
5986					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5987						"QPoW",
5988						"BlocksInPeriod",
5989						(),
5990						[
5991							151u8, 58u8, 246u8, 176u8, 204u8, 107u8, 224u8, 209u8, 240u8, 52u8,
5992							246u8, 45u8, 69u8, 123u8, 23u8, 193u8, 126u8, 200u8, 131u8, 199u8,
5993							65u8, 39u8, 43u8, 20u8, 18u8, 4u8, 13u8, 120u8, 115u8, 31u8, 204u8,
5994							134u8,
5995						],
5996					)
5997				}
5998				pub fn block_time_history_iter(
5999					&self,
6000				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6001					(),
6002					types::block_time_history::BlockTimeHistory,
6003					(),
6004					::subxt::ext::subxt_core::utils::Yes,
6005					::subxt::ext::subxt_core::utils::Yes,
6006				> {
6007					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6008						"QPoW",
6009						"BlockTimeHistory",
6010						(),
6011						[
6012							149u8, 198u8, 140u8, 12u8, 144u8, 112u8, 153u8, 141u8, 207u8, 242u8,
6013							220u8, 87u8, 63u8, 234u8, 158u8, 87u8, 143u8, 186u8, 111u8, 14u8, 94u8,
6014							134u8, 215u8, 201u8, 141u8, 196u8, 39u8, 107u8, 113u8, 219u8, 41u8,
6015							58u8,
6016						],
6017					)
6018				}
6019				pub fn block_time_history(
6020					&self,
6021					_0: types::block_time_history::Param0,
6022				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6023					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
6024						types::block_time_history::Param0,
6025					>,
6026					types::block_time_history::BlockTimeHistory,
6027					::subxt::ext::subxt_core::utils::Yes,
6028					::subxt::ext::subxt_core::utils::Yes,
6029					(),
6030				> {
6031					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6032						"QPoW",
6033						"BlockTimeHistory",
6034						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
6035						[
6036							149u8, 198u8, 140u8, 12u8, 144u8, 112u8, 153u8, 141u8, 207u8, 242u8,
6037							220u8, 87u8, 63u8, 234u8, 158u8, 87u8, 143u8, 186u8, 111u8, 14u8, 94u8,
6038							134u8, 215u8, 201u8, 141u8, 196u8, 39u8, 107u8, 113u8, 219u8, 41u8,
6039							58u8,
6040						],
6041					)
6042				}
6043				pub fn history_index(
6044					&self,
6045				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6046					(),
6047					types::history_index::HistoryIndex,
6048					::subxt::ext::subxt_core::utils::Yes,
6049					::subxt::ext::subxt_core::utils::Yes,
6050					(),
6051				> {
6052					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6053						"QPoW",
6054						"HistoryIndex",
6055						(),
6056						[
6057							86u8, 246u8, 20u8, 135u8, 119u8, 68u8, 164u8, 167u8, 110u8, 235u8,
6058							121u8, 151u8, 221u8, 179u8, 25u8, 155u8, 187u8, 30u8, 43u8, 45u8,
6059							220u8, 156u8, 218u8, 20u8, 78u8, 59u8, 41u8, 144u8, 124u8, 166u8, 84u8,
6060							149u8,
6061						],
6062					)
6063				}
6064				pub fn block_time_ema(
6065					&self,
6066				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6067					(),
6068					types::block_time_ema::BlockTimeEma,
6069					::subxt::ext::subxt_core::utils::Yes,
6070					::subxt::ext::subxt_core::utils::Yes,
6071					(),
6072				> {
6073					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6074						"QPoW",
6075						"BlockTimeEma",
6076						(),
6077						[
6078							43u8, 90u8, 42u8, 54u8, 219u8, 225u8, 181u8, 63u8, 6u8, 66u8, 120u8,
6079							166u8, 146u8, 52u8, 10u8, 83u8, 54u8, 4u8, 163u8, 40u8, 46u8, 174u8,
6080							210u8, 217u8, 140u8, 56u8, 194u8, 245u8, 40u8, 164u8, 225u8, 206u8,
6081						],
6082					)
6083				}
6084			}
6085		}
6086		pub mod constants {
6087			use super::runtime_types;
6088			pub struct ConstantsApi;
6089			impl ConstantsApi {
6090				#[doc = " Pallet's weight info"]
6091				pub fn initial_distance_threshold_exponent(
6092					&self,
6093				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6094					::core::primitive::u32,
6095				> {
6096					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6097						"QPoW",
6098						"InitialDistanceThresholdExponent",
6099						[
6100							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
6101							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
6102							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
6103							145u8,
6104						],
6105					)
6106				}
6107				pub fn difficulty_adjust_percent_clamp(
6108					&self,
6109				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6110					::core::primitive::u8,
6111				> {
6112					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6113						"QPoW",
6114						"DifficultyAdjustPercentClamp",
6115						[
6116							141u8, 130u8, 11u8, 35u8, 226u8, 114u8, 92u8, 179u8, 168u8, 110u8,
6117							28u8, 91u8, 221u8, 64u8, 4u8, 148u8, 201u8, 193u8, 185u8, 66u8, 226u8,
6118							114u8, 97u8, 79u8, 62u8, 212u8, 202u8, 114u8, 237u8, 228u8, 183u8,
6119							165u8,
6120						],
6121					)
6122				}
6123				pub fn target_block_time(
6124					&self,
6125				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6126					::core::primitive::u64,
6127				> {
6128					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6129						"QPoW",
6130						"TargetBlockTime",
6131						[
6132							128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8,
6133							59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8,
6134							103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8,
6135							246u8,
6136						],
6137					)
6138				}
6139				#[doc = " EMA smoothing factor (0-1000, where 1000 = 1.0)"]
6140				pub fn ema_alpha(
6141					&self,
6142				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6143					::core::primitive::u32,
6144				> {
6145					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6146						"QPoW",
6147						"EmaAlpha",
6148						[
6149							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
6150							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
6151							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
6152							145u8,
6153						],
6154					)
6155				}
6156				pub fn max_reorg_depth(
6157					&self,
6158				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6159					::core::primitive::u32,
6160				> {
6161					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6162						"QPoW",
6163						"MaxReorgDepth",
6164						[
6165							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
6166							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
6167							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
6168							145u8,
6169						],
6170					)
6171				}
6172				#[doc = " Fixed point scale for calculations (default: 10^18)"]
6173				pub fn fixed_u128_scale(
6174					&self,
6175				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6176					::core::primitive::u128,
6177				> {
6178					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6179						"QPoW",
6180						"FixedU128Scale",
6181						[
6182							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
6183							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
6184							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
6185						],
6186					)
6187				}
6188				#[doc = " Maximum distance threshold multiplier (default: 4)"]
6189				pub fn max_distance_multiplier(
6190					&self,
6191				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6192					::core::primitive::u32,
6193				> {
6194					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6195						"QPoW",
6196						"MaxDistanceMultiplier",
6197						[
6198							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
6199							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
6200							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
6201							145u8,
6202						],
6203					)
6204				}
6205			}
6206		}
6207	}
6208	pub mod mining_rewards {
6209		use super::{root_mod, runtime_types};
6210		#[doc = "The `Event` enum of this pallet"]
6211		pub type Event = runtime_types::pallet_mining_rewards::pallet::Event;
6212		pub mod events {
6213			use super::runtime_types;
6214			#[derive(
6215				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6216				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6217				Debug,
6218			)]
6219			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
6220			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
6221			#[doc = "A miner has been identified for a block"]
6222			pub struct MinerRewarded {
6223				pub miner: miner_rewarded::Miner,
6224				pub reward: miner_rewarded::Reward,
6225			}
6226			pub mod miner_rewarded {
6227				use super::runtime_types;
6228				pub type Miner = ::subxt::ext::subxt_core::utils::AccountId32;
6229				pub type Reward = ::core::primitive::u128;
6230			}
6231			impl ::subxt::ext::subxt_core::events::StaticEvent for MinerRewarded {
6232				const PALLET: &'static str = "MiningRewards";
6233				const EVENT: &'static str = "MinerRewarded";
6234			}
6235			#[derive(
6236				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6237				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6238				Debug,
6239			)]
6240			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
6241			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
6242			#[doc = "Transaction fees were collected for later distribution"]
6243			pub struct FeesCollected {
6244				pub amount: fees_collected::Amount,
6245				pub total: fees_collected::Total,
6246			}
6247			pub mod fees_collected {
6248				use super::runtime_types;
6249				pub type Amount = ::core::primitive::u128;
6250				pub type Total = ::core::primitive::u128;
6251			}
6252			impl ::subxt::ext::subxt_core::events::StaticEvent for FeesCollected {
6253				const PALLET: &'static str = "MiningRewards";
6254				const EVENT: &'static str = "FeesCollected";
6255			}
6256			#[derive(
6257				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6258				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6259				Debug,
6260			)]
6261			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
6262			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
6263			#[doc = "Rewards were sent to Treasury when no miner was specified"]
6264			pub struct TreasuryRewarded {
6265				pub reward: treasury_rewarded::Reward,
6266			}
6267			pub mod treasury_rewarded {
6268				use super::runtime_types;
6269				pub type Reward = ::core::primitive::u128;
6270			}
6271			impl ::subxt::ext::subxt_core::events::StaticEvent for TreasuryRewarded {
6272				const PALLET: &'static str = "MiningRewards";
6273				const EVENT: &'static str = "TreasuryRewarded";
6274			}
6275		}
6276		pub mod storage {
6277			use super::runtime_types;
6278			pub mod types {
6279				use super::runtime_types;
6280				pub mod collected_fees {
6281					use super::runtime_types;
6282					pub type CollectedFees = ::core::primitive::u128;
6283				}
6284			}
6285			pub struct StorageApi;
6286			impl StorageApi {
6287				pub fn collected_fees(
6288					&self,
6289				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6290					(),
6291					types::collected_fees::CollectedFees,
6292					::subxt::ext::subxt_core::utils::Yes,
6293					::subxt::ext::subxt_core::utils::Yes,
6294					(),
6295				> {
6296					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6297						"MiningRewards",
6298						"CollectedFees",
6299						(),
6300						[
6301							136u8, 52u8, 218u8, 204u8, 2u8, 250u8, 34u8, 8u8, 16u8, 23u8, 171u8,
6302							3u8, 253u8, 35u8, 59u8, 7u8, 167u8, 227u8, 86u8, 15u8, 155u8, 14u8,
6303							139u8, 44u8, 208u8, 108u8, 85u8, 131u8, 170u8, 37u8, 211u8, 211u8,
6304						],
6305					)
6306				}
6307			}
6308		}
6309		pub mod constants {
6310			use super::runtime_types;
6311			pub struct ConstantsApi;
6312			impl ConstantsApi {
6313				#[doc = " The base block reward given to miners"]
6314				pub fn miner_block_reward(
6315					&self,
6316				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6317					::core::primitive::u128,
6318				> {
6319					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6320						"MiningRewards",
6321						"MinerBlockReward",
6322						[
6323							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
6324							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
6325							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
6326						],
6327					)
6328				}
6329				#[doc = " The base block reward given to treasury"]
6330				pub fn treasury_block_reward(
6331					&self,
6332				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6333					::core::primitive::u128,
6334				> {
6335					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6336						"MiningRewards",
6337						"TreasuryBlockReward",
6338						[
6339							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
6340							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
6341							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
6342						],
6343					)
6344				}
6345				#[doc = " The treasury pallet ID"]
6346				pub fn treasury_pallet_id(
6347					&self,
6348				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6349					runtime_types::frame_support::PalletId,
6350				> {
6351					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6352						"MiningRewards",
6353						"TreasuryPalletId",
6354						[
6355							56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8,
6356							161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8,
6357							129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8,
6358						],
6359					)
6360				}
6361				#[doc = " Account ID used as the \"from\" account when creating transfer proofs for minted tokens"]
6362				pub fn minting_account(
6363					&self,
6364				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6365					::subxt::ext::subxt_core::utils::AccountId32,
6366				> {
6367					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6368						"MiningRewards",
6369						"MintingAccount",
6370						[
6371							115u8, 233u8, 13u8, 223u8, 88u8, 20u8, 202u8, 139u8, 153u8, 28u8,
6372							155u8, 157u8, 224u8, 66u8, 3u8, 250u8, 23u8, 53u8, 88u8, 168u8, 211u8,
6373							204u8, 122u8, 166u8, 248u8, 23u8, 174u8, 225u8, 99u8, 108u8, 89u8,
6374							135u8,
6375						],
6376					)
6377				}
6378			}
6379		}
6380	}
6381	pub mod vesting {
6382		use super::{root_mod, runtime_types};
6383		#[doc = "Error for the vesting pallet."]
6384		pub type Error = runtime_types::pallet_vesting::pallet::Error;
6385		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
6386		pub type Call = runtime_types::pallet_vesting::pallet::Call;
6387		pub mod calls {
6388			use super::{root_mod, runtime_types};
6389			type DispatchError = runtime_types::sp_runtime::DispatchError;
6390			pub mod types {
6391				use super::runtime_types;
6392				#[derive(
6393					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6394					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6395					Debug,
6396				)]
6397				#[decode_as_type(
6398					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6399				)]
6400				#[encode_as_type(
6401					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6402				)]
6403				#[doc = "Unlock any vested funds of the sender account."]
6404				#[doc = ""]
6405				#[doc = "The dispatch origin for this call must be _Signed_ and the sender must have funds still"]
6406				#[doc = "locked under this pallet."]
6407				#[doc = ""]
6408				#[doc = "Emits either `VestingCompleted` or `VestingUpdated`."]
6409				#[doc = ""]
6410				#[doc = "## Complexity"]
6411				#[doc = "- `O(1)`."]
6412				pub struct Vest;
6413				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Vest {
6414					const PALLET: &'static str = "Vesting";
6415					const CALL: &'static str = "vest";
6416				}
6417				#[derive(
6418					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6419					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6420					Debug,
6421				)]
6422				#[decode_as_type(
6423					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6424				)]
6425				#[encode_as_type(
6426					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6427				)]
6428				#[doc = "Unlock any vested funds of a `target` account."]
6429				#[doc = ""]
6430				#[doc = "The dispatch origin for this call must be _Signed_."]
6431				#[doc = ""]
6432				#[doc = "- `target`: The account whose vested funds should be unlocked. Must have funds still"]
6433				#[doc = "locked under this pallet."]
6434				#[doc = ""]
6435				#[doc = "Emits either `VestingCompleted` or `VestingUpdated`."]
6436				#[doc = ""]
6437				#[doc = "## Complexity"]
6438				#[doc = "- `O(1)`."]
6439				pub struct VestOther {
6440					pub target: vest_other::Target,
6441				}
6442				pub mod vest_other {
6443					use super::runtime_types;
6444					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
6445						::subxt::ext::subxt_core::utils::AccountId32,
6446						(),
6447					>;
6448				}
6449				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for VestOther {
6450					const PALLET: &'static str = "Vesting";
6451					const CALL: &'static str = "vest_other";
6452				}
6453				#[derive(
6454					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6455					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6456					Debug,
6457				)]
6458				#[decode_as_type(
6459					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6460				)]
6461				#[encode_as_type(
6462					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6463				)]
6464				#[doc = "Create a vested transfer."]
6465				#[doc = ""]
6466				#[doc = "The dispatch origin for this call must be _Signed_."]
6467				#[doc = ""]
6468				#[doc = "- `target`: The account receiving the vested funds."]
6469				#[doc = "- `schedule`: The vesting schedule attached to the transfer."]
6470				#[doc = ""]
6471				#[doc = "Emits `VestingCreated`."]
6472				#[doc = ""]
6473				#[doc = "NOTE: This will unlock all schedules through the current block."]
6474				#[doc = ""]
6475				#[doc = "## Complexity"]
6476				#[doc = "- `O(1)`."]
6477				pub struct VestedTransfer {
6478					pub target: vested_transfer::Target,
6479					pub schedule: vested_transfer::Schedule,
6480				}
6481				pub mod vested_transfer {
6482					use super::runtime_types;
6483					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
6484						::subxt::ext::subxt_core::utils::AccountId32,
6485						(),
6486					>;
6487					pub type Schedule = runtime_types::pallet_vesting::vesting_info::VestingInfo<
6488						::core::primitive::u128,
6489						::core::primitive::u32,
6490					>;
6491				}
6492				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for VestedTransfer {
6493					const PALLET: &'static str = "Vesting";
6494					const CALL: &'static str = "vested_transfer";
6495				}
6496				#[derive(
6497					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6498					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6499					Debug,
6500				)]
6501				#[decode_as_type(
6502					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6503				)]
6504				#[encode_as_type(
6505					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6506				)]
6507				#[doc = "Force a vested transfer."]
6508				#[doc = ""]
6509				#[doc = "The dispatch origin for this call must be _Root_."]
6510				#[doc = ""]
6511				#[doc = "- `source`: The account whose funds should be transferred."]
6512				#[doc = "- `target`: The account that should be transferred the vested funds."]
6513				#[doc = "- `schedule`: The vesting schedule attached to the transfer."]
6514				#[doc = ""]
6515				#[doc = "Emits `VestingCreated`."]
6516				#[doc = ""]
6517				#[doc = "NOTE: This will unlock all schedules through the current block."]
6518				#[doc = ""]
6519				#[doc = "## Complexity"]
6520				#[doc = "- `O(1)`."]
6521				pub struct ForceVestedTransfer {
6522					pub source: force_vested_transfer::Source,
6523					pub target: force_vested_transfer::Target,
6524					pub schedule: force_vested_transfer::Schedule,
6525				}
6526				pub mod force_vested_transfer {
6527					use super::runtime_types;
6528					pub type Source = ::subxt::ext::subxt_core::utils::MultiAddress<
6529						::subxt::ext::subxt_core::utils::AccountId32,
6530						(),
6531					>;
6532					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
6533						::subxt::ext::subxt_core::utils::AccountId32,
6534						(),
6535					>;
6536					pub type Schedule = runtime_types::pallet_vesting::vesting_info::VestingInfo<
6537						::core::primitive::u128,
6538						::core::primitive::u32,
6539					>;
6540				}
6541				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceVestedTransfer {
6542					const PALLET: &'static str = "Vesting";
6543					const CALL: &'static str = "force_vested_transfer";
6544				}
6545				#[derive(
6546					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6547					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6548					Debug,
6549				)]
6550				#[decode_as_type(
6551					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6552				)]
6553				#[encode_as_type(
6554					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6555				)]
6556				#[doc = "Merge two vesting schedules together, creating a new vesting schedule that unlocks over"]
6557				#[doc = "the highest possible start and end blocks. If both schedules have already started the"]
6558				#[doc = "current block will be used as the schedule start; with the caveat that if one schedule"]
6559				#[doc = "is finished by the current block, the other will be treated as the new merged schedule,"]
6560				#[doc = "unmodified."]
6561				#[doc = ""]
6562				#[doc = "NOTE: If `schedule1_index == schedule2_index` this is a no-op."]
6563				#[doc = "NOTE: This will unlock all schedules through the current block prior to merging."]
6564				#[doc = "NOTE: If both schedules have ended by the current block, no new schedule will be created"]
6565				#[doc = "and both will be removed."]
6566				#[doc = ""]
6567				#[doc = "Merged schedule attributes:"]
6568				#[doc = "- `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block,"]
6569				#[doc = "  current_block)`."]
6570				#[doc = "- `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`."]
6571				#[doc = "- `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`."]
6572				#[doc = ""]
6573				#[doc = "The dispatch origin for this call must be _Signed_."]
6574				#[doc = ""]
6575				#[doc = "- `schedule1_index`: index of the first schedule to merge."]
6576				#[doc = "- `schedule2_index`: index of the second schedule to merge."]
6577				pub struct MergeSchedules {
6578					pub schedule1_index: merge_schedules::Schedule1Index,
6579					pub schedule2_index: merge_schedules::Schedule2Index,
6580				}
6581				pub mod merge_schedules {
6582					use super::runtime_types;
6583					pub type Schedule1Index = ::core::primitive::u32;
6584					pub type Schedule2Index = ::core::primitive::u32;
6585				}
6586				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for MergeSchedules {
6587					const PALLET: &'static str = "Vesting";
6588					const CALL: &'static str = "merge_schedules";
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(
6596					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6597				)]
6598				#[encode_as_type(
6599					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6600				)]
6601				#[doc = "Force remove a vesting schedule"]
6602				#[doc = ""]
6603				#[doc = "The dispatch origin for this call must be _Root_."]
6604				#[doc = ""]
6605				#[doc = "- `target`: An account that has a vesting schedule"]
6606				#[doc = "- `schedule_index`: The vesting schedule index that should be removed"]
6607				pub struct ForceRemoveVestingSchedule {
6608					pub target: force_remove_vesting_schedule::Target,
6609					pub schedule_index: force_remove_vesting_schedule::ScheduleIndex,
6610				}
6611				pub mod force_remove_vesting_schedule {
6612					use super::runtime_types;
6613					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
6614						::subxt::ext::subxt_core::utils::AccountId32,
6615						(),
6616					>;
6617					pub type ScheduleIndex = ::core::primitive::u32;
6618				}
6619				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceRemoveVestingSchedule {
6620					const PALLET: &'static str = "Vesting";
6621					const CALL: &'static str = "force_remove_vesting_schedule";
6622				}
6623			}
6624			pub struct TransactionApi;
6625			impl TransactionApi {
6626				#[doc = "Unlock any vested funds of the sender account."]
6627				#[doc = ""]
6628				#[doc = "The dispatch origin for this call must be _Signed_ and the sender must have funds still"]
6629				#[doc = "locked under this pallet."]
6630				#[doc = ""]
6631				#[doc = "Emits either `VestingCompleted` or `VestingUpdated`."]
6632				#[doc = ""]
6633				#[doc = "## Complexity"]
6634				#[doc = "- `O(1)`."]
6635				pub fn vest(
6636					&self,
6637				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Vest> {
6638					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6639						"Vesting",
6640						"vest",
6641						types::Vest {},
6642						[
6643							149u8, 89u8, 178u8, 148u8, 127u8, 127u8, 155u8, 60u8, 114u8, 126u8,
6644							204u8, 123u8, 166u8, 70u8, 104u8, 208u8, 186u8, 69u8, 139u8, 181u8,
6645							151u8, 154u8, 235u8, 161u8, 191u8, 35u8, 111u8, 60u8, 21u8, 165u8,
6646							44u8, 122u8,
6647						],
6648					)
6649				}
6650				#[doc = "Unlock any vested funds of a `target` account."]
6651				#[doc = ""]
6652				#[doc = "The dispatch origin for this call must be _Signed_."]
6653				#[doc = ""]
6654				#[doc = "- `target`: The account whose vested funds should be unlocked. Must have funds still"]
6655				#[doc = "locked under this pallet."]
6656				#[doc = ""]
6657				#[doc = "Emits either `VestingCompleted` or `VestingUpdated`."]
6658				#[doc = ""]
6659				#[doc = "## Complexity"]
6660				#[doc = "- `O(1)`."]
6661				pub fn vest_other(
6662					&self,
6663					target: types::vest_other::Target,
6664				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::VestOther> {
6665					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6666						"Vesting",
6667						"vest_other",
6668						types::VestOther { target },
6669						[
6670							238u8, 92u8, 25u8, 149u8, 27u8, 211u8, 196u8, 31u8, 211u8, 28u8, 241u8,
6671							30u8, 128u8, 35u8, 0u8, 227u8, 202u8, 215u8, 186u8, 69u8, 216u8, 110u8,
6672							199u8, 120u8, 134u8, 141u8, 176u8, 224u8, 234u8, 42u8, 152u8, 128u8,
6673						],
6674					)
6675				}
6676				#[doc = "Create a vested transfer."]
6677				#[doc = ""]
6678				#[doc = "The dispatch origin for this call must be _Signed_."]
6679				#[doc = ""]
6680				#[doc = "- `target`: The account receiving the vested funds."]
6681				#[doc = "- `schedule`: The vesting schedule attached to the transfer."]
6682				#[doc = ""]
6683				#[doc = "Emits `VestingCreated`."]
6684				#[doc = ""]
6685				#[doc = "NOTE: This will unlock all schedules through the current block."]
6686				#[doc = ""]
6687				#[doc = "## Complexity"]
6688				#[doc = "- `O(1)`."]
6689				pub fn vested_transfer(
6690					&self,
6691					target: types::vested_transfer::Target,
6692					schedule: types::vested_transfer::Schedule,
6693				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::VestedTransfer>
6694				{
6695					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6696						"Vesting",
6697						"vested_transfer",
6698						types::VestedTransfer { target, schedule },
6699						[
6700							198u8, 133u8, 254u8, 5u8, 22u8, 170u8, 205u8, 79u8, 218u8, 30u8, 81u8,
6701							207u8, 227u8, 121u8, 132u8, 14u8, 217u8, 43u8, 66u8, 206u8, 15u8, 80u8,
6702							173u8, 208u8, 128u8, 72u8, 223u8, 175u8, 93u8, 69u8, 128u8, 88u8,
6703						],
6704					)
6705				}
6706				#[doc = "Force a vested transfer."]
6707				#[doc = ""]
6708				#[doc = "The dispatch origin for this call must be _Root_."]
6709				#[doc = ""]
6710				#[doc = "- `source`: The account whose funds should be transferred."]
6711				#[doc = "- `target`: The account that should be transferred the vested funds."]
6712				#[doc = "- `schedule`: The vesting schedule attached to the transfer."]
6713				#[doc = ""]
6714				#[doc = "Emits `VestingCreated`."]
6715				#[doc = ""]
6716				#[doc = "NOTE: This will unlock all schedules through the current block."]
6717				#[doc = ""]
6718				#[doc = "## Complexity"]
6719				#[doc = "- `O(1)`."]
6720				pub fn force_vested_transfer(
6721					&self,
6722					source: types::force_vested_transfer::Source,
6723					target: types::force_vested_transfer::Target,
6724					schedule: types::force_vested_transfer::Schedule,
6725				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceVestedTransfer>
6726				{
6727					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6728						"Vesting",
6729						"force_vested_transfer",
6730						types::ForceVestedTransfer { source, target, schedule },
6731						[
6732							112u8, 17u8, 176u8, 133u8, 169u8, 192u8, 155u8, 217u8, 153u8, 36u8,
6733							230u8, 45u8, 9u8, 192u8, 2u8, 201u8, 165u8, 60u8, 206u8, 226u8, 95u8,
6734							86u8, 239u8, 196u8, 109u8, 62u8, 224u8, 237u8, 88u8, 74u8, 209u8,
6735							251u8,
6736						],
6737					)
6738				}
6739				#[doc = "Merge two vesting schedules together, creating a new vesting schedule that unlocks over"]
6740				#[doc = "the highest possible start and end blocks. If both schedules have already started the"]
6741				#[doc = "current block will be used as the schedule start; with the caveat that if one schedule"]
6742				#[doc = "is finished by the current block, the other will be treated as the new merged schedule,"]
6743				#[doc = "unmodified."]
6744				#[doc = ""]
6745				#[doc = "NOTE: If `schedule1_index == schedule2_index` this is a no-op."]
6746				#[doc = "NOTE: This will unlock all schedules through the current block prior to merging."]
6747				#[doc = "NOTE: If both schedules have ended by the current block, no new schedule will be created"]
6748				#[doc = "and both will be removed."]
6749				#[doc = ""]
6750				#[doc = "Merged schedule attributes:"]
6751				#[doc = "- `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block,"]
6752				#[doc = "  current_block)`."]
6753				#[doc = "- `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`."]
6754				#[doc = "- `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`."]
6755				#[doc = ""]
6756				#[doc = "The dispatch origin for this call must be _Signed_."]
6757				#[doc = ""]
6758				#[doc = "- `schedule1_index`: index of the first schedule to merge."]
6759				#[doc = "- `schedule2_index`: index of the second schedule to merge."]
6760				pub fn merge_schedules(
6761					&self,
6762					schedule1_index: types::merge_schedules::Schedule1Index,
6763					schedule2_index: types::merge_schedules::Schedule2Index,
6764				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::MergeSchedules>
6765				{
6766					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6767						"Vesting",
6768						"merge_schedules",
6769						types::MergeSchedules { schedule1_index, schedule2_index },
6770						[
6771							45u8, 24u8, 13u8, 108u8, 26u8, 99u8, 61u8, 117u8, 195u8, 218u8, 182u8,
6772							23u8, 188u8, 157u8, 181u8, 81u8, 38u8, 136u8, 31u8, 226u8, 8u8, 190u8,
6773							33u8, 81u8, 86u8, 185u8, 156u8, 77u8, 157u8, 197u8, 41u8, 58u8,
6774						],
6775					)
6776				}
6777				#[doc = "Force remove a vesting schedule"]
6778				#[doc = ""]
6779				#[doc = "The dispatch origin for this call must be _Root_."]
6780				#[doc = ""]
6781				#[doc = "- `target`: An account that has a vesting schedule"]
6782				#[doc = "- `schedule_index`: The vesting schedule index that should be removed"]
6783				pub fn force_remove_vesting_schedule(
6784					&self,
6785					target: types::force_remove_vesting_schedule::Target,
6786					schedule_index: types::force_remove_vesting_schedule::ScheduleIndex,
6787				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
6788					types::ForceRemoveVestingSchedule,
6789				> {
6790					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6791						"Vesting",
6792						"force_remove_vesting_schedule",
6793						types::ForceRemoveVestingSchedule { target, schedule_index },
6794						[
6795							211u8, 253u8, 60u8, 15u8, 20u8, 53u8, 23u8, 13u8, 45u8, 223u8, 136u8,
6796							183u8, 162u8, 143u8, 196u8, 188u8, 35u8, 64u8, 174u8, 16u8, 47u8, 13u8,
6797							147u8, 173u8, 120u8, 143u8, 75u8, 89u8, 128u8, 187u8, 9u8, 18u8,
6798						],
6799					)
6800				}
6801			}
6802		}
6803		#[doc = "The `Event` enum of this pallet"]
6804		pub type Event = runtime_types::pallet_vesting::pallet::Event;
6805		pub mod events {
6806			use super::runtime_types;
6807			#[derive(
6808				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6809				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6810				Debug,
6811			)]
6812			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
6813			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
6814			#[doc = "A vesting schedule has been created."]
6815			pub struct VestingCreated {
6816				pub account: vesting_created::Account,
6817				pub schedule_index: vesting_created::ScheduleIndex,
6818			}
6819			pub mod vesting_created {
6820				use super::runtime_types;
6821				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
6822				pub type ScheduleIndex = ::core::primitive::u32;
6823			}
6824			impl ::subxt::ext::subxt_core::events::StaticEvent for VestingCreated {
6825				const PALLET: &'static str = "Vesting";
6826				const EVENT: &'static str = "VestingCreated";
6827			}
6828			#[derive(
6829				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6830				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6831				Debug,
6832			)]
6833			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
6834			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
6835			#[doc = "The amount vested has been updated. This could indicate a change in funds available."]
6836			#[doc = "The balance given is the amount which is left unvested (and thus locked)."]
6837			pub struct VestingUpdated {
6838				pub account: vesting_updated::Account,
6839				pub unvested: vesting_updated::Unvested,
6840			}
6841			pub mod vesting_updated {
6842				use super::runtime_types;
6843				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
6844				pub type Unvested = ::core::primitive::u128;
6845			}
6846			impl ::subxt::ext::subxt_core::events::StaticEvent for VestingUpdated {
6847				const PALLET: &'static str = "Vesting";
6848				const EVENT: &'static str = "VestingUpdated";
6849			}
6850			#[derive(
6851				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6852				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6853				Debug,
6854			)]
6855			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
6856			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
6857			#[doc = "An \\[account\\] has become fully vested."]
6858			pub struct VestingCompleted {
6859				pub account: vesting_completed::Account,
6860			}
6861			pub mod vesting_completed {
6862				use super::runtime_types;
6863				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
6864			}
6865			impl ::subxt::ext::subxt_core::events::StaticEvent for VestingCompleted {
6866				const PALLET: &'static str = "Vesting";
6867				const EVENT: &'static str = "VestingCompleted";
6868			}
6869		}
6870		pub mod storage {
6871			use super::runtime_types;
6872			pub mod types {
6873				use super::runtime_types;
6874				pub mod vesting {
6875					use super::runtime_types;
6876					pub type Vesting = runtime_types::bounded_collections::bounded_vec::BoundedVec<
6877						runtime_types::pallet_vesting::vesting_info::VestingInfo<
6878							::core::primitive::u128,
6879							::core::primitive::u32,
6880						>,
6881					>;
6882					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
6883				}
6884				pub mod storage_version {
6885					use super::runtime_types;
6886					pub type StorageVersion = runtime_types::pallet_vesting::Releases;
6887				}
6888			}
6889			pub struct StorageApi;
6890			impl StorageApi {
6891				#[doc = " Information regarding the vesting of a given account."]
6892				pub fn vesting_iter(
6893					&self,
6894				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6895					(),
6896					types::vesting::Vesting,
6897					(),
6898					(),
6899					::subxt::ext::subxt_core::utils::Yes,
6900				> {
6901					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6902						"Vesting",
6903						"Vesting",
6904						(),
6905						[
6906							95u8, 168u8, 217u8, 248u8, 149u8, 86u8, 195u8, 93u8, 73u8, 206u8,
6907							105u8, 165u8, 33u8, 173u8, 232u8, 81u8, 147u8, 254u8, 50u8, 228u8,
6908							156u8, 92u8, 242u8, 149u8, 42u8, 91u8, 58u8, 209u8, 142u8, 221u8,
6909							230u8, 112u8,
6910						],
6911					)
6912				}
6913				#[doc = " Information regarding the vesting of a given account."]
6914				pub fn vesting(
6915					&self,
6916					_0: types::vesting::Param0,
6917				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6918					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
6919						types::vesting::Param0,
6920					>,
6921					types::vesting::Vesting,
6922					::subxt::ext::subxt_core::utils::Yes,
6923					(),
6924					(),
6925				> {
6926					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6927						"Vesting",
6928						"Vesting",
6929						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
6930						[
6931							95u8, 168u8, 217u8, 248u8, 149u8, 86u8, 195u8, 93u8, 73u8, 206u8,
6932							105u8, 165u8, 33u8, 173u8, 232u8, 81u8, 147u8, 254u8, 50u8, 228u8,
6933							156u8, 92u8, 242u8, 149u8, 42u8, 91u8, 58u8, 209u8, 142u8, 221u8,
6934							230u8, 112u8,
6935						],
6936					)
6937				}
6938				#[doc = " Storage version of the pallet."]
6939				#[doc = ""]
6940				#[doc = " New networks start with latest version, as determined by the genesis build."]
6941				pub fn storage_version(
6942					&self,
6943				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6944					(),
6945					types::storage_version::StorageVersion,
6946					::subxt::ext::subxt_core::utils::Yes,
6947					::subxt::ext::subxt_core::utils::Yes,
6948					(),
6949				> {
6950					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6951						"Vesting",
6952						"StorageVersion",
6953						(),
6954						[
6955							230u8, 137u8, 180u8, 133u8, 142u8, 124u8, 231u8, 234u8, 223u8, 10u8,
6956							154u8, 98u8, 158u8, 253u8, 228u8, 80u8, 5u8, 9u8, 91u8, 210u8, 252u8,
6957							9u8, 13u8, 195u8, 193u8, 164u8, 129u8, 113u8, 128u8, 218u8, 8u8, 40u8,
6958						],
6959					)
6960				}
6961			}
6962		}
6963		pub mod constants {
6964			use super::runtime_types;
6965			pub struct ConstantsApi;
6966			impl ConstantsApi {
6967				#[doc = " The minimum amount transferred to call `vested_transfer`."]
6968				pub fn min_vested_transfer(
6969					&self,
6970				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6971					::core::primitive::u128,
6972				> {
6973					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6974						"Vesting",
6975						"MinVestedTransfer",
6976						[
6977							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
6978							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
6979							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
6980						],
6981					)
6982				}
6983				pub fn max_vesting_schedules(
6984					&self,
6985				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6986					::core::primitive::u32,
6987				> {
6988					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6989						"Vesting",
6990						"MaxVestingSchedules",
6991						[
6992							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
6993							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
6994							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
6995							145u8,
6996						],
6997					)
6998				}
6999			}
7000		}
7001	}
7002	pub mod preimage {
7003		use super::{root_mod, runtime_types};
7004		#[doc = "The `Error` enum of this pallet."]
7005		pub type Error = runtime_types::pallet_preimage::pallet::Error;
7006		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
7007		pub type Call = runtime_types::pallet_preimage::pallet::Call;
7008		pub mod calls {
7009			use super::{root_mod, runtime_types};
7010			type DispatchError = runtime_types::sp_runtime::DispatchError;
7011			pub mod types {
7012				use super::runtime_types;
7013				#[derive(
7014					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7015					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7016					Debug,
7017				)]
7018				#[decode_as_type(
7019					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7020				)]
7021				#[encode_as_type(
7022					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7023				)]
7024				#[doc = "Register a preimage on-chain."]
7025				#[doc = ""]
7026				#[doc = "If the preimage was previously requested, no fees or deposits are taken for providing"]
7027				#[doc = "the preimage. Otherwise, a deposit is taken proportional to the size of the preimage."]
7028				pub struct NotePreimage {
7029					pub bytes: note_preimage::Bytes,
7030				}
7031				pub mod note_preimage {
7032					use super::runtime_types;
7033					pub type Bytes =
7034						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
7035				}
7036				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for NotePreimage {
7037					const PALLET: &'static str = "Preimage";
7038					const CALL: &'static str = "note_preimage";
7039				}
7040				#[derive(
7041					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7042					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7043					Debug,
7044				)]
7045				#[decode_as_type(
7046					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7047				)]
7048				#[encode_as_type(
7049					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7050				)]
7051				#[doc = "Clear an unrequested preimage from the runtime storage."]
7052				#[doc = ""]
7053				#[doc = "If `len` is provided, then it will be a much cheaper operation."]
7054				#[doc = ""]
7055				#[doc = "- `hash`: The hash of the preimage to be removed from the store."]
7056				#[doc = "- `len`: The length of the preimage of `hash`."]
7057				pub struct UnnotePreimage {
7058					pub hash: unnote_preimage::Hash,
7059				}
7060				pub mod unnote_preimage {
7061					use super::runtime_types;
7062					pub type Hash = ::subxt::ext::subxt_core::utils::H256;
7063				}
7064				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for UnnotePreimage {
7065					const PALLET: &'static str = "Preimage";
7066					const CALL: &'static str = "unnote_preimage";
7067				}
7068				#[derive(
7069					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7070					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7071					Debug,
7072				)]
7073				#[decode_as_type(
7074					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7075				)]
7076				#[encode_as_type(
7077					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7078				)]
7079				#[doc = "Request a preimage be uploaded to the chain without paying any fees or deposits."]
7080				#[doc = ""]
7081				#[doc = "If the preimage requests has already been provided on-chain, we unreserve any deposit"]
7082				#[doc = "a user may have paid, and take the control of the preimage out of their hands."]
7083				pub struct RequestPreimage {
7084					pub hash: request_preimage::Hash,
7085				}
7086				pub mod request_preimage {
7087					use super::runtime_types;
7088					pub type Hash = ::subxt::ext::subxt_core::utils::H256;
7089				}
7090				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RequestPreimage {
7091					const PALLET: &'static str = "Preimage";
7092					const CALL: &'static str = "request_preimage";
7093				}
7094				#[derive(
7095					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7096					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7097					Debug,
7098				)]
7099				#[decode_as_type(
7100					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7101				)]
7102				#[encode_as_type(
7103					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7104				)]
7105				#[doc = "Clear a previously made request for a preimage."]
7106				#[doc = ""]
7107				#[doc = "NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`."]
7108				pub struct UnrequestPreimage {
7109					pub hash: unrequest_preimage::Hash,
7110				}
7111				pub mod unrequest_preimage {
7112					use super::runtime_types;
7113					pub type Hash = ::subxt::ext::subxt_core::utils::H256;
7114				}
7115				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for UnrequestPreimage {
7116					const PALLET: &'static str = "Preimage";
7117					const CALL: &'static str = "unrequest_preimage";
7118				}
7119				#[derive(
7120					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7121					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7122					Debug,
7123				)]
7124				#[decode_as_type(
7125					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7126				)]
7127				#[encode_as_type(
7128					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7129				)]
7130				#[doc = "Ensure that the bulk of pre-images is upgraded."]
7131				#[doc = ""]
7132				#[doc = "The caller pays no fee if at least 90% of pre-images were successfully updated."]
7133				pub struct EnsureUpdated {
7134					pub hashes: ensure_updated::Hashes,
7135				}
7136				pub mod ensure_updated {
7137					use super::runtime_types;
7138					pub type Hashes = ::subxt::ext::subxt_core::alloc::vec::Vec<
7139						::subxt::ext::subxt_core::utils::H256,
7140					>;
7141				}
7142				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for EnsureUpdated {
7143					const PALLET: &'static str = "Preimage";
7144					const CALL: &'static str = "ensure_updated";
7145				}
7146			}
7147			pub struct TransactionApi;
7148			impl TransactionApi {
7149				#[doc = "Register a preimage on-chain."]
7150				#[doc = ""]
7151				#[doc = "If the preimage was previously requested, no fees or deposits are taken for providing"]
7152				#[doc = "the preimage. Otherwise, a deposit is taken proportional to the size of the preimage."]
7153				pub fn note_preimage(
7154					&self,
7155					bytes: types::note_preimage::Bytes,
7156				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::NotePreimage> {
7157					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7158						"Preimage",
7159						"note_preimage",
7160						types::NotePreimage { bytes },
7161						[
7162							121u8, 88u8, 18u8, 92u8, 176u8, 15u8, 192u8, 198u8, 146u8, 198u8, 38u8,
7163							242u8, 213u8, 83u8, 7u8, 230u8, 14u8, 110u8, 235u8, 32u8, 215u8, 26u8,
7164							192u8, 217u8, 113u8, 224u8, 206u8, 96u8, 177u8, 198u8, 246u8, 33u8,
7165						],
7166					)
7167				}
7168				#[doc = "Clear an unrequested preimage from the runtime storage."]
7169				#[doc = ""]
7170				#[doc = "If `len` is provided, then it will be a much cheaper operation."]
7171				#[doc = ""]
7172				#[doc = "- `hash`: The hash of the preimage to be removed from the store."]
7173				#[doc = "- `len`: The length of the preimage of `hash`."]
7174				pub fn unnote_preimage(
7175					&self,
7176					hash: types::unnote_preimage::Hash,
7177				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::UnnotePreimage>
7178				{
7179					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7180						"Preimage",
7181						"unnote_preimage",
7182						types::UnnotePreimage { hash },
7183						[
7184							188u8, 116u8, 222u8, 22u8, 127u8, 215u8, 2u8, 133u8, 96u8, 202u8,
7185							190u8, 123u8, 203u8, 43u8, 200u8, 161u8, 226u8, 24u8, 49u8, 36u8,
7186							221u8, 160u8, 130u8, 119u8, 30u8, 138u8, 144u8, 85u8, 5u8, 164u8,
7187							252u8, 222u8,
7188						],
7189					)
7190				}
7191				#[doc = "Request a preimage be uploaded to the chain without paying any fees or deposits."]
7192				#[doc = ""]
7193				#[doc = "If the preimage requests has already been provided on-chain, we unreserve any deposit"]
7194				#[doc = "a user may have paid, and take the control of the preimage out of their hands."]
7195				pub fn request_preimage(
7196					&self,
7197					hash: types::request_preimage::Hash,
7198				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RequestPreimage>
7199				{
7200					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7201						"Preimage",
7202						"request_preimage",
7203						types::RequestPreimage { hash },
7204						[
7205							87u8, 0u8, 204u8, 111u8, 43u8, 115u8, 64u8, 209u8, 133u8, 13u8, 83u8,
7206							45u8, 164u8, 166u8, 233u8, 105u8, 242u8, 238u8, 235u8, 208u8, 113u8,
7207							134u8, 93u8, 242u8, 86u8, 32u8, 7u8, 152u8, 107u8, 208u8, 79u8, 59u8,
7208						],
7209					)
7210				}
7211				#[doc = "Clear a previously made request for a preimage."]
7212				#[doc = ""]
7213				#[doc = "NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`."]
7214				pub fn unrequest_preimage(
7215					&self,
7216					hash: types::unrequest_preimage::Hash,
7217				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::UnrequestPreimage>
7218				{
7219					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7220						"Preimage",
7221						"unrequest_preimage",
7222						types::UnrequestPreimage { hash },
7223						[
7224							55u8, 37u8, 224u8, 149u8, 142u8, 120u8, 8u8, 68u8, 183u8, 225u8, 255u8,
7225							240u8, 254u8, 111u8, 58u8, 200u8, 113u8, 217u8, 177u8, 203u8, 107u8,
7226							104u8, 233u8, 87u8, 252u8, 53u8, 33u8, 112u8, 116u8, 254u8, 117u8,
7227							134u8,
7228						],
7229					)
7230				}
7231				#[doc = "Ensure that the bulk of pre-images is upgraded."]
7232				#[doc = ""]
7233				#[doc = "The caller pays no fee if at least 90% of pre-images were successfully updated."]
7234				pub fn ensure_updated(
7235					&self,
7236					hashes: types::ensure_updated::Hashes,
7237				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::EnsureUpdated>
7238				{
7239					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7240						"Preimage",
7241						"ensure_updated",
7242						types::EnsureUpdated { hashes },
7243						[
7244							254u8, 228u8, 88u8, 44u8, 126u8, 235u8, 188u8, 153u8, 61u8, 27u8,
7245							103u8, 253u8, 163u8, 161u8, 113u8, 243u8, 87u8, 136u8, 2u8, 231u8,
7246							209u8, 188u8, 215u8, 106u8, 192u8, 225u8, 75u8, 125u8, 224u8, 96u8,
7247							221u8, 90u8,
7248						],
7249					)
7250				}
7251			}
7252		}
7253		#[doc = "The `Event` enum of this pallet"]
7254		pub type Event = runtime_types::pallet_preimage::pallet::Event;
7255		pub mod events {
7256			use super::runtime_types;
7257			#[derive(
7258				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7259				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7260				Debug,
7261			)]
7262			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7263			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7264			#[doc = "A preimage has been noted."]
7265			pub struct Noted {
7266				pub hash: noted::Hash,
7267			}
7268			pub mod noted {
7269				use super::runtime_types;
7270				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
7271			}
7272			impl ::subxt::ext::subxt_core::events::StaticEvent for Noted {
7273				const PALLET: &'static str = "Preimage";
7274				const EVENT: &'static str = "Noted";
7275			}
7276			#[derive(
7277				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7278				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7279				Debug,
7280			)]
7281			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7282			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7283			#[doc = "A preimage has been requested."]
7284			pub struct Requested {
7285				pub hash: requested::Hash,
7286			}
7287			pub mod requested {
7288				use super::runtime_types;
7289				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
7290			}
7291			impl ::subxt::ext::subxt_core::events::StaticEvent for Requested {
7292				const PALLET: &'static str = "Preimage";
7293				const EVENT: &'static str = "Requested";
7294			}
7295			#[derive(
7296				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7297				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7298				Debug,
7299			)]
7300			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7301			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7302			#[doc = "A preimage has ben cleared."]
7303			pub struct Cleared {
7304				pub hash: cleared::Hash,
7305			}
7306			pub mod cleared {
7307				use super::runtime_types;
7308				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
7309			}
7310			impl ::subxt::ext::subxt_core::events::StaticEvent for Cleared {
7311				const PALLET: &'static str = "Preimage";
7312				const EVENT: &'static str = "Cleared";
7313			}
7314		}
7315		pub mod storage {
7316			use super::runtime_types;
7317			pub mod types {
7318				use super::runtime_types;
7319				pub mod status_for {
7320					use super::runtime_types;
7321					pub type StatusFor = runtime_types::pallet_preimage::OldRequestStatus<
7322						::subxt::ext::subxt_core::utils::AccountId32,
7323						::core::primitive::u128,
7324					>;
7325					pub type Param0 = ::subxt::ext::subxt_core::utils::H256;
7326				}
7327				pub mod request_status_for {
7328					use super::runtime_types;
7329					pub type RequestStatusFor = runtime_types::pallet_preimage::RequestStatus<
7330						::subxt::ext::subxt_core::utils::AccountId32,
7331						runtime_types::quantus_runtime::governance::definitions::PreimageDeposit,
7332					>;
7333					pub type Param0 = ::subxt::ext::subxt_core::utils::H256;
7334				}
7335				pub mod preimage_for {
7336					use super::runtime_types;
7337					pub type PreimageFor =
7338						runtime_types::bounded_collections::bounded_vec::BoundedVec<
7339							::core::primitive::u8,
7340						>;
7341					pub type Param0 =
7342						(::subxt::ext::subxt_core::utils::H256, ::core::primitive::u32);
7343				}
7344			}
7345			pub struct StorageApi;
7346			impl StorageApi {
7347				#[doc = " The request status of a given hash."]
7348				pub fn status_for_iter(
7349					&self,
7350				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7351					(),
7352					types::status_for::StatusFor,
7353					(),
7354					(),
7355					::subxt::ext::subxt_core::utils::Yes,
7356				> {
7357					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7358						"Preimage",
7359						"StatusFor",
7360						(),
7361						[
7362							187u8, 100u8, 54u8, 112u8, 96u8, 129u8, 36u8, 149u8, 127u8, 226u8,
7363							126u8, 171u8, 72u8, 189u8, 59u8, 126u8, 204u8, 125u8, 67u8, 204u8,
7364							231u8, 6u8, 212u8, 135u8, 166u8, 252u8, 5u8, 46u8, 111u8, 120u8, 54u8,
7365							209u8,
7366						],
7367					)
7368				}
7369				#[doc = " The request status of a given hash."]
7370				pub fn status_for(
7371					&self,
7372					_0: types::status_for::Param0,
7373				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7374					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
7375						types::status_for::Param0,
7376					>,
7377					types::status_for::StatusFor,
7378					::subxt::ext::subxt_core::utils::Yes,
7379					(),
7380					(),
7381				> {
7382					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7383						"Preimage",
7384						"StatusFor",
7385						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
7386						[
7387							187u8, 100u8, 54u8, 112u8, 96u8, 129u8, 36u8, 149u8, 127u8, 226u8,
7388							126u8, 171u8, 72u8, 189u8, 59u8, 126u8, 204u8, 125u8, 67u8, 204u8,
7389							231u8, 6u8, 212u8, 135u8, 166u8, 252u8, 5u8, 46u8, 111u8, 120u8, 54u8,
7390							209u8,
7391						],
7392					)
7393				}
7394				#[doc = " The request status of a given hash."]
7395				pub fn request_status_for_iter(
7396					&self,
7397				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7398					(),
7399					types::request_status_for::RequestStatusFor,
7400					(),
7401					(),
7402					::subxt::ext::subxt_core::utils::Yes,
7403				> {
7404					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7405						"Preimage",
7406						"RequestStatusFor",
7407						(),
7408						[
7409							113u8, 195u8, 77u8, 23u8, 125u8, 170u8, 77u8, 145u8, 201u8, 168u8,
7410							39u8, 13u8, 143u8, 50u8, 100u8, 92u8, 25u8, 110u8, 125u8, 20u8, 96u8,
7411							156u8, 225u8, 200u8, 57u8, 199u8, 226u8, 242u8, 230u8, 126u8, 138u8,
7412							123u8,
7413						],
7414					)
7415				}
7416				#[doc = " The request status of a given hash."]
7417				pub fn request_status_for(
7418					&self,
7419					_0: types::request_status_for::Param0,
7420				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7421					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
7422						types::request_status_for::Param0,
7423					>,
7424					types::request_status_for::RequestStatusFor,
7425					::subxt::ext::subxt_core::utils::Yes,
7426					(),
7427					(),
7428				> {
7429					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7430						"Preimage",
7431						"RequestStatusFor",
7432						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
7433						[
7434							113u8, 195u8, 77u8, 23u8, 125u8, 170u8, 77u8, 145u8, 201u8, 168u8,
7435							39u8, 13u8, 143u8, 50u8, 100u8, 92u8, 25u8, 110u8, 125u8, 20u8, 96u8,
7436							156u8, 225u8, 200u8, 57u8, 199u8, 226u8, 242u8, 230u8, 126u8, 138u8,
7437							123u8,
7438						],
7439					)
7440				}
7441				pub fn preimage_for_iter(
7442					&self,
7443				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7444					(),
7445					types::preimage_for::PreimageFor,
7446					(),
7447					(),
7448					::subxt::ext::subxt_core::utils::Yes,
7449				> {
7450					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7451						"Preimage",
7452						"PreimageFor",
7453						(),
7454						[
7455							106u8, 5u8, 17u8, 46u8, 6u8, 184u8, 177u8, 113u8, 169u8, 34u8, 119u8,
7456							141u8, 117u8, 40u8, 30u8, 94u8, 187u8, 35u8, 206u8, 216u8, 143u8,
7457							208u8, 49u8, 156u8, 200u8, 255u8, 109u8, 200u8, 210u8, 134u8, 24u8,
7458							139u8,
7459						],
7460					)
7461				}
7462				pub fn preimage_for(
7463					&self,
7464					_0: types::preimage_for::Param0,
7465				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7466					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
7467						types::preimage_for::Param0,
7468					>,
7469					types::preimage_for::PreimageFor,
7470					::subxt::ext::subxt_core::utils::Yes,
7471					(),
7472					(),
7473				> {
7474					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7475						"Preimage",
7476						"PreimageFor",
7477						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
7478						[
7479							106u8, 5u8, 17u8, 46u8, 6u8, 184u8, 177u8, 113u8, 169u8, 34u8, 119u8,
7480							141u8, 117u8, 40u8, 30u8, 94u8, 187u8, 35u8, 206u8, 216u8, 143u8,
7481							208u8, 49u8, 156u8, 200u8, 255u8, 109u8, 200u8, 210u8, 134u8, 24u8,
7482							139u8,
7483						],
7484					)
7485				}
7486			}
7487		}
7488	}
7489	pub mod scheduler {
7490		use super::{root_mod, runtime_types};
7491		#[doc = "The `Error` enum of this pallet."]
7492		pub type Error = runtime_types::pallet_scheduler::pallet::Error;
7493		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
7494		pub type Call = runtime_types::pallet_scheduler::pallet::Call;
7495		pub mod calls {
7496			use super::{root_mod, runtime_types};
7497			type DispatchError = runtime_types::sp_runtime::DispatchError;
7498			pub mod types {
7499				use super::runtime_types;
7500				#[derive(
7501					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7502					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7503					Debug,
7504				)]
7505				#[decode_as_type(
7506					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7507				)]
7508				#[encode_as_type(
7509					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7510				)]
7511				#[doc = "Anonymously schedule a task."]
7512				pub struct Schedule {
7513					pub when: schedule::When,
7514					pub maybe_periodic: schedule::MaybePeriodic,
7515					pub priority: schedule::Priority,
7516					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<schedule::Call>,
7517				}
7518				pub mod schedule {
7519					use super::runtime_types;
7520					pub type When = ::core::primitive::u32;
7521					pub type MaybePeriodic = ::core::option::Option<(
7522						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7523							::core::primitive::u32,
7524							::core::primitive::u64,
7525						>,
7526						::core::primitive::u32,
7527					)>;
7528					pub type Priority = ::core::primitive::u8;
7529					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
7530				}
7531				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Schedule {
7532					const PALLET: &'static str = "Scheduler";
7533					const CALL: &'static str = "schedule";
7534				}
7535				#[derive(
7536					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7537					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7538					Debug,
7539				)]
7540				#[decode_as_type(
7541					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7542				)]
7543				#[encode_as_type(
7544					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7545				)]
7546				#[doc = "Cancel an anonymously scheduled task."]
7547				pub struct Cancel {
7548					pub when: cancel::When,
7549					pub index: cancel::Index,
7550				}
7551				pub mod cancel {
7552					use super::runtime_types;
7553					pub type When = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7554						::core::primitive::u32,
7555						::core::primitive::u64,
7556					>;
7557					pub type Index = ::core::primitive::u32;
7558				}
7559				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Cancel {
7560					const PALLET: &'static str = "Scheduler";
7561					const CALL: &'static str = "cancel";
7562				}
7563				#[derive(
7564					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7565					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7566					Debug,
7567				)]
7568				#[decode_as_type(
7569					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7570				)]
7571				#[encode_as_type(
7572					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7573				)]
7574				#[doc = "Schedule a named task."]
7575				pub struct ScheduleNamed {
7576					pub id: schedule_named::Id,
7577					pub when: schedule_named::When,
7578					pub maybe_periodic: schedule_named::MaybePeriodic,
7579					pub priority: schedule_named::Priority,
7580					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<schedule_named::Call>,
7581				}
7582				pub mod schedule_named {
7583					use super::runtime_types;
7584					pub type Id = [::core::primitive::u8; 32usize];
7585					pub type When = ::core::primitive::u32;
7586					pub type MaybePeriodic = ::core::option::Option<(
7587						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7588							::core::primitive::u32,
7589							::core::primitive::u64,
7590						>,
7591						::core::primitive::u32,
7592					)>;
7593					pub type Priority = ::core::primitive::u8;
7594					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
7595				}
7596				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleNamed {
7597					const PALLET: &'static str = "Scheduler";
7598					const CALL: &'static str = "schedule_named";
7599				}
7600				#[derive(
7601					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7602					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7603					Debug,
7604				)]
7605				#[decode_as_type(
7606					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7607				)]
7608				#[encode_as_type(
7609					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7610				)]
7611				#[doc = "Cancel a named scheduled task."]
7612				pub struct CancelNamed {
7613					pub id: cancel_named::Id,
7614				}
7615				pub mod cancel_named {
7616					use super::runtime_types;
7617					pub type Id = [::core::primitive::u8; 32usize];
7618				}
7619				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CancelNamed {
7620					const PALLET: &'static str = "Scheduler";
7621					const CALL: &'static str = "cancel_named";
7622				}
7623				#[derive(
7624					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7625					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7626					Debug,
7627				)]
7628				#[decode_as_type(
7629					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7630				)]
7631				#[encode_as_type(
7632					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7633				)]
7634				#[doc = "Anonymously schedule a task after a delay."]
7635				pub struct ScheduleAfter {
7636					pub after: schedule_after::After,
7637					pub maybe_periodic: schedule_after::MaybePeriodic,
7638					pub priority: schedule_after::Priority,
7639					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<schedule_after::Call>,
7640				}
7641				pub mod schedule_after {
7642					use super::runtime_types;
7643					pub type After = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7644						::core::primitive::u32,
7645						::core::primitive::u64,
7646					>;
7647					pub type MaybePeriodic = ::core::option::Option<(
7648						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7649							::core::primitive::u32,
7650							::core::primitive::u64,
7651						>,
7652						::core::primitive::u32,
7653					)>;
7654					pub type Priority = ::core::primitive::u8;
7655					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
7656				}
7657				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleAfter {
7658					const PALLET: &'static str = "Scheduler";
7659					const CALL: &'static str = "schedule_after";
7660				}
7661				#[derive(
7662					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7663					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7664					Debug,
7665				)]
7666				#[decode_as_type(
7667					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7668				)]
7669				#[encode_as_type(
7670					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7671				)]
7672				#[doc = "Schedule a named task after a delay."]
7673				pub struct ScheduleNamedAfter {
7674					pub id: schedule_named_after::Id,
7675					pub after: schedule_named_after::After,
7676					pub maybe_periodic: schedule_named_after::MaybePeriodic,
7677					pub priority: schedule_named_after::Priority,
7678					pub call:
7679						::subxt::ext::subxt_core::alloc::boxed::Box<schedule_named_after::Call>,
7680				}
7681				pub mod schedule_named_after {
7682					use super::runtime_types;
7683					pub type Id = [::core::primitive::u8; 32usize];
7684					pub type After = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7685						::core::primitive::u32,
7686						::core::primitive::u64,
7687					>;
7688					pub type MaybePeriodic = ::core::option::Option<(
7689						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7690							::core::primitive::u32,
7691							::core::primitive::u64,
7692						>,
7693						::core::primitive::u32,
7694					)>;
7695					pub type Priority = ::core::primitive::u8;
7696					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
7697				}
7698				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleNamedAfter {
7699					const PALLET: &'static str = "Scheduler";
7700					const CALL: &'static str = "schedule_named_after";
7701				}
7702				#[derive(
7703					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7704					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7705					Debug,
7706				)]
7707				#[decode_as_type(
7708					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7709				)]
7710				#[encode_as_type(
7711					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7712				)]
7713				#[doc = "Set a retry configuration for a task so that, in case its scheduled run fails, it will"]
7714				#[doc = "be retried after `period` blocks, for a total amount of `retries` retries or until it"]
7715				#[doc = "succeeds."]
7716				#[doc = ""]
7717				#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
7718				#[doc = "agenda space, same as a regular task. If a periodic task fails, it will be scheduled"]
7719				#[doc = "normally while the task is retrying."]
7720				#[doc = ""]
7721				#[doc = "Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic"]
7722				#[doc = "clones of the original task. Their retry configuration will be derived from the"]
7723				#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
7724				#[doc = "original `total_retries`."]
7725				pub struct SetRetry {
7726					pub task: set_retry::Task,
7727					pub retries: set_retry::Retries,
7728					pub period: set_retry::Period,
7729				}
7730				pub mod set_retry {
7731					use super::runtime_types;
7732					pub type Task = (
7733						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7734							::core::primitive::u32,
7735							::core::primitive::u64,
7736						>,
7737						::core::primitive::u32,
7738					);
7739					pub type Retries = ::core::primitive::u8;
7740					pub type Period = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7741						::core::primitive::u32,
7742						::core::primitive::u64,
7743					>;
7744				}
7745				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetRetry {
7746					const PALLET: &'static str = "Scheduler";
7747					const CALL: &'static str = "set_retry";
7748				}
7749				#[derive(
7750					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7751					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7752					Debug,
7753				)]
7754				#[decode_as_type(
7755					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7756				)]
7757				#[encode_as_type(
7758					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7759				)]
7760				#[doc = "Set a retry configuration for a named task so that, in case its scheduled run fails, it"]
7761				#[doc = "will be retried after `period` blocks, for a total amount of `retries` retries or until"]
7762				#[doc = "it succeeds."]
7763				#[doc = ""]
7764				#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
7765				#[doc = "agenda space, same as a regular task. If a periodic task fails, it will be scheduled"]
7766				#[doc = "normally while the task is retrying."]
7767				#[doc = ""]
7768				#[doc = "Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic"]
7769				#[doc = "clones of the original task. Their retry configuration will be derived from the"]
7770				#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
7771				#[doc = "original `total_retries`."]
7772				pub struct SetRetryNamed {
7773					pub id: set_retry_named::Id,
7774					pub retries: set_retry_named::Retries,
7775					pub period: set_retry_named::Period,
7776				}
7777				pub mod set_retry_named {
7778					use super::runtime_types;
7779					pub type Id = [::core::primitive::u8; 32usize];
7780					pub type Retries = ::core::primitive::u8;
7781					pub type Period = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7782						::core::primitive::u32,
7783						::core::primitive::u64,
7784					>;
7785				}
7786				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetRetryNamed {
7787					const PALLET: &'static str = "Scheduler";
7788					const CALL: &'static str = "set_retry_named";
7789				}
7790				#[derive(
7791					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7792					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7793					Debug,
7794				)]
7795				#[decode_as_type(
7796					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7797				)]
7798				#[encode_as_type(
7799					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7800				)]
7801				#[doc = "Removes the retry configuration of a task."]
7802				pub struct CancelRetry {
7803					pub task: cancel_retry::Task,
7804				}
7805				pub mod cancel_retry {
7806					use super::runtime_types;
7807					pub type Task = (
7808						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7809							::core::primitive::u32,
7810							::core::primitive::u64,
7811						>,
7812						::core::primitive::u32,
7813					);
7814				}
7815				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CancelRetry {
7816					const PALLET: &'static str = "Scheduler";
7817					const CALL: &'static str = "cancel_retry";
7818				}
7819				#[derive(
7820					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7821					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7822					Debug,
7823				)]
7824				#[decode_as_type(
7825					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7826				)]
7827				#[encode_as_type(
7828					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7829				)]
7830				#[doc = "Cancel the retry configuration of a named task."]
7831				pub struct CancelRetryNamed {
7832					pub id: cancel_retry_named::Id,
7833				}
7834				pub mod cancel_retry_named {
7835					use super::runtime_types;
7836					pub type Id = [::core::primitive::u8; 32usize];
7837				}
7838				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CancelRetryNamed {
7839					const PALLET: &'static str = "Scheduler";
7840					const CALL: &'static str = "cancel_retry_named";
7841				}
7842			}
7843			pub struct TransactionApi;
7844			impl TransactionApi {
7845				#[doc = "Anonymously schedule a task."]
7846				pub fn schedule(
7847					&self,
7848					when: types::schedule::When,
7849					maybe_periodic: types::schedule::MaybePeriodic,
7850					priority: types::schedule::Priority,
7851					call: types::schedule::Call,
7852				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Schedule> {
7853					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7854						"Scheduler",
7855						"schedule",
7856						types::Schedule {
7857							when,
7858							maybe_periodic,
7859							priority,
7860							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
7861						},
7862						[
7863							171u8, 151u8, 176u8, 198u8, 154u8, 6u8, 181u8, 56u8, 10u8, 6u8, 38u8,
7864							136u8, 64u8, 214u8, 145u8, 96u8, 121u8, 125u8, 161u8, 234u8, 247u8,
7865							156u8, 152u8, 119u8, 122u8, 165u8, 125u8, 238u8, 12u8, 214u8, 135u8,
7866							21u8,
7867						],
7868					)
7869				}
7870				#[doc = "Cancel an anonymously scheduled task."]
7871				pub fn cancel(
7872					&self,
7873					when: types::cancel::When,
7874					index: types::cancel::Index,
7875				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Cancel> {
7876					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7877						"Scheduler",
7878						"cancel",
7879						types::Cancel { when, index },
7880						[
7881							134u8, 77u8, 15u8, 56u8, 137u8, 12u8, 58u8, 147u8, 164u8, 204u8, 221u8,
7882							150u8, 103u8, 42u8, 36u8, 79u8, 146u8, 115u8, 13u8, 194u8, 39u8, 73u8,
7883							109u8, 10u8, 168u8, 164u8, 190u8, 173u8, 30u8, 17u8, 35u8, 17u8,
7884						],
7885					)
7886				}
7887				#[doc = "Schedule a named task."]
7888				pub fn schedule_named(
7889					&self,
7890					id: types::schedule_named::Id,
7891					when: types::schedule_named::When,
7892					maybe_periodic: types::schedule_named::MaybePeriodic,
7893					priority: types::schedule_named::Priority,
7894					call: types::schedule_named::Call,
7895				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ScheduleNamed>
7896				{
7897					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7898						"Scheduler",
7899						"schedule_named",
7900						types::ScheduleNamed {
7901							id,
7902							when,
7903							maybe_periodic,
7904							priority,
7905							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
7906						},
7907						[
7908							99u8, 222u8, 117u8, 153u8, 121u8, 239u8, 26u8, 216u8, 66u8, 132u8,
7909							220u8, 8u8, 92u8, 137u8, 253u8, 47u8, 9u8, 8u8, 103u8, 1u8, 116u8,
7910							133u8, 237u8, 51u8, 73u8, 145u8, 141u8, 64u8, 210u8, 10u8, 74u8, 191u8,
7911						],
7912					)
7913				}
7914				#[doc = "Cancel a named scheduled task."]
7915				pub fn cancel_named(
7916					&self,
7917					id: types::cancel_named::Id,
7918				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CancelNamed> {
7919					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7920						"Scheduler",
7921						"cancel_named",
7922						types::CancelNamed { id },
7923						[
7924							205u8, 35u8, 28u8, 57u8, 224u8, 7u8, 49u8, 233u8, 236u8, 163u8, 93u8,
7925							236u8, 103u8, 69u8, 65u8, 51u8, 121u8, 84u8, 9u8, 196u8, 147u8, 122u8,
7926							227u8, 200u8, 181u8, 233u8, 62u8, 240u8, 174u8, 83u8, 129u8, 193u8,
7927						],
7928					)
7929				}
7930				#[doc = "Anonymously schedule a task after a delay."]
7931				pub fn schedule_after(
7932					&self,
7933					after: types::schedule_after::After,
7934					maybe_periodic: types::schedule_after::MaybePeriodic,
7935					priority: types::schedule_after::Priority,
7936					call: types::schedule_after::Call,
7937				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ScheduleAfter>
7938				{
7939					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7940						"Scheduler",
7941						"schedule_after",
7942						types::ScheduleAfter {
7943							after,
7944							maybe_periodic,
7945							priority,
7946							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
7947						},
7948						[
7949							236u8, 32u8, 229u8, 48u8, 43u8, 173u8, 230u8, 106u8, 109u8, 188u8,
7950							137u8, 151u8, 188u8, 102u8, 252u8, 210u8, 87u8, 146u8, 152u8, 251u8,
7951							128u8, 10u8, 230u8, 228u8, 168u8, 203u8, 77u8, 24u8, 125u8, 18u8, 52u8,
7952							201u8,
7953						],
7954					)
7955				}
7956				#[doc = "Schedule a named task after a delay."]
7957				pub fn schedule_named_after(
7958					&self,
7959					id: types::schedule_named_after::Id,
7960					after: types::schedule_named_after::After,
7961					maybe_periodic: types::schedule_named_after::MaybePeriodic,
7962					priority: types::schedule_named_after::Priority,
7963					call: types::schedule_named_after::Call,
7964				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ScheduleNamedAfter>
7965				{
7966					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7967						"Scheduler",
7968						"schedule_named_after",
7969						types::ScheduleNamedAfter {
7970							id,
7971							after,
7972							maybe_periodic,
7973							priority,
7974							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
7975						},
7976						[
7977							120u8, 118u8, 201u8, 138u8, 43u8, 75u8, 89u8, 65u8, 107u8, 106u8, 41u8,
7978							229u8, 55u8, 6u8, 141u8, 24u8, 116u8, 214u8, 215u8, 1u8, 209u8, 67u8,
7979							157u8, 238u8, 147u8, 31u8, 188u8, 133u8, 21u8, 7u8, 199u8, 202u8,
7980						],
7981					)
7982				}
7983				#[doc = "Set a retry configuration for a task so that, in case its scheduled run fails, it will"]
7984				#[doc = "be retried after `period` blocks, for a total amount of `retries` retries or until it"]
7985				#[doc = "succeeds."]
7986				#[doc = ""]
7987				#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
7988				#[doc = "agenda space, same as a regular task. If a periodic task fails, it will be scheduled"]
7989				#[doc = "normally while the task is retrying."]
7990				#[doc = ""]
7991				#[doc = "Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic"]
7992				#[doc = "clones of the original task. Their retry configuration will be derived from the"]
7993				#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
7994				#[doc = "original `total_retries`."]
7995				pub fn set_retry(
7996					&self,
7997					task: types::set_retry::Task,
7998					retries: types::set_retry::Retries,
7999					period: types::set_retry::Period,
8000				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetRetry> {
8001					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8002						"Scheduler",
8003						"set_retry",
8004						types::SetRetry { task, retries, period },
8005						[
8006							31u8, 128u8, 255u8, 13u8, 13u8, 252u8, 74u8, 151u8, 60u8, 242u8, 152u8,
8007							58u8, 190u8, 155u8, 132u8, 65u8, 139u8, 208u8, 222u8, 175u8, 89u8,
8008							222u8, 186u8, 98u8, 53u8, 125u8, 71u8, 55u8, 95u8, 2u8, 76u8, 248u8,
8009						],
8010					)
8011				}
8012				#[doc = "Set a retry configuration for a named task so that, in case its scheduled run fails, it"]
8013				#[doc = "will be retried after `period` blocks, for a total amount of `retries` retries or until"]
8014				#[doc = "it succeeds."]
8015				#[doc = ""]
8016				#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
8017				#[doc = "agenda space, same as a regular task. If a periodic task fails, it will be scheduled"]
8018				#[doc = "normally while the task is retrying."]
8019				#[doc = ""]
8020				#[doc = "Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic"]
8021				#[doc = "clones of the original task. Their retry configuration will be derived from the"]
8022				#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
8023				#[doc = "original `total_retries`."]
8024				pub fn set_retry_named(
8025					&self,
8026					id: types::set_retry_named::Id,
8027					retries: types::set_retry_named::Retries,
8028					period: types::set_retry_named::Period,
8029				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetRetryNamed>
8030				{
8031					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8032						"Scheduler",
8033						"set_retry_named",
8034						types::SetRetryNamed { id, retries, period },
8035						[
8036							102u8, 70u8, 114u8, 48u8, 180u8, 194u8, 107u8, 81u8, 104u8, 117u8,
8037							33u8, 169u8, 43u8, 172u8, 61u8, 129u8, 143u8, 221u8, 44u8, 101u8,
8038							235u8, 228u8, 224u8, 71u8, 65u8, 223u8, 180u8, 130u8, 83u8, 89u8,
8039							157u8, 75u8,
8040						],
8041					)
8042				}
8043				#[doc = "Removes the retry configuration of a task."]
8044				pub fn cancel_retry(
8045					&self,
8046					task: types::cancel_retry::Task,
8047				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CancelRetry> {
8048					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8049						"Scheduler",
8050						"cancel_retry",
8051						types::CancelRetry { task },
8052						[
8053							153u8, 252u8, 168u8, 142u8, 100u8, 114u8, 25u8, 46u8, 225u8, 95u8,
8054							243u8, 78u8, 160u8, 175u8, 17u8, 33u8, 27u8, 241u8, 149u8, 187u8,
8055							228u8, 182u8, 233u8, 74u8, 10u8, 228u8, 117u8, 218u8, 210u8, 127u8,
8056							245u8, 105u8,
8057						],
8058					)
8059				}
8060				#[doc = "Cancel the retry configuration of a named task."]
8061				pub fn cancel_retry_named(
8062					&self,
8063					id: types::cancel_retry_named::Id,
8064				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CancelRetryNamed>
8065				{
8066					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8067						"Scheduler",
8068						"cancel_retry_named",
8069						types::CancelRetryNamed { id },
8070						[
8071							76u8, 157u8, 253u8, 113u8, 162u8, 54u8, 98u8, 21u8, 62u8, 44u8, 155u8,
8072							202u8, 2u8, 28u8, 153u8, 219u8, 67u8, 166u8, 206u8, 79u8, 139u8, 3u8,
8073							119u8, 182u8, 254u8, 134u8, 143u8, 121u8, 155u8, 220u8, 192u8, 209u8,
8074						],
8075					)
8076				}
8077			}
8078		}
8079		#[doc = "Events type."]
8080		pub type Event = runtime_types::pallet_scheduler::pallet::Event;
8081		pub mod events {
8082			use super::runtime_types;
8083			#[derive(
8084				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8085				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8086				Debug,
8087			)]
8088			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8089			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8090			#[doc = "Scheduled some task."]
8091			pub struct Scheduled {
8092				pub when: scheduled::When,
8093				pub index: scheduled::Index,
8094			}
8095			pub mod scheduled {
8096				use super::runtime_types;
8097				pub type When = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8098					::core::primitive::u32,
8099					::core::primitive::u64,
8100				>;
8101				pub type Index = ::core::primitive::u32;
8102			}
8103			impl ::subxt::ext::subxt_core::events::StaticEvent for Scheduled {
8104				const PALLET: &'static str = "Scheduler";
8105				const EVENT: &'static str = "Scheduled";
8106			}
8107			#[derive(
8108				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8109				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8110				Debug,
8111			)]
8112			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8113			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8114			#[doc = "Canceled some task."]
8115			pub struct Canceled {
8116				pub when: canceled::When,
8117				pub index: canceled::Index,
8118			}
8119			pub mod canceled {
8120				use super::runtime_types;
8121				pub type When = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8122					::core::primitive::u32,
8123					::core::primitive::u64,
8124				>;
8125				pub type Index = ::core::primitive::u32;
8126			}
8127			impl ::subxt::ext::subxt_core::events::StaticEvent for Canceled {
8128				const PALLET: &'static str = "Scheduler";
8129				const EVENT: &'static str = "Canceled";
8130			}
8131			#[derive(
8132				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8133				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8134				Debug,
8135			)]
8136			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8137			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8138			#[doc = "Dispatched some task."]
8139			pub struct Dispatched {
8140				pub task: dispatched::Task,
8141				pub id: dispatched::Id,
8142				pub result: dispatched::Result,
8143			}
8144			pub mod dispatched {
8145				use super::runtime_types;
8146				pub type Task = (
8147					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8148						::core::primitive::u32,
8149						::core::primitive::u64,
8150					>,
8151					::core::primitive::u32,
8152				);
8153				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
8154				pub type Result =
8155					::core::result::Result<(), runtime_types::sp_runtime::DispatchError>;
8156			}
8157			impl ::subxt::ext::subxt_core::events::StaticEvent for Dispatched {
8158				const PALLET: &'static str = "Scheduler";
8159				const EVENT: &'static str = "Dispatched";
8160			}
8161			#[derive(
8162				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8163				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8164				Debug,
8165			)]
8166			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8167			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8168			#[doc = "Set a retry configuration for some task."]
8169			pub struct RetrySet {
8170				pub task: retry_set::Task,
8171				pub id: retry_set::Id,
8172				pub period: retry_set::Period,
8173				pub retries: retry_set::Retries,
8174			}
8175			pub mod retry_set {
8176				use super::runtime_types;
8177				pub type Task = (
8178					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8179						::core::primitive::u32,
8180						::core::primitive::u64,
8181					>,
8182					::core::primitive::u32,
8183				);
8184				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
8185				pub type Period = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8186					::core::primitive::u32,
8187					::core::primitive::u64,
8188				>;
8189				pub type Retries = ::core::primitive::u8;
8190			}
8191			impl ::subxt::ext::subxt_core::events::StaticEvent for RetrySet {
8192				const PALLET: &'static str = "Scheduler";
8193				const EVENT: &'static str = "RetrySet";
8194			}
8195			#[derive(
8196				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8197				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8198				Debug,
8199			)]
8200			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8201			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8202			#[doc = "Cancel a retry configuration for some task."]
8203			pub struct RetryCancelled {
8204				pub task: retry_cancelled::Task,
8205				pub id: retry_cancelled::Id,
8206			}
8207			pub mod retry_cancelled {
8208				use super::runtime_types;
8209				pub type Task = (
8210					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8211						::core::primitive::u32,
8212						::core::primitive::u64,
8213					>,
8214					::core::primitive::u32,
8215				);
8216				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
8217			}
8218			impl ::subxt::ext::subxt_core::events::StaticEvent for RetryCancelled {
8219				const PALLET: &'static str = "Scheduler";
8220				const EVENT: &'static str = "RetryCancelled";
8221			}
8222			#[derive(
8223				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8224				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8225				Debug,
8226			)]
8227			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8228			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8229			#[doc = "The call for the provided hash was not found so the task has been aborted."]
8230			pub struct CallUnavailable {
8231				pub task: call_unavailable::Task,
8232				pub id: call_unavailable::Id,
8233			}
8234			pub mod call_unavailable {
8235				use super::runtime_types;
8236				pub type Task = (
8237					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8238						::core::primitive::u32,
8239						::core::primitive::u64,
8240					>,
8241					::core::primitive::u32,
8242				);
8243				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
8244			}
8245			impl ::subxt::ext::subxt_core::events::StaticEvent for CallUnavailable {
8246				const PALLET: &'static str = "Scheduler";
8247				const EVENT: &'static str = "CallUnavailable";
8248			}
8249			#[derive(
8250				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8251				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8252				Debug,
8253			)]
8254			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8255			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8256			#[doc = "The given task was unable to be renewed since the agenda is full at that block."]
8257			pub struct PeriodicFailed {
8258				pub task: periodic_failed::Task,
8259				pub id: periodic_failed::Id,
8260			}
8261			pub mod periodic_failed {
8262				use super::runtime_types;
8263				pub type Task = (
8264					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8265						::core::primitive::u32,
8266						::core::primitive::u64,
8267					>,
8268					::core::primitive::u32,
8269				);
8270				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
8271			}
8272			impl ::subxt::ext::subxt_core::events::StaticEvent for PeriodicFailed {
8273				const PALLET: &'static str = "Scheduler";
8274				const EVENT: &'static str = "PeriodicFailed";
8275			}
8276			#[derive(
8277				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8278				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8279				Debug,
8280			)]
8281			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8282			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8283			#[doc = "The given task was unable to be retried since the agenda is full at that block or there"]
8284			#[doc = "was not enough weight to reschedule it."]
8285			pub struct RetryFailed {
8286				pub task: retry_failed::Task,
8287				pub id: retry_failed::Id,
8288			}
8289			pub mod retry_failed {
8290				use super::runtime_types;
8291				pub type Task = (
8292					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8293						::core::primitive::u32,
8294						::core::primitive::u64,
8295					>,
8296					::core::primitive::u32,
8297				);
8298				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
8299			}
8300			impl ::subxt::ext::subxt_core::events::StaticEvent for RetryFailed {
8301				const PALLET: &'static str = "Scheduler";
8302				const EVENT: &'static str = "RetryFailed";
8303			}
8304			#[derive(
8305				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8306				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8307				Debug,
8308			)]
8309			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8310			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8311			#[doc = "The given task can never be executed since it is overweight."]
8312			pub struct PermanentlyOverweight {
8313				pub task: permanently_overweight::Task,
8314				pub id: permanently_overweight::Id,
8315			}
8316			pub mod permanently_overweight {
8317				use super::runtime_types;
8318				pub type Task = (
8319					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8320						::core::primitive::u32,
8321						::core::primitive::u64,
8322					>,
8323					::core::primitive::u32,
8324				);
8325				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
8326			}
8327			impl ::subxt::ext::subxt_core::events::StaticEvent for PermanentlyOverweight {
8328				const PALLET: &'static str = "Scheduler";
8329				const EVENT: &'static str = "PermanentlyOverweight";
8330			}
8331		}
8332		pub mod storage {
8333			use super::runtime_types;
8334			pub mod types {
8335				use super::runtime_types;
8336				pub mod incomplete_block_since {
8337					use super::runtime_types;
8338					pub type IncompleteBlockSince = ::core::primitive::u32;
8339				}
8340				pub mod incomplete_timestamp_since {
8341					use super::runtime_types;
8342					pub type IncompleteTimestampSince = ::core::primitive::u64;
8343				}
8344				pub mod last_processed_timestamp {
8345					use super::runtime_types;
8346					pub type LastProcessedTimestamp = ::core::primitive::u64;
8347				}
8348				pub mod agenda {
8349					use super::runtime_types;
8350					pub type Agenda = runtime_types::bounded_collections::bounded_vec::BoundedVec<
8351						::core::option::Option<
8352							runtime_types::pallet_scheduler::Scheduled<
8353								[::core::primitive::u8; 32usize],
8354								runtime_types::frame_support::traits::preimages::Bounded<
8355									runtime_types::quantus_runtime::RuntimeCall,
8356									runtime_types::qp_poseidon::PoseidonHasher,
8357								>,
8358								::core::primitive::u32,
8359								runtime_types::quantus_runtime::OriginCaller,
8360								::subxt::ext::subxt_core::utils::AccountId32,
8361								::core::primitive::u64,
8362							>,
8363						>,
8364					>;
8365					pub type Param0 = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8366						::core::primitive::u32,
8367						::core::primitive::u64,
8368					>;
8369				}
8370				pub mod retries {
8371					use super::runtime_types;
8372					pub type Retries = runtime_types::pallet_scheduler::RetryConfig<
8373						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8374							::core::primitive::u32,
8375							::core::primitive::u64,
8376						>,
8377					>;
8378					pub type Param0 = (
8379						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8380							::core::primitive::u32,
8381							::core::primitive::u64,
8382						>,
8383						::core::primitive::u32,
8384					);
8385				}
8386				pub mod lookup {
8387					use super::runtime_types;
8388					pub type Lookup = (
8389						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8390							::core::primitive::u32,
8391							::core::primitive::u64,
8392						>,
8393						::core::primitive::u32,
8394					);
8395					pub type Param0 = [::core::primitive::u8; 32usize];
8396				}
8397			}
8398			pub struct StorageApi;
8399			impl StorageApi {
8400				#[doc = " Tracks incomplete block-based agendas that need to be processed in a later block."]
8401				pub fn incomplete_block_since(
8402					&self,
8403				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8404					(),
8405					types::incomplete_block_since::IncompleteBlockSince,
8406					::subxt::ext::subxt_core::utils::Yes,
8407					(),
8408					(),
8409				> {
8410					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8411						"Scheduler",
8412						"IncompleteBlockSince",
8413						(),
8414						[
8415							134u8, 34u8, 161u8, 236u8, 176u8, 35u8, 218u8, 109u8, 229u8, 93u8,
8416							29u8, 95u8, 81u8, 106u8, 98u8, 65u8, 132u8, 91u8, 237u8, 225u8, 75u8,
8417							125u8, 81u8, 218u8, 72u8, 215u8, 20u8, 66u8, 160u8, 196u8, 68u8, 34u8,
8418						],
8419					)
8420				}
8421				#[doc = " Tracks incomplete timestamp-based agendas that need to be processed in a later block."]
8422				pub fn incomplete_timestamp_since(
8423					&self,
8424				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8425					(),
8426					types::incomplete_timestamp_since::IncompleteTimestampSince,
8427					::subxt::ext::subxt_core::utils::Yes,
8428					(),
8429					(),
8430				> {
8431					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8432						"Scheduler",
8433						"IncompleteTimestampSince",
8434						(),
8435						[
8436							223u8, 125u8, 99u8, 28u8, 81u8, 135u8, 125u8, 26u8, 3u8, 20u8, 32u8,
8437							125u8, 141u8, 114u8, 100u8, 38u8, 219u8, 191u8, 30u8, 88u8, 82u8, 33u8,
8438							140u8, 223u8, 168u8, 84u8, 144u8, 85u8, 57u8, 241u8, 97u8, 141u8,
8439						],
8440					)
8441				}
8442				#[doc = " Tracks the last timestamp bucket that was fully processed."]
8443				#[doc = " Used to avoid reprocessing all buckets from 0 on every run."]
8444				pub fn last_processed_timestamp(
8445					&self,
8446				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8447					(),
8448					types::last_processed_timestamp::LastProcessedTimestamp,
8449					::subxt::ext::subxt_core::utils::Yes,
8450					(),
8451					(),
8452				> {
8453					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8454						"Scheduler",
8455						"LastProcessedTimestamp",
8456						(),
8457						[
8458							172u8, 193u8, 6u8, 47u8, 185u8, 134u8, 179u8, 132u8, 178u8, 0u8, 228u8,
8459							198u8, 232u8, 24u8, 85u8, 199u8, 102u8, 222u8, 246u8, 178u8, 8u8,
8460							221u8, 51u8, 188u8, 239u8, 218u8, 112u8, 245u8, 46u8, 146u8, 65u8,
8461							119u8,
8462						],
8463					)
8464				}
8465				#[doc = " Items to be executed, indexed by the block number that they should be executed on."]
8466				pub fn agenda_iter(
8467					&self,
8468				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8469					(),
8470					types::agenda::Agenda,
8471					(),
8472					::subxt::ext::subxt_core::utils::Yes,
8473					::subxt::ext::subxt_core::utils::Yes,
8474				> {
8475					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8476						"Scheduler",
8477						"Agenda",
8478						(),
8479						[
8480							188u8, 177u8, 84u8, 167u8, 206u8, 4u8, 136u8, 133u8, 67u8, 121u8,
8481							247u8, 186u8, 6u8, 46u8, 115u8, 104u8, 239u8, 41u8, 75u8, 143u8, 24u8,
8482							155u8, 212u8, 196u8, 166u8, 82u8, 63u8, 39u8, 104u8, 21u8, 19u8, 93u8,
8483						],
8484					)
8485				}
8486				#[doc = " Items to be executed, indexed by the block number that they should be executed on."]
8487				pub fn agenda(
8488					&self,
8489					_0: types::agenda::Param0,
8490				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8491					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
8492						types::agenda::Param0,
8493					>,
8494					types::agenda::Agenda,
8495					::subxt::ext::subxt_core::utils::Yes,
8496					::subxt::ext::subxt_core::utils::Yes,
8497					(),
8498				> {
8499					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8500						"Scheduler",
8501						"Agenda",
8502						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
8503						[
8504							188u8, 177u8, 84u8, 167u8, 206u8, 4u8, 136u8, 133u8, 67u8, 121u8,
8505							247u8, 186u8, 6u8, 46u8, 115u8, 104u8, 239u8, 41u8, 75u8, 143u8, 24u8,
8506							155u8, 212u8, 196u8, 166u8, 82u8, 63u8, 39u8, 104u8, 21u8, 19u8, 93u8,
8507						],
8508					)
8509				}
8510				#[doc = " Retry configurations for items to be executed, indexed by task address."]
8511				pub fn retries_iter(
8512					&self,
8513				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8514					(),
8515					types::retries::Retries,
8516					(),
8517					(),
8518					::subxt::ext::subxt_core::utils::Yes,
8519				> {
8520					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8521						"Scheduler",
8522						"Retries",
8523						(),
8524						[
8525							94u8, 54u8, 136u8, 189u8, 244u8, 118u8, 102u8, 67u8, 203u8, 238u8,
8526							109u8, 130u8, 229u8, 246u8, 244u8, 68u8, 59u8, 132u8, 12u8, 9u8, 219u8,
8527							176u8, 251u8, 1u8, 216u8, 200u8, 205u8, 176u8, 145u8, 201u8, 206u8,
8528							108u8,
8529						],
8530					)
8531				}
8532				#[doc = " Retry configurations for items to be executed, indexed by task address."]
8533				pub fn retries(
8534					&self,
8535					_0: types::retries::Param0,
8536				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8537					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
8538						types::retries::Param0,
8539					>,
8540					types::retries::Retries,
8541					::subxt::ext::subxt_core::utils::Yes,
8542					(),
8543					(),
8544				> {
8545					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8546						"Scheduler",
8547						"Retries",
8548						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
8549						[
8550							94u8, 54u8, 136u8, 189u8, 244u8, 118u8, 102u8, 67u8, 203u8, 238u8,
8551							109u8, 130u8, 229u8, 246u8, 244u8, 68u8, 59u8, 132u8, 12u8, 9u8, 219u8,
8552							176u8, 251u8, 1u8, 216u8, 200u8, 205u8, 176u8, 145u8, 201u8, 206u8,
8553							108u8,
8554						],
8555					)
8556				}
8557				#[doc = " Lookup from a name to the block number and index of the task."]
8558				#[doc = ""]
8559				#[doc = " For v3 -> v4 the previously unbounded identities are Blake2-256 hashed to form the v4"]
8560				#[doc = " identities."]
8561				pub fn lookup_iter(
8562					&self,
8563				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8564					(),
8565					types::lookup::Lookup,
8566					(),
8567					(),
8568					::subxt::ext::subxt_core::utils::Yes,
8569				> {
8570					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8571						"Scheduler",
8572						"Lookup",
8573						(),
8574						[
8575							133u8, 194u8, 6u8, 16u8, 27u8, 10u8, 159u8, 62u8, 113u8, 59u8, 58u8,
8576							225u8, 244u8, 206u8, 35u8, 113u8, 41u8, 40u8, 89u8, 71u8, 133u8, 117u8,
8577							33u8, 192u8, 106u8, 85u8, 83u8, 186u8, 36u8, 160u8, 144u8, 221u8,
8578						],
8579					)
8580				}
8581				#[doc = " Lookup from a name to the block number and index of the task."]
8582				#[doc = ""]
8583				#[doc = " For v3 -> v4 the previously unbounded identities are Blake2-256 hashed to form the v4"]
8584				#[doc = " identities."]
8585				pub fn lookup(
8586					&self,
8587					_0: types::lookup::Param0,
8588				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8589					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
8590						types::lookup::Param0,
8591					>,
8592					types::lookup::Lookup,
8593					::subxt::ext::subxt_core::utils::Yes,
8594					(),
8595					(),
8596				> {
8597					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8598						"Scheduler",
8599						"Lookup",
8600						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
8601						[
8602							133u8, 194u8, 6u8, 16u8, 27u8, 10u8, 159u8, 62u8, 113u8, 59u8, 58u8,
8603							225u8, 244u8, 206u8, 35u8, 113u8, 41u8, 40u8, 89u8, 71u8, 133u8, 117u8,
8604							33u8, 192u8, 106u8, 85u8, 83u8, 186u8, 36u8, 160u8, 144u8, 221u8,
8605						],
8606					)
8607				}
8608			}
8609		}
8610		pub mod constants {
8611			use super::runtime_types;
8612			pub struct ConstantsApi;
8613			impl ConstantsApi {
8614				#[doc = " The maximum weight that may be scheduled per block for any dispatchables."]
8615				pub fn maximum_weight(
8616					&self,
8617				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
8618					runtime_types::sp_weights::weight_v2::Weight,
8619				> {
8620					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
8621						"Scheduler",
8622						"MaximumWeight",
8623						[
8624							149u8, 252u8, 129u8, 80u8, 169u8, 36u8, 79u8, 127u8, 240u8, 156u8,
8625							56u8, 202u8, 219u8, 86u8, 5u8, 65u8, 245u8, 148u8, 138u8, 243u8, 210u8,
8626							128u8, 234u8, 216u8, 240u8, 219u8, 123u8, 235u8, 21u8, 158u8, 237u8,
8627							112u8,
8628						],
8629					)
8630				}
8631				#[doc = " The maximum number of scheduled calls in the queue for a single block."]
8632				#[doc = ""]
8633				#[doc = " NOTE:"]
8634				#[doc = " + Dependent pallets' benchmarks might require a higher limit for the setting. Set a"]
8635				#[doc = " higher limit under `runtime-benchmarks` feature."]
8636				pub fn max_scheduled_per_block(
8637					&self,
8638				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
8639					::core::primitive::u32,
8640				> {
8641					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
8642						"Scheduler",
8643						"MaxScheduledPerBlock",
8644						[
8645							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
8646							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
8647							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
8648							145u8,
8649						],
8650					)
8651				}
8652				#[doc = " Precision of the timestamp buckets."]
8653				#[doc = ""]
8654				#[doc = " Timestamp based dispatches are rounded to the nearest bucket of this precision."]
8655				pub fn timestamp_bucket_size(
8656					&self,
8657				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
8658					::core::primitive::u64,
8659				> {
8660					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
8661						"Scheduler",
8662						"TimestampBucketSize",
8663						[
8664							128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8,
8665							59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8,
8666							103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8,
8667							246u8,
8668						],
8669					)
8670				}
8671			}
8672		}
8673	}
8674	pub mod utility {
8675		use super::{root_mod, runtime_types};
8676		#[doc = "The `Error` enum of this pallet."]
8677		pub type Error = runtime_types::pallet_utility::pallet::Error;
8678		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
8679		pub type Call = runtime_types::pallet_utility::pallet::Call;
8680		pub mod calls {
8681			use super::{root_mod, runtime_types};
8682			type DispatchError = runtime_types::sp_runtime::DispatchError;
8683			pub mod types {
8684				use super::runtime_types;
8685				#[derive(
8686					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8687					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8688					Debug,
8689				)]
8690				#[decode_as_type(
8691					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8692				)]
8693				#[encode_as_type(
8694					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8695				)]
8696				#[doc = "Send a batch of dispatch calls."]
8697				#[doc = ""]
8698				#[doc = "May be called from any origin except `None`."]
8699				#[doc = ""]
8700				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
8701				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
8702				#[doc = ""]
8703				#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
8704				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
8705				#[doc = ""]
8706				#[doc = "## Complexity"]
8707				#[doc = "- O(C) where C is the number of calls to be batched."]
8708				#[doc = ""]
8709				#[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"]
8710				#[doc = "event is deposited. If a call failed and the batch was interrupted, then the"]
8711				#[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"]
8712				#[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"]
8713				#[doc = "event is deposited."]
8714				pub struct Batch {
8715					pub calls: batch::Calls,
8716				}
8717				pub mod batch {
8718					use super::runtime_types;
8719					pub type Calls = ::subxt::ext::subxt_core::alloc::vec::Vec<
8720						runtime_types::quantus_runtime::RuntimeCall,
8721					>;
8722				}
8723				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Batch {
8724					const PALLET: &'static str = "Utility";
8725					const CALL: &'static str = "batch";
8726				}
8727				#[derive(
8728					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8729					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8730					Debug,
8731				)]
8732				#[decode_as_type(
8733					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8734				)]
8735				#[encode_as_type(
8736					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8737				)]
8738				#[doc = "Send a call through an indexed pseudonym of the sender."]
8739				#[doc = ""]
8740				#[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"]
8741				#[doc = "use the same filter as the origin of this call."]
8742				#[doc = ""]
8743				#[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."]
8744				#[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"]
8745				#[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"]
8746				#[doc = "in the Multisig pallet instead."]
8747				#[doc = ""]
8748				#[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."]
8749				#[doc = ""]
8750				#[doc = "The dispatch origin for this call must be _Signed_."]
8751				pub struct AsDerivative {
8752					pub index: as_derivative::Index,
8753					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<as_derivative::Call>,
8754				}
8755				pub mod as_derivative {
8756					use super::runtime_types;
8757					pub type Index = ::core::primitive::u16;
8758					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
8759				}
8760				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for AsDerivative {
8761					const PALLET: &'static str = "Utility";
8762					const CALL: &'static str = "as_derivative";
8763				}
8764				#[derive(
8765					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8766					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8767					Debug,
8768				)]
8769				#[decode_as_type(
8770					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8771				)]
8772				#[encode_as_type(
8773					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8774				)]
8775				#[doc = "Send a batch of dispatch calls and atomically execute them."]
8776				#[doc = "The whole transaction will rollback and fail if any of the calls failed."]
8777				#[doc = ""]
8778				#[doc = "May be called from any origin except `None`."]
8779				#[doc = ""]
8780				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
8781				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
8782				#[doc = ""]
8783				#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
8784				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
8785				#[doc = ""]
8786				#[doc = "## Complexity"]
8787				#[doc = "- O(C) where C is the number of calls to be batched."]
8788				pub struct BatchAll {
8789					pub calls: batch_all::Calls,
8790				}
8791				pub mod batch_all {
8792					use super::runtime_types;
8793					pub type Calls = ::subxt::ext::subxt_core::alloc::vec::Vec<
8794						runtime_types::quantus_runtime::RuntimeCall,
8795					>;
8796				}
8797				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for BatchAll {
8798					const PALLET: &'static str = "Utility";
8799					const CALL: &'static str = "batch_all";
8800				}
8801				#[derive(
8802					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8803					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8804					Debug,
8805				)]
8806				#[decode_as_type(
8807					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8808				)]
8809				#[encode_as_type(
8810					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8811				)]
8812				#[doc = "Dispatches a function call with a provided origin."]
8813				#[doc = ""]
8814				#[doc = "The dispatch origin for this call must be _Root_."]
8815				#[doc = ""]
8816				#[doc = "## Complexity"]
8817				#[doc = "- O(1)."]
8818				pub struct DispatchAs {
8819					pub as_origin:
8820						::subxt::ext::subxt_core::alloc::boxed::Box<dispatch_as::AsOrigin>,
8821					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<dispatch_as::Call>,
8822				}
8823				pub mod dispatch_as {
8824					use super::runtime_types;
8825					pub type AsOrigin = runtime_types::quantus_runtime::OriginCaller;
8826					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
8827				}
8828				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for DispatchAs {
8829					const PALLET: &'static str = "Utility";
8830					const CALL: &'static str = "dispatch_as";
8831				}
8832				#[derive(
8833					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8834					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8835					Debug,
8836				)]
8837				#[decode_as_type(
8838					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8839				)]
8840				#[encode_as_type(
8841					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8842				)]
8843				#[doc = "Send a batch of dispatch calls."]
8844				#[doc = "Unlike `batch`, it allows errors and won't interrupt."]
8845				#[doc = ""]
8846				#[doc = "May be called from any origin except `None`."]
8847				#[doc = ""]
8848				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
8849				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
8850				#[doc = ""]
8851				#[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"]
8852				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
8853				#[doc = ""]
8854				#[doc = "## Complexity"]
8855				#[doc = "- O(C) where C is the number of calls to be batched."]
8856				pub struct ForceBatch {
8857					pub calls: force_batch::Calls,
8858				}
8859				pub mod force_batch {
8860					use super::runtime_types;
8861					pub type Calls = ::subxt::ext::subxt_core::alloc::vec::Vec<
8862						runtime_types::quantus_runtime::RuntimeCall,
8863					>;
8864				}
8865				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceBatch {
8866					const PALLET: &'static str = "Utility";
8867					const CALL: &'static str = "force_batch";
8868				}
8869				#[derive(
8870					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8871					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8872					Debug,
8873				)]
8874				#[decode_as_type(
8875					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8876				)]
8877				#[encode_as_type(
8878					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8879				)]
8880				#[doc = "Dispatch a function call with a specified weight."]
8881				#[doc = ""]
8882				#[doc = "This function does not check the weight of the call, and instead allows the"]
8883				#[doc = "Root origin to specify the weight of the call."]
8884				#[doc = ""]
8885				#[doc = "The dispatch origin for this call must be _Root_."]
8886				pub struct WithWeight {
8887					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<with_weight::Call>,
8888					pub weight: with_weight::Weight,
8889				}
8890				pub mod with_weight {
8891					use super::runtime_types;
8892					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
8893					pub type Weight = runtime_types::sp_weights::weight_v2::Weight;
8894				}
8895				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for WithWeight {
8896					const PALLET: &'static str = "Utility";
8897					const CALL: &'static str = "with_weight";
8898				}
8899				#[derive(
8900					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8901					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8902					Debug,
8903				)]
8904				#[decode_as_type(
8905					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8906				)]
8907				#[encode_as_type(
8908					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8909				)]
8910				#[doc = "Dispatch a fallback call in the event the main call fails to execute."]
8911				#[doc = "May be called from any origin except `None`."]
8912				#[doc = ""]
8913				#[doc = "This function first attempts to dispatch the `main` call."]
8914				#[doc = "If the `main` call fails, the `fallback` is attemted."]
8915				#[doc = "if the fallback is successfully dispatched, the weights of both calls"]
8916				#[doc = "are accumulated and an event containing the main call error is deposited."]
8917				#[doc = ""]
8918				#[doc = "In the event of a fallback failure the whole call fails"]
8919				#[doc = "with the weights returned."]
8920				#[doc = ""]
8921				#[doc = "- `main`: The main call to be dispatched. This is the primary action to execute."]
8922				#[doc = "- `fallback`: The fallback call to be dispatched in case the `main` call fails."]
8923				#[doc = ""]
8924				#[doc = "## Dispatch Logic"]
8925				#[doc = "- If the origin is `root`, both the main and fallback calls are executed without"]
8926				#[doc = "  applying any origin filters."]
8927				#[doc = "- If the origin is not `root`, the origin filter is applied to both the `main` and"]
8928				#[doc = "  `fallback` calls."]
8929				#[doc = ""]
8930				#[doc = "## Use Case"]
8931				#[doc = "- Some use cases might involve submitting a `batch` type call in either main, fallback"]
8932				#[doc = "  or both."]
8933				pub struct IfElse {
8934					pub main: ::subxt::ext::subxt_core::alloc::boxed::Box<if_else::Main>,
8935					pub fallback: ::subxt::ext::subxt_core::alloc::boxed::Box<if_else::Fallback>,
8936				}
8937				pub mod if_else {
8938					use super::runtime_types;
8939					pub type Main = runtime_types::quantus_runtime::RuntimeCall;
8940					pub type Fallback = runtime_types::quantus_runtime::RuntimeCall;
8941				}
8942				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for IfElse {
8943					const PALLET: &'static str = "Utility";
8944					const CALL: &'static str = "if_else";
8945				}
8946				#[derive(
8947					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8948					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8949					Debug,
8950				)]
8951				#[decode_as_type(
8952					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8953				)]
8954				#[encode_as_type(
8955					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8956				)]
8957				#[doc = "Dispatches a function call with a provided origin."]
8958				#[doc = ""]
8959				#[doc = "Almost the same as [`Pallet::dispatch_as`] but forwards any error of the inner call."]
8960				#[doc = ""]
8961				#[doc = "The dispatch origin for this call must be _Root_."]
8962				pub struct DispatchAsFallible {
8963					pub as_origin:
8964						::subxt::ext::subxt_core::alloc::boxed::Box<dispatch_as_fallible::AsOrigin>,
8965					pub call:
8966						::subxt::ext::subxt_core::alloc::boxed::Box<dispatch_as_fallible::Call>,
8967				}
8968				pub mod dispatch_as_fallible {
8969					use super::runtime_types;
8970					pub type AsOrigin = runtime_types::quantus_runtime::OriginCaller;
8971					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
8972				}
8973				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for DispatchAsFallible {
8974					const PALLET: &'static str = "Utility";
8975					const CALL: &'static str = "dispatch_as_fallible";
8976				}
8977			}
8978			pub struct TransactionApi;
8979			impl TransactionApi {
8980				#[doc = "Send a batch of dispatch calls."]
8981				#[doc = ""]
8982				#[doc = "May be called from any origin except `None`."]
8983				#[doc = ""]
8984				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
8985				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
8986				#[doc = ""]
8987				#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
8988				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
8989				#[doc = ""]
8990				#[doc = "## Complexity"]
8991				#[doc = "- O(C) where C is the number of calls to be batched."]
8992				#[doc = ""]
8993				#[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"]
8994				#[doc = "event is deposited. If a call failed and the batch was interrupted, then the"]
8995				#[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"]
8996				#[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"]
8997				#[doc = "event is deposited."]
8998				pub fn batch(
8999					&self,
9000					calls: types::batch::Calls,
9001				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Batch> {
9002					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9003						"Utility",
9004						"batch",
9005						types::Batch { calls },
9006						[
9007							135u8, 106u8, 152u8, 39u8, 199u8, 163u8, 145u8, 186u8, 129u8, 115u8,
9008							214u8, 162u8, 12u8, 85u8, 57u8, 122u8, 211u8, 240u8, 143u8, 159u8,
9009							138u8, 37u8, 114u8, 8u8, 8u8, 236u8, 197u8, 23u8, 114u8, 2u8, 105u8,
9010							174u8,
9011						],
9012					)
9013				}
9014				#[doc = "Send a call through an indexed pseudonym of the sender."]
9015				#[doc = ""]
9016				#[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"]
9017				#[doc = "use the same filter as the origin of this call."]
9018				#[doc = ""]
9019				#[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."]
9020				#[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"]
9021				#[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"]
9022				#[doc = "in the Multisig pallet instead."]
9023				#[doc = ""]
9024				#[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."]
9025				#[doc = ""]
9026				#[doc = "The dispatch origin for this call must be _Signed_."]
9027				pub fn as_derivative(
9028					&self,
9029					index: types::as_derivative::Index,
9030					call: types::as_derivative::Call,
9031				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::AsDerivative> {
9032					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9033						"Utility",
9034						"as_derivative",
9035						types::AsDerivative {
9036							index,
9037							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
9038						},
9039						[
9040							3u8, 102u8, 237u8, 140u8, 8u8, 207u8, 27u8, 204u8, 155u8, 162u8, 124u8,
9041							141u8, 172u8, 210u8, 89u8, 239u8, 113u8, 175u8, 41u8, 9u8, 150u8,
9042							130u8, 205u8, 125u8, 205u8, 199u8, 174u8, 85u8, 24u8, 13u8, 57u8, 19u8,
9043						],
9044					)
9045				}
9046				#[doc = "Send a batch of dispatch calls and atomically execute them."]
9047				#[doc = "The whole transaction will rollback and fail if any of the calls failed."]
9048				#[doc = ""]
9049				#[doc = "May be called from any origin except `None`."]
9050				#[doc = ""]
9051				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
9052				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
9053				#[doc = ""]
9054				#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
9055				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
9056				#[doc = ""]
9057				#[doc = "## Complexity"]
9058				#[doc = "- O(C) where C is the number of calls to be batched."]
9059				pub fn batch_all(
9060					&self,
9061					calls: types::batch_all::Calls,
9062				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::BatchAll> {
9063					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9064						"Utility",
9065						"batch_all",
9066						types::BatchAll { calls },
9067						[
9068							76u8, 242u8, 205u8, 32u8, 158u8, 24u8, 255u8, 12u8, 97u8, 24u8, 211u8,
9069							63u8, 119u8, 183u8, 165u8, 217u8, 17u8, 178u8, 254u8, 230u8, 119u8,
9070							207u8, 207u8, 103u8, 39u8, 226u8, 55u8, 73u8, 233u8, 79u8, 60u8, 218u8,
9071						],
9072					)
9073				}
9074				#[doc = "Dispatches a function call with a provided origin."]
9075				#[doc = ""]
9076				#[doc = "The dispatch origin for this call must be _Root_."]
9077				#[doc = ""]
9078				#[doc = "## Complexity"]
9079				#[doc = "- O(1)."]
9080				pub fn dispatch_as(
9081					&self,
9082					as_origin: types::dispatch_as::AsOrigin,
9083					call: types::dispatch_as::Call,
9084				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::DispatchAs> {
9085					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9086						"Utility",
9087						"dispatch_as",
9088						types::DispatchAs {
9089							as_origin: ::subxt::ext::subxt_core::alloc::boxed::Box::new(as_origin),
9090							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
9091						},
9092						[
9093							32u8, 108u8, 91u8, 136u8, 200u8, 228u8, 95u8, 44u8, 22u8, 92u8, 34u8,
9094							234u8, 170u8, 201u8, 4u8, 248u8, 16u8, 209u8, 103u8, 201u8, 207u8,
9095							160u8, 165u8, 231u8, 152u8, 222u8, 112u8, 63u8, 133u8, 61u8, 220u8,
9096							24u8,
9097						],
9098					)
9099				}
9100				#[doc = "Send a batch of dispatch calls."]
9101				#[doc = "Unlike `batch`, it allows errors and won't interrupt."]
9102				#[doc = ""]
9103				#[doc = "May be called from any origin except `None`."]
9104				#[doc = ""]
9105				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
9106				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
9107				#[doc = ""]
9108				#[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"]
9109				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
9110				#[doc = ""]
9111				#[doc = "## Complexity"]
9112				#[doc = "- O(C) where C is the number of calls to be batched."]
9113				pub fn force_batch(
9114					&self,
9115					calls: types::force_batch::Calls,
9116				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceBatch> {
9117					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9118						"Utility",
9119						"force_batch",
9120						types::ForceBatch { calls },
9121						[
9122							26u8, 82u8, 61u8, 185u8, 19u8, 29u8, 151u8, 192u8, 24u8, 41u8, 115u8,
9123							237u8, 7u8, 38u8, 68u8, 5u8, 159u8, 117u8, 47u8, 138u8, 101u8, 126u8,
9124							255u8, 137u8, 144u8, 51u8, 244u8, 145u8, 113u8, 21u8, 123u8, 79u8,
9125						],
9126					)
9127				}
9128				#[doc = "Dispatch a function call with a specified weight."]
9129				#[doc = ""]
9130				#[doc = "This function does not check the weight of the call, and instead allows the"]
9131				#[doc = "Root origin to specify the weight of the call."]
9132				#[doc = ""]
9133				#[doc = "The dispatch origin for this call must be _Root_."]
9134				pub fn with_weight(
9135					&self,
9136					call: types::with_weight::Call,
9137					weight: types::with_weight::Weight,
9138				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::WithWeight> {
9139					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9140						"Utility",
9141						"with_weight",
9142						types::WithWeight {
9143							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
9144							weight,
9145						},
9146						[
9147							131u8, 134u8, 250u8, 73u8, 141u8, 137u8, 137u8, 15u8, 206u8, 215u8,
9148							199u8, 239u8, 24u8, 84u8, 247u8, 50u8, 135u8, 223u8, 110u8, 205u8,
9149							96u8, 170u8, 74u8, 232u8, 152u8, 135u8, 235u8, 62u8, 110u8, 230u8,
9150							172u8, 229u8,
9151						],
9152					)
9153				}
9154				#[doc = "Dispatch a fallback call in the event the main call fails to execute."]
9155				#[doc = "May be called from any origin except `None`."]
9156				#[doc = ""]
9157				#[doc = "This function first attempts to dispatch the `main` call."]
9158				#[doc = "If the `main` call fails, the `fallback` is attemted."]
9159				#[doc = "if the fallback is successfully dispatched, the weights of both calls"]
9160				#[doc = "are accumulated and an event containing the main call error is deposited."]
9161				#[doc = ""]
9162				#[doc = "In the event of a fallback failure the whole call fails"]
9163				#[doc = "with the weights returned."]
9164				#[doc = ""]
9165				#[doc = "- `main`: The main call to be dispatched. This is the primary action to execute."]
9166				#[doc = "- `fallback`: The fallback call to be dispatched in case the `main` call fails."]
9167				#[doc = ""]
9168				#[doc = "## Dispatch Logic"]
9169				#[doc = "- If the origin is `root`, both the main and fallback calls are executed without"]
9170				#[doc = "  applying any origin filters."]
9171				#[doc = "- If the origin is not `root`, the origin filter is applied to both the `main` and"]
9172				#[doc = "  `fallback` calls."]
9173				#[doc = ""]
9174				#[doc = "## Use Case"]
9175				#[doc = "- Some use cases might involve submitting a `batch` type call in either main, fallback"]
9176				#[doc = "  or both."]
9177				pub fn if_else(
9178					&self,
9179					main: types::if_else::Main,
9180					fallback: types::if_else::Fallback,
9181				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::IfElse> {
9182					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9183						"Utility",
9184						"if_else",
9185						types::IfElse {
9186							main: ::subxt::ext::subxt_core::alloc::boxed::Box::new(main),
9187							fallback: ::subxt::ext::subxt_core::alloc::boxed::Box::new(fallback),
9188						},
9189						[
9190							195u8, 146u8, 198u8, 20u8, 96u8, 236u8, 218u8, 101u8, 252u8, 17u8,
9191							41u8, 246u8, 142u8, 116u8, 243u8, 198u8, 237u8, 168u8, 11u8, 211u8,
9192							236u8, 184u8, 71u8, 173u8, 211u8, 0u8, 129u8, 231u8, 99u8, 189u8,
9193							229u8, 34u8,
9194						],
9195					)
9196				}
9197				#[doc = "Dispatches a function call with a provided origin."]
9198				#[doc = ""]
9199				#[doc = "Almost the same as [`Pallet::dispatch_as`] but forwards any error of the inner call."]
9200				#[doc = ""]
9201				#[doc = "The dispatch origin for this call must be _Root_."]
9202				pub fn dispatch_as_fallible(
9203					&self,
9204					as_origin: types::dispatch_as_fallible::AsOrigin,
9205					call: types::dispatch_as_fallible::Call,
9206				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::DispatchAsFallible>
9207				{
9208					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9209						"Utility",
9210						"dispatch_as_fallible",
9211						types::DispatchAsFallible {
9212							as_origin: ::subxt::ext::subxt_core::alloc::boxed::Box::new(as_origin),
9213							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
9214						},
9215						[
9216							52u8, 4u8, 122u8, 93u8, 231u8, 186u8, 88u8, 129u8, 36u8, 245u8, 176u8,
9217							117u8, 22u8, 203u8, 94u8, 115u8, 19u8, 27u8, 141u8, 63u8, 184u8, 171u8,
9218							146u8, 63u8, 124u8, 225u8, 135u8, 73u8, 51u8, 20u8, 60u8, 199u8,
9219						],
9220					)
9221				}
9222			}
9223		}
9224		#[doc = "The `Event` enum of this pallet"]
9225		pub type Event = runtime_types::pallet_utility::pallet::Event;
9226		pub mod events {
9227			use super::runtime_types;
9228			#[derive(
9229				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9230				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9231				Debug,
9232			)]
9233			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9234			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9235			#[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"]
9236			#[doc = "well as the error."]
9237			pub struct BatchInterrupted {
9238				pub index: batch_interrupted::Index,
9239				pub error: batch_interrupted::Error,
9240			}
9241			pub mod batch_interrupted {
9242				use super::runtime_types;
9243				pub type Index = ::core::primitive::u32;
9244				pub type Error = runtime_types::sp_runtime::DispatchError;
9245			}
9246			impl ::subxt::ext::subxt_core::events::StaticEvent for BatchInterrupted {
9247				const PALLET: &'static str = "Utility";
9248				const EVENT: &'static str = "BatchInterrupted";
9249			}
9250			#[derive(
9251				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9252				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9253				Debug,
9254			)]
9255			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9256			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9257			#[doc = "Batch of dispatches completed fully with no error."]
9258			pub struct BatchCompleted;
9259			impl ::subxt::ext::subxt_core::events::StaticEvent for BatchCompleted {
9260				const PALLET: &'static str = "Utility";
9261				const EVENT: &'static str = "BatchCompleted";
9262			}
9263			#[derive(
9264				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9265				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9266				Debug,
9267			)]
9268			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9269			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9270			#[doc = "Batch of dispatches completed but has errors."]
9271			pub struct BatchCompletedWithErrors;
9272			impl ::subxt::ext::subxt_core::events::StaticEvent for BatchCompletedWithErrors {
9273				const PALLET: &'static str = "Utility";
9274				const EVENT: &'static str = "BatchCompletedWithErrors";
9275			}
9276			#[derive(
9277				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9278				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9279				Debug,
9280			)]
9281			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9282			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9283			#[doc = "A single item within a Batch of dispatches has completed with no error."]
9284			pub struct ItemCompleted;
9285			impl ::subxt::ext::subxt_core::events::StaticEvent for ItemCompleted {
9286				const PALLET: &'static str = "Utility";
9287				const EVENT: &'static str = "ItemCompleted";
9288			}
9289			#[derive(
9290				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9291				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9292				Debug,
9293			)]
9294			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9295			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9296			#[doc = "A single item within a Batch of dispatches has completed with error."]
9297			pub struct ItemFailed {
9298				pub error: item_failed::Error,
9299			}
9300			pub mod item_failed {
9301				use super::runtime_types;
9302				pub type Error = runtime_types::sp_runtime::DispatchError;
9303			}
9304			impl ::subxt::ext::subxt_core::events::StaticEvent for ItemFailed {
9305				const PALLET: &'static str = "Utility";
9306				const EVENT: &'static str = "ItemFailed";
9307			}
9308			#[derive(
9309				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9310				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9311				Debug,
9312			)]
9313			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9314			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9315			#[doc = "A call was dispatched."]
9316			pub struct DispatchedAs {
9317				pub result: dispatched_as::Result,
9318			}
9319			pub mod dispatched_as {
9320				use super::runtime_types;
9321				pub type Result =
9322					::core::result::Result<(), runtime_types::sp_runtime::DispatchError>;
9323			}
9324			impl ::subxt::ext::subxt_core::events::StaticEvent for DispatchedAs {
9325				const PALLET: &'static str = "Utility";
9326				const EVENT: &'static str = "DispatchedAs";
9327			}
9328			#[derive(
9329				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9330				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9331				Debug,
9332			)]
9333			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9334			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9335			#[doc = "Main call was dispatched."]
9336			pub struct IfElseMainSuccess;
9337			impl ::subxt::ext::subxt_core::events::StaticEvent for IfElseMainSuccess {
9338				const PALLET: &'static str = "Utility";
9339				const EVENT: &'static str = "IfElseMainSuccess";
9340			}
9341			#[derive(
9342				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9343				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9344				Debug,
9345			)]
9346			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9347			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9348			#[doc = "The fallback call was dispatched."]
9349			pub struct IfElseFallbackCalled {
9350				pub main_error: if_else_fallback_called::MainError,
9351			}
9352			pub mod if_else_fallback_called {
9353				use super::runtime_types;
9354				pub type MainError = runtime_types::sp_runtime::DispatchError;
9355			}
9356			impl ::subxt::ext::subxt_core::events::StaticEvent for IfElseFallbackCalled {
9357				const PALLET: &'static str = "Utility";
9358				const EVENT: &'static str = "IfElseFallbackCalled";
9359			}
9360		}
9361		pub mod constants {
9362			use super::runtime_types;
9363			pub struct ConstantsApi;
9364			impl ConstantsApi {
9365				#[doc = " The limit on the number of batched calls."]
9366				pub fn batched_calls_limit(
9367					&self,
9368				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
9369					::core::primitive::u32,
9370				> {
9371					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
9372						"Utility",
9373						"batched_calls_limit",
9374						[
9375							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
9376							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
9377							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
9378							145u8,
9379						],
9380					)
9381				}
9382			}
9383		}
9384	}
9385	pub mod referenda {
9386		use super::{root_mod, runtime_types};
9387		#[doc = "The `Error` enum of this pallet."]
9388		pub type Error = runtime_types::pallet_referenda::pallet::Error;
9389		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
9390		pub type Call = runtime_types::pallet_referenda::pallet::Call;
9391		pub mod calls {
9392			use super::{root_mod, runtime_types};
9393			type DispatchError = runtime_types::sp_runtime::DispatchError;
9394			pub mod types {
9395				use super::runtime_types;
9396				#[derive(
9397					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9398					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9399					Debug,
9400				)]
9401				#[decode_as_type(
9402					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9403				)]
9404				#[encode_as_type(
9405					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9406				)]
9407				#[doc = "Propose a referendum on a privileged action."]
9408				#[doc = ""]
9409				#[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"]
9410				#[doc = "  available."]
9411				#[doc = "- `proposal_origin`: The origin from which the proposal should be executed."]
9412				#[doc = "- `proposal`: The proposal."]
9413				#[doc = "- `enactment_moment`: The moment that the proposal should be enacted."]
9414				#[doc = ""]
9415				#[doc = "Emits `Submitted`."]
9416				pub struct Submit {
9417					pub proposal_origin:
9418						::subxt::ext::subxt_core::alloc::boxed::Box<submit::ProposalOrigin>,
9419					pub proposal: submit::Proposal,
9420					pub enactment_moment: submit::EnactmentMoment,
9421				}
9422				pub mod submit {
9423					use super::runtime_types;
9424					pub type ProposalOrigin = runtime_types::quantus_runtime::OriginCaller;
9425					pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
9426						runtime_types::quantus_runtime::RuntimeCall,
9427						runtime_types::qp_poseidon::PoseidonHasher,
9428					>;
9429					pub type EnactmentMoment =
9430						runtime_types::frame_support::traits::schedule::DispatchTime<
9431							::core::primitive::u32,
9432						>;
9433				}
9434				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Submit {
9435					const PALLET: &'static str = "Referenda";
9436					const CALL: &'static str = "submit";
9437				}
9438				#[derive(
9439					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9440					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9441					Debug,
9442				)]
9443				#[decode_as_type(
9444					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9445				)]
9446				#[encode_as_type(
9447					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9448				)]
9449				#[doc = "Post the Decision Deposit for a referendum."]
9450				#[doc = ""]
9451				#[doc = "- `origin`: must be `Signed` and the account must have funds available for the"]
9452				#[doc = "  referendum's track's Decision Deposit."]
9453				#[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"]
9454				#[doc = "  posted."]
9455				#[doc = ""]
9456				#[doc = "Emits `DecisionDepositPlaced`."]
9457				pub struct PlaceDecisionDeposit {
9458					pub index: place_decision_deposit::Index,
9459				}
9460				pub mod place_decision_deposit {
9461					use super::runtime_types;
9462					pub type Index = ::core::primitive::u32;
9463				}
9464				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for PlaceDecisionDeposit {
9465					const PALLET: &'static str = "Referenda";
9466					const CALL: &'static str = "place_decision_deposit";
9467				}
9468				#[derive(
9469					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9470					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9471					Debug,
9472				)]
9473				#[decode_as_type(
9474					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9475				)]
9476				#[encode_as_type(
9477					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9478				)]
9479				#[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."]
9480				#[doc = ""]
9481				#[doc = "- `origin`: must be `Signed` or `Root`."]
9482				#[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"]
9483				#[doc = "  refunded."]
9484				#[doc = ""]
9485				#[doc = "Emits `DecisionDepositRefunded`."]
9486				pub struct RefundDecisionDeposit {
9487					pub index: refund_decision_deposit::Index,
9488				}
9489				pub mod refund_decision_deposit {
9490					use super::runtime_types;
9491					pub type Index = ::core::primitive::u32;
9492				}
9493				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RefundDecisionDeposit {
9494					const PALLET: &'static str = "Referenda";
9495					const CALL: &'static str = "refund_decision_deposit";
9496				}
9497				#[derive(
9498					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9499					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9500					Debug,
9501				)]
9502				#[decode_as_type(
9503					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9504				)]
9505				#[encode_as_type(
9506					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9507				)]
9508				#[doc = "Cancel an ongoing referendum."]
9509				#[doc = ""]
9510				#[doc = "- `origin`: must be the `CancelOrigin`."]
9511				#[doc = "- `index`: The index of the referendum to be cancelled."]
9512				#[doc = ""]
9513				#[doc = "Emits `Cancelled`."]
9514				pub struct Cancel {
9515					pub index: cancel::Index,
9516				}
9517				pub mod cancel {
9518					use super::runtime_types;
9519					pub type Index = ::core::primitive::u32;
9520				}
9521				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Cancel {
9522					const PALLET: &'static str = "Referenda";
9523					const CALL: &'static str = "cancel";
9524				}
9525				#[derive(
9526					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9527					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9528					Debug,
9529				)]
9530				#[decode_as_type(
9531					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9532				)]
9533				#[encode_as_type(
9534					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9535				)]
9536				#[doc = "Cancel an ongoing referendum and slash the deposits."]
9537				#[doc = ""]
9538				#[doc = "- `origin`: must be the `KillOrigin`."]
9539				#[doc = "- `index`: The index of the referendum to be cancelled."]
9540				#[doc = ""]
9541				#[doc = "Emits `Killed` and `DepositSlashed`."]
9542				pub struct Kill {
9543					pub index: kill::Index,
9544				}
9545				pub mod kill {
9546					use super::runtime_types;
9547					pub type Index = ::core::primitive::u32;
9548				}
9549				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Kill {
9550					const PALLET: &'static str = "Referenda";
9551					const CALL: &'static str = "kill";
9552				}
9553				#[derive(
9554					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9555					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9556					Debug,
9557				)]
9558				#[decode_as_type(
9559					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9560				)]
9561				#[encode_as_type(
9562					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9563				)]
9564				#[doc = "Advance a referendum onto its next logical state. Only used internally."]
9565				#[doc = ""]
9566				#[doc = "- `origin`: must be `Root`."]
9567				#[doc = "- `index`: the referendum to be advanced."]
9568				pub struct NudgeReferendum {
9569					pub index: nudge_referendum::Index,
9570				}
9571				pub mod nudge_referendum {
9572					use super::runtime_types;
9573					pub type Index = ::core::primitive::u32;
9574				}
9575				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for NudgeReferendum {
9576					const PALLET: &'static str = "Referenda";
9577					const CALL: &'static str = "nudge_referendum";
9578				}
9579				#[derive(
9580					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9581					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9582					Debug,
9583				)]
9584				#[decode_as_type(
9585					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9586				)]
9587				#[encode_as_type(
9588					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9589				)]
9590				#[doc = "Advance a track onto its next logical state. Only used internally."]
9591				#[doc = ""]
9592				#[doc = "- `origin`: must be `Root`."]
9593				#[doc = "- `track`: the track to be advanced."]
9594				#[doc = ""]
9595				#[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"]
9596				#[doc = "`DecidingCount` is not yet updated. This means that we should either:"]
9597				#[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"]
9598				#[doc = "- decrement `DecidingCount`."]
9599				pub struct OneFewerDeciding {
9600					pub track: one_fewer_deciding::Track,
9601				}
9602				pub mod one_fewer_deciding {
9603					use super::runtime_types;
9604					pub type Track = ::core::primitive::u16;
9605				}
9606				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for OneFewerDeciding {
9607					const PALLET: &'static str = "Referenda";
9608					const CALL: &'static str = "one_fewer_deciding";
9609				}
9610				#[derive(
9611					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9612					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9613					Debug,
9614				)]
9615				#[decode_as_type(
9616					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9617				)]
9618				#[encode_as_type(
9619					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9620				)]
9621				#[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."]
9622				#[doc = ""]
9623				#[doc = "- `origin`: must be `Signed` or `Root`."]
9624				#[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"]
9625				#[doc = "  refunded."]
9626				#[doc = ""]
9627				#[doc = "Emits `SubmissionDepositRefunded`."]
9628				pub struct RefundSubmissionDeposit {
9629					pub index: refund_submission_deposit::Index,
9630				}
9631				pub mod refund_submission_deposit {
9632					use super::runtime_types;
9633					pub type Index = ::core::primitive::u32;
9634				}
9635				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RefundSubmissionDeposit {
9636					const PALLET: &'static str = "Referenda";
9637					const CALL: &'static str = "refund_submission_deposit";
9638				}
9639				#[derive(
9640					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9641					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9642					Debug,
9643				)]
9644				#[decode_as_type(
9645					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9646				)]
9647				#[encode_as_type(
9648					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9649				)]
9650				#[doc = "Set or clear metadata of a referendum."]
9651				#[doc = ""]
9652				#[doc = "Parameters:"]
9653				#[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"]
9654				#[doc = "  metadata of a finished referendum."]
9655				#[doc = "- `index`:  The index of a referendum to set or clear metadata for."]
9656				#[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."]
9657				pub struct SetMetadata {
9658					pub index: set_metadata::Index,
9659					pub maybe_hash: set_metadata::MaybeHash,
9660				}
9661				pub mod set_metadata {
9662					use super::runtime_types;
9663					pub type Index = ::core::primitive::u32;
9664					pub type MaybeHash =
9665						::core::option::Option<::subxt::ext::subxt_core::utils::H256>;
9666				}
9667				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetMetadata {
9668					const PALLET: &'static str = "Referenda";
9669					const CALL: &'static str = "set_metadata";
9670				}
9671			}
9672			pub struct TransactionApi;
9673			impl TransactionApi {
9674				#[doc = "Propose a referendum on a privileged action."]
9675				#[doc = ""]
9676				#[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"]
9677				#[doc = "  available."]
9678				#[doc = "- `proposal_origin`: The origin from which the proposal should be executed."]
9679				#[doc = "- `proposal`: The proposal."]
9680				#[doc = "- `enactment_moment`: The moment that the proposal should be enacted."]
9681				#[doc = ""]
9682				#[doc = "Emits `Submitted`."]
9683				pub fn submit(
9684					&self,
9685					proposal_origin: types::submit::ProposalOrigin,
9686					proposal: types::submit::Proposal,
9687					enactment_moment: types::submit::EnactmentMoment,
9688				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Submit> {
9689					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9690						"Referenda",
9691						"submit",
9692						types::Submit {
9693							proposal_origin: ::subxt::ext::subxt_core::alloc::boxed::Box::new(
9694								proposal_origin,
9695							),
9696							proposal,
9697							enactment_moment,
9698						},
9699						[
9700							30u8, 232u8, 132u8, 0u8, 199u8, 166u8, 49u8, 94u8, 238u8, 61u8, 236u8,
9701							207u8, 2u8, 136u8, 37u8, 81u8, 67u8, 133u8, 2u8, 147u8, 177u8, 176u8,
9702							178u8, 113u8, 155u8, 180u8, 104u8, 176u8, 215u8, 255u8, 240u8, 100u8,
9703						],
9704					)
9705				}
9706				#[doc = "Post the Decision Deposit for a referendum."]
9707				#[doc = ""]
9708				#[doc = "- `origin`: must be `Signed` and the account must have funds available for the"]
9709				#[doc = "  referendum's track's Decision Deposit."]
9710				#[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"]
9711				#[doc = "  posted."]
9712				#[doc = ""]
9713				#[doc = "Emits `DecisionDepositPlaced`."]
9714				pub fn place_decision_deposit(
9715					&self,
9716					index: types::place_decision_deposit::Index,
9717				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::PlaceDecisionDeposit>
9718				{
9719					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9720						"Referenda",
9721						"place_decision_deposit",
9722						types::PlaceDecisionDeposit { index },
9723						[
9724							247u8, 158u8, 55u8, 191u8, 188u8, 200u8, 3u8, 47u8, 20u8, 175u8, 86u8,
9725							203u8, 52u8, 253u8, 91u8, 131u8, 21u8, 213u8, 56u8, 68u8, 40u8, 84u8,
9726							184u8, 30u8, 9u8, 193u8, 63u8, 182u8, 178u8, 241u8, 247u8, 220u8,
9727						],
9728					)
9729				}
9730				#[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."]
9731				#[doc = ""]
9732				#[doc = "- `origin`: must be `Signed` or `Root`."]
9733				#[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"]
9734				#[doc = "  refunded."]
9735				#[doc = ""]
9736				#[doc = "Emits `DecisionDepositRefunded`."]
9737				pub fn refund_decision_deposit(
9738					&self,
9739					index: types::refund_decision_deposit::Index,
9740				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
9741					types::RefundDecisionDeposit,
9742				> {
9743					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9744						"Referenda",
9745						"refund_decision_deposit",
9746						types::RefundDecisionDeposit { index },
9747						[
9748							159u8, 19u8, 35u8, 216u8, 114u8, 105u8, 18u8, 42u8, 148u8, 151u8,
9749							136u8, 92u8, 117u8, 30u8, 29u8, 41u8, 238u8, 58u8, 195u8, 91u8, 115u8,
9750							135u8, 96u8, 99u8, 154u8, 233u8, 8u8, 249u8, 145u8, 165u8, 77u8, 164u8,
9751						],
9752					)
9753				}
9754				#[doc = "Cancel an ongoing referendum."]
9755				#[doc = ""]
9756				#[doc = "- `origin`: must be the `CancelOrigin`."]
9757				#[doc = "- `index`: The index of the referendum to be cancelled."]
9758				#[doc = ""]
9759				#[doc = "Emits `Cancelled`."]
9760				pub fn cancel(
9761					&self,
9762					index: types::cancel::Index,
9763				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Cancel> {
9764					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9765						"Referenda",
9766						"cancel",
9767						types::Cancel { index },
9768						[
9769							55u8, 206u8, 119u8, 156u8, 238u8, 165u8, 193u8, 73u8, 242u8, 13u8,
9770							212u8, 75u8, 136u8, 156u8, 151u8, 14u8, 35u8, 41u8, 156u8, 107u8, 60u8,
9771							190u8, 39u8, 216u8, 8u8, 74u8, 213u8, 130u8, 160u8, 131u8, 237u8,
9772							122u8,
9773						],
9774					)
9775				}
9776				#[doc = "Cancel an ongoing referendum and slash the deposits."]
9777				#[doc = ""]
9778				#[doc = "- `origin`: must be the `KillOrigin`."]
9779				#[doc = "- `index`: The index of the referendum to be cancelled."]
9780				#[doc = ""]
9781				#[doc = "Emits `Killed` and `DepositSlashed`."]
9782				pub fn kill(
9783					&self,
9784					index: types::kill::Index,
9785				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Kill> {
9786					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9787						"Referenda",
9788						"kill",
9789						types::Kill { index },
9790						[
9791							50u8, 89u8, 57u8, 0u8, 87u8, 129u8, 113u8, 140u8, 179u8, 178u8, 126u8,
9792							198u8, 92u8, 92u8, 189u8, 64u8, 123u8, 232u8, 57u8, 227u8, 223u8,
9793							219u8, 73u8, 217u8, 179u8, 44u8, 210u8, 125u8, 180u8, 10u8, 143u8,
9794							48u8,
9795						],
9796					)
9797				}
9798				#[doc = "Advance a referendum onto its next logical state. Only used internally."]
9799				#[doc = ""]
9800				#[doc = "- `origin`: must be `Root`."]
9801				#[doc = "- `index`: the referendum to be advanced."]
9802				pub fn nudge_referendum(
9803					&self,
9804					index: types::nudge_referendum::Index,
9805				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::NudgeReferendum>
9806				{
9807					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9808						"Referenda",
9809						"nudge_referendum",
9810						types::NudgeReferendum { index },
9811						[
9812							75u8, 99u8, 172u8, 30u8, 170u8, 150u8, 211u8, 229u8, 249u8, 128u8,
9813							194u8, 246u8, 100u8, 142u8, 193u8, 184u8, 232u8, 81u8, 29u8, 17u8,
9814							99u8, 91u8, 236u8, 85u8, 230u8, 226u8, 57u8, 115u8, 45u8, 170u8, 54u8,
9815							213u8,
9816						],
9817					)
9818				}
9819				#[doc = "Advance a track onto its next logical state. Only used internally."]
9820				#[doc = ""]
9821				#[doc = "- `origin`: must be `Root`."]
9822				#[doc = "- `track`: the track to be advanced."]
9823				#[doc = ""]
9824				#[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"]
9825				#[doc = "`DecidingCount` is not yet updated. This means that we should either:"]
9826				#[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"]
9827				#[doc = "- decrement `DecidingCount`."]
9828				pub fn one_fewer_deciding(
9829					&self,
9830					track: types::one_fewer_deciding::Track,
9831				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::OneFewerDeciding>
9832				{
9833					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9834						"Referenda",
9835						"one_fewer_deciding",
9836						types::OneFewerDeciding { track },
9837						[
9838							15u8, 84u8, 79u8, 231u8, 21u8, 239u8, 244u8, 143u8, 183u8, 215u8,
9839							181u8, 25u8, 225u8, 195u8, 95u8, 171u8, 17u8, 156u8, 182u8, 128u8,
9840							111u8, 40u8, 151u8, 102u8, 196u8, 55u8, 36u8, 212u8, 89u8, 190u8,
9841							131u8, 167u8,
9842						],
9843					)
9844				}
9845				#[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."]
9846				#[doc = ""]
9847				#[doc = "- `origin`: must be `Signed` or `Root`."]
9848				#[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"]
9849				#[doc = "  refunded."]
9850				#[doc = ""]
9851				#[doc = "Emits `SubmissionDepositRefunded`."]
9852				pub fn refund_submission_deposit(
9853					&self,
9854					index: types::refund_submission_deposit::Index,
9855				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
9856					types::RefundSubmissionDeposit,
9857				> {
9858					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9859						"Referenda",
9860						"refund_submission_deposit",
9861						types::RefundSubmissionDeposit { index },
9862						[
9863							20u8, 217u8, 115u8, 6u8, 1u8, 60u8, 54u8, 136u8, 35u8, 41u8, 38u8,
9864							23u8, 85u8, 100u8, 141u8, 126u8, 30u8, 160u8, 61u8, 46u8, 134u8, 98u8,
9865							82u8, 38u8, 211u8, 124u8, 208u8, 222u8, 210u8, 10u8, 155u8, 122u8,
9866						],
9867					)
9868				}
9869				#[doc = "Set or clear metadata of a referendum."]
9870				#[doc = ""]
9871				#[doc = "Parameters:"]
9872				#[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"]
9873				#[doc = "  metadata of a finished referendum."]
9874				#[doc = "- `index`:  The index of a referendum to set or clear metadata for."]
9875				#[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."]
9876				pub fn set_metadata(
9877					&self,
9878					index: types::set_metadata::Index,
9879					maybe_hash: types::set_metadata::MaybeHash,
9880				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetMetadata> {
9881					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9882						"Referenda",
9883						"set_metadata",
9884						types::SetMetadata { index, maybe_hash },
9885						[
9886							207u8, 29u8, 146u8, 233u8, 219u8, 205u8, 88u8, 118u8, 106u8, 61u8,
9887							124u8, 101u8, 2u8, 41u8, 169u8, 70u8, 114u8, 189u8, 162u8, 118u8, 1u8,
9888							108u8, 234u8, 98u8, 245u8, 245u8, 183u8, 126u8, 89u8, 13u8, 112u8,
9889							88u8,
9890						],
9891					)
9892				}
9893			}
9894		}
9895		#[doc = "The `Event` enum of this pallet"]
9896		pub type Event = runtime_types::pallet_referenda::pallet::Event1;
9897		pub mod events {
9898			use super::runtime_types;
9899			#[derive(
9900				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9901				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9902				Debug,
9903			)]
9904			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9905			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9906			#[doc = "A referendum has been submitted."]
9907			pub struct Submitted {
9908				pub index: submitted::Index,
9909				pub track: submitted::Track,
9910				pub proposal: submitted::Proposal,
9911			}
9912			pub mod submitted {
9913				use super::runtime_types;
9914				pub type Index = ::core::primitive::u32;
9915				pub type Track = ::core::primitive::u16;
9916				pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
9917					runtime_types::quantus_runtime::RuntimeCall,
9918					runtime_types::qp_poseidon::PoseidonHasher,
9919				>;
9920			}
9921			impl ::subxt::ext::subxt_core::events::StaticEvent for Submitted {
9922				const PALLET: &'static str = "Referenda";
9923				const EVENT: &'static str = "Submitted";
9924			}
9925			#[derive(
9926				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9927				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9928				Debug,
9929			)]
9930			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9931			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9932			#[doc = "The decision deposit has been placed."]
9933			pub struct DecisionDepositPlaced {
9934				pub index: decision_deposit_placed::Index,
9935				pub who: decision_deposit_placed::Who,
9936				pub amount: decision_deposit_placed::Amount,
9937			}
9938			pub mod decision_deposit_placed {
9939				use super::runtime_types;
9940				pub type Index = ::core::primitive::u32;
9941				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
9942				pub type Amount = ::core::primitive::u128;
9943			}
9944			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionDepositPlaced {
9945				const PALLET: &'static str = "Referenda";
9946				const EVENT: &'static str = "DecisionDepositPlaced";
9947			}
9948			#[derive(
9949				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9950				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9951				Debug,
9952			)]
9953			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9954			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9955			#[doc = "The decision deposit has been refunded."]
9956			pub struct DecisionDepositRefunded {
9957				pub index: decision_deposit_refunded::Index,
9958				pub who: decision_deposit_refunded::Who,
9959				pub amount: decision_deposit_refunded::Amount,
9960			}
9961			pub mod decision_deposit_refunded {
9962				use super::runtime_types;
9963				pub type Index = ::core::primitive::u32;
9964				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
9965				pub type Amount = ::core::primitive::u128;
9966			}
9967			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionDepositRefunded {
9968				const PALLET: &'static str = "Referenda";
9969				const EVENT: &'static str = "DecisionDepositRefunded";
9970			}
9971			#[derive(
9972				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9973				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9974				Debug,
9975			)]
9976			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9977			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9978			#[doc = "A deposit has been slashed."]
9979			pub struct DepositSlashed {
9980				pub who: deposit_slashed::Who,
9981				pub amount: deposit_slashed::Amount,
9982			}
9983			pub mod deposit_slashed {
9984				use super::runtime_types;
9985				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
9986				pub type Amount = ::core::primitive::u128;
9987			}
9988			impl ::subxt::ext::subxt_core::events::StaticEvent for DepositSlashed {
9989				const PALLET: &'static str = "Referenda";
9990				const EVENT: &'static str = "DepositSlashed";
9991			}
9992			#[derive(
9993				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9994				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9995				Debug,
9996			)]
9997			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9998			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9999			#[doc = "A referendum has moved into the deciding phase."]
10000			pub struct DecisionStarted {
10001				pub index: decision_started::Index,
10002				pub track: decision_started::Track,
10003				pub proposal: decision_started::Proposal,
10004				pub tally: decision_started::Tally,
10005			}
10006			pub mod decision_started {
10007				use super::runtime_types;
10008				pub type Index = ::core::primitive::u32;
10009				pub type Track = ::core::primitive::u16;
10010				pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
10011					runtime_types::quantus_runtime::RuntimeCall,
10012					runtime_types::qp_poseidon::PoseidonHasher,
10013				>;
10014				pub type Tally =
10015					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
10016			}
10017			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionStarted {
10018				const PALLET: &'static str = "Referenda";
10019				const EVENT: &'static str = "DecisionStarted";
10020			}
10021			#[derive(
10022				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10023				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10024				Debug,
10025			)]
10026			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10027			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10028			pub struct ConfirmStarted {
10029				pub index: confirm_started::Index,
10030			}
10031			pub mod confirm_started {
10032				use super::runtime_types;
10033				pub type Index = ::core::primitive::u32;
10034			}
10035			impl ::subxt::ext::subxt_core::events::StaticEvent for ConfirmStarted {
10036				const PALLET: &'static str = "Referenda";
10037				const EVENT: &'static str = "ConfirmStarted";
10038			}
10039			#[derive(
10040				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10041				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10042				Debug,
10043			)]
10044			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10045			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10046			pub struct ConfirmAborted {
10047				pub index: confirm_aborted::Index,
10048			}
10049			pub mod confirm_aborted {
10050				use super::runtime_types;
10051				pub type Index = ::core::primitive::u32;
10052			}
10053			impl ::subxt::ext::subxt_core::events::StaticEvent for ConfirmAborted {
10054				const PALLET: &'static str = "Referenda";
10055				const EVENT: &'static str = "ConfirmAborted";
10056			}
10057			#[derive(
10058				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10059				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10060				Debug,
10061			)]
10062			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10063			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10064			#[doc = "A referendum has ended its confirmation phase and is ready for approval."]
10065			pub struct Confirmed {
10066				pub index: confirmed::Index,
10067				pub tally: confirmed::Tally,
10068			}
10069			pub mod confirmed {
10070				use super::runtime_types;
10071				pub type Index = ::core::primitive::u32;
10072				pub type Tally =
10073					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
10074			}
10075			impl ::subxt::ext::subxt_core::events::StaticEvent for Confirmed {
10076				const PALLET: &'static str = "Referenda";
10077				const EVENT: &'static str = "Confirmed";
10078			}
10079			#[derive(
10080				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10081				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10082				Debug,
10083			)]
10084			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10085			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10086			#[doc = "A referendum has been approved and its proposal has been scheduled."]
10087			pub struct Approved {
10088				pub index: approved::Index,
10089			}
10090			pub mod approved {
10091				use super::runtime_types;
10092				pub type Index = ::core::primitive::u32;
10093			}
10094			impl ::subxt::ext::subxt_core::events::StaticEvent for Approved {
10095				const PALLET: &'static str = "Referenda";
10096				const EVENT: &'static str = "Approved";
10097			}
10098			#[derive(
10099				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10100				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10101				Debug,
10102			)]
10103			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10104			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10105			#[doc = "A proposal has been rejected by referendum."]
10106			pub struct Rejected {
10107				pub index: rejected::Index,
10108				pub tally: rejected::Tally,
10109			}
10110			pub mod rejected {
10111				use super::runtime_types;
10112				pub type Index = ::core::primitive::u32;
10113				pub type Tally =
10114					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
10115			}
10116			impl ::subxt::ext::subxt_core::events::StaticEvent for Rejected {
10117				const PALLET: &'static str = "Referenda";
10118				const EVENT: &'static str = "Rejected";
10119			}
10120			#[derive(
10121				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10122				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10123				Debug,
10124			)]
10125			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10126			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10127			#[doc = "A referendum has been timed out without being decided."]
10128			pub struct TimedOut {
10129				pub index: timed_out::Index,
10130				pub tally: timed_out::Tally,
10131			}
10132			pub mod timed_out {
10133				use super::runtime_types;
10134				pub type Index = ::core::primitive::u32;
10135				pub type Tally =
10136					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
10137			}
10138			impl ::subxt::ext::subxt_core::events::StaticEvent for TimedOut {
10139				const PALLET: &'static str = "Referenda";
10140				const EVENT: &'static str = "TimedOut";
10141			}
10142			#[derive(
10143				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10144				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10145				Debug,
10146			)]
10147			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10148			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10149			#[doc = "A referendum has been cancelled."]
10150			pub struct Cancelled {
10151				pub index: cancelled::Index,
10152				pub tally: cancelled::Tally,
10153			}
10154			pub mod cancelled {
10155				use super::runtime_types;
10156				pub type Index = ::core::primitive::u32;
10157				pub type Tally =
10158					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
10159			}
10160			impl ::subxt::ext::subxt_core::events::StaticEvent for Cancelled {
10161				const PALLET: &'static str = "Referenda";
10162				const EVENT: &'static str = "Cancelled";
10163			}
10164			#[derive(
10165				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10166				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10167				Debug,
10168			)]
10169			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10170			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10171			#[doc = "A referendum has been killed."]
10172			pub struct Killed {
10173				pub index: killed::Index,
10174				pub tally: killed::Tally,
10175			}
10176			pub mod killed {
10177				use super::runtime_types;
10178				pub type Index = ::core::primitive::u32;
10179				pub type Tally =
10180					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
10181			}
10182			impl ::subxt::ext::subxt_core::events::StaticEvent for Killed {
10183				const PALLET: &'static str = "Referenda";
10184				const EVENT: &'static str = "Killed";
10185			}
10186			#[derive(
10187				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10188				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10189				Debug,
10190			)]
10191			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10192			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10193			#[doc = "The submission deposit has been refunded."]
10194			pub struct SubmissionDepositRefunded {
10195				pub index: submission_deposit_refunded::Index,
10196				pub who: submission_deposit_refunded::Who,
10197				pub amount: submission_deposit_refunded::Amount,
10198			}
10199			pub mod submission_deposit_refunded {
10200				use super::runtime_types;
10201				pub type Index = ::core::primitive::u32;
10202				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
10203				pub type Amount = ::core::primitive::u128;
10204			}
10205			impl ::subxt::ext::subxt_core::events::StaticEvent for SubmissionDepositRefunded {
10206				const PALLET: &'static str = "Referenda";
10207				const EVENT: &'static str = "SubmissionDepositRefunded";
10208			}
10209			#[derive(
10210				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10211				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10212				Debug,
10213			)]
10214			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10215			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10216			#[doc = "Metadata for a referendum has been set."]
10217			pub struct MetadataSet {
10218				pub index: metadata_set::Index,
10219				pub hash: metadata_set::Hash,
10220			}
10221			pub mod metadata_set {
10222				use super::runtime_types;
10223				pub type Index = ::core::primitive::u32;
10224				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
10225			}
10226			impl ::subxt::ext::subxt_core::events::StaticEvent for MetadataSet {
10227				const PALLET: &'static str = "Referenda";
10228				const EVENT: &'static str = "MetadataSet";
10229			}
10230			#[derive(
10231				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10232				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10233				Debug,
10234			)]
10235			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10236			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10237			#[doc = "Metadata for a referendum has been cleared."]
10238			pub struct MetadataCleared {
10239				pub index: metadata_cleared::Index,
10240				pub hash: metadata_cleared::Hash,
10241			}
10242			pub mod metadata_cleared {
10243				use super::runtime_types;
10244				pub type Index = ::core::primitive::u32;
10245				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
10246			}
10247			impl ::subxt::ext::subxt_core::events::StaticEvent for MetadataCleared {
10248				const PALLET: &'static str = "Referenda";
10249				const EVENT: &'static str = "MetadataCleared";
10250			}
10251		}
10252		pub mod storage {
10253			use super::runtime_types;
10254			pub mod types {
10255				use super::runtime_types;
10256				pub mod referendum_count {
10257					use super::runtime_types;
10258					pub type ReferendumCount = ::core::primitive::u32;
10259				}
10260				pub mod referendum_info_for {
10261					use super::runtime_types;
10262					pub type ReferendumInfoFor =
10263						runtime_types::pallet_referenda::types::ReferendumInfo<
10264							::core::primitive::u16,
10265							runtime_types::quantus_runtime::OriginCaller,
10266							::core::primitive::u32,
10267							runtime_types::frame_support::traits::preimages::Bounded<
10268								runtime_types::quantus_runtime::RuntimeCall,
10269								runtime_types::qp_poseidon::PoseidonHasher,
10270							>,
10271							::core::primitive::u128,
10272							runtime_types::pallet_conviction_voting::types::Tally<
10273								::core::primitive::u128,
10274							>,
10275							::subxt::ext::subxt_core::utils::AccountId32,
10276							(
10277								runtime_types::qp_scheduler::BlockNumberOrTimestamp<
10278									::core::primitive::u32,
10279									::core::primitive::u64,
10280								>,
10281								::core::primitive::u32,
10282							),
10283						>;
10284					pub type Param0 = ::core::primitive::u32;
10285				}
10286				pub mod track_queue {
10287					use super::runtime_types;
10288					pub type TrackQueue =
10289						runtime_types::bounded_collections::bounded_vec::BoundedVec<(
10290							::core::primitive::u32,
10291							::core::primitive::u128,
10292						)>;
10293					pub type Param0 = ::core::primitive::u16;
10294				}
10295				pub mod deciding_count {
10296					use super::runtime_types;
10297					pub type DecidingCount = ::core::primitive::u32;
10298					pub type Param0 = ::core::primitive::u16;
10299				}
10300				pub mod metadata_of {
10301					use super::runtime_types;
10302					pub type MetadataOf = ::subxt::ext::subxt_core::utils::H256;
10303					pub type Param0 = ::core::primitive::u32;
10304				}
10305			}
10306			pub struct StorageApi;
10307			impl StorageApi {
10308				#[doc = " The next free referendum index, aka the number of referenda started so far."]
10309				pub fn referendum_count(
10310					&self,
10311				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10312					(),
10313					types::referendum_count::ReferendumCount,
10314					::subxt::ext::subxt_core::utils::Yes,
10315					::subxt::ext::subxt_core::utils::Yes,
10316					(),
10317				> {
10318					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10319						"Referenda",
10320						"ReferendumCount",
10321						(),
10322						[
10323							64u8, 145u8, 232u8, 153u8, 121u8, 87u8, 128u8, 253u8, 170u8, 192u8,
10324							139u8, 18u8, 0u8, 33u8, 243u8, 11u8, 238u8, 222u8, 244u8, 5u8, 247u8,
10325							198u8, 149u8, 31u8, 122u8, 208u8, 86u8, 179u8, 166u8, 167u8, 93u8,
10326							67u8,
10327						],
10328					)
10329				}
10330				#[doc = " Information concerning any given referendum."]
10331				pub fn referendum_info_for_iter(
10332					&self,
10333				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10334					(),
10335					types::referendum_info_for::ReferendumInfoFor,
10336					(),
10337					(),
10338					::subxt::ext::subxt_core::utils::Yes,
10339				> {
10340					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10341						"Referenda",
10342						"ReferendumInfoFor",
10343						(),
10344						[
10345							141u8, 184u8, 126u8, 61u8, 215u8, 190u8, 148u8, 93u8, 186u8, 72u8,
10346							110u8, 37u8, 82u8, 237u8, 65u8, 197u8, 69u8, 83u8, 173u8, 114u8, 117u8,
10347							72u8, 146u8, 28u8, 235u8, 60u8, 188u8, 247u8, 80u8, 240u8, 16u8, 194u8,
10348						],
10349					)
10350				}
10351				#[doc = " Information concerning any given referendum."]
10352				pub fn referendum_info_for(
10353					&self,
10354					_0: types::referendum_info_for::Param0,
10355				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10356					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
10357						types::referendum_info_for::Param0,
10358					>,
10359					types::referendum_info_for::ReferendumInfoFor,
10360					::subxt::ext::subxt_core::utils::Yes,
10361					(),
10362					(),
10363				> {
10364					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10365						"Referenda",
10366						"ReferendumInfoFor",
10367						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
10368						[
10369							141u8, 184u8, 126u8, 61u8, 215u8, 190u8, 148u8, 93u8, 186u8, 72u8,
10370							110u8, 37u8, 82u8, 237u8, 65u8, 197u8, 69u8, 83u8, 173u8, 114u8, 117u8,
10371							72u8, 146u8, 28u8, 235u8, 60u8, 188u8, 247u8, 80u8, 240u8, 16u8, 194u8,
10372						],
10373					)
10374				}
10375				#[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"]
10376				#[doc = " conviction-weighted approvals."]
10377				#[doc = ""]
10378				#[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."]
10379				pub fn track_queue_iter(
10380					&self,
10381				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10382					(),
10383					types::track_queue::TrackQueue,
10384					(),
10385					::subxt::ext::subxt_core::utils::Yes,
10386					::subxt::ext::subxt_core::utils::Yes,
10387				> {
10388					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10389						"Referenda",
10390						"TrackQueue",
10391						(),
10392						[
10393							125u8, 59u8, 111u8, 68u8, 27u8, 236u8, 82u8, 55u8, 83u8, 159u8, 105u8,
10394							20u8, 241u8, 118u8, 58u8, 141u8, 103u8, 60u8, 246u8, 49u8, 121u8,
10395							183u8, 7u8, 203u8, 225u8, 67u8, 132u8, 79u8, 150u8, 107u8, 71u8, 89u8,
10396						],
10397					)
10398				}
10399				#[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"]
10400				#[doc = " conviction-weighted approvals."]
10401				#[doc = ""]
10402				#[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."]
10403				pub fn track_queue(
10404					&self,
10405					_0: types::track_queue::Param0,
10406				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10407					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
10408						types::track_queue::Param0,
10409					>,
10410					types::track_queue::TrackQueue,
10411					::subxt::ext::subxt_core::utils::Yes,
10412					::subxt::ext::subxt_core::utils::Yes,
10413					(),
10414				> {
10415					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10416						"Referenda",
10417						"TrackQueue",
10418						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
10419						[
10420							125u8, 59u8, 111u8, 68u8, 27u8, 236u8, 82u8, 55u8, 83u8, 159u8, 105u8,
10421							20u8, 241u8, 118u8, 58u8, 141u8, 103u8, 60u8, 246u8, 49u8, 121u8,
10422							183u8, 7u8, 203u8, 225u8, 67u8, 132u8, 79u8, 150u8, 107u8, 71u8, 89u8,
10423						],
10424					)
10425				}
10426				#[doc = " The number of referenda being decided currently."]
10427				pub fn deciding_count_iter(
10428					&self,
10429				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10430					(),
10431					types::deciding_count::DecidingCount,
10432					(),
10433					::subxt::ext::subxt_core::utils::Yes,
10434					::subxt::ext::subxt_core::utils::Yes,
10435				> {
10436					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10437						"Referenda",
10438						"DecidingCount",
10439						(),
10440						[
10441							203u8, 89u8, 158u8, 179u8, 194u8, 82u8, 248u8, 162u8, 93u8, 140u8,
10442							146u8, 51u8, 110u8, 232u8, 51u8, 1u8, 128u8, 212u8, 199u8, 14u8, 182u8,
10443							103u8, 47u8, 252u8, 126u8, 108u8, 166u8, 69u8, 252u8, 179u8, 126u8,
10444							245u8,
10445						],
10446					)
10447				}
10448				#[doc = " The number of referenda being decided currently."]
10449				pub fn deciding_count(
10450					&self,
10451					_0: types::deciding_count::Param0,
10452				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10453					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
10454						types::deciding_count::Param0,
10455					>,
10456					types::deciding_count::DecidingCount,
10457					::subxt::ext::subxt_core::utils::Yes,
10458					::subxt::ext::subxt_core::utils::Yes,
10459					(),
10460				> {
10461					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10462						"Referenda",
10463						"DecidingCount",
10464						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
10465						[
10466							203u8, 89u8, 158u8, 179u8, 194u8, 82u8, 248u8, 162u8, 93u8, 140u8,
10467							146u8, 51u8, 110u8, 232u8, 51u8, 1u8, 128u8, 212u8, 199u8, 14u8, 182u8,
10468							103u8, 47u8, 252u8, 126u8, 108u8, 166u8, 69u8, 252u8, 179u8, 126u8,
10469							245u8,
10470						],
10471					)
10472				}
10473				#[doc = " The metadata is a general information concerning the referendum."]
10474				#[doc = " The `Hash` refers to the preimage of the `Preimages` provider which can be a JSON"]
10475				#[doc = " dump or IPFS hash of a JSON file."]
10476				#[doc = ""]
10477				#[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"]
10478				#[doc = " large preimages."]
10479				pub fn metadata_of_iter(
10480					&self,
10481				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10482					(),
10483					types::metadata_of::MetadataOf,
10484					(),
10485					(),
10486					::subxt::ext::subxt_core::utils::Yes,
10487				> {
10488					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10489						"Referenda",
10490						"MetadataOf",
10491						(),
10492						[
10493							159u8, 250u8, 56u8, 189u8, 247u8, 165u8, 206u8, 166u8, 91u8, 139u8,
10494							124u8, 164u8, 25u8, 246u8, 199u8, 36u8, 159u8, 56u8, 227u8, 136u8, 4u8,
10495							45u8, 193u8, 72u8, 200u8, 164u8, 39u8, 207u8, 224u8, 124u8, 191u8,
10496							110u8,
10497						],
10498					)
10499				}
10500				#[doc = " The metadata is a general information concerning the referendum."]
10501				#[doc = " The `Hash` refers to the preimage of the `Preimages` provider which can be a JSON"]
10502				#[doc = " dump or IPFS hash of a JSON file."]
10503				#[doc = ""]
10504				#[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"]
10505				#[doc = " large preimages."]
10506				pub fn metadata_of(
10507					&self,
10508					_0: types::metadata_of::Param0,
10509				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10510					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
10511						types::metadata_of::Param0,
10512					>,
10513					types::metadata_of::MetadataOf,
10514					::subxt::ext::subxt_core::utils::Yes,
10515					(),
10516					(),
10517				> {
10518					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10519						"Referenda",
10520						"MetadataOf",
10521						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
10522						[
10523							159u8, 250u8, 56u8, 189u8, 247u8, 165u8, 206u8, 166u8, 91u8, 139u8,
10524							124u8, 164u8, 25u8, 246u8, 199u8, 36u8, 159u8, 56u8, 227u8, 136u8, 4u8,
10525							45u8, 193u8, 72u8, 200u8, 164u8, 39u8, 207u8, 224u8, 124u8, 191u8,
10526							110u8,
10527						],
10528					)
10529				}
10530			}
10531		}
10532		pub mod constants {
10533			use super::runtime_types;
10534			pub struct ConstantsApi;
10535			impl ConstantsApi {
10536				#[doc = " The minimum amount to be used as a deposit for a public referendum proposal."]
10537				pub fn submission_deposit(
10538					&self,
10539				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
10540					::core::primitive::u128,
10541				> {
10542					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
10543						"Referenda",
10544						"SubmissionDeposit",
10545						[
10546							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
10547							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
10548							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
10549						],
10550					)
10551				}
10552				#[doc = " Maximum size of the referendum queue for a single track."]
10553				pub fn max_queued(
10554					&self,
10555				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
10556					::core::primitive::u32,
10557				> {
10558					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
10559						"Referenda",
10560						"MaxQueued",
10561						[
10562							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
10563							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
10564							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
10565							145u8,
10566						],
10567					)
10568				}
10569				#[doc = " The number of blocks after submission that a referendum must begin being decided by."]
10570				#[doc = " Once this passes, then anyone may cancel the referendum."]
10571				pub fn undeciding_timeout(
10572					&self,
10573				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
10574					::core::primitive::u32,
10575				> {
10576					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
10577						"Referenda",
10578						"UndecidingTimeout",
10579						[
10580							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
10581							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
10582							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
10583							145u8,
10584						],
10585					)
10586				}
10587				#[doc = " Quantization level for the referendum wakeup scheduler. A higher number will result in"]
10588				#[doc = " fewer storage reads/writes needed for smaller voters, but also result in delays to the"]
10589				#[doc = " automatic referendum status changes. Explicit servicing instructions are unaffected."]
10590				pub fn alarm_interval(
10591					&self,
10592				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
10593					::core::primitive::u32,
10594				> {
10595					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
10596						"Referenda",
10597						"AlarmInterval",
10598						[
10599							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
10600							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
10601							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
10602							145u8,
10603						],
10604					)
10605				}
10606				#[doc = " A list of tracks."]
10607				#[doc = ""]
10608				#[doc = " Note: if the tracks are dynamic, the value in the static metadata might be inaccurate."]
10609				pub fn tracks(
10610					&self,
10611				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
10612					::subxt::ext::subxt_core::alloc::vec::Vec<(
10613						::core::primitive::u16,
10614						runtime_types::pallet_referenda::types::TrackDetails<
10615							::core::primitive::u128,
10616							::core::primitive::u32,
10617							::subxt::ext::subxt_core::alloc::string::String,
10618						>,
10619					)>,
10620				> {
10621					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
10622						"Referenda",
10623						"Tracks",
10624						[
10625							35u8, 226u8, 207u8, 234u8, 184u8, 139u8, 187u8, 184u8, 128u8, 199u8,
10626							227u8, 15u8, 31u8, 196u8, 5u8, 207u8, 138u8, 174u8, 130u8, 201u8,
10627							200u8, 113u8, 86u8, 93u8, 221u8, 243u8, 229u8, 24u8, 18u8, 150u8, 56u8,
10628							159u8,
10629						],
10630					)
10631				}
10632			}
10633		}
10634	}
10635	pub mod reversible_transfers {
10636		use super::{root_mod, runtime_types};
10637		#[doc = "The `Error` enum of this pallet."]
10638		pub type Error = runtime_types::pallet_reversible_transfers::pallet::Error;
10639		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
10640		pub type Call = runtime_types::pallet_reversible_transfers::pallet::Call;
10641		pub mod calls {
10642			use super::{root_mod, runtime_types};
10643			type DispatchError = runtime_types::sp_runtime::DispatchError;
10644			pub mod types {
10645				use super::runtime_types;
10646				#[derive(
10647					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10648					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10649					Debug,
10650				)]
10651				#[decode_as_type(
10652					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
10653				)]
10654				#[encode_as_type(
10655					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
10656				)]
10657				#[doc = "Enable high-security for the calling account with a specified"]
10658				#[doc = "reversibility delay."]
10659				#[doc = ""]
10660				#[doc = "Recoverer and interceptor (aka guardian) could be the same account or"]
10661				#[doc = "different accounts."]
10662				#[doc = ""]
10663				#[doc = "Once an account is set as high security it can only make reversible"]
10664				#[doc = "transfers. It is not allowed any other calls."]
10665				#[doc = ""]
10666				#[doc = "- `delay`: The reversibility time for any transfer made by the high"]
10667				#[doc = "security account."]
10668				#[doc = "- interceptor: The account that can intercept transctions from the"]
10669				#[doc = "high security account."]
10670				pub struct SetHighSecurity {
10671					pub delay: set_high_security::Delay,
10672					pub interceptor: set_high_security::Interceptor,
10673				}
10674				pub mod set_high_security {
10675					use super::runtime_types;
10676					pub type Delay = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
10677						::core::primitive::u32,
10678						::core::primitive::u64,
10679					>;
10680					pub type Interceptor = ::subxt::ext::subxt_core::utils::AccountId32;
10681				}
10682				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetHighSecurity {
10683					const PALLET: &'static str = "ReversibleTransfers";
10684					const CALL: &'static str = "set_high_security";
10685				}
10686				#[derive(
10687					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10688					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10689					Debug,
10690				)]
10691				#[decode_as_type(
10692					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
10693				)]
10694				#[encode_as_type(
10695					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
10696				)]
10697				#[doc = "Cancel a pending reversible transaction scheduled by the caller."]
10698				#[doc = ""]
10699				#[doc = "- `tx_id`: The unique identifier of the transaction to cancel."]
10700				pub struct Cancel {
10701					pub tx_id: cancel::TxId,
10702				}
10703				pub mod cancel {
10704					use super::runtime_types;
10705					pub type TxId = ::subxt::ext::subxt_core::utils::H256;
10706				}
10707				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Cancel {
10708					const PALLET: &'static str = "ReversibleTransfers";
10709					const CALL: &'static str = "cancel";
10710				}
10711				#[derive(
10712					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10713					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10714					Debug,
10715				)]
10716				#[decode_as_type(
10717					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
10718				)]
10719				#[encode_as_type(
10720					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
10721				)]
10722				#[doc = "Called by the Scheduler to finalize the scheduled task/call"]
10723				#[doc = ""]
10724				#[doc = "- `tx_id`: The unique id of the transaction to finalize and dispatch."]
10725				pub struct ExecuteTransfer {
10726					pub tx_id: execute_transfer::TxId,
10727				}
10728				pub mod execute_transfer {
10729					use super::runtime_types;
10730					pub type TxId = ::subxt::ext::subxt_core::utils::H256;
10731				}
10732				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ExecuteTransfer {
10733					const PALLET: &'static str = "ReversibleTransfers";
10734					const CALL: &'static str = "execute_transfer";
10735				}
10736				#[derive(
10737					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10738					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10739					Debug,
10740				)]
10741				#[decode_as_type(
10742					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
10743				)]
10744				#[encode_as_type(
10745					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
10746				)]
10747				#[doc = "Schedule a transaction for delayed execution."]
10748				pub struct ScheduleTransfer {
10749					pub dest: schedule_transfer::Dest,
10750					pub amount: schedule_transfer::Amount,
10751				}
10752				pub mod schedule_transfer {
10753					use super::runtime_types;
10754					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
10755						::subxt::ext::subxt_core::utils::AccountId32,
10756						(),
10757					>;
10758					pub type Amount = ::core::primitive::u128;
10759				}
10760				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleTransfer {
10761					const PALLET: &'static str = "ReversibleTransfers";
10762					const CALL: &'static str = "schedule_transfer";
10763				}
10764				#[derive(
10765					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10766					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10767					Debug,
10768				)]
10769				#[decode_as_type(
10770					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
10771				)]
10772				#[encode_as_type(
10773					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
10774				)]
10775				#[doc = "Schedule a transaction for delayed execution with a custom, one-time delay."]
10776				#[doc = ""]
10777				#[doc = "This can only be used by accounts that have *not* set up a persistent"]
10778				#[doc = "reversibility configuration with `set_high_security`."]
10779				#[doc = ""]
10780				#[doc = "- `delay`: The time (in blocks or milliseconds) before the transaction executes."]
10781				pub struct ScheduleTransferWithDelay {
10782					pub dest: schedule_transfer_with_delay::Dest,
10783					pub amount: schedule_transfer_with_delay::Amount,
10784					pub delay: schedule_transfer_with_delay::Delay,
10785				}
10786				pub mod schedule_transfer_with_delay {
10787					use super::runtime_types;
10788					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
10789						::subxt::ext::subxt_core::utils::AccountId32,
10790						(),
10791					>;
10792					pub type Amount = ::core::primitive::u128;
10793					pub type Delay = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
10794						::core::primitive::u32,
10795						::core::primitive::u64,
10796					>;
10797				}
10798				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleTransferWithDelay {
10799					const PALLET: &'static str = "ReversibleTransfers";
10800					const CALL: &'static str = "schedule_transfer_with_delay";
10801				}
10802				#[derive(
10803					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10804					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10805					Debug,
10806				)]
10807				#[decode_as_type(
10808					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
10809				)]
10810				#[encode_as_type(
10811					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
10812				)]
10813				#[doc = "Schedule an asset transfer (pallet-assets) for delayed execution using the configured"]
10814				#[doc = "delay."]
10815				pub struct ScheduleAssetTransfer {
10816					pub asset_id: schedule_asset_transfer::AssetId,
10817					pub dest: schedule_asset_transfer::Dest,
10818					pub amount: schedule_asset_transfer::Amount,
10819				}
10820				pub mod schedule_asset_transfer {
10821					use super::runtime_types;
10822					pub type AssetId = ::core::primitive::u32;
10823					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
10824						::subxt::ext::subxt_core::utils::AccountId32,
10825						(),
10826					>;
10827					pub type Amount = ::core::primitive::u128;
10828				}
10829				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleAssetTransfer {
10830					const PALLET: &'static str = "ReversibleTransfers";
10831					const CALL: &'static str = "schedule_asset_transfer";
10832				}
10833				#[derive(
10834					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10835					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10836					Debug,
10837				)]
10838				#[decode_as_type(
10839					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
10840				)]
10841				#[encode_as_type(
10842					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
10843				)]
10844				#[doc = "Schedule an asset transfer (pallet-assets) with a custom one-time delay."]
10845				pub struct ScheduleAssetTransferWithDelay {
10846					pub asset_id: schedule_asset_transfer_with_delay::AssetId,
10847					pub dest: schedule_asset_transfer_with_delay::Dest,
10848					pub amount: schedule_asset_transfer_with_delay::Amount,
10849					pub delay: schedule_asset_transfer_with_delay::Delay,
10850				}
10851				pub mod schedule_asset_transfer_with_delay {
10852					use super::runtime_types;
10853					pub type AssetId = ::core::primitive::u32;
10854					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
10855						::subxt::ext::subxt_core::utils::AccountId32,
10856						(),
10857					>;
10858					pub type Amount = ::core::primitive::u128;
10859					pub type Delay = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
10860						::core::primitive::u32,
10861						::core::primitive::u64,
10862					>;
10863				}
10864				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleAssetTransferWithDelay {
10865					const PALLET: &'static str = "ReversibleTransfers";
10866					const CALL: &'static str = "schedule_asset_transfer_with_delay";
10867				}
10868			}
10869			pub struct TransactionApi;
10870			impl TransactionApi {
10871				#[doc = "Enable high-security for the calling account with a specified"]
10872				#[doc = "reversibility delay."]
10873				#[doc = ""]
10874				#[doc = "Recoverer and interceptor (aka guardian) could be the same account or"]
10875				#[doc = "different accounts."]
10876				#[doc = ""]
10877				#[doc = "Once an account is set as high security it can only make reversible"]
10878				#[doc = "transfers. It is not allowed any other calls."]
10879				#[doc = ""]
10880				#[doc = "- `delay`: The reversibility time for any transfer made by the high"]
10881				#[doc = "security account."]
10882				#[doc = "- interceptor: The account that can intercept transctions from the"]
10883				#[doc = "high security account."]
10884				pub fn set_high_security(
10885					&self,
10886					delay: types::set_high_security::Delay,
10887					interceptor: types::set_high_security::Interceptor,
10888				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetHighSecurity>
10889				{
10890					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10891						"ReversibleTransfers",
10892						"set_high_security",
10893						types::SetHighSecurity { delay, interceptor },
10894						[
10895							202u8, 17u8, 43u8, 37u8, 215u8, 198u8, 42u8, 183u8, 53u8, 124u8, 140u8,
10896							34u8, 112u8, 230u8, 55u8, 168u8, 242u8, 249u8, 91u8, 185u8, 244u8,
10897							81u8, 40u8, 231u8, 121u8, 155u8, 202u8, 76u8, 137u8, 7u8, 225u8, 184u8,
10898						],
10899					)
10900				}
10901				#[doc = "Cancel a pending reversible transaction scheduled by the caller."]
10902				#[doc = ""]
10903				#[doc = "- `tx_id`: The unique identifier of the transaction to cancel."]
10904				pub fn cancel(
10905					&self,
10906					tx_id: types::cancel::TxId,
10907				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Cancel> {
10908					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10909						"ReversibleTransfers",
10910						"cancel",
10911						types::Cancel { tx_id },
10912						[
10913							228u8, 150u8, 194u8, 119u8, 243u8, 126u8, 112u8, 227u8, 70u8, 160u8,
10914							132u8, 82u8, 146u8, 162u8, 195u8, 149u8, 236u8, 98u8, 18u8, 44u8,
10915							151u8, 249u8, 193u8, 176u8, 186u8, 98u8, 224u8, 103u8, 191u8, 165u8,
10916							37u8, 47u8,
10917						],
10918					)
10919				}
10920				#[doc = "Called by the Scheduler to finalize the scheduled task/call"]
10921				#[doc = ""]
10922				#[doc = "- `tx_id`: The unique id of the transaction to finalize and dispatch."]
10923				pub fn execute_transfer(
10924					&self,
10925					tx_id: types::execute_transfer::TxId,
10926				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ExecuteTransfer>
10927				{
10928					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10929						"ReversibleTransfers",
10930						"execute_transfer",
10931						types::ExecuteTransfer { tx_id },
10932						[
10933							164u8, 38u8, 166u8, 81u8, 63u8, 235u8, 167u8, 178u8, 97u8, 80u8, 62u8,
10934							147u8, 3u8, 163u8, 129u8, 25u8, 98u8, 59u8, 17u8, 137u8, 6u8, 183u8,
10935							189u8, 51u8, 24u8, 211u8, 157u8, 108u8, 229u8, 253u8, 37u8, 78u8,
10936						],
10937					)
10938				}
10939				#[doc = "Schedule a transaction for delayed execution."]
10940				pub fn schedule_transfer(
10941					&self,
10942					dest: types::schedule_transfer::Dest,
10943					amount: types::schedule_transfer::Amount,
10944				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ScheduleTransfer>
10945				{
10946					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10947						"ReversibleTransfers",
10948						"schedule_transfer",
10949						types::ScheduleTransfer { dest, amount },
10950						[
10951							38u8, 219u8, 206u8, 56u8, 252u8, 195u8, 52u8, 74u8, 113u8, 125u8,
10952							107u8, 35u8, 236u8, 39u8, 31u8, 18u8, 250u8, 177u8, 174u8, 154u8,
10953							149u8, 122u8, 183u8, 50u8, 45u8, 111u8, 100u8, 249u8, 102u8, 82u8,
10954							72u8, 130u8,
10955						],
10956					)
10957				}
10958				#[doc = "Schedule a transaction for delayed execution with a custom, one-time delay."]
10959				#[doc = ""]
10960				#[doc = "This can only be used by accounts that have *not* set up a persistent"]
10961				#[doc = "reversibility configuration with `set_high_security`."]
10962				#[doc = ""]
10963				#[doc = "- `delay`: The time (in blocks or milliseconds) before the transaction executes."]
10964				pub fn schedule_transfer_with_delay(
10965					&self,
10966					dest: types::schedule_transfer_with_delay::Dest,
10967					amount: types::schedule_transfer_with_delay::Amount,
10968					delay: types::schedule_transfer_with_delay::Delay,
10969				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
10970					types::ScheduleTransferWithDelay,
10971				> {
10972					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10973						"ReversibleTransfers",
10974						"schedule_transfer_with_delay",
10975						types::ScheduleTransferWithDelay { dest, amount, delay },
10976						[
10977							254u8, 158u8, 173u8, 217u8, 107u8, 80u8, 229u8, 252u8, 123u8, 46u8,
10978							177u8, 40u8, 25u8, 15u8, 32u8, 22u8, 224u8, 52u8, 242u8, 48u8, 242u8,
10979							84u8, 242u8, 143u8, 111u8, 12u8, 82u8, 161u8, 129u8, 86u8, 161u8,
10980							216u8,
10981						],
10982					)
10983				}
10984				#[doc = "Schedule an asset transfer (pallet-assets) for delayed execution using the configured"]
10985				#[doc = "delay."]
10986				pub fn schedule_asset_transfer(
10987					&self,
10988					asset_id: types::schedule_asset_transfer::AssetId,
10989					dest: types::schedule_asset_transfer::Dest,
10990					amount: types::schedule_asset_transfer::Amount,
10991				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
10992					types::ScheduleAssetTransfer,
10993				> {
10994					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10995						"ReversibleTransfers",
10996						"schedule_asset_transfer",
10997						types::ScheduleAssetTransfer { asset_id, dest, amount },
10998						[
10999							125u8, 51u8, 89u8, 31u8, 247u8, 200u8, 156u8, 209u8, 28u8, 170u8,
11000							203u8, 254u8, 40u8, 131u8, 155u8, 166u8, 65u8, 152u8, 101u8, 198u8,
11001							70u8, 129u8, 5u8, 89u8, 220u8, 189u8, 255u8, 87u8, 58u8, 24u8, 234u8,
11002							42u8,
11003						],
11004					)
11005				}
11006				#[doc = "Schedule an asset transfer (pallet-assets) with a custom one-time delay."]
11007				pub fn schedule_asset_transfer_with_delay(
11008					&self,
11009					asset_id: types::schedule_asset_transfer_with_delay::AssetId,
11010					dest: types::schedule_asset_transfer_with_delay::Dest,
11011					amount: types::schedule_asset_transfer_with_delay::Amount,
11012					delay: types::schedule_asset_transfer_with_delay::Delay,
11013				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
11014					types::ScheduleAssetTransferWithDelay,
11015				> {
11016					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11017						"ReversibleTransfers",
11018						"schedule_asset_transfer_with_delay",
11019						types::ScheduleAssetTransferWithDelay { asset_id, dest, amount, delay },
11020						[
11021							249u8, 59u8, 121u8, 27u8, 78u8, 202u8, 252u8, 120u8, 76u8, 102u8, 33u8,
11022							232u8, 185u8, 78u8, 8u8, 157u8, 139u8, 72u8, 110u8, 91u8, 170u8, 179u8,
11023							89u8, 250u8, 77u8, 26u8, 160u8, 252u8, 62u8, 179u8, 128u8, 216u8,
11024						],
11025					)
11026				}
11027			}
11028		}
11029		#[doc = "The `Event` enum of this pallet"]
11030		pub type Event = runtime_types::pallet_reversible_transfers::pallet::Event;
11031		pub mod events {
11032			use super::runtime_types;
11033			#[derive(
11034				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11035				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11036				Debug,
11037			)]
11038			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
11039			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
11040			#[doc = "A user has enabled their high-security settings."]
11041			#[doc = "[who, interceptor, recoverer, delay]"]
11042			pub struct HighSecuritySet {
11043				pub who: high_security_set::Who,
11044				pub interceptor: high_security_set::Interceptor,
11045				pub delay: high_security_set::Delay,
11046			}
11047			pub mod high_security_set {
11048				use super::runtime_types;
11049				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
11050				pub type Interceptor = ::subxt::ext::subxt_core::utils::AccountId32;
11051				pub type Delay = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
11052					::core::primitive::u32,
11053					::core::primitive::u64,
11054				>;
11055			}
11056			impl ::subxt::ext::subxt_core::events::StaticEvent for HighSecuritySet {
11057				const PALLET: &'static str = "ReversibleTransfers";
11058				const EVENT: &'static str = "HighSecuritySet";
11059			}
11060			#[derive(
11061				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11062				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11063				Debug,
11064			)]
11065			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
11066			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
11067			#[doc = "A transaction has been intercepted and scheduled for delayed execution."]
11068			#[doc = "[from, to, interceptor, amount, tx_id, execute_at_moment]"]
11069			pub struct TransactionScheduled {
11070				pub from: transaction_scheduled::From,
11071				pub to: transaction_scheduled::To,
11072				pub interceptor: transaction_scheduled::Interceptor,
11073				pub asset_id: transaction_scheduled::AssetId,
11074				pub amount: transaction_scheduled::Amount,
11075				pub tx_id: transaction_scheduled::TxId,
11076				pub execute_at: transaction_scheduled::ExecuteAt,
11077			}
11078			pub mod transaction_scheduled {
11079				use super::runtime_types;
11080				pub type From = ::subxt::ext::subxt_core::utils::AccountId32;
11081				pub type To = ::subxt::ext::subxt_core::utils::AccountId32;
11082				pub type Interceptor = ::subxt::ext::subxt_core::utils::AccountId32;
11083				pub type AssetId = ::core::option::Option<::core::primitive::u32>;
11084				pub type Amount = ::core::primitive::u128;
11085				pub type TxId = ::subxt::ext::subxt_core::utils::H256;
11086				pub type ExecuteAt = runtime_types::qp_scheduler::DispatchTime<
11087					::core::primitive::u32,
11088					::core::primitive::u64,
11089				>;
11090			}
11091			impl ::subxt::ext::subxt_core::events::StaticEvent for TransactionScheduled {
11092				const PALLET: &'static str = "ReversibleTransfers";
11093				const EVENT: &'static str = "TransactionScheduled";
11094			}
11095			#[derive(
11096				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11097				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11098				Debug,
11099			)]
11100			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
11101			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
11102			#[doc = "A scheduled transaction has been successfully cancelled by the owner."]
11103			#[doc = "[who, tx_id]"]
11104			pub struct TransactionCancelled {
11105				pub who: transaction_cancelled::Who,
11106				pub tx_id: transaction_cancelled::TxId,
11107			}
11108			pub mod transaction_cancelled {
11109				use super::runtime_types;
11110				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
11111				pub type TxId = ::subxt::ext::subxt_core::utils::H256;
11112			}
11113			impl ::subxt::ext::subxt_core::events::StaticEvent for TransactionCancelled {
11114				const PALLET: &'static str = "ReversibleTransfers";
11115				const EVENT: &'static str = "TransactionCancelled";
11116			}
11117			#[derive(
11118				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11119				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11120				Debug,
11121			)]
11122			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
11123			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
11124			#[doc = "A scheduled transaction was executed by the scheduler."]
11125			#[doc = "[tx_id, dispatch_result]"]
11126			pub struct TransactionExecuted {
11127				pub tx_id: transaction_executed::TxId,
11128				pub result: transaction_executed::Result,
11129			}
11130			pub mod transaction_executed {
11131				use super::runtime_types;
11132				pub type TxId = ::subxt::ext::subxt_core::utils::H256;
11133				pub type Result = ::core::result::Result<
11134					runtime_types::frame_support::dispatch::PostDispatchInfo,
11135					runtime_types::sp_runtime::DispatchErrorWithPostInfo<
11136						runtime_types::frame_support::dispatch::PostDispatchInfo,
11137					>,
11138				>;
11139			}
11140			impl ::subxt::ext::subxt_core::events::StaticEvent for TransactionExecuted {
11141				const PALLET: &'static str = "ReversibleTransfers";
11142				const EVENT: &'static str = "TransactionExecuted";
11143			}
11144		}
11145		pub mod storage {
11146			use super::runtime_types;
11147			pub mod types {
11148				use super::runtime_types;
11149				pub mod high_security_accounts {
11150					use super::runtime_types;
11151					pub type HighSecurityAccounts =
11152						runtime_types::pallet_reversible_transfers::HighSecurityAccountData<
11153							::subxt::ext::subxt_core::utils::AccountId32,
11154							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
11155								::core::primitive::u32,
11156								::core::primitive::u64,
11157							>,
11158						>;
11159					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
11160				}
11161				pub mod pending_transfers {
11162					use super::runtime_types;
11163					pub type PendingTransfers =
11164						runtime_types::pallet_reversible_transfers::PendingTransfer<
11165							::subxt::ext::subxt_core::utils::AccountId32,
11166							::core::primitive::u128,
11167							runtime_types::frame_support::traits::preimages::Bounded<
11168								runtime_types::quantus_runtime::RuntimeCall,
11169								runtime_types::qp_poseidon::PoseidonHasher,
11170							>,
11171						>;
11172					pub type Param0 = ::subxt::ext::subxt_core::utils::H256;
11173				}
11174				pub mod account_pending_index {
11175					use super::runtime_types;
11176					pub type AccountPendingIndex = ::core::primitive::u32;
11177					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
11178				}
11179				pub mod pending_transfers_by_sender {
11180					use super::runtime_types;
11181					pub type PendingTransfersBySender =
11182						runtime_types::bounded_collections::bounded_vec::BoundedVec<
11183							::subxt::ext::subxt_core::utils::H256,
11184						>;
11185					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
11186				}
11187				pub mod pending_transfers_by_recipient {
11188					use super::runtime_types;
11189					pub type PendingTransfersByRecipient =
11190						runtime_types::bounded_collections::bounded_vec::BoundedVec<
11191							::subxt::ext::subxt_core::utils::H256,
11192						>;
11193					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
11194				}
11195				pub mod interceptor_index {
11196					use super::runtime_types;
11197					pub type InterceptorIndex =
11198						runtime_types::bounded_collections::bounded_vec::BoundedVec<
11199							::subxt::ext::subxt_core::utils::AccountId32,
11200						>;
11201					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
11202				}
11203				pub mod global_nonce {
11204					use super::runtime_types;
11205					pub type GlobalNonce = ::core::primitive::u64;
11206				}
11207			}
11208			pub struct StorageApi;
11209			impl StorageApi {
11210				#[doc = " Maps accounts to their chosen reversibility delay period (in milliseconds)."]
11211				#[doc = " Accounts present in this map have reversibility enabled."]
11212				pub fn high_security_accounts_iter(
11213					&self,
11214				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11215					(),
11216					types::high_security_accounts::HighSecurityAccounts,
11217					(),
11218					(),
11219					::subxt::ext::subxt_core::utils::Yes,
11220				> {
11221					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11222						"ReversibleTransfers",
11223						"HighSecurityAccounts",
11224						(),
11225						[
11226							11u8, 143u8, 95u8, 23u8, 55u8, 163u8, 22u8, 238u8, 88u8, 24u8, 50u8,
11227							162u8, 72u8, 98u8, 32u8, 219u8, 231u8, 199u8, 118u8, 150u8, 84u8,
11228							126u8, 225u8, 88u8, 129u8, 200u8, 236u8, 214u8, 187u8, 8u8, 252u8,
11229							120u8,
11230						],
11231					)
11232				}
11233				#[doc = " Maps accounts to their chosen reversibility delay period (in milliseconds)."]
11234				#[doc = " Accounts present in this map have reversibility enabled."]
11235				pub fn high_security_accounts(
11236					&self,
11237					_0: types::high_security_accounts::Param0,
11238				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11239					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
11240						types::high_security_accounts::Param0,
11241					>,
11242					types::high_security_accounts::HighSecurityAccounts,
11243					::subxt::ext::subxt_core::utils::Yes,
11244					(),
11245					(),
11246				> {
11247					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11248						"ReversibleTransfers",
11249						"HighSecurityAccounts",
11250						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
11251						[
11252							11u8, 143u8, 95u8, 23u8, 55u8, 163u8, 22u8, 238u8, 88u8, 24u8, 50u8,
11253							162u8, 72u8, 98u8, 32u8, 219u8, 231u8, 199u8, 118u8, 150u8, 84u8,
11254							126u8, 225u8, 88u8, 129u8, 200u8, 236u8, 214u8, 187u8, 8u8, 252u8,
11255							120u8,
11256						],
11257					)
11258				}
11259				#[doc = " Stores the details of pending transactions scheduled for delayed execution."]
11260				#[doc = " Keyed by the unique transaction ID."]
11261				pub fn pending_transfers_iter(
11262					&self,
11263				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11264					(),
11265					types::pending_transfers::PendingTransfers,
11266					(),
11267					(),
11268					::subxt::ext::subxt_core::utils::Yes,
11269				> {
11270					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11271						"ReversibleTransfers",
11272						"PendingTransfers",
11273						(),
11274						[
11275							226u8, 148u8, 100u8, 60u8, 9u8, 160u8, 164u8, 177u8, 53u8, 236u8, 65u8,
11276							38u8, 207u8, 31u8, 170u8, 79u8, 15u8, 237u8, 127u8, 189u8, 203u8,
11277							147u8, 4u8, 146u8, 13u8, 87u8, 158u8, 163u8, 159u8, 87u8, 98u8, 211u8,
11278						],
11279					)
11280				}
11281				#[doc = " Stores the details of pending transactions scheduled for delayed execution."]
11282				#[doc = " Keyed by the unique transaction ID."]
11283				pub fn pending_transfers(
11284					&self,
11285					_0: types::pending_transfers::Param0,
11286				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11287					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
11288						types::pending_transfers::Param0,
11289					>,
11290					types::pending_transfers::PendingTransfers,
11291					::subxt::ext::subxt_core::utils::Yes,
11292					(),
11293					(),
11294				> {
11295					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11296						"ReversibleTransfers",
11297						"PendingTransfers",
11298						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
11299						[
11300							226u8, 148u8, 100u8, 60u8, 9u8, 160u8, 164u8, 177u8, 53u8, 236u8, 65u8,
11301							38u8, 207u8, 31u8, 170u8, 79u8, 15u8, 237u8, 127u8, 189u8, 203u8,
11302							147u8, 4u8, 146u8, 13u8, 87u8, 158u8, 163u8, 159u8, 87u8, 98u8, 211u8,
11303						],
11304					)
11305				}
11306				#[doc = " Indexes pending transaction IDs per account for efficient lookup and cancellation."]
11307				#[doc = " Also enforces the maximum pending transactions limit per account."]
11308				pub fn account_pending_index_iter(
11309					&self,
11310				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11311					(),
11312					types::account_pending_index::AccountPendingIndex,
11313					(),
11314					::subxt::ext::subxt_core::utils::Yes,
11315					::subxt::ext::subxt_core::utils::Yes,
11316				> {
11317					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11318						"ReversibleTransfers",
11319						"AccountPendingIndex",
11320						(),
11321						[
11322							142u8, 255u8, 15u8, 41u8, 210u8, 84u8, 93u8, 230u8, 194u8, 31u8, 164u8,
11323							88u8, 155u8, 106u8, 130u8, 110u8, 199u8, 137u8, 153u8, 99u8, 154u8,
11324							210u8, 108u8, 136u8, 70u8, 141u8, 242u8, 255u8, 246u8, 19u8, 247u8,
11325							136u8,
11326						],
11327					)
11328				}
11329				#[doc = " Indexes pending transaction IDs per account for efficient lookup and cancellation."]
11330				#[doc = " Also enforces the maximum pending transactions limit per account."]
11331				pub fn account_pending_index(
11332					&self,
11333					_0: types::account_pending_index::Param0,
11334				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11335					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
11336						types::account_pending_index::Param0,
11337					>,
11338					types::account_pending_index::AccountPendingIndex,
11339					::subxt::ext::subxt_core::utils::Yes,
11340					::subxt::ext::subxt_core::utils::Yes,
11341					(),
11342				> {
11343					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11344						"ReversibleTransfers",
11345						"AccountPendingIndex",
11346						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
11347						[
11348							142u8, 255u8, 15u8, 41u8, 210u8, 84u8, 93u8, 230u8, 194u8, 31u8, 164u8,
11349							88u8, 155u8, 106u8, 130u8, 110u8, 199u8, 137u8, 153u8, 99u8, 154u8,
11350							210u8, 108u8, 136u8, 70u8, 141u8, 242u8, 255u8, 246u8, 19u8, 247u8,
11351							136u8,
11352						],
11353					)
11354				}
11355				#[doc = " Maps sender accounts to their list of pending transaction IDs."]
11356				#[doc = " This allows users to query all their outgoing pending transfers."]
11357				pub fn pending_transfers_by_sender_iter(
11358					&self,
11359				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11360					(),
11361					types::pending_transfers_by_sender::PendingTransfersBySender,
11362					(),
11363					::subxt::ext::subxt_core::utils::Yes,
11364					::subxt::ext::subxt_core::utils::Yes,
11365				> {
11366					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11367						"ReversibleTransfers",
11368						"PendingTransfersBySender",
11369						(),
11370						[
11371							183u8, 43u8, 139u8, 203u8, 182u8, 219u8, 60u8, 129u8, 67u8, 30u8, 65u8,
11372							47u8, 105u8, 196u8, 228u8, 154u8, 26u8, 74u8, 84u8, 72u8, 154u8, 220u8,
11373							216u8, 134u8, 207u8, 240u8, 7u8, 190u8, 236u8, 242u8, 184u8, 224u8,
11374						],
11375					)
11376				}
11377				#[doc = " Maps sender accounts to their list of pending transaction IDs."]
11378				#[doc = " This allows users to query all their outgoing pending transfers."]
11379				pub fn pending_transfers_by_sender(
11380					&self,
11381					_0: types::pending_transfers_by_sender::Param0,
11382				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11383					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
11384						types::pending_transfers_by_sender::Param0,
11385					>,
11386					types::pending_transfers_by_sender::PendingTransfersBySender,
11387					::subxt::ext::subxt_core::utils::Yes,
11388					::subxt::ext::subxt_core::utils::Yes,
11389					(),
11390				> {
11391					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11392						"ReversibleTransfers",
11393						"PendingTransfersBySender",
11394						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
11395						[
11396							183u8, 43u8, 139u8, 203u8, 182u8, 219u8, 60u8, 129u8, 67u8, 30u8, 65u8,
11397							47u8, 105u8, 196u8, 228u8, 154u8, 26u8, 74u8, 84u8, 72u8, 154u8, 220u8,
11398							216u8, 134u8, 207u8, 240u8, 7u8, 190u8, 236u8, 242u8, 184u8, 224u8,
11399						],
11400					)
11401				}
11402				#[doc = " Maps recipient accounts to their list of pending incoming transaction IDs."]
11403				#[doc = " This allows users to query all their incoming pending transfers."]
11404				pub fn pending_transfers_by_recipient_iter(
11405					&self,
11406				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11407					(),
11408					types::pending_transfers_by_recipient::PendingTransfersByRecipient,
11409					(),
11410					::subxt::ext::subxt_core::utils::Yes,
11411					::subxt::ext::subxt_core::utils::Yes,
11412				> {
11413					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11414						"ReversibleTransfers",
11415						"PendingTransfersByRecipient",
11416						(),
11417						[
11418							63u8, 141u8, 24u8, 239u8, 201u8, 143u8, 36u8, 152u8, 35u8, 110u8,
11419							112u8, 157u8, 29u8, 61u8, 221u8, 79u8, 209u8, 192u8, 183u8, 29u8,
11420							145u8, 166u8, 238u8, 156u8, 131u8, 203u8, 124u8, 233u8, 210u8, 201u8,
11421							91u8, 212u8,
11422						],
11423					)
11424				}
11425				#[doc = " Maps recipient accounts to their list of pending incoming transaction IDs."]
11426				#[doc = " This allows users to query all their incoming pending transfers."]
11427				pub fn pending_transfers_by_recipient(
11428					&self,
11429					_0: types::pending_transfers_by_recipient::Param0,
11430				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11431					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
11432						types::pending_transfers_by_recipient::Param0,
11433					>,
11434					types::pending_transfers_by_recipient::PendingTransfersByRecipient,
11435					::subxt::ext::subxt_core::utils::Yes,
11436					::subxt::ext::subxt_core::utils::Yes,
11437					(),
11438				> {
11439					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11440						"ReversibleTransfers",
11441						"PendingTransfersByRecipient",
11442						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
11443						[
11444							63u8, 141u8, 24u8, 239u8, 201u8, 143u8, 36u8, 152u8, 35u8, 110u8,
11445							112u8, 157u8, 29u8, 61u8, 221u8, 79u8, 209u8, 192u8, 183u8, 29u8,
11446							145u8, 166u8, 238u8, 156u8, 131u8, 203u8, 124u8, 233u8, 210u8, 201u8,
11447							91u8, 212u8,
11448						],
11449					)
11450				}
11451				#[doc = " Maps interceptor accounts to the list of accounts they can intercept for."]
11452				#[doc = " This allows the UI to efficiently query all accounts for which a given account is an"]
11453				#[doc = " interceptor."]
11454				pub fn interceptor_index_iter(
11455					&self,
11456				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11457					(),
11458					types::interceptor_index::InterceptorIndex,
11459					(),
11460					::subxt::ext::subxt_core::utils::Yes,
11461					::subxt::ext::subxt_core::utils::Yes,
11462				> {
11463					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11464						"ReversibleTransfers",
11465						"InterceptorIndex",
11466						(),
11467						[
11468							7u8, 184u8, 75u8, 107u8, 42u8, 84u8, 188u8, 86u8, 2u8, 227u8, 4u8,
11469							136u8, 109u8, 69u8, 64u8, 123u8, 253u8, 28u8, 174u8, 121u8, 183u8,
11470							154u8, 135u8, 91u8, 125u8, 0u8, 58u8, 132u8, 164u8, 236u8, 182u8,
11471							133u8,
11472						],
11473					)
11474				}
11475				#[doc = " Maps interceptor accounts to the list of accounts they can intercept for."]
11476				#[doc = " This allows the UI to efficiently query all accounts for which a given account is an"]
11477				#[doc = " interceptor."]
11478				pub fn interceptor_index(
11479					&self,
11480					_0: types::interceptor_index::Param0,
11481				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11482					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
11483						types::interceptor_index::Param0,
11484					>,
11485					types::interceptor_index::InterceptorIndex,
11486					::subxt::ext::subxt_core::utils::Yes,
11487					::subxt::ext::subxt_core::utils::Yes,
11488					(),
11489				> {
11490					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11491						"ReversibleTransfers",
11492						"InterceptorIndex",
11493						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
11494						[
11495							7u8, 184u8, 75u8, 107u8, 42u8, 84u8, 188u8, 86u8, 2u8, 227u8, 4u8,
11496							136u8, 109u8, 69u8, 64u8, 123u8, 253u8, 28u8, 174u8, 121u8, 183u8,
11497							154u8, 135u8, 91u8, 125u8, 0u8, 58u8, 132u8, 164u8, 236u8, 182u8,
11498							133u8,
11499						],
11500					)
11501				}
11502				#[doc = " Global nonce for generating unique transaction IDs."]
11503				pub fn global_nonce(
11504					&self,
11505				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11506					(),
11507					types::global_nonce::GlobalNonce,
11508					::subxt::ext::subxt_core::utils::Yes,
11509					::subxt::ext::subxt_core::utils::Yes,
11510					(),
11511				> {
11512					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11513						"ReversibleTransfers",
11514						"GlobalNonce",
11515						(),
11516						[
11517							119u8, 119u8, 84u8, 141u8, 83u8, 67u8, 42u8, 83u8, 51u8, 196u8, 185u8,
11518							39u8, 227u8, 125u8, 142u8, 154u8, 107u8, 62u8, 127u8, 13u8, 54u8,
11519							114u8, 201u8, 6u8, 100u8, 28u8, 202u8, 152u8, 246u8, 202u8, 9u8, 29u8,
11520						],
11521					)
11522				}
11523			}
11524		}
11525		pub mod constants {
11526			use super::runtime_types;
11527			pub struct ConstantsApi;
11528			impl ConstantsApi {
11529				#[doc = " Maximum pending reversible transactions allowed per account. Used for BoundedVec."]
11530				pub fn max_pending_per_account(
11531					&self,
11532				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
11533					::core::primitive::u32,
11534				> {
11535					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
11536						"ReversibleTransfers",
11537						"MaxPendingPerAccount",
11538						[
11539							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
11540							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
11541							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
11542							145u8,
11543						],
11544					)
11545				}
11546				#[doc = " Maximum number of accounts an interceptor can intercept for. Used for BoundedVec."]
11547				pub fn max_interceptor_accounts(
11548					&self,
11549				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
11550					::core::primitive::u32,
11551				> {
11552					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
11553						"ReversibleTransfers",
11554						"MaxInterceptorAccounts",
11555						[
11556							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
11557							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
11558							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
11559							145u8,
11560						],
11561					)
11562				}
11563				#[doc = " The default delay period for reversible transactions if none is specified."]
11564				#[doc = ""]
11565				#[doc = " NOTE: default delay is always in blocks."]
11566				pub fn default_delay(
11567					&self,
11568				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
11569					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
11570						::core::primitive::u32,
11571						::core::primitive::u64,
11572					>,
11573				> {
11574					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
11575						"ReversibleTransfers",
11576						"DefaultDelay",
11577						[
11578							245u8, 29u8, 3u8, 65u8, 154u8, 12u8, 172u8, 71u8, 67u8, 134u8, 71u8,
11579							180u8, 4u8, 9u8, 54u8, 89u8, 6u8, 19u8, 3u8, 168u8, 67u8, 122u8, 197u8,
11580							109u8, 1u8, 228u8, 44u8, 243u8, 228u8, 194u8, 241u8, 227u8,
11581						],
11582					)
11583				}
11584				#[doc = " The minimum delay period allowed for reversible transactions, in blocks."]
11585				pub fn min_delay_period_blocks(
11586					&self,
11587				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
11588					::core::primitive::u32,
11589				> {
11590					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
11591						"ReversibleTransfers",
11592						"MinDelayPeriodBlocks",
11593						[
11594							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
11595							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
11596							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
11597							145u8,
11598						],
11599					)
11600				}
11601				#[doc = " The minimum delay period allowed for reversible transactions, in milliseconds."]
11602				pub fn min_delay_period_moment(
11603					&self,
11604				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
11605					::core::primitive::u64,
11606				> {
11607					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
11608						"ReversibleTransfers",
11609						"MinDelayPeriodMoment",
11610						[
11611							128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8,
11612							59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8,
11613							103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8,
11614							246u8,
11615						],
11616					)
11617				}
11618			}
11619		}
11620	}
11621	pub mod conviction_voting {
11622		use super::{root_mod, runtime_types};
11623		#[doc = "The `Error` enum of this pallet."]
11624		pub type Error = runtime_types::pallet_conviction_voting::pallet::Error;
11625		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
11626		pub type Call = runtime_types::pallet_conviction_voting::pallet::Call;
11627		pub mod calls {
11628			use super::{root_mod, runtime_types};
11629			type DispatchError = runtime_types::sp_runtime::DispatchError;
11630			pub mod types {
11631				use super::runtime_types;
11632				#[derive(
11633					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11634					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11635					Debug,
11636				)]
11637				#[decode_as_type(
11638					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11639				)]
11640				#[encode_as_type(
11641					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11642				)]
11643				#[doc = "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;"]
11644				#[doc = "otherwise it is a vote to keep the status quo."]
11645				#[doc = ""]
11646				#[doc = "The dispatch origin of this call must be _Signed_."]
11647				#[doc = ""]
11648				#[doc = "- `poll_index`: The index of the poll to vote for."]
11649				#[doc = "- `vote`: The vote configuration."]
11650				#[doc = ""]
11651				#[doc = "Weight: `O(R)` where R is the number of polls the voter has voted on."]
11652				pub struct Vote {
11653					#[codec(compact)]
11654					pub poll_index: vote::PollIndex,
11655					pub vote: vote::Vote,
11656				}
11657				pub mod vote {
11658					use super::runtime_types;
11659					pub type PollIndex = ::core::primitive::u32;
11660					pub type Vote = runtime_types::pallet_conviction_voting::vote::AccountVote<
11661						::core::primitive::u128,
11662					>;
11663				}
11664				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Vote {
11665					const PALLET: &'static str = "ConvictionVoting";
11666					const CALL: &'static str = "vote";
11667				}
11668				#[derive(
11669					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11670					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11671					Debug,
11672				)]
11673				#[decode_as_type(
11674					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11675				)]
11676				#[encode_as_type(
11677					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11678				)]
11679				#[doc = "Delegate the voting power (with some given conviction) of the sending account for a"]
11680				#[doc = "particular class of polls."]
11681				#[doc = ""]
11682				#[doc = "The balance delegated is locked for as long as it's delegated, and thereafter for the"]
11683				#[doc = "time appropriate for the conviction's lock period."]
11684				#[doc = ""]
11685				#[doc = "The dispatch origin of this call must be _Signed_, and the signing account must either:"]
11686				#[doc = "  - be delegating already; or"]
11687				#[doc = "  - have no voting activity (if there is, then it will need to be removed through"]
11688				#[doc = "    `remove_vote`)."]
11689				#[doc = ""]
11690				#[doc = "- `to`: The account whose voting the `target` account's voting power will follow."]
11691				#[doc = "- `class`: The class of polls to delegate. To delegate multiple classes, multiple calls"]
11692				#[doc = "  to this function are required."]
11693				#[doc = "- `conviction`: The conviction that will be attached to the delegated votes. When the"]
11694				#[doc = "  account is undelegated, the funds will be locked for the corresponding period."]
11695				#[doc = "- `balance`: The amount of the account's balance to be used in delegating. This must not"]
11696				#[doc = "  be more than the account's current balance."]
11697				#[doc = ""]
11698				#[doc = "Emits `Delegated`."]
11699				#[doc = ""]
11700				#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
11701				#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
11702				pub struct Delegate {
11703					pub class: delegate::Class,
11704					pub to: delegate::To,
11705					pub conviction: delegate::Conviction,
11706					pub balance: delegate::Balance,
11707				}
11708				pub mod delegate {
11709					use super::runtime_types;
11710					pub type Class = ::core::primitive::u16;
11711					pub type To = ::subxt::ext::subxt_core::utils::MultiAddress<
11712						::subxt::ext::subxt_core::utils::AccountId32,
11713						(),
11714					>;
11715					pub type Conviction =
11716						runtime_types::pallet_conviction_voting::conviction::Conviction;
11717					pub type Balance = ::core::primitive::u128;
11718				}
11719				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Delegate {
11720					const PALLET: &'static str = "ConvictionVoting";
11721					const CALL: &'static str = "delegate";
11722				}
11723				#[derive(
11724					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11725					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11726					Debug,
11727				)]
11728				#[decode_as_type(
11729					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11730				)]
11731				#[encode_as_type(
11732					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11733				)]
11734				#[doc = "Undelegate the voting power of the sending account for a particular class of polls."]
11735				#[doc = ""]
11736				#[doc = "Tokens may be unlocked following once an amount of time consistent with the lock period"]
11737				#[doc = "of the conviction with which the delegation was issued has passed."]
11738				#[doc = ""]
11739				#[doc = "The dispatch origin of this call must be _Signed_ and the signing account must be"]
11740				#[doc = "currently delegating."]
11741				#[doc = ""]
11742				#[doc = "- `class`: The class of polls to remove the delegation from."]
11743				#[doc = ""]
11744				#[doc = "Emits `Undelegated`."]
11745				#[doc = ""]
11746				#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
11747				#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
11748				pub struct Undelegate {
11749					pub class: undelegate::Class,
11750				}
11751				pub mod undelegate {
11752					use super::runtime_types;
11753					pub type Class = ::core::primitive::u16;
11754				}
11755				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Undelegate {
11756					const PALLET: &'static str = "ConvictionVoting";
11757					const CALL: &'static str = "undelegate";
11758				}
11759				#[derive(
11760					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11761					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11762					Debug,
11763				)]
11764				#[decode_as_type(
11765					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11766				)]
11767				#[encode_as_type(
11768					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11769				)]
11770				#[doc = "Remove the lock caused by prior voting/delegating which has expired within a particular"]
11771				#[doc = "class."]
11772				#[doc = ""]
11773				#[doc = "The dispatch origin of this call must be _Signed_."]
11774				#[doc = ""]
11775				#[doc = "- `class`: The class of polls to unlock."]
11776				#[doc = "- `target`: The account to remove the lock on."]
11777				#[doc = ""]
11778				#[doc = "Weight: `O(R)` with R number of vote of target."]
11779				pub struct Unlock {
11780					pub class: unlock::Class,
11781					pub target: unlock::Target,
11782				}
11783				pub mod unlock {
11784					use super::runtime_types;
11785					pub type Class = ::core::primitive::u16;
11786					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
11787						::subxt::ext::subxt_core::utils::AccountId32,
11788						(),
11789					>;
11790				}
11791				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Unlock {
11792					const PALLET: &'static str = "ConvictionVoting";
11793					const CALL: &'static str = "unlock";
11794				}
11795				#[derive(
11796					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11797					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11798					Debug,
11799				)]
11800				#[decode_as_type(
11801					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11802				)]
11803				#[encode_as_type(
11804					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11805				)]
11806				#[doc = "Remove a vote for a poll."]
11807				#[doc = ""]
11808				#[doc = "If:"]
11809				#[doc = "- the poll was cancelled, or"]
11810				#[doc = "- the poll is ongoing, or"]
11811				#[doc = "- the poll has ended such that"]
11812				#[doc = "  - the vote of the account was in opposition to the result; or"]
11813				#[doc = "  - there was no conviction to the account's vote; or"]
11814				#[doc = "  - the account made a split vote"]
11815				#[doc = "...then the vote is removed cleanly and a following call to `unlock` may result in more"]
11816				#[doc = "funds being available."]
11817				#[doc = ""]
11818				#[doc = "If, however, the poll has ended and:"]
11819				#[doc = "- it finished corresponding to the vote of the account, and"]
11820				#[doc = "- the account made a standard vote with conviction, and"]
11821				#[doc = "- the lock period of the conviction is not over"]
11822				#[doc = "...then the lock will be aggregated into the overall account's lock, which may involve"]
11823				#[doc = "*overlocking* (where the two locks are combined into a single lock that is the maximum"]
11824				#[doc = "of both the amount locked and the time is it locked for)."]
11825				#[doc = ""]
11826				#[doc = "The dispatch origin of this call must be _Signed_, and the signer must have a vote"]
11827				#[doc = "registered for poll `index`."]
11828				#[doc = ""]
11829				#[doc = "- `index`: The index of poll of the vote to be removed."]
11830				#[doc = "- `class`: Optional parameter, if given it indicates the class of the poll. For polls"]
11831				#[doc = "  which have finished or are cancelled, this must be `Some`."]
11832				#[doc = ""]
11833				#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
11834				#[doc = "  Weight is calculated for the maximum number of vote."]
11835				pub struct RemoveVote {
11836					pub class: remove_vote::Class,
11837					pub index: remove_vote::Index,
11838				}
11839				pub mod remove_vote {
11840					use super::runtime_types;
11841					pub type Class = ::core::option::Option<::core::primitive::u16>;
11842					pub type Index = ::core::primitive::u32;
11843				}
11844				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveVote {
11845					const PALLET: &'static str = "ConvictionVoting";
11846					const CALL: &'static str = "remove_vote";
11847				}
11848				#[derive(
11849					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11850					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11851					Debug,
11852				)]
11853				#[decode_as_type(
11854					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11855				)]
11856				#[encode_as_type(
11857					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11858				)]
11859				#[doc = "Remove a vote for a poll."]
11860				#[doc = ""]
11861				#[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"]
11862				#[doc = "`remove_vote`. If not equal to the signer, then the vote must have expired,"]
11863				#[doc = "either because the poll was cancelled, because the voter lost the poll or"]
11864				#[doc = "because the conviction period is over."]
11865				#[doc = ""]
11866				#[doc = "The dispatch origin of this call must be _Signed_."]
11867				#[doc = ""]
11868				#[doc = "- `target`: The account of the vote to be removed; this account must have voted for poll"]
11869				#[doc = "  `index`."]
11870				#[doc = "- `index`: The index of poll of the vote to be removed."]
11871				#[doc = "- `class`: The class of the poll."]
11872				#[doc = ""]
11873				#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
11874				#[doc = "  Weight is calculated for the maximum number of vote."]
11875				pub struct RemoveOtherVote {
11876					pub target: remove_other_vote::Target,
11877					pub class: remove_other_vote::Class,
11878					pub index: remove_other_vote::Index,
11879				}
11880				pub mod remove_other_vote {
11881					use super::runtime_types;
11882					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
11883						::subxt::ext::subxt_core::utils::AccountId32,
11884						(),
11885					>;
11886					pub type Class = ::core::primitive::u16;
11887					pub type Index = ::core::primitive::u32;
11888				}
11889				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveOtherVote {
11890					const PALLET: &'static str = "ConvictionVoting";
11891					const CALL: &'static str = "remove_other_vote";
11892				}
11893			}
11894			pub struct TransactionApi;
11895			impl TransactionApi {
11896				#[doc = "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;"]
11897				#[doc = "otherwise it is a vote to keep the status quo."]
11898				#[doc = ""]
11899				#[doc = "The dispatch origin of this call must be _Signed_."]
11900				#[doc = ""]
11901				#[doc = "- `poll_index`: The index of the poll to vote for."]
11902				#[doc = "- `vote`: The vote configuration."]
11903				#[doc = ""]
11904				#[doc = "Weight: `O(R)` where R is the number of polls the voter has voted on."]
11905				pub fn vote(
11906					&self,
11907					poll_index: types::vote::PollIndex,
11908					vote: types::vote::Vote,
11909				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Vote> {
11910					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11911						"ConvictionVoting",
11912						"vote",
11913						types::Vote { poll_index, vote },
11914						[
11915							57u8, 170u8, 177u8, 168u8, 158u8, 43u8, 87u8, 242u8, 176u8, 85u8,
11916							230u8, 64u8, 103u8, 239u8, 190u8, 6u8, 228u8, 165u8, 248u8, 77u8,
11917							231u8, 221u8, 186u8, 107u8, 249u8, 201u8, 226u8, 52u8, 129u8, 90u8,
11918							142u8, 159u8,
11919						],
11920					)
11921				}
11922				#[doc = "Delegate the voting power (with some given conviction) of the sending account for a"]
11923				#[doc = "particular class of polls."]
11924				#[doc = ""]
11925				#[doc = "The balance delegated is locked for as long as it's delegated, and thereafter for the"]
11926				#[doc = "time appropriate for the conviction's lock period."]
11927				#[doc = ""]
11928				#[doc = "The dispatch origin of this call must be _Signed_, and the signing account must either:"]
11929				#[doc = "  - be delegating already; or"]
11930				#[doc = "  - have no voting activity (if there is, then it will need to be removed through"]
11931				#[doc = "    `remove_vote`)."]
11932				#[doc = ""]
11933				#[doc = "- `to`: The account whose voting the `target` account's voting power will follow."]
11934				#[doc = "- `class`: The class of polls to delegate. To delegate multiple classes, multiple calls"]
11935				#[doc = "  to this function are required."]
11936				#[doc = "- `conviction`: The conviction that will be attached to the delegated votes. When the"]
11937				#[doc = "  account is undelegated, the funds will be locked for the corresponding period."]
11938				#[doc = "- `balance`: The amount of the account's balance to be used in delegating. This must not"]
11939				#[doc = "  be more than the account's current balance."]
11940				#[doc = ""]
11941				#[doc = "Emits `Delegated`."]
11942				#[doc = ""]
11943				#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
11944				#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
11945				pub fn delegate(
11946					&self,
11947					class: types::delegate::Class,
11948					to: types::delegate::To,
11949					conviction: types::delegate::Conviction,
11950					balance: types::delegate::Balance,
11951				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Delegate> {
11952					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11953						"ConvictionVoting",
11954						"delegate",
11955						types::Delegate { class, to, conviction, balance },
11956						[
11957							223u8, 143u8, 33u8, 94u8, 32u8, 156u8, 43u8, 40u8, 142u8, 134u8, 209u8,
11958							134u8, 255u8, 179u8, 97u8, 46u8, 8u8, 140u8, 5u8, 29u8, 76u8, 22u8,
11959							36u8, 7u8, 108u8, 190u8, 220u8, 151u8, 10u8, 47u8, 89u8, 55u8,
11960						],
11961					)
11962				}
11963				#[doc = "Undelegate the voting power of the sending account for a particular class of polls."]
11964				#[doc = ""]
11965				#[doc = "Tokens may be unlocked following once an amount of time consistent with the lock period"]
11966				#[doc = "of the conviction with which the delegation was issued has passed."]
11967				#[doc = ""]
11968				#[doc = "The dispatch origin of this call must be _Signed_ and the signing account must be"]
11969				#[doc = "currently delegating."]
11970				#[doc = ""]
11971				#[doc = "- `class`: The class of polls to remove the delegation from."]
11972				#[doc = ""]
11973				#[doc = "Emits `Undelegated`."]
11974				#[doc = ""]
11975				#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
11976				#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
11977				pub fn undelegate(
11978					&self,
11979					class: types::undelegate::Class,
11980				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Undelegate> {
11981					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11982						"ConvictionVoting",
11983						"undelegate",
11984						types::Undelegate { class },
11985						[
11986							140u8, 232u8, 6u8, 53u8, 228u8, 8u8, 131u8, 144u8, 65u8, 66u8, 245u8,
11987							247u8, 147u8, 135u8, 198u8, 57u8, 82u8, 212u8, 89u8, 46u8, 236u8,
11988							168u8, 200u8, 220u8, 93u8, 168u8, 101u8, 29u8, 110u8, 76u8, 67u8,
11989							181u8,
11990						],
11991					)
11992				}
11993				#[doc = "Remove the lock caused by prior voting/delegating which has expired within a particular"]
11994				#[doc = "class."]
11995				#[doc = ""]
11996				#[doc = "The dispatch origin of this call must be _Signed_."]
11997				#[doc = ""]
11998				#[doc = "- `class`: The class of polls to unlock."]
11999				#[doc = "- `target`: The account to remove the lock on."]
12000				#[doc = ""]
12001				#[doc = "Weight: `O(R)` with R number of vote of target."]
12002				pub fn unlock(
12003					&self,
12004					class: types::unlock::Class,
12005					target: types::unlock::Target,
12006				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Unlock> {
12007					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12008						"ConvictionVoting",
12009						"unlock",
12010						types::Unlock { class, target },
12011						[
12012							79u8, 5u8, 252u8, 237u8, 109u8, 238u8, 157u8, 237u8, 125u8, 171u8,
12013							65u8, 160u8, 102u8, 192u8, 5u8, 141u8, 179u8, 249u8, 253u8, 213u8,
12014							105u8, 251u8, 241u8, 145u8, 186u8, 177u8, 244u8, 139u8, 71u8, 140u8,
12015							173u8, 108u8,
12016						],
12017					)
12018				}
12019				#[doc = "Remove a vote for a poll."]
12020				#[doc = ""]
12021				#[doc = "If:"]
12022				#[doc = "- the poll was cancelled, or"]
12023				#[doc = "- the poll is ongoing, or"]
12024				#[doc = "- the poll has ended such that"]
12025				#[doc = "  - the vote of the account was in opposition to the result; or"]
12026				#[doc = "  - there was no conviction to the account's vote; or"]
12027				#[doc = "  - the account made a split vote"]
12028				#[doc = "...then the vote is removed cleanly and a following call to `unlock` may result in more"]
12029				#[doc = "funds being available."]
12030				#[doc = ""]
12031				#[doc = "If, however, the poll has ended and:"]
12032				#[doc = "- it finished corresponding to the vote of the account, and"]
12033				#[doc = "- the account made a standard vote with conviction, and"]
12034				#[doc = "- the lock period of the conviction is not over"]
12035				#[doc = "...then the lock will be aggregated into the overall account's lock, which may involve"]
12036				#[doc = "*overlocking* (where the two locks are combined into a single lock that is the maximum"]
12037				#[doc = "of both the amount locked and the time is it locked for)."]
12038				#[doc = ""]
12039				#[doc = "The dispatch origin of this call must be _Signed_, and the signer must have a vote"]
12040				#[doc = "registered for poll `index`."]
12041				#[doc = ""]
12042				#[doc = "- `index`: The index of poll of the vote to be removed."]
12043				#[doc = "- `class`: Optional parameter, if given it indicates the class of the poll. For polls"]
12044				#[doc = "  which have finished or are cancelled, this must be `Some`."]
12045				#[doc = ""]
12046				#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
12047				#[doc = "  Weight is calculated for the maximum number of vote."]
12048				pub fn remove_vote(
12049					&self,
12050					class: types::remove_vote::Class,
12051					index: types::remove_vote::Index,
12052				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveVote> {
12053					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12054						"ConvictionVoting",
12055						"remove_vote",
12056						types::RemoveVote { class, index },
12057						[
12058							255u8, 108u8, 211u8, 146u8, 168u8, 231u8, 207u8, 44u8, 76u8, 24u8,
12059							235u8, 60u8, 23u8, 79u8, 192u8, 192u8, 46u8, 40u8, 134u8, 27u8, 125u8,
12060							114u8, 125u8, 247u8, 85u8, 102u8, 76u8, 159u8, 34u8, 167u8, 152u8,
12061							148u8,
12062						],
12063					)
12064				}
12065				#[doc = "Remove a vote for a poll."]
12066				#[doc = ""]
12067				#[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"]
12068				#[doc = "`remove_vote`. If not equal to the signer, then the vote must have expired,"]
12069				#[doc = "either because the poll was cancelled, because the voter lost the poll or"]
12070				#[doc = "because the conviction period is over."]
12071				#[doc = ""]
12072				#[doc = "The dispatch origin of this call must be _Signed_."]
12073				#[doc = ""]
12074				#[doc = "- `target`: The account of the vote to be removed; this account must have voted for poll"]
12075				#[doc = "  `index`."]
12076				#[doc = "- `index`: The index of poll of the vote to be removed."]
12077				#[doc = "- `class`: The class of the poll."]
12078				#[doc = ""]
12079				#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
12080				#[doc = "  Weight is calculated for the maximum number of vote."]
12081				pub fn remove_other_vote(
12082					&self,
12083					target: types::remove_other_vote::Target,
12084					class: types::remove_other_vote::Class,
12085					index: types::remove_other_vote::Index,
12086				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveOtherVote>
12087				{
12088					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12089						"ConvictionVoting",
12090						"remove_other_vote",
12091						types::RemoveOtherVote { target, class, index },
12092						[
12093							165u8, 26u8, 166u8, 37u8, 10u8, 174u8, 243u8, 10u8, 73u8, 93u8, 213u8,
12094							69u8, 200u8, 16u8, 48u8, 146u8, 160u8, 92u8, 28u8, 26u8, 158u8, 55u8,
12095							6u8, 251u8, 36u8, 132u8, 46u8, 195u8, 107u8, 34u8, 0u8, 100u8,
12096						],
12097					)
12098				}
12099			}
12100		}
12101		#[doc = "The `Event` enum of this pallet"]
12102		pub type Event = runtime_types::pallet_conviction_voting::pallet::Event;
12103		pub mod events {
12104			use super::runtime_types;
12105			#[derive(
12106				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12107				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12108				Debug,
12109			)]
12110			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
12111			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
12112			#[doc = "An account has delegated their vote to another account. \\[who, target\\]"]
12113			pub struct Delegated(pub delegated::Field0, pub delegated::Field1);
12114			pub mod delegated {
12115				use super::runtime_types;
12116				pub type Field0 = ::subxt::ext::subxt_core::utils::AccountId32;
12117				pub type Field1 = ::subxt::ext::subxt_core::utils::AccountId32;
12118			}
12119			impl ::subxt::ext::subxt_core::events::StaticEvent for Delegated {
12120				const PALLET: &'static str = "ConvictionVoting";
12121				const EVENT: &'static str = "Delegated";
12122			}
12123			#[derive(
12124				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12125				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12126				Debug,
12127			)]
12128			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
12129			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
12130			#[doc = "An \\[account\\] has cancelled a previous delegation operation."]
12131			pub struct Undelegated(pub undelegated::Field0);
12132			pub mod undelegated {
12133				use super::runtime_types;
12134				pub type Field0 = ::subxt::ext::subxt_core::utils::AccountId32;
12135			}
12136			impl ::subxt::ext::subxt_core::events::StaticEvent for Undelegated {
12137				const PALLET: &'static str = "ConvictionVoting";
12138				const EVENT: &'static str = "Undelegated";
12139			}
12140			#[derive(
12141				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12142				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12143				Debug,
12144			)]
12145			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
12146			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
12147			#[doc = "An account has voted"]
12148			pub struct Voted {
12149				pub who: voted::Who,
12150				pub vote: voted::Vote,
12151			}
12152			pub mod voted {
12153				use super::runtime_types;
12154				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
12155				pub type Vote = runtime_types::pallet_conviction_voting::vote::AccountVote<
12156					::core::primitive::u128,
12157				>;
12158			}
12159			impl ::subxt::ext::subxt_core::events::StaticEvent for Voted {
12160				const PALLET: &'static str = "ConvictionVoting";
12161				const EVENT: &'static str = "Voted";
12162			}
12163			#[derive(
12164				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12165				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12166				Debug,
12167			)]
12168			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
12169			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
12170			#[doc = "A vote has been removed"]
12171			pub struct VoteRemoved {
12172				pub who: vote_removed::Who,
12173				pub vote: vote_removed::Vote,
12174			}
12175			pub mod vote_removed {
12176				use super::runtime_types;
12177				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
12178				pub type Vote = runtime_types::pallet_conviction_voting::vote::AccountVote<
12179					::core::primitive::u128,
12180				>;
12181			}
12182			impl ::subxt::ext::subxt_core::events::StaticEvent for VoteRemoved {
12183				const PALLET: &'static str = "ConvictionVoting";
12184				const EVENT: &'static str = "VoteRemoved";
12185			}
12186			#[derive(
12187				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12188				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12189				Debug,
12190			)]
12191			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
12192			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
12193			#[doc = "The lockup period of a conviction vote expired, and the funds have been unlocked."]
12194			pub struct VoteUnlocked {
12195				pub who: vote_unlocked::Who,
12196				pub class: vote_unlocked::Class,
12197			}
12198			pub mod vote_unlocked {
12199				use super::runtime_types;
12200				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
12201				pub type Class = ::core::primitive::u16;
12202			}
12203			impl ::subxt::ext::subxt_core::events::StaticEvent for VoteUnlocked {
12204				const PALLET: &'static str = "ConvictionVoting";
12205				const EVENT: &'static str = "VoteUnlocked";
12206			}
12207		}
12208		pub mod storage {
12209			use super::runtime_types;
12210			pub mod types {
12211				use super::runtime_types;
12212				pub mod voting_for {
12213					use super::runtime_types;
12214					pub type VotingFor = runtime_types::pallet_conviction_voting::vote::Voting<
12215						::core::primitive::u128,
12216						::subxt::ext::subxt_core::utils::AccountId32,
12217						::core::primitive::u32,
12218						::core::primitive::u32,
12219					>;
12220					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
12221					pub type Param1 = ::core::primitive::u16;
12222				}
12223				pub mod class_locks_for {
12224					use super::runtime_types;
12225					pub type ClassLocksFor =
12226						runtime_types::bounded_collections::bounded_vec::BoundedVec<(
12227							::core::primitive::u16,
12228							::core::primitive::u128,
12229						)>;
12230					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
12231				}
12232			}
12233			pub struct StorageApi;
12234			impl StorageApi {
12235				#[doc = " All voting for a particular voter in a particular voting class. We store the balance for the"]
12236				#[doc = " number of votes that we have recorded."]
12237				pub fn voting_for_iter(
12238					&self,
12239				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12240					(),
12241					types::voting_for::VotingFor,
12242					(),
12243					::subxt::ext::subxt_core::utils::Yes,
12244					::subxt::ext::subxt_core::utils::Yes,
12245				> {
12246					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12247						"ConvictionVoting",
12248						"VotingFor",
12249						(),
12250						[
12251							76u8, 63u8, 153u8, 193u8, 39u8, 137u8, 186u8, 29u8, 202u8, 56u8, 169u8,
12252							56u8, 103u8, 138u8, 192u8, 18u8, 179u8, 114u8, 56u8, 121u8, 197u8,
12253							12u8, 29u8, 239u8, 220u8, 231u8, 24u8, 46u8, 134u8, 99u8, 53u8, 206u8,
12254						],
12255					)
12256				}
12257				#[doc = " All voting for a particular voter in a particular voting class. We store the balance for the"]
12258				#[doc = " number of votes that we have recorded."]
12259				pub fn voting_for_iter1(
12260					&self,
12261					_0: types::voting_for::Param0,
12262				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12263					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12264						types::voting_for::Param0,
12265					>,
12266					types::voting_for::VotingFor,
12267					(),
12268					::subxt::ext::subxt_core::utils::Yes,
12269					::subxt::ext::subxt_core::utils::Yes,
12270				> {
12271					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12272						"ConvictionVoting",
12273						"VotingFor",
12274						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12275						[
12276							76u8, 63u8, 153u8, 193u8, 39u8, 137u8, 186u8, 29u8, 202u8, 56u8, 169u8,
12277							56u8, 103u8, 138u8, 192u8, 18u8, 179u8, 114u8, 56u8, 121u8, 197u8,
12278							12u8, 29u8, 239u8, 220u8, 231u8, 24u8, 46u8, 134u8, 99u8, 53u8, 206u8,
12279						],
12280					)
12281				}
12282				#[doc = " All voting for a particular voter in a particular voting class. We store the balance for the"]
12283				#[doc = " number of votes that we have recorded."]
12284				pub fn voting_for(
12285					&self,
12286					_0: types::voting_for::Param0,
12287					_1: types::voting_for::Param1,
12288				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12289					(
12290						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12291							types::voting_for::Param0,
12292						>,
12293						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12294							types::voting_for::Param1,
12295						>,
12296					),
12297					types::voting_for::VotingFor,
12298					::subxt::ext::subxt_core::utils::Yes,
12299					::subxt::ext::subxt_core::utils::Yes,
12300					(),
12301				> {
12302					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12303						"ConvictionVoting",
12304						"VotingFor",
12305						(
12306							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12307							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
12308						),
12309						[
12310							76u8, 63u8, 153u8, 193u8, 39u8, 137u8, 186u8, 29u8, 202u8, 56u8, 169u8,
12311							56u8, 103u8, 138u8, 192u8, 18u8, 179u8, 114u8, 56u8, 121u8, 197u8,
12312							12u8, 29u8, 239u8, 220u8, 231u8, 24u8, 46u8, 134u8, 99u8, 53u8, 206u8,
12313						],
12314					)
12315				}
12316				#[doc = " The voting classes which have a non-zero lock requirement and the lock amounts which they"]
12317				#[doc = " require. The actual amount locked on behalf of this pallet should always be the maximum of"]
12318				#[doc = " this list."]
12319				pub fn class_locks_for_iter(
12320					&self,
12321				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12322					(),
12323					types::class_locks_for::ClassLocksFor,
12324					(),
12325					::subxt::ext::subxt_core::utils::Yes,
12326					::subxt::ext::subxt_core::utils::Yes,
12327				> {
12328					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12329						"ConvictionVoting",
12330						"ClassLocksFor",
12331						(),
12332						[
12333							74u8, 74u8, 8u8, 82u8, 215u8, 61u8, 13u8, 9u8, 44u8, 222u8, 33u8,
12334							245u8, 195u8, 124u8, 6u8, 174u8, 65u8, 245u8, 71u8, 42u8, 47u8, 46u8,
12335							164u8, 231u8, 11u8, 245u8, 115u8, 207u8, 209u8, 137u8, 90u8, 6u8,
12336						],
12337					)
12338				}
12339				#[doc = " The voting classes which have a non-zero lock requirement and the lock amounts which they"]
12340				#[doc = " require. The actual amount locked on behalf of this pallet should always be the maximum of"]
12341				#[doc = " this list."]
12342				pub fn class_locks_for(
12343					&self,
12344					_0: types::class_locks_for::Param0,
12345				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12346					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12347						types::class_locks_for::Param0,
12348					>,
12349					types::class_locks_for::ClassLocksFor,
12350					::subxt::ext::subxt_core::utils::Yes,
12351					::subxt::ext::subxt_core::utils::Yes,
12352					(),
12353				> {
12354					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12355						"ConvictionVoting",
12356						"ClassLocksFor",
12357						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12358						[
12359							74u8, 74u8, 8u8, 82u8, 215u8, 61u8, 13u8, 9u8, 44u8, 222u8, 33u8,
12360							245u8, 195u8, 124u8, 6u8, 174u8, 65u8, 245u8, 71u8, 42u8, 47u8, 46u8,
12361							164u8, 231u8, 11u8, 245u8, 115u8, 207u8, 209u8, 137u8, 90u8, 6u8,
12362						],
12363					)
12364				}
12365			}
12366		}
12367		pub mod constants {
12368			use super::runtime_types;
12369			pub struct ConstantsApi;
12370			impl ConstantsApi {
12371				#[doc = " The maximum number of concurrent votes an account may have."]
12372				#[doc = ""]
12373				#[doc = " Also used to compute weight, an overly large value can lead to extrinsics with large"]
12374				#[doc = " weight estimation: see `delegate` for instance."]
12375				pub fn max_votes(
12376					&self,
12377				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
12378					::core::primitive::u32,
12379				> {
12380					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
12381						"ConvictionVoting",
12382						"MaxVotes",
12383						[
12384							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
12385							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
12386							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
12387							145u8,
12388						],
12389					)
12390				}
12391				#[doc = " The minimum period of vote locking."]
12392				#[doc = ""]
12393				#[doc = " It should be no shorter than enactment period to ensure that in the case of an approval,"]
12394				#[doc = " those successful voters are locked into the consequences that their votes entail."]
12395				pub fn vote_locking_period(
12396					&self,
12397				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
12398					::core::primitive::u32,
12399				> {
12400					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
12401						"ConvictionVoting",
12402						"VoteLockingPeriod",
12403						[
12404							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
12405							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
12406							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
12407							145u8,
12408						],
12409					)
12410				}
12411			}
12412		}
12413	}
12414	pub mod tech_collective {
12415		use super::{root_mod, runtime_types};
12416		#[doc = "The `Error` enum of this pallet."]
12417		pub type Error = runtime_types::pallet_ranked_collective::pallet::Error;
12418		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
12419		pub type Call = runtime_types::pallet_ranked_collective::pallet::Call;
12420		pub mod calls {
12421			use super::{root_mod, runtime_types};
12422			type DispatchError = runtime_types::sp_runtime::DispatchError;
12423			pub mod types {
12424				use super::runtime_types;
12425				#[derive(
12426					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12427					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12428					Debug,
12429				)]
12430				#[decode_as_type(
12431					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12432				)]
12433				#[encode_as_type(
12434					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12435				)]
12436				#[doc = "Introduce a new member."]
12437				#[doc = ""]
12438				#[doc = "- `origin`: Must be the `AddOrigin`."]
12439				#[doc = "- `who`: Account of non-member which will become a member."]
12440				#[doc = ""]
12441				#[doc = "Weight: `O(1)`"]
12442				pub struct AddMember {
12443					pub who: add_member::Who,
12444				}
12445				pub mod add_member {
12446					use super::runtime_types;
12447					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
12448						::subxt::ext::subxt_core::utils::AccountId32,
12449						(),
12450					>;
12451				}
12452				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for AddMember {
12453					const PALLET: &'static str = "TechCollective";
12454					const CALL: &'static str = "add_member";
12455				}
12456				#[derive(
12457					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12458					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12459					Debug,
12460				)]
12461				#[decode_as_type(
12462					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12463				)]
12464				#[encode_as_type(
12465					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12466				)]
12467				#[doc = "Increment the rank of an existing member by one."]
12468				#[doc = ""]
12469				#[doc = "- `origin`: Must be the `PromoteOrigin`."]
12470				#[doc = "- `who`: Account of existing member."]
12471				#[doc = ""]
12472				#[doc = "Weight: `O(1)`"]
12473				pub struct PromoteMember {
12474					pub who: promote_member::Who,
12475				}
12476				pub mod promote_member {
12477					use super::runtime_types;
12478					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
12479						::subxt::ext::subxt_core::utils::AccountId32,
12480						(),
12481					>;
12482				}
12483				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for PromoteMember {
12484					const PALLET: &'static str = "TechCollective";
12485					const CALL: &'static str = "promote_member";
12486				}
12487				#[derive(
12488					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12489					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12490					Debug,
12491				)]
12492				#[decode_as_type(
12493					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12494				)]
12495				#[encode_as_type(
12496					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12497				)]
12498				#[doc = "Decrement the rank of an existing member by one. If the member is already at rank zero,"]
12499				#[doc = "then they are removed entirely."]
12500				#[doc = ""]
12501				#[doc = "- `origin`: Must be the `DemoteOrigin`."]
12502				#[doc = "- `who`: Account of existing member of rank greater than zero."]
12503				#[doc = ""]
12504				#[doc = "Weight: `O(1)`, less if the member's index is highest in its rank."]
12505				pub struct DemoteMember {
12506					pub who: demote_member::Who,
12507				}
12508				pub mod demote_member {
12509					use super::runtime_types;
12510					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
12511						::subxt::ext::subxt_core::utils::AccountId32,
12512						(),
12513					>;
12514				}
12515				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for DemoteMember {
12516					const PALLET: &'static str = "TechCollective";
12517					const CALL: &'static str = "demote_member";
12518				}
12519				#[derive(
12520					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12521					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12522					Debug,
12523				)]
12524				#[decode_as_type(
12525					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12526				)]
12527				#[encode_as_type(
12528					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12529				)]
12530				#[doc = "Remove the member entirely."]
12531				#[doc = ""]
12532				#[doc = "- `origin`: Must be the `RemoveOrigin`."]
12533				#[doc = "- `who`: Account of existing member of rank greater than zero."]
12534				#[doc = "- `min_rank`: The rank of the member or greater."]
12535				#[doc = ""]
12536				#[doc = "Weight: `O(min_rank)`."]
12537				pub struct RemoveMember {
12538					pub who: remove_member::Who,
12539					pub min_rank: remove_member::MinRank,
12540				}
12541				pub mod remove_member {
12542					use super::runtime_types;
12543					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
12544						::subxt::ext::subxt_core::utils::AccountId32,
12545						(),
12546					>;
12547					pub type MinRank = ::core::primitive::u16;
12548				}
12549				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveMember {
12550					const PALLET: &'static str = "TechCollective";
12551					const CALL: &'static str = "remove_member";
12552				}
12553				#[derive(
12554					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12555					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12556					Debug,
12557				)]
12558				#[decode_as_type(
12559					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12560				)]
12561				#[encode_as_type(
12562					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12563				)]
12564				#[doc = "Add an aye or nay vote for the sender to the given proposal."]
12565				#[doc = ""]
12566				#[doc = "- `origin`: Must be `Signed` by a member account."]
12567				#[doc = "- `poll`: Index of a poll which is ongoing."]
12568				#[doc = "- `aye`: `true` if the vote is to approve the proposal, `false` otherwise."]
12569				#[doc = ""]
12570				#[doc = "Transaction fees are be waived if the member is voting on any particular proposal"]
12571				#[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"]
12572				#[doc = "fee."]
12573				#[doc = ""]
12574				#[doc = "Weight: `O(1)`, less if there was no previous vote on the poll by the member."]
12575				pub struct Vote {
12576					pub poll: vote::Poll,
12577					pub aye: vote::Aye,
12578				}
12579				pub mod vote {
12580					use super::runtime_types;
12581					pub type Poll = ::core::primitive::u32;
12582					pub type Aye = ::core::primitive::bool;
12583				}
12584				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Vote {
12585					const PALLET: &'static str = "TechCollective";
12586					const CALL: &'static str = "vote";
12587				}
12588				#[derive(
12589					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12590					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12591					Debug,
12592				)]
12593				#[decode_as_type(
12594					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12595				)]
12596				#[encode_as_type(
12597					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12598				)]
12599				#[doc = "Remove votes from the given poll. It must have ended."]
12600				#[doc = ""]
12601				#[doc = "- `origin`: Must be `Signed` by any account."]
12602				#[doc = "- `poll_index`: Index of a poll which is completed and for which votes continue to"]
12603				#[doc = "  exist."]
12604				#[doc = "- `max`: Maximum number of vote items from remove in this call."]
12605				#[doc = ""]
12606				#[doc = "Transaction fees are waived if the operation is successful."]
12607				#[doc = ""]
12608				#[doc = "Weight `O(max)` (less if there are fewer items to remove than `max`)."]
12609				pub struct CleanupPoll {
12610					pub poll_index: cleanup_poll::PollIndex,
12611					pub max: cleanup_poll::Max,
12612				}
12613				pub mod cleanup_poll {
12614					use super::runtime_types;
12615					pub type PollIndex = ::core::primitive::u32;
12616					pub type Max = ::core::primitive::u32;
12617				}
12618				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CleanupPoll {
12619					const PALLET: &'static str = "TechCollective";
12620					const CALL: &'static str = "cleanup_poll";
12621				}
12622				#[derive(
12623					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12624					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12625					Debug,
12626				)]
12627				#[decode_as_type(
12628					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12629				)]
12630				#[encode_as_type(
12631					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12632				)]
12633				#[doc = "Exchanges a member with a new account and the same existing rank."]
12634				#[doc = ""]
12635				#[doc = "- `origin`: Must be the `ExchangeOrigin`."]
12636				#[doc = "- `who`: Account of existing member of rank greater than zero to be exchanged."]
12637				#[doc = "- `new_who`: New Account of existing member of rank greater than zero to exchanged to."]
12638				pub struct ExchangeMember {
12639					pub who: exchange_member::Who,
12640					pub new_who: exchange_member::NewWho,
12641				}
12642				pub mod exchange_member {
12643					use super::runtime_types;
12644					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
12645						::subxt::ext::subxt_core::utils::AccountId32,
12646						(),
12647					>;
12648					pub type NewWho = ::subxt::ext::subxt_core::utils::MultiAddress<
12649						::subxt::ext::subxt_core::utils::AccountId32,
12650						(),
12651					>;
12652				}
12653				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ExchangeMember {
12654					const PALLET: &'static str = "TechCollective";
12655					const CALL: &'static str = "exchange_member";
12656				}
12657			}
12658			pub struct TransactionApi;
12659			impl TransactionApi {
12660				#[doc = "Introduce a new member."]
12661				#[doc = ""]
12662				#[doc = "- `origin`: Must be the `AddOrigin`."]
12663				#[doc = "- `who`: Account of non-member which will become a member."]
12664				#[doc = ""]
12665				#[doc = "Weight: `O(1)`"]
12666				pub fn add_member(
12667					&self,
12668					who: types::add_member::Who,
12669				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::AddMember> {
12670					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12671						"TechCollective",
12672						"add_member",
12673						types::AddMember { who },
12674						[
12675							2u8, 131u8, 37u8, 217u8, 112u8, 46u8, 86u8, 165u8, 248u8, 244u8, 33u8,
12676							236u8, 155u8, 28u8, 163u8, 169u8, 213u8, 32u8, 70u8, 217u8, 97u8,
12677							194u8, 138u8, 77u8, 133u8, 97u8, 188u8, 49u8, 49u8, 31u8, 177u8, 206u8,
12678						],
12679					)
12680				}
12681				#[doc = "Increment the rank of an existing member by one."]
12682				#[doc = ""]
12683				#[doc = "- `origin`: Must be the `PromoteOrigin`."]
12684				#[doc = "- `who`: Account of existing member."]
12685				#[doc = ""]
12686				#[doc = "Weight: `O(1)`"]
12687				pub fn promote_member(
12688					&self,
12689					who: types::promote_member::Who,
12690				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::PromoteMember>
12691				{
12692					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12693						"TechCollective",
12694						"promote_member",
12695						types::PromoteMember { who },
12696						[
12697							169u8, 155u8, 9u8, 50u8, 144u8, 133u8, 230u8, 60u8, 216u8, 147u8, 3u8,
12698							236u8, 94u8, 185u8, 106u8, 139u8, 235u8, 143u8, 189u8, 135u8, 208u8,
12699							176u8, 126u8, 124u8, 85u8, 140u8, 189u8, 125u8, 87u8, 56u8, 57u8,
12700							246u8,
12701						],
12702					)
12703				}
12704				#[doc = "Decrement the rank of an existing member by one. If the member is already at rank zero,"]
12705				#[doc = "then they are removed entirely."]
12706				#[doc = ""]
12707				#[doc = "- `origin`: Must be the `DemoteOrigin`."]
12708				#[doc = "- `who`: Account of existing member of rank greater than zero."]
12709				#[doc = ""]
12710				#[doc = "Weight: `O(1)`, less if the member's index is highest in its rank."]
12711				pub fn demote_member(
12712					&self,
12713					who: types::demote_member::Who,
12714				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::DemoteMember> {
12715					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12716						"TechCollective",
12717						"demote_member",
12718						types::DemoteMember { who },
12719						[
12720							21u8, 185u8, 71u8, 166u8, 106u8, 88u8, 74u8, 251u8, 78u8, 28u8, 205u8,
12721							171u8, 199u8, 195u8, 97u8, 149u8, 175u8, 229u8, 25u8, 113u8, 96u8,
12722							25u8, 240u8, 64u8, 109u8, 246u8, 203u8, 45u8, 110u8, 205u8, 115u8,
12723							178u8,
12724						],
12725					)
12726				}
12727				#[doc = "Remove the member entirely."]
12728				#[doc = ""]
12729				#[doc = "- `origin`: Must be the `RemoveOrigin`."]
12730				#[doc = "- `who`: Account of existing member of rank greater than zero."]
12731				#[doc = "- `min_rank`: The rank of the member or greater."]
12732				#[doc = ""]
12733				#[doc = "Weight: `O(min_rank)`."]
12734				pub fn remove_member(
12735					&self,
12736					who: types::remove_member::Who,
12737					min_rank: types::remove_member::MinRank,
12738				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveMember> {
12739					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12740						"TechCollective",
12741						"remove_member",
12742						types::RemoveMember { who, min_rank },
12743						[
12744							23u8, 156u8, 32u8, 64u8, 158u8, 50u8, 64u8, 199u8, 108u8, 67u8, 133u8,
12745							128u8, 138u8, 241u8, 14u8, 238u8, 192u8, 173u8, 250u8, 11u8, 124u8,
12746							119u8, 177u8, 190u8, 152u8, 116u8, 134u8, 42u8, 216u8, 49u8, 113u8,
12747							49u8,
12748						],
12749					)
12750				}
12751				#[doc = "Add an aye or nay vote for the sender to the given proposal."]
12752				#[doc = ""]
12753				#[doc = "- `origin`: Must be `Signed` by a member account."]
12754				#[doc = "- `poll`: Index of a poll which is ongoing."]
12755				#[doc = "- `aye`: `true` if the vote is to approve the proposal, `false` otherwise."]
12756				#[doc = ""]
12757				#[doc = "Transaction fees are be waived if the member is voting on any particular proposal"]
12758				#[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"]
12759				#[doc = "fee."]
12760				#[doc = ""]
12761				#[doc = "Weight: `O(1)`, less if there was no previous vote on the poll by the member."]
12762				pub fn vote(
12763					&self,
12764					poll: types::vote::Poll,
12765					aye: types::vote::Aye,
12766				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Vote> {
12767					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12768						"TechCollective",
12769						"vote",
12770						types::Vote { poll, aye },
12771						[
12772							54u8, 116u8, 81u8, 239u8, 223u8, 35u8, 11u8, 244u8, 245u8, 94u8, 23u8,
12773							241u8, 125u8, 231u8, 56u8, 150u8, 105u8, 125u8, 100u8, 171u8, 182u8,
12774							186u8, 134u8, 40u8, 4u8, 121u8, 119u8, 11u8, 93u8, 158u8, 59u8, 209u8,
12775						],
12776					)
12777				}
12778				#[doc = "Remove votes from the given poll. It must have ended."]
12779				#[doc = ""]
12780				#[doc = "- `origin`: Must be `Signed` by any account."]
12781				#[doc = "- `poll_index`: Index of a poll which is completed and for which votes continue to"]
12782				#[doc = "  exist."]
12783				#[doc = "- `max`: Maximum number of vote items from remove in this call."]
12784				#[doc = ""]
12785				#[doc = "Transaction fees are waived if the operation is successful."]
12786				#[doc = ""]
12787				#[doc = "Weight `O(max)` (less if there are fewer items to remove than `max`)."]
12788				pub fn cleanup_poll(
12789					&self,
12790					poll_index: types::cleanup_poll::PollIndex,
12791					max: types::cleanup_poll::Max,
12792				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CleanupPoll> {
12793					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12794						"TechCollective",
12795						"cleanup_poll",
12796						types::CleanupPoll { poll_index, max },
12797						[
12798							157u8, 109u8, 86u8, 253u8, 62u8, 107u8, 235u8, 255u8, 171u8, 68u8,
12799							103u8, 92u8, 245u8, 25u8, 252u8, 158u8, 174u8, 137u8, 77u8, 251u8,
12800							105u8, 113u8, 165u8, 46u8, 39u8, 55u8, 166u8, 79u8, 103u8, 81u8, 121u8,
12801							37u8,
12802						],
12803					)
12804				}
12805				#[doc = "Exchanges a member with a new account and the same existing rank."]
12806				#[doc = ""]
12807				#[doc = "- `origin`: Must be the `ExchangeOrigin`."]
12808				#[doc = "- `who`: Account of existing member of rank greater than zero to be exchanged."]
12809				#[doc = "- `new_who`: New Account of existing member of rank greater than zero to exchanged to."]
12810				pub fn exchange_member(
12811					&self,
12812					who: types::exchange_member::Who,
12813					new_who: types::exchange_member::NewWho,
12814				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ExchangeMember>
12815				{
12816					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12817						"TechCollective",
12818						"exchange_member",
12819						types::ExchangeMember { who, new_who },
12820						[
12821							240u8, 208u8, 76u8, 147u8, 117u8, 23u8, 91u8, 37u8, 22u8, 101u8, 53u8,
12822							247u8, 161u8, 94u8, 109u8, 233u8, 104u8, 129u8, 67u8, 31u8, 223u8,
12823							182u8, 50u8, 233u8, 120u8, 129u8, 224u8, 135u8, 52u8, 162u8, 26u8,
12824							189u8,
12825						],
12826					)
12827				}
12828			}
12829		}
12830		#[doc = "The `Event` enum of this pallet"]
12831		pub type Event = runtime_types::pallet_ranked_collective::pallet::Event;
12832		pub mod events {
12833			use super::runtime_types;
12834			#[derive(
12835				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12836				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12837				Debug,
12838			)]
12839			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
12840			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
12841			#[doc = "A member `who` has been added."]
12842			pub struct MemberAdded {
12843				pub who: member_added::Who,
12844			}
12845			pub mod member_added {
12846				use super::runtime_types;
12847				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
12848			}
12849			impl ::subxt::ext::subxt_core::events::StaticEvent for MemberAdded {
12850				const PALLET: &'static str = "TechCollective";
12851				const EVENT: &'static str = "MemberAdded";
12852			}
12853			#[derive(
12854				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12855				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12856				Debug,
12857			)]
12858			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
12859			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
12860			#[doc = "The member `who`se rank has been changed to the given `rank`."]
12861			pub struct RankChanged {
12862				pub who: rank_changed::Who,
12863				pub rank: rank_changed::Rank,
12864			}
12865			pub mod rank_changed {
12866				use super::runtime_types;
12867				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
12868				pub type Rank = ::core::primitive::u16;
12869			}
12870			impl ::subxt::ext::subxt_core::events::StaticEvent for RankChanged {
12871				const PALLET: &'static str = "TechCollective";
12872				const EVENT: &'static str = "RankChanged";
12873			}
12874			#[derive(
12875				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12876				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12877				Debug,
12878			)]
12879			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
12880			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
12881			#[doc = "The member `who` of given `rank` has been removed from the collective."]
12882			pub struct MemberRemoved {
12883				pub who: member_removed::Who,
12884				pub rank: member_removed::Rank,
12885			}
12886			pub mod member_removed {
12887				use super::runtime_types;
12888				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
12889				pub type Rank = ::core::primitive::u16;
12890			}
12891			impl ::subxt::ext::subxt_core::events::StaticEvent for MemberRemoved {
12892				const PALLET: &'static str = "TechCollective";
12893				const EVENT: &'static str = "MemberRemoved";
12894			}
12895			#[derive(
12896				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12897				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12898				Debug,
12899			)]
12900			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
12901			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
12902			#[doc = "The member `who` has voted for the `poll` with the given `vote` leading to an updated"]
12903			#[doc = "`tally`."]
12904			pub struct Voted {
12905				pub who: voted::Who,
12906				pub poll: voted::Poll,
12907				pub vote: voted::Vote,
12908				pub tally: voted::Tally,
12909			}
12910			pub mod voted {
12911				use super::runtime_types;
12912				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
12913				pub type Poll = ::core::primitive::u32;
12914				pub type Vote = runtime_types::pallet_ranked_collective::VoteRecord;
12915				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
12916			}
12917			impl ::subxt::ext::subxt_core::events::StaticEvent for Voted {
12918				const PALLET: &'static str = "TechCollective";
12919				const EVENT: &'static str = "Voted";
12920			}
12921			#[derive(
12922				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12923				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12924				Debug,
12925			)]
12926			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
12927			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
12928			#[doc = "The member `who` had their `AccountId` changed to `new_who`."]
12929			pub struct MemberExchanged {
12930				pub who: member_exchanged::Who,
12931				pub new_who: member_exchanged::NewWho,
12932			}
12933			pub mod member_exchanged {
12934				use super::runtime_types;
12935				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
12936				pub type NewWho = ::subxt::ext::subxt_core::utils::AccountId32;
12937			}
12938			impl ::subxt::ext::subxt_core::events::StaticEvent for MemberExchanged {
12939				const PALLET: &'static str = "TechCollective";
12940				const EVENT: &'static str = "MemberExchanged";
12941			}
12942		}
12943		pub mod storage {
12944			use super::runtime_types;
12945			pub mod types {
12946				use super::runtime_types;
12947				pub mod member_count {
12948					use super::runtime_types;
12949					pub type MemberCount = ::core::primitive::u32;
12950					pub type Param0 = ::core::primitive::u16;
12951				}
12952				pub mod members {
12953					use super::runtime_types;
12954					pub type Members = runtime_types::pallet_ranked_collective::MemberRecord;
12955					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
12956				}
12957				pub mod id_to_index {
12958					use super::runtime_types;
12959					pub type IdToIndex = ::core::primitive::u32;
12960					pub type Param0 = ::core::primitive::u16;
12961					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
12962				}
12963				pub mod index_to_id {
12964					use super::runtime_types;
12965					pub type IndexToId = ::subxt::ext::subxt_core::utils::AccountId32;
12966					pub type Param0 = ::core::primitive::u16;
12967					pub type Param1 = ::core::primitive::u32;
12968				}
12969				pub mod voting {
12970					use super::runtime_types;
12971					pub type Voting = runtime_types::pallet_ranked_collective::VoteRecord;
12972					pub type Param0 = ::core::primitive::u32;
12973					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
12974				}
12975				pub mod voting_cleanup {
12976					use super::runtime_types;
12977					pub type VotingCleanup =
12978						runtime_types::bounded_collections::bounded_vec::BoundedVec<
12979							::core::primitive::u8,
12980						>;
12981					pub type Param0 = ::core::primitive::u32;
12982				}
12983			}
12984			pub struct StorageApi;
12985			impl StorageApi {
12986				#[doc = " The number of members in the collective who have at least the rank according to the index"]
12987				#[doc = " of the vec."]
12988				pub fn member_count_iter(
12989					&self,
12990				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12991					(),
12992					types::member_count::MemberCount,
12993					(),
12994					::subxt::ext::subxt_core::utils::Yes,
12995					::subxt::ext::subxt_core::utils::Yes,
12996				> {
12997					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12998						"TechCollective",
12999						"MemberCount",
13000						(),
13001						[
13002							0u8, 141u8, 66u8, 91u8, 155u8, 74u8, 17u8, 191u8, 143u8, 41u8, 231u8,
13003							56u8, 123u8, 219u8, 145u8, 27u8, 197u8, 62u8, 118u8, 237u8, 30u8, 7u8,
13004							107u8, 96u8, 95u8, 17u8, 242u8, 206u8, 246u8, 79u8, 53u8, 214u8,
13005						],
13006					)
13007				}
13008				#[doc = " The number of members in the collective who have at least the rank according to the index"]
13009				#[doc = " of the vec."]
13010				pub fn member_count(
13011					&self,
13012					_0: types::member_count::Param0,
13013				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13014					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13015						types::member_count::Param0,
13016					>,
13017					types::member_count::MemberCount,
13018					::subxt::ext::subxt_core::utils::Yes,
13019					::subxt::ext::subxt_core::utils::Yes,
13020					(),
13021				> {
13022					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13023						"TechCollective",
13024						"MemberCount",
13025						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13026						[
13027							0u8, 141u8, 66u8, 91u8, 155u8, 74u8, 17u8, 191u8, 143u8, 41u8, 231u8,
13028							56u8, 123u8, 219u8, 145u8, 27u8, 197u8, 62u8, 118u8, 237u8, 30u8, 7u8,
13029							107u8, 96u8, 95u8, 17u8, 242u8, 206u8, 246u8, 79u8, 53u8, 214u8,
13030						],
13031					)
13032				}
13033				#[doc = " The current members of the collective."]
13034				pub fn members_iter(
13035					&self,
13036				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13037					(),
13038					types::members::Members,
13039					(),
13040					(),
13041					::subxt::ext::subxt_core::utils::Yes,
13042				> {
13043					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13044						"TechCollective",
13045						"Members",
13046						(),
13047						[
13048							101u8, 183u8, 36u8, 241u8, 67u8, 8u8, 252u8, 116u8, 110u8, 153u8,
13049							117u8, 210u8, 128u8, 80u8, 130u8, 163u8, 38u8, 76u8, 230u8, 107u8,
13050							112u8, 90u8, 102u8, 24u8, 217u8, 2u8, 244u8, 197u8, 103u8, 215u8,
13051							247u8, 133u8,
13052						],
13053					)
13054				}
13055				#[doc = " The current members of the collective."]
13056				pub fn members(
13057					&self,
13058					_0: types::members::Param0,
13059				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13060					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13061						types::members::Param0,
13062					>,
13063					types::members::Members,
13064					::subxt::ext::subxt_core::utils::Yes,
13065					(),
13066					(),
13067				> {
13068					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13069						"TechCollective",
13070						"Members",
13071						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13072						[
13073							101u8, 183u8, 36u8, 241u8, 67u8, 8u8, 252u8, 116u8, 110u8, 153u8,
13074							117u8, 210u8, 128u8, 80u8, 130u8, 163u8, 38u8, 76u8, 230u8, 107u8,
13075							112u8, 90u8, 102u8, 24u8, 217u8, 2u8, 244u8, 197u8, 103u8, 215u8,
13076							247u8, 133u8,
13077						],
13078					)
13079				}
13080				#[doc = " The index of each ranks's member into the group of members who have at least that rank."]
13081				pub fn id_to_index_iter(
13082					&self,
13083				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13084					(),
13085					types::id_to_index::IdToIndex,
13086					(),
13087					(),
13088					::subxt::ext::subxt_core::utils::Yes,
13089				> {
13090					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13091						"TechCollective",
13092						"IdToIndex",
13093						(),
13094						[
13095							121u8, 225u8, 69u8, 131u8, 194u8, 3u8, 82u8, 27u8, 129u8, 152u8, 157u8,
13096							45u8, 39u8, 47u8, 166u8, 28u8, 42u8, 92u8, 217u8, 189u8, 160u8, 102u8,
13097							153u8, 196u8, 94u8, 48u8, 248u8, 113u8, 164u8, 111u8, 27u8, 9u8,
13098						],
13099					)
13100				}
13101				#[doc = " The index of each ranks's member into the group of members who have at least that rank."]
13102				pub fn id_to_index_iter1(
13103					&self,
13104					_0: types::id_to_index::Param0,
13105				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13106					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13107						types::id_to_index::Param0,
13108					>,
13109					types::id_to_index::IdToIndex,
13110					(),
13111					(),
13112					::subxt::ext::subxt_core::utils::Yes,
13113				> {
13114					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13115						"TechCollective",
13116						"IdToIndex",
13117						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13118						[
13119							121u8, 225u8, 69u8, 131u8, 194u8, 3u8, 82u8, 27u8, 129u8, 152u8, 157u8,
13120							45u8, 39u8, 47u8, 166u8, 28u8, 42u8, 92u8, 217u8, 189u8, 160u8, 102u8,
13121							153u8, 196u8, 94u8, 48u8, 248u8, 113u8, 164u8, 111u8, 27u8, 9u8,
13122						],
13123					)
13124				}
13125				#[doc = " The index of each ranks's member into the group of members who have at least that rank."]
13126				pub fn id_to_index(
13127					&self,
13128					_0: types::id_to_index::Param0,
13129					_1: types::id_to_index::Param1,
13130				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13131					(
13132						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13133							types::id_to_index::Param0,
13134						>,
13135						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13136							types::id_to_index::Param1,
13137						>,
13138					),
13139					types::id_to_index::IdToIndex,
13140					::subxt::ext::subxt_core::utils::Yes,
13141					(),
13142					(),
13143				> {
13144					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13145						"TechCollective",
13146						"IdToIndex",
13147						(
13148							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13149							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
13150						),
13151						[
13152							121u8, 225u8, 69u8, 131u8, 194u8, 3u8, 82u8, 27u8, 129u8, 152u8, 157u8,
13153							45u8, 39u8, 47u8, 166u8, 28u8, 42u8, 92u8, 217u8, 189u8, 160u8, 102u8,
13154							153u8, 196u8, 94u8, 48u8, 248u8, 113u8, 164u8, 111u8, 27u8, 9u8,
13155						],
13156					)
13157				}
13158				#[doc = " The members in the collective by index. All indices in the range `0..MemberCount` will"]
13159				#[doc = " return `Some`, however a member's index is not guaranteed to remain unchanged over time."]
13160				pub fn index_to_id_iter(
13161					&self,
13162				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13163					(),
13164					types::index_to_id::IndexToId,
13165					(),
13166					(),
13167					::subxt::ext::subxt_core::utils::Yes,
13168				> {
13169					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13170						"TechCollective",
13171						"IndexToId",
13172						(),
13173						[
13174							110u8, 48u8, 214u8, 224u8, 56u8, 195u8, 186u8, 24u8, 111u8, 37u8, 15u8,
13175							153u8, 245u8, 101u8, 229u8, 149u8, 216u8, 185u8, 7u8, 242u8, 196u8,
13176							29u8, 205u8, 243u8, 162u8, 92u8, 71u8, 253u8, 102u8, 152u8, 137u8,
13177							70u8,
13178						],
13179					)
13180				}
13181				#[doc = " The members in the collective by index. All indices in the range `0..MemberCount` will"]
13182				#[doc = " return `Some`, however a member's index is not guaranteed to remain unchanged over time."]
13183				pub fn index_to_id_iter1(
13184					&self,
13185					_0: types::index_to_id::Param0,
13186				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13187					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13188						types::index_to_id::Param0,
13189					>,
13190					types::index_to_id::IndexToId,
13191					(),
13192					(),
13193					::subxt::ext::subxt_core::utils::Yes,
13194				> {
13195					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13196						"TechCollective",
13197						"IndexToId",
13198						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13199						[
13200							110u8, 48u8, 214u8, 224u8, 56u8, 195u8, 186u8, 24u8, 111u8, 37u8, 15u8,
13201							153u8, 245u8, 101u8, 229u8, 149u8, 216u8, 185u8, 7u8, 242u8, 196u8,
13202							29u8, 205u8, 243u8, 162u8, 92u8, 71u8, 253u8, 102u8, 152u8, 137u8,
13203							70u8,
13204						],
13205					)
13206				}
13207				#[doc = " The members in the collective by index. All indices in the range `0..MemberCount` will"]
13208				#[doc = " return `Some`, however a member's index is not guaranteed to remain unchanged over time."]
13209				pub fn index_to_id(
13210					&self,
13211					_0: types::index_to_id::Param0,
13212					_1: types::index_to_id::Param1,
13213				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13214					(
13215						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13216							types::index_to_id::Param0,
13217						>,
13218						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13219							types::index_to_id::Param1,
13220						>,
13221					),
13222					types::index_to_id::IndexToId,
13223					::subxt::ext::subxt_core::utils::Yes,
13224					(),
13225					(),
13226				> {
13227					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13228						"TechCollective",
13229						"IndexToId",
13230						(
13231							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13232							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
13233						),
13234						[
13235							110u8, 48u8, 214u8, 224u8, 56u8, 195u8, 186u8, 24u8, 111u8, 37u8, 15u8,
13236							153u8, 245u8, 101u8, 229u8, 149u8, 216u8, 185u8, 7u8, 242u8, 196u8,
13237							29u8, 205u8, 243u8, 162u8, 92u8, 71u8, 253u8, 102u8, 152u8, 137u8,
13238							70u8,
13239						],
13240					)
13241				}
13242				#[doc = " Votes on a given proposal, if it is ongoing."]
13243				pub fn voting_iter(
13244					&self,
13245				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13246					(),
13247					types::voting::Voting,
13248					(),
13249					(),
13250					::subxt::ext::subxt_core::utils::Yes,
13251				> {
13252					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13253						"TechCollective",
13254						"Voting",
13255						(),
13256						[
13257							180u8, 146u8, 236u8, 178u8, 30u8, 50u8, 161u8, 50u8, 140u8, 110u8,
13258							220u8, 1u8, 109u8, 209u8, 17u8, 94u8, 234u8, 223u8, 222u8, 177u8,
13259							243u8, 194u8, 246u8, 48u8, 178u8, 86u8, 30u8, 185u8, 56u8, 206u8,
13260							175u8, 18u8,
13261						],
13262					)
13263				}
13264				#[doc = " Votes on a given proposal, if it is ongoing."]
13265				pub fn voting_iter1(
13266					&self,
13267					_0: types::voting::Param0,
13268				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13269					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13270						types::voting::Param0,
13271					>,
13272					types::voting::Voting,
13273					(),
13274					(),
13275					::subxt::ext::subxt_core::utils::Yes,
13276				> {
13277					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13278						"TechCollective",
13279						"Voting",
13280						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13281						[
13282							180u8, 146u8, 236u8, 178u8, 30u8, 50u8, 161u8, 50u8, 140u8, 110u8,
13283							220u8, 1u8, 109u8, 209u8, 17u8, 94u8, 234u8, 223u8, 222u8, 177u8,
13284							243u8, 194u8, 246u8, 48u8, 178u8, 86u8, 30u8, 185u8, 56u8, 206u8,
13285							175u8, 18u8,
13286						],
13287					)
13288				}
13289				#[doc = " Votes on a given proposal, if it is ongoing."]
13290				pub fn voting(
13291					&self,
13292					_0: types::voting::Param0,
13293					_1: types::voting::Param1,
13294				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13295					(
13296						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13297							types::voting::Param0,
13298						>,
13299						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13300							types::voting::Param1,
13301						>,
13302					),
13303					types::voting::Voting,
13304					::subxt::ext::subxt_core::utils::Yes,
13305					(),
13306					(),
13307				> {
13308					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13309						"TechCollective",
13310						"Voting",
13311						(
13312							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13313							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
13314						),
13315						[
13316							180u8, 146u8, 236u8, 178u8, 30u8, 50u8, 161u8, 50u8, 140u8, 110u8,
13317							220u8, 1u8, 109u8, 209u8, 17u8, 94u8, 234u8, 223u8, 222u8, 177u8,
13318							243u8, 194u8, 246u8, 48u8, 178u8, 86u8, 30u8, 185u8, 56u8, 206u8,
13319							175u8, 18u8,
13320						],
13321					)
13322				}
13323				pub fn voting_cleanup_iter(
13324					&self,
13325				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13326					(),
13327					types::voting_cleanup::VotingCleanup,
13328					(),
13329					(),
13330					::subxt::ext::subxt_core::utils::Yes,
13331				> {
13332					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13333						"TechCollective",
13334						"VotingCleanup",
13335						(),
13336						[
13337							223u8, 130u8, 79u8, 104u8, 94u8, 221u8, 222u8, 72u8, 187u8, 95u8,
13338							231u8, 59u8, 28u8, 119u8, 191u8, 63u8, 40u8, 186u8, 58u8, 254u8, 14u8,
13339							233u8, 152u8, 36u8, 2u8, 231u8, 120u8, 13u8, 120u8, 211u8, 232u8, 11u8,
13340						],
13341					)
13342				}
13343				pub fn voting_cleanup(
13344					&self,
13345					_0: types::voting_cleanup::Param0,
13346				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13347					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13348						types::voting_cleanup::Param0,
13349					>,
13350					types::voting_cleanup::VotingCleanup,
13351					::subxt::ext::subxt_core::utils::Yes,
13352					(),
13353					(),
13354				> {
13355					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13356						"TechCollective",
13357						"VotingCleanup",
13358						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13359						[
13360							223u8, 130u8, 79u8, 104u8, 94u8, 221u8, 222u8, 72u8, 187u8, 95u8,
13361							231u8, 59u8, 28u8, 119u8, 191u8, 63u8, 40u8, 186u8, 58u8, 254u8, 14u8,
13362							233u8, 152u8, 36u8, 2u8, 231u8, 120u8, 13u8, 120u8, 211u8, 232u8, 11u8,
13363						],
13364					)
13365				}
13366			}
13367		}
13368	}
13369	pub mod tech_referenda {
13370		use super::{root_mod, runtime_types};
13371		#[doc = "The `Error` enum of this pallet."]
13372		pub type Error = runtime_types::pallet_referenda::pallet::Error;
13373		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
13374		pub type Call = runtime_types::pallet_referenda::pallet::Call;
13375		pub mod calls {
13376			use super::{root_mod, runtime_types};
13377			type DispatchError = runtime_types::sp_runtime::DispatchError;
13378			pub mod types {
13379				use super::runtime_types;
13380				#[derive(
13381					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13382					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13383					Debug,
13384				)]
13385				#[decode_as_type(
13386					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13387				)]
13388				#[encode_as_type(
13389					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13390				)]
13391				#[doc = "Propose a referendum on a privileged action."]
13392				#[doc = ""]
13393				#[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"]
13394				#[doc = "  available."]
13395				#[doc = "- `proposal_origin`: The origin from which the proposal should be executed."]
13396				#[doc = "- `proposal`: The proposal."]
13397				#[doc = "- `enactment_moment`: The moment that the proposal should be enacted."]
13398				#[doc = ""]
13399				#[doc = "Emits `Submitted`."]
13400				pub struct Submit {
13401					pub proposal_origin:
13402						::subxt::ext::subxt_core::alloc::boxed::Box<submit::ProposalOrigin>,
13403					pub proposal: submit::Proposal,
13404					pub enactment_moment: submit::EnactmentMoment,
13405				}
13406				pub mod submit {
13407					use super::runtime_types;
13408					pub type ProposalOrigin = runtime_types::quantus_runtime::OriginCaller;
13409					pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
13410						runtime_types::quantus_runtime::RuntimeCall,
13411						runtime_types::qp_poseidon::PoseidonHasher,
13412					>;
13413					pub type EnactmentMoment =
13414						runtime_types::frame_support::traits::schedule::DispatchTime<
13415							::core::primitive::u32,
13416						>;
13417				}
13418				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Submit {
13419					const PALLET: &'static str = "TechReferenda";
13420					const CALL: &'static str = "submit";
13421				}
13422				#[derive(
13423					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13424					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13425					Debug,
13426				)]
13427				#[decode_as_type(
13428					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13429				)]
13430				#[encode_as_type(
13431					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13432				)]
13433				#[doc = "Post the Decision Deposit for a referendum."]
13434				#[doc = ""]
13435				#[doc = "- `origin`: must be `Signed` and the account must have funds available for the"]
13436				#[doc = "  referendum's track's Decision Deposit."]
13437				#[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"]
13438				#[doc = "  posted."]
13439				#[doc = ""]
13440				#[doc = "Emits `DecisionDepositPlaced`."]
13441				pub struct PlaceDecisionDeposit {
13442					pub index: place_decision_deposit::Index,
13443				}
13444				pub mod place_decision_deposit {
13445					use super::runtime_types;
13446					pub type Index = ::core::primitive::u32;
13447				}
13448				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for PlaceDecisionDeposit {
13449					const PALLET: &'static str = "TechReferenda";
13450					const CALL: &'static str = "place_decision_deposit";
13451				}
13452				#[derive(
13453					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13454					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13455					Debug,
13456				)]
13457				#[decode_as_type(
13458					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13459				)]
13460				#[encode_as_type(
13461					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13462				)]
13463				#[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."]
13464				#[doc = ""]
13465				#[doc = "- `origin`: must be `Signed` or `Root`."]
13466				#[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"]
13467				#[doc = "  refunded."]
13468				#[doc = ""]
13469				#[doc = "Emits `DecisionDepositRefunded`."]
13470				pub struct RefundDecisionDeposit {
13471					pub index: refund_decision_deposit::Index,
13472				}
13473				pub mod refund_decision_deposit {
13474					use super::runtime_types;
13475					pub type Index = ::core::primitive::u32;
13476				}
13477				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RefundDecisionDeposit {
13478					const PALLET: &'static str = "TechReferenda";
13479					const CALL: &'static str = "refund_decision_deposit";
13480				}
13481				#[derive(
13482					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13483					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13484					Debug,
13485				)]
13486				#[decode_as_type(
13487					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13488				)]
13489				#[encode_as_type(
13490					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13491				)]
13492				#[doc = "Cancel an ongoing referendum."]
13493				#[doc = ""]
13494				#[doc = "- `origin`: must be the `CancelOrigin`."]
13495				#[doc = "- `index`: The index of the referendum to be cancelled."]
13496				#[doc = ""]
13497				#[doc = "Emits `Cancelled`."]
13498				pub struct Cancel {
13499					pub index: cancel::Index,
13500				}
13501				pub mod cancel {
13502					use super::runtime_types;
13503					pub type Index = ::core::primitive::u32;
13504				}
13505				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Cancel {
13506					const PALLET: &'static str = "TechReferenda";
13507					const CALL: &'static str = "cancel";
13508				}
13509				#[derive(
13510					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13511					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13512					Debug,
13513				)]
13514				#[decode_as_type(
13515					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13516				)]
13517				#[encode_as_type(
13518					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13519				)]
13520				#[doc = "Cancel an ongoing referendum and slash the deposits."]
13521				#[doc = ""]
13522				#[doc = "- `origin`: must be the `KillOrigin`."]
13523				#[doc = "- `index`: The index of the referendum to be cancelled."]
13524				#[doc = ""]
13525				#[doc = "Emits `Killed` and `DepositSlashed`."]
13526				pub struct Kill {
13527					pub index: kill::Index,
13528				}
13529				pub mod kill {
13530					use super::runtime_types;
13531					pub type Index = ::core::primitive::u32;
13532				}
13533				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Kill {
13534					const PALLET: &'static str = "TechReferenda";
13535					const CALL: &'static str = "kill";
13536				}
13537				#[derive(
13538					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13539					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13540					Debug,
13541				)]
13542				#[decode_as_type(
13543					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13544				)]
13545				#[encode_as_type(
13546					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13547				)]
13548				#[doc = "Advance a referendum onto its next logical state. Only used internally."]
13549				#[doc = ""]
13550				#[doc = "- `origin`: must be `Root`."]
13551				#[doc = "- `index`: the referendum to be advanced."]
13552				pub struct NudgeReferendum {
13553					pub index: nudge_referendum::Index,
13554				}
13555				pub mod nudge_referendum {
13556					use super::runtime_types;
13557					pub type Index = ::core::primitive::u32;
13558				}
13559				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for NudgeReferendum {
13560					const PALLET: &'static str = "TechReferenda";
13561					const CALL: &'static str = "nudge_referendum";
13562				}
13563				#[derive(
13564					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13565					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13566					Debug,
13567				)]
13568				#[decode_as_type(
13569					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13570				)]
13571				#[encode_as_type(
13572					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13573				)]
13574				#[doc = "Advance a track onto its next logical state. Only used internally."]
13575				#[doc = ""]
13576				#[doc = "- `origin`: must be `Root`."]
13577				#[doc = "- `track`: the track to be advanced."]
13578				#[doc = ""]
13579				#[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"]
13580				#[doc = "`DecidingCount` is not yet updated. This means that we should either:"]
13581				#[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"]
13582				#[doc = "- decrement `DecidingCount`."]
13583				pub struct OneFewerDeciding {
13584					pub track: one_fewer_deciding::Track,
13585				}
13586				pub mod one_fewer_deciding {
13587					use super::runtime_types;
13588					pub type Track = ::core::primitive::u16;
13589				}
13590				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for OneFewerDeciding {
13591					const PALLET: &'static str = "TechReferenda";
13592					const CALL: &'static str = "one_fewer_deciding";
13593				}
13594				#[derive(
13595					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13596					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13597					Debug,
13598				)]
13599				#[decode_as_type(
13600					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13601				)]
13602				#[encode_as_type(
13603					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13604				)]
13605				#[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."]
13606				#[doc = ""]
13607				#[doc = "- `origin`: must be `Signed` or `Root`."]
13608				#[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"]
13609				#[doc = "  refunded."]
13610				#[doc = ""]
13611				#[doc = "Emits `SubmissionDepositRefunded`."]
13612				pub struct RefundSubmissionDeposit {
13613					pub index: refund_submission_deposit::Index,
13614				}
13615				pub mod refund_submission_deposit {
13616					use super::runtime_types;
13617					pub type Index = ::core::primitive::u32;
13618				}
13619				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RefundSubmissionDeposit {
13620					const PALLET: &'static str = "TechReferenda";
13621					const CALL: &'static str = "refund_submission_deposit";
13622				}
13623				#[derive(
13624					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13625					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13626					Debug,
13627				)]
13628				#[decode_as_type(
13629					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13630				)]
13631				#[encode_as_type(
13632					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13633				)]
13634				#[doc = "Set or clear metadata of a referendum."]
13635				#[doc = ""]
13636				#[doc = "Parameters:"]
13637				#[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"]
13638				#[doc = "  metadata of a finished referendum."]
13639				#[doc = "- `index`:  The index of a referendum to set or clear metadata for."]
13640				#[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."]
13641				pub struct SetMetadata {
13642					pub index: set_metadata::Index,
13643					pub maybe_hash: set_metadata::MaybeHash,
13644				}
13645				pub mod set_metadata {
13646					use super::runtime_types;
13647					pub type Index = ::core::primitive::u32;
13648					pub type MaybeHash =
13649						::core::option::Option<::subxt::ext::subxt_core::utils::H256>;
13650				}
13651				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetMetadata {
13652					const PALLET: &'static str = "TechReferenda";
13653					const CALL: &'static str = "set_metadata";
13654				}
13655			}
13656			pub struct TransactionApi;
13657			impl TransactionApi {
13658				#[doc = "Propose a referendum on a privileged action."]
13659				#[doc = ""]
13660				#[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"]
13661				#[doc = "  available."]
13662				#[doc = "- `proposal_origin`: The origin from which the proposal should be executed."]
13663				#[doc = "- `proposal`: The proposal."]
13664				#[doc = "- `enactment_moment`: The moment that the proposal should be enacted."]
13665				#[doc = ""]
13666				#[doc = "Emits `Submitted`."]
13667				pub fn submit(
13668					&self,
13669					proposal_origin: types::submit::ProposalOrigin,
13670					proposal: types::submit::Proposal,
13671					enactment_moment: types::submit::EnactmentMoment,
13672				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Submit> {
13673					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13674						"TechReferenda",
13675						"submit",
13676						types::Submit {
13677							proposal_origin: ::subxt::ext::subxt_core::alloc::boxed::Box::new(
13678								proposal_origin,
13679							),
13680							proposal,
13681							enactment_moment,
13682						},
13683						[
13684							30u8, 232u8, 132u8, 0u8, 199u8, 166u8, 49u8, 94u8, 238u8, 61u8, 236u8,
13685							207u8, 2u8, 136u8, 37u8, 81u8, 67u8, 133u8, 2u8, 147u8, 177u8, 176u8,
13686							178u8, 113u8, 155u8, 180u8, 104u8, 176u8, 215u8, 255u8, 240u8, 100u8,
13687						],
13688					)
13689				}
13690				#[doc = "Post the Decision Deposit for a referendum."]
13691				#[doc = ""]
13692				#[doc = "- `origin`: must be `Signed` and the account must have funds available for the"]
13693				#[doc = "  referendum's track's Decision Deposit."]
13694				#[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"]
13695				#[doc = "  posted."]
13696				#[doc = ""]
13697				#[doc = "Emits `DecisionDepositPlaced`."]
13698				pub fn place_decision_deposit(
13699					&self,
13700					index: types::place_decision_deposit::Index,
13701				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::PlaceDecisionDeposit>
13702				{
13703					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13704						"TechReferenda",
13705						"place_decision_deposit",
13706						types::PlaceDecisionDeposit { index },
13707						[
13708							247u8, 158u8, 55u8, 191u8, 188u8, 200u8, 3u8, 47u8, 20u8, 175u8, 86u8,
13709							203u8, 52u8, 253u8, 91u8, 131u8, 21u8, 213u8, 56u8, 68u8, 40u8, 84u8,
13710							184u8, 30u8, 9u8, 193u8, 63u8, 182u8, 178u8, 241u8, 247u8, 220u8,
13711						],
13712					)
13713				}
13714				#[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."]
13715				#[doc = ""]
13716				#[doc = "- `origin`: must be `Signed` or `Root`."]
13717				#[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"]
13718				#[doc = "  refunded."]
13719				#[doc = ""]
13720				#[doc = "Emits `DecisionDepositRefunded`."]
13721				pub fn refund_decision_deposit(
13722					&self,
13723					index: types::refund_decision_deposit::Index,
13724				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
13725					types::RefundDecisionDeposit,
13726				> {
13727					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13728						"TechReferenda",
13729						"refund_decision_deposit",
13730						types::RefundDecisionDeposit { index },
13731						[
13732							159u8, 19u8, 35u8, 216u8, 114u8, 105u8, 18u8, 42u8, 148u8, 151u8,
13733							136u8, 92u8, 117u8, 30u8, 29u8, 41u8, 238u8, 58u8, 195u8, 91u8, 115u8,
13734							135u8, 96u8, 99u8, 154u8, 233u8, 8u8, 249u8, 145u8, 165u8, 77u8, 164u8,
13735						],
13736					)
13737				}
13738				#[doc = "Cancel an ongoing referendum."]
13739				#[doc = ""]
13740				#[doc = "- `origin`: must be the `CancelOrigin`."]
13741				#[doc = "- `index`: The index of the referendum to be cancelled."]
13742				#[doc = ""]
13743				#[doc = "Emits `Cancelled`."]
13744				pub fn cancel(
13745					&self,
13746					index: types::cancel::Index,
13747				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Cancel> {
13748					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13749						"TechReferenda",
13750						"cancel",
13751						types::Cancel { index },
13752						[
13753							55u8, 206u8, 119u8, 156u8, 238u8, 165u8, 193u8, 73u8, 242u8, 13u8,
13754							212u8, 75u8, 136u8, 156u8, 151u8, 14u8, 35u8, 41u8, 156u8, 107u8, 60u8,
13755							190u8, 39u8, 216u8, 8u8, 74u8, 213u8, 130u8, 160u8, 131u8, 237u8,
13756							122u8,
13757						],
13758					)
13759				}
13760				#[doc = "Cancel an ongoing referendum and slash the deposits."]
13761				#[doc = ""]
13762				#[doc = "- `origin`: must be the `KillOrigin`."]
13763				#[doc = "- `index`: The index of the referendum to be cancelled."]
13764				#[doc = ""]
13765				#[doc = "Emits `Killed` and `DepositSlashed`."]
13766				pub fn kill(
13767					&self,
13768					index: types::kill::Index,
13769				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Kill> {
13770					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13771						"TechReferenda",
13772						"kill",
13773						types::Kill { index },
13774						[
13775							50u8, 89u8, 57u8, 0u8, 87u8, 129u8, 113u8, 140u8, 179u8, 178u8, 126u8,
13776							198u8, 92u8, 92u8, 189u8, 64u8, 123u8, 232u8, 57u8, 227u8, 223u8,
13777							219u8, 73u8, 217u8, 179u8, 44u8, 210u8, 125u8, 180u8, 10u8, 143u8,
13778							48u8,
13779						],
13780					)
13781				}
13782				#[doc = "Advance a referendum onto its next logical state. Only used internally."]
13783				#[doc = ""]
13784				#[doc = "- `origin`: must be `Root`."]
13785				#[doc = "- `index`: the referendum to be advanced."]
13786				pub fn nudge_referendum(
13787					&self,
13788					index: types::nudge_referendum::Index,
13789				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::NudgeReferendum>
13790				{
13791					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13792						"TechReferenda",
13793						"nudge_referendum",
13794						types::NudgeReferendum { index },
13795						[
13796							75u8, 99u8, 172u8, 30u8, 170u8, 150u8, 211u8, 229u8, 249u8, 128u8,
13797							194u8, 246u8, 100u8, 142u8, 193u8, 184u8, 232u8, 81u8, 29u8, 17u8,
13798							99u8, 91u8, 236u8, 85u8, 230u8, 226u8, 57u8, 115u8, 45u8, 170u8, 54u8,
13799							213u8,
13800						],
13801					)
13802				}
13803				#[doc = "Advance a track onto its next logical state. Only used internally."]
13804				#[doc = ""]
13805				#[doc = "- `origin`: must be `Root`."]
13806				#[doc = "- `track`: the track to be advanced."]
13807				#[doc = ""]
13808				#[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"]
13809				#[doc = "`DecidingCount` is not yet updated. This means that we should either:"]
13810				#[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"]
13811				#[doc = "- decrement `DecidingCount`."]
13812				pub fn one_fewer_deciding(
13813					&self,
13814					track: types::one_fewer_deciding::Track,
13815				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::OneFewerDeciding>
13816				{
13817					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13818						"TechReferenda",
13819						"one_fewer_deciding",
13820						types::OneFewerDeciding { track },
13821						[
13822							15u8, 84u8, 79u8, 231u8, 21u8, 239u8, 244u8, 143u8, 183u8, 215u8,
13823							181u8, 25u8, 225u8, 195u8, 95u8, 171u8, 17u8, 156u8, 182u8, 128u8,
13824							111u8, 40u8, 151u8, 102u8, 196u8, 55u8, 36u8, 212u8, 89u8, 190u8,
13825							131u8, 167u8,
13826						],
13827					)
13828				}
13829				#[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."]
13830				#[doc = ""]
13831				#[doc = "- `origin`: must be `Signed` or `Root`."]
13832				#[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"]
13833				#[doc = "  refunded."]
13834				#[doc = ""]
13835				#[doc = "Emits `SubmissionDepositRefunded`."]
13836				pub fn refund_submission_deposit(
13837					&self,
13838					index: types::refund_submission_deposit::Index,
13839				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
13840					types::RefundSubmissionDeposit,
13841				> {
13842					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13843						"TechReferenda",
13844						"refund_submission_deposit",
13845						types::RefundSubmissionDeposit { index },
13846						[
13847							20u8, 217u8, 115u8, 6u8, 1u8, 60u8, 54u8, 136u8, 35u8, 41u8, 38u8,
13848							23u8, 85u8, 100u8, 141u8, 126u8, 30u8, 160u8, 61u8, 46u8, 134u8, 98u8,
13849							82u8, 38u8, 211u8, 124u8, 208u8, 222u8, 210u8, 10u8, 155u8, 122u8,
13850						],
13851					)
13852				}
13853				#[doc = "Set or clear metadata of a referendum."]
13854				#[doc = ""]
13855				#[doc = "Parameters:"]
13856				#[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"]
13857				#[doc = "  metadata of a finished referendum."]
13858				#[doc = "- `index`:  The index of a referendum to set or clear metadata for."]
13859				#[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."]
13860				pub fn set_metadata(
13861					&self,
13862					index: types::set_metadata::Index,
13863					maybe_hash: types::set_metadata::MaybeHash,
13864				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetMetadata> {
13865					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13866						"TechReferenda",
13867						"set_metadata",
13868						types::SetMetadata { index, maybe_hash },
13869						[
13870							207u8, 29u8, 146u8, 233u8, 219u8, 205u8, 88u8, 118u8, 106u8, 61u8,
13871							124u8, 101u8, 2u8, 41u8, 169u8, 70u8, 114u8, 189u8, 162u8, 118u8, 1u8,
13872							108u8, 234u8, 98u8, 245u8, 245u8, 183u8, 126u8, 89u8, 13u8, 112u8,
13873							88u8,
13874						],
13875					)
13876				}
13877			}
13878		}
13879		#[doc = "The `Event` enum of this pallet"]
13880		pub type Event = runtime_types::pallet_referenda::pallet::Event2;
13881		pub mod events {
13882			use super::runtime_types;
13883			#[derive(
13884				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13885				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13886				Debug,
13887			)]
13888			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13889			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13890			#[doc = "A referendum has been submitted."]
13891			pub struct Submitted {
13892				pub index: submitted::Index,
13893				pub track: submitted::Track,
13894				pub proposal: submitted::Proposal,
13895			}
13896			pub mod submitted {
13897				use super::runtime_types;
13898				pub type Index = ::core::primitive::u32;
13899				pub type Track = ::core::primitive::u16;
13900				pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
13901					runtime_types::quantus_runtime::RuntimeCall,
13902					runtime_types::qp_poseidon::PoseidonHasher,
13903				>;
13904			}
13905			impl ::subxt::ext::subxt_core::events::StaticEvent for Submitted {
13906				const PALLET: &'static str = "TechReferenda";
13907				const EVENT: &'static str = "Submitted";
13908			}
13909			#[derive(
13910				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13911				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13912				Debug,
13913			)]
13914			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13915			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13916			#[doc = "The decision deposit has been placed."]
13917			pub struct DecisionDepositPlaced {
13918				pub index: decision_deposit_placed::Index,
13919				pub who: decision_deposit_placed::Who,
13920				pub amount: decision_deposit_placed::Amount,
13921			}
13922			pub mod decision_deposit_placed {
13923				use super::runtime_types;
13924				pub type Index = ::core::primitive::u32;
13925				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
13926				pub type Amount = ::core::primitive::u128;
13927			}
13928			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionDepositPlaced {
13929				const PALLET: &'static str = "TechReferenda";
13930				const EVENT: &'static str = "DecisionDepositPlaced";
13931			}
13932			#[derive(
13933				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13934				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13935				Debug,
13936			)]
13937			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13938			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13939			#[doc = "The decision deposit has been refunded."]
13940			pub struct DecisionDepositRefunded {
13941				pub index: decision_deposit_refunded::Index,
13942				pub who: decision_deposit_refunded::Who,
13943				pub amount: decision_deposit_refunded::Amount,
13944			}
13945			pub mod decision_deposit_refunded {
13946				use super::runtime_types;
13947				pub type Index = ::core::primitive::u32;
13948				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
13949				pub type Amount = ::core::primitive::u128;
13950			}
13951			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionDepositRefunded {
13952				const PALLET: &'static str = "TechReferenda";
13953				const EVENT: &'static str = "DecisionDepositRefunded";
13954			}
13955			#[derive(
13956				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13957				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13958				Debug,
13959			)]
13960			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13961			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13962			#[doc = "A deposit has been slashed."]
13963			pub struct DepositSlashed {
13964				pub who: deposit_slashed::Who,
13965				pub amount: deposit_slashed::Amount,
13966			}
13967			pub mod deposit_slashed {
13968				use super::runtime_types;
13969				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
13970				pub type Amount = ::core::primitive::u128;
13971			}
13972			impl ::subxt::ext::subxt_core::events::StaticEvent for DepositSlashed {
13973				const PALLET: &'static str = "TechReferenda";
13974				const EVENT: &'static str = "DepositSlashed";
13975			}
13976			#[derive(
13977				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13978				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13979				Debug,
13980			)]
13981			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13982			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13983			#[doc = "A referendum has moved into the deciding phase."]
13984			pub struct DecisionStarted {
13985				pub index: decision_started::Index,
13986				pub track: decision_started::Track,
13987				pub proposal: decision_started::Proposal,
13988				pub tally: decision_started::Tally,
13989			}
13990			pub mod decision_started {
13991				use super::runtime_types;
13992				pub type Index = ::core::primitive::u32;
13993				pub type Track = ::core::primitive::u16;
13994				pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
13995					runtime_types::quantus_runtime::RuntimeCall,
13996					runtime_types::qp_poseidon::PoseidonHasher,
13997				>;
13998				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
13999			}
14000			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionStarted {
14001				const PALLET: &'static str = "TechReferenda";
14002				const EVENT: &'static str = "DecisionStarted";
14003			}
14004			#[derive(
14005				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14006				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14007				Debug,
14008			)]
14009			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14010			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14011			pub struct ConfirmStarted {
14012				pub index: confirm_started::Index,
14013			}
14014			pub mod confirm_started {
14015				use super::runtime_types;
14016				pub type Index = ::core::primitive::u32;
14017			}
14018			impl ::subxt::ext::subxt_core::events::StaticEvent for ConfirmStarted {
14019				const PALLET: &'static str = "TechReferenda";
14020				const EVENT: &'static str = "ConfirmStarted";
14021			}
14022			#[derive(
14023				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14024				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14025				Debug,
14026			)]
14027			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14028			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14029			pub struct ConfirmAborted {
14030				pub index: confirm_aborted::Index,
14031			}
14032			pub mod confirm_aborted {
14033				use super::runtime_types;
14034				pub type Index = ::core::primitive::u32;
14035			}
14036			impl ::subxt::ext::subxt_core::events::StaticEvent for ConfirmAborted {
14037				const PALLET: &'static str = "TechReferenda";
14038				const EVENT: &'static str = "ConfirmAborted";
14039			}
14040			#[derive(
14041				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14042				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14043				Debug,
14044			)]
14045			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14046			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14047			#[doc = "A referendum has ended its confirmation phase and is ready for approval."]
14048			pub struct Confirmed {
14049				pub index: confirmed::Index,
14050				pub tally: confirmed::Tally,
14051			}
14052			pub mod confirmed {
14053				use super::runtime_types;
14054				pub type Index = ::core::primitive::u32;
14055				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
14056			}
14057			impl ::subxt::ext::subxt_core::events::StaticEvent for Confirmed {
14058				const PALLET: &'static str = "TechReferenda";
14059				const EVENT: &'static str = "Confirmed";
14060			}
14061			#[derive(
14062				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14063				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14064				Debug,
14065			)]
14066			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14067			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14068			#[doc = "A referendum has been approved and its proposal has been scheduled."]
14069			pub struct Approved {
14070				pub index: approved::Index,
14071			}
14072			pub mod approved {
14073				use super::runtime_types;
14074				pub type Index = ::core::primitive::u32;
14075			}
14076			impl ::subxt::ext::subxt_core::events::StaticEvent for Approved {
14077				const PALLET: &'static str = "TechReferenda";
14078				const EVENT: &'static str = "Approved";
14079			}
14080			#[derive(
14081				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14082				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14083				Debug,
14084			)]
14085			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14086			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14087			#[doc = "A proposal has been rejected by referendum."]
14088			pub struct Rejected {
14089				pub index: rejected::Index,
14090				pub tally: rejected::Tally,
14091			}
14092			pub mod rejected {
14093				use super::runtime_types;
14094				pub type Index = ::core::primitive::u32;
14095				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
14096			}
14097			impl ::subxt::ext::subxt_core::events::StaticEvent for Rejected {
14098				const PALLET: &'static str = "TechReferenda";
14099				const EVENT: &'static str = "Rejected";
14100			}
14101			#[derive(
14102				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14103				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14104				Debug,
14105			)]
14106			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14107			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14108			#[doc = "A referendum has been timed out without being decided."]
14109			pub struct TimedOut {
14110				pub index: timed_out::Index,
14111				pub tally: timed_out::Tally,
14112			}
14113			pub mod timed_out {
14114				use super::runtime_types;
14115				pub type Index = ::core::primitive::u32;
14116				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
14117			}
14118			impl ::subxt::ext::subxt_core::events::StaticEvent for TimedOut {
14119				const PALLET: &'static str = "TechReferenda";
14120				const EVENT: &'static str = "TimedOut";
14121			}
14122			#[derive(
14123				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14124				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14125				Debug,
14126			)]
14127			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14128			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14129			#[doc = "A referendum has been cancelled."]
14130			pub struct Cancelled {
14131				pub index: cancelled::Index,
14132				pub tally: cancelled::Tally,
14133			}
14134			pub mod cancelled {
14135				use super::runtime_types;
14136				pub type Index = ::core::primitive::u32;
14137				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
14138			}
14139			impl ::subxt::ext::subxt_core::events::StaticEvent for Cancelled {
14140				const PALLET: &'static str = "TechReferenda";
14141				const EVENT: &'static str = "Cancelled";
14142			}
14143			#[derive(
14144				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14145				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14146				Debug,
14147			)]
14148			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14149			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14150			#[doc = "A referendum has been killed."]
14151			pub struct Killed {
14152				pub index: killed::Index,
14153				pub tally: killed::Tally,
14154			}
14155			pub mod killed {
14156				use super::runtime_types;
14157				pub type Index = ::core::primitive::u32;
14158				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
14159			}
14160			impl ::subxt::ext::subxt_core::events::StaticEvent for Killed {
14161				const PALLET: &'static str = "TechReferenda";
14162				const EVENT: &'static str = "Killed";
14163			}
14164			#[derive(
14165				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14166				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14167				Debug,
14168			)]
14169			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14170			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14171			#[doc = "The submission deposit has been refunded."]
14172			pub struct SubmissionDepositRefunded {
14173				pub index: submission_deposit_refunded::Index,
14174				pub who: submission_deposit_refunded::Who,
14175				pub amount: submission_deposit_refunded::Amount,
14176			}
14177			pub mod submission_deposit_refunded {
14178				use super::runtime_types;
14179				pub type Index = ::core::primitive::u32;
14180				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
14181				pub type Amount = ::core::primitive::u128;
14182			}
14183			impl ::subxt::ext::subxt_core::events::StaticEvent for SubmissionDepositRefunded {
14184				const PALLET: &'static str = "TechReferenda";
14185				const EVENT: &'static str = "SubmissionDepositRefunded";
14186			}
14187			#[derive(
14188				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14189				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14190				Debug,
14191			)]
14192			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14193			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14194			#[doc = "Metadata for a referendum has been set."]
14195			pub struct MetadataSet {
14196				pub index: metadata_set::Index,
14197				pub hash: metadata_set::Hash,
14198			}
14199			pub mod metadata_set {
14200				use super::runtime_types;
14201				pub type Index = ::core::primitive::u32;
14202				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
14203			}
14204			impl ::subxt::ext::subxt_core::events::StaticEvent for MetadataSet {
14205				const PALLET: &'static str = "TechReferenda";
14206				const EVENT: &'static str = "MetadataSet";
14207			}
14208			#[derive(
14209				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14210				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14211				Debug,
14212			)]
14213			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14214			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14215			#[doc = "Metadata for a referendum has been cleared."]
14216			pub struct MetadataCleared {
14217				pub index: metadata_cleared::Index,
14218				pub hash: metadata_cleared::Hash,
14219			}
14220			pub mod metadata_cleared {
14221				use super::runtime_types;
14222				pub type Index = ::core::primitive::u32;
14223				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
14224			}
14225			impl ::subxt::ext::subxt_core::events::StaticEvent for MetadataCleared {
14226				const PALLET: &'static str = "TechReferenda";
14227				const EVENT: &'static str = "MetadataCleared";
14228			}
14229		}
14230		pub mod storage {
14231			use super::runtime_types;
14232			pub mod types {
14233				use super::runtime_types;
14234				pub mod referendum_count {
14235					use super::runtime_types;
14236					pub type ReferendumCount = ::core::primitive::u32;
14237				}
14238				pub mod referendum_info_for {
14239					use super::runtime_types;
14240					pub type ReferendumInfoFor =
14241						runtime_types::pallet_referenda::types::ReferendumInfo<
14242							::core::primitive::u16,
14243							runtime_types::quantus_runtime::OriginCaller,
14244							::core::primitive::u32,
14245							runtime_types::frame_support::traits::preimages::Bounded<
14246								runtime_types::quantus_runtime::RuntimeCall,
14247								runtime_types::qp_poseidon::PoseidonHasher,
14248							>,
14249							::core::primitive::u128,
14250							runtime_types::pallet_ranked_collective::Tally,
14251							::subxt::ext::subxt_core::utils::AccountId32,
14252							(
14253								runtime_types::qp_scheduler::BlockNumberOrTimestamp<
14254									::core::primitive::u32,
14255									::core::primitive::u64,
14256								>,
14257								::core::primitive::u32,
14258							),
14259						>;
14260					pub type Param0 = ::core::primitive::u32;
14261				}
14262				pub mod track_queue {
14263					use super::runtime_types;
14264					pub type TrackQueue =
14265						runtime_types::bounded_collections::bounded_vec::BoundedVec<(
14266							::core::primitive::u32,
14267							::core::primitive::u32,
14268						)>;
14269					pub type Param0 = ::core::primitive::u16;
14270				}
14271				pub mod deciding_count {
14272					use super::runtime_types;
14273					pub type DecidingCount = ::core::primitive::u32;
14274					pub type Param0 = ::core::primitive::u16;
14275				}
14276				pub mod metadata_of {
14277					use super::runtime_types;
14278					pub type MetadataOf = ::subxt::ext::subxt_core::utils::H256;
14279					pub type Param0 = ::core::primitive::u32;
14280				}
14281			}
14282			pub struct StorageApi;
14283			impl StorageApi {
14284				#[doc = " The next free referendum index, aka the number of referenda started so far."]
14285				pub fn referendum_count(
14286					&self,
14287				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14288					(),
14289					types::referendum_count::ReferendumCount,
14290					::subxt::ext::subxt_core::utils::Yes,
14291					::subxt::ext::subxt_core::utils::Yes,
14292					(),
14293				> {
14294					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14295						"TechReferenda",
14296						"ReferendumCount",
14297						(),
14298						[
14299							64u8, 145u8, 232u8, 153u8, 121u8, 87u8, 128u8, 253u8, 170u8, 192u8,
14300							139u8, 18u8, 0u8, 33u8, 243u8, 11u8, 238u8, 222u8, 244u8, 5u8, 247u8,
14301							198u8, 149u8, 31u8, 122u8, 208u8, 86u8, 179u8, 166u8, 167u8, 93u8,
14302							67u8,
14303						],
14304					)
14305				}
14306				#[doc = " Information concerning any given referendum."]
14307				pub fn referendum_info_for_iter(
14308					&self,
14309				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14310					(),
14311					types::referendum_info_for::ReferendumInfoFor,
14312					(),
14313					(),
14314					::subxt::ext::subxt_core::utils::Yes,
14315				> {
14316					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14317						"TechReferenda",
14318						"ReferendumInfoFor",
14319						(),
14320						[
14321							12u8, 160u8, 226u8, 48u8, 96u8, 127u8, 60u8, 27u8, 37u8, 158u8, 31u8,
14322							162u8, 106u8, 183u8, 90u8, 169u8, 244u8, 35u8, 25u8, 121u8, 84u8,
14323							120u8, 20u8, 206u8, 137u8, 42u8, 139u8, 47u8, 62u8, 73u8, 157u8, 182u8,
14324						],
14325					)
14326				}
14327				#[doc = " Information concerning any given referendum."]
14328				pub fn referendum_info_for(
14329					&self,
14330					_0: types::referendum_info_for::Param0,
14331				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14332					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
14333						types::referendum_info_for::Param0,
14334					>,
14335					types::referendum_info_for::ReferendumInfoFor,
14336					::subxt::ext::subxt_core::utils::Yes,
14337					(),
14338					(),
14339				> {
14340					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14341						"TechReferenda",
14342						"ReferendumInfoFor",
14343						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
14344						[
14345							12u8, 160u8, 226u8, 48u8, 96u8, 127u8, 60u8, 27u8, 37u8, 158u8, 31u8,
14346							162u8, 106u8, 183u8, 90u8, 169u8, 244u8, 35u8, 25u8, 121u8, 84u8,
14347							120u8, 20u8, 206u8, 137u8, 42u8, 139u8, 47u8, 62u8, 73u8, 157u8, 182u8,
14348						],
14349					)
14350				}
14351				#[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"]
14352				#[doc = " conviction-weighted approvals."]
14353				#[doc = ""]
14354				#[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."]
14355				pub fn track_queue_iter(
14356					&self,
14357				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14358					(),
14359					types::track_queue::TrackQueue,
14360					(),
14361					::subxt::ext::subxt_core::utils::Yes,
14362					::subxt::ext::subxt_core::utils::Yes,
14363				> {
14364					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14365						"TechReferenda",
14366						"TrackQueue",
14367						(),
14368						[
14369							187u8, 113u8, 225u8, 99u8, 159u8, 207u8, 182u8, 41u8, 116u8, 136u8,
14370							119u8, 196u8, 152u8, 50u8, 192u8, 22u8, 171u8, 182u8, 237u8, 228u8,
14371							80u8, 255u8, 227u8, 141u8, 155u8, 83u8, 71u8, 131u8, 118u8, 109u8,
14372							186u8, 65u8,
14373						],
14374					)
14375				}
14376				#[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"]
14377				#[doc = " conviction-weighted approvals."]
14378				#[doc = ""]
14379				#[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."]
14380				pub fn track_queue(
14381					&self,
14382					_0: types::track_queue::Param0,
14383				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14384					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
14385						types::track_queue::Param0,
14386					>,
14387					types::track_queue::TrackQueue,
14388					::subxt::ext::subxt_core::utils::Yes,
14389					::subxt::ext::subxt_core::utils::Yes,
14390					(),
14391				> {
14392					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14393						"TechReferenda",
14394						"TrackQueue",
14395						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
14396						[
14397							187u8, 113u8, 225u8, 99u8, 159u8, 207u8, 182u8, 41u8, 116u8, 136u8,
14398							119u8, 196u8, 152u8, 50u8, 192u8, 22u8, 171u8, 182u8, 237u8, 228u8,
14399							80u8, 255u8, 227u8, 141u8, 155u8, 83u8, 71u8, 131u8, 118u8, 109u8,
14400							186u8, 65u8,
14401						],
14402					)
14403				}
14404				#[doc = " The number of referenda being decided currently."]
14405				pub fn deciding_count_iter(
14406					&self,
14407				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14408					(),
14409					types::deciding_count::DecidingCount,
14410					(),
14411					::subxt::ext::subxt_core::utils::Yes,
14412					::subxt::ext::subxt_core::utils::Yes,
14413				> {
14414					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14415						"TechReferenda",
14416						"DecidingCount",
14417						(),
14418						[
14419							203u8, 89u8, 158u8, 179u8, 194u8, 82u8, 248u8, 162u8, 93u8, 140u8,
14420							146u8, 51u8, 110u8, 232u8, 51u8, 1u8, 128u8, 212u8, 199u8, 14u8, 182u8,
14421							103u8, 47u8, 252u8, 126u8, 108u8, 166u8, 69u8, 252u8, 179u8, 126u8,
14422							245u8,
14423						],
14424					)
14425				}
14426				#[doc = " The number of referenda being decided currently."]
14427				pub fn deciding_count(
14428					&self,
14429					_0: types::deciding_count::Param0,
14430				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14431					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
14432						types::deciding_count::Param0,
14433					>,
14434					types::deciding_count::DecidingCount,
14435					::subxt::ext::subxt_core::utils::Yes,
14436					::subxt::ext::subxt_core::utils::Yes,
14437					(),
14438				> {
14439					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14440						"TechReferenda",
14441						"DecidingCount",
14442						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
14443						[
14444							203u8, 89u8, 158u8, 179u8, 194u8, 82u8, 248u8, 162u8, 93u8, 140u8,
14445							146u8, 51u8, 110u8, 232u8, 51u8, 1u8, 128u8, 212u8, 199u8, 14u8, 182u8,
14446							103u8, 47u8, 252u8, 126u8, 108u8, 166u8, 69u8, 252u8, 179u8, 126u8,
14447							245u8,
14448						],
14449					)
14450				}
14451				#[doc = " The metadata is a general information concerning the referendum."]
14452				#[doc = " The `Hash` refers to the preimage of the `Preimages` provider which can be a JSON"]
14453				#[doc = " dump or IPFS hash of a JSON file."]
14454				#[doc = ""]
14455				#[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"]
14456				#[doc = " large preimages."]
14457				pub fn metadata_of_iter(
14458					&self,
14459				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14460					(),
14461					types::metadata_of::MetadataOf,
14462					(),
14463					(),
14464					::subxt::ext::subxt_core::utils::Yes,
14465				> {
14466					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14467						"TechReferenda",
14468						"MetadataOf",
14469						(),
14470						[
14471							159u8, 250u8, 56u8, 189u8, 247u8, 165u8, 206u8, 166u8, 91u8, 139u8,
14472							124u8, 164u8, 25u8, 246u8, 199u8, 36u8, 159u8, 56u8, 227u8, 136u8, 4u8,
14473							45u8, 193u8, 72u8, 200u8, 164u8, 39u8, 207u8, 224u8, 124u8, 191u8,
14474							110u8,
14475						],
14476					)
14477				}
14478				#[doc = " The metadata is a general information concerning the referendum."]
14479				#[doc = " The `Hash` refers to the preimage of the `Preimages` provider which can be a JSON"]
14480				#[doc = " dump or IPFS hash of a JSON file."]
14481				#[doc = ""]
14482				#[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"]
14483				#[doc = " large preimages."]
14484				pub fn metadata_of(
14485					&self,
14486					_0: types::metadata_of::Param0,
14487				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14488					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
14489						types::metadata_of::Param0,
14490					>,
14491					types::metadata_of::MetadataOf,
14492					::subxt::ext::subxt_core::utils::Yes,
14493					(),
14494					(),
14495				> {
14496					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14497						"TechReferenda",
14498						"MetadataOf",
14499						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
14500						[
14501							159u8, 250u8, 56u8, 189u8, 247u8, 165u8, 206u8, 166u8, 91u8, 139u8,
14502							124u8, 164u8, 25u8, 246u8, 199u8, 36u8, 159u8, 56u8, 227u8, 136u8, 4u8,
14503							45u8, 193u8, 72u8, 200u8, 164u8, 39u8, 207u8, 224u8, 124u8, 191u8,
14504							110u8,
14505						],
14506					)
14507				}
14508			}
14509		}
14510		pub mod constants {
14511			use super::runtime_types;
14512			pub struct ConstantsApi;
14513			impl ConstantsApi {
14514				#[doc = " The minimum amount to be used as a deposit for a public referendum proposal."]
14515				pub fn submission_deposit(
14516					&self,
14517				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
14518					::core::primitive::u128,
14519				> {
14520					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
14521						"TechReferenda",
14522						"SubmissionDeposit",
14523						[
14524							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
14525							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
14526							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
14527						],
14528					)
14529				}
14530				#[doc = " Maximum size of the referendum queue for a single track."]
14531				pub fn max_queued(
14532					&self,
14533				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
14534					::core::primitive::u32,
14535				> {
14536					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
14537						"TechReferenda",
14538						"MaxQueued",
14539						[
14540							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
14541							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
14542							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
14543							145u8,
14544						],
14545					)
14546				}
14547				#[doc = " The number of blocks after submission that a referendum must begin being decided by."]
14548				#[doc = " Once this passes, then anyone may cancel the referendum."]
14549				pub fn undeciding_timeout(
14550					&self,
14551				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
14552					::core::primitive::u32,
14553				> {
14554					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
14555						"TechReferenda",
14556						"UndecidingTimeout",
14557						[
14558							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
14559							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
14560							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
14561							145u8,
14562						],
14563					)
14564				}
14565				#[doc = " Quantization level for the referendum wakeup scheduler. A higher number will result in"]
14566				#[doc = " fewer storage reads/writes needed for smaller voters, but also result in delays to the"]
14567				#[doc = " automatic referendum status changes. Explicit servicing instructions are unaffected."]
14568				pub fn alarm_interval(
14569					&self,
14570				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
14571					::core::primitive::u32,
14572				> {
14573					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
14574						"TechReferenda",
14575						"AlarmInterval",
14576						[
14577							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
14578							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
14579							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
14580							145u8,
14581						],
14582					)
14583				}
14584				#[doc = " A list of tracks."]
14585				#[doc = ""]
14586				#[doc = " Note: if the tracks are dynamic, the value in the static metadata might be inaccurate."]
14587				pub fn tracks(
14588					&self,
14589				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
14590					::subxt::ext::subxt_core::alloc::vec::Vec<(
14591						::core::primitive::u16,
14592						runtime_types::pallet_referenda::types::TrackDetails<
14593							::core::primitive::u128,
14594							::core::primitive::u32,
14595							::subxt::ext::subxt_core::alloc::string::String,
14596						>,
14597					)>,
14598				> {
14599					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
14600						"TechReferenda",
14601						"Tracks",
14602						[
14603							35u8, 226u8, 207u8, 234u8, 184u8, 139u8, 187u8, 184u8, 128u8, 199u8,
14604							227u8, 15u8, 31u8, 196u8, 5u8, 207u8, 138u8, 174u8, 130u8, 201u8,
14605							200u8, 113u8, 86u8, 93u8, 221u8, 243u8, 229u8, 24u8, 18u8, 150u8, 56u8,
14606							159u8,
14607						],
14608					)
14609				}
14610			}
14611		}
14612	}
14613	pub mod merkle_airdrop {
14614		use super::{root_mod, runtime_types};
14615		#[doc = "The `Error` enum of this pallet."]
14616		pub type Error = runtime_types::pallet_merkle_airdrop::pallet::Error;
14617		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
14618		pub type Call = runtime_types::pallet_merkle_airdrop::pallet::Call;
14619		pub mod calls {
14620			use super::{root_mod, runtime_types};
14621			type DispatchError = runtime_types::sp_runtime::DispatchError;
14622			pub mod types {
14623				use super::runtime_types;
14624				#[derive(
14625					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14626					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14627					Debug,
14628				)]
14629				#[decode_as_type(
14630					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
14631				)]
14632				#[encode_as_type(
14633					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
14634				)]
14635				#[doc = "Create a new airdrop with a Merkle root."]
14636				#[doc = ""]
14637				#[doc = "The Merkle root is a cryptographic hash that represents all valid claims"]
14638				#[doc = "for this airdrop. Users will later provide Merkle proofs to verify their"]
14639				#[doc = "eligibility to claim tokens."]
14640				#[doc = ""]
14641				#[doc = "# Parameters"]
14642				#[doc = ""]
14643				#[doc = "* `origin` - The origin of the call (must be signed)"]
14644				#[doc = "* `merkle_root` - The Merkle root hash representing all valid claims"]
14645				#[doc = "* `vesting_period` - Optional vesting period for the airdrop"]
14646				#[doc = "* `vesting_delay` - Optional delay before vesting starts"]
14647				pub struct CreateAirdrop {
14648					pub merkle_root: create_airdrop::MerkleRoot,
14649					pub vesting_period: create_airdrop::VestingPeriod,
14650					pub vesting_delay: create_airdrop::VestingDelay,
14651				}
14652				pub mod create_airdrop {
14653					use super::runtime_types;
14654					pub type MerkleRoot = [::core::primitive::u8; 32usize];
14655					pub type VestingPeriod = ::core::option::Option<::core::primitive::u32>;
14656					pub type VestingDelay = ::core::option::Option<::core::primitive::u32>;
14657				}
14658				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CreateAirdrop {
14659					const PALLET: &'static str = "MerkleAirdrop";
14660					const CALL: &'static str = "create_airdrop";
14661				}
14662				#[derive(
14663					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14664					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14665					Debug,
14666				)]
14667				#[decode_as_type(
14668					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
14669				)]
14670				#[encode_as_type(
14671					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
14672				)]
14673				#[doc = "Fund an existing airdrop with tokens."]
14674				#[doc = ""]
14675				#[doc = "This function transfers tokens from the caller to the airdrop's account,"]
14676				#[doc = "making them available for users to claim."]
14677				#[doc = ""]
14678				#[doc = "# Parameters"]
14679				#[doc = ""]
14680				#[doc = "* `origin` - The origin of the call (must be signed)"]
14681				#[doc = "* `airdrop_id` - The ID of the airdrop to fund"]
14682				#[doc = "* `amount` - The amount of tokens to add to the airdrop"]
14683				#[doc = ""]
14684				#[doc = "# Errors"]
14685				#[doc = ""]
14686				#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
14687				pub struct FundAirdrop {
14688					pub airdrop_id: fund_airdrop::AirdropId,
14689					pub amount: fund_airdrop::Amount,
14690				}
14691				pub mod fund_airdrop {
14692					use super::runtime_types;
14693					pub type AirdropId = ::core::primitive::u32;
14694					pub type Amount = ::core::primitive::u128;
14695				}
14696				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for FundAirdrop {
14697					const PALLET: &'static str = "MerkleAirdrop";
14698					const CALL: &'static str = "fund_airdrop";
14699				}
14700				#[derive(
14701					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14702					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14703					Debug,
14704				)]
14705				#[decode_as_type(
14706					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
14707				)]
14708				#[encode_as_type(
14709					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
14710				)]
14711				#[doc = "Claim tokens from an airdrop by providing a Merkle proof."]
14712				#[doc = ""]
14713				#[doc = "Users can claim their tokens by providing a proof of their eligibility."]
14714				#[doc = "The proof is verified against the airdrop's Merkle root."]
14715				#[doc = "Anyone can trigger a claim for any eligible recipient."]
14716				#[doc = ""]
14717				#[doc = "# Parameters"]
14718				#[doc = ""]
14719				#[doc = "* `origin` - The origin of the call"]
14720				#[doc = "* `airdrop_id` - The ID of the airdrop to claim from"]
14721				#[doc = "* `amount` - The amount of tokens to claim"]
14722				#[doc = "* `merkle_proof` - The Merkle proof verifying eligibility"]
14723				#[doc = ""]
14724				#[doc = "# Errors"]
14725				#[doc = ""]
14726				#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
14727				#[doc = "* `AlreadyClaimed` - If the recipient has already claimed from this airdrop"]
14728				#[doc = "* `InvalidProof` - If the provided Merkle proof is invalid"]
14729				#[doc = "* `InsufficientAirdropBalance` - If the airdrop doesn't have enough tokens"]
14730				pub struct Claim {
14731					pub airdrop_id: claim::AirdropId,
14732					pub recipient: claim::Recipient,
14733					pub amount: claim::Amount,
14734					pub merkle_proof: claim::MerkleProof,
14735				}
14736				pub mod claim {
14737					use super::runtime_types;
14738					pub type AirdropId = ::core::primitive::u32;
14739					pub type Recipient = ::subxt::ext::subxt_core::utils::AccountId32;
14740					pub type Amount = ::core::primitive::u128;
14741					pub type MerkleProof =
14742						runtime_types::bounded_collections::bounded_vec::BoundedVec<
14743							[::core::primitive::u8; 32usize],
14744						>;
14745				}
14746				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Claim {
14747					const PALLET: &'static str = "MerkleAirdrop";
14748					const CALL: &'static str = "claim";
14749				}
14750				#[derive(
14751					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14752					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14753					Debug,
14754				)]
14755				#[decode_as_type(
14756					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
14757				)]
14758				#[encode_as_type(
14759					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
14760				)]
14761				#[doc = "Delete an airdrop and reclaim any remaining funds."]
14762				#[doc = ""]
14763				#[doc = "This function allows the creator of an airdrop to delete it and reclaim"]
14764				#[doc = "any remaining tokens that haven't been claimed."]
14765				#[doc = ""]
14766				#[doc = "# Parameters"]
14767				#[doc = ""]
14768				#[doc = "* `origin` - The origin of the call (must be the airdrop creator)"]
14769				#[doc = "* `airdrop_id` - The ID of the airdrop to delete"]
14770				#[doc = ""]
14771				#[doc = "# Errors"]
14772				#[doc = ""]
14773				#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
14774				#[doc = "* `NotAirdropCreator` - If the caller is not the creator of the airdrop"]
14775				pub struct DeleteAirdrop {
14776					pub airdrop_id: delete_airdrop::AirdropId,
14777				}
14778				pub mod delete_airdrop {
14779					use super::runtime_types;
14780					pub type AirdropId = ::core::primitive::u32;
14781				}
14782				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for DeleteAirdrop {
14783					const PALLET: &'static str = "MerkleAirdrop";
14784					const CALL: &'static str = "delete_airdrop";
14785				}
14786			}
14787			pub struct TransactionApi;
14788			impl TransactionApi {
14789				#[doc = "Create a new airdrop with a Merkle root."]
14790				#[doc = ""]
14791				#[doc = "The Merkle root is a cryptographic hash that represents all valid claims"]
14792				#[doc = "for this airdrop. Users will later provide Merkle proofs to verify their"]
14793				#[doc = "eligibility to claim tokens."]
14794				#[doc = ""]
14795				#[doc = "# Parameters"]
14796				#[doc = ""]
14797				#[doc = "* `origin` - The origin of the call (must be signed)"]
14798				#[doc = "* `merkle_root` - The Merkle root hash representing all valid claims"]
14799				#[doc = "* `vesting_period` - Optional vesting period for the airdrop"]
14800				#[doc = "* `vesting_delay` - Optional delay before vesting starts"]
14801				pub fn create_airdrop(
14802					&self,
14803					merkle_root: types::create_airdrop::MerkleRoot,
14804					vesting_period: types::create_airdrop::VestingPeriod,
14805					vesting_delay: types::create_airdrop::VestingDelay,
14806				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CreateAirdrop>
14807				{
14808					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14809						"MerkleAirdrop",
14810						"create_airdrop",
14811						types::CreateAirdrop { merkle_root, vesting_period, vesting_delay },
14812						[
14813							18u8, 201u8, 105u8, 56u8, 66u8, 207u8, 57u8, 177u8, 133u8, 38u8, 185u8,
14814							19u8, 205u8, 119u8, 177u8, 206u8, 188u8, 88u8, 138u8, 33u8, 246u8,
14815							179u8, 148u8, 0u8, 79u8, 201u8, 89u8, 229u8, 46u8, 77u8, 42u8, 117u8,
14816						],
14817					)
14818				}
14819				#[doc = "Fund an existing airdrop with tokens."]
14820				#[doc = ""]
14821				#[doc = "This function transfers tokens from the caller to the airdrop's account,"]
14822				#[doc = "making them available for users to claim."]
14823				#[doc = ""]
14824				#[doc = "# Parameters"]
14825				#[doc = ""]
14826				#[doc = "* `origin` - The origin of the call (must be signed)"]
14827				#[doc = "* `airdrop_id` - The ID of the airdrop to fund"]
14828				#[doc = "* `amount` - The amount of tokens to add to the airdrop"]
14829				#[doc = ""]
14830				#[doc = "# Errors"]
14831				#[doc = ""]
14832				#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
14833				pub fn fund_airdrop(
14834					&self,
14835					airdrop_id: types::fund_airdrop::AirdropId,
14836					amount: types::fund_airdrop::Amount,
14837				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::FundAirdrop> {
14838					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14839						"MerkleAirdrop",
14840						"fund_airdrop",
14841						types::FundAirdrop { airdrop_id, amount },
14842						[
14843							11u8, 155u8, 135u8, 152u8, 19u8, 196u8, 79u8, 68u8, 24u8, 46u8, 27u8,
14844							63u8, 202u8, 242u8, 166u8, 160u8, 81u8, 44u8, 115u8, 247u8, 110u8,
14845							49u8, 11u8, 204u8, 70u8, 39u8, 7u8, 43u8, 103u8, 78u8, 39u8, 131u8,
14846						],
14847					)
14848				}
14849				#[doc = "Claim tokens from an airdrop by providing a Merkle proof."]
14850				#[doc = ""]
14851				#[doc = "Users can claim their tokens by providing a proof of their eligibility."]
14852				#[doc = "The proof is verified against the airdrop's Merkle root."]
14853				#[doc = "Anyone can trigger a claim for any eligible recipient."]
14854				#[doc = ""]
14855				#[doc = "# Parameters"]
14856				#[doc = ""]
14857				#[doc = "* `origin` - The origin of the call"]
14858				#[doc = "* `airdrop_id` - The ID of the airdrop to claim from"]
14859				#[doc = "* `amount` - The amount of tokens to claim"]
14860				#[doc = "* `merkle_proof` - The Merkle proof verifying eligibility"]
14861				#[doc = ""]
14862				#[doc = "# Errors"]
14863				#[doc = ""]
14864				#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
14865				#[doc = "* `AlreadyClaimed` - If the recipient has already claimed from this airdrop"]
14866				#[doc = "* `InvalidProof` - If the provided Merkle proof is invalid"]
14867				#[doc = "* `InsufficientAirdropBalance` - If the airdrop doesn't have enough tokens"]
14868				pub fn claim(
14869					&self,
14870					airdrop_id: types::claim::AirdropId,
14871					recipient: types::claim::Recipient,
14872					amount: types::claim::Amount,
14873					merkle_proof: types::claim::MerkleProof,
14874				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Claim> {
14875					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14876						"MerkleAirdrop",
14877						"claim",
14878						types::Claim { airdrop_id, recipient, amount, merkle_proof },
14879						[
14880							137u8, 9u8, 80u8, 195u8, 157u8, 215u8, 158u8, 30u8, 26u8, 104u8, 183u8,
14881							55u8, 102u8, 100u8, 41u8, 40u8, 26u8, 193u8, 255u8, 95u8, 201u8, 240u8,
14882							18u8, 253u8, 71u8, 117u8, 88u8, 250u8, 192u8, 67u8, 127u8, 159u8,
14883						],
14884					)
14885				}
14886				#[doc = "Delete an airdrop and reclaim any remaining funds."]
14887				#[doc = ""]
14888				#[doc = "This function allows the creator of an airdrop to delete it and reclaim"]
14889				#[doc = "any remaining tokens that haven't been claimed."]
14890				#[doc = ""]
14891				#[doc = "# Parameters"]
14892				#[doc = ""]
14893				#[doc = "* `origin` - The origin of the call (must be the airdrop creator)"]
14894				#[doc = "* `airdrop_id` - The ID of the airdrop to delete"]
14895				#[doc = ""]
14896				#[doc = "# Errors"]
14897				#[doc = ""]
14898				#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
14899				#[doc = "* `NotAirdropCreator` - If the caller is not the creator of the airdrop"]
14900				pub fn delete_airdrop(
14901					&self,
14902					airdrop_id: types::delete_airdrop::AirdropId,
14903				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::DeleteAirdrop>
14904				{
14905					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14906						"MerkleAirdrop",
14907						"delete_airdrop",
14908						types::DeleteAirdrop { airdrop_id },
14909						[
14910							34u8, 88u8, 199u8, 36u8, 214u8, 19u8, 124u8, 24u8, 29u8, 222u8, 138u8,
14911							174u8, 47u8, 199u8, 59u8, 155u8, 118u8, 157u8, 82u8, 96u8, 81u8, 186u8,
14912							27u8, 96u8, 116u8, 99u8, 185u8, 8u8, 100u8, 34u8, 179u8, 185u8,
14913						],
14914					)
14915				}
14916			}
14917		}
14918		#[doc = "The `Event` enum of this pallet"]
14919		pub type Event = runtime_types::pallet_merkle_airdrop::pallet::Event;
14920		pub mod events {
14921			use super::runtime_types;
14922			#[derive(
14923				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14924				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14925				Debug,
14926			)]
14927			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14928			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14929			#[doc = "A new airdrop has been created."]
14930			#[doc = ""]
14931			#[doc = "Parameters: [airdrop_id, merkle_root]"]
14932			pub struct AirdropCreated {
14933				pub airdrop_id: airdrop_created::AirdropId,
14934				pub airdrop_metadata: airdrop_created::AirdropMetadata,
14935			}
14936			pub mod airdrop_created {
14937				use super::runtime_types;
14938				pub type AirdropId = ::core::primitive::u32;
14939				pub type AirdropMetadata = runtime_types::pallet_merkle_airdrop::AirdropMetadata<
14940					::core::primitive::u32,
14941					::core::primitive::u128,
14942					::subxt::ext::subxt_core::utils::AccountId32,
14943				>;
14944			}
14945			impl ::subxt::ext::subxt_core::events::StaticEvent for AirdropCreated {
14946				const PALLET: &'static str = "MerkleAirdrop";
14947				const EVENT: &'static str = "AirdropCreated";
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(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14955			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14956			#[doc = "An airdrop has been funded with tokens."]
14957			#[doc = ""]
14958			#[doc = "Parameters: [airdrop_id, amount]"]
14959			pub struct AirdropFunded {
14960				pub airdrop_id: airdrop_funded::AirdropId,
14961				pub amount: airdrop_funded::Amount,
14962			}
14963			pub mod airdrop_funded {
14964				use super::runtime_types;
14965				pub type AirdropId = ::core::primitive::u32;
14966				pub type Amount = ::core::primitive::u128;
14967			}
14968			impl ::subxt::ext::subxt_core::events::StaticEvent for AirdropFunded {
14969				const PALLET: &'static str = "MerkleAirdrop";
14970				const EVENT: &'static str = "AirdropFunded";
14971			}
14972			#[derive(
14973				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14974				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14975				Debug,
14976			)]
14977			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14978			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14979			#[doc = "A user has claimed tokens from an airdrop."]
14980			#[doc = ""]
14981			#[doc = "Parameters: [airdrop_id, account, amount]"]
14982			pub struct Claimed {
14983				pub airdrop_id: claimed::AirdropId,
14984				pub account: claimed::Account,
14985				pub amount: claimed::Amount,
14986			}
14987			pub mod claimed {
14988				use super::runtime_types;
14989				pub type AirdropId = ::core::primitive::u32;
14990				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
14991				pub type Amount = ::core::primitive::u128;
14992			}
14993			impl ::subxt::ext::subxt_core::events::StaticEvent for Claimed {
14994				const PALLET: &'static str = "MerkleAirdrop";
14995				const EVENT: &'static str = "Claimed";
14996			}
14997			#[derive(
14998				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14999				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15000				Debug,
15001			)]
15002			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15003			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15004			#[doc = "An airdrop has been deleted."]
15005			#[doc = ""]
15006			#[doc = "Parameters: [airdrop_id]"]
15007			pub struct AirdropDeleted {
15008				pub airdrop_id: airdrop_deleted::AirdropId,
15009			}
15010			pub mod airdrop_deleted {
15011				use super::runtime_types;
15012				pub type AirdropId = ::core::primitive::u32;
15013			}
15014			impl ::subxt::ext::subxt_core::events::StaticEvent for AirdropDeleted {
15015				const PALLET: &'static str = "MerkleAirdrop";
15016				const EVENT: &'static str = "AirdropDeleted";
15017			}
15018		}
15019		pub mod storage {
15020			use super::runtime_types;
15021			pub mod types {
15022				use super::runtime_types;
15023				pub mod airdrop_info {
15024					use super::runtime_types;
15025					pub type AirdropInfo = runtime_types::pallet_merkle_airdrop::AirdropMetadata<
15026						::core::primitive::u32,
15027						::core::primitive::u128,
15028						::subxt::ext::subxt_core::utils::AccountId32,
15029					>;
15030					pub type Param0 = ::core::primitive::u32;
15031				}
15032				pub mod claimed {
15033					use super::runtime_types;
15034					pub type Claimed = ();
15035					pub type Param0 = ::core::primitive::u32;
15036					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
15037				}
15038				pub mod next_airdrop_id {
15039					use super::runtime_types;
15040					pub type NextAirdropId = ::core::primitive::u32;
15041				}
15042			}
15043			pub struct StorageApi;
15044			impl StorageApi {
15045				#[doc = " Stores general info about an airdrop"]
15046				pub fn airdrop_info_iter(
15047					&self,
15048				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
15049					(),
15050					types::airdrop_info::AirdropInfo,
15051					(),
15052					(),
15053					::subxt::ext::subxt_core::utils::Yes,
15054				> {
15055					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
15056						"MerkleAirdrop",
15057						"AirdropInfo",
15058						(),
15059						[
15060							38u8, 176u8, 25u8, 251u8, 80u8, 201u8, 118u8, 175u8, 89u8, 80u8, 227u8,
15061							241u8, 250u8, 0u8, 112u8, 71u8, 133u8, 50u8, 137u8, 13u8, 255u8, 24u8,
15062							253u8, 237u8, 195u8, 1u8, 192u8, 177u8, 167u8, 248u8, 11u8, 160u8,
15063						],
15064					)
15065				}
15066				#[doc = " Stores general info about an airdrop"]
15067				pub fn airdrop_info(
15068					&self,
15069					_0: types::airdrop_info::Param0,
15070				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
15071					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
15072						types::airdrop_info::Param0,
15073					>,
15074					types::airdrop_info::AirdropInfo,
15075					::subxt::ext::subxt_core::utils::Yes,
15076					(),
15077					(),
15078				> {
15079					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
15080						"MerkleAirdrop",
15081						"AirdropInfo",
15082						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
15083						[
15084							38u8, 176u8, 25u8, 251u8, 80u8, 201u8, 118u8, 175u8, 89u8, 80u8, 227u8,
15085							241u8, 250u8, 0u8, 112u8, 71u8, 133u8, 50u8, 137u8, 13u8, 255u8, 24u8,
15086							253u8, 237u8, 195u8, 1u8, 192u8, 177u8, 167u8, 248u8, 11u8, 160u8,
15087						],
15088					)
15089				}
15090				#[doc = " Storage for claimed status"]
15091				pub fn claimed_iter(
15092					&self,
15093				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
15094					(),
15095					types::claimed::Claimed,
15096					(),
15097					::subxt::ext::subxt_core::utils::Yes,
15098					::subxt::ext::subxt_core::utils::Yes,
15099				> {
15100					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
15101						"MerkleAirdrop",
15102						"Claimed",
15103						(),
15104						[
15105							214u8, 178u8, 109u8, 48u8, 230u8, 120u8, 107u8, 211u8, 179u8, 251u8,
15106							164u8, 29u8, 197u8, 154u8, 160u8, 230u8, 112u8, 212u8, 14u8, 157u8,
15107							248u8, 207u8, 101u8, 159u8, 203u8, 82u8, 199u8, 102u8, 99u8, 239u8,
15108							162u8, 10u8,
15109						],
15110					)
15111				}
15112				#[doc = " Storage for claimed status"]
15113				pub fn claimed_iter1(
15114					&self,
15115					_0: types::claimed::Param0,
15116				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
15117					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
15118						types::claimed::Param0,
15119					>,
15120					types::claimed::Claimed,
15121					(),
15122					::subxt::ext::subxt_core::utils::Yes,
15123					::subxt::ext::subxt_core::utils::Yes,
15124				> {
15125					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
15126						"MerkleAirdrop",
15127						"Claimed",
15128						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
15129						[
15130							214u8, 178u8, 109u8, 48u8, 230u8, 120u8, 107u8, 211u8, 179u8, 251u8,
15131							164u8, 29u8, 197u8, 154u8, 160u8, 230u8, 112u8, 212u8, 14u8, 157u8,
15132							248u8, 207u8, 101u8, 159u8, 203u8, 82u8, 199u8, 102u8, 99u8, 239u8,
15133							162u8, 10u8,
15134						],
15135					)
15136				}
15137				#[doc = " Storage for claimed status"]
15138				pub fn claimed(
15139					&self,
15140					_0: types::claimed::Param0,
15141					_1: types::claimed::Param1,
15142				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
15143					(
15144						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
15145							types::claimed::Param0,
15146						>,
15147						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
15148							types::claimed::Param1,
15149						>,
15150					),
15151					types::claimed::Claimed,
15152					::subxt::ext::subxt_core::utils::Yes,
15153					::subxt::ext::subxt_core::utils::Yes,
15154					(),
15155				> {
15156					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
15157						"MerkleAirdrop",
15158						"Claimed",
15159						(
15160							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
15161							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
15162						),
15163						[
15164							214u8, 178u8, 109u8, 48u8, 230u8, 120u8, 107u8, 211u8, 179u8, 251u8,
15165							164u8, 29u8, 197u8, 154u8, 160u8, 230u8, 112u8, 212u8, 14u8, 157u8,
15166							248u8, 207u8, 101u8, 159u8, 203u8, 82u8, 199u8, 102u8, 99u8, 239u8,
15167							162u8, 10u8,
15168						],
15169					)
15170				}
15171				#[doc = " Counter for airdrop IDs"]
15172				pub fn next_airdrop_id(
15173					&self,
15174				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
15175					(),
15176					types::next_airdrop_id::NextAirdropId,
15177					::subxt::ext::subxt_core::utils::Yes,
15178					::subxt::ext::subxt_core::utils::Yes,
15179					(),
15180				> {
15181					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
15182						"MerkleAirdrop",
15183						"NextAirdropId",
15184						(),
15185						[
15186							79u8, 145u8, 145u8, 158u8, 86u8, 58u8, 102u8, 216u8, 133u8, 34u8,
15187							252u8, 224u8, 222u8, 51u8, 170u8, 3u8, 135u8, 29u8, 99u8, 143u8, 93u8,
15188							176u8, 69u8, 231u8, 74u8, 214u8, 94u8, 126u8, 227u8, 166u8, 242u8,
15189							98u8,
15190						],
15191					)
15192				}
15193			}
15194		}
15195		pub mod constants {
15196			use super::runtime_types;
15197			pub struct ConstantsApi;
15198			impl ConstantsApi {
15199				#[doc = " The maximum number of proof elements allowed in a Merkle proof."]
15200				pub fn max_proofs(
15201					&self,
15202				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
15203					::core::primitive::u32,
15204				> {
15205					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
15206						"MerkleAirdrop",
15207						"MaxProofs",
15208						[
15209							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
15210							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
15211							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
15212							145u8,
15213						],
15214					)
15215				}
15216				#[doc = " The pallet id, used for deriving its sovereign account ID."]
15217				pub fn pallet_id(
15218					&self,
15219				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
15220					runtime_types::frame_support::PalletId,
15221				> {
15222					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
15223						"MerkleAirdrop",
15224						"PalletId",
15225						[
15226							56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8,
15227							161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8,
15228							129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8,
15229						],
15230					)
15231				}
15232				#[doc = " Priority for unsigned claim transactions."]
15233				pub fn unsigned_claim_priority(
15234					&self,
15235				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
15236					::core::primitive::u64,
15237				> {
15238					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
15239						"MerkleAirdrop",
15240						"UnsignedClaimPriority",
15241						[
15242							128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8,
15243							59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8,
15244							103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8,
15245							246u8,
15246						],
15247					)
15248				}
15249			}
15250		}
15251	}
15252	pub mod treasury_pallet {
15253		use super::{root_mod, runtime_types};
15254		#[doc = "Error for the treasury pallet."]
15255		pub type Error = runtime_types::pallet_treasury::pallet::Error;
15256		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
15257		pub type Call = runtime_types::pallet_treasury::pallet::Call;
15258		pub mod calls {
15259			use super::{root_mod, runtime_types};
15260			type DispatchError = runtime_types::sp_runtime::DispatchError;
15261			pub mod types {
15262				use super::runtime_types;
15263				#[derive(
15264					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15265					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15266					Debug,
15267				)]
15268				#[decode_as_type(
15269					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15270				)]
15271				#[encode_as_type(
15272					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15273				)]
15274				#[doc = "Propose and approve a spend of treasury funds."]
15275				#[doc = ""]
15276				#[doc = "## Dispatch Origin"]
15277				#[doc = ""]
15278				#[doc = "Must be [`Config::SpendOrigin`] with the `Success` value being at least `amount`."]
15279				#[doc = ""]
15280				#[doc = "### Details"]
15281				#[doc = "NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the"]
15282				#[doc = "beneficiary."]
15283				#[doc = ""]
15284				#[doc = "### Parameters"]
15285				#[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."]
15286				#[doc = "- `beneficiary`: The destination account for the transfer."]
15287				#[doc = ""]
15288				#[doc = "## Events"]
15289				#[doc = ""]
15290				#[doc = "Emits [`Event::SpendApproved`] if successful."]
15291				pub struct SpendLocal {
15292					#[codec(compact)]
15293					pub amount: spend_local::Amount,
15294					pub beneficiary: spend_local::Beneficiary,
15295				}
15296				pub mod spend_local {
15297					use super::runtime_types;
15298					pub type Amount = ::core::primitive::u128;
15299					pub type Beneficiary = ::subxt::ext::subxt_core::utils::MultiAddress<
15300						::subxt::ext::subxt_core::utils::AccountId32,
15301						(),
15302					>;
15303				}
15304				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SpendLocal {
15305					const PALLET: &'static str = "TreasuryPallet";
15306					const CALL: &'static str = "spend_local";
15307				}
15308				#[derive(
15309					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15310					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15311					Debug,
15312				)]
15313				#[decode_as_type(
15314					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15315				)]
15316				#[encode_as_type(
15317					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15318				)]
15319				#[doc = "Force a previously approved proposal to be removed from the approval queue."]
15320				#[doc = ""]
15321				#[doc = "## Dispatch Origin"]
15322				#[doc = ""]
15323				#[doc = "Must be [`Config::RejectOrigin`]."]
15324				#[doc = ""]
15325				#[doc = "## Details"]
15326				#[doc = ""]
15327				#[doc = "The original deposit will no longer be returned."]
15328				#[doc = ""]
15329				#[doc = "### Parameters"]
15330				#[doc = "- `proposal_id`: The index of a proposal"]
15331				#[doc = ""]
15332				#[doc = "### Complexity"]
15333				#[doc = "- O(A) where `A` is the number of approvals"]
15334				#[doc = ""]
15335				#[doc = "### Errors"]
15336				#[doc = "- [`Error::ProposalNotApproved`]: The `proposal_id` supplied was not found in the"]
15337				#[doc = "  approval queue, i.e., the proposal has not been approved. This could also mean the"]
15338				#[doc = "  proposal does not exist altogether, thus there is no way it would have been approved"]
15339				#[doc = "  in the first place."]
15340				pub struct RemoveApproval {
15341					#[codec(compact)]
15342					pub proposal_id: remove_approval::ProposalId,
15343				}
15344				pub mod remove_approval {
15345					use super::runtime_types;
15346					pub type ProposalId = ::core::primitive::u32;
15347				}
15348				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveApproval {
15349					const PALLET: &'static str = "TreasuryPallet";
15350					const CALL: &'static str = "remove_approval";
15351				}
15352				#[derive(
15353					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15354					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15355					Debug,
15356				)]
15357				#[decode_as_type(
15358					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15359				)]
15360				#[encode_as_type(
15361					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15362				)]
15363				#[doc = "Propose and approve a spend of treasury funds."]
15364				#[doc = ""]
15365				#[doc = "## Dispatch Origin"]
15366				#[doc = ""]
15367				#[doc = "Must be [`Config::SpendOrigin`] with the `Success` value being at least"]
15368				#[doc = "`amount` of `asset_kind` in the native asset. The amount of `asset_kind` is converted"]
15369				#[doc = "for assertion using the [`Config::BalanceConverter`]."]
15370				#[doc = ""]
15371				#[doc = "## Details"]
15372				#[doc = ""]
15373				#[doc = "Create an approved spend for transferring a specific `amount` of `asset_kind` to a"]
15374				#[doc = "designated beneficiary. The spend must be claimed using the `payout` dispatchable within"]
15375				#[doc = "the [`Config::PayoutPeriod`]."]
15376				#[doc = ""]
15377				#[doc = "### Parameters"]
15378				#[doc = "- `asset_kind`: An indicator of the specific asset class to be spent."]
15379				#[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."]
15380				#[doc = "- `beneficiary`: The beneficiary of the spend."]
15381				#[doc = "- `valid_from`: The block number from which the spend can be claimed. It can refer to"]
15382				#[doc = "  the past if the resulting spend has not yet expired according to the"]
15383				#[doc = "  [`Config::PayoutPeriod`]. If `None`, the spend can be claimed immediately after"]
15384				#[doc = "  approval."]
15385				#[doc = ""]
15386				#[doc = "## Events"]
15387				#[doc = ""]
15388				#[doc = "Emits [`Event::AssetSpendApproved`] if successful."]
15389				pub struct Spend {
15390					pub asset_kind: ::subxt::ext::subxt_core::alloc::boxed::Box<spend::AssetKind>,
15391					#[codec(compact)]
15392					pub amount: spend::Amount,
15393					pub beneficiary:
15394						::subxt::ext::subxt_core::alloc::boxed::Box<spend::Beneficiary>,
15395					pub valid_from: spend::ValidFrom,
15396				}
15397				pub mod spend {
15398					use super::runtime_types;
15399					pub type AssetKind = ();
15400					pub type Amount = ::core::primitive::u128;
15401					pub type Beneficiary = ::subxt::ext::subxt_core::utils::MultiAddress<
15402						::subxt::ext::subxt_core::utils::AccountId32,
15403						(),
15404					>;
15405					pub type ValidFrom = ::core::option::Option<::core::primitive::u32>;
15406				}
15407				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Spend {
15408					const PALLET: &'static str = "TreasuryPallet";
15409					const CALL: &'static str = "spend";
15410				}
15411				#[derive(
15412					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15413					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15414					Debug,
15415				)]
15416				#[decode_as_type(
15417					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15418				)]
15419				#[encode_as_type(
15420					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15421				)]
15422				#[doc = "Claim a spend."]
15423				#[doc = ""]
15424				#[doc = "## Dispatch Origin"]
15425				#[doc = ""]
15426				#[doc = "Must be signed"]
15427				#[doc = ""]
15428				#[doc = "## Details"]
15429				#[doc = ""]
15430				#[doc = "Spends must be claimed within some temporal bounds. A spend may be claimed within one"]
15431				#[doc = "[`Config::PayoutPeriod`] from the `valid_from` block."]
15432				#[doc = "In case of a payout failure, the spend status must be updated with the `check_status`"]
15433				#[doc = "dispatchable before retrying with the current function."]
15434				#[doc = ""]
15435				#[doc = "### Parameters"]
15436				#[doc = "- `index`: The spend index."]
15437				#[doc = ""]
15438				#[doc = "## Events"]
15439				#[doc = ""]
15440				#[doc = "Emits [`Event::Paid`] if successful."]
15441				pub struct Payout {
15442					pub index: payout::Index,
15443				}
15444				pub mod payout {
15445					use super::runtime_types;
15446					pub type Index = ::core::primitive::u32;
15447				}
15448				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Payout {
15449					const PALLET: &'static str = "TreasuryPallet";
15450					const CALL: &'static str = "payout";
15451				}
15452				#[derive(
15453					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15454					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15455					Debug,
15456				)]
15457				#[decode_as_type(
15458					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15459				)]
15460				#[encode_as_type(
15461					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15462				)]
15463				#[doc = "Check the status of the spend and remove it from the storage if processed."]
15464				#[doc = ""]
15465				#[doc = "## Dispatch Origin"]
15466				#[doc = ""]
15467				#[doc = "Must be signed."]
15468				#[doc = ""]
15469				#[doc = "## Details"]
15470				#[doc = ""]
15471				#[doc = "The status check is a prerequisite for retrying a failed payout."]
15472				#[doc = "If a spend has either succeeded or expired, it is removed from the storage by this"]
15473				#[doc = "function. In such instances, transaction fees are refunded."]
15474				#[doc = ""]
15475				#[doc = "### Parameters"]
15476				#[doc = "- `index`: The spend index."]
15477				#[doc = ""]
15478				#[doc = "## Events"]
15479				#[doc = ""]
15480				#[doc = "Emits [`Event::PaymentFailed`] if the spend payout has failed."]
15481				#[doc = "Emits [`Event::SpendProcessed`] if the spend payout has succeed."]
15482				pub struct CheckStatus {
15483					pub index: check_status::Index,
15484				}
15485				pub mod check_status {
15486					use super::runtime_types;
15487					pub type Index = ::core::primitive::u32;
15488				}
15489				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CheckStatus {
15490					const PALLET: &'static str = "TreasuryPallet";
15491					const CALL: &'static str = "check_status";
15492				}
15493				#[derive(
15494					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15495					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15496					Debug,
15497				)]
15498				#[decode_as_type(
15499					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15500				)]
15501				#[encode_as_type(
15502					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15503				)]
15504				#[doc = "Void previously approved spend."]
15505				#[doc = ""]
15506				#[doc = "## Dispatch Origin"]
15507				#[doc = ""]
15508				#[doc = "Must be [`Config::RejectOrigin`]."]
15509				#[doc = ""]
15510				#[doc = "## Details"]
15511				#[doc = ""]
15512				#[doc = "A spend void is only possible if the payout has not been attempted yet."]
15513				#[doc = ""]
15514				#[doc = "### Parameters"]
15515				#[doc = "- `index`: The spend index."]
15516				#[doc = ""]
15517				#[doc = "## Events"]
15518				#[doc = ""]
15519				#[doc = "Emits [`Event::AssetSpendVoided`] if successful."]
15520				pub struct VoidSpend {
15521					pub index: void_spend::Index,
15522				}
15523				pub mod void_spend {
15524					use super::runtime_types;
15525					pub type Index = ::core::primitive::u32;
15526				}
15527				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for VoidSpend {
15528					const PALLET: &'static str = "TreasuryPallet";
15529					const CALL: &'static str = "void_spend";
15530				}
15531			}
15532			pub struct TransactionApi;
15533			impl TransactionApi {
15534				#[doc = "Propose and approve a spend of treasury funds."]
15535				#[doc = ""]
15536				#[doc = "## Dispatch Origin"]
15537				#[doc = ""]
15538				#[doc = "Must be [`Config::SpendOrigin`] with the `Success` value being at least `amount`."]
15539				#[doc = ""]
15540				#[doc = "### Details"]
15541				#[doc = "NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the"]
15542				#[doc = "beneficiary."]
15543				#[doc = ""]
15544				#[doc = "### Parameters"]
15545				#[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."]
15546				#[doc = "- `beneficiary`: The destination account for the transfer."]
15547				#[doc = ""]
15548				#[doc = "## Events"]
15549				#[doc = ""]
15550				#[doc = "Emits [`Event::SpendApproved`] if successful."]
15551				pub fn spend_local(
15552					&self,
15553					amount: types::spend_local::Amount,
15554					beneficiary: types::spend_local::Beneficiary,
15555				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SpendLocal> {
15556					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
15557						"TreasuryPallet",
15558						"spend_local",
15559						types::SpendLocal { amount, beneficiary },
15560						[
15561							137u8, 171u8, 83u8, 247u8, 245u8, 212u8, 152u8, 127u8, 210u8, 71u8,
15562							254u8, 134u8, 189u8, 26u8, 249u8, 41u8, 214u8, 175u8, 24u8, 64u8, 33u8,
15563							90u8, 23u8, 134u8, 44u8, 110u8, 63u8, 46u8, 46u8, 146u8, 222u8, 79u8,
15564						],
15565					)
15566				}
15567				#[doc = "Force a previously approved proposal to be removed from the approval queue."]
15568				#[doc = ""]
15569				#[doc = "## Dispatch Origin"]
15570				#[doc = ""]
15571				#[doc = "Must be [`Config::RejectOrigin`]."]
15572				#[doc = ""]
15573				#[doc = "## Details"]
15574				#[doc = ""]
15575				#[doc = "The original deposit will no longer be returned."]
15576				#[doc = ""]
15577				#[doc = "### Parameters"]
15578				#[doc = "- `proposal_id`: The index of a proposal"]
15579				#[doc = ""]
15580				#[doc = "### Complexity"]
15581				#[doc = "- O(A) where `A` is the number of approvals"]
15582				#[doc = ""]
15583				#[doc = "### Errors"]
15584				#[doc = "- [`Error::ProposalNotApproved`]: The `proposal_id` supplied was not found in the"]
15585				#[doc = "  approval queue, i.e., the proposal has not been approved. This could also mean the"]
15586				#[doc = "  proposal does not exist altogether, thus there is no way it would have been approved"]
15587				#[doc = "  in the first place."]
15588				pub fn remove_approval(
15589					&self,
15590					proposal_id: types::remove_approval::ProposalId,
15591				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveApproval>
15592				{
15593					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
15594						"TreasuryPallet",
15595						"remove_approval",
15596						types::RemoveApproval { proposal_id },
15597						[
15598							180u8, 20u8, 39u8, 227u8, 29u8, 228u8, 234u8, 36u8, 155u8, 114u8,
15599							197u8, 135u8, 185u8, 31u8, 56u8, 247u8, 224u8, 168u8, 254u8, 233u8,
15600							250u8, 134u8, 186u8, 155u8, 108u8, 84u8, 94u8, 226u8, 207u8, 130u8,
15601							196u8, 100u8,
15602						],
15603					)
15604				}
15605				#[doc = "Propose and approve a spend of treasury funds."]
15606				#[doc = ""]
15607				#[doc = "## Dispatch Origin"]
15608				#[doc = ""]
15609				#[doc = "Must be [`Config::SpendOrigin`] with the `Success` value being at least"]
15610				#[doc = "`amount` of `asset_kind` in the native asset. The amount of `asset_kind` is converted"]
15611				#[doc = "for assertion using the [`Config::BalanceConverter`]."]
15612				#[doc = ""]
15613				#[doc = "## Details"]
15614				#[doc = ""]
15615				#[doc = "Create an approved spend for transferring a specific `amount` of `asset_kind` to a"]
15616				#[doc = "designated beneficiary. The spend must be claimed using the `payout` dispatchable within"]
15617				#[doc = "the [`Config::PayoutPeriod`]."]
15618				#[doc = ""]
15619				#[doc = "### Parameters"]
15620				#[doc = "- `asset_kind`: An indicator of the specific asset class to be spent."]
15621				#[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."]
15622				#[doc = "- `beneficiary`: The beneficiary of the spend."]
15623				#[doc = "- `valid_from`: The block number from which the spend can be claimed. It can refer to"]
15624				#[doc = "  the past if the resulting spend has not yet expired according to the"]
15625				#[doc = "  [`Config::PayoutPeriod`]. If `None`, the spend can be claimed immediately after"]
15626				#[doc = "  approval."]
15627				#[doc = ""]
15628				#[doc = "## Events"]
15629				#[doc = ""]
15630				#[doc = "Emits [`Event::AssetSpendApproved`] if successful."]
15631				pub fn spend(
15632					&self,
15633					asset_kind: types::spend::AssetKind,
15634					amount: types::spend::Amount,
15635					beneficiary: types::spend::Beneficiary,
15636					valid_from: types::spend::ValidFrom,
15637				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Spend> {
15638					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
15639						"TreasuryPallet",
15640						"spend",
15641						types::Spend {
15642							asset_kind: ::subxt::ext::subxt_core::alloc::boxed::Box::new(
15643								asset_kind,
15644							),
15645							amount,
15646							beneficiary: ::subxt::ext::subxt_core::alloc::boxed::Box::new(
15647								beneficiary,
15648							),
15649							valid_from,
15650						},
15651						[
15652							64u8, 121u8, 249u8, 219u8, 22u8, 188u8, 167u8, 85u8, 45u8, 27u8, 200u8,
15653							219u8, 138u8, 17u8, 230u8, 106u8, 145u8, 39u8, 43u8, 161u8, 69u8, 10u8,
15654							202u8, 251u8, 127u8, 131u8, 0u8, 194u8, 25u8, 153u8, 169u8, 206u8,
15655						],
15656					)
15657				}
15658				#[doc = "Claim a spend."]
15659				#[doc = ""]
15660				#[doc = "## Dispatch Origin"]
15661				#[doc = ""]
15662				#[doc = "Must be signed"]
15663				#[doc = ""]
15664				#[doc = "## Details"]
15665				#[doc = ""]
15666				#[doc = "Spends must be claimed within some temporal bounds. A spend may be claimed within one"]
15667				#[doc = "[`Config::PayoutPeriod`] from the `valid_from` block."]
15668				#[doc = "In case of a payout failure, the spend status must be updated with the `check_status`"]
15669				#[doc = "dispatchable before retrying with the current function."]
15670				#[doc = ""]
15671				#[doc = "### Parameters"]
15672				#[doc = "- `index`: The spend index."]
15673				#[doc = ""]
15674				#[doc = "## Events"]
15675				#[doc = ""]
15676				#[doc = "Emits [`Event::Paid`] if successful."]
15677				pub fn payout(
15678					&self,
15679					index: types::payout::Index,
15680				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Payout> {
15681					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
15682						"TreasuryPallet",
15683						"payout",
15684						types::Payout { index },
15685						[
15686							179u8, 254u8, 82u8, 94u8, 248u8, 26u8, 6u8, 34u8, 93u8, 244u8, 186u8,
15687							199u8, 163u8, 32u8, 110u8, 220u8, 78u8, 11u8, 168u8, 182u8, 169u8,
15688							56u8, 53u8, 194u8, 168u8, 218u8, 131u8, 38u8, 46u8, 156u8, 93u8, 234u8,
15689						],
15690					)
15691				}
15692				#[doc = "Check the status of the spend and remove it from the storage if processed."]
15693				#[doc = ""]
15694				#[doc = "## Dispatch Origin"]
15695				#[doc = ""]
15696				#[doc = "Must be signed."]
15697				#[doc = ""]
15698				#[doc = "## Details"]
15699				#[doc = ""]
15700				#[doc = "The status check is a prerequisite for retrying a failed payout."]
15701				#[doc = "If a spend has either succeeded or expired, it is removed from the storage by this"]
15702				#[doc = "function. In such instances, transaction fees are refunded."]
15703				#[doc = ""]
15704				#[doc = "### Parameters"]
15705				#[doc = "- `index`: The spend index."]
15706				#[doc = ""]
15707				#[doc = "## Events"]
15708				#[doc = ""]
15709				#[doc = "Emits [`Event::PaymentFailed`] if the spend payout has failed."]
15710				#[doc = "Emits [`Event::SpendProcessed`] if the spend payout has succeed."]
15711				pub fn check_status(
15712					&self,
15713					index: types::check_status::Index,
15714				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CheckStatus> {
15715					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
15716						"TreasuryPallet",
15717						"check_status",
15718						types::CheckStatus { index },
15719						[
15720							164u8, 111u8, 10u8, 11u8, 104u8, 237u8, 112u8, 240u8, 104u8, 130u8,
15721							179u8, 221u8, 54u8, 18u8, 8u8, 172u8, 148u8, 245u8, 110u8, 174u8, 75u8,
15722							38u8, 46u8, 143u8, 101u8, 232u8, 65u8, 252u8, 36u8, 152u8, 29u8, 209u8,
15723						],
15724					)
15725				}
15726				#[doc = "Void previously approved spend."]
15727				#[doc = ""]
15728				#[doc = "## Dispatch Origin"]
15729				#[doc = ""]
15730				#[doc = "Must be [`Config::RejectOrigin`]."]
15731				#[doc = ""]
15732				#[doc = "## Details"]
15733				#[doc = ""]
15734				#[doc = "A spend void is only possible if the payout has not been attempted yet."]
15735				#[doc = ""]
15736				#[doc = "### Parameters"]
15737				#[doc = "- `index`: The spend index."]
15738				#[doc = ""]
15739				#[doc = "## Events"]
15740				#[doc = ""]
15741				#[doc = "Emits [`Event::AssetSpendVoided`] if successful."]
15742				pub fn void_spend(
15743					&self,
15744					index: types::void_spend::Index,
15745				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::VoidSpend> {
15746					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
15747						"TreasuryPallet",
15748						"void_spend",
15749						types::VoidSpend { index },
15750						[
15751							9u8, 212u8, 174u8, 92u8, 43u8, 102u8, 224u8, 124u8, 247u8, 239u8,
15752							196u8, 68u8, 132u8, 171u8, 116u8, 206u8, 52u8, 23u8, 92u8, 31u8, 156u8,
15753							160u8, 25u8, 16u8, 125u8, 60u8, 9u8, 109u8, 145u8, 139u8, 102u8, 224u8,
15754						],
15755					)
15756				}
15757			}
15758		}
15759		#[doc = "The `Event` enum of this pallet"]
15760		pub type Event = runtime_types::pallet_treasury::pallet::Event;
15761		pub mod events {
15762			use super::runtime_types;
15763			#[derive(
15764				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15765				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15766				Debug,
15767			)]
15768			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15769			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15770			#[doc = "We have ended a spend period and will now allocate funds."]
15771			pub struct Spending {
15772				pub budget_remaining: spending::BudgetRemaining,
15773			}
15774			pub mod spending {
15775				use super::runtime_types;
15776				pub type BudgetRemaining = ::core::primitive::u128;
15777			}
15778			impl ::subxt::ext::subxt_core::events::StaticEvent for Spending {
15779				const PALLET: &'static str = "TreasuryPallet";
15780				const EVENT: &'static str = "Spending";
15781			}
15782			#[derive(
15783				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15784				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15785				Debug,
15786			)]
15787			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15788			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15789			#[doc = "Some funds have been allocated."]
15790			pub struct Awarded {
15791				pub proposal_index: awarded::ProposalIndex,
15792				pub award: awarded::Award,
15793				pub account: awarded::Account,
15794			}
15795			pub mod awarded {
15796				use super::runtime_types;
15797				pub type ProposalIndex = ::core::primitive::u32;
15798				pub type Award = ::core::primitive::u128;
15799				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
15800			}
15801			impl ::subxt::ext::subxt_core::events::StaticEvent for Awarded {
15802				const PALLET: &'static str = "TreasuryPallet";
15803				const EVENT: &'static str = "Awarded";
15804			}
15805			#[derive(
15806				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15807				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15808				Debug,
15809			)]
15810			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15811			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15812			#[doc = "Some of our funds have been burnt."]
15813			pub struct Burnt {
15814				pub burnt_funds: burnt::BurntFunds,
15815			}
15816			pub mod burnt {
15817				use super::runtime_types;
15818				pub type BurntFunds = ::core::primitive::u128;
15819			}
15820			impl ::subxt::ext::subxt_core::events::StaticEvent for Burnt {
15821				const PALLET: &'static str = "TreasuryPallet";
15822				const EVENT: &'static str = "Burnt";
15823			}
15824			#[derive(
15825				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15826				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15827				Debug,
15828			)]
15829			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15830			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15831			#[doc = "Spending has finished; this is the amount that rolls over until next spend."]
15832			pub struct Rollover {
15833				pub rollover_balance: rollover::RolloverBalance,
15834			}
15835			pub mod rollover {
15836				use super::runtime_types;
15837				pub type RolloverBalance = ::core::primitive::u128;
15838			}
15839			impl ::subxt::ext::subxt_core::events::StaticEvent for Rollover {
15840				const PALLET: &'static str = "TreasuryPallet";
15841				const EVENT: &'static str = "Rollover";
15842			}
15843			#[derive(
15844				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15845				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15846				Debug,
15847			)]
15848			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15849			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15850			#[doc = "Some funds have been deposited."]
15851			pub struct Deposit {
15852				pub value: deposit::Value,
15853			}
15854			pub mod deposit {
15855				use super::runtime_types;
15856				pub type Value = ::core::primitive::u128;
15857			}
15858			impl ::subxt::ext::subxt_core::events::StaticEvent for Deposit {
15859				const PALLET: &'static str = "TreasuryPallet";
15860				const EVENT: &'static str = "Deposit";
15861			}
15862			#[derive(
15863				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15864				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15865				Debug,
15866			)]
15867			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15868			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15869			#[doc = "A new spend proposal has been approved."]
15870			pub struct SpendApproved {
15871				pub proposal_index: spend_approved::ProposalIndex,
15872				pub amount: spend_approved::Amount,
15873				pub beneficiary: spend_approved::Beneficiary,
15874			}
15875			pub mod spend_approved {
15876				use super::runtime_types;
15877				pub type ProposalIndex = ::core::primitive::u32;
15878				pub type Amount = ::core::primitive::u128;
15879				pub type Beneficiary = ::subxt::ext::subxt_core::utils::AccountId32;
15880			}
15881			impl ::subxt::ext::subxt_core::events::StaticEvent for SpendApproved {
15882				const PALLET: &'static str = "TreasuryPallet";
15883				const EVENT: &'static str = "SpendApproved";
15884			}
15885			#[derive(
15886				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15887				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15888				Debug,
15889			)]
15890			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15891			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15892			#[doc = "The inactive funds of the pallet have been updated."]
15893			pub struct UpdatedInactive {
15894				pub reactivated: updated_inactive::Reactivated,
15895				pub deactivated: updated_inactive::Deactivated,
15896			}
15897			pub mod updated_inactive {
15898				use super::runtime_types;
15899				pub type Reactivated = ::core::primitive::u128;
15900				pub type Deactivated = ::core::primitive::u128;
15901			}
15902			impl ::subxt::ext::subxt_core::events::StaticEvent for UpdatedInactive {
15903				const PALLET: &'static str = "TreasuryPallet";
15904				const EVENT: &'static str = "UpdatedInactive";
15905			}
15906			#[derive(
15907				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15908				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15909				Debug,
15910			)]
15911			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15912			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15913			#[doc = "A new asset spend proposal has been approved."]
15914			pub struct AssetSpendApproved {
15915				pub index: asset_spend_approved::Index,
15916				pub asset_kind: asset_spend_approved::AssetKind,
15917				pub amount: asset_spend_approved::Amount,
15918				pub beneficiary: asset_spend_approved::Beneficiary,
15919				pub valid_from: asset_spend_approved::ValidFrom,
15920				pub expire_at: asset_spend_approved::ExpireAt,
15921			}
15922			pub mod asset_spend_approved {
15923				use super::runtime_types;
15924				pub type Index = ::core::primitive::u32;
15925				pub type AssetKind = ();
15926				pub type Amount = ::core::primitive::u128;
15927				pub type Beneficiary = ::subxt::ext::subxt_core::utils::AccountId32;
15928				pub type ValidFrom = ::core::primitive::u32;
15929				pub type ExpireAt = ::core::primitive::u32;
15930			}
15931			impl ::subxt::ext::subxt_core::events::StaticEvent for AssetSpendApproved {
15932				const PALLET: &'static str = "TreasuryPallet";
15933				const EVENT: &'static str = "AssetSpendApproved";
15934			}
15935			#[derive(
15936				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15937				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15938				Debug,
15939			)]
15940			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15941			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15942			#[doc = "An approved spend was voided."]
15943			pub struct AssetSpendVoided {
15944				pub index: asset_spend_voided::Index,
15945			}
15946			pub mod asset_spend_voided {
15947				use super::runtime_types;
15948				pub type Index = ::core::primitive::u32;
15949			}
15950			impl ::subxt::ext::subxt_core::events::StaticEvent for AssetSpendVoided {
15951				const PALLET: &'static str = "TreasuryPallet";
15952				const EVENT: &'static str = "AssetSpendVoided";
15953			}
15954			#[derive(
15955				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15956				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15957				Debug,
15958			)]
15959			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15960			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15961			#[doc = "A payment happened."]
15962			pub struct Paid {
15963				pub index: paid::Index,
15964				pub payment_id: paid::PaymentId,
15965			}
15966			pub mod paid {
15967				use super::runtime_types;
15968				pub type Index = ::core::primitive::u32;
15969				pub type PaymentId = ::core::primitive::u32;
15970			}
15971			impl ::subxt::ext::subxt_core::events::StaticEvent for Paid {
15972				const PALLET: &'static str = "TreasuryPallet";
15973				const EVENT: &'static str = "Paid";
15974			}
15975			#[derive(
15976				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15977				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15978				Debug,
15979			)]
15980			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15981			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15982			#[doc = "A payment failed and can be retried."]
15983			pub struct PaymentFailed {
15984				pub index: payment_failed::Index,
15985				pub payment_id: payment_failed::PaymentId,
15986			}
15987			pub mod payment_failed {
15988				use super::runtime_types;
15989				pub type Index = ::core::primitive::u32;
15990				pub type PaymentId = ::core::primitive::u32;
15991			}
15992			impl ::subxt::ext::subxt_core::events::StaticEvent for PaymentFailed {
15993				const PALLET: &'static str = "TreasuryPallet";
15994				const EVENT: &'static str = "PaymentFailed";
15995			}
15996			#[derive(
15997				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15998				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15999				Debug,
16000			)]
16001			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
16002			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
16003			#[doc = "A spend was processed and removed from the storage. It might have been successfully"]
16004			#[doc = "paid or it may have expired."]
16005			pub struct SpendProcessed {
16006				pub index: spend_processed::Index,
16007			}
16008			pub mod spend_processed {
16009				use super::runtime_types;
16010				pub type Index = ::core::primitive::u32;
16011			}
16012			impl ::subxt::ext::subxt_core::events::StaticEvent for SpendProcessed {
16013				const PALLET: &'static str = "TreasuryPallet";
16014				const EVENT: &'static str = "SpendProcessed";
16015			}
16016		}
16017		pub mod storage {
16018			use super::runtime_types;
16019			pub mod types {
16020				use super::runtime_types;
16021				pub mod proposal_count {
16022					use super::runtime_types;
16023					pub type ProposalCount = ::core::primitive::u32;
16024				}
16025				pub mod proposals {
16026					use super::runtime_types;
16027					pub type Proposals = runtime_types::pallet_treasury::Proposal<
16028						::subxt::ext::subxt_core::utils::AccountId32,
16029						::core::primitive::u128,
16030					>;
16031					pub type Param0 = ::core::primitive::u32;
16032				}
16033				pub mod deactivated {
16034					use super::runtime_types;
16035					pub type Deactivated = ::core::primitive::u128;
16036				}
16037				pub mod approvals {
16038					use super::runtime_types;
16039					pub type Approvals =
16040						runtime_types::bounded_collections::bounded_vec::BoundedVec<
16041							::core::primitive::u32,
16042						>;
16043				}
16044				pub mod spend_count {
16045					use super::runtime_types;
16046					pub type SpendCount = ::core::primitive::u32;
16047				}
16048				pub mod spends {
16049					use super::runtime_types;
16050					pub type Spends = runtime_types::pallet_treasury::SpendStatus<
16051						(),
16052						::core::primitive::u128,
16053						::subxt::ext::subxt_core::utils::AccountId32,
16054						::core::primitive::u32,
16055						::core::primitive::u32,
16056					>;
16057					pub type Param0 = ::core::primitive::u32;
16058				}
16059				pub mod last_spend_period {
16060					use super::runtime_types;
16061					pub type LastSpendPeriod = ::core::primitive::u32;
16062				}
16063			}
16064			pub struct StorageApi;
16065			impl StorageApi {
16066				#[doc = " DEPRECATED: associated with `spend_local` call and will be removed in May 2025."]
16067				#[doc = " Refer to <https://github.com/paritytech/polkadot-sdk/pull/5961> for migration to `spend`."]
16068				#[doc = ""]
16069				#[doc = " Number of proposals that have been made."]
16070				pub fn proposal_count(
16071					&self,
16072				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
16073					(),
16074					types::proposal_count::ProposalCount,
16075					::subxt::ext::subxt_core::utils::Yes,
16076					::subxt::ext::subxt_core::utils::Yes,
16077					(),
16078				> {
16079					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
16080						"TreasuryPallet",
16081						"ProposalCount",
16082						(),
16083						[
16084							91u8, 238u8, 246u8, 106u8, 95u8, 66u8, 83u8, 134u8, 1u8, 225u8, 164u8,
16085							216u8, 113u8, 101u8, 203u8, 200u8, 113u8, 97u8, 246u8, 228u8, 140u8,
16086							29u8, 29u8, 48u8, 176u8, 137u8, 93u8, 230u8, 56u8, 75u8, 51u8, 149u8,
16087						],
16088					)
16089				}
16090				#[doc = " DEPRECATED: associated with `spend_local` call and will be removed in May 2025."]
16091				#[doc = " Refer to <https://github.com/paritytech/polkadot-sdk/pull/5961> for migration to `spend`."]
16092				#[doc = ""]
16093				#[doc = " Proposals that have been made."]
16094				pub fn proposals_iter(
16095					&self,
16096				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
16097					(),
16098					types::proposals::Proposals,
16099					(),
16100					(),
16101					::subxt::ext::subxt_core::utils::Yes,
16102				> {
16103					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
16104						"TreasuryPallet",
16105						"Proposals",
16106						(),
16107						[
16108							207u8, 135u8, 145u8, 146u8, 48u8, 10u8, 252u8, 40u8, 20u8, 115u8,
16109							205u8, 41u8, 173u8, 83u8, 115u8, 46u8, 106u8, 40u8, 130u8, 157u8,
16110							213u8, 87u8, 45u8, 23u8, 14u8, 167u8, 99u8, 208u8, 153u8, 163u8, 141u8,
16111							55u8,
16112						],
16113					)
16114				}
16115				#[doc = " DEPRECATED: associated with `spend_local` call and will be removed in May 2025."]
16116				#[doc = " Refer to <https://github.com/paritytech/polkadot-sdk/pull/5961> for migration to `spend`."]
16117				#[doc = ""]
16118				#[doc = " Proposals that have been made."]
16119				pub fn proposals(
16120					&self,
16121					_0: types::proposals::Param0,
16122				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
16123					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
16124						types::proposals::Param0,
16125					>,
16126					types::proposals::Proposals,
16127					::subxt::ext::subxt_core::utils::Yes,
16128					(),
16129					(),
16130				> {
16131					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
16132						"TreasuryPallet",
16133						"Proposals",
16134						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
16135						[
16136							207u8, 135u8, 145u8, 146u8, 48u8, 10u8, 252u8, 40u8, 20u8, 115u8,
16137							205u8, 41u8, 173u8, 83u8, 115u8, 46u8, 106u8, 40u8, 130u8, 157u8,
16138							213u8, 87u8, 45u8, 23u8, 14u8, 167u8, 99u8, 208u8, 153u8, 163u8, 141u8,
16139							55u8,
16140						],
16141					)
16142				}
16143				#[doc = " The amount which has been reported as inactive to Currency."]
16144				pub fn deactivated(
16145					&self,
16146				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
16147					(),
16148					types::deactivated::Deactivated,
16149					::subxt::ext::subxt_core::utils::Yes,
16150					::subxt::ext::subxt_core::utils::Yes,
16151					(),
16152				> {
16153					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
16154						"TreasuryPallet",
16155						"Deactivated",
16156						(),
16157						[
16158							120u8, 221u8, 159u8, 56u8, 161u8, 44u8, 54u8, 233u8, 47u8, 114u8,
16159							170u8, 150u8, 52u8, 24u8, 137u8, 212u8, 122u8, 247u8, 40u8, 17u8,
16160							208u8, 130u8, 42u8, 154u8, 33u8, 222u8, 59u8, 116u8, 0u8, 15u8, 79u8,
16161							123u8,
16162						],
16163					)
16164				}
16165				#[doc = " DEPRECATED: associated with `spend_local` call and will be removed in May 2025."]
16166				#[doc = " Refer to <https://github.com/paritytech/polkadot-sdk/pull/5961> for migration to `spend`."]
16167				#[doc = ""]
16168				#[doc = " Proposal indices that have been approved but not yet awarded."]
16169				pub fn approvals(
16170					&self,
16171				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
16172					(),
16173					types::approvals::Approvals,
16174					::subxt::ext::subxt_core::utils::Yes,
16175					::subxt::ext::subxt_core::utils::Yes,
16176					(),
16177				> {
16178					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
16179						"TreasuryPallet",
16180						"Approvals",
16181						(),
16182						[
16183							78u8, 147u8, 186u8, 235u8, 17u8, 40u8, 247u8, 235u8, 67u8, 222u8, 3u8,
16184							14u8, 248u8, 17u8, 67u8, 180u8, 93u8, 161u8, 64u8, 35u8, 119u8, 194u8,
16185							187u8, 226u8, 135u8, 162u8, 147u8, 174u8, 139u8, 72u8, 99u8, 212u8,
16186						],
16187					)
16188				}
16189				#[doc = " The count of spends that have been made."]
16190				pub fn spend_count(
16191					&self,
16192				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
16193					(),
16194					types::spend_count::SpendCount,
16195					::subxt::ext::subxt_core::utils::Yes,
16196					::subxt::ext::subxt_core::utils::Yes,
16197					(),
16198				> {
16199					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
16200						"TreasuryPallet",
16201						"SpendCount",
16202						(),
16203						[
16204							220u8, 74u8, 248u8, 52u8, 243u8, 209u8, 42u8, 236u8, 27u8, 98u8, 76u8,
16205							153u8, 129u8, 176u8, 34u8, 177u8, 33u8, 132u8, 21u8, 71u8, 206u8,
16206							146u8, 222u8, 44u8, 232u8, 246u8, 205u8, 92u8, 240u8, 136u8, 182u8,
16207							30u8,
16208						],
16209					)
16210				}
16211				#[doc = " Spends that have been approved and being processed."]
16212				pub fn spends_iter(
16213					&self,
16214				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
16215					(),
16216					types::spends::Spends,
16217					(),
16218					(),
16219					::subxt::ext::subxt_core::utils::Yes,
16220				> {
16221					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
16222						"TreasuryPallet",
16223						"Spends",
16224						(),
16225						[
16226							140u8, 4u8, 241u8, 80u8, 4u8, 219u8, 107u8, 152u8, 206u8, 175u8, 107u8,
16227							172u8, 208u8, 71u8, 174u8, 99u8, 198u8, 52u8, 142u8, 126u8, 145u8,
16228							171u8, 254u8, 9u8, 235u8, 158u8, 186u8, 101u8, 140u8, 200u8, 96u8,
16229							168u8,
16230						],
16231					)
16232				}
16233				#[doc = " Spends that have been approved and being processed."]
16234				pub fn spends(
16235					&self,
16236					_0: types::spends::Param0,
16237				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
16238					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
16239						types::spends::Param0,
16240					>,
16241					types::spends::Spends,
16242					::subxt::ext::subxt_core::utils::Yes,
16243					(),
16244					(),
16245				> {
16246					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
16247						"TreasuryPallet",
16248						"Spends",
16249						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
16250						[
16251							140u8, 4u8, 241u8, 80u8, 4u8, 219u8, 107u8, 152u8, 206u8, 175u8, 107u8,
16252							172u8, 208u8, 71u8, 174u8, 99u8, 198u8, 52u8, 142u8, 126u8, 145u8,
16253							171u8, 254u8, 9u8, 235u8, 158u8, 186u8, 101u8, 140u8, 200u8, 96u8,
16254							168u8,
16255						],
16256					)
16257				}
16258				#[doc = " The blocknumber for the last triggered spend period."]
16259				pub fn last_spend_period(
16260					&self,
16261				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
16262					(),
16263					types::last_spend_period::LastSpendPeriod,
16264					::subxt::ext::subxt_core::utils::Yes,
16265					(),
16266					(),
16267				> {
16268					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
16269						"TreasuryPallet",
16270						"LastSpendPeriod",
16271						(),
16272						[
16273							6u8, 200u8, 107u8, 132u8, 60u8, 31u8, 24u8, 196u8, 108u8, 227u8, 5u8,
16274							63u8, 249u8, 139u8, 82u8, 140u8, 169u8, 242u8, 118u8, 93u8, 83u8,
16275							155u8, 120u8, 175u8, 224u8, 227u8, 39u8, 39u8, 255u8, 247u8, 79u8,
16276							30u8,
16277						],
16278					)
16279				}
16280			}
16281		}
16282		pub mod constants {
16283			use super::runtime_types;
16284			pub struct ConstantsApi;
16285			impl ConstantsApi {
16286				#[doc = " Period between successive spends."]
16287				pub fn spend_period(
16288					&self,
16289				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
16290					::core::primitive::u32,
16291				> {
16292					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
16293						"TreasuryPallet",
16294						"SpendPeriod",
16295						[
16296							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
16297							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
16298							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
16299							145u8,
16300						],
16301					)
16302				}
16303				#[doc = " Percentage of spare funds (if any) that are burnt per spend period."]
16304				pub fn burn(
16305					&self,
16306				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
16307					runtime_types::sp_arithmetic::per_things::Permill,
16308				> {
16309					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
16310						"TreasuryPallet",
16311						"Burn",
16312						[
16313							65u8, 93u8, 120u8, 165u8, 204u8, 81u8, 159u8, 163u8, 93u8, 135u8,
16314							114u8, 121u8, 147u8, 35u8, 215u8, 213u8, 4u8, 223u8, 83u8, 37u8, 225u8,
16315							200u8, 189u8, 156u8, 140u8, 36u8, 58u8, 46u8, 42u8, 232u8, 155u8, 0u8,
16316						],
16317					)
16318				}
16319				#[doc = " The treasury's pallet id, used for deriving its sovereign account ID."]
16320				pub fn pallet_id(
16321					&self,
16322				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
16323					runtime_types::frame_support::PalletId,
16324				> {
16325					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
16326						"TreasuryPallet",
16327						"PalletId",
16328						[
16329							56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8,
16330							161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8,
16331							129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8,
16332						],
16333					)
16334				}
16335				#[doc = " DEPRECATED: associated with `spend_local` call and will be removed in May 2025."]
16336				#[doc = " Refer to <https://github.com/paritytech/polkadot-sdk/pull/5961> for migration to `spend`."]
16337				#[doc = ""]
16338				#[doc = " The maximum number of approvals that can wait in the spending queue."]
16339				#[doc = ""]
16340				#[doc = " NOTE: This parameter is also used within the Bounties Pallet extension if enabled."]
16341				pub fn max_approvals(
16342					&self,
16343				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
16344					::core::primitive::u32,
16345				> {
16346					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
16347						"TreasuryPallet",
16348						"MaxApprovals",
16349						[
16350							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
16351							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
16352							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
16353							145u8,
16354						],
16355					)
16356				}
16357				#[doc = " The period during which an approved treasury spend has to be claimed."]
16358				pub fn payout_period(
16359					&self,
16360				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
16361					::core::primitive::u32,
16362				> {
16363					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
16364						"TreasuryPallet",
16365						"PayoutPeriod",
16366						[
16367							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
16368							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
16369							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
16370							145u8,
16371						],
16372					)
16373				}
16374				#[doc = " Gets this pallet's derived pot account."]
16375				pub fn pot_account(
16376					&self,
16377				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
16378					::subxt::ext::subxt_core::utils::AccountId32,
16379				> {
16380					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
16381						"TreasuryPallet",
16382						"pot_account",
16383						[
16384							115u8, 233u8, 13u8, 223u8, 88u8, 20u8, 202u8, 139u8, 153u8, 28u8,
16385							155u8, 157u8, 224u8, 66u8, 3u8, 250u8, 23u8, 53u8, 88u8, 168u8, 211u8,
16386							204u8, 122u8, 166u8, 248u8, 23u8, 174u8, 225u8, 99u8, 108u8, 89u8,
16387							135u8,
16388						],
16389					)
16390				}
16391			}
16392		}
16393	}
16394	pub mod origins {
16395		use super::{root_mod, runtime_types};
16396	}
16397	pub mod recovery {
16398		use super::{root_mod, runtime_types};
16399		#[doc = "The `Error` enum of this pallet."]
16400		pub type Error = runtime_types::pallet_recovery::pallet::Error;
16401		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
16402		pub type Call = runtime_types::pallet_recovery::pallet::Call;
16403		pub mod calls {
16404			use super::{root_mod, runtime_types};
16405			type DispatchError = runtime_types::sp_runtime::DispatchError;
16406			pub mod types {
16407				use super::runtime_types;
16408				#[derive(
16409					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16410					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16411					Debug,
16412				)]
16413				#[decode_as_type(
16414					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16415				)]
16416				#[encode_as_type(
16417					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16418				)]
16419				#[doc = "Send a call through a recovered account."]
16420				#[doc = ""]
16421				#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
16422				#[doc = "be able to make calls on behalf of the recovered account."]
16423				#[doc = ""]
16424				#[doc = "Parameters:"]
16425				#[doc = "- `account`: The recovered account you want to make a call on-behalf-of."]
16426				#[doc = "- `call`: The call you want to make with the recovered account."]
16427				pub struct AsRecovered {
16428					pub account: as_recovered::Account,
16429					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<as_recovered::Call>,
16430				}
16431				pub mod as_recovered {
16432					use super::runtime_types;
16433					pub type Account = ::subxt::ext::subxt_core::utils::MultiAddress<
16434						::subxt::ext::subxt_core::utils::AccountId32,
16435						(),
16436					>;
16437					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
16438				}
16439				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for AsRecovered {
16440					const PALLET: &'static str = "Recovery";
16441					const CALL: &'static str = "as_recovered";
16442				}
16443				#[derive(
16444					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16445					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16446					Debug,
16447				)]
16448				#[decode_as_type(
16449					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16450				)]
16451				#[encode_as_type(
16452					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16453				)]
16454				#[doc = "Allow ROOT to bypass the recovery process and set a rescuer account"]
16455				#[doc = "for a lost account directly."]
16456				#[doc = ""]
16457				#[doc = "The dispatch origin for this call must be _ROOT_."]
16458				#[doc = ""]
16459				#[doc = "Parameters:"]
16460				#[doc = "- `lost`: The \"lost account\" to be recovered."]
16461				#[doc = "- `rescuer`: The \"rescuer account\" which can call as the lost account."]
16462				pub struct SetRecovered {
16463					pub lost: set_recovered::Lost,
16464					pub rescuer: set_recovered::Rescuer,
16465				}
16466				pub mod set_recovered {
16467					use super::runtime_types;
16468					pub type Lost = ::subxt::ext::subxt_core::utils::MultiAddress<
16469						::subxt::ext::subxt_core::utils::AccountId32,
16470						(),
16471					>;
16472					pub type Rescuer = ::subxt::ext::subxt_core::utils::MultiAddress<
16473						::subxt::ext::subxt_core::utils::AccountId32,
16474						(),
16475					>;
16476				}
16477				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetRecovered {
16478					const PALLET: &'static str = "Recovery";
16479					const CALL: &'static str = "set_recovered";
16480				}
16481				#[derive(
16482					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16483					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16484					Debug,
16485				)]
16486				#[decode_as_type(
16487					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16488				)]
16489				#[encode_as_type(
16490					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16491				)]
16492				#[doc = "Create a recovery configuration for your account. This makes your account recoverable."]
16493				#[doc = ""]
16494				#[doc = "Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance"]
16495				#[doc = "will be reserved for storing the recovery configuration. This deposit is returned"]
16496				#[doc = "in full when the user calls `remove_recovery`."]
16497				#[doc = ""]
16498				#[doc = "The dispatch origin for this call must be _Signed_."]
16499				#[doc = ""]
16500				#[doc = "Parameters:"]
16501				#[doc = "- `friends`: A list of friends you trust to vouch for recovery attempts. Should be"]
16502				#[doc = "  ordered and contain no duplicate values."]
16503				#[doc = "- `threshold`: The number of friends that must vouch for a recovery attempt before the"]
16504				#[doc = "  account can be recovered. Should be less than or equal to the length of the list of"]
16505				#[doc = "  friends."]
16506				#[doc = "- `delay_period`: The number of blocks after a recovery attempt is initialized that"]
16507				#[doc = "  needs to pass before the account can be recovered."]
16508				pub struct CreateRecovery {
16509					pub friends: create_recovery::Friends,
16510					pub threshold: create_recovery::Threshold,
16511					pub delay_period: create_recovery::DelayPeriod,
16512				}
16513				pub mod create_recovery {
16514					use super::runtime_types;
16515					pub type Friends = ::subxt::ext::subxt_core::alloc::vec::Vec<
16516						::subxt::ext::subxt_core::utils::AccountId32,
16517					>;
16518					pub type Threshold = ::core::primitive::u16;
16519					pub type DelayPeriod = ::core::primitive::u32;
16520				}
16521				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CreateRecovery {
16522					const PALLET: &'static str = "Recovery";
16523					const CALL: &'static str = "create_recovery";
16524				}
16525				#[derive(
16526					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16527					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16528					Debug,
16529				)]
16530				#[decode_as_type(
16531					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16532				)]
16533				#[encode_as_type(
16534					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16535				)]
16536				#[doc = "Initiate the process for recovering a recoverable account."]
16537				#[doc = ""]
16538				#[doc = "Payment: `RecoveryDeposit` balance will be reserved for initiating the"]
16539				#[doc = "recovery process. This deposit will always be repatriated to the account"]
16540				#[doc = "trying to be recovered. See `close_recovery`."]
16541				#[doc = ""]
16542				#[doc = "The dispatch origin for this call must be _Signed_."]
16543				#[doc = ""]
16544				#[doc = "Parameters:"]
16545				#[doc = "- `account`: The lost account that you want to recover. This account needs to be"]
16546				#[doc = "  recoverable (i.e. have a recovery configuration)."]
16547				pub struct InitiateRecovery {
16548					pub account: initiate_recovery::Account,
16549				}
16550				pub mod initiate_recovery {
16551					use super::runtime_types;
16552					pub type Account = ::subxt::ext::subxt_core::utils::MultiAddress<
16553						::subxt::ext::subxt_core::utils::AccountId32,
16554						(),
16555					>;
16556				}
16557				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for InitiateRecovery {
16558					const PALLET: &'static str = "Recovery";
16559					const CALL: &'static str = "initiate_recovery";
16560				}
16561				#[derive(
16562					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16563					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16564					Debug,
16565				)]
16566				#[decode_as_type(
16567					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16568				)]
16569				#[encode_as_type(
16570					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16571				)]
16572				#[doc = "Allow a \"friend\" of a recoverable account to vouch for an active recovery"]
16573				#[doc = "process for that account."]
16574				#[doc = ""]
16575				#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"friend\""]
16576				#[doc = "for the recoverable account."]
16577				#[doc = ""]
16578				#[doc = "Parameters:"]
16579				#[doc = "- `lost`: The lost account that you want to recover."]
16580				#[doc = "- `rescuer`: The account trying to rescue the lost account that you want to vouch for."]
16581				#[doc = ""]
16582				#[doc = "The combination of these two parameters must point to an active recovery"]
16583				#[doc = "process."]
16584				pub struct VouchRecovery {
16585					pub lost: vouch_recovery::Lost,
16586					pub rescuer: vouch_recovery::Rescuer,
16587				}
16588				pub mod vouch_recovery {
16589					use super::runtime_types;
16590					pub type Lost = ::subxt::ext::subxt_core::utils::MultiAddress<
16591						::subxt::ext::subxt_core::utils::AccountId32,
16592						(),
16593					>;
16594					pub type Rescuer = ::subxt::ext::subxt_core::utils::MultiAddress<
16595						::subxt::ext::subxt_core::utils::AccountId32,
16596						(),
16597					>;
16598				}
16599				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for VouchRecovery {
16600					const PALLET: &'static str = "Recovery";
16601					const CALL: &'static str = "vouch_recovery";
16602				}
16603				#[derive(
16604					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16605					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16606					Debug,
16607				)]
16608				#[decode_as_type(
16609					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16610				)]
16611				#[encode_as_type(
16612					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16613				)]
16614				#[doc = "Allow a successful rescuer to claim their recovered account."]
16615				#[doc = ""]
16616				#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"rescuer\""]
16617				#[doc = "who has successfully completed the account recovery process: collected"]
16618				#[doc = "`threshold` or more vouches, waited `delay_period` blocks since initiation."]
16619				#[doc = ""]
16620				#[doc = "Parameters:"]
16621				#[doc = "- `account`: The lost account that you want to claim has been successfully recovered by"]
16622				#[doc = "  you."]
16623				pub struct ClaimRecovery {
16624					pub account: claim_recovery::Account,
16625				}
16626				pub mod claim_recovery {
16627					use super::runtime_types;
16628					pub type Account = ::subxt::ext::subxt_core::utils::MultiAddress<
16629						::subxt::ext::subxt_core::utils::AccountId32,
16630						(),
16631					>;
16632				}
16633				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ClaimRecovery {
16634					const PALLET: &'static str = "Recovery";
16635					const CALL: &'static str = "claim_recovery";
16636				}
16637				#[derive(
16638					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16639					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16640					Debug,
16641				)]
16642				#[decode_as_type(
16643					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16644				)]
16645				#[encode_as_type(
16646					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16647				)]
16648				#[doc = "As the controller of a recoverable account, close an active recovery"]
16649				#[doc = "process for your account."]
16650				#[doc = ""]
16651				#[doc = "Payment: By calling this function, the recoverable account will receive"]
16652				#[doc = "the recovery deposit `RecoveryDeposit` placed by the rescuer."]
16653				#[doc = ""]
16654				#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
16655				#[doc = "recoverable account with an active recovery process for it."]
16656				#[doc = ""]
16657				#[doc = "Parameters:"]
16658				#[doc = "- `rescuer`: The account trying to rescue this recoverable account."]
16659				pub struct CloseRecovery {
16660					pub rescuer: close_recovery::Rescuer,
16661				}
16662				pub mod close_recovery {
16663					use super::runtime_types;
16664					pub type Rescuer = ::subxt::ext::subxt_core::utils::MultiAddress<
16665						::subxt::ext::subxt_core::utils::AccountId32,
16666						(),
16667					>;
16668				}
16669				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CloseRecovery {
16670					const PALLET: &'static str = "Recovery";
16671					const CALL: &'static str = "close_recovery";
16672				}
16673				#[derive(
16674					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16675					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16676					Debug,
16677				)]
16678				#[decode_as_type(
16679					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16680				)]
16681				#[encode_as_type(
16682					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16683				)]
16684				#[doc = "Remove the recovery process for your account. Recovered accounts are still accessible."]
16685				#[doc = ""]
16686				#[doc = "NOTE: The user must make sure to call `close_recovery` on all active"]
16687				#[doc = "recovery attempts before calling this function else it will fail."]
16688				#[doc = ""]
16689				#[doc = "Payment: By calling this function the recoverable account will unreserve"]
16690				#[doc = "their recovery configuration deposit."]
16691				#[doc = "(`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)"]
16692				#[doc = ""]
16693				#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
16694				#[doc = "recoverable account (i.e. has a recovery configuration)."]
16695				pub struct RemoveRecovery;
16696				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveRecovery {
16697					const PALLET: &'static str = "Recovery";
16698					const CALL: &'static str = "remove_recovery";
16699				}
16700				#[derive(
16701					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16702					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16703					Debug,
16704				)]
16705				#[decode_as_type(
16706					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16707				)]
16708				#[encode_as_type(
16709					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16710				)]
16711				#[doc = "Cancel the ability to use `as_recovered` for `account`."]
16712				#[doc = ""]
16713				#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
16714				#[doc = "be able to make calls on behalf of the recovered account."]
16715				#[doc = ""]
16716				#[doc = "Parameters:"]
16717				#[doc = "- `account`: The recovered account you are able to call on-behalf-of."]
16718				pub struct CancelRecovered {
16719					pub account: cancel_recovered::Account,
16720				}
16721				pub mod cancel_recovered {
16722					use super::runtime_types;
16723					pub type Account = ::subxt::ext::subxt_core::utils::MultiAddress<
16724						::subxt::ext::subxt_core::utils::AccountId32,
16725						(),
16726					>;
16727				}
16728				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CancelRecovered {
16729					const PALLET: &'static str = "Recovery";
16730					const CALL: &'static str = "cancel_recovered";
16731				}
16732				#[derive(
16733					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16734					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16735					Debug,
16736				)]
16737				#[decode_as_type(
16738					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16739				)]
16740				#[encode_as_type(
16741					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16742				)]
16743				#[doc = "Poke deposits for recovery configurations and / or active recoveries."]
16744				#[doc = ""]
16745				#[doc = "This can be used by accounts to possibly lower their locked amount."]
16746				#[doc = ""]
16747				#[doc = "The dispatch origin for this call must be _Signed_."]
16748				#[doc = ""]
16749				#[doc = "Parameters:"]
16750				#[doc = "- `maybe_account`: Optional recoverable account for which you have an active recovery"]
16751				#[doc = "and want to adjust the deposit for the active recovery."]
16752				#[doc = ""]
16753				#[doc = "This function checks both recovery configuration deposit and active recovery deposits"]
16754				#[doc = "of the caller:"]
16755				#[doc = "- If the caller has created a recovery configuration, checks and adjusts its deposit"]
16756				#[doc = "- If the caller has initiated any active recoveries, and provides the account in"]
16757				#[doc = "`maybe_account`, checks and adjusts those deposits"]
16758				#[doc = ""]
16759				#[doc = "If any deposit is updated, the difference will be reserved/unreserved from the caller's"]
16760				#[doc = "account."]
16761				#[doc = ""]
16762				#[doc = "The transaction is made free if any deposit is updated and paid otherwise."]
16763				#[doc = ""]
16764				#[doc = "Emits `DepositPoked` if any deposit is updated."]
16765				#[doc = "Multiple events may be emitted in case both types of deposits are updated."]
16766				pub struct PokeDeposit {
16767					pub maybe_account: poke_deposit::MaybeAccount,
16768				}
16769				pub mod poke_deposit {
16770					use super::runtime_types;
16771					pub type MaybeAccount = ::core::option::Option<
16772						::subxt::ext::subxt_core::utils::MultiAddress<
16773							::subxt::ext::subxt_core::utils::AccountId32,
16774							(),
16775						>,
16776					>;
16777				}
16778				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for PokeDeposit {
16779					const PALLET: &'static str = "Recovery";
16780					const CALL: &'static str = "poke_deposit";
16781				}
16782			}
16783			pub struct TransactionApi;
16784			impl TransactionApi {
16785				#[doc = "Send a call through a recovered account."]
16786				#[doc = ""]
16787				#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
16788				#[doc = "be able to make calls on behalf of the recovered account."]
16789				#[doc = ""]
16790				#[doc = "Parameters:"]
16791				#[doc = "- `account`: The recovered account you want to make a call on-behalf-of."]
16792				#[doc = "- `call`: The call you want to make with the recovered account."]
16793				pub fn as_recovered(
16794					&self,
16795					account: types::as_recovered::Account,
16796					call: types::as_recovered::Call,
16797				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::AsRecovered> {
16798					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16799						"Recovery",
16800						"as_recovered",
16801						types::AsRecovered {
16802							account,
16803							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
16804						},
16805						[
16806							60u8, 61u8, 138u8, 19u8, 43u8, 218u8, 179u8, 117u8, 205u8, 143u8,
16807							128u8, 223u8, 96u8, 166u8, 90u8, 187u8, 255u8, 119u8, 238u8, 209u8,
16808							140u8, 58u8, 239u8, 44u8, 153u8, 196u8, 218u8, 155u8, 227u8, 228u8,
16809							210u8, 187u8,
16810						],
16811					)
16812				}
16813				#[doc = "Allow ROOT to bypass the recovery process and set a rescuer account"]
16814				#[doc = "for a lost account directly."]
16815				#[doc = ""]
16816				#[doc = "The dispatch origin for this call must be _ROOT_."]
16817				#[doc = ""]
16818				#[doc = "Parameters:"]
16819				#[doc = "- `lost`: The \"lost account\" to be recovered."]
16820				#[doc = "- `rescuer`: The \"rescuer account\" which can call as the lost account."]
16821				pub fn set_recovered(
16822					&self,
16823					lost: types::set_recovered::Lost,
16824					rescuer: types::set_recovered::Rescuer,
16825				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetRecovered> {
16826					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16827						"Recovery",
16828						"set_recovered",
16829						types::SetRecovered { lost, rescuer },
16830						[
16831							194u8, 147u8, 14u8, 197u8, 132u8, 185u8, 122u8, 81u8, 61u8, 14u8, 10u8,
16832							177u8, 74u8, 184u8, 150u8, 217u8, 246u8, 149u8, 26u8, 165u8, 196u8,
16833							83u8, 230u8, 195u8, 213u8, 40u8, 51u8, 180u8, 23u8, 90u8, 3u8, 14u8,
16834						],
16835					)
16836				}
16837				#[doc = "Create a recovery configuration for your account. This makes your account recoverable."]
16838				#[doc = ""]
16839				#[doc = "Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance"]
16840				#[doc = "will be reserved for storing the recovery configuration. This deposit is returned"]
16841				#[doc = "in full when the user calls `remove_recovery`."]
16842				#[doc = ""]
16843				#[doc = "The dispatch origin for this call must be _Signed_."]
16844				#[doc = ""]
16845				#[doc = "Parameters:"]
16846				#[doc = "- `friends`: A list of friends you trust to vouch for recovery attempts. Should be"]
16847				#[doc = "  ordered and contain no duplicate values."]
16848				#[doc = "- `threshold`: The number of friends that must vouch for a recovery attempt before the"]
16849				#[doc = "  account can be recovered. Should be less than or equal to the length of the list of"]
16850				#[doc = "  friends."]
16851				#[doc = "- `delay_period`: The number of blocks after a recovery attempt is initialized that"]
16852				#[doc = "  needs to pass before the account can be recovered."]
16853				pub fn create_recovery(
16854					&self,
16855					friends: types::create_recovery::Friends,
16856					threshold: types::create_recovery::Threshold,
16857					delay_period: types::create_recovery::DelayPeriod,
16858				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CreateRecovery>
16859				{
16860					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16861						"Recovery",
16862						"create_recovery",
16863						types::CreateRecovery { friends, threshold, delay_period },
16864						[
16865							36u8, 175u8, 11u8, 85u8, 95u8, 170u8, 58u8, 193u8, 102u8, 18u8, 117u8,
16866							27u8, 199u8, 214u8, 70u8, 47u8, 129u8, 130u8, 109u8, 242u8, 240u8,
16867							255u8, 120u8, 176u8, 40u8, 243u8, 175u8, 71u8, 3u8, 91u8, 186u8, 220u8,
16868						],
16869					)
16870				}
16871				#[doc = "Initiate the process for recovering a recoverable account."]
16872				#[doc = ""]
16873				#[doc = "Payment: `RecoveryDeposit` balance will be reserved for initiating the"]
16874				#[doc = "recovery process. This deposit will always be repatriated to the account"]
16875				#[doc = "trying to be recovered. See `close_recovery`."]
16876				#[doc = ""]
16877				#[doc = "The dispatch origin for this call must be _Signed_."]
16878				#[doc = ""]
16879				#[doc = "Parameters:"]
16880				#[doc = "- `account`: The lost account that you want to recover. This account needs to be"]
16881				#[doc = "  recoverable (i.e. have a recovery configuration)."]
16882				pub fn initiate_recovery(
16883					&self,
16884					account: types::initiate_recovery::Account,
16885				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::InitiateRecovery>
16886				{
16887					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16888						"Recovery",
16889						"initiate_recovery",
16890						types::InitiateRecovery { account },
16891						[
16892							60u8, 243u8, 229u8, 176u8, 221u8, 52u8, 44u8, 224u8, 233u8, 14u8, 89u8,
16893							100u8, 174u8, 74u8, 38u8, 32u8, 97u8, 48u8, 53u8, 74u8, 30u8, 242u8,
16894							19u8, 114u8, 145u8, 74u8, 69u8, 125u8, 227u8, 214u8, 144u8, 58u8,
16895						],
16896					)
16897				}
16898				#[doc = "Allow a \"friend\" of a recoverable account to vouch for an active recovery"]
16899				#[doc = "process for that account."]
16900				#[doc = ""]
16901				#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"friend\""]
16902				#[doc = "for the recoverable account."]
16903				#[doc = ""]
16904				#[doc = "Parameters:"]
16905				#[doc = "- `lost`: The lost account that you want to recover."]
16906				#[doc = "- `rescuer`: The account trying to rescue the lost account that you want to vouch for."]
16907				#[doc = ""]
16908				#[doc = "The combination of these two parameters must point to an active recovery"]
16909				#[doc = "process."]
16910				pub fn vouch_recovery(
16911					&self,
16912					lost: types::vouch_recovery::Lost,
16913					rescuer: types::vouch_recovery::Rescuer,
16914				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::VouchRecovery>
16915				{
16916					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16917						"Recovery",
16918						"vouch_recovery",
16919						types::VouchRecovery { lost, rescuer },
16920						[
16921							97u8, 190u8, 60u8, 15u8, 191u8, 117u8, 1u8, 217u8, 62u8, 40u8, 210u8,
16922							1u8, 237u8, 111u8, 48u8, 196u8, 180u8, 154u8, 198u8, 12u8, 108u8, 42u8,
16923							6u8, 234u8, 2u8, 113u8, 163u8, 111u8, 80u8, 146u8, 6u8, 73u8,
16924						],
16925					)
16926				}
16927				#[doc = "Allow a successful rescuer to claim their recovered account."]
16928				#[doc = ""]
16929				#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"rescuer\""]
16930				#[doc = "who has successfully completed the account recovery process: collected"]
16931				#[doc = "`threshold` or more vouches, waited `delay_period` blocks since initiation."]
16932				#[doc = ""]
16933				#[doc = "Parameters:"]
16934				#[doc = "- `account`: The lost account that you want to claim has been successfully recovered by"]
16935				#[doc = "  you."]
16936				pub fn claim_recovery(
16937					&self,
16938					account: types::claim_recovery::Account,
16939				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ClaimRecovery>
16940				{
16941					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16942						"Recovery",
16943						"claim_recovery",
16944						types::ClaimRecovery { account },
16945						[
16946							41u8, 47u8, 162u8, 88u8, 13u8, 166u8, 130u8, 146u8, 218u8, 162u8,
16947							166u8, 33u8, 89u8, 129u8, 177u8, 178u8, 68u8, 128u8, 161u8, 229u8,
16948							207u8, 3u8, 57u8, 35u8, 211u8, 208u8, 74u8, 155u8, 183u8, 173u8, 74u8,
16949							56u8,
16950						],
16951					)
16952				}
16953				#[doc = "As the controller of a recoverable account, close an active recovery"]
16954				#[doc = "process for your account."]
16955				#[doc = ""]
16956				#[doc = "Payment: By calling this function, the recoverable account will receive"]
16957				#[doc = "the recovery deposit `RecoveryDeposit` placed by the rescuer."]
16958				#[doc = ""]
16959				#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
16960				#[doc = "recoverable account with an active recovery process for it."]
16961				#[doc = ""]
16962				#[doc = "Parameters:"]
16963				#[doc = "- `rescuer`: The account trying to rescue this recoverable account."]
16964				pub fn close_recovery(
16965					&self,
16966					rescuer: types::close_recovery::Rescuer,
16967				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CloseRecovery>
16968				{
16969					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16970						"Recovery",
16971						"close_recovery",
16972						types::CloseRecovery { rescuer },
16973						[
16974							161u8, 178u8, 117u8, 209u8, 119u8, 164u8, 135u8, 41u8, 25u8, 108u8,
16975							194u8, 175u8, 221u8, 65u8, 184u8, 137u8, 171u8, 97u8, 204u8, 61u8,
16976							159u8, 39u8, 192u8, 53u8, 246u8, 69u8, 113u8, 16u8, 170u8, 232u8,
16977							163u8, 10u8,
16978						],
16979					)
16980				}
16981				#[doc = "Remove the recovery process for your account. Recovered accounts are still accessible."]
16982				#[doc = ""]
16983				#[doc = "NOTE: The user must make sure to call `close_recovery` on all active"]
16984				#[doc = "recovery attempts before calling this function else it will fail."]
16985				#[doc = ""]
16986				#[doc = "Payment: By calling this function the recoverable account will unreserve"]
16987				#[doc = "their recovery configuration deposit."]
16988				#[doc = "(`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)"]
16989				#[doc = ""]
16990				#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
16991				#[doc = "recoverable account (i.e. has a recovery configuration)."]
16992				pub fn remove_recovery(
16993					&self,
16994				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveRecovery>
16995				{
16996					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16997						"Recovery",
16998						"remove_recovery",
16999						types::RemoveRecovery {},
17000						[
17001							11u8, 38u8, 133u8, 172u8, 212u8, 252u8, 57u8, 216u8, 42u8, 202u8,
17002							206u8, 91u8, 115u8, 91u8, 242u8, 123u8, 95u8, 196u8, 172u8, 243u8,
17003							164u8, 1u8, 69u8, 180u8, 40u8, 68u8, 208u8, 221u8, 161u8, 250u8, 8u8,
17004							72u8,
17005						],
17006					)
17007				}
17008				#[doc = "Cancel the ability to use `as_recovered` for `account`."]
17009				#[doc = ""]
17010				#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
17011				#[doc = "be able to make calls on behalf of the recovered account."]
17012				#[doc = ""]
17013				#[doc = "Parameters:"]
17014				#[doc = "- `account`: The recovered account you are able to call on-behalf-of."]
17015				pub fn cancel_recovered(
17016					&self,
17017					account: types::cancel_recovered::Account,
17018				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CancelRecovered>
17019				{
17020					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17021						"Recovery",
17022						"cancel_recovered",
17023						types::CancelRecovered { account },
17024						[
17025							100u8, 222u8, 80u8, 226u8, 187u8, 188u8, 111u8, 58u8, 190u8, 5u8,
17026							178u8, 144u8, 37u8, 98u8, 71u8, 145u8, 28u8, 248u8, 222u8, 188u8, 53u8,
17027							21u8, 127u8, 176u8, 249u8, 166u8, 250u8, 59u8, 170u8, 33u8, 251u8,
17028							239u8,
17029						],
17030					)
17031				}
17032				#[doc = "Poke deposits for recovery configurations and / or active recoveries."]
17033				#[doc = ""]
17034				#[doc = "This can be used by accounts to possibly lower their locked amount."]
17035				#[doc = ""]
17036				#[doc = "The dispatch origin for this call must be _Signed_."]
17037				#[doc = ""]
17038				#[doc = "Parameters:"]
17039				#[doc = "- `maybe_account`: Optional recoverable account for which you have an active recovery"]
17040				#[doc = "and want to adjust the deposit for the active recovery."]
17041				#[doc = ""]
17042				#[doc = "This function checks both recovery configuration deposit and active recovery deposits"]
17043				#[doc = "of the caller:"]
17044				#[doc = "- If the caller has created a recovery configuration, checks and adjusts its deposit"]
17045				#[doc = "- If the caller has initiated any active recoveries, and provides the account in"]
17046				#[doc = "`maybe_account`, checks and adjusts those deposits"]
17047				#[doc = ""]
17048				#[doc = "If any deposit is updated, the difference will be reserved/unreserved from the caller's"]
17049				#[doc = "account."]
17050				#[doc = ""]
17051				#[doc = "The transaction is made free if any deposit is updated and paid otherwise."]
17052				#[doc = ""]
17053				#[doc = "Emits `DepositPoked` if any deposit is updated."]
17054				#[doc = "Multiple events may be emitted in case both types of deposits are updated."]
17055				pub fn poke_deposit(
17056					&self,
17057					maybe_account: types::poke_deposit::MaybeAccount,
17058				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::PokeDeposit> {
17059					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17060						"Recovery",
17061						"poke_deposit",
17062						types::PokeDeposit { maybe_account },
17063						[
17064							177u8, 98u8, 53u8, 15u8, 228u8, 36u8, 173u8, 55u8, 125u8, 3u8, 234u8,
17065							70u8, 147u8, 147u8, 124u8, 86u8, 31u8, 101u8, 171u8, 56u8, 148u8,
17066							180u8, 87u8, 149u8, 11u8, 113u8, 195u8, 35u8, 56u8, 32u8, 251u8, 56u8,
17067						],
17068					)
17069				}
17070			}
17071		}
17072		#[doc = "Events type."]
17073		pub type Event = runtime_types::pallet_recovery::pallet::Event;
17074		pub mod events {
17075			use super::runtime_types;
17076			#[derive(
17077				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17078				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17079				Debug,
17080			)]
17081			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17082			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17083			#[doc = "A recovery process has been set up for an account."]
17084			pub struct RecoveryCreated {
17085				pub account: recovery_created::Account,
17086			}
17087			pub mod recovery_created {
17088				use super::runtime_types;
17089				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
17090			}
17091			impl ::subxt::ext::subxt_core::events::StaticEvent for RecoveryCreated {
17092				const PALLET: &'static str = "Recovery";
17093				const EVENT: &'static str = "RecoveryCreated";
17094			}
17095			#[derive(
17096				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17097				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17098				Debug,
17099			)]
17100			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17101			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17102			#[doc = "A recovery process has been initiated for lost account by rescuer account."]
17103			pub struct RecoveryInitiated {
17104				pub lost_account: recovery_initiated::LostAccount,
17105				pub rescuer_account: recovery_initiated::RescuerAccount,
17106			}
17107			pub mod recovery_initiated {
17108				use super::runtime_types;
17109				pub type LostAccount = ::subxt::ext::subxt_core::utils::AccountId32;
17110				pub type RescuerAccount = ::subxt::ext::subxt_core::utils::AccountId32;
17111			}
17112			impl ::subxt::ext::subxt_core::events::StaticEvent for RecoveryInitiated {
17113				const PALLET: &'static str = "Recovery";
17114				const EVENT: &'static str = "RecoveryInitiated";
17115			}
17116			#[derive(
17117				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17118				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17119				Debug,
17120			)]
17121			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17122			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17123			#[doc = "A recovery process for lost account by rescuer account has been vouched for by sender."]
17124			pub struct RecoveryVouched {
17125				pub lost_account: recovery_vouched::LostAccount,
17126				pub rescuer_account: recovery_vouched::RescuerAccount,
17127				pub sender: recovery_vouched::Sender,
17128			}
17129			pub mod recovery_vouched {
17130				use super::runtime_types;
17131				pub type LostAccount = ::subxt::ext::subxt_core::utils::AccountId32;
17132				pub type RescuerAccount = ::subxt::ext::subxt_core::utils::AccountId32;
17133				pub type Sender = ::subxt::ext::subxt_core::utils::AccountId32;
17134			}
17135			impl ::subxt::ext::subxt_core::events::StaticEvent for RecoveryVouched {
17136				const PALLET: &'static str = "Recovery";
17137				const EVENT: &'static str = "RecoveryVouched";
17138			}
17139			#[derive(
17140				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17141				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17142				Debug,
17143			)]
17144			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17145			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17146			#[doc = "A recovery process for lost account by rescuer account has been closed."]
17147			pub struct RecoveryClosed {
17148				pub lost_account: recovery_closed::LostAccount,
17149				pub rescuer_account: recovery_closed::RescuerAccount,
17150			}
17151			pub mod recovery_closed {
17152				use super::runtime_types;
17153				pub type LostAccount = ::subxt::ext::subxt_core::utils::AccountId32;
17154				pub type RescuerAccount = ::subxt::ext::subxt_core::utils::AccountId32;
17155			}
17156			impl ::subxt::ext::subxt_core::events::StaticEvent for RecoveryClosed {
17157				const PALLET: &'static str = "Recovery";
17158				const EVENT: &'static str = "RecoveryClosed";
17159			}
17160			#[derive(
17161				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17162				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17163				Debug,
17164			)]
17165			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17166			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17167			#[doc = "Lost account has been successfully recovered by rescuer account."]
17168			pub struct AccountRecovered {
17169				pub lost_account: account_recovered::LostAccount,
17170				pub rescuer_account: account_recovered::RescuerAccount,
17171			}
17172			pub mod account_recovered {
17173				use super::runtime_types;
17174				pub type LostAccount = ::subxt::ext::subxt_core::utils::AccountId32;
17175				pub type RescuerAccount = ::subxt::ext::subxt_core::utils::AccountId32;
17176			}
17177			impl ::subxt::ext::subxt_core::events::StaticEvent for AccountRecovered {
17178				const PALLET: &'static str = "Recovery";
17179				const EVENT: &'static str = "AccountRecovered";
17180			}
17181			#[derive(
17182				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17183				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17184				Debug,
17185			)]
17186			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17187			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17188			#[doc = "A recovery process has been removed for an account."]
17189			pub struct RecoveryRemoved {
17190				pub lost_account: recovery_removed::LostAccount,
17191			}
17192			pub mod recovery_removed {
17193				use super::runtime_types;
17194				pub type LostAccount = ::subxt::ext::subxt_core::utils::AccountId32;
17195			}
17196			impl ::subxt::ext::subxt_core::events::StaticEvent for RecoveryRemoved {
17197				const PALLET: &'static str = "Recovery";
17198				const EVENT: &'static str = "RecoveryRemoved";
17199			}
17200			#[derive(
17201				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17202				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17203				Debug,
17204			)]
17205			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17206			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17207			#[doc = "A deposit has been updated."]
17208			pub struct DepositPoked {
17209				pub who: deposit_poked::Who,
17210				pub kind: deposit_poked::Kind,
17211				pub old_deposit: deposit_poked::OldDeposit,
17212				pub new_deposit: deposit_poked::NewDeposit,
17213			}
17214			pub mod deposit_poked {
17215				use super::runtime_types;
17216				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
17217				pub type Kind = runtime_types::pallet_recovery::DepositKind<
17218					runtime_types::quantus_runtime::Runtime,
17219				>;
17220				pub type OldDeposit = ::core::primitive::u128;
17221				pub type NewDeposit = ::core::primitive::u128;
17222			}
17223			impl ::subxt::ext::subxt_core::events::StaticEvent for DepositPoked {
17224				const PALLET: &'static str = "Recovery";
17225				const EVENT: &'static str = "DepositPoked";
17226			}
17227		}
17228		pub mod storage {
17229			use super::runtime_types;
17230			pub mod types {
17231				use super::runtime_types;
17232				pub mod recoverable {
17233					use super::runtime_types;
17234					pub type Recoverable = runtime_types::pallet_recovery::RecoveryConfig<
17235						::core::primitive::u32,
17236						::core::primitive::u128,
17237						runtime_types::bounded_collections::bounded_vec::BoundedVec<
17238							::subxt::ext::subxt_core::utils::AccountId32,
17239						>,
17240					>;
17241					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
17242				}
17243				pub mod active_recoveries {
17244					use super::runtime_types;
17245					pub type ActiveRecoveries = runtime_types::pallet_recovery::ActiveRecovery<
17246						::core::primitive::u32,
17247						::core::primitive::u128,
17248						runtime_types::bounded_collections::bounded_vec::BoundedVec<
17249							::subxt::ext::subxt_core::utils::AccountId32,
17250						>,
17251					>;
17252					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
17253					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
17254				}
17255				pub mod proxy {
17256					use super::runtime_types;
17257					pub type Proxy = ::subxt::ext::subxt_core::utils::AccountId32;
17258					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
17259				}
17260			}
17261			pub struct StorageApi;
17262			impl StorageApi {
17263				#[doc = " The set of recoverable accounts and their recovery configuration."]
17264				pub fn recoverable_iter(
17265					&self,
17266				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
17267					(),
17268					types::recoverable::Recoverable,
17269					(),
17270					(),
17271					::subxt::ext::subxt_core::utils::Yes,
17272				> {
17273					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
17274						"Recovery",
17275						"Recoverable",
17276						(),
17277						[
17278							112u8, 7u8, 56u8, 46u8, 138u8, 197u8, 63u8, 234u8, 140u8, 123u8, 145u8,
17279							106u8, 189u8, 190u8, 247u8, 61u8, 250u8, 67u8, 107u8, 42u8, 170u8,
17280							79u8, 54u8, 168u8, 33u8, 214u8, 91u8, 227u8, 5u8, 107u8, 38u8, 26u8,
17281						],
17282					)
17283				}
17284				#[doc = " The set of recoverable accounts and their recovery configuration."]
17285				pub fn recoverable(
17286					&self,
17287					_0: types::recoverable::Param0,
17288				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
17289					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
17290						types::recoverable::Param0,
17291					>,
17292					types::recoverable::Recoverable,
17293					::subxt::ext::subxt_core::utils::Yes,
17294					(),
17295					(),
17296				> {
17297					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
17298						"Recovery",
17299						"Recoverable",
17300						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
17301						[
17302							112u8, 7u8, 56u8, 46u8, 138u8, 197u8, 63u8, 234u8, 140u8, 123u8, 145u8,
17303							106u8, 189u8, 190u8, 247u8, 61u8, 250u8, 67u8, 107u8, 42u8, 170u8,
17304							79u8, 54u8, 168u8, 33u8, 214u8, 91u8, 227u8, 5u8, 107u8, 38u8, 26u8,
17305						],
17306					)
17307				}
17308				#[doc = " Active recovery attempts."]
17309				#[doc = ""]
17310				#[doc = " First account is the account to be recovered, and the second account"]
17311				#[doc = " is the user trying to recover the account."]
17312				pub fn active_recoveries_iter(
17313					&self,
17314				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
17315					(),
17316					types::active_recoveries::ActiveRecoveries,
17317					(),
17318					(),
17319					::subxt::ext::subxt_core::utils::Yes,
17320				> {
17321					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
17322						"Recovery",
17323						"ActiveRecoveries",
17324						(),
17325						[
17326							104u8, 252u8, 28u8, 142u8, 48u8, 26u8, 91u8, 201u8, 184u8, 163u8,
17327							180u8, 197u8, 189u8, 71u8, 144u8, 88u8, 225u8, 13u8, 183u8, 84u8,
17328							244u8, 41u8, 164u8, 212u8, 153u8, 247u8, 191u8, 25u8, 162u8, 25u8,
17329							91u8, 123u8,
17330						],
17331					)
17332				}
17333				#[doc = " Active recovery attempts."]
17334				#[doc = ""]
17335				#[doc = " First account is the account to be recovered, and the second account"]
17336				#[doc = " is the user trying to recover the account."]
17337				pub fn active_recoveries_iter1(
17338					&self,
17339					_0: types::active_recoveries::Param0,
17340				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
17341					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
17342						types::active_recoveries::Param0,
17343					>,
17344					types::active_recoveries::ActiveRecoveries,
17345					(),
17346					(),
17347					::subxt::ext::subxt_core::utils::Yes,
17348				> {
17349					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
17350						"Recovery",
17351						"ActiveRecoveries",
17352						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
17353						[
17354							104u8, 252u8, 28u8, 142u8, 48u8, 26u8, 91u8, 201u8, 184u8, 163u8,
17355							180u8, 197u8, 189u8, 71u8, 144u8, 88u8, 225u8, 13u8, 183u8, 84u8,
17356							244u8, 41u8, 164u8, 212u8, 153u8, 247u8, 191u8, 25u8, 162u8, 25u8,
17357							91u8, 123u8,
17358						],
17359					)
17360				}
17361				#[doc = " Active recovery attempts."]
17362				#[doc = ""]
17363				#[doc = " First account is the account to be recovered, and the second account"]
17364				#[doc = " is the user trying to recover the account."]
17365				pub fn active_recoveries(
17366					&self,
17367					_0: types::active_recoveries::Param0,
17368					_1: types::active_recoveries::Param1,
17369				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
17370					(
17371						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
17372							types::active_recoveries::Param0,
17373						>,
17374						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
17375							types::active_recoveries::Param1,
17376						>,
17377					),
17378					types::active_recoveries::ActiveRecoveries,
17379					::subxt::ext::subxt_core::utils::Yes,
17380					(),
17381					(),
17382				> {
17383					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
17384						"Recovery",
17385						"ActiveRecoveries",
17386						(
17387							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
17388							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
17389						),
17390						[
17391							104u8, 252u8, 28u8, 142u8, 48u8, 26u8, 91u8, 201u8, 184u8, 163u8,
17392							180u8, 197u8, 189u8, 71u8, 144u8, 88u8, 225u8, 13u8, 183u8, 84u8,
17393							244u8, 41u8, 164u8, 212u8, 153u8, 247u8, 191u8, 25u8, 162u8, 25u8,
17394							91u8, 123u8,
17395						],
17396					)
17397				}
17398				#[doc = " The list of allowed proxy accounts."]
17399				#[doc = ""]
17400				#[doc = " Map from the user who can access it to the recovered account."]
17401				pub fn proxy_iter(
17402					&self,
17403				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
17404					(),
17405					types::proxy::Proxy,
17406					(),
17407					(),
17408					::subxt::ext::subxt_core::utils::Yes,
17409				> {
17410					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
17411						"Recovery",
17412						"Proxy",
17413						(),
17414						[
17415							161u8, 242u8, 17u8, 183u8, 161u8, 47u8, 87u8, 110u8, 201u8, 177u8,
17416							199u8, 157u8, 30u8, 131u8, 49u8, 89u8, 182u8, 86u8, 152u8, 19u8, 199u8,
17417							33u8, 12u8, 138u8, 51u8, 215u8, 130u8, 5u8, 251u8, 115u8, 69u8, 159u8,
17418						],
17419					)
17420				}
17421				#[doc = " The list of allowed proxy accounts."]
17422				#[doc = ""]
17423				#[doc = " Map from the user who can access it to the recovered account."]
17424				pub fn proxy(
17425					&self,
17426					_0: types::proxy::Param0,
17427				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
17428					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
17429						types::proxy::Param0,
17430					>,
17431					types::proxy::Proxy,
17432					::subxt::ext::subxt_core::utils::Yes,
17433					(),
17434					(),
17435				> {
17436					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
17437						"Recovery",
17438						"Proxy",
17439						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
17440						[
17441							161u8, 242u8, 17u8, 183u8, 161u8, 47u8, 87u8, 110u8, 201u8, 177u8,
17442							199u8, 157u8, 30u8, 131u8, 49u8, 89u8, 182u8, 86u8, 152u8, 19u8, 199u8,
17443							33u8, 12u8, 138u8, 51u8, 215u8, 130u8, 5u8, 251u8, 115u8, 69u8, 159u8,
17444						],
17445					)
17446				}
17447			}
17448		}
17449		pub mod constants {
17450			use super::runtime_types;
17451			pub struct ConstantsApi;
17452			impl ConstantsApi {
17453				#[doc = " The base amount of currency needed to reserve for creating a recovery configuration."]
17454				#[doc = ""]
17455				#[doc = " This is held for an additional storage item whose value size is"]
17456				#[doc = " `2 + sizeof(BlockNumber, Balance)` bytes."]
17457				pub fn config_deposit_base(
17458					&self,
17459				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
17460					::core::primitive::u128,
17461				> {
17462					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
17463						"Recovery",
17464						"ConfigDepositBase",
17465						[
17466							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
17467							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
17468							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
17469						],
17470					)
17471				}
17472				#[doc = " The amount of currency needed per additional user when creating a recovery"]
17473				#[doc = " configuration."]
17474				#[doc = ""]
17475				#[doc = " This is held for adding `sizeof(AccountId)` bytes more into a pre-existing storage"]
17476				#[doc = " value."]
17477				pub fn friend_deposit_factor(
17478					&self,
17479				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
17480					::core::primitive::u128,
17481				> {
17482					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
17483						"Recovery",
17484						"FriendDepositFactor",
17485						[
17486							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
17487							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
17488							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
17489						],
17490					)
17491				}
17492				#[doc = " The maximum amount of friends allowed in a recovery configuration."]
17493				#[doc = ""]
17494				#[doc = " NOTE: The threshold programmed in this Pallet uses u16, so it does"]
17495				#[doc = " not really make sense to have a limit here greater than u16::MAX."]
17496				#[doc = " But also, that is a lot more than you should probably set this value"]
17497				#[doc = " to anyway..."]
17498				pub fn max_friends(
17499					&self,
17500				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
17501					::core::primitive::u32,
17502				> {
17503					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
17504						"Recovery",
17505						"MaxFriends",
17506						[
17507							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
17508							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
17509							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
17510							145u8,
17511						],
17512					)
17513				}
17514				#[doc = " The base amount of currency needed to reserve for starting a recovery."]
17515				#[doc = ""]
17516				#[doc = " This is primarily held for deterring malicious recovery attempts, and should"]
17517				#[doc = " have a value large enough that a bad actor would choose not to place this"]
17518				#[doc = " deposit. It also acts to fund additional storage item whose value size is"]
17519				#[doc = " `sizeof(BlockNumber, Balance + T * AccountId)` bytes. Where T is a configurable"]
17520				#[doc = " threshold."]
17521				pub fn recovery_deposit(
17522					&self,
17523				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
17524					::core::primitive::u128,
17525				> {
17526					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
17527						"Recovery",
17528						"RecoveryDeposit",
17529						[
17530							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
17531							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
17532							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
17533						],
17534					)
17535				}
17536			}
17537		}
17538	}
17539	pub mod assets {
17540		use super::{root_mod, runtime_types};
17541		#[doc = "The `Error` enum of this pallet."]
17542		pub type Error = runtime_types::pallet_assets::pallet::Error;
17543		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
17544		pub type Call = runtime_types::pallet_assets::pallet::Call;
17545		pub mod calls {
17546			use super::{root_mod, runtime_types};
17547			type DispatchError = runtime_types::sp_runtime::DispatchError;
17548			pub mod types {
17549				use super::runtime_types;
17550				#[derive(
17551					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17552					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17553					Debug,
17554				)]
17555				#[decode_as_type(
17556					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17557				)]
17558				#[encode_as_type(
17559					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17560				)]
17561				#[doc = "Issue a new class of fungible assets from a public origin."]
17562				#[doc = ""]
17563				#[doc = "This new asset class has no assets initially and its owner is the origin."]
17564				#[doc = ""]
17565				#[doc = "The origin must conform to the configured `CreateOrigin` and have sufficient funds free."]
17566				#[doc = ""]
17567				#[doc = "Funds of sender are reserved by `AssetDeposit`."]
17568				#[doc = ""]
17569				#[doc = "Parameters:"]
17570				#[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"]
17571				#[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."]
17572				#[doc = "- `admin`: The admin of this class of assets. The admin is the initial address of each"]
17573				#[doc = "member of the asset class's admin team."]
17574				#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
17575				#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
17576				#[doc = ""]
17577				#[doc = "Emits `Created` event when successful."]
17578				#[doc = ""]
17579				#[doc = "Weight: `O(1)`"]
17580				pub struct Create {
17581					#[codec(compact)]
17582					pub id: create::Id,
17583					pub admin: create::Admin,
17584					pub min_balance: create::MinBalance,
17585				}
17586				pub mod create {
17587					use super::runtime_types;
17588					pub type Id = ::core::primitive::u32;
17589					pub type Admin = ::subxt::ext::subxt_core::utils::MultiAddress<
17590						::subxt::ext::subxt_core::utils::AccountId32,
17591						(),
17592					>;
17593					pub type MinBalance = ::core::primitive::u128;
17594				}
17595				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Create {
17596					const PALLET: &'static str = "Assets";
17597					const CALL: &'static str = "create";
17598				}
17599				#[derive(
17600					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17601					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17602					Debug,
17603				)]
17604				#[decode_as_type(
17605					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17606				)]
17607				#[encode_as_type(
17608					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17609				)]
17610				#[doc = "Issue a new class of fungible assets from a privileged origin."]
17611				#[doc = ""]
17612				#[doc = "This new asset class has no assets initially."]
17613				#[doc = ""]
17614				#[doc = "The origin must conform to `ForceOrigin`."]
17615				#[doc = ""]
17616				#[doc = "Unlike `create`, no funds are reserved."]
17617				#[doc = ""]
17618				#[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"]
17619				#[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."]
17620				#[doc = "- `owner`: The owner of this class of assets. The owner has full superuser permissions"]
17621				#[doc = "over this asset, but may later change and configure the permissions using"]
17622				#[doc = "`transfer_ownership` and `set_team`."]
17623				#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
17624				#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
17625				#[doc = ""]
17626				#[doc = "Emits `ForceCreated` event when successful."]
17627				#[doc = ""]
17628				#[doc = "Weight: `O(1)`"]
17629				pub struct ForceCreate {
17630					#[codec(compact)]
17631					pub id: force_create::Id,
17632					pub owner: force_create::Owner,
17633					pub is_sufficient: force_create::IsSufficient,
17634					#[codec(compact)]
17635					pub min_balance: force_create::MinBalance,
17636				}
17637				pub mod force_create {
17638					use super::runtime_types;
17639					pub type Id = ::core::primitive::u32;
17640					pub type Owner = ::subxt::ext::subxt_core::utils::MultiAddress<
17641						::subxt::ext::subxt_core::utils::AccountId32,
17642						(),
17643					>;
17644					pub type IsSufficient = ::core::primitive::bool;
17645					pub type MinBalance = ::core::primitive::u128;
17646				}
17647				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceCreate {
17648					const PALLET: &'static str = "Assets";
17649					const CALL: &'static str = "force_create";
17650				}
17651				#[derive(
17652					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17653					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17654					Debug,
17655				)]
17656				#[decode_as_type(
17657					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17658				)]
17659				#[encode_as_type(
17660					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17661				)]
17662				#[doc = "Start the process of destroying a fungible asset class."]
17663				#[doc = ""]
17664				#[doc = "`start_destroy` is the first in a series of extrinsics that should be called, to allow"]
17665				#[doc = "destruction of an asset class."]
17666				#[doc = ""]
17667				#[doc = "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`."]
17668				#[doc = ""]
17669				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
17670				#[doc = "  asset."]
17671				#[doc = ""]
17672				#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
17673				#[doc = "an account contains holds or freezes in place."]
17674				pub struct StartDestroy {
17675					#[codec(compact)]
17676					pub id: start_destroy::Id,
17677				}
17678				pub mod start_destroy {
17679					use super::runtime_types;
17680					pub type Id = ::core::primitive::u32;
17681				}
17682				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for StartDestroy {
17683					const PALLET: &'static str = "Assets";
17684					const CALL: &'static str = "start_destroy";
17685				}
17686				#[derive(
17687					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17688					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17689					Debug,
17690				)]
17691				#[decode_as_type(
17692					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17693				)]
17694				#[encode_as_type(
17695					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17696				)]
17697				#[doc = "Destroy all accounts associated with a given asset."]
17698				#[doc = ""]
17699				#[doc = "`destroy_accounts` should only be called after `start_destroy` has been called, and the"]
17700				#[doc = "asset is in a `Destroying` state."]
17701				#[doc = ""]
17702				#[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"]
17703				#[doc = "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time."]
17704				#[doc = ""]
17705				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
17706				#[doc = "  asset."]
17707				#[doc = ""]
17708				#[doc = "Each call emits the `Event::DestroyedAccounts` event."]
17709				pub struct DestroyAccounts {
17710					#[codec(compact)]
17711					pub id: destroy_accounts::Id,
17712				}
17713				pub mod destroy_accounts {
17714					use super::runtime_types;
17715					pub type Id = ::core::primitive::u32;
17716				}
17717				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for DestroyAccounts {
17718					const PALLET: &'static str = "Assets";
17719					const CALL: &'static str = "destroy_accounts";
17720				}
17721				#[derive(
17722					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17723					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17724					Debug,
17725				)]
17726				#[decode_as_type(
17727					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17728				)]
17729				#[encode_as_type(
17730					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17731				)]
17732				#[doc = "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit)."]
17733				#[doc = ""]
17734				#[doc = "`destroy_approvals` should only be called after `start_destroy` has been called, and the"]
17735				#[doc = "asset is in a `Destroying` state."]
17736				#[doc = ""]
17737				#[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"]
17738				#[doc = "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time."]
17739				#[doc = ""]
17740				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
17741				#[doc = "  asset."]
17742				#[doc = ""]
17743				#[doc = "Each call emits the `Event::DestroyedApprovals` event."]
17744				pub struct DestroyApprovals {
17745					#[codec(compact)]
17746					pub id: destroy_approvals::Id,
17747				}
17748				pub mod destroy_approvals {
17749					use super::runtime_types;
17750					pub type Id = ::core::primitive::u32;
17751				}
17752				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for DestroyApprovals {
17753					const PALLET: &'static str = "Assets";
17754					const CALL: &'static str = "destroy_approvals";
17755				}
17756				#[derive(
17757					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17758					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17759					Debug,
17760				)]
17761				#[decode_as_type(
17762					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17763				)]
17764				#[encode_as_type(
17765					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17766				)]
17767				#[doc = "Complete destroying asset and unreserve currency."]
17768				#[doc = ""]
17769				#[doc = "`finish_destroy` should only be called after `start_destroy` has been called, and the"]
17770				#[doc = "asset is in a `Destroying` state. All accounts or approvals should be destroyed before"]
17771				#[doc = "hand."]
17772				#[doc = ""]
17773				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
17774				#[doc = "  asset."]
17775				#[doc = ""]
17776				#[doc = "Each successful call emits the `Event::Destroyed` event."]
17777				pub struct FinishDestroy {
17778					#[codec(compact)]
17779					pub id: finish_destroy::Id,
17780				}
17781				pub mod finish_destroy {
17782					use super::runtime_types;
17783					pub type Id = ::core::primitive::u32;
17784				}
17785				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for FinishDestroy {
17786					const PALLET: &'static str = "Assets";
17787					const CALL: &'static str = "finish_destroy";
17788				}
17789				#[derive(
17790					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17791					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17792					Debug,
17793				)]
17794				#[decode_as_type(
17795					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17796				)]
17797				#[encode_as_type(
17798					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17799				)]
17800				#[doc = "Mint assets of a particular class."]
17801				#[doc = ""]
17802				#[doc = "The origin must be Signed and the sender must be the Issuer of the asset `id`."]
17803				#[doc = ""]
17804				#[doc = "- `id`: The identifier of the asset to have some amount minted."]
17805				#[doc = "- `beneficiary`: The account to be credited with the minted assets."]
17806				#[doc = "- `amount`: The amount of the asset to be minted."]
17807				#[doc = ""]
17808				#[doc = "Emits `Issued` event when successful."]
17809				#[doc = ""]
17810				#[doc = "Weight: `O(1)`"]
17811				#[doc = "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`."]
17812				pub struct Mint {
17813					#[codec(compact)]
17814					pub id: mint::Id,
17815					pub beneficiary: mint::Beneficiary,
17816					#[codec(compact)]
17817					pub amount: mint::Amount,
17818				}
17819				pub mod mint {
17820					use super::runtime_types;
17821					pub type Id = ::core::primitive::u32;
17822					pub type Beneficiary = ::subxt::ext::subxt_core::utils::MultiAddress<
17823						::subxt::ext::subxt_core::utils::AccountId32,
17824						(),
17825					>;
17826					pub type Amount = ::core::primitive::u128;
17827				}
17828				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Mint {
17829					const PALLET: &'static str = "Assets";
17830					const CALL: &'static str = "mint";
17831				}
17832				#[derive(
17833					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17834					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17835					Debug,
17836				)]
17837				#[decode_as_type(
17838					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17839				)]
17840				#[encode_as_type(
17841					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17842				)]
17843				#[doc = "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`."]
17844				#[doc = ""]
17845				#[doc = "Origin must be Signed and the sender should be the Manager of the asset `id`."]
17846				#[doc = ""]
17847				#[doc = "Bails with `NoAccount` if the `who` is already dead."]
17848				#[doc = ""]
17849				#[doc = "- `id`: The identifier of the asset to have some amount burned."]
17850				#[doc = "- `who`: The account to be debited from."]
17851				#[doc = "- `amount`: The maximum amount by which `who`'s balance should be reduced."]
17852				#[doc = ""]
17853				#[doc = "Emits `Burned` with the actual amount burned. If this takes the balance to below the"]
17854				#[doc = "minimum for the asset, then the amount burned is increased to take it to zero."]
17855				#[doc = ""]
17856				#[doc = "Weight: `O(1)`"]
17857				#[doc = "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`."]
17858				pub struct Burn {
17859					#[codec(compact)]
17860					pub id: burn::Id,
17861					pub who: burn::Who,
17862					#[codec(compact)]
17863					pub amount: burn::Amount,
17864				}
17865				pub mod burn {
17866					use super::runtime_types;
17867					pub type Id = ::core::primitive::u32;
17868					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
17869						::subxt::ext::subxt_core::utils::AccountId32,
17870						(),
17871					>;
17872					pub type Amount = ::core::primitive::u128;
17873				}
17874				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Burn {
17875					const PALLET: &'static str = "Assets";
17876					const CALL: &'static str = "burn";
17877				}
17878				#[derive(
17879					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17880					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17881					Debug,
17882				)]
17883				#[decode_as_type(
17884					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17885				)]
17886				#[encode_as_type(
17887					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17888				)]
17889				#[doc = "Move some assets from the sender account to another."]
17890				#[doc = ""]
17891				#[doc = "Origin must be Signed."]
17892				#[doc = ""]
17893				#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
17894				#[doc = "- `target`: The account to be credited."]
17895				#[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"]
17896				#[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"]
17897				#[doc = "the case that the transfer would otherwise take the sender balance above zero but below"]
17898				#[doc = "the minimum balance. Must be greater than zero."]
17899				#[doc = ""]
17900				#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
17901				#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
17902				#[doc = "to zero."]
17903				#[doc = ""]
17904				#[doc = "Weight: `O(1)`"]
17905				#[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"]
17906				#[doc = "`target`."]
17907				pub struct Transfer {
17908					#[codec(compact)]
17909					pub id: transfer::Id,
17910					pub target: transfer::Target,
17911					#[codec(compact)]
17912					pub amount: transfer::Amount,
17913				}
17914				pub mod transfer {
17915					use super::runtime_types;
17916					pub type Id = ::core::primitive::u32;
17917					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
17918						::subxt::ext::subxt_core::utils::AccountId32,
17919						(),
17920					>;
17921					pub type Amount = ::core::primitive::u128;
17922				}
17923				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Transfer {
17924					const PALLET: &'static str = "Assets";
17925					const CALL: &'static str = "transfer";
17926				}
17927				#[derive(
17928					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17929					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17930					Debug,
17931				)]
17932				#[decode_as_type(
17933					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17934				)]
17935				#[encode_as_type(
17936					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17937				)]
17938				#[doc = "Move some assets from the sender account to another, keeping the sender account alive."]
17939				#[doc = ""]
17940				#[doc = "Origin must be Signed."]
17941				#[doc = ""]
17942				#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
17943				#[doc = "- `target`: The account to be credited."]
17944				#[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"]
17945				#[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"]
17946				#[doc = "the case that the transfer would otherwise take the sender balance above zero but below"]
17947				#[doc = "the minimum balance. Must be greater than zero."]
17948				#[doc = ""]
17949				#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
17950				#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
17951				#[doc = "to zero."]
17952				#[doc = ""]
17953				#[doc = "Weight: `O(1)`"]
17954				#[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"]
17955				#[doc = "`target`."]
17956				pub struct TransferKeepAlive {
17957					#[codec(compact)]
17958					pub id: transfer_keep_alive::Id,
17959					pub target: transfer_keep_alive::Target,
17960					#[codec(compact)]
17961					pub amount: transfer_keep_alive::Amount,
17962				}
17963				pub mod transfer_keep_alive {
17964					use super::runtime_types;
17965					pub type Id = ::core::primitive::u32;
17966					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
17967						::subxt::ext::subxt_core::utils::AccountId32,
17968						(),
17969					>;
17970					pub type Amount = ::core::primitive::u128;
17971				}
17972				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferKeepAlive {
17973					const PALLET: &'static str = "Assets";
17974					const CALL: &'static str = "transfer_keep_alive";
17975				}
17976				#[derive(
17977					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17978					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17979					Debug,
17980				)]
17981				#[decode_as_type(
17982					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17983				)]
17984				#[encode_as_type(
17985					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17986				)]
17987				#[doc = "Move some assets from one account to another."]
17988				#[doc = ""]
17989				#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
17990				#[doc = ""]
17991				#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
17992				#[doc = "- `source`: The account to be debited."]
17993				#[doc = "- `dest`: The account to be credited."]
17994				#[doc = "- `amount`: The amount by which the `source`'s balance of assets should be reduced and"]
17995				#[doc = "`dest`'s balance increased. The amount actually transferred may be slightly greater in"]
17996				#[doc = "the case that the transfer would otherwise take the `source` balance above zero but"]
17997				#[doc = "below the minimum balance. Must be greater than zero."]
17998				#[doc = ""]
17999				#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
18000				#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
18001				#[doc = "to zero."]
18002				#[doc = ""]
18003				#[doc = "Weight: `O(1)`"]
18004				#[doc = "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of"]
18005				#[doc = "`dest`."]
18006				pub struct ForceTransfer {
18007					#[codec(compact)]
18008					pub id: force_transfer::Id,
18009					pub source: force_transfer::Source,
18010					pub dest: force_transfer::Dest,
18011					#[codec(compact)]
18012					pub amount: force_transfer::Amount,
18013				}
18014				pub mod force_transfer {
18015					use super::runtime_types;
18016					pub type Id = ::core::primitive::u32;
18017					pub type Source = ::subxt::ext::subxt_core::utils::MultiAddress<
18018						::subxt::ext::subxt_core::utils::AccountId32,
18019						(),
18020					>;
18021					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
18022						::subxt::ext::subxt_core::utils::AccountId32,
18023						(),
18024					>;
18025					pub type Amount = ::core::primitive::u128;
18026				}
18027				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceTransfer {
18028					const PALLET: &'static str = "Assets";
18029					const CALL: &'static str = "force_transfer";
18030				}
18031				#[derive(
18032					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18033					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18034					Debug,
18035				)]
18036				#[decode_as_type(
18037					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18038				)]
18039				#[encode_as_type(
18040					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18041				)]
18042				#[doc = "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`"]
18043				#[doc = "must already exist as an entry in `Account`s of the asset. If you want to freeze an"]
18044				#[doc = "account that does not have an entry, use `touch_other` first."]
18045				#[doc = ""]
18046				#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
18047				#[doc = ""]
18048				#[doc = "- `id`: The identifier of the asset to be frozen."]
18049				#[doc = "- `who`: The account to be frozen."]
18050				#[doc = ""]
18051				#[doc = "Emits `Frozen`."]
18052				#[doc = ""]
18053				#[doc = "Weight: `O(1)`"]
18054				pub struct Freeze {
18055					#[codec(compact)]
18056					pub id: freeze::Id,
18057					pub who: freeze::Who,
18058				}
18059				pub mod freeze {
18060					use super::runtime_types;
18061					pub type Id = ::core::primitive::u32;
18062					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
18063						::subxt::ext::subxt_core::utils::AccountId32,
18064						(),
18065					>;
18066				}
18067				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Freeze {
18068					const PALLET: &'static str = "Assets";
18069					const CALL: &'static str = "freeze";
18070				}
18071				#[derive(
18072					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18073					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18074					Debug,
18075				)]
18076				#[decode_as_type(
18077					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18078				)]
18079				#[encode_as_type(
18080					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18081				)]
18082				#[doc = "Allow unprivileged transfers to and from an account again."]
18083				#[doc = ""]
18084				#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
18085				#[doc = ""]
18086				#[doc = "- `id`: The identifier of the asset to be frozen."]
18087				#[doc = "- `who`: The account to be unfrozen."]
18088				#[doc = ""]
18089				#[doc = "Emits `Thawed`."]
18090				#[doc = ""]
18091				#[doc = "Weight: `O(1)`"]
18092				pub struct Thaw {
18093					#[codec(compact)]
18094					pub id: thaw::Id,
18095					pub who: thaw::Who,
18096				}
18097				pub mod thaw {
18098					use super::runtime_types;
18099					pub type Id = ::core::primitive::u32;
18100					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
18101						::subxt::ext::subxt_core::utils::AccountId32,
18102						(),
18103					>;
18104				}
18105				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Thaw {
18106					const PALLET: &'static str = "Assets";
18107					const CALL: &'static str = "thaw";
18108				}
18109				#[derive(
18110					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18111					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18112					Debug,
18113				)]
18114				#[decode_as_type(
18115					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18116				)]
18117				#[encode_as_type(
18118					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18119				)]
18120				#[doc = "Disallow further unprivileged transfers for the asset class."]
18121				#[doc = ""]
18122				#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
18123				#[doc = ""]
18124				#[doc = "- `id`: The identifier of the asset to be frozen."]
18125				#[doc = ""]
18126				#[doc = "Emits `Frozen`."]
18127				#[doc = ""]
18128				#[doc = "Weight: `O(1)`"]
18129				pub struct FreezeAsset {
18130					#[codec(compact)]
18131					pub id: freeze_asset::Id,
18132				}
18133				pub mod freeze_asset {
18134					use super::runtime_types;
18135					pub type Id = ::core::primitive::u32;
18136				}
18137				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for FreezeAsset {
18138					const PALLET: &'static str = "Assets";
18139					const CALL: &'static str = "freeze_asset";
18140				}
18141				#[derive(
18142					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18143					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18144					Debug,
18145				)]
18146				#[decode_as_type(
18147					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18148				)]
18149				#[encode_as_type(
18150					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18151				)]
18152				#[doc = "Allow unprivileged transfers for the asset again."]
18153				#[doc = ""]
18154				#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
18155				#[doc = ""]
18156				#[doc = "- `id`: The identifier of the asset to be thawed."]
18157				#[doc = ""]
18158				#[doc = "Emits `Thawed`."]
18159				#[doc = ""]
18160				#[doc = "Weight: `O(1)`"]
18161				pub struct ThawAsset {
18162					#[codec(compact)]
18163					pub id: thaw_asset::Id,
18164				}
18165				pub mod thaw_asset {
18166					use super::runtime_types;
18167					pub type Id = ::core::primitive::u32;
18168				}
18169				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ThawAsset {
18170					const PALLET: &'static str = "Assets";
18171					const CALL: &'static str = "thaw_asset";
18172				}
18173				#[derive(
18174					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18175					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18176					Debug,
18177				)]
18178				#[decode_as_type(
18179					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18180				)]
18181				#[encode_as_type(
18182					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18183				)]
18184				#[doc = "Change the Owner of an asset."]
18185				#[doc = ""]
18186				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
18187				#[doc = ""]
18188				#[doc = "- `id`: The identifier of the asset."]
18189				#[doc = "- `owner`: The new Owner of this asset."]
18190				#[doc = ""]
18191				#[doc = "Emits `OwnerChanged`."]
18192				#[doc = ""]
18193				#[doc = "Weight: `O(1)`"]
18194				pub struct TransferOwnership {
18195					#[codec(compact)]
18196					pub id: transfer_ownership::Id,
18197					pub owner: transfer_ownership::Owner,
18198				}
18199				pub mod transfer_ownership {
18200					use super::runtime_types;
18201					pub type Id = ::core::primitive::u32;
18202					pub type Owner = ::subxt::ext::subxt_core::utils::MultiAddress<
18203						::subxt::ext::subxt_core::utils::AccountId32,
18204						(),
18205					>;
18206				}
18207				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferOwnership {
18208					const PALLET: &'static str = "Assets";
18209					const CALL: &'static str = "transfer_ownership";
18210				}
18211				#[derive(
18212					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18213					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18214					Debug,
18215				)]
18216				#[decode_as_type(
18217					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18218				)]
18219				#[encode_as_type(
18220					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18221				)]
18222				#[doc = "Change the Issuer, Admin and Freezer of an asset."]
18223				#[doc = ""]
18224				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
18225				#[doc = ""]
18226				#[doc = "- `id`: The identifier of the asset to be frozen."]
18227				#[doc = "- `issuer`: The new Issuer of this asset."]
18228				#[doc = "- `admin`: The new Admin of this asset."]
18229				#[doc = "- `freezer`: The new Freezer of this asset."]
18230				#[doc = ""]
18231				#[doc = "Emits `TeamChanged`."]
18232				#[doc = ""]
18233				#[doc = "Weight: `O(1)`"]
18234				pub struct SetTeam {
18235					#[codec(compact)]
18236					pub id: set_team::Id,
18237					pub issuer: set_team::Issuer,
18238					pub admin: set_team::Admin,
18239					pub freezer: set_team::Freezer,
18240				}
18241				pub mod set_team {
18242					use super::runtime_types;
18243					pub type Id = ::core::primitive::u32;
18244					pub type Issuer = ::subxt::ext::subxt_core::utils::MultiAddress<
18245						::subxt::ext::subxt_core::utils::AccountId32,
18246						(),
18247					>;
18248					pub type Admin = ::subxt::ext::subxt_core::utils::MultiAddress<
18249						::subxt::ext::subxt_core::utils::AccountId32,
18250						(),
18251					>;
18252					pub type Freezer = ::subxt::ext::subxt_core::utils::MultiAddress<
18253						::subxt::ext::subxt_core::utils::AccountId32,
18254						(),
18255					>;
18256				}
18257				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetTeam {
18258					const PALLET: &'static str = "Assets";
18259					const CALL: &'static str = "set_team";
18260				}
18261				#[derive(
18262					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18263					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18264					Debug,
18265				)]
18266				#[decode_as_type(
18267					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18268				)]
18269				#[encode_as_type(
18270					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18271				)]
18272				#[doc = "Set the metadata for an asset."]
18273				#[doc = ""]
18274				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
18275				#[doc = ""]
18276				#[doc = "Funds of sender are reserved according to the formula:"]
18277				#[doc = "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into"]
18278				#[doc = "account any already reserved funds."]
18279				#[doc = ""]
18280				#[doc = "- `id`: The identifier of the asset to update."]
18281				#[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."]
18282				#[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."]
18283				#[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."]
18284				#[doc = ""]
18285				#[doc = "Emits `MetadataSet`."]
18286				#[doc = ""]
18287				#[doc = "Weight: `O(1)`"]
18288				pub struct SetMetadata {
18289					#[codec(compact)]
18290					pub id: set_metadata::Id,
18291					pub name: set_metadata::Name,
18292					pub symbol: set_metadata::Symbol,
18293					pub decimals: set_metadata::Decimals,
18294				}
18295				pub mod set_metadata {
18296					use super::runtime_types;
18297					pub type Id = ::core::primitive::u32;
18298					pub type Name =
18299						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
18300					pub type Symbol =
18301						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
18302					pub type Decimals = ::core::primitive::u8;
18303				}
18304				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetMetadata {
18305					const PALLET: &'static str = "Assets";
18306					const CALL: &'static str = "set_metadata";
18307				}
18308				#[derive(
18309					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18310					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18311					Debug,
18312				)]
18313				#[decode_as_type(
18314					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18315				)]
18316				#[encode_as_type(
18317					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18318				)]
18319				#[doc = "Clear the metadata for an asset."]
18320				#[doc = ""]
18321				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
18322				#[doc = ""]
18323				#[doc = "Any deposit is freed for the asset owner."]
18324				#[doc = ""]
18325				#[doc = "- `id`: The identifier of the asset to clear."]
18326				#[doc = ""]
18327				#[doc = "Emits `MetadataCleared`."]
18328				#[doc = ""]
18329				#[doc = "Weight: `O(1)`"]
18330				pub struct ClearMetadata {
18331					#[codec(compact)]
18332					pub id: clear_metadata::Id,
18333				}
18334				pub mod clear_metadata {
18335					use super::runtime_types;
18336					pub type Id = ::core::primitive::u32;
18337				}
18338				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ClearMetadata {
18339					const PALLET: &'static str = "Assets";
18340					const CALL: &'static str = "clear_metadata";
18341				}
18342				#[derive(
18343					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18344					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18345					Debug,
18346				)]
18347				#[decode_as_type(
18348					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18349				)]
18350				#[encode_as_type(
18351					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18352				)]
18353				#[doc = "Force the metadata for an asset to some value."]
18354				#[doc = ""]
18355				#[doc = "Origin must be ForceOrigin."]
18356				#[doc = ""]
18357				#[doc = "Any deposit is left alone."]
18358				#[doc = ""]
18359				#[doc = "- `id`: The identifier of the asset to update."]
18360				#[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."]
18361				#[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."]
18362				#[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."]
18363				#[doc = ""]
18364				#[doc = "Emits `MetadataSet`."]
18365				#[doc = ""]
18366				#[doc = "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively."]
18367				pub struct ForceSetMetadata {
18368					#[codec(compact)]
18369					pub id: force_set_metadata::Id,
18370					pub name: force_set_metadata::Name,
18371					pub symbol: force_set_metadata::Symbol,
18372					pub decimals: force_set_metadata::Decimals,
18373					pub is_frozen: force_set_metadata::IsFrozen,
18374				}
18375				pub mod force_set_metadata {
18376					use super::runtime_types;
18377					pub type Id = ::core::primitive::u32;
18378					pub type Name =
18379						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
18380					pub type Symbol =
18381						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
18382					pub type Decimals = ::core::primitive::u8;
18383					pub type IsFrozen = ::core::primitive::bool;
18384				}
18385				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceSetMetadata {
18386					const PALLET: &'static str = "Assets";
18387					const CALL: &'static str = "force_set_metadata";
18388				}
18389				#[derive(
18390					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18391					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18392					Debug,
18393				)]
18394				#[decode_as_type(
18395					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18396				)]
18397				#[encode_as_type(
18398					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18399				)]
18400				#[doc = "Clear the metadata for an asset."]
18401				#[doc = ""]
18402				#[doc = "Origin must be ForceOrigin."]
18403				#[doc = ""]
18404				#[doc = "Any deposit is returned."]
18405				#[doc = ""]
18406				#[doc = "- `id`: The identifier of the asset to clear."]
18407				#[doc = ""]
18408				#[doc = "Emits `MetadataCleared`."]
18409				#[doc = ""]
18410				#[doc = "Weight: `O(1)`"]
18411				pub struct ForceClearMetadata {
18412					#[codec(compact)]
18413					pub id: force_clear_metadata::Id,
18414				}
18415				pub mod force_clear_metadata {
18416					use super::runtime_types;
18417					pub type Id = ::core::primitive::u32;
18418				}
18419				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceClearMetadata {
18420					const PALLET: &'static str = "Assets";
18421					const CALL: &'static str = "force_clear_metadata";
18422				}
18423				#[derive(
18424					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18425					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18426					Debug,
18427				)]
18428				#[decode_as_type(
18429					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18430				)]
18431				#[encode_as_type(
18432					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18433				)]
18434				#[doc = "Alter the attributes of a given asset."]
18435				#[doc = ""]
18436				#[doc = "Origin must be `ForceOrigin`."]
18437				#[doc = ""]
18438				#[doc = "- `id`: The identifier of the asset."]
18439				#[doc = "- `owner`: The new Owner of this asset."]
18440				#[doc = "- `issuer`: The new Issuer of this asset."]
18441				#[doc = "- `admin`: The new Admin of this asset."]
18442				#[doc = "- `freezer`: The new Freezer of this asset."]
18443				#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
18444				#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
18445				#[doc = "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient"]
18446				#[doc = "value to account for the state bloat associated with its balance storage. If set to"]
18447				#[doc = "`true`, then non-zero balances may be stored without a `consumer` reference (and thus"]
18448				#[doc = "an ED in the Balances pallet or whatever else is used to control user-account state"]
18449				#[doc = "growth)."]
18450				#[doc = "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin"]
18451				#[doc = "instructions."]
18452				#[doc = ""]
18453				#[doc = "Emits `AssetStatusChanged` with the identity of the asset."]
18454				#[doc = ""]
18455				#[doc = "Weight: `O(1)`"]
18456				pub struct ForceAssetStatus {
18457					#[codec(compact)]
18458					pub id: force_asset_status::Id,
18459					pub owner: force_asset_status::Owner,
18460					pub issuer: force_asset_status::Issuer,
18461					pub admin: force_asset_status::Admin,
18462					pub freezer: force_asset_status::Freezer,
18463					#[codec(compact)]
18464					pub min_balance: force_asset_status::MinBalance,
18465					pub is_sufficient: force_asset_status::IsSufficient,
18466					pub is_frozen: force_asset_status::IsFrozen,
18467				}
18468				pub mod force_asset_status {
18469					use super::runtime_types;
18470					pub type Id = ::core::primitive::u32;
18471					pub type Owner = ::subxt::ext::subxt_core::utils::MultiAddress<
18472						::subxt::ext::subxt_core::utils::AccountId32,
18473						(),
18474					>;
18475					pub type Issuer = ::subxt::ext::subxt_core::utils::MultiAddress<
18476						::subxt::ext::subxt_core::utils::AccountId32,
18477						(),
18478					>;
18479					pub type Admin = ::subxt::ext::subxt_core::utils::MultiAddress<
18480						::subxt::ext::subxt_core::utils::AccountId32,
18481						(),
18482					>;
18483					pub type Freezer = ::subxt::ext::subxt_core::utils::MultiAddress<
18484						::subxt::ext::subxt_core::utils::AccountId32,
18485						(),
18486					>;
18487					pub type MinBalance = ::core::primitive::u128;
18488					pub type IsSufficient = ::core::primitive::bool;
18489					pub type IsFrozen = ::core::primitive::bool;
18490				}
18491				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceAssetStatus {
18492					const PALLET: &'static str = "Assets";
18493					const CALL: &'static str = "force_asset_status";
18494				}
18495				#[derive(
18496					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18497					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18498					Debug,
18499				)]
18500				#[decode_as_type(
18501					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18502				)]
18503				#[encode_as_type(
18504					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18505				)]
18506				#[doc = "Approve an amount of asset for transfer by a delegated third-party account."]
18507				#[doc = ""]
18508				#[doc = "Origin must be Signed."]
18509				#[doc = ""]
18510				#[doc = "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account"]
18511				#[doc = "for the purpose of holding the approval. If some non-zero amount of assets is already"]
18512				#[doc = "approved from signing account to `delegate`, then it is topped up or unreserved to"]
18513				#[doc = "meet the right value."]
18514				#[doc = ""]
18515				#[doc = "NOTE: The signing account does not need to own `amount` of assets at the point of"]
18516				#[doc = "making this call."]
18517				#[doc = ""]
18518				#[doc = "- `id`: The identifier of the asset."]
18519				#[doc = "- `delegate`: The account to delegate permission to transfer asset."]
18520				#[doc = "- `amount`: The amount of asset that may be transferred by `delegate`. If there is"]
18521				#[doc = "already an approval in place, then this acts additively."]
18522				#[doc = ""]
18523				#[doc = "Emits `ApprovedTransfer` on success."]
18524				#[doc = ""]
18525				#[doc = "Weight: `O(1)`"]
18526				pub struct ApproveTransfer {
18527					#[codec(compact)]
18528					pub id: approve_transfer::Id,
18529					pub delegate: approve_transfer::Delegate,
18530					#[codec(compact)]
18531					pub amount: approve_transfer::Amount,
18532				}
18533				pub mod approve_transfer {
18534					use super::runtime_types;
18535					pub type Id = ::core::primitive::u32;
18536					pub type Delegate = ::subxt::ext::subxt_core::utils::MultiAddress<
18537						::subxt::ext::subxt_core::utils::AccountId32,
18538						(),
18539					>;
18540					pub type Amount = ::core::primitive::u128;
18541				}
18542				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ApproveTransfer {
18543					const PALLET: &'static str = "Assets";
18544					const CALL: &'static str = "approve_transfer";
18545				}
18546				#[derive(
18547					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18548					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18549					Debug,
18550				)]
18551				#[decode_as_type(
18552					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18553				)]
18554				#[encode_as_type(
18555					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18556				)]
18557				#[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."]
18558				#[doc = ""]
18559				#[doc = "Origin must be Signed and there must be an approval in place between signer and"]
18560				#[doc = "`delegate`."]
18561				#[doc = ""]
18562				#[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."]
18563				#[doc = ""]
18564				#[doc = "- `id`: The identifier of the asset."]
18565				#[doc = "- `delegate`: The account delegated permission to transfer asset."]
18566				#[doc = ""]
18567				#[doc = "Emits `ApprovalCancelled` on success."]
18568				#[doc = ""]
18569				#[doc = "Weight: `O(1)`"]
18570				pub struct CancelApproval {
18571					#[codec(compact)]
18572					pub id: cancel_approval::Id,
18573					pub delegate: cancel_approval::Delegate,
18574				}
18575				pub mod cancel_approval {
18576					use super::runtime_types;
18577					pub type Id = ::core::primitive::u32;
18578					pub type Delegate = ::subxt::ext::subxt_core::utils::MultiAddress<
18579						::subxt::ext::subxt_core::utils::AccountId32,
18580						(),
18581					>;
18582				}
18583				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CancelApproval {
18584					const PALLET: &'static str = "Assets";
18585					const CALL: &'static str = "cancel_approval";
18586				}
18587				#[derive(
18588					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18589					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18590					Debug,
18591				)]
18592				#[decode_as_type(
18593					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18594				)]
18595				#[encode_as_type(
18596					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18597				)]
18598				#[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."]
18599				#[doc = ""]
18600				#[doc = "Origin must be either ForceOrigin or Signed origin with the signer being the Admin"]
18601				#[doc = "account of the asset `id`."]
18602				#[doc = ""]
18603				#[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."]
18604				#[doc = ""]
18605				#[doc = "- `id`: The identifier of the asset."]
18606				#[doc = "- `delegate`: The account delegated permission to transfer asset."]
18607				#[doc = ""]
18608				#[doc = "Emits `ApprovalCancelled` on success."]
18609				#[doc = ""]
18610				#[doc = "Weight: `O(1)`"]
18611				pub struct ForceCancelApproval {
18612					#[codec(compact)]
18613					pub id: force_cancel_approval::Id,
18614					pub owner: force_cancel_approval::Owner,
18615					pub delegate: force_cancel_approval::Delegate,
18616				}
18617				pub mod force_cancel_approval {
18618					use super::runtime_types;
18619					pub type Id = ::core::primitive::u32;
18620					pub type Owner = ::subxt::ext::subxt_core::utils::MultiAddress<
18621						::subxt::ext::subxt_core::utils::AccountId32,
18622						(),
18623					>;
18624					pub type Delegate = ::subxt::ext::subxt_core::utils::MultiAddress<
18625						::subxt::ext::subxt_core::utils::AccountId32,
18626						(),
18627					>;
18628				}
18629				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceCancelApproval {
18630					const PALLET: &'static str = "Assets";
18631					const CALL: &'static str = "force_cancel_approval";
18632				}
18633				#[derive(
18634					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18635					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18636					Debug,
18637				)]
18638				#[decode_as_type(
18639					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18640				)]
18641				#[encode_as_type(
18642					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18643				)]
18644				#[doc = "Transfer some asset balance from a previously delegated account to some third-party"]
18645				#[doc = "account."]
18646				#[doc = ""]
18647				#[doc = "Origin must be Signed and there must be an approval in place by the `owner` to the"]
18648				#[doc = "signer."]
18649				#[doc = ""]
18650				#[doc = "If the entire amount approved for transfer is transferred, then any deposit previously"]
18651				#[doc = "reserved by `approve_transfer` is unreserved."]
18652				#[doc = ""]
18653				#[doc = "- `id`: The identifier of the asset."]
18654				#[doc = "- `owner`: The account which previously approved for a transfer of at least `amount` and"]
18655				#[doc = "from which the asset balance will be withdrawn."]
18656				#[doc = "- `destination`: The account to which the asset balance of `amount` will be transferred."]
18657				#[doc = "- `amount`: The amount of assets to transfer."]
18658				#[doc = ""]
18659				#[doc = "Emits `TransferredApproved` on success."]
18660				#[doc = ""]
18661				#[doc = "Weight: `O(1)`"]
18662				pub struct TransferApproved {
18663					#[codec(compact)]
18664					pub id: transfer_approved::Id,
18665					pub owner: transfer_approved::Owner,
18666					pub destination: transfer_approved::Destination,
18667					#[codec(compact)]
18668					pub amount: transfer_approved::Amount,
18669				}
18670				pub mod transfer_approved {
18671					use super::runtime_types;
18672					pub type Id = ::core::primitive::u32;
18673					pub type Owner = ::subxt::ext::subxt_core::utils::MultiAddress<
18674						::subxt::ext::subxt_core::utils::AccountId32,
18675						(),
18676					>;
18677					pub type Destination = ::subxt::ext::subxt_core::utils::MultiAddress<
18678						::subxt::ext::subxt_core::utils::AccountId32,
18679						(),
18680					>;
18681					pub type Amount = ::core::primitive::u128;
18682				}
18683				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferApproved {
18684					const PALLET: &'static str = "Assets";
18685					const CALL: &'static str = "transfer_approved";
18686				}
18687				#[derive(
18688					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18689					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18690					Debug,
18691				)]
18692				#[decode_as_type(
18693					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18694				)]
18695				#[encode_as_type(
18696					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18697				)]
18698				#[doc = "Create an asset account for non-provider assets."]
18699				#[doc = ""]
18700				#[doc = "A deposit will be taken from the signer account."]
18701				#[doc = ""]
18702				#[doc = "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit"]
18703				#[doc = "  to be taken."]
18704				#[doc = "- `id`: The identifier of the asset for the account to be created."]
18705				#[doc = ""]
18706				#[doc = "Emits `Touched` event when successful."]
18707				pub struct Touch {
18708					#[codec(compact)]
18709					pub id: touch::Id,
18710				}
18711				pub mod touch {
18712					use super::runtime_types;
18713					pub type Id = ::core::primitive::u32;
18714				}
18715				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Touch {
18716					const PALLET: &'static str = "Assets";
18717					const CALL: &'static str = "touch";
18718				}
18719				#[derive(
18720					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18721					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18722					Debug,
18723				)]
18724				#[decode_as_type(
18725					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18726				)]
18727				#[encode_as_type(
18728					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18729				)]
18730				#[doc = "Return the deposit (if any) of an asset account or a consumer reference (if any) of an"]
18731				#[doc = "account."]
18732				#[doc = ""]
18733				#[doc = "The origin must be Signed."]
18734				#[doc = ""]
18735				#[doc = "- `id`: The identifier of the asset for which the caller would like the deposit"]
18736				#[doc = "  refunded."]
18737				#[doc = "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund."]
18738				#[doc = ""]
18739				#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
18740				#[doc = "the asset account contains holds or freezes in place."]
18741				#[doc = ""]
18742				#[doc = "Emits `Refunded` event when successful."]
18743				pub struct Refund {
18744					#[codec(compact)]
18745					pub id: refund::Id,
18746					pub allow_burn: refund::AllowBurn,
18747				}
18748				pub mod refund {
18749					use super::runtime_types;
18750					pub type Id = ::core::primitive::u32;
18751					pub type AllowBurn = ::core::primitive::bool;
18752				}
18753				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Refund {
18754					const PALLET: &'static str = "Assets";
18755					const CALL: &'static str = "refund";
18756				}
18757				#[derive(
18758					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18759					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18760					Debug,
18761				)]
18762				#[decode_as_type(
18763					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18764				)]
18765				#[encode_as_type(
18766					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18767				)]
18768				#[doc = "Sets the minimum balance of an asset."]
18769				#[doc = ""]
18770				#[doc = "Only works if there aren't any accounts that are holding the asset or if"]
18771				#[doc = "the new value of `min_balance` is less than the old one."]
18772				#[doc = ""]
18773				#[doc = "Origin must be Signed and the sender has to be the Owner of the"]
18774				#[doc = "asset `id`."]
18775				#[doc = ""]
18776				#[doc = "- `id`: The identifier of the asset."]
18777				#[doc = "- `min_balance`: The new value of `min_balance`."]
18778				#[doc = ""]
18779				#[doc = "Emits `AssetMinBalanceChanged` event when successful."]
18780				pub struct SetMinBalance {
18781					#[codec(compact)]
18782					pub id: set_min_balance::Id,
18783					pub min_balance: set_min_balance::MinBalance,
18784				}
18785				pub mod set_min_balance {
18786					use super::runtime_types;
18787					pub type Id = ::core::primitive::u32;
18788					pub type MinBalance = ::core::primitive::u128;
18789				}
18790				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetMinBalance {
18791					const PALLET: &'static str = "Assets";
18792					const CALL: &'static str = "set_min_balance";
18793				}
18794				#[derive(
18795					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18796					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18797					Debug,
18798				)]
18799				#[decode_as_type(
18800					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18801				)]
18802				#[encode_as_type(
18803					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18804				)]
18805				#[doc = "Create an asset account for `who`."]
18806				#[doc = ""]
18807				#[doc = "A deposit will be taken from the signer account."]
18808				#[doc = ""]
18809				#[doc = "- `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account"]
18810				#[doc = "  must have sufficient funds for a deposit to be taken."]
18811				#[doc = "- `id`: The identifier of the asset for the account to be created."]
18812				#[doc = "- `who`: The account to be created."]
18813				#[doc = ""]
18814				#[doc = "Emits `Touched` event when successful."]
18815				pub struct TouchOther {
18816					#[codec(compact)]
18817					pub id: touch_other::Id,
18818					pub who: touch_other::Who,
18819				}
18820				pub mod touch_other {
18821					use super::runtime_types;
18822					pub type Id = ::core::primitive::u32;
18823					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
18824						::subxt::ext::subxt_core::utils::AccountId32,
18825						(),
18826					>;
18827				}
18828				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TouchOther {
18829					const PALLET: &'static str = "Assets";
18830					const CALL: &'static str = "touch_other";
18831				}
18832				#[derive(
18833					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18834					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18835					Debug,
18836				)]
18837				#[decode_as_type(
18838					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18839				)]
18840				#[encode_as_type(
18841					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18842				)]
18843				#[doc = "Return the deposit (if any) of a target asset account. Useful if you are the depositor."]
18844				#[doc = ""]
18845				#[doc = "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In"]
18846				#[doc = "order to burn a non-zero balance of the asset, the caller must be the account and should"]
18847				#[doc = "use `refund`."]
18848				#[doc = ""]
18849				#[doc = "- `id`: The identifier of the asset for the account holding a deposit."]
18850				#[doc = "- `who`: The account to refund."]
18851				#[doc = ""]
18852				#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
18853				#[doc = "the asset account contains holds or freezes in place."]
18854				#[doc = ""]
18855				#[doc = "Emits `Refunded` event when successful."]
18856				pub struct RefundOther {
18857					#[codec(compact)]
18858					pub id: refund_other::Id,
18859					pub who: refund_other::Who,
18860				}
18861				pub mod refund_other {
18862					use super::runtime_types;
18863					pub type Id = ::core::primitive::u32;
18864					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
18865						::subxt::ext::subxt_core::utils::AccountId32,
18866						(),
18867					>;
18868				}
18869				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RefundOther {
18870					const PALLET: &'static str = "Assets";
18871					const CALL: &'static str = "refund_other";
18872				}
18873				#[derive(
18874					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18875					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18876					Debug,
18877				)]
18878				#[decode_as_type(
18879					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18880				)]
18881				#[encode_as_type(
18882					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18883				)]
18884				#[doc = "Disallow further unprivileged transfers of an asset `id` to and from an account `who`."]
18885				#[doc = ""]
18886				#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
18887				#[doc = ""]
18888				#[doc = "- `id`: The identifier of the account's asset."]
18889				#[doc = "- `who`: The account to be unblocked."]
18890				#[doc = ""]
18891				#[doc = "Emits `Blocked`."]
18892				#[doc = ""]
18893				#[doc = "Weight: `O(1)`"]
18894				pub struct Block {
18895					#[codec(compact)]
18896					pub id: block::Id,
18897					pub who: block::Who,
18898				}
18899				pub mod block {
18900					use super::runtime_types;
18901					pub type Id = ::core::primitive::u32;
18902					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
18903						::subxt::ext::subxt_core::utils::AccountId32,
18904						(),
18905					>;
18906				}
18907				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Block {
18908					const PALLET: &'static str = "Assets";
18909					const CALL: &'static str = "block";
18910				}
18911				#[derive(
18912					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18913					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18914					Debug,
18915				)]
18916				#[decode_as_type(
18917					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18918				)]
18919				#[encode_as_type(
18920					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18921				)]
18922				#[doc = "Transfer the entire transferable balance from the caller asset account."]
18923				#[doc = ""]
18924				#[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"]
18925				#[doc = "any held, frozen, or minimum balance (when `keep_alive` is `true`), will not be"]
18926				#[doc = "transferred by this function. To ensure that this function results in a killed account,"]
18927				#[doc = "you might need to prepare the account by removing any reference counters, storage"]
18928				#[doc = "deposits, etc..."]
18929				#[doc = ""]
18930				#[doc = "The dispatch origin of this call must be Signed."]
18931				#[doc = ""]
18932				#[doc = "- `id`: The identifier of the asset for the account holding a deposit."]
18933				#[doc = "- `dest`: The recipient of the transfer."]
18934				#[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"]
18935				#[doc = "  of the funds the asset account has, causing the sender asset account to be killed"]
18936				#[doc = "  (false), or transfer everything except at least the minimum balance, which will"]
18937				#[doc = "  guarantee to keep the sender asset account alive (true)."]
18938				pub struct TransferAll {
18939					#[codec(compact)]
18940					pub id: transfer_all::Id,
18941					pub dest: transfer_all::Dest,
18942					pub keep_alive: transfer_all::KeepAlive,
18943				}
18944				pub mod transfer_all {
18945					use super::runtime_types;
18946					pub type Id = ::core::primitive::u32;
18947					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
18948						::subxt::ext::subxt_core::utils::AccountId32,
18949						(),
18950					>;
18951					pub type KeepAlive = ::core::primitive::bool;
18952				}
18953				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferAll {
18954					const PALLET: &'static str = "Assets";
18955					const CALL: &'static str = "transfer_all";
18956				}
18957			}
18958			pub struct TransactionApi;
18959			impl TransactionApi {
18960				#[doc = "Issue a new class of fungible assets from a public origin."]
18961				#[doc = ""]
18962				#[doc = "This new asset class has no assets initially and its owner is the origin."]
18963				#[doc = ""]
18964				#[doc = "The origin must conform to the configured `CreateOrigin` and have sufficient funds free."]
18965				#[doc = ""]
18966				#[doc = "Funds of sender are reserved by `AssetDeposit`."]
18967				#[doc = ""]
18968				#[doc = "Parameters:"]
18969				#[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"]
18970				#[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."]
18971				#[doc = "- `admin`: The admin of this class of assets. The admin is the initial address of each"]
18972				#[doc = "member of the asset class's admin team."]
18973				#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
18974				#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
18975				#[doc = ""]
18976				#[doc = "Emits `Created` event when successful."]
18977				#[doc = ""]
18978				#[doc = "Weight: `O(1)`"]
18979				pub fn create(
18980					&self,
18981					id: types::create::Id,
18982					admin: types::create::Admin,
18983					min_balance: types::create::MinBalance,
18984				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Create> {
18985					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
18986						"Assets",
18987						"create",
18988						types::Create { id, admin, min_balance },
18989						[
18990							120u8, 25u8, 99u8, 39u8, 102u8, 201u8, 14u8, 2u8, 32u8, 139u8, 206u8,
18991							218u8, 223u8, 161u8, 25u8, 98u8, 159u8, 133u8, 65u8, 105u8, 45u8, 4u8,
18992							28u8, 49u8, 248u8, 147u8, 2u8, 179u8, 11u8, 195u8, 177u8, 250u8,
18993						],
18994					)
18995				}
18996				#[doc = "Issue a new class of fungible assets from a privileged origin."]
18997				#[doc = ""]
18998				#[doc = "This new asset class has no assets initially."]
18999				#[doc = ""]
19000				#[doc = "The origin must conform to `ForceOrigin`."]
19001				#[doc = ""]
19002				#[doc = "Unlike `create`, no funds are reserved."]
19003				#[doc = ""]
19004				#[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"]
19005				#[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."]
19006				#[doc = "- `owner`: The owner of this class of assets. The owner has full superuser permissions"]
19007				#[doc = "over this asset, but may later change and configure the permissions using"]
19008				#[doc = "`transfer_ownership` and `set_team`."]
19009				#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
19010				#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
19011				#[doc = ""]
19012				#[doc = "Emits `ForceCreated` event when successful."]
19013				#[doc = ""]
19014				#[doc = "Weight: `O(1)`"]
19015				pub fn force_create(
19016					&self,
19017					id: types::force_create::Id,
19018					owner: types::force_create::Owner,
19019					is_sufficient: types::force_create::IsSufficient,
19020					min_balance: types::force_create::MinBalance,
19021				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceCreate> {
19022					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19023						"Assets",
19024						"force_create",
19025						types::ForceCreate { id, owner, is_sufficient, min_balance },
19026						[
19027							149u8, 41u8, 54u8, 146u8, 18u8, 248u8, 84u8, 52u8, 202u8, 88u8, 192u8,
19028							208u8, 247u8, 227u8, 254u8, 98u8, 92u8, 46u8, 164u8, 152u8, 143u8,
19029							20u8, 179u8, 227u8, 197u8, 247u8, 242u8, 153u8, 142u8, 148u8, 40u8,
19030							184u8,
19031						],
19032					)
19033				}
19034				#[doc = "Start the process of destroying a fungible asset class."]
19035				#[doc = ""]
19036				#[doc = "`start_destroy` is the first in a series of extrinsics that should be called, to allow"]
19037				#[doc = "destruction of an asset class."]
19038				#[doc = ""]
19039				#[doc = "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`."]
19040				#[doc = ""]
19041				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
19042				#[doc = "  asset."]
19043				#[doc = ""]
19044				#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
19045				#[doc = "an account contains holds or freezes in place."]
19046				pub fn start_destroy(
19047					&self,
19048					id: types::start_destroy::Id,
19049				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::StartDestroy> {
19050					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19051						"Assets",
19052						"start_destroy",
19053						types::StartDestroy { id },
19054						[
19055							125u8, 82u8, 151u8, 106u8, 25u8, 49u8, 68u8, 203u8, 247u8, 175u8,
19056							117u8, 230u8, 84u8, 98u8, 172u8, 73u8, 233u8, 218u8, 212u8, 198u8,
19057							69u8, 35u8, 15u8, 179u8, 161u8, 205u8, 190u8, 109u8, 198u8, 214u8,
19058							65u8, 164u8,
19059						],
19060					)
19061				}
19062				#[doc = "Destroy all accounts associated with a given asset."]
19063				#[doc = ""]
19064				#[doc = "`destroy_accounts` should only be called after `start_destroy` has been called, and the"]
19065				#[doc = "asset is in a `Destroying` state."]
19066				#[doc = ""]
19067				#[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"]
19068				#[doc = "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time."]
19069				#[doc = ""]
19070				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
19071				#[doc = "  asset."]
19072				#[doc = ""]
19073				#[doc = "Each call emits the `Event::DestroyedAccounts` event."]
19074				pub fn destroy_accounts(
19075					&self,
19076					id: types::destroy_accounts::Id,
19077				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::DestroyAccounts>
19078				{
19079					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19080						"Assets",
19081						"destroy_accounts",
19082						types::DestroyAccounts { id },
19083						[
19084							236u8, 102u8, 233u8, 170u8, 179u8, 46u8, 42u8, 29u8, 200u8, 116u8,
19085							62u8, 114u8, 233u8, 59u8, 217u8, 215u8, 109u8, 232u8, 147u8, 95u8,
19086							255u8, 248u8, 119u8, 222u8, 216u8, 165u8, 138u8, 47u8, 28u8, 56u8,
19087							204u8, 93u8,
19088						],
19089					)
19090				}
19091				#[doc = "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit)."]
19092				#[doc = ""]
19093				#[doc = "`destroy_approvals` should only be called after `start_destroy` has been called, and the"]
19094				#[doc = "asset is in a `Destroying` state."]
19095				#[doc = ""]
19096				#[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"]
19097				#[doc = "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time."]
19098				#[doc = ""]
19099				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
19100				#[doc = "  asset."]
19101				#[doc = ""]
19102				#[doc = "Each call emits the `Event::DestroyedApprovals` event."]
19103				pub fn destroy_approvals(
19104					&self,
19105					id: types::destroy_approvals::Id,
19106				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::DestroyApprovals>
19107				{
19108					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19109						"Assets",
19110						"destroy_approvals",
19111						types::DestroyApprovals { id },
19112						[
19113							34u8, 35u8, 15u8, 44u8, 239u8, 232u8, 88u8, 130u8, 130u8, 87u8, 171u8,
19114							255u8, 247u8, 179u8, 14u8, 35u8, 47u8, 223u8, 32u8, 232u8, 41u8, 105u8,
19115							207u8, 199u8, 90u8, 136u8, 144u8, 139u8, 252u8, 76u8, 177u8, 106u8,
19116						],
19117					)
19118				}
19119				#[doc = "Complete destroying asset and unreserve currency."]
19120				#[doc = ""]
19121				#[doc = "`finish_destroy` should only be called after `start_destroy` has been called, and the"]
19122				#[doc = "asset is in a `Destroying` state. All accounts or approvals should be destroyed before"]
19123				#[doc = "hand."]
19124				#[doc = ""]
19125				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
19126				#[doc = "  asset."]
19127				#[doc = ""]
19128				#[doc = "Each successful call emits the `Event::Destroyed` event."]
19129				pub fn finish_destroy(
19130					&self,
19131					id: types::finish_destroy::Id,
19132				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::FinishDestroy>
19133				{
19134					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19135						"Assets",
19136						"finish_destroy",
19137						types::FinishDestroy { id },
19138						[
19139							132u8, 67u8, 78u8, 84u8, 240u8, 51u8, 176u8, 119u8, 48u8, 34u8, 153u8,
19140							37u8, 25u8, 171u8, 21u8, 164u8, 53u8, 214u8, 36u8, 149u8, 20u8, 240u8,
19141							123u8, 195u8, 170u8, 162u8, 118u8, 81u8, 176u8, 218u8, 114u8, 113u8,
19142						],
19143					)
19144				}
19145				#[doc = "Mint assets of a particular class."]
19146				#[doc = ""]
19147				#[doc = "The origin must be Signed and the sender must be the Issuer of the asset `id`."]
19148				#[doc = ""]
19149				#[doc = "- `id`: The identifier of the asset to have some amount minted."]
19150				#[doc = "- `beneficiary`: The account to be credited with the minted assets."]
19151				#[doc = "- `amount`: The amount of the asset to be minted."]
19152				#[doc = ""]
19153				#[doc = "Emits `Issued` event when successful."]
19154				#[doc = ""]
19155				#[doc = "Weight: `O(1)`"]
19156				#[doc = "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`."]
19157				pub fn mint(
19158					&self,
19159					id: types::mint::Id,
19160					beneficiary: types::mint::Beneficiary,
19161					amount: types::mint::Amount,
19162				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Mint> {
19163					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19164						"Assets",
19165						"mint",
19166						types::Mint { id, beneficiary, amount },
19167						[
19168							172u8, 131u8, 103u8, 81u8, 206u8, 2u8, 143u8, 114u8, 137u8, 60u8,
19169							147u8, 67u8, 226u8, 64u8, 71u8, 11u8, 36u8, 145u8, 51u8, 8u8, 0u8,
19170							110u8, 8u8, 195u8, 103u8, 205u8, 156u8, 43u8, 215u8, 12u8, 150u8,
19171							135u8,
19172						],
19173					)
19174				}
19175				#[doc = "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`."]
19176				#[doc = ""]
19177				#[doc = "Origin must be Signed and the sender should be the Manager of the asset `id`."]
19178				#[doc = ""]
19179				#[doc = "Bails with `NoAccount` if the `who` is already dead."]
19180				#[doc = ""]
19181				#[doc = "- `id`: The identifier of the asset to have some amount burned."]
19182				#[doc = "- `who`: The account to be debited from."]
19183				#[doc = "- `amount`: The maximum amount by which `who`'s balance should be reduced."]
19184				#[doc = ""]
19185				#[doc = "Emits `Burned` with the actual amount burned. If this takes the balance to below the"]
19186				#[doc = "minimum for the asset, then the amount burned is increased to take it to zero."]
19187				#[doc = ""]
19188				#[doc = "Weight: `O(1)`"]
19189				#[doc = "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`."]
19190				pub fn burn(
19191					&self,
19192					id: types::burn::Id,
19193					who: types::burn::Who,
19194					amount: types::burn::Amount,
19195				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Burn> {
19196					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19197						"Assets",
19198						"burn",
19199						types::Burn { id, who, amount },
19200						[
19201							105u8, 133u8, 82u8, 100u8, 124u8, 65u8, 174u8, 31u8, 152u8, 45u8, 23u8,
19202							200u8, 23u8, 199u8, 239u8, 8u8, 187u8, 142u8, 21u8, 192u8, 35u8, 211u8,
19203							172u8, 130u8, 169u8, 74u8, 167u8, 36u8, 149u8, 7u8, 19u8, 37u8,
19204						],
19205					)
19206				}
19207				#[doc = "Move some assets from the sender account to another."]
19208				#[doc = ""]
19209				#[doc = "Origin must be Signed."]
19210				#[doc = ""]
19211				#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
19212				#[doc = "- `target`: The account to be credited."]
19213				#[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"]
19214				#[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"]
19215				#[doc = "the case that the transfer would otherwise take the sender balance above zero but below"]
19216				#[doc = "the minimum balance. Must be greater than zero."]
19217				#[doc = ""]
19218				#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
19219				#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
19220				#[doc = "to zero."]
19221				#[doc = ""]
19222				#[doc = "Weight: `O(1)`"]
19223				#[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"]
19224				#[doc = "`target`."]
19225				pub fn transfer(
19226					&self,
19227					id: types::transfer::Id,
19228					target: types::transfer::Target,
19229					amount: types::transfer::Amount,
19230				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Transfer> {
19231					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19232						"Assets",
19233						"transfer",
19234						types::Transfer { id, target, amount },
19235						[
19236							126u8, 31u8, 70u8, 179u8, 222u8, 190u8, 12u8, 19u8, 94u8, 225u8, 217u8,
19237							109u8, 54u8, 69u8, 124u8, 61u8, 97u8, 199u8, 193u8, 166u8, 39u8, 143u8,
19238							125u8, 251u8, 87u8, 173u8, 149u8, 91u8, 182u8, 18u8, 184u8, 65u8,
19239						],
19240					)
19241				}
19242				#[doc = "Move some assets from the sender account to another, keeping the sender account alive."]
19243				#[doc = ""]
19244				#[doc = "Origin must be Signed."]
19245				#[doc = ""]
19246				#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
19247				#[doc = "- `target`: The account to be credited."]
19248				#[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"]
19249				#[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"]
19250				#[doc = "the case that the transfer would otherwise take the sender balance above zero but below"]
19251				#[doc = "the minimum balance. Must be greater than zero."]
19252				#[doc = ""]
19253				#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
19254				#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
19255				#[doc = "to zero."]
19256				#[doc = ""]
19257				#[doc = "Weight: `O(1)`"]
19258				#[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"]
19259				#[doc = "`target`."]
19260				pub fn transfer_keep_alive(
19261					&self,
19262					id: types::transfer_keep_alive::Id,
19263					target: types::transfer_keep_alive::Target,
19264					amount: types::transfer_keep_alive::Amount,
19265				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferKeepAlive>
19266				{
19267					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19268						"Assets",
19269						"transfer_keep_alive",
19270						types::TransferKeepAlive { id, target, amount },
19271						[
19272							99u8, 101u8, 219u8, 188u8, 238u8, 230u8, 141u8, 43u8, 38u8, 175u8,
19273							46u8, 89u8, 33u8, 23u8, 223u8, 115u8, 108u8, 18u8, 190u8, 213u8, 157u8,
19274							12u8, 139u8, 97u8, 7u8, 75u8, 196u8, 159u8, 122u8, 32u8, 164u8, 154u8,
19275						],
19276					)
19277				}
19278				#[doc = "Move some assets from one account to another."]
19279				#[doc = ""]
19280				#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
19281				#[doc = ""]
19282				#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
19283				#[doc = "- `source`: The account to be debited."]
19284				#[doc = "- `dest`: The account to be credited."]
19285				#[doc = "- `amount`: The amount by which the `source`'s balance of assets should be reduced and"]
19286				#[doc = "`dest`'s balance increased. The amount actually transferred may be slightly greater in"]
19287				#[doc = "the case that the transfer would otherwise take the `source` balance above zero but"]
19288				#[doc = "below the minimum balance. Must be greater than zero."]
19289				#[doc = ""]
19290				#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
19291				#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
19292				#[doc = "to zero."]
19293				#[doc = ""]
19294				#[doc = "Weight: `O(1)`"]
19295				#[doc = "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of"]
19296				#[doc = "`dest`."]
19297				pub fn force_transfer(
19298					&self,
19299					id: types::force_transfer::Id,
19300					source: types::force_transfer::Source,
19301					dest: types::force_transfer::Dest,
19302					amount: types::force_transfer::Amount,
19303				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceTransfer>
19304				{
19305					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19306						"Assets",
19307						"force_transfer",
19308						types::ForceTransfer { id, source, dest, amount },
19309						[
19310							10u8, 210u8, 8u8, 209u8, 8u8, 78u8, 40u8, 213u8, 235u8, 176u8, 144u8,
19311							145u8, 70u8, 13u8, 75u8, 72u8, 166u8, 137u8, 22u8, 191u8, 226u8, 244u8,
19312							92u8, 183u8, 129u8, 212u8, 158u8, 179u8, 169u8, 232u8, 177u8, 225u8,
19313						],
19314					)
19315				}
19316				#[doc = "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`"]
19317				#[doc = "must already exist as an entry in `Account`s of the asset. If you want to freeze an"]
19318				#[doc = "account that does not have an entry, use `touch_other` first."]
19319				#[doc = ""]
19320				#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
19321				#[doc = ""]
19322				#[doc = "- `id`: The identifier of the asset to be frozen."]
19323				#[doc = "- `who`: The account to be frozen."]
19324				#[doc = ""]
19325				#[doc = "Emits `Frozen`."]
19326				#[doc = ""]
19327				#[doc = "Weight: `O(1)`"]
19328				pub fn freeze(
19329					&self,
19330					id: types::freeze::Id,
19331					who: types::freeze::Who,
19332				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Freeze> {
19333					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19334						"Assets",
19335						"freeze",
19336						types::Freeze { id, who },
19337						[
19338							180u8, 124u8, 252u8, 66u8, 205u8, 23u8, 32u8, 217u8, 173u8, 10u8, 91u8,
19339							57u8, 44u8, 215u8, 234u8, 152u8, 115u8, 38u8, 141u8, 212u8, 57u8,
19340							217u8, 169u8, 61u8, 215u8, 130u8, 172u8, 58u8, 90u8, 193u8, 25u8,
19341							249u8,
19342						],
19343					)
19344				}
19345				#[doc = "Allow unprivileged transfers to and from an account again."]
19346				#[doc = ""]
19347				#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
19348				#[doc = ""]
19349				#[doc = "- `id`: The identifier of the asset to be frozen."]
19350				#[doc = "- `who`: The account to be unfrozen."]
19351				#[doc = ""]
19352				#[doc = "Emits `Thawed`."]
19353				#[doc = ""]
19354				#[doc = "Weight: `O(1)`"]
19355				pub fn thaw(
19356					&self,
19357					id: types::thaw::Id,
19358					who: types::thaw::Who,
19359				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Thaw> {
19360					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19361						"Assets",
19362						"thaw",
19363						types::Thaw { id, who },
19364						[
19365							187u8, 130u8, 9u8, 152u8, 231u8, 9u8, 245u8, 162u8, 115u8, 19u8, 73u8,
19366							176u8, 16u8, 230u8, 30u8, 60u8, 180u8, 183u8, 154u8, 160u8, 72u8,
19367							219u8, 116u8, 57u8, 140u8, 6u8, 105u8, 38u8, 98u8, 90u8, 250u8, 135u8,
19368						],
19369					)
19370				}
19371				#[doc = "Disallow further unprivileged transfers for the asset class."]
19372				#[doc = ""]
19373				#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
19374				#[doc = ""]
19375				#[doc = "- `id`: The identifier of the asset to be frozen."]
19376				#[doc = ""]
19377				#[doc = "Emits `Frozen`."]
19378				#[doc = ""]
19379				#[doc = "Weight: `O(1)`"]
19380				pub fn freeze_asset(
19381					&self,
19382					id: types::freeze_asset::Id,
19383				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::FreezeAsset> {
19384					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19385						"Assets",
19386						"freeze_asset",
19387						types::FreezeAsset { id },
19388						[
19389							75u8, 237u8, 183u8, 112u8, 112u8, 123u8, 250u8, 203u8, 169u8, 51u8,
19390							218u8, 35u8, 159u8, 23u8, 21u8, 10u8, 167u8, 84u8, 161u8, 212u8, 124u8,
19391							236u8, 88u8, 175u8, 48u8, 195u8, 33u8, 145u8, 141u8, 156u8, 31u8,
19392							250u8,
19393						],
19394					)
19395				}
19396				#[doc = "Allow unprivileged transfers for the asset again."]
19397				#[doc = ""]
19398				#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
19399				#[doc = ""]
19400				#[doc = "- `id`: The identifier of the asset to be thawed."]
19401				#[doc = ""]
19402				#[doc = "Emits `Thawed`."]
19403				#[doc = ""]
19404				#[doc = "Weight: `O(1)`"]
19405				pub fn thaw_asset(
19406					&self,
19407					id: types::thaw_asset::Id,
19408				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ThawAsset> {
19409					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19410						"Assets",
19411						"thaw_asset",
19412						types::ThawAsset { id },
19413						[
19414							151u8, 6u8, 170u8, 114u8, 55u8, 8u8, 5u8, 194u8, 251u8, 78u8, 232u8,
19415							181u8, 157u8, 62u8, 16u8, 39u8, 79u8, 119u8, 205u8, 198u8, 199u8, 26u8,
19416							92u8, 162u8, 169u8, 173u8, 93u8, 51u8, 7u8, 79u8, 198u8, 77u8,
19417						],
19418					)
19419				}
19420				#[doc = "Change the Owner of an asset."]
19421				#[doc = ""]
19422				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
19423				#[doc = ""]
19424				#[doc = "- `id`: The identifier of the asset."]
19425				#[doc = "- `owner`: The new Owner of this asset."]
19426				#[doc = ""]
19427				#[doc = "Emits `OwnerChanged`."]
19428				#[doc = ""]
19429				#[doc = "Weight: `O(1)`"]
19430				pub fn transfer_ownership(
19431					&self,
19432					id: types::transfer_ownership::Id,
19433					owner: types::transfer_ownership::Owner,
19434				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferOwnership>
19435				{
19436					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19437						"Assets",
19438						"transfer_ownership",
19439						types::TransferOwnership { id, owner },
19440						[
19441							65u8, 85u8, 40u8, 202u8, 212u8, 170u8, 130u8, 132u8, 140u8, 90u8, 68u8,
19442							28u8, 101u8, 154u8, 222u8, 150u8, 244u8, 165u8, 44u8, 22u8, 225u8,
19443							152u8, 7u8, 162u8, 110u8, 54u8, 173u8, 181u8, 54u8, 215u8, 105u8,
19444							239u8,
19445						],
19446					)
19447				}
19448				#[doc = "Change the Issuer, Admin and Freezer of an asset."]
19449				#[doc = ""]
19450				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
19451				#[doc = ""]
19452				#[doc = "- `id`: The identifier of the asset to be frozen."]
19453				#[doc = "- `issuer`: The new Issuer of this asset."]
19454				#[doc = "- `admin`: The new Admin of this asset."]
19455				#[doc = "- `freezer`: The new Freezer of this asset."]
19456				#[doc = ""]
19457				#[doc = "Emits `TeamChanged`."]
19458				#[doc = ""]
19459				#[doc = "Weight: `O(1)`"]
19460				pub fn set_team(
19461					&self,
19462					id: types::set_team::Id,
19463					issuer: types::set_team::Issuer,
19464					admin: types::set_team::Admin,
19465					freezer: types::set_team::Freezer,
19466				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetTeam> {
19467					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19468						"Assets",
19469						"set_team",
19470						types::SetTeam { id, issuer, admin, freezer },
19471						[
19472							52u8, 75u8, 50u8, 30u8, 164u8, 161u8, 121u8, 25u8, 135u8, 83u8, 115u8,
19473							25u8, 103u8, 1u8, 124u8, 206u8, 83u8, 182u8, 41u8, 116u8, 44u8, 37u8,
19474							75u8, 70u8, 252u8, 225u8, 240u8, 144u8, 96u8, 160u8, 151u8, 4u8,
19475						],
19476					)
19477				}
19478				#[doc = "Set the metadata for an asset."]
19479				#[doc = ""]
19480				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
19481				#[doc = ""]
19482				#[doc = "Funds of sender are reserved according to the formula:"]
19483				#[doc = "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into"]
19484				#[doc = "account any already reserved funds."]
19485				#[doc = ""]
19486				#[doc = "- `id`: The identifier of the asset to update."]
19487				#[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."]
19488				#[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."]
19489				#[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."]
19490				#[doc = ""]
19491				#[doc = "Emits `MetadataSet`."]
19492				#[doc = ""]
19493				#[doc = "Weight: `O(1)`"]
19494				pub fn set_metadata(
19495					&self,
19496					id: types::set_metadata::Id,
19497					name: types::set_metadata::Name,
19498					symbol: types::set_metadata::Symbol,
19499					decimals: types::set_metadata::Decimals,
19500				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetMetadata> {
19501					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19502						"Assets",
19503						"set_metadata",
19504						types::SetMetadata { id, name, symbol, decimals },
19505						[
19506							215u8, 66u8, 15u8, 17u8, 88u8, 174u8, 77u8, 75u8, 229u8, 155u8, 160u8,
19507							34u8, 108u8, 194u8, 88u8, 238u8, 131u8, 97u8, 234u8, 102u8, 71u8, 56u8,
19508							70u8, 248u8, 211u8, 85u8, 72u8, 92u8, 71u8, 222u8, 190u8, 91u8,
19509						],
19510					)
19511				}
19512				#[doc = "Clear the metadata for an asset."]
19513				#[doc = ""]
19514				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
19515				#[doc = ""]
19516				#[doc = "Any deposit is freed for the asset owner."]
19517				#[doc = ""]
19518				#[doc = "- `id`: The identifier of the asset to clear."]
19519				#[doc = ""]
19520				#[doc = "Emits `MetadataCleared`."]
19521				#[doc = ""]
19522				#[doc = "Weight: `O(1)`"]
19523				pub fn clear_metadata(
19524					&self,
19525					id: types::clear_metadata::Id,
19526				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ClearMetadata>
19527				{
19528					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19529						"Assets",
19530						"clear_metadata",
19531						types::ClearMetadata { id },
19532						[
19533							68u8, 172u8, 6u8, 158u8, 237u8, 254u8, 22u8, 4u8, 254u8, 157u8, 179u8,
19534							168u8, 105u8, 114u8, 56u8, 166u8, 213u8, 38u8, 188u8, 195u8, 99u8,
19535							43u8, 142u8, 220u8, 94u8, 248u8, 51u8, 226u8, 233u8, 114u8, 86u8, 93u8,
19536						],
19537					)
19538				}
19539				#[doc = "Force the metadata for an asset to some value."]
19540				#[doc = ""]
19541				#[doc = "Origin must be ForceOrigin."]
19542				#[doc = ""]
19543				#[doc = "Any deposit is left alone."]
19544				#[doc = ""]
19545				#[doc = "- `id`: The identifier of the asset to update."]
19546				#[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."]
19547				#[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."]
19548				#[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."]
19549				#[doc = ""]
19550				#[doc = "Emits `MetadataSet`."]
19551				#[doc = ""]
19552				#[doc = "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively."]
19553				pub fn force_set_metadata(
19554					&self,
19555					id: types::force_set_metadata::Id,
19556					name: types::force_set_metadata::Name,
19557					symbol: types::force_set_metadata::Symbol,
19558					decimals: types::force_set_metadata::Decimals,
19559					is_frozen: types::force_set_metadata::IsFrozen,
19560				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceSetMetadata>
19561				{
19562					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19563						"Assets",
19564						"force_set_metadata",
19565						types::ForceSetMetadata { id, name, symbol, decimals, is_frozen },
19566						[
19567							76u8, 90u8, 182u8, 13u8, 133u8, 248u8, 94u8, 136u8, 169u8, 114u8,
19568							151u8, 20u8, 106u8, 89u8, 78u8, 228u8, 22u8, 29u8, 68u8, 8u8, 54u8,
19569							47u8, 1u8, 186u8, 45u8, 167u8, 14u8, 112u8, 34u8, 43u8, 91u8, 140u8,
19570						],
19571					)
19572				}
19573				#[doc = "Clear the metadata for an asset."]
19574				#[doc = ""]
19575				#[doc = "Origin must be ForceOrigin."]
19576				#[doc = ""]
19577				#[doc = "Any deposit is returned."]
19578				#[doc = ""]
19579				#[doc = "- `id`: The identifier of the asset to clear."]
19580				#[doc = ""]
19581				#[doc = "Emits `MetadataCleared`."]
19582				#[doc = ""]
19583				#[doc = "Weight: `O(1)`"]
19584				pub fn force_clear_metadata(
19585					&self,
19586					id: types::force_clear_metadata::Id,
19587				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceClearMetadata>
19588				{
19589					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19590						"Assets",
19591						"force_clear_metadata",
19592						types::ForceClearMetadata { id },
19593						[
19594							2u8, 224u8, 84u8, 48u8, 130u8, 132u8, 79u8, 38u8, 217u8, 17u8, 165u8,
19595							139u8, 89u8, 53u8, 116u8, 184u8, 32u8, 91u8, 122u8, 39u8, 85u8, 40u8,
19596							213u8, 216u8, 135u8, 171u8, 50u8, 69u8, 202u8, 28u8, 166u8, 147u8,
19597						],
19598					)
19599				}
19600				#[doc = "Alter the attributes of a given asset."]
19601				#[doc = ""]
19602				#[doc = "Origin must be `ForceOrigin`."]
19603				#[doc = ""]
19604				#[doc = "- `id`: The identifier of the asset."]
19605				#[doc = "- `owner`: The new Owner of this asset."]
19606				#[doc = "- `issuer`: The new Issuer of this asset."]
19607				#[doc = "- `admin`: The new Admin of this asset."]
19608				#[doc = "- `freezer`: The new Freezer of this asset."]
19609				#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
19610				#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
19611				#[doc = "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient"]
19612				#[doc = "value to account for the state bloat associated with its balance storage. If set to"]
19613				#[doc = "`true`, then non-zero balances may be stored without a `consumer` reference (and thus"]
19614				#[doc = "an ED in the Balances pallet or whatever else is used to control user-account state"]
19615				#[doc = "growth)."]
19616				#[doc = "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin"]
19617				#[doc = "instructions."]
19618				#[doc = ""]
19619				#[doc = "Emits `AssetStatusChanged` with the identity of the asset."]
19620				#[doc = ""]
19621				#[doc = "Weight: `O(1)`"]
19622				pub fn force_asset_status(
19623					&self,
19624					id: types::force_asset_status::Id,
19625					owner: types::force_asset_status::Owner,
19626					issuer: types::force_asset_status::Issuer,
19627					admin: types::force_asset_status::Admin,
19628					freezer: types::force_asset_status::Freezer,
19629					min_balance: types::force_asset_status::MinBalance,
19630					is_sufficient: types::force_asset_status::IsSufficient,
19631					is_frozen: types::force_asset_status::IsFrozen,
19632				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceAssetStatus>
19633				{
19634					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19635						"Assets",
19636						"force_asset_status",
19637						types::ForceAssetStatus {
19638							id,
19639							owner,
19640							issuer,
19641							admin,
19642							freezer,
19643							min_balance,
19644							is_sufficient,
19645							is_frozen,
19646						},
19647						[
19648							149u8, 136u8, 250u8, 33u8, 53u8, 220u8, 207u8, 187u8, 42u8, 118u8,
19649							93u8, 173u8, 100u8, 243u8, 234u8, 207u8, 88u8, 45u8, 79u8, 221u8,
19650							113u8, 166u8, 229u8, 171u8, 223u8, 126u8, 20u8, 67u8, 19u8, 77u8, 44u8,
19651							19u8,
19652						],
19653					)
19654				}
19655				#[doc = "Approve an amount of asset for transfer by a delegated third-party account."]
19656				#[doc = ""]
19657				#[doc = "Origin must be Signed."]
19658				#[doc = ""]
19659				#[doc = "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account"]
19660				#[doc = "for the purpose of holding the approval. If some non-zero amount of assets is already"]
19661				#[doc = "approved from signing account to `delegate`, then it is topped up or unreserved to"]
19662				#[doc = "meet the right value."]
19663				#[doc = ""]
19664				#[doc = "NOTE: The signing account does not need to own `amount` of assets at the point of"]
19665				#[doc = "making this call."]
19666				#[doc = ""]
19667				#[doc = "- `id`: The identifier of the asset."]
19668				#[doc = "- `delegate`: The account to delegate permission to transfer asset."]
19669				#[doc = "- `amount`: The amount of asset that may be transferred by `delegate`. If there is"]
19670				#[doc = "already an approval in place, then this acts additively."]
19671				#[doc = ""]
19672				#[doc = "Emits `ApprovedTransfer` on success."]
19673				#[doc = ""]
19674				#[doc = "Weight: `O(1)`"]
19675				pub fn approve_transfer(
19676					&self,
19677					id: types::approve_transfer::Id,
19678					delegate: types::approve_transfer::Delegate,
19679					amount: types::approve_transfer::Amount,
19680				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ApproveTransfer>
19681				{
19682					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19683						"Assets",
19684						"approve_transfer",
19685						types::ApproveTransfer { id, delegate, amount },
19686						[
19687							39u8, 227u8, 23u8, 143u8, 10u8, 120u8, 227u8, 1u8, 223u8, 78u8, 40u8,
19688							213u8, 249u8, 175u8, 170u8, 183u8, 10u8, 244u8, 117u8, 111u8, 140u8,
19689							157u8, 153u8, 212u8, 94u8, 119u8, 213u8, 44u8, 41u8, 8u8, 114u8, 200u8,
19690						],
19691					)
19692				}
19693				#[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."]
19694				#[doc = ""]
19695				#[doc = "Origin must be Signed and there must be an approval in place between signer and"]
19696				#[doc = "`delegate`."]
19697				#[doc = ""]
19698				#[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."]
19699				#[doc = ""]
19700				#[doc = "- `id`: The identifier of the asset."]
19701				#[doc = "- `delegate`: The account delegated permission to transfer asset."]
19702				#[doc = ""]
19703				#[doc = "Emits `ApprovalCancelled` on success."]
19704				#[doc = ""]
19705				#[doc = "Weight: `O(1)`"]
19706				pub fn cancel_approval(
19707					&self,
19708					id: types::cancel_approval::Id,
19709					delegate: types::cancel_approval::Delegate,
19710				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CancelApproval>
19711				{
19712					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19713						"Assets",
19714						"cancel_approval",
19715						types::CancelApproval { id, delegate },
19716						[
19717							74u8, 117u8, 101u8, 78u8, 152u8, 208u8, 16u8, 102u8, 34u8, 195u8, 61u8,
19718							36u8, 85u8, 91u8, 253u8, 182u8, 61u8, 199u8, 12u8, 102u8, 149u8, 20u8,
19719							238u8, 207u8, 236u8, 50u8, 63u8, 249u8, 34u8, 85u8, 88u8, 229u8,
19720						],
19721					)
19722				}
19723				#[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."]
19724				#[doc = ""]
19725				#[doc = "Origin must be either ForceOrigin or Signed origin with the signer being the Admin"]
19726				#[doc = "account of the asset `id`."]
19727				#[doc = ""]
19728				#[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."]
19729				#[doc = ""]
19730				#[doc = "- `id`: The identifier of the asset."]
19731				#[doc = "- `delegate`: The account delegated permission to transfer asset."]
19732				#[doc = ""]
19733				#[doc = "Emits `ApprovalCancelled` on success."]
19734				#[doc = ""]
19735				#[doc = "Weight: `O(1)`"]
19736				pub fn force_cancel_approval(
19737					&self,
19738					id: types::force_cancel_approval::Id,
19739					owner: types::force_cancel_approval::Owner,
19740					delegate: types::force_cancel_approval::Delegate,
19741				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceCancelApproval>
19742				{
19743					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19744						"Assets",
19745						"force_cancel_approval",
19746						types::ForceCancelApproval { id, owner, delegate },
19747						[
19748							27u8, 231u8, 85u8, 241u8, 18u8, 151u8, 64u8, 234u8, 11u8, 84u8, 252u8,
19749							128u8, 44u8, 247u8, 132u8, 82u8, 34u8, 210u8, 202u8, 50u8, 158u8, 45u8,
19750							239u8, 192u8, 7u8, 24u8, 39u8, 95u8, 57u8, 21u8, 178u8, 113u8,
19751						],
19752					)
19753				}
19754				#[doc = "Transfer some asset balance from a previously delegated account to some third-party"]
19755				#[doc = "account."]
19756				#[doc = ""]
19757				#[doc = "Origin must be Signed and there must be an approval in place by the `owner` to the"]
19758				#[doc = "signer."]
19759				#[doc = ""]
19760				#[doc = "If the entire amount approved for transfer is transferred, then any deposit previously"]
19761				#[doc = "reserved by `approve_transfer` is unreserved."]
19762				#[doc = ""]
19763				#[doc = "- `id`: The identifier of the asset."]
19764				#[doc = "- `owner`: The account which previously approved for a transfer of at least `amount` and"]
19765				#[doc = "from which the asset balance will be withdrawn."]
19766				#[doc = "- `destination`: The account to which the asset balance of `amount` will be transferred."]
19767				#[doc = "- `amount`: The amount of assets to transfer."]
19768				#[doc = ""]
19769				#[doc = "Emits `TransferredApproved` on success."]
19770				#[doc = ""]
19771				#[doc = "Weight: `O(1)`"]
19772				pub fn transfer_approved(
19773					&self,
19774					id: types::transfer_approved::Id,
19775					owner: types::transfer_approved::Owner,
19776					destination: types::transfer_approved::Destination,
19777					amount: types::transfer_approved::Amount,
19778				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferApproved>
19779				{
19780					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19781						"Assets",
19782						"transfer_approved",
19783						types::TransferApproved { id, owner, destination, amount },
19784						[
19785							214u8, 51u8, 243u8, 129u8, 116u8, 233u8, 199u8, 183u8, 25u8, 5u8,
19786							109u8, 85u8, 255u8, 68u8, 36u8, 99u8, 99u8, 179u8, 34u8, 66u8, 65u8,
19787							82u8, 189u8, 174u8, 22u8, 100u8, 211u8, 13u8, 178u8, 19u8, 128u8,
19788							177u8,
19789						],
19790					)
19791				}
19792				#[doc = "Create an asset account for non-provider assets."]
19793				#[doc = ""]
19794				#[doc = "A deposit will be taken from the signer account."]
19795				#[doc = ""]
19796				#[doc = "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit"]
19797				#[doc = "  to be taken."]
19798				#[doc = "- `id`: The identifier of the asset for the account to be created."]
19799				#[doc = ""]
19800				#[doc = "Emits `Touched` event when successful."]
19801				pub fn touch(
19802					&self,
19803					id: types::touch::Id,
19804				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Touch> {
19805					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19806						"Assets",
19807						"touch",
19808						types::Touch { id },
19809						[
19810							50u8, 185u8, 46u8, 134u8, 136u8, 31u8, 191u8, 34u8, 215u8, 150u8, 73u8,
19811							103u8, 140u8, 36u8, 95u8, 156u8, 201u8, 152u8, 32u8, 165u8, 47u8, 86u8,
19812							163u8, 255u8, 8u8, 251u8, 176u8, 138u8, 165u8, 48u8, 12u8, 27u8,
19813						],
19814					)
19815				}
19816				#[doc = "Return the deposit (if any) of an asset account or a consumer reference (if any) of an"]
19817				#[doc = "account."]
19818				#[doc = ""]
19819				#[doc = "The origin must be Signed."]
19820				#[doc = ""]
19821				#[doc = "- `id`: The identifier of the asset for which the caller would like the deposit"]
19822				#[doc = "  refunded."]
19823				#[doc = "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund."]
19824				#[doc = ""]
19825				#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
19826				#[doc = "the asset account contains holds or freezes in place."]
19827				#[doc = ""]
19828				#[doc = "Emits `Refunded` event when successful."]
19829				pub fn refund(
19830					&self,
19831					id: types::refund::Id,
19832					allow_burn: types::refund::AllowBurn,
19833				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Refund> {
19834					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19835						"Assets",
19836						"refund",
19837						types::Refund { id, allow_burn },
19838						[
19839							218u8, 207u8, 8u8, 41u8, 154u8, 250u8, 117u8, 174u8, 143u8, 133u8,
19840							34u8, 113u8, 171u8, 18u8, 177u8, 227u8, 146u8, 92u8, 12u8, 226u8,
19841							101u8, 230u8, 246u8, 162u8, 32u8, 73u8, 138u8, 158u8, 95u8, 226u8,
19842							75u8, 95u8,
19843						],
19844					)
19845				}
19846				#[doc = "Sets the minimum balance of an asset."]
19847				#[doc = ""]
19848				#[doc = "Only works if there aren't any accounts that are holding the asset or if"]
19849				#[doc = "the new value of `min_balance` is less than the old one."]
19850				#[doc = ""]
19851				#[doc = "Origin must be Signed and the sender has to be the Owner of the"]
19852				#[doc = "asset `id`."]
19853				#[doc = ""]
19854				#[doc = "- `id`: The identifier of the asset."]
19855				#[doc = "- `min_balance`: The new value of `min_balance`."]
19856				#[doc = ""]
19857				#[doc = "Emits `AssetMinBalanceChanged` event when successful."]
19858				pub fn set_min_balance(
19859					&self,
19860					id: types::set_min_balance::Id,
19861					min_balance: types::set_min_balance::MinBalance,
19862				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetMinBalance>
19863				{
19864					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19865						"Assets",
19866						"set_min_balance",
19867						types::SetMinBalance { id, min_balance },
19868						[
19869							141u8, 241u8, 137u8, 50u8, 232u8, 122u8, 252u8, 104u8, 185u8, 170u8,
19870							246u8, 0u8, 20u8, 128u8, 136u8, 155u8, 62u8, 243u8, 4u8, 221u8, 42u8,
19871							225u8, 16u8, 245u8, 58u8, 127u8, 84u8, 193u8, 175u8, 165u8, 35u8, 49u8,
19872						],
19873					)
19874				}
19875				#[doc = "Create an asset account for `who`."]
19876				#[doc = ""]
19877				#[doc = "A deposit will be taken from the signer account."]
19878				#[doc = ""]
19879				#[doc = "- `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account"]
19880				#[doc = "  must have sufficient funds for a deposit to be taken."]
19881				#[doc = "- `id`: The identifier of the asset for the account to be created."]
19882				#[doc = "- `who`: The account to be created."]
19883				#[doc = ""]
19884				#[doc = "Emits `Touched` event when successful."]
19885				pub fn touch_other(
19886					&self,
19887					id: types::touch_other::Id,
19888					who: types::touch_other::Who,
19889				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TouchOther> {
19890					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19891						"Assets",
19892						"touch_other",
19893						types::TouchOther { id, who },
19894						[
19895							104u8, 85u8, 80u8, 68u8, 135u8, 149u8, 102u8, 104u8, 188u8, 79u8, 42u8,
19896							34u8, 241u8, 84u8, 183u8, 176u8, 215u8, 172u8, 78u8, 196u8, 206u8,
19897							214u8, 138u8, 240u8, 92u8, 65u8, 117u8, 170u8, 140u8, 120u8, 50u8,
19898							166u8,
19899						],
19900					)
19901				}
19902				#[doc = "Return the deposit (if any) of a target asset account. Useful if you are the depositor."]
19903				#[doc = ""]
19904				#[doc = "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In"]
19905				#[doc = "order to burn a non-zero balance of the asset, the caller must be the account and should"]
19906				#[doc = "use `refund`."]
19907				#[doc = ""]
19908				#[doc = "- `id`: The identifier of the asset for the account holding a deposit."]
19909				#[doc = "- `who`: The account to refund."]
19910				#[doc = ""]
19911				#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
19912				#[doc = "the asset account contains holds or freezes in place."]
19913				#[doc = ""]
19914				#[doc = "Emits `Refunded` event when successful."]
19915				pub fn refund_other(
19916					&self,
19917					id: types::refund_other::Id,
19918					who: types::refund_other::Who,
19919				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RefundOther> {
19920					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19921						"Assets",
19922						"refund_other",
19923						types::RefundOther { id, who },
19924						[
19925							113u8, 58u8, 33u8, 109u8, 233u8, 229u8, 210u8, 40u8, 176u8, 252u8,
19926							131u8, 80u8, 33u8, 132u8, 19u8, 170u8, 145u8, 146u8, 246u8, 31u8,
19927							222u8, 120u8, 167u8, 187u8, 8u8, 144u8, 164u8, 251u8, 52u8, 249u8,
19928							91u8, 136u8,
19929						],
19930					)
19931				}
19932				#[doc = "Disallow further unprivileged transfers of an asset `id` to and from an account `who`."]
19933				#[doc = ""]
19934				#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
19935				#[doc = ""]
19936				#[doc = "- `id`: The identifier of the account's asset."]
19937				#[doc = "- `who`: The account to be unblocked."]
19938				#[doc = ""]
19939				#[doc = "Emits `Blocked`."]
19940				#[doc = ""]
19941				#[doc = "Weight: `O(1)`"]
19942				pub fn block(
19943					&self,
19944					id: types::block::Id,
19945					who: types::block::Who,
19946				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Block> {
19947					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19948						"Assets",
19949						"block",
19950						types::Block { id, who },
19951						[
19952							224u8, 63u8, 26u8, 229u8, 23u8, 164u8, 212u8, 170u8, 156u8, 104u8,
19953							63u8, 158u8, 53u8, 162u8, 157u8, 127u8, 183u8, 94u8, 211u8, 123u8,
19954							228u8, 198u8, 47u8, 80u8, 53u8, 122u8, 46u8, 69u8, 67u8, 170u8, 193u8,
19955							33u8,
19956						],
19957					)
19958				}
19959				#[doc = "Transfer the entire transferable balance from the caller asset account."]
19960				#[doc = ""]
19961				#[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"]
19962				#[doc = "any held, frozen, or minimum balance (when `keep_alive` is `true`), will not be"]
19963				#[doc = "transferred by this function. To ensure that this function results in a killed account,"]
19964				#[doc = "you might need to prepare the account by removing any reference counters, storage"]
19965				#[doc = "deposits, etc..."]
19966				#[doc = ""]
19967				#[doc = "The dispatch origin of this call must be Signed."]
19968				#[doc = ""]
19969				#[doc = "- `id`: The identifier of the asset for the account holding a deposit."]
19970				#[doc = "- `dest`: The recipient of the transfer."]
19971				#[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"]
19972				#[doc = "  of the funds the asset account has, causing the sender asset account to be killed"]
19973				#[doc = "  (false), or transfer everything except at least the minimum balance, which will"]
19974				#[doc = "  guarantee to keep the sender asset account alive (true)."]
19975				pub fn transfer_all(
19976					&self,
19977					id: types::transfer_all::Id,
19978					dest: types::transfer_all::Dest,
19979					keep_alive: types::transfer_all::KeepAlive,
19980				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferAll> {
19981					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19982						"Assets",
19983						"transfer_all",
19984						types::TransferAll { id, dest, keep_alive },
19985						[
19986							180u8, 161u8, 252u8, 127u8, 200u8, 117u8, 245u8, 213u8, 170u8, 169u8,
19987							178u8, 115u8, 156u8, 8u8, 79u8, 50u8, 168u8, 229u8, 87u8, 33u8, 238u8,
19988							124u8, 13u8, 210u8, 81u8, 132u8, 236u8, 46u8, 101u8, 18u8, 22u8, 61u8,
19989						],
19990					)
19991				}
19992			}
19993		}
19994		#[doc = "The `Event` enum of this pallet"]
19995		pub type Event = runtime_types::pallet_assets::pallet::Event;
19996		pub mod events {
19997			use super::runtime_types;
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(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20004			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20005			#[doc = "Some asset class was created."]
20006			pub struct Created {
20007				pub asset_id: created::AssetId,
20008				pub creator: created::Creator,
20009				pub owner: created::Owner,
20010			}
20011			pub mod created {
20012				use super::runtime_types;
20013				pub type AssetId = ::core::primitive::u32;
20014				pub type Creator = ::subxt::ext::subxt_core::utils::AccountId32;
20015				pub type Owner = ::subxt::ext::subxt_core::utils::AccountId32;
20016			}
20017			impl ::subxt::ext::subxt_core::events::StaticEvent for Created {
20018				const PALLET: &'static str = "Assets";
20019				const EVENT: &'static str = "Created";
20020			}
20021			#[derive(
20022				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20023				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20024				Debug,
20025			)]
20026			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20027			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20028			#[doc = "Some assets were issued."]
20029			pub struct Issued {
20030				pub asset_id: issued::AssetId,
20031				pub owner: issued::Owner,
20032				pub amount: issued::Amount,
20033			}
20034			pub mod issued {
20035				use super::runtime_types;
20036				pub type AssetId = ::core::primitive::u32;
20037				pub type Owner = ::subxt::ext::subxt_core::utils::AccountId32;
20038				pub type Amount = ::core::primitive::u128;
20039			}
20040			impl ::subxt::ext::subxt_core::events::StaticEvent for Issued {
20041				const PALLET: &'static str = "Assets";
20042				const EVENT: &'static str = "Issued";
20043			}
20044			#[derive(
20045				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20046				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20047				Debug,
20048			)]
20049			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20050			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20051			#[doc = "Some assets were transferred."]
20052			pub struct Transferred {
20053				pub asset_id: transferred::AssetId,
20054				pub from: transferred::From,
20055				pub to: transferred::To,
20056				pub amount: transferred::Amount,
20057			}
20058			pub mod transferred {
20059				use super::runtime_types;
20060				pub type AssetId = ::core::primitive::u32;
20061				pub type From = ::subxt::ext::subxt_core::utils::AccountId32;
20062				pub type To = ::subxt::ext::subxt_core::utils::AccountId32;
20063				pub type Amount = ::core::primitive::u128;
20064			}
20065			impl ::subxt::ext::subxt_core::events::StaticEvent for Transferred {
20066				const PALLET: &'static str = "Assets";
20067				const EVENT: &'static str = "Transferred";
20068			}
20069			#[derive(
20070				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20071				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20072				Debug,
20073			)]
20074			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20075			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20076			#[doc = "Some assets were destroyed."]
20077			pub struct Burned {
20078				pub asset_id: burned::AssetId,
20079				pub owner: burned::Owner,
20080				pub balance: burned::Balance,
20081			}
20082			pub mod burned {
20083				use super::runtime_types;
20084				pub type AssetId = ::core::primitive::u32;
20085				pub type Owner = ::subxt::ext::subxt_core::utils::AccountId32;
20086				pub type Balance = ::core::primitive::u128;
20087			}
20088			impl ::subxt::ext::subxt_core::events::StaticEvent for Burned {
20089				const PALLET: &'static str = "Assets";
20090				const EVENT: &'static str = "Burned";
20091			}
20092			#[derive(
20093				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20094				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20095				Debug,
20096			)]
20097			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20098			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20099			#[doc = "The management team changed."]
20100			pub struct TeamChanged {
20101				pub asset_id: team_changed::AssetId,
20102				pub issuer: team_changed::Issuer,
20103				pub admin: team_changed::Admin,
20104				pub freezer: team_changed::Freezer,
20105			}
20106			pub mod team_changed {
20107				use super::runtime_types;
20108				pub type AssetId = ::core::primitive::u32;
20109				pub type Issuer = ::subxt::ext::subxt_core::utils::AccountId32;
20110				pub type Admin = ::subxt::ext::subxt_core::utils::AccountId32;
20111				pub type Freezer = ::subxt::ext::subxt_core::utils::AccountId32;
20112			}
20113			impl ::subxt::ext::subxt_core::events::StaticEvent for TeamChanged {
20114				const PALLET: &'static str = "Assets";
20115				const EVENT: &'static str = "TeamChanged";
20116			}
20117			#[derive(
20118				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20119				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20120				Debug,
20121			)]
20122			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20123			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20124			#[doc = "The owner changed."]
20125			pub struct OwnerChanged {
20126				pub asset_id: owner_changed::AssetId,
20127				pub owner: owner_changed::Owner,
20128			}
20129			pub mod owner_changed {
20130				use super::runtime_types;
20131				pub type AssetId = ::core::primitive::u32;
20132				pub type Owner = ::subxt::ext::subxt_core::utils::AccountId32;
20133			}
20134			impl ::subxt::ext::subxt_core::events::StaticEvent for OwnerChanged {
20135				const PALLET: &'static str = "Assets";
20136				const EVENT: &'static str = "OwnerChanged";
20137			}
20138			#[derive(
20139				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20140				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20141				Debug,
20142			)]
20143			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20144			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20145			#[doc = "Some account `who` was frozen."]
20146			pub struct Frozen {
20147				pub asset_id: frozen::AssetId,
20148				pub who: frozen::Who,
20149			}
20150			pub mod frozen {
20151				use super::runtime_types;
20152				pub type AssetId = ::core::primitive::u32;
20153				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
20154			}
20155			impl ::subxt::ext::subxt_core::events::StaticEvent for Frozen {
20156				const PALLET: &'static str = "Assets";
20157				const EVENT: &'static str = "Frozen";
20158			}
20159			#[derive(
20160				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20161				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20162				Debug,
20163			)]
20164			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20165			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20166			#[doc = "Some account `who` was thawed."]
20167			pub struct Thawed {
20168				pub asset_id: thawed::AssetId,
20169				pub who: thawed::Who,
20170			}
20171			pub mod thawed {
20172				use super::runtime_types;
20173				pub type AssetId = ::core::primitive::u32;
20174				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
20175			}
20176			impl ::subxt::ext::subxt_core::events::StaticEvent for Thawed {
20177				const PALLET: &'static str = "Assets";
20178				const EVENT: &'static str = "Thawed";
20179			}
20180			#[derive(
20181				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20182				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20183				Debug,
20184			)]
20185			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20186			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20187			#[doc = "Some asset `asset_id` was frozen."]
20188			pub struct AssetFrozen {
20189				pub asset_id: asset_frozen::AssetId,
20190			}
20191			pub mod asset_frozen {
20192				use super::runtime_types;
20193				pub type AssetId = ::core::primitive::u32;
20194			}
20195			impl ::subxt::ext::subxt_core::events::StaticEvent for AssetFrozen {
20196				const PALLET: &'static str = "Assets";
20197				const EVENT: &'static str = "AssetFrozen";
20198			}
20199			#[derive(
20200				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20201				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20202				Debug,
20203			)]
20204			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20205			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20206			#[doc = "Some asset `asset_id` was thawed."]
20207			pub struct AssetThawed {
20208				pub asset_id: asset_thawed::AssetId,
20209			}
20210			pub mod asset_thawed {
20211				use super::runtime_types;
20212				pub type AssetId = ::core::primitive::u32;
20213			}
20214			impl ::subxt::ext::subxt_core::events::StaticEvent for AssetThawed {
20215				const PALLET: &'static str = "Assets";
20216				const EVENT: &'static str = "AssetThawed";
20217			}
20218			#[derive(
20219				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20220				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20221				Debug,
20222			)]
20223			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20224			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20225			#[doc = "Accounts were destroyed for given asset."]
20226			pub struct AccountsDestroyed {
20227				pub asset_id: accounts_destroyed::AssetId,
20228				pub accounts_destroyed: accounts_destroyed::AccountsDestroyed,
20229				pub accounts_remaining: accounts_destroyed::AccountsRemaining,
20230			}
20231			pub mod accounts_destroyed {
20232				use super::runtime_types;
20233				pub type AssetId = ::core::primitive::u32;
20234				pub type AccountsDestroyed = ::core::primitive::u32;
20235				pub type AccountsRemaining = ::core::primitive::u32;
20236			}
20237			impl ::subxt::ext::subxt_core::events::StaticEvent for AccountsDestroyed {
20238				const PALLET: &'static str = "Assets";
20239				const EVENT: &'static str = "AccountsDestroyed";
20240			}
20241			#[derive(
20242				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20243				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20244				Debug,
20245			)]
20246			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20247			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20248			#[doc = "Approvals were destroyed for given asset."]
20249			pub struct ApprovalsDestroyed {
20250				pub asset_id: approvals_destroyed::AssetId,
20251				pub approvals_destroyed: approvals_destroyed::ApprovalsDestroyed,
20252				pub approvals_remaining: approvals_destroyed::ApprovalsRemaining,
20253			}
20254			pub mod approvals_destroyed {
20255				use super::runtime_types;
20256				pub type AssetId = ::core::primitive::u32;
20257				pub type ApprovalsDestroyed = ::core::primitive::u32;
20258				pub type ApprovalsRemaining = ::core::primitive::u32;
20259			}
20260			impl ::subxt::ext::subxt_core::events::StaticEvent for ApprovalsDestroyed {
20261				const PALLET: &'static str = "Assets";
20262				const EVENT: &'static str = "ApprovalsDestroyed";
20263			}
20264			#[derive(
20265				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20266				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20267				Debug,
20268			)]
20269			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20270			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20271			#[doc = "An asset class is in the process of being destroyed."]
20272			pub struct DestructionStarted {
20273				pub asset_id: destruction_started::AssetId,
20274			}
20275			pub mod destruction_started {
20276				use super::runtime_types;
20277				pub type AssetId = ::core::primitive::u32;
20278			}
20279			impl ::subxt::ext::subxt_core::events::StaticEvent for DestructionStarted {
20280				const PALLET: &'static str = "Assets";
20281				const EVENT: &'static str = "DestructionStarted";
20282			}
20283			#[derive(
20284				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20285				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20286				Debug,
20287			)]
20288			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20289			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20290			#[doc = "An asset class was destroyed."]
20291			pub struct Destroyed {
20292				pub asset_id: destroyed::AssetId,
20293			}
20294			pub mod destroyed {
20295				use super::runtime_types;
20296				pub type AssetId = ::core::primitive::u32;
20297			}
20298			impl ::subxt::ext::subxt_core::events::StaticEvent for Destroyed {
20299				const PALLET: &'static str = "Assets";
20300				const EVENT: &'static str = "Destroyed";
20301			}
20302			#[derive(
20303				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20304				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20305				Debug,
20306			)]
20307			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20308			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20309			#[doc = "Some asset class was force-created."]
20310			pub struct ForceCreated {
20311				pub asset_id: force_created::AssetId,
20312				pub owner: force_created::Owner,
20313			}
20314			pub mod force_created {
20315				use super::runtime_types;
20316				pub type AssetId = ::core::primitive::u32;
20317				pub type Owner = ::subxt::ext::subxt_core::utils::AccountId32;
20318			}
20319			impl ::subxt::ext::subxt_core::events::StaticEvent for ForceCreated {
20320				const PALLET: &'static str = "Assets";
20321				const EVENT: &'static str = "ForceCreated";
20322			}
20323			#[derive(
20324				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20325				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20326				Debug,
20327			)]
20328			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20329			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20330			#[doc = "New metadata has been set for an asset."]
20331			pub struct MetadataSet {
20332				pub asset_id: metadata_set::AssetId,
20333				pub name: metadata_set::Name,
20334				pub symbol: metadata_set::Symbol,
20335				pub decimals: metadata_set::Decimals,
20336				pub is_frozen: metadata_set::IsFrozen,
20337			}
20338			pub mod metadata_set {
20339				use super::runtime_types;
20340				pub type AssetId = ::core::primitive::u32;
20341				pub type Name = ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
20342				pub type Symbol = ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
20343				pub type Decimals = ::core::primitive::u8;
20344				pub type IsFrozen = ::core::primitive::bool;
20345			}
20346			impl ::subxt::ext::subxt_core::events::StaticEvent for MetadataSet {
20347				const PALLET: &'static str = "Assets";
20348				const EVENT: &'static str = "MetadataSet";
20349			}
20350			#[derive(
20351				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20352				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20353				Debug,
20354			)]
20355			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20356			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20357			#[doc = "Metadata has been cleared for an asset."]
20358			pub struct MetadataCleared {
20359				pub asset_id: metadata_cleared::AssetId,
20360			}
20361			pub mod metadata_cleared {
20362				use super::runtime_types;
20363				pub type AssetId = ::core::primitive::u32;
20364			}
20365			impl ::subxt::ext::subxt_core::events::StaticEvent for MetadataCleared {
20366				const PALLET: &'static str = "Assets";
20367				const EVENT: &'static str = "MetadataCleared";
20368			}
20369			#[derive(
20370				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20371				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20372				Debug,
20373			)]
20374			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20375			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20376			#[doc = "(Additional) funds have been approved for transfer to a destination account."]
20377			pub struct ApprovedTransfer {
20378				pub asset_id: approved_transfer::AssetId,
20379				pub source: approved_transfer::Source,
20380				pub delegate: approved_transfer::Delegate,
20381				pub amount: approved_transfer::Amount,
20382			}
20383			pub mod approved_transfer {
20384				use super::runtime_types;
20385				pub type AssetId = ::core::primitive::u32;
20386				pub type Source = ::subxt::ext::subxt_core::utils::AccountId32;
20387				pub type Delegate = ::subxt::ext::subxt_core::utils::AccountId32;
20388				pub type Amount = ::core::primitive::u128;
20389			}
20390			impl ::subxt::ext::subxt_core::events::StaticEvent for ApprovedTransfer {
20391				const PALLET: &'static str = "Assets";
20392				const EVENT: &'static str = "ApprovedTransfer";
20393			}
20394			#[derive(
20395				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20396				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20397				Debug,
20398			)]
20399			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20400			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20401			#[doc = "An approval for account `delegate` was cancelled by `owner`."]
20402			pub struct ApprovalCancelled {
20403				pub asset_id: approval_cancelled::AssetId,
20404				pub owner: approval_cancelled::Owner,
20405				pub delegate: approval_cancelled::Delegate,
20406			}
20407			pub mod approval_cancelled {
20408				use super::runtime_types;
20409				pub type AssetId = ::core::primitive::u32;
20410				pub type Owner = ::subxt::ext::subxt_core::utils::AccountId32;
20411				pub type Delegate = ::subxt::ext::subxt_core::utils::AccountId32;
20412			}
20413			impl ::subxt::ext::subxt_core::events::StaticEvent for ApprovalCancelled {
20414				const PALLET: &'static str = "Assets";
20415				const EVENT: &'static str = "ApprovalCancelled";
20416			}
20417			#[derive(
20418				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20419				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20420				Debug,
20421			)]
20422			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20423			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20424			#[doc = "An `amount` was transferred in its entirety from `owner` to `destination` by"]
20425			#[doc = "the approved `delegate`."]
20426			pub struct TransferredApproved {
20427				pub asset_id: transferred_approved::AssetId,
20428				pub owner: transferred_approved::Owner,
20429				pub delegate: transferred_approved::Delegate,
20430				pub destination: transferred_approved::Destination,
20431				pub amount: transferred_approved::Amount,
20432			}
20433			pub mod transferred_approved {
20434				use super::runtime_types;
20435				pub type AssetId = ::core::primitive::u32;
20436				pub type Owner = ::subxt::ext::subxt_core::utils::AccountId32;
20437				pub type Delegate = ::subxt::ext::subxt_core::utils::AccountId32;
20438				pub type Destination = ::subxt::ext::subxt_core::utils::AccountId32;
20439				pub type Amount = ::core::primitive::u128;
20440			}
20441			impl ::subxt::ext::subxt_core::events::StaticEvent for TransferredApproved {
20442				const PALLET: &'static str = "Assets";
20443				const EVENT: &'static str = "TransferredApproved";
20444			}
20445			#[derive(
20446				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20447				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20448				Debug,
20449			)]
20450			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20451			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20452			#[doc = "An asset has had its attributes changed by the `Force` origin."]
20453			pub struct AssetStatusChanged {
20454				pub asset_id: asset_status_changed::AssetId,
20455			}
20456			pub mod asset_status_changed {
20457				use super::runtime_types;
20458				pub type AssetId = ::core::primitive::u32;
20459			}
20460			impl ::subxt::ext::subxt_core::events::StaticEvent for AssetStatusChanged {
20461				const PALLET: &'static str = "Assets";
20462				const EVENT: &'static str = "AssetStatusChanged";
20463			}
20464			#[derive(
20465				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20466				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20467				Debug,
20468			)]
20469			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20470			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20471			#[doc = "The min_balance of an asset has been updated by the asset owner."]
20472			pub struct AssetMinBalanceChanged {
20473				pub asset_id: asset_min_balance_changed::AssetId,
20474				pub new_min_balance: asset_min_balance_changed::NewMinBalance,
20475			}
20476			pub mod asset_min_balance_changed {
20477				use super::runtime_types;
20478				pub type AssetId = ::core::primitive::u32;
20479				pub type NewMinBalance = ::core::primitive::u128;
20480			}
20481			impl ::subxt::ext::subxt_core::events::StaticEvent for AssetMinBalanceChanged {
20482				const PALLET: &'static str = "Assets";
20483				const EVENT: &'static str = "AssetMinBalanceChanged";
20484			}
20485			#[derive(
20486				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20487				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20488				Debug,
20489			)]
20490			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20491			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20492			#[doc = "Some account `who` was created with a deposit from `depositor`."]
20493			pub struct Touched {
20494				pub asset_id: touched::AssetId,
20495				pub who: touched::Who,
20496				pub depositor: touched::Depositor,
20497			}
20498			pub mod touched {
20499				use super::runtime_types;
20500				pub type AssetId = ::core::primitive::u32;
20501				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
20502				pub type Depositor = ::subxt::ext::subxt_core::utils::AccountId32;
20503			}
20504			impl ::subxt::ext::subxt_core::events::StaticEvent for Touched {
20505				const PALLET: &'static str = "Assets";
20506				const EVENT: &'static str = "Touched";
20507			}
20508			#[derive(
20509				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20510				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20511				Debug,
20512			)]
20513			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20514			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20515			#[doc = "Some account `who` was blocked."]
20516			pub struct Blocked {
20517				pub asset_id: blocked::AssetId,
20518				pub who: blocked::Who,
20519			}
20520			pub mod blocked {
20521				use super::runtime_types;
20522				pub type AssetId = ::core::primitive::u32;
20523				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
20524			}
20525			impl ::subxt::ext::subxt_core::events::StaticEvent for Blocked {
20526				const PALLET: &'static str = "Assets";
20527				const EVENT: &'static str = "Blocked";
20528			}
20529			#[derive(
20530				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20531				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20532				Debug,
20533			)]
20534			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20535			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20536			#[doc = "Some assets were deposited (e.g. for transaction fees)."]
20537			pub struct Deposited {
20538				pub asset_id: deposited::AssetId,
20539				pub who: deposited::Who,
20540				pub amount: deposited::Amount,
20541			}
20542			pub mod deposited {
20543				use super::runtime_types;
20544				pub type AssetId = ::core::primitive::u32;
20545				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
20546				pub type Amount = ::core::primitive::u128;
20547			}
20548			impl ::subxt::ext::subxt_core::events::StaticEvent for Deposited {
20549				const PALLET: &'static str = "Assets";
20550				const EVENT: &'static str = "Deposited";
20551			}
20552			#[derive(
20553				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20554				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20555				Debug,
20556			)]
20557			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20558			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20559			#[doc = "Some assets were withdrawn from the account (e.g. for transaction fees)."]
20560			pub struct Withdrawn {
20561				pub asset_id: withdrawn::AssetId,
20562				pub who: withdrawn::Who,
20563				pub amount: withdrawn::Amount,
20564			}
20565			pub mod withdrawn {
20566				use super::runtime_types;
20567				pub type AssetId = ::core::primitive::u32;
20568				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
20569				pub type Amount = ::core::primitive::u128;
20570			}
20571			impl ::subxt::ext::subxt_core::events::StaticEvent for Withdrawn {
20572				const PALLET: &'static str = "Assets";
20573				const EVENT: &'static str = "Withdrawn";
20574			}
20575		}
20576		pub mod storage {
20577			use super::runtime_types;
20578			pub mod types {
20579				use super::runtime_types;
20580				pub mod asset {
20581					use super::runtime_types;
20582					pub type Asset = runtime_types::pallet_assets::types::AssetDetails<
20583						::core::primitive::u128,
20584						::subxt::ext::subxt_core::utils::AccountId32,
20585						::core::primitive::u128,
20586					>;
20587					pub type Param0 = ::core::primitive::u32;
20588				}
20589				pub mod account {
20590					use super::runtime_types;
20591					pub type Account = runtime_types::pallet_assets::types::AssetAccount<
20592						::core::primitive::u128,
20593						::core::primitive::u128,
20594						(),
20595						::subxt::ext::subxt_core::utils::AccountId32,
20596					>;
20597					pub type Param0 = ::core::primitive::u32;
20598					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
20599				}
20600				pub mod approvals {
20601					use super::runtime_types;
20602					pub type Approvals = runtime_types::pallet_assets::types::Approval<
20603						::core::primitive::u128,
20604						::core::primitive::u128,
20605					>;
20606					pub type Param0 = ::core::primitive::u32;
20607					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
20608					pub type Param2 = ::subxt::ext::subxt_core::utils::AccountId32;
20609				}
20610				pub mod metadata {
20611					use super::runtime_types;
20612					pub type Metadata = runtime_types::pallet_assets::types::AssetMetadata<
20613						::core::primitive::u128,
20614						runtime_types::bounded_collections::bounded_vec::BoundedVec<
20615							::core::primitive::u8,
20616						>,
20617					>;
20618					pub type Param0 = ::core::primitive::u32;
20619				}
20620				pub mod next_asset_id {
20621					use super::runtime_types;
20622					pub type NextAssetId = ::core::primitive::u32;
20623				}
20624			}
20625			pub struct StorageApi;
20626			impl StorageApi {
20627				#[doc = " Details of an asset."]
20628				pub fn asset_iter(
20629					&self,
20630				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20631					(),
20632					types::asset::Asset,
20633					(),
20634					(),
20635					::subxt::ext::subxt_core::utils::Yes,
20636				> {
20637					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20638						"Assets",
20639						"Asset",
20640						(),
20641						[
20642							159u8, 234u8, 177u8, 31u8, 58u8, 51u8, 173u8, 184u8, 250u8, 169u8,
20643							246u8, 122u8, 54u8, 19u8, 232u8, 60u8, 0u8, 165u8, 12u8, 101u8, 93u8,
20644							169u8, 23u8, 34u8, 154u8, 44u8, 134u8, 128u8, 97u8, 71u8, 167u8, 224u8,
20645						],
20646					)
20647				}
20648				#[doc = " Details of an asset."]
20649				pub fn asset(
20650					&self,
20651					_0: types::asset::Param0,
20652				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20653					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20654						types::asset::Param0,
20655					>,
20656					types::asset::Asset,
20657					::subxt::ext::subxt_core::utils::Yes,
20658					(),
20659					(),
20660				> {
20661					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20662						"Assets",
20663						"Asset",
20664						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
20665						[
20666							159u8, 234u8, 177u8, 31u8, 58u8, 51u8, 173u8, 184u8, 250u8, 169u8,
20667							246u8, 122u8, 54u8, 19u8, 232u8, 60u8, 0u8, 165u8, 12u8, 101u8, 93u8,
20668							169u8, 23u8, 34u8, 154u8, 44u8, 134u8, 128u8, 97u8, 71u8, 167u8, 224u8,
20669						],
20670					)
20671				}
20672				#[doc = " The holdings of a specific account for a specific asset."]
20673				pub fn account_iter(
20674					&self,
20675				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20676					(),
20677					types::account::Account,
20678					(),
20679					(),
20680					::subxt::ext::subxt_core::utils::Yes,
20681				> {
20682					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20683						"Assets",
20684						"Account",
20685						(),
20686						[
20687							188u8, 242u8, 133u8, 64u8, 0u8, 11u8, 57u8, 146u8, 60u8, 137u8, 35u8,
20688							23u8, 183u8, 200u8, 242u8, 8u8, 94u8, 158u8, 218u8, 13u8, 104u8, 215u8,
20689							87u8, 86u8, 69u8, 200u8, 11u8, 51u8, 6u8, 65u8, 216u8, 102u8,
20690						],
20691					)
20692				}
20693				#[doc = " The holdings of a specific account for a specific asset."]
20694				pub fn account_iter1(
20695					&self,
20696					_0: types::account::Param0,
20697				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20698					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20699						types::account::Param0,
20700					>,
20701					types::account::Account,
20702					(),
20703					(),
20704					::subxt::ext::subxt_core::utils::Yes,
20705				> {
20706					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20707						"Assets",
20708						"Account",
20709						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
20710						[
20711							188u8, 242u8, 133u8, 64u8, 0u8, 11u8, 57u8, 146u8, 60u8, 137u8, 35u8,
20712							23u8, 183u8, 200u8, 242u8, 8u8, 94u8, 158u8, 218u8, 13u8, 104u8, 215u8,
20713							87u8, 86u8, 69u8, 200u8, 11u8, 51u8, 6u8, 65u8, 216u8, 102u8,
20714						],
20715					)
20716				}
20717				#[doc = " The holdings of a specific account for a specific asset."]
20718				pub fn account(
20719					&self,
20720					_0: types::account::Param0,
20721					_1: types::account::Param1,
20722				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20723					(
20724						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20725							types::account::Param0,
20726						>,
20727						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20728							types::account::Param1,
20729						>,
20730					),
20731					types::account::Account,
20732					::subxt::ext::subxt_core::utils::Yes,
20733					(),
20734					(),
20735				> {
20736					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20737						"Assets",
20738						"Account",
20739						(
20740							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
20741							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
20742						),
20743						[
20744							188u8, 242u8, 133u8, 64u8, 0u8, 11u8, 57u8, 146u8, 60u8, 137u8, 35u8,
20745							23u8, 183u8, 200u8, 242u8, 8u8, 94u8, 158u8, 218u8, 13u8, 104u8, 215u8,
20746							87u8, 86u8, 69u8, 200u8, 11u8, 51u8, 6u8, 65u8, 216u8, 102u8,
20747						],
20748					)
20749				}
20750				#[doc = " Approved balance transfers. First balance is the amount approved for transfer. Second"]
20751				#[doc = " is the amount of `T::Currency` reserved for storing this."]
20752				#[doc = " First key is the asset ID, second key is the owner and third key is the delegate."]
20753				pub fn approvals_iter(
20754					&self,
20755				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20756					(),
20757					types::approvals::Approvals,
20758					(),
20759					(),
20760					::subxt::ext::subxt_core::utils::Yes,
20761				> {
20762					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20763						"Assets",
20764						"Approvals",
20765						(),
20766						[
20767							122u8, 92u8, 51u8, 45u8, 200u8, 200u8, 182u8, 208u8, 18u8, 47u8, 139u8,
20768							68u8, 254u8, 15u8, 152u8, 110u8, 3u8, 138u8, 13u8, 183u8, 5u8, 185u8,
20769							218u8, 44u8, 93u8, 28u8, 56u8, 189u8, 125u8, 127u8, 123u8, 8u8,
20770						],
20771					)
20772				}
20773				#[doc = " Approved balance transfers. First balance is the amount approved for transfer. Second"]
20774				#[doc = " is the amount of `T::Currency` reserved for storing this."]
20775				#[doc = " First key is the asset ID, second key is the owner and third key is the delegate."]
20776				pub fn approvals_iter1(
20777					&self,
20778					_0: types::approvals::Param0,
20779				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20780					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20781						types::approvals::Param0,
20782					>,
20783					types::approvals::Approvals,
20784					(),
20785					(),
20786					::subxt::ext::subxt_core::utils::Yes,
20787				> {
20788					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20789						"Assets",
20790						"Approvals",
20791						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
20792						[
20793							122u8, 92u8, 51u8, 45u8, 200u8, 200u8, 182u8, 208u8, 18u8, 47u8, 139u8,
20794							68u8, 254u8, 15u8, 152u8, 110u8, 3u8, 138u8, 13u8, 183u8, 5u8, 185u8,
20795							218u8, 44u8, 93u8, 28u8, 56u8, 189u8, 125u8, 127u8, 123u8, 8u8,
20796						],
20797					)
20798				}
20799				#[doc = " Approved balance transfers. First balance is the amount approved for transfer. Second"]
20800				#[doc = " is the amount of `T::Currency` reserved for storing this."]
20801				#[doc = " First key is the asset ID, second key is the owner and third key is the delegate."]
20802				pub fn approvals_iter2(
20803					&self,
20804					_0: types::approvals::Param0,
20805					_1: types::approvals::Param1,
20806				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20807					(
20808						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20809							types::approvals::Param0,
20810						>,
20811						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20812							types::approvals::Param1,
20813						>,
20814					),
20815					types::approvals::Approvals,
20816					(),
20817					(),
20818					::subxt::ext::subxt_core::utils::Yes,
20819				> {
20820					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20821						"Assets",
20822						"Approvals",
20823						(
20824							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
20825							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
20826						),
20827						[
20828							122u8, 92u8, 51u8, 45u8, 200u8, 200u8, 182u8, 208u8, 18u8, 47u8, 139u8,
20829							68u8, 254u8, 15u8, 152u8, 110u8, 3u8, 138u8, 13u8, 183u8, 5u8, 185u8,
20830							218u8, 44u8, 93u8, 28u8, 56u8, 189u8, 125u8, 127u8, 123u8, 8u8,
20831						],
20832					)
20833				}
20834				#[doc = " Approved balance transfers. First balance is the amount approved for transfer. Second"]
20835				#[doc = " is the amount of `T::Currency` reserved for storing this."]
20836				#[doc = " First key is the asset ID, second key is the owner and third key is the delegate."]
20837				pub fn approvals(
20838					&self,
20839					_0: types::approvals::Param0,
20840					_1: types::approvals::Param1,
20841					_2: types::approvals::Param2,
20842				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20843					(
20844						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20845							types::approvals::Param0,
20846						>,
20847						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20848							types::approvals::Param1,
20849						>,
20850						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20851							types::approvals::Param2,
20852						>,
20853					),
20854					types::approvals::Approvals,
20855					::subxt::ext::subxt_core::utils::Yes,
20856					(),
20857					(),
20858				> {
20859					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20860						"Assets",
20861						"Approvals",
20862						(
20863							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
20864							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
20865							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_2),
20866						),
20867						[
20868							122u8, 92u8, 51u8, 45u8, 200u8, 200u8, 182u8, 208u8, 18u8, 47u8, 139u8,
20869							68u8, 254u8, 15u8, 152u8, 110u8, 3u8, 138u8, 13u8, 183u8, 5u8, 185u8,
20870							218u8, 44u8, 93u8, 28u8, 56u8, 189u8, 125u8, 127u8, 123u8, 8u8,
20871						],
20872					)
20873				}
20874				#[doc = " Metadata of an asset."]
20875				pub fn metadata_iter(
20876					&self,
20877				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20878					(),
20879					types::metadata::Metadata,
20880					(),
20881					::subxt::ext::subxt_core::utils::Yes,
20882					::subxt::ext::subxt_core::utils::Yes,
20883				> {
20884					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20885						"Assets",
20886						"Metadata",
20887						(),
20888						[
20889							129u8, 202u8, 244u8, 77u8, 55u8, 81u8, 86u8, 106u8, 20u8, 153u8, 209u8,
20890							69u8, 199u8, 107u8, 111u8, 49u8, 88u8, 157u8, 84u8, 41u8, 198u8, 190u8,
20891							234u8, 218u8, 68u8, 207u8, 87u8, 217u8, 73u8, 66u8, 211u8, 163u8,
20892						],
20893					)
20894				}
20895				#[doc = " Metadata of an asset."]
20896				pub fn metadata(
20897					&self,
20898					_0: types::metadata::Param0,
20899				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20900					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20901						types::metadata::Param0,
20902					>,
20903					types::metadata::Metadata,
20904					::subxt::ext::subxt_core::utils::Yes,
20905					::subxt::ext::subxt_core::utils::Yes,
20906					(),
20907				> {
20908					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20909						"Assets",
20910						"Metadata",
20911						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
20912						[
20913							129u8, 202u8, 244u8, 77u8, 55u8, 81u8, 86u8, 106u8, 20u8, 153u8, 209u8,
20914							69u8, 199u8, 107u8, 111u8, 49u8, 88u8, 157u8, 84u8, 41u8, 198u8, 190u8,
20915							234u8, 218u8, 68u8, 207u8, 87u8, 217u8, 73u8, 66u8, 211u8, 163u8,
20916						],
20917					)
20918				}
20919				#[doc = " The asset ID enforced for the next asset creation, if any present. Otherwise, this storage"]
20920				#[doc = " item has no effect."]
20921				#[doc = ""]
20922				#[doc = " This can be useful for setting up constraints for IDs of the new assets. For example, by"]
20923				#[doc = " providing an initial [`NextAssetId`] and using the [`crate::AutoIncAssetId`] callback, an"]
20924				#[doc = " auto-increment model can be applied to all new asset IDs."]
20925				#[doc = ""]
20926				#[doc = " The initial next asset ID can be set using the [`GenesisConfig`] or the"]
20927				#[doc = " [SetNextAssetId](`migration::next_asset_id::SetNextAssetId`) migration."]
20928				pub fn next_asset_id(
20929					&self,
20930				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20931					(),
20932					types::next_asset_id::NextAssetId,
20933					::subxt::ext::subxt_core::utils::Yes,
20934					(),
20935					(),
20936				> {
20937					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20938						"Assets",
20939						"NextAssetId",
20940						(),
20941						[
20942							15u8, 61u8, 40u8, 217u8, 236u8, 34u8, 95u8, 53u8, 159u8, 182u8, 70u8,
20943							251u8, 234u8, 188u8, 115u8, 23u8, 199u8, 118u8, 220u8, 40u8, 147u8,
20944							174u8, 247u8, 129u8, 246u8, 107u8, 178u8, 43u8, 8u8, 19u8, 74u8, 116u8,
20945						],
20946					)
20947				}
20948			}
20949		}
20950		pub mod constants {
20951			use super::runtime_types;
20952			pub struct ConstantsApi;
20953			impl ConstantsApi {
20954				#[doc = " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call."]
20955				#[doc = ""]
20956				#[doc = " Must be configured to result in a weight that makes each call fit in a block."]
20957				pub fn remove_items_limit(
20958					&self,
20959				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20960					::core::primitive::u32,
20961				> {
20962					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20963						"Assets",
20964						"RemoveItemsLimit",
20965						[
20966							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
20967							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
20968							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
20969							145u8,
20970						],
20971					)
20972				}
20973				#[doc = " The basic amount of funds that must be reserved for an asset."]
20974				pub fn asset_deposit(
20975					&self,
20976				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20977					::core::primitive::u128,
20978				> {
20979					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20980						"Assets",
20981						"AssetDeposit",
20982						[
20983							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
20984							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
20985							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
20986						],
20987					)
20988				}
20989				#[doc = " The amount of funds that must be reserved for a non-provider asset account to be"]
20990				#[doc = " maintained."]
20991				pub fn asset_account_deposit(
20992					&self,
20993				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20994					::core::primitive::u128,
20995				> {
20996					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20997						"Assets",
20998						"AssetAccountDeposit",
20999						[
21000							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
21001							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
21002							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
21003						],
21004					)
21005				}
21006				#[doc = " The basic amount of funds that must be reserved when adding metadata to your asset."]
21007				pub fn metadata_deposit_base(
21008					&self,
21009				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
21010					::core::primitive::u128,
21011				> {
21012					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
21013						"Assets",
21014						"MetadataDepositBase",
21015						[
21016							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
21017							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
21018							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
21019						],
21020					)
21021				}
21022				#[doc = " The additional funds that must be reserved for the number of bytes you store in your"]
21023				#[doc = " metadata."]
21024				pub fn metadata_deposit_per_byte(
21025					&self,
21026				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
21027					::core::primitive::u128,
21028				> {
21029					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
21030						"Assets",
21031						"MetadataDepositPerByte",
21032						[
21033							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
21034							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
21035							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
21036						],
21037					)
21038				}
21039				#[doc = " The amount of funds that must be reserved when creating a new approval."]
21040				pub fn approval_deposit(
21041					&self,
21042				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
21043					::core::primitive::u128,
21044				> {
21045					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
21046						"Assets",
21047						"ApprovalDeposit",
21048						[
21049							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
21050							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
21051							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
21052						],
21053					)
21054				}
21055				#[doc = " The maximum length of a name or symbol stored on-chain."]
21056				pub fn string_limit(
21057					&self,
21058				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
21059					::core::primitive::u32,
21060				> {
21061					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
21062						"Assets",
21063						"StringLimit",
21064						[
21065							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
21066							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
21067							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
21068							145u8,
21069						],
21070					)
21071				}
21072			}
21073		}
21074	}
21075	pub mod assets_holder {
21076		use super::{root_mod, runtime_types};
21077		#[doc = "The `Error` enum of this pallet."]
21078		pub type Error = runtime_types::pallet_assets_holder::pallet::Error;
21079		#[doc = "The `Event` enum of this pallet"]
21080		pub type Event = runtime_types::pallet_assets_holder::pallet::Event;
21081		pub mod events {
21082			use super::runtime_types;
21083			#[derive(
21084				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21085				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21086				Debug,
21087			)]
21088			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21089			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21090			#[doc = "`who`s balance on hold was increased by `amount`."]
21091			pub struct Held {
21092				pub who: held::Who,
21093				pub asset_id: held::AssetId,
21094				pub reason: held::Reason,
21095				pub amount: held::Amount,
21096			}
21097			pub mod held {
21098				use super::runtime_types;
21099				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
21100				pub type AssetId = ::core::primitive::u32;
21101				pub type Reason = runtime_types::quantus_runtime::RuntimeHoldReason;
21102				pub type Amount = ::core::primitive::u128;
21103			}
21104			impl ::subxt::ext::subxt_core::events::StaticEvent for Held {
21105				const PALLET: &'static str = "AssetsHolder";
21106				const EVENT: &'static str = "Held";
21107			}
21108			#[derive(
21109				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21110				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21111				Debug,
21112			)]
21113			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21114			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21115			#[doc = "`who`s balance on hold was decreased by `amount`."]
21116			pub struct Released {
21117				pub who: released::Who,
21118				pub asset_id: released::AssetId,
21119				pub reason: released::Reason,
21120				pub amount: released::Amount,
21121			}
21122			pub mod released {
21123				use super::runtime_types;
21124				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
21125				pub type AssetId = ::core::primitive::u32;
21126				pub type Reason = runtime_types::quantus_runtime::RuntimeHoldReason;
21127				pub type Amount = ::core::primitive::u128;
21128			}
21129			impl ::subxt::ext::subxt_core::events::StaticEvent for Released {
21130				const PALLET: &'static str = "AssetsHolder";
21131				const EVENT: &'static str = "Released";
21132			}
21133			#[derive(
21134				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21135				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21136				Debug,
21137			)]
21138			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21139			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21140			#[doc = "`who`s balance on hold was burned by `amount`."]
21141			pub struct Burned {
21142				pub who: burned::Who,
21143				pub asset_id: burned::AssetId,
21144				pub reason: burned::Reason,
21145				pub amount: burned::Amount,
21146			}
21147			pub mod burned {
21148				use super::runtime_types;
21149				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
21150				pub type AssetId = ::core::primitive::u32;
21151				pub type Reason = runtime_types::quantus_runtime::RuntimeHoldReason;
21152				pub type Amount = ::core::primitive::u128;
21153			}
21154			impl ::subxt::ext::subxt_core::events::StaticEvent for Burned {
21155				const PALLET: &'static str = "AssetsHolder";
21156				const EVENT: &'static str = "Burned";
21157			}
21158		}
21159		pub mod storage {
21160			use super::runtime_types;
21161			pub mod types {
21162				use super::runtime_types;
21163				pub mod holds {
21164					use super::runtime_types;
21165					pub type Holds = runtime_types::bounded_collections::bounded_vec::BoundedVec<
21166						runtime_types::frame_support::traits::tokens::misc::IdAmount<
21167							runtime_types::quantus_runtime::RuntimeHoldReason,
21168							::core::primitive::u128,
21169						>,
21170					>;
21171					pub type Param0 = ::core::primitive::u32;
21172					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
21173				}
21174				pub mod balances_on_hold {
21175					use super::runtime_types;
21176					pub type BalancesOnHold = ::core::primitive::u128;
21177					pub type Param0 = ::core::primitive::u32;
21178					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
21179				}
21180			}
21181			pub struct StorageApi;
21182			impl StorageApi {
21183				#[doc = " A map that stores holds applied on an account for a given AssetId."]
21184				pub fn holds_iter(
21185					&self,
21186				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
21187					(),
21188					types::holds::Holds,
21189					(),
21190					::subxt::ext::subxt_core::utils::Yes,
21191					::subxt::ext::subxt_core::utils::Yes,
21192				> {
21193					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
21194						"AssetsHolder",
21195						"Holds",
21196						(),
21197						[
21198							131u8, 85u8, 98u8, 45u8, 101u8, 28u8, 94u8, 4u8, 1u8, 137u8, 126u8,
21199							129u8, 241u8, 99u8, 206u8, 145u8, 177u8, 135u8, 27u8, 52u8, 122u8,
21200							94u8, 241u8, 29u8, 253u8, 154u8, 158u8, 229u8, 208u8, 129u8, 29u8,
21201							41u8,
21202						],
21203					)
21204				}
21205				#[doc = " A map that stores holds applied on an account for a given AssetId."]
21206				pub fn holds_iter1(
21207					&self,
21208					_0: types::holds::Param0,
21209				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
21210					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
21211						types::holds::Param0,
21212					>,
21213					types::holds::Holds,
21214					(),
21215					::subxt::ext::subxt_core::utils::Yes,
21216					::subxt::ext::subxt_core::utils::Yes,
21217				> {
21218					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
21219						"AssetsHolder",
21220						"Holds",
21221						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
21222						[
21223							131u8, 85u8, 98u8, 45u8, 101u8, 28u8, 94u8, 4u8, 1u8, 137u8, 126u8,
21224							129u8, 241u8, 99u8, 206u8, 145u8, 177u8, 135u8, 27u8, 52u8, 122u8,
21225							94u8, 241u8, 29u8, 253u8, 154u8, 158u8, 229u8, 208u8, 129u8, 29u8,
21226							41u8,
21227						],
21228					)
21229				}
21230				#[doc = " A map that stores holds applied on an account for a given AssetId."]
21231				pub fn holds(
21232					&self,
21233					_0: types::holds::Param0,
21234					_1: types::holds::Param1,
21235				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
21236					(
21237						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
21238							types::holds::Param0,
21239						>,
21240						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
21241							types::holds::Param1,
21242						>,
21243					),
21244					types::holds::Holds,
21245					::subxt::ext::subxt_core::utils::Yes,
21246					::subxt::ext::subxt_core::utils::Yes,
21247					(),
21248				> {
21249					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
21250						"AssetsHolder",
21251						"Holds",
21252						(
21253							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
21254							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
21255						),
21256						[
21257							131u8, 85u8, 98u8, 45u8, 101u8, 28u8, 94u8, 4u8, 1u8, 137u8, 126u8,
21258							129u8, 241u8, 99u8, 206u8, 145u8, 177u8, 135u8, 27u8, 52u8, 122u8,
21259							94u8, 241u8, 29u8, 253u8, 154u8, 158u8, 229u8, 208u8, 129u8, 29u8,
21260							41u8,
21261						],
21262					)
21263				}
21264				#[doc = " A map that stores the current total balance on hold for every account on a given AssetId."]
21265				pub fn balances_on_hold_iter(
21266					&self,
21267				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
21268					(),
21269					types::balances_on_hold::BalancesOnHold,
21270					(),
21271					(),
21272					::subxt::ext::subxt_core::utils::Yes,
21273				> {
21274					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
21275						"AssetsHolder",
21276						"BalancesOnHold",
21277						(),
21278						[
21279							39u8, 48u8, 137u8, 178u8, 85u8, 119u8, 90u8, 207u8, 72u8, 232u8, 81u8,
21280							190u8, 234u8, 32u8, 246u8, 199u8, 37u8, 220u8, 0u8, 216u8, 47u8, 241u8,
21281							9u8, 107u8, 9u8, 130u8, 13u8, 232u8, 142u8, 226u8, 77u8, 179u8,
21282						],
21283					)
21284				}
21285				#[doc = " A map that stores the current total balance on hold for every account on a given AssetId."]
21286				pub fn balances_on_hold_iter1(
21287					&self,
21288					_0: types::balances_on_hold::Param0,
21289				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
21290					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
21291						types::balances_on_hold::Param0,
21292					>,
21293					types::balances_on_hold::BalancesOnHold,
21294					(),
21295					(),
21296					::subxt::ext::subxt_core::utils::Yes,
21297				> {
21298					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
21299						"AssetsHolder",
21300						"BalancesOnHold",
21301						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
21302						[
21303							39u8, 48u8, 137u8, 178u8, 85u8, 119u8, 90u8, 207u8, 72u8, 232u8, 81u8,
21304							190u8, 234u8, 32u8, 246u8, 199u8, 37u8, 220u8, 0u8, 216u8, 47u8, 241u8,
21305							9u8, 107u8, 9u8, 130u8, 13u8, 232u8, 142u8, 226u8, 77u8, 179u8,
21306						],
21307					)
21308				}
21309				#[doc = " A map that stores the current total balance on hold for every account on a given AssetId."]
21310				pub fn balances_on_hold(
21311					&self,
21312					_0: types::balances_on_hold::Param0,
21313					_1: types::balances_on_hold::Param1,
21314				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
21315					(
21316						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
21317							types::balances_on_hold::Param0,
21318						>,
21319						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
21320							types::balances_on_hold::Param1,
21321						>,
21322					),
21323					types::balances_on_hold::BalancesOnHold,
21324					::subxt::ext::subxt_core::utils::Yes,
21325					(),
21326					(),
21327				> {
21328					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
21329						"AssetsHolder",
21330						"BalancesOnHold",
21331						(
21332							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
21333							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
21334						),
21335						[
21336							39u8, 48u8, 137u8, 178u8, 85u8, 119u8, 90u8, 207u8, 72u8, 232u8, 81u8,
21337							190u8, 234u8, 32u8, 246u8, 199u8, 37u8, 220u8, 0u8, 216u8, 47u8, 241u8,
21338							9u8, 107u8, 9u8, 130u8, 13u8, 232u8, 142u8, 226u8, 77u8, 179u8,
21339						],
21340					)
21341				}
21342			}
21343		}
21344	}
21345	pub mod runtime_types {
21346		use super::runtime_types;
21347		pub mod bounded_collections {
21348			use super::runtime_types;
21349			pub mod bounded_vec {
21350				use super::runtime_types;
21351				#[derive(
21352					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21353					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21354					Debug,
21355				)]
21356				#[decode_as_type(
21357					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21358				)]
21359				#[encode_as_type(
21360					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21361				)]
21362				pub struct BoundedVec<_0>(pub ::subxt::ext::subxt_core::alloc::vec::Vec<_0>);
21363			}
21364			pub mod weak_bounded_vec {
21365				use super::runtime_types;
21366				#[derive(
21367					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21368					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21369					Debug,
21370				)]
21371				#[decode_as_type(
21372					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21373				)]
21374				#[encode_as_type(
21375					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21376				)]
21377				pub struct WeakBoundedVec<_0>(pub ::subxt::ext::subxt_core::alloc::vec::Vec<_0>);
21378			}
21379		}
21380		pub mod frame_metadata_hash_extension {
21381			use super::runtime_types;
21382			#[derive(
21383				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21384				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21385				Debug,
21386			)]
21387			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21388			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21389			pub struct CheckMetadataHash {
21390				pub mode: runtime_types::frame_metadata_hash_extension::Mode,
21391			}
21392			#[derive(
21393				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21394				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21395				Debug,
21396			)]
21397			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21398			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21399			pub enum Mode {
21400				#[codec(index = 0)]
21401				Disabled,
21402				#[codec(index = 1)]
21403				Enabled,
21404			}
21405		}
21406		pub mod frame_support {
21407			use super::runtime_types;
21408			pub mod dispatch {
21409				use super::runtime_types;
21410				#[derive(
21411					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21412					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21413					Debug,
21414				)]
21415				#[decode_as_type(
21416					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21417				)]
21418				#[encode_as_type(
21419					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21420				)]
21421				pub enum DispatchClass {
21422					#[codec(index = 0)]
21423					Normal,
21424					#[codec(index = 1)]
21425					Operational,
21426					#[codec(index = 2)]
21427					Mandatory,
21428				}
21429				#[derive(
21430					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21431					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21432					Debug,
21433				)]
21434				#[decode_as_type(
21435					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21436				)]
21437				#[encode_as_type(
21438					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21439				)]
21440				pub enum Pays {
21441					#[codec(index = 0)]
21442					Yes,
21443					#[codec(index = 1)]
21444					No,
21445				}
21446				#[derive(
21447					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21448					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21449					Debug,
21450				)]
21451				#[decode_as_type(
21452					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21453				)]
21454				#[encode_as_type(
21455					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21456				)]
21457				pub struct PerDispatchClass<_0> {
21458					pub normal: _0,
21459					pub operational: _0,
21460					pub mandatory: _0,
21461				}
21462				#[derive(
21463					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21464					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21465					Debug,
21466				)]
21467				#[decode_as_type(
21468					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21469				)]
21470				#[encode_as_type(
21471					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21472				)]
21473				pub struct PostDispatchInfo {
21474					pub actual_weight:
21475						::core::option::Option<runtime_types::sp_weights::weight_v2::Weight>,
21476					pub pays_fee: runtime_types::frame_support::dispatch::Pays,
21477				}
21478				#[derive(
21479					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21480					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21481					Debug,
21482				)]
21483				#[decode_as_type(
21484					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21485				)]
21486				#[encode_as_type(
21487					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21488				)]
21489				pub enum RawOrigin<_0> {
21490					#[codec(index = 0)]
21491					Root,
21492					#[codec(index = 1)]
21493					Signed(_0),
21494					#[codec(index = 2)]
21495					None,
21496					#[codec(index = 3)]
21497					Authorized,
21498				}
21499			}
21500			pub mod traits {
21501				use super::runtime_types;
21502				pub mod preimages {
21503					use super::runtime_types;
21504					#[derive(
21505						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21506						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21507						Debug,
21508					)]
21509					#[decode_as_type(
21510						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21511					)]
21512					#[encode_as_type(
21513						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21514					)]
21515					pub enum Bounded<_0, _1> {
21516						#[codec(index = 0)]
21517						Legacy {
21518							hash: ::subxt::ext::subxt_core::utils::H256,
21519						},
21520						#[codec(index = 1)]
21521						Inline(
21522							runtime_types::bounded_collections::bounded_vec::BoundedVec<
21523								::core::primitive::u8,
21524							>,
21525						),
21526						#[codec(index = 2)]
21527						Lookup {
21528							hash: ::subxt::ext::subxt_core::utils::H256,
21529							len: ::core::primitive::u32,
21530						},
21531						__Ignore(::core::marker::PhantomData<(_0, _1)>),
21532					}
21533				}
21534				pub mod schedule {
21535					use super::runtime_types;
21536					#[derive(
21537						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21538						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21539						Debug,
21540					)]
21541					#[decode_as_type(
21542						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21543					)]
21544					#[encode_as_type(
21545						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21546					)]
21547					pub enum DispatchTime<_0> {
21548						#[codec(index = 0)]
21549						At(_0),
21550						#[codec(index = 1)]
21551						After(_0),
21552					}
21553				}
21554				pub mod tokens {
21555					use super::runtime_types;
21556					pub mod misc {
21557						use super::runtime_types;
21558						#[derive(
21559							:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21560							:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21561							Debug,
21562						)]
21563						#[decode_as_type(
21564							crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21565						)]
21566						#[encode_as_type(
21567							crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21568						)]
21569						pub enum BalanceStatus {
21570							#[codec(index = 0)]
21571							Free,
21572							#[codec(index = 1)]
21573							Reserved,
21574						}
21575						#[derive(
21576							:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21577							:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21578							Debug,
21579						)]
21580						#[decode_as_type(
21581							crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21582						)]
21583						#[encode_as_type(
21584							crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21585						)]
21586						pub struct IdAmount<_0, _1> {
21587							pub id: _0,
21588							pub amount: _1,
21589						}
21590					}
21591				}
21592			}
21593			#[derive(
21594				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21595				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21596				Debug,
21597			)]
21598			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21599			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21600			pub struct PalletId(pub [::core::primitive::u8; 8usize]);
21601		}
21602		pub mod frame_system {
21603			use super::runtime_types;
21604			pub mod extensions {
21605				use super::runtime_types;
21606				pub mod check_genesis {
21607					use super::runtime_types;
21608					#[derive(
21609						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21610						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21611						Debug,
21612					)]
21613					#[decode_as_type(
21614						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21615					)]
21616					#[encode_as_type(
21617						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21618					)]
21619					pub struct CheckGenesis;
21620				}
21621				pub mod check_mortality {
21622					use super::runtime_types;
21623					#[derive(
21624						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21625						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21626						Debug,
21627					)]
21628					#[decode_as_type(
21629						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21630					)]
21631					#[encode_as_type(
21632						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21633					)]
21634					pub struct CheckMortality(pub runtime_types::sp_runtime::generic::era::Era);
21635				}
21636				pub mod check_non_zero_sender {
21637					use super::runtime_types;
21638					#[derive(
21639						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21640						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21641						Debug,
21642					)]
21643					#[decode_as_type(
21644						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21645					)]
21646					#[encode_as_type(
21647						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21648					)]
21649					pub struct CheckNonZeroSender;
21650				}
21651				pub mod check_nonce {
21652					use super::runtime_types;
21653					#[derive(
21654						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21655						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21656						Debug,
21657					)]
21658					#[decode_as_type(
21659						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21660					)]
21661					#[encode_as_type(
21662						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21663					)]
21664					pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32);
21665				}
21666				pub mod check_spec_version {
21667					use super::runtime_types;
21668					#[derive(
21669						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21670						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21671						Debug,
21672					)]
21673					#[decode_as_type(
21674						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21675					)]
21676					#[encode_as_type(
21677						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21678					)]
21679					pub struct CheckSpecVersion;
21680				}
21681				pub mod check_tx_version {
21682					use super::runtime_types;
21683					#[derive(
21684						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21685						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21686						Debug,
21687					)]
21688					#[decode_as_type(
21689						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21690					)]
21691					#[encode_as_type(
21692						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21693					)]
21694					pub struct CheckTxVersion;
21695				}
21696				pub mod check_weight {
21697					use super::runtime_types;
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					pub struct CheckWeight;
21710				}
21711			}
21712			pub mod limits {
21713				use super::runtime_types;
21714				#[derive(
21715					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21716					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21717					Debug,
21718				)]
21719				#[decode_as_type(
21720					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21721				)]
21722				#[encode_as_type(
21723					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21724				)]
21725				pub struct BlockLength {
21726					pub max: runtime_types::frame_support::dispatch::PerDispatchClass<
21727						::core::primitive::u32,
21728					>,
21729				}
21730				#[derive(
21731					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21732					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21733					Debug,
21734				)]
21735				#[decode_as_type(
21736					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21737				)]
21738				#[encode_as_type(
21739					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21740				)]
21741				pub struct BlockWeights {
21742					pub base_block: runtime_types::sp_weights::weight_v2::Weight,
21743					pub max_block: runtime_types::sp_weights::weight_v2::Weight,
21744					pub per_class: runtime_types::frame_support::dispatch::PerDispatchClass<
21745						runtime_types::frame_system::limits::WeightsPerClass,
21746					>,
21747				}
21748				#[derive(
21749					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21750					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21751					Debug,
21752				)]
21753				#[decode_as_type(
21754					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21755				)]
21756				#[encode_as_type(
21757					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21758				)]
21759				pub struct WeightsPerClass {
21760					pub base_extrinsic: runtime_types::sp_weights::weight_v2::Weight,
21761					pub max_extrinsic:
21762						::core::option::Option<runtime_types::sp_weights::weight_v2::Weight>,
21763					pub max_total:
21764						::core::option::Option<runtime_types::sp_weights::weight_v2::Weight>,
21765					pub reserved:
21766						::core::option::Option<runtime_types::sp_weights::weight_v2::Weight>,
21767				}
21768			}
21769			pub mod pallet {
21770				use super::runtime_types;
21771				#[derive(
21772					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21773					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21774					Debug,
21775				)]
21776				#[decode_as_type(
21777					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21778				)]
21779				#[encode_as_type(
21780					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21781				)]
21782				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
21783				pub enum Call {
21784					#[codec(index = 0)]
21785					#[doc = "Make some on-chain remark."]
21786					#[doc = ""]
21787					#[doc = "Can be executed by every `origin`."]
21788					remark {
21789						remark: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21790					},
21791					#[codec(index = 1)]
21792					#[doc = "Set the number of pages in the WebAssembly environment's heap."]
21793					set_heap_pages { pages: ::core::primitive::u64 },
21794					#[codec(index = 2)]
21795					#[doc = "Set the new runtime code."]
21796					set_code {
21797						code: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21798					},
21799					#[codec(index = 3)]
21800					#[doc = "Set the new runtime code without doing any checks of the given `code`."]
21801					#[doc = ""]
21802					#[doc = "Note that runtime upgrades will not run if this is called with a not-increasing spec"]
21803					#[doc = "version!"]
21804					set_code_without_checks {
21805						code: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21806					},
21807					#[codec(index = 4)]
21808					#[doc = "Set some items of storage."]
21809					set_storage {
21810						items: ::subxt::ext::subxt_core::alloc::vec::Vec<(
21811							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21812							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21813						)>,
21814					},
21815					#[codec(index = 5)]
21816					#[doc = "Kill some items from storage."]
21817					kill_storage {
21818						keys: ::subxt::ext::subxt_core::alloc::vec::Vec<
21819							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21820						>,
21821					},
21822					#[codec(index = 6)]
21823					#[doc = "Kill all storage items with a key that starts with the given prefix."]
21824					#[doc = ""]
21825					#[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"]
21826					#[doc = "the prefix we are removing to accurately calculate the weight of this function."]
21827					kill_prefix {
21828						prefix: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21829						subkeys: ::core::primitive::u32,
21830					},
21831					#[codec(index = 7)]
21832					#[doc = "Make some on-chain remark and emit event."]
21833					remark_with_event {
21834						remark: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21835					},
21836					#[codec(index = 9)]
21837					#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
21838					#[doc = "later."]
21839					#[doc = ""]
21840					#[doc = "This call requires Root origin."]
21841					authorize_upgrade { code_hash: ::subxt::ext::subxt_core::utils::H256 },
21842					#[codec(index = 10)]
21843					#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
21844					#[doc = "later."]
21845					#[doc = ""]
21846					#[doc = "WARNING: This authorizes an upgrade that will take place without any safety checks, for"]
21847					#[doc = "example that the spec name remains the same and that the version number increases. Not"]
21848					#[doc = "recommended for normal use. Use `authorize_upgrade` instead."]
21849					#[doc = ""]
21850					#[doc = "This call requires Root origin."]
21851					authorize_upgrade_without_checks {
21852						code_hash: ::subxt::ext::subxt_core::utils::H256,
21853					},
21854					#[codec(index = 11)]
21855					#[doc = "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized."]
21856					#[doc = ""]
21857					#[doc = "If the authorization required a version check, this call will ensure the spec name"]
21858					#[doc = "remains unchanged and that the spec version has increased."]
21859					#[doc = ""]
21860					#[doc = "Depending on the runtime's `OnSetCode` configuration, this function may directly apply"]
21861					#[doc = "the new `code` in the same block or attempt to schedule the upgrade."]
21862					#[doc = ""]
21863					#[doc = "All origins are allowed."]
21864					apply_authorized_upgrade {
21865						code: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21866					},
21867				}
21868				#[derive(
21869					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21870					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21871					Debug,
21872				)]
21873				#[decode_as_type(
21874					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21875				)]
21876				#[encode_as_type(
21877					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21878				)]
21879				#[doc = "Error for the System pallet"]
21880				pub enum Error {
21881					#[codec(index = 0)]
21882					#[doc = "The name of specification does not match between the current runtime"]
21883					#[doc = "and the new runtime."]
21884					InvalidSpecName,
21885					#[codec(index = 1)]
21886					#[doc = "The specification version is not allowed to decrease between the current runtime"]
21887					#[doc = "and the new runtime."]
21888					SpecVersionNeedsToIncrease,
21889					#[codec(index = 2)]
21890					#[doc = "Failed to extract the runtime version from the new runtime."]
21891					#[doc = ""]
21892					#[doc = "Either calling `Core_version` or decoding `RuntimeVersion` failed."]
21893					FailedToExtractRuntimeVersion,
21894					#[codec(index = 3)]
21895					#[doc = "Suicide called when the account has non-default composite data."]
21896					NonDefaultComposite,
21897					#[codec(index = 4)]
21898					#[doc = "There is a non-zero reference count preventing the account from being purged."]
21899					NonZeroRefCount,
21900					#[codec(index = 5)]
21901					#[doc = "The origin filter prevent the call to be dispatched."]
21902					CallFiltered,
21903					#[codec(index = 6)]
21904					#[doc = "A multi-block migration is ongoing and prevents the current code from being replaced."]
21905					MultiBlockMigrationsOngoing,
21906					#[codec(index = 7)]
21907					#[doc = "No upgrade authorized."]
21908					NothingAuthorized,
21909					#[codec(index = 8)]
21910					#[doc = "The submitted code is not authorized."]
21911					Unauthorized,
21912				}
21913				#[derive(
21914					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21915					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21916					Debug,
21917				)]
21918				#[decode_as_type(
21919					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21920				)]
21921				#[encode_as_type(
21922					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21923				)]
21924				#[doc = "Event for the System pallet."]
21925				pub enum Event {
21926					#[codec(index = 0)]
21927					#[doc = "An extrinsic completed successfully."]
21928					ExtrinsicSuccess {
21929						dispatch_info: runtime_types::frame_system::DispatchEventInfo,
21930					},
21931					#[codec(index = 1)]
21932					#[doc = "An extrinsic failed."]
21933					ExtrinsicFailed {
21934						dispatch_error: runtime_types::sp_runtime::DispatchError,
21935						dispatch_info: runtime_types::frame_system::DispatchEventInfo,
21936					},
21937					#[codec(index = 2)]
21938					#[doc = "`:code` was updated."]
21939					CodeUpdated,
21940					#[codec(index = 3)]
21941					#[doc = "A new account was created."]
21942					NewAccount { account: ::subxt::ext::subxt_core::utils::AccountId32 },
21943					#[codec(index = 4)]
21944					#[doc = "An account was reaped."]
21945					KilledAccount { account: ::subxt::ext::subxt_core::utils::AccountId32 },
21946					#[codec(index = 5)]
21947					#[doc = "On on-chain remark happened."]
21948					Remarked {
21949						sender: ::subxt::ext::subxt_core::utils::AccountId32,
21950						hash: ::subxt::ext::subxt_core::utils::H256,
21951					},
21952					#[codec(index = 6)]
21953					#[doc = "An upgrade was authorized."]
21954					UpgradeAuthorized {
21955						code_hash: ::subxt::ext::subxt_core::utils::H256,
21956						check_version: ::core::primitive::bool,
21957					},
21958					#[codec(index = 7)]
21959					#[doc = "An invalid authorized upgrade was rejected while trying to apply it."]
21960					RejectedInvalidAuthorizedUpgrade {
21961						code_hash: ::subxt::ext::subxt_core::utils::H256,
21962						error: runtime_types::sp_runtime::DispatchError,
21963					},
21964				}
21965			}
21966			#[derive(
21967				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21968				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21969				Debug,
21970			)]
21971			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21972			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21973			pub struct AccountInfo<_0, _1> {
21974				pub nonce: _0,
21975				pub consumers: ::core::primitive::u32,
21976				pub providers: ::core::primitive::u32,
21977				pub sufficients: ::core::primitive::u32,
21978				pub data: _1,
21979			}
21980			#[derive(
21981				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21982				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21983				Debug,
21984			)]
21985			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21986			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21987			pub struct CodeUpgradeAuthorization {
21988				pub code_hash: ::subxt::ext::subxt_core::utils::H256,
21989				pub check_version: ::core::primitive::bool,
21990			}
21991			#[derive(
21992				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21993				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21994				Debug,
21995			)]
21996			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21997			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21998			pub struct DispatchEventInfo {
21999				pub weight: runtime_types::sp_weights::weight_v2::Weight,
22000				pub class: runtime_types::frame_support::dispatch::DispatchClass,
22001				pub pays_fee: runtime_types::frame_support::dispatch::Pays,
22002			}
22003			#[derive(
22004				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22005				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22006				Debug,
22007			)]
22008			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
22009			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
22010			pub struct EventRecord<_0, _1> {
22011				pub phase: runtime_types::frame_system::Phase,
22012				pub event: _0,
22013				pub topics: ::subxt::ext::subxt_core::alloc::vec::Vec<_1>,
22014			}
22015			#[derive(
22016				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22017				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22018				Debug,
22019			)]
22020			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
22021			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
22022			pub struct LastRuntimeUpgradeInfo {
22023				#[codec(compact)]
22024				pub spec_version: ::core::primitive::u32,
22025				pub spec_name: ::subxt::ext::subxt_core::alloc::string::String,
22026			}
22027			#[derive(
22028				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22029				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22030				Debug,
22031			)]
22032			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
22033			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
22034			pub enum Phase {
22035				#[codec(index = 0)]
22036				ApplyExtrinsic(::core::primitive::u32),
22037				#[codec(index = 1)]
22038				Finalization,
22039				#[codec(index = 2)]
22040				Initialization,
22041			}
22042		}
22043		pub mod pallet_assets {
22044			use super::runtime_types;
22045			pub mod pallet {
22046				use super::runtime_types;
22047				#[derive(
22048					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22049					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22050					Debug,
22051				)]
22052				#[decode_as_type(
22053					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22054				)]
22055				#[encode_as_type(
22056					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22057				)]
22058				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
22059				pub enum Call {
22060					#[codec(index = 0)]
22061					#[doc = "Issue a new class of fungible assets from a public origin."]
22062					#[doc = ""]
22063					#[doc = "This new asset class has no assets initially and its owner is the origin."]
22064					#[doc = ""]
22065					#[doc = "The origin must conform to the configured `CreateOrigin` and have sufficient funds free."]
22066					#[doc = ""]
22067					#[doc = "Funds of sender are reserved by `AssetDeposit`."]
22068					#[doc = ""]
22069					#[doc = "Parameters:"]
22070					#[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"]
22071					#[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."]
22072					#[doc = "- `admin`: The admin of this class of assets. The admin is the initial address of each"]
22073					#[doc = "member of the asset class's admin team."]
22074					#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
22075					#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
22076					#[doc = ""]
22077					#[doc = "Emits `Created` event when successful."]
22078					#[doc = ""]
22079					#[doc = "Weight: `O(1)`"]
22080					create {
22081						#[codec(compact)]
22082						id: ::core::primitive::u32,
22083						admin: ::subxt::ext::subxt_core::utils::MultiAddress<
22084							::subxt::ext::subxt_core::utils::AccountId32,
22085							(),
22086						>,
22087						min_balance: ::core::primitive::u128,
22088					},
22089					#[codec(index = 1)]
22090					#[doc = "Issue a new class of fungible assets from a privileged origin."]
22091					#[doc = ""]
22092					#[doc = "This new asset class has no assets initially."]
22093					#[doc = ""]
22094					#[doc = "The origin must conform to `ForceOrigin`."]
22095					#[doc = ""]
22096					#[doc = "Unlike `create`, no funds are reserved."]
22097					#[doc = ""]
22098					#[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"]
22099					#[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."]
22100					#[doc = "- `owner`: The owner of this class of assets. The owner has full superuser permissions"]
22101					#[doc = "over this asset, but may later change and configure the permissions using"]
22102					#[doc = "`transfer_ownership` and `set_team`."]
22103					#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
22104					#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
22105					#[doc = ""]
22106					#[doc = "Emits `ForceCreated` event when successful."]
22107					#[doc = ""]
22108					#[doc = "Weight: `O(1)`"]
22109					force_create {
22110						#[codec(compact)]
22111						id: ::core::primitive::u32,
22112						owner: ::subxt::ext::subxt_core::utils::MultiAddress<
22113							::subxt::ext::subxt_core::utils::AccountId32,
22114							(),
22115						>,
22116						is_sufficient: ::core::primitive::bool,
22117						#[codec(compact)]
22118						min_balance: ::core::primitive::u128,
22119					},
22120					#[codec(index = 2)]
22121					#[doc = "Start the process of destroying a fungible asset class."]
22122					#[doc = ""]
22123					#[doc = "`start_destroy` is the first in a series of extrinsics that should be called, to allow"]
22124					#[doc = "destruction of an asset class."]
22125					#[doc = ""]
22126					#[doc = "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`."]
22127					#[doc = ""]
22128					#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
22129					#[doc = "  asset."]
22130					#[doc = ""]
22131					#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
22132					#[doc = "an account contains holds or freezes in place."]
22133					start_destroy {
22134						#[codec(compact)]
22135						id: ::core::primitive::u32,
22136					},
22137					#[codec(index = 3)]
22138					#[doc = "Destroy all accounts associated with a given asset."]
22139					#[doc = ""]
22140					#[doc = "`destroy_accounts` should only be called after `start_destroy` has been called, and the"]
22141					#[doc = "asset is in a `Destroying` state."]
22142					#[doc = ""]
22143					#[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"]
22144					#[doc = "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time."]
22145					#[doc = ""]
22146					#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
22147					#[doc = "  asset."]
22148					#[doc = ""]
22149					#[doc = "Each call emits the `Event::DestroyedAccounts` event."]
22150					destroy_accounts {
22151						#[codec(compact)]
22152						id: ::core::primitive::u32,
22153					},
22154					#[codec(index = 4)]
22155					#[doc = "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit)."]
22156					#[doc = ""]
22157					#[doc = "`destroy_approvals` should only be called after `start_destroy` has been called, and the"]
22158					#[doc = "asset is in a `Destroying` state."]
22159					#[doc = ""]
22160					#[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"]
22161					#[doc = "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time."]
22162					#[doc = ""]
22163					#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
22164					#[doc = "  asset."]
22165					#[doc = ""]
22166					#[doc = "Each call emits the `Event::DestroyedApprovals` event."]
22167					destroy_approvals {
22168						#[codec(compact)]
22169						id: ::core::primitive::u32,
22170					},
22171					#[codec(index = 5)]
22172					#[doc = "Complete destroying asset and unreserve currency."]
22173					#[doc = ""]
22174					#[doc = "`finish_destroy` should only be called after `start_destroy` has been called, and the"]
22175					#[doc = "asset is in a `Destroying` state. All accounts or approvals should be destroyed before"]
22176					#[doc = "hand."]
22177					#[doc = ""]
22178					#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
22179					#[doc = "  asset."]
22180					#[doc = ""]
22181					#[doc = "Each successful call emits the `Event::Destroyed` event."]
22182					finish_destroy {
22183						#[codec(compact)]
22184						id: ::core::primitive::u32,
22185					},
22186					#[codec(index = 6)]
22187					#[doc = "Mint assets of a particular class."]
22188					#[doc = ""]
22189					#[doc = "The origin must be Signed and the sender must be the Issuer of the asset `id`."]
22190					#[doc = ""]
22191					#[doc = "- `id`: The identifier of the asset to have some amount minted."]
22192					#[doc = "- `beneficiary`: The account to be credited with the minted assets."]
22193					#[doc = "- `amount`: The amount of the asset to be minted."]
22194					#[doc = ""]
22195					#[doc = "Emits `Issued` event when successful."]
22196					#[doc = ""]
22197					#[doc = "Weight: `O(1)`"]
22198					#[doc = "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`."]
22199					mint {
22200						#[codec(compact)]
22201						id: ::core::primitive::u32,
22202						beneficiary: ::subxt::ext::subxt_core::utils::MultiAddress<
22203							::subxt::ext::subxt_core::utils::AccountId32,
22204							(),
22205						>,
22206						#[codec(compact)]
22207						amount: ::core::primitive::u128,
22208					},
22209					#[codec(index = 7)]
22210					#[doc = "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`."]
22211					#[doc = ""]
22212					#[doc = "Origin must be Signed and the sender should be the Manager of the asset `id`."]
22213					#[doc = ""]
22214					#[doc = "Bails with `NoAccount` if the `who` is already dead."]
22215					#[doc = ""]
22216					#[doc = "- `id`: The identifier of the asset to have some amount burned."]
22217					#[doc = "- `who`: The account to be debited from."]
22218					#[doc = "- `amount`: The maximum amount by which `who`'s balance should be reduced."]
22219					#[doc = ""]
22220					#[doc = "Emits `Burned` with the actual amount burned. If this takes the balance to below the"]
22221					#[doc = "minimum for the asset, then the amount burned is increased to take it to zero."]
22222					#[doc = ""]
22223					#[doc = "Weight: `O(1)`"]
22224					#[doc = "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`."]
22225					burn {
22226						#[codec(compact)]
22227						id: ::core::primitive::u32,
22228						who: ::subxt::ext::subxt_core::utils::MultiAddress<
22229							::subxt::ext::subxt_core::utils::AccountId32,
22230							(),
22231						>,
22232						#[codec(compact)]
22233						amount: ::core::primitive::u128,
22234					},
22235					#[codec(index = 8)]
22236					#[doc = "Move some assets from the sender account to another."]
22237					#[doc = ""]
22238					#[doc = "Origin must be Signed."]
22239					#[doc = ""]
22240					#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
22241					#[doc = "- `target`: The account to be credited."]
22242					#[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"]
22243					#[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"]
22244					#[doc = "the case that the transfer would otherwise take the sender balance above zero but below"]
22245					#[doc = "the minimum balance. Must be greater than zero."]
22246					#[doc = ""]
22247					#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
22248					#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
22249					#[doc = "to zero."]
22250					#[doc = ""]
22251					#[doc = "Weight: `O(1)`"]
22252					#[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"]
22253					#[doc = "`target`."]
22254					transfer {
22255						#[codec(compact)]
22256						id: ::core::primitive::u32,
22257						target: ::subxt::ext::subxt_core::utils::MultiAddress<
22258							::subxt::ext::subxt_core::utils::AccountId32,
22259							(),
22260						>,
22261						#[codec(compact)]
22262						amount: ::core::primitive::u128,
22263					},
22264					#[codec(index = 9)]
22265					#[doc = "Move some assets from the sender account to another, keeping the sender account alive."]
22266					#[doc = ""]
22267					#[doc = "Origin must be Signed."]
22268					#[doc = ""]
22269					#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
22270					#[doc = "- `target`: The account to be credited."]
22271					#[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"]
22272					#[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"]
22273					#[doc = "the case that the transfer would otherwise take the sender balance above zero but below"]
22274					#[doc = "the minimum balance. Must be greater than zero."]
22275					#[doc = ""]
22276					#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
22277					#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
22278					#[doc = "to zero."]
22279					#[doc = ""]
22280					#[doc = "Weight: `O(1)`"]
22281					#[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"]
22282					#[doc = "`target`."]
22283					transfer_keep_alive {
22284						#[codec(compact)]
22285						id: ::core::primitive::u32,
22286						target: ::subxt::ext::subxt_core::utils::MultiAddress<
22287							::subxt::ext::subxt_core::utils::AccountId32,
22288							(),
22289						>,
22290						#[codec(compact)]
22291						amount: ::core::primitive::u128,
22292					},
22293					#[codec(index = 10)]
22294					#[doc = "Move some assets from one account to another."]
22295					#[doc = ""]
22296					#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
22297					#[doc = ""]
22298					#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
22299					#[doc = "- `source`: The account to be debited."]
22300					#[doc = "- `dest`: The account to be credited."]
22301					#[doc = "- `amount`: The amount by which the `source`'s balance of assets should be reduced and"]
22302					#[doc = "`dest`'s balance increased. The amount actually transferred may be slightly greater in"]
22303					#[doc = "the case that the transfer would otherwise take the `source` balance above zero but"]
22304					#[doc = "below the minimum balance. Must be greater than zero."]
22305					#[doc = ""]
22306					#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
22307					#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
22308					#[doc = "to zero."]
22309					#[doc = ""]
22310					#[doc = "Weight: `O(1)`"]
22311					#[doc = "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of"]
22312					#[doc = "`dest`."]
22313					force_transfer {
22314						#[codec(compact)]
22315						id: ::core::primitive::u32,
22316						source: ::subxt::ext::subxt_core::utils::MultiAddress<
22317							::subxt::ext::subxt_core::utils::AccountId32,
22318							(),
22319						>,
22320						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
22321							::subxt::ext::subxt_core::utils::AccountId32,
22322							(),
22323						>,
22324						#[codec(compact)]
22325						amount: ::core::primitive::u128,
22326					},
22327					#[codec(index = 11)]
22328					#[doc = "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`"]
22329					#[doc = "must already exist as an entry in `Account`s of the asset. If you want to freeze an"]
22330					#[doc = "account that does not have an entry, use `touch_other` first."]
22331					#[doc = ""]
22332					#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
22333					#[doc = ""]
22334					#[doc = "- `id`: The identifier of the asset to be frozen."]
22335					#[doc = "- `who`: The account to be frozen."]
22336					#[doc = ""]
22337					#[doc = "Emits `Frozen`."]
22338					#[doc = ""]
22339					#[doc = "Weight: `O(1)`"]
22340					freeze {
22341						#[codec(compact)]
22342						id: ::core::primitive::u32,
22343						who: ::subxt::ext::subxt_core::utils::MultiAddress<
22344							::subxt::ext::subxt_core::utils::AccountId32,
22345							(),
22346						>,
22347					},
22348					#[codec(index = 12)]
22349					#[doc = "Allow unprivileged transfers to and from an account again."]
22350					#[doc = ""]
22351					#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
22352					#[doc = ""]
22353					#[doc = "- `id`: The identifier of the asset to be frozen."]
22354					#[doc = "- `who`: The account to be unfrozen."]
22355					#[doc = ""]
22356					#[doc = "Emits `Thawed`."]
22357					#[doc = ""]
22358					#[doc = "Weight: `O(1)`"]
22359					thaw {
22360						#[codec(compact)]
22361						id: ::core::primitive::u32,
22362						who: ::subxt::ext::subxt_core::utils::MultiAddress<
22363							::subxt::ext::subxt_core::utils::AccountId32,
22364							(),
22365						>,
22366					},
22367					#[codec(index = 13)]
22368					#[doc = "Disallow further unprivileged transfers for the asset class."]
22369					#[doc = ""]
22370					#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
22371					#[doc = ""]
22372					#[doc = "- `id`: The identifier of the asset to be frozen."]
22373					#[doc = ""]
22374					#[doc = "Emits `Frozen`."]
22375					#[doc = ""]
22376					#[doc = "Weight: `O(1)`"]
22377					freeze_asset {
22378						#[codec(compact)]
22379						id: ::core::primitive::u32,
22380					},
22381					#[codec(index = 14)]
22382					#[doc = "Allow unprivileged transfers for the asset again."]
22383					#[doc = ""]
22384					#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
22385					#[doc = ""]
22386					#[doc = "- `id`: The identifier of the asset to be thawed."]
22387					#[doc = ""]
22388					#[doc = "Emits `Thawed`."]
22389					#[doc = ""]
22390					#[doc = "Weight: `O(1)`"]
22391					thaw_asset {
22392						#[codec(compact)]
22393						id: ::core::primitive::u32,
22394					},
22395					#[codec(index = 15)]
22396					#[doc = "Change the Owner of an asset."]
22397					#[doc = ""]
22398					#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
22399					#[doc = ""]
22400					#[doc = "- `id`: The identifier of the asset."]
22401					#[doc = "- `owner`: The new Owner of this asset."]
22402					#[doc = ""]
22403					#[doc = "Emits `OwnerChanged`."]
22404					#[doc = ""]
22405					#[doc = "Weight: `O(1)`"]
22406					transfer_ownership {
22407						#[codec(compact)]
22408						id: ::core::primitive::u32,
22409						owner: ::subxt::ext::subxt_core::utils::MultiAddress<
22410							::subxt::ext::subxt_core::utils::AccountId32,
22411							(),
22412						>,
22413					},
22414					#[codec(index = 16)]
22415					#[doc = "Change the Issuer, Admin and Freezer of an asset."]
22416					#[doc = ""]
22417					#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
22418					#[doc = ""]
22419					#[doc = "- `id`: The identifier of the asset to be frozen."]
22420					#[doc = "- `issuer`: The new Issuer of this asset."]
22421					#[doc = "- `admin`: The new Admin of this asset."]
22422					#[doc = "- `freezer`: The new Freezer of this asset."]
22423					#[doc = ""]
22424					#[doc = "Emits `TeamChanged`."]
22425					#[doc = ""]
22426					#[doc = "Weight: `O(1)`"]
22427					set_team {
22428						#[codec(compact)]
22429						id: ::core::primitive::u32,
22430						issuer: ::subxt::ext::subxt_core::utils::MultiAddress<
22431							::subxt::ext::subxt_core::utils::AccountId32,
22432							(),
22433						>,
22434						admin: ::subxt::ext::subxt_core::utils::MultiAddress<
22435							::subxt::ext::subxt_core::utils::AccountId32,
22436							(),
22437						>,
22438						freezer: ::subxt::ext::subxt_core::utils::MultiAddress<
22439							::subxt::ext::subxt_core::utils::AccountId32,
22440							(),
22441						>,
22442					},
22443					#[codec(index = 17)]
22444					#[doc = "Set the metadata for an asset."]
22445					#[doc = ""]
22446					#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
22447					#[doc = ""]
22448					#[doc = "Funds of sender are reserved according to the formula:"]
22449					#[doc = "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into"]
22450					#[doc = "account any already reserved funds."]
22451					#[doc = ""]
22452					#[doc = "- `id`: The identifier of the asset to update."]
22453					#[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."]
22454					#[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."]
22455					#[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."]
22456					#[doc = ""]
22457					#[doc = "Emits `MetadataSet`."]
22458					#[doc = ""]
22459					#[doc = "Weight: `O(1)`"]
22460					set_metadata {
22461						#[codec(compact)]
22462						id: ::core::primitive::u32,
22463						name: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
22464						symbol: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
22465						decimals: ::core::primitive::u8,
22466					},
22467					#[codec(index = 18)]
22468					#[doc = "Clear the metadata for an asset."]
22469					#[doc = ""]
22470					#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
22471					#[doc = ""]
22472					#[doc = "Any deposit is freed for the asset owner."]
22473					#[doc = ""]
22474					#[doc = "- `id`: The identifier of the asset to clear."]
22475					#[doc = ""]
22476					#[doc = "Emits `MetadataCleared`."]
22477					#[doc = ""]
22478					#[doc = "Weight: `O(1)`"]
22479					clear_metadata {
22480						#[codec(compact)]
22481						id: ::core::primitive::u32,
22482					},
22483					#[codec(index = 19)]
22484					#[doc = "Force the metadata for an asset to some value."]
22485					#[doc = ""]
22486					#[doc = "Origin must be ForceOrigin."]
22487					#[doc = ""]
22488					#[doc = "Any deposit is left alone."]
22489					#[doc = ""]
22490					#[doc = "- `id`: The identifier of the asset to update."]
22491					#[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."]
22492					#[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."]
22493					#[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."]
22494					#[doc = ""]
22495					#[doc = "Emits `MetadataSet`."]
22496					#[doc = ""]
22497					#[doc = "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively."]
22498					force_set_metadata {
22499						#[codec(compact)]
22500						id: ::core::primitive::u32,
22501						name: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
22502						symbol: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
22503						decimals: ::core::primitive::u8,
22504						is_frozen: ::core::primitive::bool,
22505					},
22506					#[codec(index = 20)]
22507					#[doc = "Clear the metadata for an asset."]
22508					#[doc = ""]
22509					#[doc = "Origin must be ForceOrigin."]
22510					#[doc = ""]
22511					#[doc = "Any deposit is returned."]
22512					#[doc = ""]
22513					#[doc = "- `id`: The identifier of the asset to clear."]
22514					#[doc = ""]
22515					#[doc = "Emits `MetadataCleared`."]
22516					#[doc = ""]
22517					#[doc = "Weight: `O(1)`"]
22518					force_clear_metadata {
22519						#[codec(compact)]
22520						id: ::core::primitive::u32,
22521					},
22522					#[codec(index = 21)]
22523					#[doc = "Alter the attributes of a given asset."]
22524					#[doc = ""]
22525					#[doc = "Origin must be `ForceOrigin`."]
22526					#[doc = ""]
22527					#[doc = "- `id`: The identifier of the asset."]
22528					#[doc = "- `owner`: The new Owner of this asset."]
22529					#[doc = "- `issuer`: The new Issuer of this asset."]
22530					#[doc = "- `admin`: The new Admin of this asset."]
22531					#[doc = "- `freezer`: The new Freezer of this asset."]
22532					#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
22533					#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
22534					#[doc = "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient"]
22535					#[doc = "value to account for the state bloat associated with its balance storage. If set to"]
22536					#[doc = "`true`, then non-zero balances may be stored without a `consumer` reference (and thus"]
22537					#[doc = "an ED in the Balances pallet or whatever else is used to control user-account state"]
22538					#[doc = "growth)."]
22539					#[doc = "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin"]
22540					#[doc = "instructions."]
22541					#[doc = ""]
22542					#[doc = "Emits `AssetStatusChanged` with the identity of the asset."]
22543					#[doc = ""]
22544					#[doc = "Weight: `O(1)`"]
22545					force_asset_status {
22546						#[codec(compact)]
22547						id: ::core::primitive::u32,
22548						owner: ::subxt::ext::subxt_core::utils::MultiAddress<
22549							::subxt::ext::subxt_core::utils::AccountId32,
22550							(),
22551						>,
22552						issuer: ::subxt::ext::subxt_core::utils::MultiAddress<
22553							::subxt::ext::subxt_core::utils::AccountId32,
22554							(),
22555						>,
22556						admin: ::subxt::ext::subxt_core::utils::MultiAddress<
22557							::subxt::ext::subxt_core::utils::AccountId32,
22558							(),
22559						>,
22560						freezer: ::subxt::ext::subxt_core::utils::MultiAddress<
22561							::subxt::ext::subxt_core::utils::AccountId32,
22562							(),
22563						>,
22564						#[codec(compact)]
22565						min_balance: ::core::primitive::u128,
22566						is_sufficient: ::core::primitive::bool,
22567						is_frozen: ::core::primitive::bool,
22568					},
22569					#[codec(index = 22)]
22570					#[doc = "Approve an amount of asset for transfer by a delegated third-party account."]
22571					#[doc = ""]
22572					#[doc = "Origin must be Signed."]
22573					#[doc = ""]
22574					#[doc = "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account"]
22575					#[doc = "for the purpose of holding the approval. If some non-zero amount of assets is already"]
22576					#[doc = "approved from signing account to `delegate`, then it is topped up or unreserved to"]
22577					#[doc = "meet the right value."]
22578					#[doc = ""]
22579					#[doc = "NOTE: The signing account does not need to own `amount` of assets at the point of"]
22580					#[doc = "making this call."]
22581					#[doc = ""]
22582					#[doc = "- `id`: The identifier of the asset."]
22583					#[doc = "- `delegate`: The account to delegate permission to transfer asset."]
22584					#[doc = "- `amount`: The amount of asset that may be transferred by `delegate`. If there is"]
22585					#[doc = "already an approval in place, then this acts additively."]
22586					#[doc = ""]
22587					#[doc = "Emits `ApprovedTransfer` on success."]
22588					#[doc = ""]
22589					#[doc = "Weight: `O(1)`"]
22590					approve_transfer {
22591						#[codec(compact)]
22592						id: ::core::primitive::u32,
22593						delegate: ::subxt::ext::subxt_core::utils::MultiAddress<
22594							::subxt::ext::subxt_core::utils::AccountId32,
22595							(),
22596						>,
22597						#[codec(compact)]
22598						amount: ::core::primitive::u128,
22599					},
22600					#[codec(index = 23)]
22601					#[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."]
22602					#[doc = ""]
22603					#[doc = "Origin must be Signed and there must be an approval in place between signer and"]
22604					#[doc = "`delegate`."]
22605					#[doc = ""]
22606					#[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."]
22607					#[doc = ""]
22608					#[doc = "- `id`: The identifier of the asset."]
22609					#[doc = "- `delegate`: The account delegated permission to transfer asset."]
22610					#[doc = ""]
22611					#[doc = "Emits `ApprovalCancelled` on success."]
22612					#[doc = ""]
22613					#[doc = "Weight: `O(1)`"]
22614					cancel_approval {
22615						#[codec(compact)]
22616						id: ::core::primitive::u32,
22617						delegate: ::subxt::ext::subxt_core::utils::MultiAddress<
22618							::subxt::ext::subxt_core::utils::AccountId32,
22619							(),
22620						>,
22621					},
22622					#[codec(index = 24)]
22623					#[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."]
22624					#[doc = ""]
22625					#[doc = "Origin must be either ForceOrigin or Signed origin with the signer being the Admin"]
22626					#[doc = "account of the asset `id`."]
22627					#[doc = ""]
22628					#[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."]
22629					#[doc = ""]
22630					#[doc = "- `id`: The identifier of the asset."]
22631					#[doc = "- `delegate`: The account delegated permission to transfer asset."]
22632					#[doc = ""]
22633					#[doc = "Emits `ApprovalCancelled` on success."]
22634					#[doc = ""]
22635					#[doc = "Weight: `O(1)`"]
22636					force_cancel_approval {
22637						#[codec(compact)]
22638						id: ::core::primitive::u32,
22639						owner: ::subxt::ext::subxt_core::utils::MultiAddress<
22640							::subxt::ext::subxt_core::utils::AccountId32,
22641							(),
22642						>,
22643						delegate: ::subxt::ext::subxt_core::utils::MultiAddress<
22644							::subxt::ext::subxt_core::utils::AccountId32,
22645							(),
22646						>,
22647					},
22648					#[codec(index = 25)]
22649					#[doc = "Transfer some asset balance from a previously delegated account to some third-party"]
22650					#[doc = "account."]
22651					#[doc = ""]
22652					#[doc = "Origin must be Signed and there must be an approval in place by the `owner` to the"]
22653					#[doc = "signer."]
22654					#[doc = ""]
22655					#[doc = "If the entire amount approved for transfer is transferred, then any deposit previously"]
22656					#[doc = "reserved by `approve_transfer` is unreserved."]
22657					#[doc = ""]
22658					#[doc = "- `id`: The identifier of the asset."]
22659					#[doc = "- `owner`: The account which previously approved for a transfer of at least `amount` and"]
22660					#[doc = "from which the asset balance will be withdrawn."]
22661					#[doc = "- `destination`: The account to which the asset balance of `amount` will be transferred."]
22662					#[doc = "- `amount`: The amount of assets to transfer."]
22663					#[doc = ""]
22664					#[doc = "Emits `TransferredApproved` on success."]
22665					#[doc = ""]
22666					#[doc = "Weight: `O(1)`"]
22667					transfer_approved {
22668						#[codec(compact)]
22669						id: ::core::primitive::u32,
22670						owner: ::subxt::ext::subxt_core::utils::MultiAddress<
22671							::subxt::ext::subxt_core::utils::AccountId32,
22672							(),
22673						>,
22674						destination: ::subxt::ext::subxt_core::utils::MultiAddress<
22675							::subxt::ext::subxt_core::utils::AccountId32,
22676							(),
22677						>,
22678						#[codec(compact)]
22679						amount: ::core::primitive::u128,
22680					},
22681					#[codec(index = 26)]
22682					#[doc = "Create an asset account for non-provider assets."]
22683					#[doc = ""]
22684					#[doc = "A deposit will be taken from the signer account."]
22685					#[doc = ""]
22686					#[doc = "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit"]
22687					#[doc = "  to be taken."]
22688					#[doc = "- `id`: The identifier of the asset for the account to be created."]
22689					#[doc = ""]
22690					#[doc = "Emits `Touched` event when successful."]
22691					touch {
22692						#[codec(compact)]
22693						id: ::core::primitive::u32,
22694					},
22695					#[codec(index = 27)]
22696					#[doc = "Return the deposit (if any) of an asset account or a consumer reference (if any) of an"]
22697					#[doc = "account."]
22698					#[doc = ""]
22699					#[doc = "The origin must be Signed."]
22700					#[doc = ""]
22701					#[doc = "- `id`: The identifier of the asset for which the caller would like the deposit"]
22702					#[doc = "  refunded."]
22703					#[doc = "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund."]
22704					#[doc = ""]
22705					#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
22706					#[doc = "the asset account contains holds or freezes in place."]
22707					#[doc = ""]
22708					#[doc = "Emits `Refunded` event when successful."]
22709					refund {
22710						#[codec(compact)]
22711						id: ::core::primitive::u32,
22712						allow_burn: ::core::primitive::bool,
22713					},
22714					#[codec(index = 28)]
22715					#[doc = "Sets the minimum balance of an asset."]
22716					#[doc = ""]
22717					#[doc = "Only works if there aren't any accounts that are holding the asset or if"]
22718					#[doc = "the new value of `min_balance` is less than the old one."]
22719					#[doc = ""]
22720					#[doc = "Origin must be Signed and the sender has to be the Owner of the"]
22721					#[doc = "asset `id`."]
22722					#[doc = ""]
22723					#[doc = "- `id`: The identifier of the asset."]
22724					#[doc = "- `min_balance`: The new value of `min_balance`."]
22725					#[doc = ""]
22726					#[doc = "Emits `AssetMinBalanceChanged` event when successful."]
22727					set_min_balance {
22728						#[codec(compact)]
22729						id: ::core::primitive::u32,
22730						min_balance: ::core::primitive::u128,
22731					},
22732					#[codec(index = 29)]
22733					#[doc = "Create an asset account for `who`."]
22734					#[doc = ""]
22735					#[doc = "A deposit will be taken from the signer account."]
22736					#[doc = ""]
22737					#[doc = "- `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account"]
22738					#[doc = "  must have sufficient funds for a deposit to be taken."]
22739					#[doc = "- `id`: The identifier of the asset for the account to be created."]
22740					#[doc = "- `who`: The account to be created."]
22741					#[doc = ""]
22742					#[doc = "Emits `Touched` event when successful."]
22743					touch_other {
22744						#[codec(compact)]
22745						id: ::core::primitive::u32,
22746						who: ::subxt::ext::subxt_core::utils::MultiAddress<
22747							::subxt::ext::subxt_core::utils::AccountId32,
22748							(),
22749						>,
22750					},
22751					#[codec(index = 30)]
22752					#[doc = "Return the deposit (if any) of a target asset account. Useful if you are the depositor."]
22753					#[doc = ""]
22754					#[doc = "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In"]
22755					#[doc = "order to burn a non-zero balance of the asset, the caller must be the account and should"]
22756					#[doc = "use `refund`."]
22757					#[doc = ""]
22758					#[doc = "- `id`: The identifier of the asset for the account holding a deposit."]
22759					#[doc = "- `who`: The account to refund."]
22760					#[doc = ""]
22761					#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
22762					#[doc = "the asset account contains holds or freezes in place."]
22763					#[doc = ""]
22764					#[doc = "Emits `Refunded` event when successful."]
22765					refund_other {
22766						#[codec(compact)]
22767						id: ::core::primitive::u32,
22768						who: ::subxt::ext::subxt_core::utils::MultiAddress<
22769							::subxt::ext::subxt_core::utils::AccountId32,
22770							(),
22771						>,
22772					},
22773					#[codec(index = 31)]
22774					#[doc = "Disallow further unprivileged transfers of an asset `id` to and from an account `who`."]
22775					#[doc = ""]
22776					#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
22777					#[doc = ""]
22778					#[doc = "- `id`: The identifier of the account's asset."]
22779					#[doc = "- `who`: The account to be unblocked."]
22780					#[doc = ""]
22781					#[doc = "Emits `Blocked`."]
22782					#[doc = ""]
22783					#[doc = "Weight: `O(1)`"]
22784					block {
22785						#[codec(compact)]
22786						id: ::core::primitive::u32,
22787						who: ::subxt::ext::subxt_core::utils::MultiAddress<
22788							::subxt::ext::subxt_core::utils::AccountId32,
22789							(),
22790						>,
22791					},
22792					#[codec(index = 32)]
22793					#[doc = "Transfer the entire transferable balance from the caller asset account."]
22794					#[doc = ""]
22795					#[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"]
22796					#[doc = "any held, frozen, or minimum balance (when `keep_alive` is `true`), will not be"]
22797					#[doc = "transferred by this function. To ensure that this function results in a killed account,"]
22798					#[doc = "you might need to prepare the account by removing any reference counters, storage"]
22799					#[doc = "deposits, etc..."]
22800					#[doc = ""]
22801					#[doc = "The dispatch origin of this call must be Signed."]
22802					#[doc = ""]
22803					#[doc = "- `id`: The identifier of the asset for the account holding a deposit."]
22804					#[doc = "- `dest`: The recipient of the transfer."]
22805					#[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"]
22806					#[doc = "  of the funds the asset account has, causing the sender asset account to be killed"]
22807					#[doc = "  (false), or transfer everything except at least the minimum balance, which will"]
22808					#[doc = "  guarantee to keep the sender asset account alive (true)."]
22809					transfer_all {
22810						#[codec(compact)]
22811						id: ::core::primitive::u32,
22812						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
22813							::subxt::ext::subxt_core::utils::AccountId32,
22814							(),
22815						>,
22816						keep_alive: ::core::primitive::bool,
22817					},
22818				}
22819				#[derive(
22820					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22821					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22822					Debug,
22823				)]
22824				#[decode_as_type(
22825					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22826				)]
22827				#[encode_as_type(
22828					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22829				)]
22830				#[doc = "The `Error` enum of this pallet."]
22831				pub enum Error {
22832					#[codec(index = 0)]
22833					#[doc = "Account balance must be greater than or equal to the transfer amount."]
22834					BalanceLow,
22835					#[codec(index = 1)]
22836					#[doc = "The account to alter does not exist."]
22837					NoAccount,
22838					#[codec(index = 2)]
22839					#[doc = "The signing account has no permission to do the operation."]
22840					NoPermission,
22841					#[codec(index = 3)]
22842					#[doc = "The given asset ID is unknown."]
22843					Unknown,
22844					#[codec(index = 4)]
22845					#[doc = "The origin account is frozen."]
22846					Frozen,
22847					#[codec(index = 5)]
22848					#[doc = "The asset ID is already taken."]
22849					InUse,
22850					#[codec(index = 6)]
22851					#[doc = "Invalid witness data given."]
22852					BadWitness,
22853					#[codec(index = 7)]
22854					#[doc = "Minimum balance should be non-zero."]
22855					MinBalanceZero,
22856					#[codec(index = 8)]
22857					#[doc = "Unable to increment the consumer reference counters on the account. Either no provider"]
22858					#[doc = "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one"]
22859					#[doc = "fewer then the maximum number of consumers has been reached."]
22860					UnavailableConsumer,
22861					#[codec(index = 9)]
22862					#[doc = "Invalid metadata given."]
22863					BadMetadata,
22864					#[codec(index = 10)]
22865					#[doc = "No approval exists that would allow the transfer."]
22866					Unapproved,
22867					#[codec(index = 11)]
22868					#[doc = "The source account would not survive the transfer and it needs to stay alive."]
22869					WouldDie,
22870					#[codec(index = 12)]
22871					#[doc = "The asset-account already exists."]
22872					AlreadyExists,
22873					#[codec(index = 13)]
22874					#[doc = "The asset-account doesn't have an associated deposit."]
22875					NoDeposit,
22876					#[codec(index = 14)]
22877					#[doc = "The operation would result in funds being burned."]
22878					WouldBurn,
22879					#[codec(index = 15)]
22880					#[doc = "The asset is a live asset and is actively being used. Usually emit for operations such"]
22881					#[doc = "as `start_destroy` which require the asset to be in a destroying state."]
22882					LiveAsset,
22883					#[codec(index = 16)]
22884					#[doc = "The asset is not live, and likely being destroyed."]
22885					AssetNotLive,
22886					#[codec(index = 17)]
22887					#[doc = "The asset status is not the expected status."]
22888					IncorrectStatus,
22889					#[codec(index = 18)]
22890					#[doc = "The asset should be frozen before the given operation."]
22891					NotFrozen,
22892					#[codec(index = 19)]
22893					#[doc = "Callback action resulted in error"]
22894					CallbackFailed,
22895					#[codec(index = 20)]
22896					#[doc = "The asset ID must be equal to the [`NextAssetId`]."]
22897					BadAssetId,
22898					#[codec(index = 21)]
22899					#[doc = "The asset cannot be destroyed because some accounts for this asset contain freezes."]
22900					ContainsFreezes,
22901					#[codec(index = 22)]
22902					#[doc = "The asset cannot be destroyed because some accounts for this asset contain holds."]
22903					ContainsHolds,
22904				}
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(
22911					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22912				)]
22913				#[encode_as_type(
22914					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22915				)]
22916				#[doc = "The `Event` enum of this pallet"]
22917				pub enum Event {
22918					#[codec(index = 0)]
22919					#[doc = "Some asset class was created."]
22920					Created {
22921						asset_id: ::core::primitive::u32,
22922						creator: ::subxt::ext::subxt_core::utils::AccountId32,
22923						owner: ::subxt::ext::subxt_core::utils::AccountId32,
22924					},
22925					#[codec(index = 1)]
22926					#[doc = "Some assets were issued."]
22927					Issued {
22928						asset_id: ::core::primitive::u32,
22929						owner: ::subxt::ext::subxt_core::utils::AccountId32,
22930						amount: ::core::primitive::u128,
22931					},
22932					#[codec(index = 2)]
22933					#[doc = "Some assets were transferred."]
22934					Transferred {
22935						asset_id: ::core::primitive::u32,
22936						from: ::subxt::ext::subxt_core::utils::AccountId32,
22937						to: ::subxt::ext::subxt_core::utils::AccountId32,
22938						amount: ::core::primitive::u128,
22939					},
22940					#[codec(index = 3)]
22941					#[doc = "Some assets were destroyed."]
22942					Burned {
22943						asset_id: ::core::primitive::u32,
22944						owner: ::subxt::ext::subxt_core::utils::AccountId32,
22945						balance: ::core::primitive::u128,
22946					},
22947					#[codec(index = 4)]
22948					#[doc = "The management team changed."]
22949					TeamChanged {
22950						asset_id: ::core::primitive::u32,
22951						issuer: ::subxt::ext::subxt_core::utils::AccountId32,
22952						admin: ::subxt::ext::subxt_core::utils::AccountId32,
22953						freezer: ::subxt::ext::subxt_core::utils::AccountId32,
22954					},
22955					#[codec(index = 5)]
22956					#[doc = "The owner changed."]
22957					OwnerChanged {
22958						asset_id: ::core::primitive::u32,
22959						owner: ::subxt::ext::subxt_core::utils::AccountId32,
22960					},
22961					#[codec(index = 6)]
22962					#[doc = "Some account `who` was frozen."]
22963					Frozen {
22964						asset_id: ::core::primitive::u32,
22965						who: ::subxt::ext::subxt_core::utils::AccountId32,
22966					},
22967					#[codec(index = 7)]
22968					#[doc = "Some account `who` was thawed."]
22969					Thawed {
22970						asset_id: ::core::primitive::u32,
22971						who: ::subxt::ext::subxt_core::utils::AccountId32,
22972					},
22973					#[codec(index = 8)]
22974					#[doc = "Some asset `asset_id` was frozen."]
22975					AssetFrozen { asset_id: ::core::primitive::u32 },
22976					#[codec(index = 9)]
22977					#[doc = "Some asset `asset_id` was thawed."]
22978					AssetThawed { asset_id: ::core::primitive::u32 },
22979					#[codec(index = 10)]
22980					#[doc = "Accounts were destroyed for given asset."]
22981					AccountsDestroyed {
22982						asset_id: ::core::primitive::u32,
22983						accounts_destroyed: ::core::primitive::u32,
22984						accounts_remaining: ::core::primitive::u32,
22985					},
22986					#[codec(index = 11)]
22987					#[doc = "Approvals were destroyed for given asset."]
22988					ApprovalsDestroyed {
22989						asset_id: ::core::primitive::u32,
22990						approvals_destroyed: ::core::primitive::u32,
22991						approvals_remaining: ::core::primitive::u32,
22992					},
22993					#[codec(index = 12)]
22994					#[doc = "An asset class is in the process of being destroyed."]
22995					DestructionStarted { asset_id: ::core::primitive::u32 },
22996					#[codec(index = 13)]
22997					#[doc = "An asset class was destroyed."]
22998					Destroyed { asset_id: ::core::primitive::u32 },
22999					#[codec(index = 14)]
23000					#[doc = "Some asset class was force-created."]
23001					ForceCreated {
23002						asset_id: ::core::primitive::u32,
23003						owner: ::subxt::ext::subxt_core::utils::AccountId32,
23004					},
23005					#[codec(index = 15)]
23006					#[doc = "New metadata has been set for an asset."]
23007					MetadataSet {
23008						asset_id: ::core::primitive::u32,
23009						name: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
23010						symbol: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
23011						decimals: ::core::primitive::u8,
23012						is_frozen: ::core::primitive::bool,
23013					},
23014					#[codec(index = 16)]
23015					#[doc = "Metadata has been cleared for an asset."]
23016					MetadataCleared { asset_id: ::core::primitive::u32 },
23017					#[codec(index = 17)]
23018					#[doc = "(Additional) funds have been approved for transfer to a destination account."]
23019					ApprovedTransfer {
23020						asset_id: ::core::primitive::u32,
23021						source: ::subxt::ext::subxt_core::utils::AccountId32,
23022						delegate: ::subxt::ext::subxt_core::utils::AccountId32,
23023						amount: ::core::primitive::u128,
23024					},
23025					#[codec(index = 18)]
23026					#[doc = "An approval for account `delegate` was cancelled by `owner`."]
23027					ApprovalCancelled {
23028						asset_id: ::core::primitive::u32,
23029						owner: ::subxt::ext::subxt_core::utils::AccountId32,
23030						delegate: ::subxt::ext::subxt_core::utils::AccountId32,
23031					},
23032					#[codec(index = 19)]
23033					#[doc = "An `amount` was transferred in its entirety from `owner` to `destination` by"]
23034					#[doc = "the approved `delegate`."]
23035					TransferredApproved {
23036						asset_id: ::core::primitive::u32,
23037						owner: ::subxt::ext::subxt_core::utils::AccountId32,
23038						delegate: ::subxt::ext::subxt_core::utils::AccountId32,
23039						destination: ::subxt::ext::subxt_core::utils::AccountId32,
23040						amount: ::core::primitive::u128,
23041					},
23042					#[codec(index = 20)]
23043					#[doc = "An asset has had its attributes changed by the `Force` origin."]
23044					AssetStatusChanged { asset_id: ::core::primitive::u32 },
23045					#[codec(index = 21)]
23046					#[doc = "The min_balance of an asset has been updated by the asset owner."]
23047					AssetMinBalanceChanged {
23048						asset_id: ::core::primitive::u32,
23049						new_min_balance: ::core::primitive::u128,
23050					},
23051					#[codec(index = 22)]
23052					#[doc = "Some account `who` was created with a deposit from `depositor`."]
23053					Touched {
23054						asset_id: ::core::primitive::u32,
23055						who: ::subxt::ext::subxt_core::utils::AccountId32,
23056						depositor: ::subxt::ext::subxt_core::utils::AccountId32,
23057					},
23058					#[codec(index = 23)]
23059					#[doc = "Some account `who` was blocked."]
23060					Blocked {
23061						asset_id: ::core::primitive::u32,
23062						who: ::subxt::ext::subxt_core::utils::AccountId32,
23063					},
23064					#[codec(index = 24)]
23065					#[doc = "Some assets were deposited (e.g. for transaction fees)."]
23066					Deposited {
23067						asset_id: ::core::primitive::u32,
23068						who: ::subxt::ext::subxt_core::utils::AccountId32,
23069						amount: ::core::primitive::u128,
23070					},
23071					#[codec(index = 25)]
23072					#[doc = "Some assets were withdrawn from the account (e.g. for transaction fees)."]
23073					Withdrawn {
23074						asset_id: ::core::primitive::u32,
23075						who: ::subxt::ext::subxt_core::utils::AccountId32,
23076						amount: ::core::primitive::u128,
23077					},
23078				}
23079			}
23080			pub mod types {
23081				use super::runtime_types;
23082				#[derive(
23083					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23084					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23085					Debug,
23086				)]
23087				#[decode_as_type(
23088					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23089				)]
23090				#[encode_as_type(
23091					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23092				)]
23093				pub enum AccountStatus {
23094					#[codec(index = 0)]
23095					Liquid,
23096					#[codec(index = 1)]
23097					Frozen,
23098					#[codec(index = 2)]
23099					Blocked,
23100				}
23101				#[derive(
23102					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23103					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23104					Debug,
23105				)]
23106				#[decode_as_type(
23107					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23108				)]
23109				#[encode_as_type(
23110					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23111				)]
23112				pub struct Approval<_0, _1> {
23113					pub amount: _0,
23114					pub deposit: _1,
23115				}
23116				#[derive(
23117					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23118					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23119					Debug,
23120				)]
23121				#[decode_as_type(
23122					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23123				)]
23124				#[encode_as_type(
23125					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23126				)]
23127				pub struct AssetAccount<_0, _1, _2, _3> {
23128					pub balance: _0,
23129					pub status: runtime_types::pallet_assets::types::AccountStatus,
23130					pub reason: runtime_types::pallet_assets::types::ExistenceReason<_0, _3>,
23131					pub extra: _2,
23132					#[codec(skip)]
23133					pub __ignore: ::core::marker::PhantomData<_1>,
23134				}
23135				#[derive(
23136					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23137					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23138					Debug,
23139				)]
23140				#[decode_as_type(
23141					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23142				)]
23143				#[encode_as_type(
23144					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23145				)]
23146				pub struct AssetDetails<_0, _1, _2> {
23147					pub owner: _1,
23148					pub issuer: _1,
23149					pub admin: _1,
23150					pub freezer: _1,
23151					pub supply: _0,
23152					pub deposit: _2,
23153					pub min_balance: _0,
23154					pub is_sufficient: ::core::primitive::bool,
23155					pub accounts: ::core::primitive::u32,
23156					pub sufficients: ::core::primitive::u32,
23157					pub approvals: ::core::primitive::u32,
23158					pub status: runtime_types::pallet_assets::types::AssetStatus,
23159				}
23160				#[derive(
23161					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23162					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23163					Debug,
23164				)]
23165				#[decode_as_type(
23166					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23167				)]
23168				#[encode_as_type(
23169					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23170				)]
23171				pub struct AssetMetadata<_0, _1> {
23172					pub deposit: _0,
23173					pub name: _1,
23174					pub symbol: _1,
23175					pub decimals: ::core::primitive::u8,
23176					pub is_frozen: ::core::primitive::bool,
23177				}
23178				#[derive(
23179					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23180					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23181					Debug,
23182				)]
23183				#[decode_as_type(
23184					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23185				)]
23186				#[encode_as_type(
23187					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23188				)]
23189				pub enum AssetStatus {
23190					#[codec(index = 0)]
23191					Live,
23192					#[codec(index = 1)]
23193					Frozen,
23194					#[codec(index = 2)]
23195					Destroying,
23196				}
23197				#[derive(
23198					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23199					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23200					Debug,
23201				)]
23202				#[decode_as_type(
23203					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23204				)]
23205				#[encode_as_type(
23206					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23207				)]
23208				pub enum ExistenceReason<_0, _1> {
23209					#[codec(index = 0)]
23210					Consumer,
23211					#[codec(index = 1)]
23212					Sufficient,
23213					#[codec(index = 2)]
23214					DepositHeld(_0),
23215					#[codec(index = 3)]
23216					DepositRefunded,
23217					#[codec(index = 4)]
23218					DepositFrom(_1, _0),
23219				}
23220			}
23221		}
23222		pub mod pallet_assets_holder {
23223			use super::runtime_types;
23224			pub mod pallet {
23225				use super::runtime_types;
23226				#[derive(
23227					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23228					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23229					Debug,
23230				)]
23231				#[decode_as_type(
23232					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23233				)]
23234				#[encode_as_type(
23235					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23236				)]
23237				#[doc = "The `Error` enum of this pallet."]
23238				pub enum Error {
23239					#[codec(index = 0)]
23240					#[doc = "Number of holds on an account would exceed the count of `RuntimeHoldReason`."]
23241					TooManyHolds,
23242				}
23243				#[derive(
23244					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23245					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23246					Debug,
23247				)]
23248				#[decode_as_type(
23249					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23250				)]
23251				#[encode_as_type(
23252					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23253				)]
23254				#[doc = "The `Event` enum of this pallet"]
23255				pub enum Event {
23256					#[codec(index = 0)]
23257					#[doc = "`who`s balance on hold was increased by `amount`."]
23258					Held {
23259						who: ::subxt::ext::subxt_core::utils::AccountId32,
23260						asset_id: ::core::primitive::u32,
23261						reason: runtime_types::quantus_runtime::RuntimeHoldReason,
23262						amount: ::core::primitive::u128,
23263					},
23264					#[codec(index = 1)]
23265					#[doc = "`who`s balance on hold was decreased by `amount`."]
23266					Released {
23267						who: ::subxt::ext::subxt_core::utils::AccountId32,
23268						asset_id: ::core::primitive::u32,
23269						reason: runtime_types::quantus_runtime::RuntimeHoldReason,
23270						amount: ::core::primitive::u128,
23271					},
23272					#[codec(index = 2)]
23273					#[doc = "`who`s balance on hold was burned by `amount`."]
23274					Burned {
23275						who: ::subxt::ext::subxt_core::utils::AccountId32,
23276						asset_id: ::core::primitive::u32,
23277						reason: runtime_types::quantus_runtime::RuntimeHoldReason,
23278						amount: ::core::primitive::u128,
23279					},
23280				}
23281			}
23282		}
23283		pub mod pallet_balances {
23284			use super::runtime_types;
23285			pub mod pallet {
23286				use super::runtime_types;
23287				#[derive(
23288					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23289					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23290					Debug,
23291				)]
23292				#[decode_as_type(
23293					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23294				)]
23295				#[encode_as_type(
23296					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23297				)]
23298				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
23299				pub enum Call {
23300					#[codec(index = 0)]
23301					#[doc = "Transfer some liquid free balance to another account."]
23302					#[doc = ""]
23303					#[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."]
23304					#[doc = "If the sender's account is below the existential deposit as a result"]
23305					#[doc = "of the transfer, the account will be reaped."]
23306					#[doc = ""]
23307					#[doc = "The dispatch origin for this call must be `Signed` by the transactor."]
23308					transfer_allow_death {
23309						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
23310							::subxt::ext::subxt_core::utils::AccountId32,
23311							(),
23312						>,
23313						#[codec(compact)]
23314						value: ::core::primitive::u128,
23315					},
23316					#[codec(index = 2)]
23317					#[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"]
23318					#[doc = "may be specified."]
23319					force_transfer {
23320						source: ::subxt::ext::subxt_core::utils::MultiAddress<
23321							::subxt::ext::subxt_core::utils::AccountId32,
23322							(),
23323						>,
23324						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
23325							::subxt::ext::subxt_core::utils::AccountId32,
23326							(),
23327						>,
23328						#[codec(compact)]
23329						value: ::core::primitive::u128,
23330					},
23331					#[codec(index = 3)]
23332					#[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"]
23333					#[doc = "kill the origin account."]
23334					#[doc = ""]
23335					#[doc = "99% of the time you want [`transfer_allow_death`] instead."]
23336					#[doc = ""]
23337					#[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"]
23338					transfer_keep_alive {
23339						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
23340							::subxt::ext::subxt_core::utils::AccountId32,
23341							(),
23342						>,
23343						#[codec(compact)]
23344						value: ::core::primitive::u128,
23345					},
23346					#[codec(index = 4)]
23347					#[doc = "Transfer the entire transferable balance from the caller account."]
23348					#[doc = ""]
23349					#[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"]
23350					#[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"]
23351					#[doc = "transferred by this function. To ensure that this function results in a killed account,"]
23352					#[doc = "you might need to prepare the account by removing any reference counters, storage"]
23353					#[doc = "deposits, etc..."]
23354					#[doc = ""]
23355					#[doc = "The dispatch origin of this call must be Signed."]
23356					#[doc = ""]
23357					#[doc = "- `dest`: The recipient of the transfer."]
23358					#[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"]
23359					#[doc = "  of the funds the account has, causing the sender account to be killed (false), or"]
23360					#[doc = "  transfer everything except at least the existential deposit, which will guarantee to"]
23361					#[doc = "  keep the sender account alive (true)."]
23362					transfer_all {
23363						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
23364							::subxt::ext::subxt_core::utils::AccountId32,
23365							(),
23366						>,
23367						keep_alive: ::core::primitive::bool,
23368					},
23369					#[codec(index = 5)]
23370					#[doc = "Unreserve some balance from a user by force."]
23371					#[doc = ""]
23372					#[doc = "Can only be called by ROOT."]
23373					force_unreserve {
23374						who: ::subxt::ext::subxt_core::utils::MultiAddress<
23375							::subxt::ext::subxt_core::utils::AccountId32,
23376							(),
23377						>,
23378						amount: ::core::primitive::u128,
23379					},
23380					#[codec(index = 6)]
23381					#[doc = "Upgrade a specified account."]
23382					#[doc = ""]
23383					#[doc = "- `origin`: Must be `Signed`."]
23384					#[doc = "- `who`: The account to be upgraded."]
23385					#[doc = ""]
23386					#[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"]
23387					#[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"]
23388					#[doc = "possibility of churn)."]
23389					upgrade_accounts {
23390						who: ::subxt::ext::subxt_core::alloc::vec::Vec<
23391							::subxt::ext::subxt_core::utils::AccountId32,
23392						>,
23393					},
23394					#[codec(index = 8)]
23395					#[doc = "Set the regular balance of a given account."]
23396					#[doc = ""]
23397					#[doc = "The dispatch origin for this call is `root`."]
23398					force_set_balance {
23399						who: ::subxt::ext::subxt_core::utils::MultiAddress<
23400							::subxt::ext::subxt_core::utils::AccountId32,
23401							(),
23402						>,
23403						#[codec(compact)]
23404						new_free: ::core::primitive::u128,
23405					},
23406					#[codec(index = 9)]
23407					#[doc = "Adjust the total issuance in a saturating way."]
23408					#[doc = ""]
23409					#[doc = "Can only be called by root and always needs a positive `delta`."]
23410					#[doc = ""]
23411					#[doc = "# Example"]
23412					force_adjust_total_issuance {
23413						direction: runtime_types::pallet_balances::types::AdjustmentDirection,
23414						#[codec(compact)]
23415						delta: ::core::primitive::u128,
23416					},
23417					#[codec(index = 10)]
23418					#[doc = "Burn the specified liquid free balance from the origin account."]
23419					#[doc = ""]
23420					#[doc = "If the origin's account ends up below the existential deposit as a result"]
23421					#[doc = "of the burn and `keep_alive` is false, the account will be reaped."]
23422					#[doc = ""]
23423					#[doc = "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,"]
23424					#[doc = "this `burn` operation will reduce total issuance by the amount _burned_."]
23425					burn {
23426						#[codec(compact)]
23427						value: ::core::primitive::u128,
23428						keep_alive: ::core::primitive::bool,
23429					},
23430				}
23431				#[derive(
23432					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23433					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23434					Debug,
23435				)]
23436				#[decode_as_type(
23437					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23438				)]
23439				#[encode_as_type(
23440					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23441				)]
23442				#[doc = "The `Error` enum of this pallet."]
23443				pub enum Error {
23444					#[codec(index = 0)]
23445					#[doc = "Vesting balance too high to send value."]
23446					VestingBalance,
23447					#[codec(index = 1)]
23448					#[doc = "Account liquidity restrictions prevent withdrawal."]
23449					LiquidityRestrictions,
23450					#[codec(index = 2)]
23451					#[doc = "Balance too low to send value."]
23452					InsufficientBalance,
23453					#[codec(index = 3)]
23454					#[doc = "Value too low to create account due to existential deposit."]
23455					ExistentialDeposit,
23456					#[codec(index = 4)]
23457					#[doc = "Transfer/payment would kill account."]
23458					Expendability,
23459					#[codec(index = 5)]
23460					#[doc = "A vesting schedule already exists for this account."]
23461					ExistingVestingSchedule,
23462					#[codec(index = 6)]
23463					#[doc = "Beneficiary account must pre-exist."]
23464					DeadAccount,
23465					#[codec(index = 7)]
23466					#[doc = "Number of named reserves exceed `MaxReserves`."]
23467					TooManyReserves,
23468					#[codec(index = 8)]
23469					#[doc = "Number of holds exceed `VariantCountOf<T::RuntimeHoldReason>`."]
23470					TooManyHolds,
23471					#[codec(index = 9)]
23472					#[doc = "Number of freezes exceed `MaxFreezes`."]
23473					TooManyFreezes,
23474					#[codec(index = 10)]
23475					#[doc = "The issuance cannot be modified since it is already deactivated."]
23476					IssuanceDeactivated,
23477					#[codec(index = 11)]
23478					#[doc = "The delta cannot be zero."]
23479					DeltaZero,
23480				}
23481				#[derive(
23482					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23483					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23484					Debug,
23485				)]
23486				#[decode_as_type(
23487					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23488				)]
23489				#[encode_as_type(
23490					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23491				)]
23492				#[doc = "The `Event` enum of this pallet"]
23493				pub enum Event {
23494					#[codec(index = 0)]
23495					#[doc = "An account was created with some free balance."]
23496					Endowed {
23497						account: ::subxt::ext::subxt_core::utils::AccountId32,
23498						free_balance: ::core::primitive::u128,
23499					},
23500					#[codec(index = 1)]
23501					#[doc = "An account was removed whose balance was non-zero but below ExistentialDeposit,"]
23502					#[doc = "resulting in an outright loss."]
23503					DustLost {
23504						account: ::subxt::ext::subxt_core::utils::AccountId32,
23505						amount: ::core::primitive::u128,
23506					},
23507					#[codec(index = 2)]
23508					#[doc = "Transfer succeeded."]
23509					Transfer {
23510						from: ::subxt::ext::subxt_core::utils::AccountId32,
23511						to: ::subxt::ext::subxt_core::utils::AccountId32,
23512						amount: ::core::primitive::u128,
23513					},
23514					#[codec(index = 3)]
23515					#[doc = "A balance was set by root."]
23516					BalanceSet {
23517						who: ::subxt::ext::subxt_core::utils::AccountId32,
23518						free: ::core::primitive::u128,
23519					},
23520					#[codec(index = 4)]
23521					#[doc = "Some balance was reserved (moved from free to reserved)."]
23522					Reserved {
23523						who: ::subxt::ext::subxt_core::utils::AccountId32,
23524						amount: ::core::primitive::u128,
23525					},
23526					#[codec(index = 5)]
23527					#[doc = "Some balance was unreserved (moved from reserved to free)."]
23528					Unreserved {
23529						who: ::subxt::ext::subxt_core::utils::AccountId32,
23530						amount: ::core::primitive::u128,
23531					},
23532					#[codec(index = 6)]
23533					#[doc = "Some balance was moved from the reserve of the first account to the second account."]
23534					#[doc = "Final argument indicates the destination balance type."]
23535					ReserveRepatriated {
23536						from: ::subxt::ext::subxt_core::utils::AccountId32,
23537						to: ::subxt::ext::subxt_core::utils::AccountId32,
23538						amount: ::core::primitive::u128,
23539						destination_status:
23540							runtime_types::frame_support::traits::tokens::misc::BalanceStatus,
23541					},
23542					#[codec(index = 7)]
23543					#[doc = "Some amount was deposited (e.g. for transaction fees)."]
23544					Deposit {
23545						who: ::subxt::ext::subxt_core::utils::AccountId32,
23546						amount: ::core::primitive::u128,
23547					},
23548					#[codec(index = 8)]
23549					#[doc = "Some amount was withdrawn from the account (e.g. for transaction fees)."]
23550					Withdraw {
23551						who: ::subxt::ext::subxt_core::utils::AccountId32,
23552						amount: ::core::primitive::u128,
23553					},
23554					#[codec(index = 9)]
23555					#[doc = "Some amount was removed from the account (e.g. for misbehavior)."]
23556					Slashed {
23557						who: ::subxt::ext::subxt_core::utils::AccountId32,
23558						amount: ::core::primitive::u128,
23559					},
23560					#[codec(index = 10)]
23561					#[doc = "Some amount was minted into an account."]
23562					Minted {
23563						who: ::subxt::ext::subxt_core::utils::AccountId32,
23564						amount: ::core::primitive::u128,
23565					},
23566					#[codec(index = 11)]
23567					#[doc = "Some amount was burned from an account."]
23568					Burned {
23569						who: ::subxt::ext::subxt_core::utils::AccountId32,
23570						amount: ::core::primitive::u128,
23571					},
23572					#[codec(index = 12)]
23573					#[doc = "Some amount was suspended from an account (it can be restored later)."]
23574					Suspended {
23575						who: ::subxt::ext::subxt_core::utils::AccountId32,
23576						amount: ::core::primitive::u128,
23577					},
23578					#[codec(index = 13)]
23579					#[doc = "Some amount was restored into an account."]
23580					Restored {
23581						who: ::subxt::ext::subxt_core::utils::AccountId32,
23582						amount: ::core::primitive::u128,
23583					},
23584					#[codec(index = 14)]
23585					#[doc = "An account was upgraded."]
23586					Upgraded { who: ::subxt::ext::subxt_core::utils::AccountId32 },
23587					#[codec(index = 15)]
23588					#[doc = "Total issuance was increased by `amount`, creating a credit to be balanced."]
23589					Issued { amount: ::core::primitive::u128 },
23590					#[codec(index = 16)]
23591					#[doc = "Total issuance was decreased by `amount`, creating a debt to be balanced."]
23592					Rescinded { amount: ::core::primitive::u128 },
23593					#[codec(index = 17)]
23594					#[doc = "Some balance was locked."]
23595					Locked {
23596						who: ::subxt::ext::subxt_core::utils::AccountId32,
23597						amount: ::core::primitive::u128,
23598					},
23599					#[codec(index = 18)]
23600					#[doc = "Some balance was unlocked."]
23601					Unlocked {
23602						who: ::subxt::ext::subxt_core::utils::AccountId32,
23603						amount: ::core::primitive::u128,
23604					},
23605					#[codec(index = 19)]
23606					#[doc = "Some balance was frozen."]
23607					Frozen {
23608						who: ::subxt::ext::subxt_core::utils::AccountId32,
23609						amount: ::core::primitive::u128,
23610					},
23611					#[codec(index = 20)]
23612					#[doc = "Some balance was thawed."]
23613					Thawed {
23614						who: ::subxt::ext::subxt_core::utils::AccountId32,
23615						amount: ::core::primitive::u128,
23616					},
23617					#[codec(index = 21)]
23618					#[doc = "The `TotalIssuance` was forcefully changed."]
23619					TotalIssuanceForced {
23620						old: ::core::primitive::u128,
23621						new: ::core::primitive::u128,
23622					},
23623				}
23624			}
23625			pub mod types {
23626				use super::runtime_types;
23627				#[derive(
23628					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23629					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23630					Debug,
23631				)]
23632				#[decode_as_type(
23633					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23634				)]
23635				#[encode_as_type(
23636					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23637				)]
23638				pub struct AccountData<_0> {
23639					pub free: _0,
23640					pub reserved: _0,
23641					pub frozen: _0,
23642					pub flags: runtime_types::pallet_balances::types::ExtraFlags,
23643				}
23644				#[derive(
23645					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23646					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23647					Debug,
23648				)]
23649				#[decode_as_type(
23650					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23651				)]
23652				#[encode_as_type(
23653					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23654				)]
23655				pub enum AdjustmentDirection {
23656					#[codec(index = 0)]
23657					Increase,
23658					#[codec(index = 1)]
23659					Decrease,
23660				}
23661				#[derive(
23662					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23663					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23664					Debug,
23665				)]
23666				#[decode_as_type(
23667					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23668				)]
23669				#[encode_as_type(
23670					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23671				)]
23672				pub struct BalanceLock<_0> {
23673					pub id: [::core::primitive::u8; 8usize],
23674					pub amount: _0,
23675					pub reasons: runtime_types::pallet_balances::types::Reasons,
23676				}
23677				#[derive(
23678					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23679					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23680					Debug,
23681				)]
23682				#[decode_as_type(
23683					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23684				)]
23685				#[encode_as_type(
23686					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23687				)]
23688				pub struct ExtraFlags(pub ::core::primitive::u128);
23689				#[derive(
23690					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23691					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23692					Debug,
23693				)]
23694				#[decode_as_type(
23695					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23696				)]
23697				#[encode_as_type(
23698					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23699				)]
23700				pub enum Reasons {
23701					#[codec(index = 0)]
23702					Fee,
23703					#[codec(index = 1)]
23704					Misc,
23705					#[codec(index = 2)]
23706					All,
23707				}
23708				#[derive(
23709					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23710					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23711					Debug,
23712				)]
23713				#[decode_as_type(
23714					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23715				)]
23716				#[encode_as_type(
23717					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23718				)]
23719				pub struct ReserveData<_0, _1> {
23720					pub id: _0,
23721					pub amount: _1,
23722				}
23723			}
23724		}
23725		pub mod pallet_conviction_voting {
23726			use super::runtime_types;
23727			pub mod conviction {
23728				use super::runtime_types;
23729				#[derive(
23730					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23731					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23732					Debug,
23733				)]
23734				#[decode_as_type(
23735					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23736				)]
23737				#[encode_as_type(
23738					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23739				)]
23740				pub enum Conviction {
23741					#[codec(index = 0)]
23742					None,
23743					#[codec(index = 1)]
23744					Locked1x,
23745					#[codec(index = 2)]
23746					Locked2x,
23747					#[codec(index = 3)]
23748					Locked3x,
23749					#[codec(index = 4)]
23750					Locked4x,
23751					#[codec(index = 5)]
23752					Locked5x,
23753					#[codec(index = 6)]
23754					Locked6x,
23755				}
23756			}
23757			pub mod pallet {
23758				use super::runtime_types;
23759				#[derive(
23760					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23761					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23762					Debug,
23763				)]
23764				#[decode_as_type(
23765					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23766				)]
23767				#[encode_as_type(
23768					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23769				)]
23770				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
23771				pub enum Call {
23772					#[codec(index = 0)]
23773					#[doc = "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;"]
23774					#[doc = "otherwise it is a vote to keep the status quo."]
23775					#[doc = ""]
23776					#[doc = "The dispatch origin of this call must be _Signed_."]
23777					#[doc = ""]
23778					#[doc = "- `poll_index`: The index of the poll to vote for."]
23779					#[doc = "- `vote`: The vote configuration."]
23780					#[doc = ""]
23781					#[doc = "Weight: `O(R)` where R is the number of polls the voter has voted on."]
23782					vote {
23783						#[codec(compact)]
23784						poll_index: ::core::primitive::u32,
23785						vote: runtime_types::pallet_conviction_voting::vote::AccountVote<
23786							::core::primitive::u128,
23787						>,
23788					},
23789					#[codec(index = 1)]
23790					#[doc = "Delegate the voting power (with some given conviction) of the sending account for a"]
23791					#[doc = "particular class of polls."]
23792					#[doc = ""]
23793					#[doc = "The balance delegated is locked for as long as it's delegated, and thereafter for the"]
23794					#[doc = "time appropriate for the conviction's lock period."]
23795					#[doc = ""]
23796					#[doc = "The dispatch origin of this call must be _Signed_, and the signing account must either:"]
23797					#[doc = "  - be delegating already; or"]
23798					#[doc = "  - have no voting activity (if there is, then it will need to be removed through"]
23799					#[doc = "    `remove_vote`)."]
23800					#[doc = ""]
23801					#[doc = "- `to`: The account whose voting the `target` account's voting power will follow."]
23802					#[doc = "- `class`: The class of polls to delegate. To delegate multiple classes, multiple calls"]
23803					#[doc = "  to this function are required."]
23804					#[doc = "- `conviction`: The conviction that will be attached to the delegated votes. When the"]
23805					#[doc = "  account is undelegated, the funds will be locked for the corresponding period."]
23806					#[doc = "- `balance`: The amount of the account's balance to be used in delegating. This must not"]
23807					#[doc = "  be more than the account's current balance."]
23808					#[doc = ""]
23809					#[doc = "Emits `Delegated`."]
23810					#[doc = ""]
23811					#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
23812					#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
23813					delegate {
23814						class: ::core::primitive::u16,
23815						to: ::subxt::ext::subxt_core::utils::MultiAddress<
23816							::subxt::ext::subxt_core::utils::AccountId32,
23817							(),
23818						>,
23819						conviction: runtime_types::pallet_conviction_voting::conviction::Conviction,
23820						balance: ::core::primitive::u128,
23821					},
23822					#[codec(index = 2)]
23823					#[doc = "Undelegate the voting power of the sending account for a particular class of polls."]
23824					#[doc = ""]
23825					#[doc = "Tokens may be unlocked following once an amount of time consistent with the lock period"]
23826					#[doc = "of the conviction with which the delegation was issued has passed."]
23827					#[doc = ""]
23828					#[doc = "The dispatch origin of this call must be _Signed_ and the signing account must be"]
23829					#[doc = "currently delegating."]
23830					#[doc = ""]
23831					#[doc = "- `class`: The class of polls to remove the delegation from."]
23832					#[doc = ""]
23833					#[doc = "Emits `Undelegated`."]
23834					#[doc = ""]
23835					#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
23836					#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
23837					undelegate { class: ::core::primitive::u16 },
23838					#[codec(index = 3)]
23839					#[doc = "Remove the lock caused by prior voting/delegating which has expired within a particular"]
23840					#[doc = "class."]
23841					#[doc = ""]
23842					#[doc = "The dispatch origin of this call must be _Signed_."]
23843					#[doc = ""]
23844					#[doc = "- `class`: The class of polls to unlock."]
23845					#[doc = "- `target`: The account to remove the lock on."]
23846					#[doc = ""]
23847					#[doc = "Weight: `O(R)` with R number of vote of target."]
23848					unlock {
23849						class: ::core::primitive::u16,
23850						target: ::subxt::ext::subxt_core::utils::MultiAddress<
23851							::subxt::ext::subxt_core::utils::AccountId32,
23852							(),
23853						>,
23854					},
23855					#[codec(index = 4)]
23856					#[doc = "Remove a vote for a poll."]
23857					#[doc = ""]
23858					#[doc = "If:"]
23859					#[doc = "- the poll was cancelled, or"]
23860					#[doc = "- the poll is ongoing, or"]
23861					#[doc = "- the poll has ended such that"]
23862					#[doc = "  - the vote of the account was in opposition to the result; or"]
23863					#[doc = "  - there was no conviction to the account's vote; or"]
23864					#[doc = "  - the account made a split vote"]
23865					#[doc = "...then the vote is removed cleanly and a following call to `unlock` may result in more"]
23866					#[doc = "funds being available."]
23867					#[doc = ""]
23868					#[doc = "If, however, the poll has ended and:"]
23869					#[doc = "- it finished corresponding to the vote of the account, and"]
23870					#[doc = "- the account made a standard vote with conviction, and"]
23871					#[doc = "- the lock period of the conviction is not over"]
23872					#[doc = "...then the lock will be aggregated into the overall account's lock, which may involve"]
23873					#[doc = "*overlocking* (where the two locks are combined into a single lock that is the maximum"]
23874					#[doc = "of both the amount locked and the time is it locked for)."]
23875					#[doc = ""]
23876					#[doc = "The dispatch origin of this call must be _Signed_, and the signer must have a vote"]
23877					#[doc = "registered for poll `index`."]
23878					#[doc = ""]
23879					#[doc = "- `index`: The index of poll of the vote to be removed."]
23880					#[doc = "- `class`: Optional parameter, if given it indicates the class of the poll. For polls"]
23881					#[doc = "  which have finished or are cancelled, this must be `Some`."]
23882					#[doc = ""]
23883					#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
23884					#[doc = "  Weight is calculated for the maximum number of vote."]
23885					remove_vote {
23886						class: ::core::option::Option<::core::primitive::u16>,
23887						index: ::core::primitive::u32,
23888					},
23889					#[codec(index = 5)]
23890					#[doc = "Remove a vote for a poll."]
23891					#[doc = ""]
23892					#[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"]
23893					#[doc = "`remove_vote`. If not equal to the signer, then the vote must have expired,"]
23894					#[doc = "either because the poll was cancelled, because the voter lost the poll or"]
23895					#[doc = "because the conviction period is over."]
23896					#[doc = ""]
23897					#[doc = "The dispatch origin of this call must be _Signed_."]
23898					#[doc = ""]
23899					#[doc = "- `target`: The account of the vote to be removed; this account must have voted for poll"]
23900					#[doc = "  `index`."]
23901					#[doc = "- `index`: The index of poll of the vote to be removed."]
23902					#[doc = "- `class`: The class of the poll."]
23903					#[doc = ""]
23904					#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
23905					#[doc = "  Weight is calculated for the maximum number of vote."]
23906					remove_other_vote {
23907						target: ::subxt::ext::subxt_core::utils::MultiAddress<
23908							::subxt::ext::subxt_core::utils::AccountId32,
23909							(),
23910						>,
23911						class: ::core::primitive::u16,
23912						index: ::core::primitive::u32,
23913					},
23914				}
23915				#[derive(
23916					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23917					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23918					Debug,
23919				)]
23920				#[decode_as_type(
23921					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23922				)]
23923				#[encode_as_type(
23924					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23925				)]
23926				#[doc = "The `Error` enum of this pallet."]
23927				pub enum Error {
23928					#[codec(index = 0)]
23929					#[doc = "Poll is not ongoing."]
23930					NotOngoing,
23931					#[codec(index = 1)]
23932					#[doc = "The given account did not vote on the poll."]
23933					NotVoter,
23934					#[codec(index = 2)]
23935					#[doc = "The actor has no permission to conduct the action."]
23936					NoPermission,
23937					#[codec(index = 3)]
23938					#[doc = "The actor has no permission to conduct the action right now but will do in the future."]
23939					NoPermissionYet,
23940					#[codec(index = 4)]
23941					#[doc = "The account is already delegating."]
23942					AlreadyDelegating,
23943					#[codec(index = 5)]
23944					#[doc = "The account currently has votes attached to it and the operation cannot succeed until"]
23945					#[doc = "these are removed through `remove_vote`."]
23946					AlreadyVoting,
23947					#[codec(index = 6)]
23948					#[doc = "Too high a balance was provided that the account cannot afford."]
23949					InsufficientFunds,
23950					#[codec(index = 7)]
23951					#[doc = "The account is not currently delegating."]
23952					NotDelegating,
23953					#[codec(index = 8)]
23954					#[doc = "Delegation to oneself makes no sense."]
23955					Nonsense,
23956					#[codec(index = 9)]
23957					#[doc = "Maximum number of votes reached."]
23958					MaxVotesReached,
23959					#[codec(index = 10)]
23960					#[doc = "The class must be supplied since it is not easily determinable from the state."]
23961					ClassNeeded,
23962					#[codec(index = 11)]
23963					#[doc = "The class ID supplied is invalid."]
23964					BadClass,
23965				}
23966				#[derive(
23967					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23968					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23969					Debug,
23970				)]
23971				#[decode_as_type(
23972					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23973				)]
23974				#[encode_as_type(
23975					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23976				)]
23977				#[doc = "The `Event` enum of this pallet"]
23978				pub enum Event {
23979					#[codec(index = 0)]
23980					#[doc = "An account has delegated their vote to another account. \\[who, target\\]"]
23981					Delegated(
23982						::subxt::ext::subxt_core::utils::AccountId32,
23983						::subxt::ext::subxt_core::utils::AccountId32,
23984					),
23985					#[codec(index = 1)]
23986					#[doc = "An \\[account\\] has cancelled a previous delegation operation."]
23987					Undelegated(::subxt::ext::subxt_core::utils::AccountId32),
23988					#[codec(index = 2)]
23989					#[doc = "An account has voted"]
23990					Voted {
23991						who: ::subxt::ext::subxt_core::utils::AccountId32,
23992						vote: runtime_types::pallet_conviction_voting::vote::AccountVote<
23993							::core::primitive::u128,
23994						>,
23995					},
23996					#[codec(index = 3)]
23997					#[doc = "A vote has been removed"]
23998					VoteRemoved {
23999						who: ::subxt::ext::subxt_core::utils::AccountId32,
24000						vote: runtime_types::pallet_conviction_voting::vote::AccountVote<
24001							::core::primitive::u128,
24002						>,
24003					},
24004					#[codec(index = 4)]
24005					#[doc = "The lockup period of a conviction vote expired, and the funds have been unlocked."]
24006					VoteUnlocked {
24007						who: ::subxt::ext::subxt_core::utils::AccountId32,
24008						class: ::core::primitive::u16,
24009					},
24010				}
24011			}
24012			pub mod types {
24013				use super::runtime_types;
24014				#[derive(
24015					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24016					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24017					Debug,
24018				)]
24019				#[decode_as_type(
24020					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24021				)]
24022				#[encode_as_type(
24023					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24024				)]
24025				pub struct Delegations<_0> {
24026					pub votes: _0,
24027					pub capital: _0,
24028				}
24029				#[derive(
24030					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24031					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24032					Debug,
24033				)]
24034				#[decode_as_type(
24035					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24036				)]
24037				#[encode_as_type(
24038					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24039				)]
24040				pub struct Tally<_0> {
24041					pub ayes: _0,
24042					pub nays: _0,
24043					pub support: _0,
24044				}
24045			}
24046			pub mod vote {
24047				use super::runtime_types;
24048				#[derive(
24049					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24050					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24051					Debug,
24052				)]
24053				#[decode_as_type(
24054					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24055				)]
24056				#[encode_as_type(
24057					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24058				)]
24059				pub enum AccountVote<_0> {
24060					#[codec(index = 0)]
24061					Standard {
24062						vote: runtime_types::pallet_conviction_voting::vote::Vote,
24063						balance: _0,
24064					},
24065					#[codec(index = 1)]
24066					Split { aye: _0, nay: _0 },
24067					#[codec(index = 2)]
24068					SplitAbstain { aye: _0, nay: _0, abstain: _0 },
24069				}
24070				#[derive(
24071					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24072					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24073					Debug,
24074				)]
24075				#[decode_as_type(
24076					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24077				)]
24078				#[encode_as_type(
24079					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24080				)]
24081				pub struct Casting<_0, _1, _2> {
24082					pub votes: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
24083						_1,
24084						runtime_types::pallet_conviction_voting::vote::AccountVote<_0>,
24085					)>,
24086					pub delegations:
24087						runtime_types::pallet_conviction_voting::types::Delegations<_0>,
24088					pub prior: runtime_types::pallet_conviction_voting::vote::PriorLock<_1, _0>,
24089					#[codec(skip)]
24090					pub __ignore: ::core::marker::PhantomData<_2>,
24091				}
24092				#[derive(
24093					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24094					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24095					Debug,
24096				)]
24097				#[decode_as_type(
24098					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24099				)]
24100				#[encode_as_type(
24101					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24102				)]
24103				pub struct Delegating<_0, _1, _2> {
24104					pub balance: _0,
24105					pub target: _1,
24106					pub conviction: runtime_types::pallet_conviction_voting::conviction::Conviction,
24107					pub delegations:
24108						runtime_types::pallet_conviction_voting::types::Delegations<_0>,
24109					pub prior: runtime_types::pallet_conviction_voting::vote::PriorLock<_2, _0>,
24110				}
24111				#[derive(
24112					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24113					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24114					Debug,
24115				)]
24116				#[decode_as_type(
24117					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24118				)]
24119				#[encode_as_type(
24120					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24121				)]
24122				pub struct PriorLock<_0, _1>(pub _0, pub _1);
24123				#[derive(
24124					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24125					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24126					Debug,
24127				)]
24128				#[decode_as_type(
24129					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24130				)]
24131				#[encode_as_type(
24132					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24133				)]
24134				pub struct Vote(pub ::core::primitive::u8);
24135				#[derive(
24136					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24137					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24138					Debug,
24139				)]
24140				#[decode_as_type(
24141					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24142				)]
24143				#[encode_as_type(
24144					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24145				)]
24146				pub enum Voting<_0, _1, _2, _3> {
24147					#[codec(index = 0)]
24148					Casting(runtime_types::pallet_conviction_voting::vote::Casting<_0, _2, _2>),
24149					#[codec(index = 1)]
24150					Delegating(
24151						runtime_types::pallet_conviction_voting::vote::Delegating<_0, _1, _2>,
24152					),
24153					__Ignore(::core::marker::PhantomData<_3>),
24154				}
24155			}
24156		}
24157		pub mod pallet_merkle_airdrop {
24158			use super::runtime_types;
24159			pub mod pallet {
24160				use super::runtime_types;
24161				#[derive(
24162					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24163					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24164					Debug,
24165				)]
24166				#[decode_as_type(
24167					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24168				)]
24169				#[encode_as_type(
24170					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24171				)]
24172				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
24173				pub enum Call {
24174					#[codec(index = 0)]
24175					#[doc = "Create a new airdrop with a Merkle root."]
24176					#[doc = ""]
24177					#[doc = "The Merkle root is a cryptographic hash that represents all valid claims"]
24178					#[doc = "for this airdrop. Users will later provide Merkle proofs to verify their"]
24179					#[doc = "eligibility to claim tokens."]
24180					#[doc = ""]
24181					#[doc = "# Parameters"]
24182					#[doc = ""]
24183					#[doc = "* `origin` - The origin of the call (must be signed)"]
24184					#[doc = "* `merkle_root` - The Merkle root hash representing all valid claims"]
24185					#[doc = "* `vesting_period` - Optional vesting period for the airdrop"]
24186					#[doc = "* `vesting_delay` - Optional delay before vesting starts"]
24187					create_airdrop {
24188						merkle_root: [::core::primitive::u8; 32usize],
24189						vesting_period: ::core::option::Option<::core::primitive::u32>,
24190						vesting_delay: ::core::option::Option<::core::primitive::u32>,
24191					},
24192					#[codec(index = 1)]
24193					#[doc = "Fund an existing airdrop with tokens."]
24194					#[doc = ""]
24195					#[doc = "This function transfers tokens from the caller to the airdrop's account,"]
24196					#[doc = "making them available for users to claim."]
24197					#[doc = ""]
24198					#[doc = "# Parameters"]
24199					#[doc = ""]
24200					#[doc = "* `origin` - The origin of the call (must be signed)"]
24201					#[doc = "* `airdrop_id` - The ID of the airdrop to fund"]
24202					#[doc = "* `amount` - The amount of tokens to add to the airdrop"]
24203					#[doc = ""]
24204					#[doc = "# Errors"]
24205					#[doc = ""]
24206					#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
24207					fund_airdrop {
24208						airdrop_id: ::core::primitive::u32,
24209						amount: ::core::primitive::u128,
24210					},
24211					#[codec(index = 2)]
24212					#[doc = "Claim tokens from an airdrop by providing a Merkle proof."]
24213					#[doc = ""]
24214					#[doc = "Users can claim their tokens by providing a proof of their eligibility."]
24215					#[doc = "The proof is verified against the airdrop's Merkle root."]
24216					#[doc = "Anyone can trigger a claim for any eligible recipient."]
24217					#[doc = ""]
24218					#[doc = "# Parameters"]
24219					#[doc = ""]
24220					#[doc = "* `origin` - The origin of the call"]
24221					#[doc = "* `airdrop_id` - The ID of the airdrop to claim from"]
24222					#[doc = "* `amount` - The amount of tokens to claim"]
24223					#[doc = "* `merkle_proof` - The Merkle proof verifying eligibility"]
24224					#[doc = ""]
24225					#[doc = "# Errors"]
24226					#[doc = ""]
24227					#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
24228					#[doc = "* `AlreadyClaimed` - If the recipient has already claimed from this airdrop"]
24229					#[doc = "* `InvalidProof` - If the provided Merkle proof is invalid"]
24230					#[doc = "* `InsufficientAirdropBalance` - If the airdrop doesn't have enough tokens"]
24231					claim {
24232						airdrop_id: ::core::primitive::u32,
24233						recipient: ::subxt::ext::subxt_core::utils::AccountId32,
24234						amount: ::core::primitive::u128,
24235						merkle_proof: runtime_types::bounded_collections::bounded_vec::BoundedVec<
24236							[::core::primitive::u8; 32usize],
24237						>,
24238					},
24239					#[codec(index = 3)]
24240					#[doc = "Delete an airdrop and reclaim any remaining funds."]
24241					#[doc = ""]
24242					#[doc = "This function allows the creator of an airdrop to delete it and reclaim"]
24243					#[doc = "any remaining tokens that haven't been claimed."]
24244					#[doc = ""]
24245					#[doc = "# Parameters"]
24246					#[doc = ""]
24247					#[doc = "* `origin` - The origin of the call (must be the airdrop creator)"]
24248					#[doc = "* `airdrop_id` - The ID of the airdrop to delete"]
24249					#[doc = ""]
24250					#[doc = "# Errors"]
24251					#[doc = ""]
24252					#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
24253					#[doc = "* `NotAirdropCreator` - If the caller is not the creator of the airdrop"]
24254					delete_airdrop { airdrop_id: ::core::primitive::u32 },
24255				}
24256				#[derive(
24257					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24258					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24259					Debug,
24260				)]
24261				#[decode_as_type(
24262					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24263				)]
24264				#[encode_as_type(
24265					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24266				)]
24267				#[doc = "The `Error` enum of this pallet."]
24268				pub enum Error {
24269					#[codec(index = 0)]
24270					#[doc = "The specified airdrop does not exist."]
24271					AirdropNotFound,
24272					#[codec(index = 1)]
24273					#[doc = "The airdrop does not have sufficient balance for this operation."]
24274					InsufficientAirdropBalance,
24275					#[codec(index = 2)]
24276					#[doc = "The user has already claimed from this airdrop."]
24277					AlreadyClaimed,
24278					#[codec(index = 3)]
24279					#[doc = "The provided Merkle proof is invalid."]
24280					InvalidProof,
24281					#[codec(index = 4)]
24282					#[doc = "Only the creator of an airdrop can delete it."]
24283					NotAirdropCreator,
24284				}
24285				#[derive(
24286					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24287					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24288					Debug,
24289				)]
24290				#[decode_as_type(
24291					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24292				)]
24293				#[encode_as_type(
24294					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24295				)]
24296				#[doc = "The `Event` enum of this pallet"]
24297				pub enum Event {
24298					#[codec(index = 0)]
24299					#[doc = "A new airdrop has been created."]
24300					#[doc = ""]
24301					#[doc = "Parameters: [airdrop_id, merkle_root]"]
24302					AirdropCreated {
24303						airdrop_id: ::core::primitive::u32,
24304						airdrop_metadata: runtime_types::pallet_merkle_airdrop::AirdropMetadata<
24305							::core::primitive::u32,
24306							::core::primitive::u128,
24307							::subxt::ext::subxt_core::utils::AccountId32,
24308						>,
24309					},
24310					#[codec(index = 1)]
24311					#[doc = "An airdrop has been funded with tokens."]
24312					#[doc = ""]
24313					#[doc = "Parameters: [airdrop_id, amount]"]
24314					AirdropFunded {
24315						airdrop_id: ::core::primitive::u32,
24316						amount: ::core::primitive::u128,
24317					},
24318					#[codec(index = 2)]
24319					#[doc = "A user has claimed tokens from an airdrop."]
24320					#[doc = ""]
24321					#[doc = "Parameters: [airdrop_id, account, amount]"]
24322					Claimed {
24323						airdrop_id: ::core::primitive::u32,
24324						account: ::subxt::ext::subxt_core::utils::AccountId32,
24325						amount: ::core::primitive::u128,
24326					},
24327					#[codec(index = 3)]
24328					#[doc = "An airdrop has been deleted."]
24329					#[doc = ""]
24330					#[doc = "Parameters: [airdrop_id]"]
24331					AirdropDeleted { airdrop_id: ::core::primitive::u32 },
24332				}
24333			}
24334			#[derive(
24335				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24336				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24337				Debug,
24338			)]
24339			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24340			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24341			pub struct AirdropMetadata<_0, _1, _2> {
24342				pub merkle_root: [::core::primitive::u8; 32usize],
24343				pub creator: _2,
24344				pub balance: _1,
24345				pub vesting_period: ::core::option::Option<_0>,
24346				pub vesting_delay: ::core::option::Option<_0>,
24347			}
24348		}
24349		pub mod pallet_mining_rewards {
24350			use super::runtime_types;
24351			pub mod pallet {
24352				use super::runtime_types;
24353				#[derive(
24354					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24355					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24356					Debug,
24357				)]
24358				#[decode_as_type(
24359					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24360				)]
24361				#[encode_as_type(
24362					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24363				)]
24364				#[doc = "The `Event` enum of this pallet"]
24365				pub enum Event {
24366					#[codec(index = 0)]
24367					#[doc = "A miner has been identified for a block"]
24368					MinerRewarded {
24369						miner: ::subxt::ext::subxt_core::utils::AccountId32,
24370						reward: ::core::primitive::u128,
24371					},
24372					#[codec(index = 1)]
24373					#[doc = "Transaction fees were collected for later distribution"]
24374					FeesCollected {
24375						amount: ::core::primitive::u128,
24376						total: ::core::primitive::u128,
24377					},
24378					#[codec(index = 2)]
24379					#[doc = "Rewards were sent to Treasury when no miner was specified"]
24380					TreasuryRewarded { reward: ::core::primitive::u128 },
24381				}
24382			}
24383		}
24384		pub mod pallet_preimage {
24385			use super::runtime_types;
24386			pub mod pallet {
24387				use super::runtime_types;
24388				#[derive(
24389					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24390					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24391					Debug,
24392				)]
24393				#[decode_as_type(
24394					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24395				)]
24396				#[encode_as_type(
24397					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24398				)]
24399				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
24400				pub enum Call {
24401					#[codec(index = 0)]
24402					#[doc = "Register a preimage on-chain."]
24403					#[doc = ""]
24404					#[doc = "If the preimage was previously requested, no fees or deposits are taken for providing"]
24405					#[doc = "the preimage. Otherwise, a deposit is taken proportional to the size of the preimage."]
24406					note_preimage {
24407						bytes: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
24408					},
24409					#[codec(index = 1)]
24410					#[doc = "Clear an unrequested preimage from the runtime storage."]
24411					#[doc = ""]
24412					#[doc = "If `len` is provided, then it will be a much cheaper operation."]
24413					#[doc = ""]
24414					#[doc = "- `hash`: The hash of the preimage to be removed from the store."]
24415					#[doc = "- `len`: The length of the preimage of `hash`."]
24416					unnote_preimage { hash: ::subxt::ext::subxt_core::utils::H256 },
24417					#[codec(index = 2)]
24418					#[doc = "Request a preimage be uploaded to the chain without paying any fees or deposits."]
24419					#[doc = ""]
24420					#[doc = "If the preimage requests has already been provided on-chain, we unreserve any deposit"]
24421					#[doc = "a user may have paid, and take the control of the preimage out of their hands."]
24422					request_preimage { hash: ::subxt::ext::subxt_core::utils::H256 },
24423					#[codec(index = 3)]
24424					#[doc = "Clear a previously made request for a preimage."]
24425					#[doc = ""]
24426					#[doc = "NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`."]
24427					unrequest_preimage { hash: ::subxt::ext::subxt_core::utils::H256 },
24428					#[codec(index = 4)]
24429					#[doc = "Ensure that the bulk of pre-images is upgraded."]
24430					#[doc = ""]
24431					#[doc = "The caller pays no fee if at least 90% of pre-images were successfully updated."]
24432					ensure_updated {
24433						hashes: ::subxt::ext::subxt_core::alloc::vec::Vec<
24434							::subxt::ext::subxt_core::utils::H256,
24435						>,
24436					},
24437				}
24438				#[derive(
24439					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24440					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24441					Debug,
24442				)]
24443				#[decode_as_type(
24444					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24445				)]
24446				#[encode_as_type(
24447					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24448				)]
24449				#[doc = "The `Error` enum of this pallet."]
24450				pub enum Error {
24451					#[codec(index = 0)]
24452					#[doc = "Preimage is too large to store on-chain."]
24453					TooBig,
24454					#[codec(index = 1)]
24455					#[doc = "Preimage has already been noted on-chain."]
24456					AlreadyNoted,
24457					#[codec(index = 2)]
24458					#[doc = "The user is not authorized to perform this action."]
24459					NotAuthorized,
24460					#[codec(index = 3)]
24461					#[doc = "The preimage cannot be removed since it has not yet been noted."]
24462					NotNoted,
24463					#[codec(index = 4)]
24464					#[doc = "A preimage may not be removed when there are outstanding requests."]
24465					Requested,
24466					#[codec(index = 5)]
24467					#[doc = "The preimage request cannot be removed since no outstanding requests exist."]
24468					NotRequested,
24469					#[codec(index = 6)]
24470					#[doc = "More than `MAX_HASH_UPGRADE_BULK_COUNT` hashes were requested to be upgraded at once."]
24471					TooMany,
24472					#[codec(index = 7)]
24473					#[doc = "Too few hashes were requested to be upgraded (i.e. zero)."]
24474					TooFew,
24475				}
24476				#[derive(
24477					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24478					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24479					Debug,
24480				)]
24481				#[decode_as_type(
24482					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24483				)]
24484				#[encode_as_type(
24485					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24486				)]
24487				#[doc = "The `Event` enum of this pallet"]
24488				pub enum Event {
24489					#[codec(index = 0)]
24490					#[doc = "A preimage has been noted."]
24491					Noted { hash: ::subxt::ext::subxt_core::utils::H256 },
24492					#[codec(index = 1)]
24493					#[doc = "A preimage has been requested."]
24494					Requested { hash: ::subxt::ext::subxt_core::utils::H256 },
24495					#[codec(index = 2)]
24496					#[doc = "A preimage has ben cleared."]
24497					Cleared { hash: ::subxt::ext::subxt_core::utils::H256 },
24498				}
24499				#[derive(
24500					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24501					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24502					Debug,
24503				)]
24504				#[decode_as_type(
24505					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24506				)]
24507				#[encode_as_type(
24508					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24509				)]
24510				pub enum HoldReason {
24511					#[codec(index = 0)]
24512					Preimage,
24513				}
24514			}
24515			#[derive(
24516				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24517				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24518				Debug,
24519			)]
24520			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24521			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24522			pub enum OldRequestStatus<_0, _1> {
24523				#[codec(index = 0)]
24524				Unrequested { deposit: (_0, _1), len: ::core::primitive::u32 },
24525				#[codec(index = 1)]
24526				Requested {
24527					deposit: ::core::option::Option<(_0, _1)>,
24528					count: ::core::primitive::u32,
24529					len: ::core::option::Option<::core::primitive::u32>,
24530				},
24531			}
24532			#[derive(
24533				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24534				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24535				Debug,
24536			)]
24537			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24538			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24539			pub enum RequestStatus<_0, _1> {
24540				#[codec(index = 0)]
24541				Unrequested { ticket: (_0, _1), len: ::core::primitive::u32 },
24542				#[codec(index = 1)]
24543				Requested {
24544					maybe_ticket: ::core::option::Option<(_0, _1)>,
24545					count: ::core::primitive::u32,
24546					maybe_len: ::core::option::Option<::core::primitive::u32>,
24547				},
24548			}
24549		}
24550		pub mod pallet_qpow {
24551			use super::runtime_types;
24552			pub mod pallet {
24553				use super::runtime_types;
24554				#[derive(
24555					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24556					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24557					Debug,
24558				)]
24559				#[decode_as_type(
24560					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24561				)]
24562				#[encode_as_type(
24563					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24564				)]
24565				#[doc = "The `Error` enum of this pallet."]
24566				pub enum Error {
24567					#[codec(index = 0)]
24568					InvalidSolution,
24569					#[codec(index = 1)]
24570					ArithmeticOverflow,
24571				}
24572				#[derive(
24573					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24574					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24575					Debug,
24576				)]
24577				#[decode_as_type(
24578					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24579				)]
24580				#[encode_as_type(
24581					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24582				)]
24583				#[doc = "The `Event` enum of this pallet"]
24584				pub enum Event {
24585					#[codec(index = 0)]
24586					ProofSubmitted {
24587						nonce: [::core::primitive::u8; 64usize],
24588						difficulty: runtime_types::primitive_types::U512,
24589						distance_achieved: runtime_types::primitive_types::U512,
24590					},
24591					#[codec(index = 1)]
24592					DistanceThresholdAdjusted {
24593						old_distance_threshold: runtime_types::primitive_types::U512,
24594						new_distance_threshold: runtime_types::primitive_types::U512,
24595						observed_block_time: ::core::primitive::u64,
24596					},
24597				}
24598			}
24599		}
24600		pub mod pallet_ranked_collective {
24601			use super::runtime_types;
24602			pub mod pallet {
24603				use super::runtime_types;
24604				#[derive(
24605					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24606					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24607					Debug,
24608				)]
24609				#[decode_as_type(
24610					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24611				)]
24612				#[encode_as_type(
24613					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24614				)]
24615				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
24616				pub enum Call {
24617					#[codec(index = 0)]
24618					#[doc = "Introduce a new member."]
24619					#[doc = ""]
24620					#[doc = "- `origin`: Must be the `AddOrigin`."]
24621					#[doc = "- `who`: Account of non-member which will become a member."]
24622					#[doc = ""]
24623					#[doc = "Weight: `O(1)`"]
24624					add_member {
24625						who: ::subxt::ext::subxt_core::utils::MultiAddress<
24626							::subxt::ext::subxt_core::utils::AccountId32,
24627							(),
24628						>,
24629					},
24630					#[codec(index = 1)]
24631					#[doc = "Increment the rank of an existing member by one."]
24632					#[doc = ""]
24633					#[doc = "- `origin`: Must be the `PromoteOrigin`."]
24634					#[doc = "- `who`: Account of existing member."]
24635					#[doc = ""]
24636					#[doc = "Weight: `O(1)`"]
24637					promote_member {
24638						who: ::subxt::ext::subxt_core::utils::MultiAddress<
24639							::subxt::ext::subxt_core::utils::AccountId32,
24640							(),
24641						>,
24642					},
24643					#[codec(index = 2)]
24644					#[doc = "Decrement the rank of an existing member by one. If the member is already at rank zero,"]
24645					#[doc = "then they are removed entirely."]
24646					#[doc = ""]
24647					#[doc = "- `origin`: Must be the `DemoteOrigin`."]
24648					#[doc = "- `who`: Account of existing member of rank greater than zero."]
24649					#[doc = ""]
24650					#[doc = "Weight: `O(1)`, less if the member's index is highest in its rank."]
24651					demote_member {
24652						who: ::subxt::ext::subxt_core::utils::MultiAddress<
24653							::subxt::ext::subxt_core::utils::AccountId32,
24654							(),
24655						>,
24656					},
24657					#[codec(index = 3)]
24658					#[doc = "Remove the member entirely."]
24659					#[doc = ""]
24660					#[doc = "- `origin`: Must be the `RemoveOrigin`."]
24661					#[doc = "- `who`: Account of existing member of rank greater than zero."]
24662					#[doc = "- `min_rank`: The rank of the member or greater."]
24663					#[doc = ""]
24664					#[doc = "Weight: `O(min_rank)`."]
24665					remove_member {
24666						who: ::subxt::ext::subxt_core::utils::MultiAddress<
24667							::subxt::ext::subxt_core::utils::AccountId32,
24668							(),
24669						>,
24670						min_rank: ::core::primitive::u16,
24671					},
24672					#[codec(index = 4)]
24673					#[doc = "Add an aye or nay vote for the sender to the given proposal."]
24674					#[doc = ""]
24675					#[doc = "- `origin`: Must be `Signed` by a member account."]
24676					#[doc = "- `poll`: Index of a poll which is ongoing."]
24677					#[doc = "- `aye`: `true` if the vote is to approve the proposal, `false` otherwise."]
24678					#[doc = ""]
24679					#[doc = "Transaction fees are be waived if the member is voting on any particular proposal"]
24680					#[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"]
24681					#[doc = "fee."]
24682					#[doc = ""]
24683					#[doc = "Weight: `O(1)`, less if there was no previous vote on the poll by the member."]
24684					vote { poll: ::core::primitive::u32, aye: ::core::primitive::bool },
24685					#[codec(index = 5)]
24686					#[doc = "Remove votes from the given poll. It must have ended."]
24687					#[doc = ""]
24688					#[doc = "- `origin`: Must be `Signed` by any account."]
24689					#[doc = "- `poll_index`: Index of a poll which is completed and for which votes continue to"]
24690					#[doc = "  exist."]
24691					#[doc = "- `max`: Maximum number of vote items from remove in this call."]
24692					#[doc = ""]
24693					#[doc = "Transaction fees are waived if the operation is successful."]
24694					#[doc = ""]
24695					#[doc = "Weight `O(max)` (less if there are fewer items to remove than `max`)."]
24696					cleanup_poll { poll_index: ::core::primitive::u32, max: ::core::primitive::u32 },
24697					#[codec(index = 6)]
24698					#[doc = "Exchanges a member with a new account and the same existing rank."]
24699					#[doc = ""]
24700					#[doc = "- `origin`: Must be the `ExchangeOrigin`."]
24701					#[doc = "- `who`: Account of existing member of rank greater than zero to be exchanged."]
24702					#[doc = "- `new_who`: New Account of existing member of rank greater than zero to exchanged to."]
24703					exchange_member {
24704						who: ::subxt::ext::subxt_core::utils::MultiAddress<
24705							::subxt::ext::subxt_core::utils::AccountId32,
24706							(),
24707						>,
24708						new_who: ::subxt::ext::subxt_core::utils::MultiAddress<
24709							::subxt::ext::subxt_core::utils::AccountId32,
24710							(),
24711						>,
24712					},
24713				}
24714				#[derive(
24715					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24716					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24717					Debug,
24718				)]
24719				#[decode_as_type(
24720					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24721				)]
24722				#[encode_as_type(
24723					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24724				)]
24725				#[doc = "The `Error` enum of this pallet."]
24726				pub enum Error {
24727					#[codec(index = 0)]
24728					#[doc = "Account is already a member."]
24729					AlreadyMember,
24730					#[codec(index = 1)]
24731					#[doc = "Account is not a member."]
24732					NotMember,
24733					#[codec(index = 2)]
24734					#[doc = "The given poll index is unknown or has closed."]
24735					NotPolling,
24736					#[codec(index = 3)]
24737					#[doc = "The given poll is still ongoing."]
24738					Ongoing,
24739					#[codec(index = 4)]
24740					#[doc = "There are no further records to be removed."]
24741					NoneRemaining,
24742					#[codec(index = 5)]
24743					#[doc = "Unexpected error in state."]
24744					Corruption,
24745					#[codec(index = 6)]
24746					#[doc = "The member's rank is too low to vote."]
24747					RankTooLow,
24748					#[codec(index = 7)]
24749					#[doc = "The information provided is incorrect."]
24750					InvalidWitness,
24751					#[codec(index = 8)]
24752					#[doc = "The origin is not sufficiently privileged to do the operation."]
24753					NoPermission,
24754					#[codec(index = 9)]
24755					#[doc = "The new member to exchange is the same as the old member"]
24756					SameMember,
24757					#[codec(index = 10)]
24758					#[doc = "The max member count for the rank has been reached."]
24759					TooManyMembers,
24760				}
24761				#[derive(
24762					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24763					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24764					Debug,
24765				)]
24766				#[decode_as_type(
24767					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24768				)]
24769				#[encode_as_type(
24770					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24771				)]
24772				#[doc = "The `Event` enum of this pallet"]
24773				pub enum Event {
24774					#[codec(index = 0)]
24775					#[doc = "A member `who` has been added."]
24776					MemberAdded { who: ::subxt::ext::subxt_core::utils::AccountId32 },
24777					#[codec(index = 1)]
24778					#[doc = "The member `who`se rank has been changed to the given `rank`."]
24779					RankChanged {
24780						who: ::subxt::ext::subxt_core::utils::AccountId32,
24781						rank: ::core::primitive::u16,
24782					},
24783					#[codec(index = 2)]
24784					#[doc = "The member `who` of given `rank` has been removed from the collective."]
24785					MemberRemoved {
24786						who: ::subxt::ext::subxt_core::utils::AccountId32,
24787						rank: ::core::primitive::u16,
24788					},
24789					#[codec(index = 3)]
24790					#[doc = "The member `who` has voted for the `poll` with the given `vote` leading to an updated"]
24791					#[doc = "`tally`."]
24792					Voted {
24793						who: ::subxt::ext::subxt_core::utils::AccountId32,
24794						poll: ::core::primitive::u32,
24795						vote: runtime_types::pallet_ranked_collective::VoteRecord,
24796						tally: runtime_types::pallet_ranked_collective::Tally,
24797					},
24798					#[codec(index = 4)]
24799					#[doc = "The member `who` had their `AccountId` changed to `new_who`."]
24800					MemberExchanged {
24801						who: ::subxt::ext::subxt_core::utils::AccountId32,
24802						new_who: ::subxt::ext::subxt_core::utils::AccountId32,
24803					},
24804				}
24805			}
24806			#[derive(
24807				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24808				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24809				Debug,
24810			)]
24811			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24812			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24813			pub struct MemberRecord {
24814				pub rank: ::core::primitive::u16,
24815			}
24816			#[derive(
24817				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24818				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24819				Debug,
24820			)]
24821			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24822			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24823			pub struct Tally {
24824				pub bare_ayes: ::core::primitive::u32,
24825				pub ayes: ::core::primitive::u32,
24826				pub nays: ::core::primitive::u32,
24827			}
24828			#[derive(
24829				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24830				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24831				Debug,
24832			)]
24833			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24834			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24835			pub enum VoteRecord {
24836				#[codec(index = 0)]
24837				Aye(::core::primitive::u32),
24838				#[codec(index = 1)]
24839				Nay(::core::primitive::u32),
24840			}
24841		}
24842		pub mod pallet_recovery {
24843			use super::runtime_types;
24844			pub mod pallet {
24845				use super::runtime_types;
24846				#[derive(
24847					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24848					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24849					Debug,
24850				)]
24851				#[decode_as_type(
24852					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24853				)]
24854				#[encode_as_type(
24855					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24856				)]
24857				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
24858				pub enum Call {
24859					#[codec(index = 0)]
24860					#[doc = "Send a call through a recovered account."]
24861					#[doc = ""]
24862					#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
24863					#[doc = "be able to make calls on behalf of the recovered account."]
24864					#[doc = ""]
24865					#[doc = "Parameters:"]
24866					#[doc = "- `account`: The recovered account you want to make a call on-behalf-of."]
24867					#[doc = "- `call`: The call you want to make with the recovered account."]
24868					as_recovered {
24869						account: ::subxt::ext::subxt_core::utils::MultiAddress<
24870							::subxt::ext::subxt_core::utils::AccountId32,
24871							(),
24872						>,
24873						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
24874							runtime_types::quantus_runtime::RuntimeCall,
24875						>,
24876					},
24877					#[codec(index = 1)]
24878					#[doc = "Allow ROOT to bypass the recovery process and set a rescuer account"]
24879					#[doc = "for a lost account directly."]
24880					#[doc = ""]
24881					#[doc = "The dispatch origin for this call must be _ROOT_."]
24882					#[doc = ""]
24883					#[doc = "Parameters:"]
24884					#[doc = "- `lost`: The \"lost account\" to be recovered."]
24885					#[doc = "- `rescuer`: The \"rescuer account\" which can call as the lost account."]
24886					set_recovered {
24887						lost: ::subxt::ext::subxt_core::utils::MultiAddress<
24888							::subxt::ext::subxt_core::utils::AccountId32,
24889							(),
24890						>,
24891						rescuer: ::subxt::ext::subxt_core::utils::MultiAddress<
24892							::subxt::ext::subxt_core::utils::AccountId32,
24893							(),
24894						>,
24895					},
24896					#[codec(index = 2)]
24897					#[doc = "Create a recovery configuration for your account. This makes your account recoverable."]
24898					#[doc = ""]
24899					#[doc = "Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance"]
24900					#[doc = "will be reserved for storing the recovery configuration. This deposit is returned"]
24901					#[doc = "in full when the user calls `remove_recovery`."]
24902					#[doc = ""]
24903					#[doc = "The dispatch origin for this call must be _Signed_."]
24904					#[doc = ""]
24905					#[doc = "Parameters:"]
24906					#[doc = "- `friends`: A list of friends you trust to vouch for recovery attempts. Should be"]
24907					#[doc = "  ordered and contain no duplicate values."]
24908					#[doc = "- `threshold`: The number of friends that must vouch for a recovery attempt before the"]
24909					#[doc = "  account can be recovered. Should be less than or equal to the length of the list of"]
24910					#[doc = "  friends."]
24911					#[doc = "- `delay_period`: The number of blocks after a recovery attempt is initialized that"]
24912					#[doc = "  needs to pass before the account can be recovered."]
24913					create_recovery {
24914						friends: ::subxt::ext::subxt_core::alloc::vec::Vec<
24915							::subxt::ext::subxt_core::utils::AccountId32,
24916						>,
24917						threshold: ::core::primitive::u16,
24918						delay_period: ::core::primitive::u32,
24919					},
24920					#[codec(index = 3)]
24921					#[doc = "Initiate the process for recovering a recoverable account."]
24922					#[doc = ""]
24923					#[doc = "Payment: `RecoveryDeposit` balance will be reserved for initiating the"]
24924					#[doc = "recovery process. This deposit will always be repatriated to the account"]
24925					#[doc = "trying to be recovered. See `close_recovery`."]
24926					#[doc = ""]
24927					#[doc = "The dispatch origin for this call must be _Signed_."]
24928					#[doc = ""]
24929					#[doc = "Parameters:"]
24930					#[doc = "- `account`: The lost account that you want to recover. This account needs to be"]
24931					#[doc = "  recoverable (i.e. have a recovery configuration)."]
24932					initiate_recovery {
24933						account: ::subxt::ext::subxt_core::utils::MultiAddress<
24934							::subxt::ext::subxt_core::utils::AccountId32,
24935							(),
24936						>,
24937					},
24938					#[codec(index = 4)]
24939					#[doc = "Allow a \"friend\" of a recoverable account to vouch for an active recovery"]
24940					#[doc = "process for that account."]
24941					#[doc = ""]
24942					#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"friend\""]
24943					#[doc = "for the recoverable account."]
24944					#[doc = ""]
24945					#[doc = "Parameters:"]
24946					#[doc = "- `lost`: The lost account that you want to recover."]
24947					#[doc = "- `rescuer`: The account trying to rescue the lost account that you want to vouch for."]
24948					#[doc = ""]
24949					#[doc = "The combination of these two parameters must point to an active recovery"]
24950					#[doc = "process."]
24951					vouch_recovery {
24952						lost: ::subxt::ext::subxt_core::utils::MultiAddress<
24953							::subxt::ext::subxt_core::utils::AccountId32,
24954							(),
24955						>,
24956						rescuer: ::subxt::ext::subxt_core::utils::MultiAddress<
24957							::subxt::ext::subxt_core::utils::AccountId32,
24958							(),
24959						>,
24960					},
24961					#[codec(index = 5)]
24962					#[doc = "Allow a successful rescuer to claim their recovered account."]
24963					#[doc = ""]
24964					#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"rescuer\""]
24965					#[doc = "who has successfully completed the account recovery process: collected"]
24966					#[doc = "`threshold` or more vouches, waited `delay_period` blocks since initiation."]
24967					#[doc = ""]
24968					#[doc = "Parameters:"]
24969					#[doc = "- `account`: The lost account that you want to claim has been successfully recovered by"]
24970					#[doc = "  you."]
24971					claim_recovery {
24972						account: ::subxt::ext::subxt_core::utils::MultiAddress<
24973							::subxt::ext::subxt_core::utils::AccountId32,
24974							(),
24975						>,
24976					},
24977					#[codec(index = 6)]
24978					#[doc = "As the controller of a recoverable account, close an active recovery"]
24979					#[doc = "process for your account."]
24980					#[doc = ""]
24981					#[doc = "Payment: By calling this function, the recoverable account will receive"]
24982					#[doc = "the recovery deposit `RecoveryDeposit` placed by the rescuer."]
24983					#[doc = ""]
24984					#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
24985					#[doc = "recoverable account with an active recovery process for it."]
24986					#[doc = ""]
24987					#[doc = "Parameters:"]
24988					#[doc = "- `rescuer`: The account trying to rescue this recoverable account."]
24989					close_recovery {
24990						rescuer: ::subxt::ext::subxt_core::utils::MultiAddress<
24991							::subxt::ext::subxt_core::utils::AccountId32,
24992							(),
24993						>,
24994					},
24995					#[codec(index = 7)]
24996					#[doc = "Remove the recovery process for your account. Recovered accounts are still accessible."]
24997					#[doc = ""]
24998					#[doc = "NOTE: The user must make sure to call `close_recovery` on all active"]
24999					#[doc = "recovery attempts before calling this function else it will fail."]
25000					#[doc = ""]
25001					#[doc = "Payment: By calling this function the recoverable account will unreserve"]
25002					#[doc = "their recovery configuration deposit."]
25003					#[doc = "(`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)"]
25004					#[doc = ""]
25005					#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
25006					#[doc = "recoverable account (i.e. has a recovery configuration)."]
25007					remove_recovery,
25008					#[codec(index = 8)]
25009					#[doc = "Cancel the ability to use `as_recovered` for `account`."]
25010					#[doc = ""]
25011					#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
25012					#[doc = "be able to make calls on behalf of the recovered account."]
25013					#[doc = ""]
25014					#[doc = "Parameters:"]
25015					#[doc = "- `account`: The recovered account you are able to call on-behalf-of."]
25016					cancel_recovered {
25017						account: ::subxt::ext::subxt_core::utils::MultiAddress<
25018							::subxt::ext::subxt_core::utils::AccountId32,
25019							(),
25020						>,
25021					},
25022					#[codec(index = 9)]
25023					#[doc = "Poke deposits for recovery configurations and / or active recoveries."]
25024					#[doc = ""]
25025					#[doc = "This can be used by accounts to possibly lower their locked amount."]
25026					#[doc = ""]
25027					#[doc = "The dispatch origin for this call must be _Signed_."]
25028					#[doc = ""]
25029					#[doc = "Parameters:"]
25030					#[doc = "- `maybe_account`: Optional recoverable account for which you have an active recovery"]
25031					#[doc = "and want to adjust the deposit for the active recovery."]
25032					#[doc = ""]
25033					#[doc = "This function checks both recovery configuration deposit and active recovery deposits"]
25034					#[doc = "of the caller:"]
25035					#[doc = "- If the caller has created a recovery configuration, checks and adjusts its deposit"]
25036					#[doc = "- If the caller has initiated any active recoveries, and provides the account in"]
25037					#[doc = "`maybe_account`, checks and adjusts those deposits"]
25038					#[doc = ""]
25039					#[doc = "If any deposit is updated, the difference will be reserved/unreserved from the caller's"]
25040					#[doc = "account."]
25041					#[doc = ""]
25042					#[doc = "The transaction is made free if any deposit is updated and paid otherwise."]
25043					#[doc = ""]
25044					#[doc = "Emits `DepositPoked` if any deposit is updated."]
25045					#[doc = "Multiple events may be emitted in case both types of deposits are updated."]
25046					poke_deposit {
25047						maybe_account: ::core::option::Option<
25048							::subxt::ext::subxt_core::utils::MultiAddress<
25049								::subxt::ext::subxt_core::utils::AccountId32,
25050								(),
25051							>,
25052						>,
25053					},
25054				}
25055				#[derive(
25056					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25057					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25058					Debug,
25059				)]
25060				#[decode_as_type(
25061					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25062				)]
25063				#[encode_as_type(
25064					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25065				)]
25066				#[doc = "The `Error` enum of this pallet."]
25067				pub enum Error {
25068					#[codec(index = 0)]
25069					#[doc = "User is not allowed to make a call on behalf of this account"]
25070					NotAllowed,
25071					#[codec(index = 1)]
25072					#[doc = "Threshold must be greater than zero"]
25073					ZeroThreshold,
25074					#[codec(index = 2)]
25075					#[doc = "Friends list must be greater than zero and threshold"]
25076					NotEnoughFriends,
25077					#[codec(index = 3)]
25078					#[doc = "Friends list must be less than max friends"]
25079					MaxFriends,
25080					#[codec(index = 4)]
25081					#[doc = "Friends list must be sorted and free of duplicates"]
25082					NotSorted,
25083					#[codec(index = 5)]
25084					#[doc = "This account is not set up for recovery"]
25085					NotRecoverable,
25086					#[codec(index = 6)]
25087					#[doc = "This account is already set up for recovery"]
25088					AlreadyRecoverable,
25089					#[codec(index = 7)]
25090					#[doc = "A recovery process has already started for this account"]
25091					AlreadyStarted,
25092					#[codec(index = 8)]
25093					#[doc = "A recovery process has not started for this rescuer"]
25094					NotStarted,
25095					#[codec(index = 9)]
25096					#[doc = "This account is not a friend who can vouch"]
25097					NotFriend,
25098					#[codec(index = 10)]
25099					#[doc = "The friend must wait until the delay period to vouch for this recovery"]
25100					DelayPeriod,
25101					#[codec(index = 11)]
25102					#[doc = "This user has already vouched for this recovery"]
25103					AlreadyVouched,
25104					#[codec(index = 12)]
25105					#[doc = "The threshold for recovering this account has not been met"]
25106					Threshold,
25107					#[codec(index = 13)]
25108					#[doc = "There are still active recovery attempts that need to be closed"]
25109					StillActive,
25110					#[codec(index = 14)]
25111					#[doc = "This account is already set up for recovery"]
25112					AlreadyProxy,
25113					#[codec(index = 15)]
25114					#[doc = "Some internal state is broken."]
25115					BadState,
25116				}
25117				#[derive(
25118					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25119					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25120					Debug,
25121				)]
25122				#[decode_as_type(
25123					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25124				)]
25125				#[encode_as_type(
25126					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25127				)]
25128				#[doc = "Events type."]
25129				pub enum Event {
25130					#[codec(index = 0)]
25131					#[doc = "A recovery process has been set up for an account."]
25132					RecoveryCreated { account: ::subxt::ext::subxt_core::utils::AccountId32 },
25133					#[codec(index = 1)]
25134					#[doc = "A recovery process has been initiated for lost account by rescuer account."]
25135					RecoveryInitiated {
25136						lost_account: ::subxt::ext::subxt_core::utils::AccountId32,
25137						rescuer_account: ::subxt::ext::subxt_core::utils::AccountId32,
25138					},
25139					#[codec(index = 2)]
25140					#[doc = "A recovery process for lost account by rescuer account has been vouched for by sender."]
25141					RecoveryVouched {
25142						lost_account: ::subxt::ext::subxt_core::utils::AccountId32,
25143						rescuer_account: ::subxt::ext::subxt_core::utils::AccountId32,
25144						sender: ::subxt::ext::subxt_core::utils::AccountId32,
25145					},
25146					#[codec(index = 3)]
25147					#[doc = "A recovery process for lost account by rescuer account has been closed."]
25148					RecoveryClosed {
25149						lost_account: ::subxt::ext::subxt_core::utils::AccountId32,
25150						rescuer_account: ::subxt::ext::subxt_core::utils::AccountId32,
25151					},
25152					#[codec(index = 4)]
25153					#[doc = "Lost account has been successfully recovered by rescuer account."]
25154					AccountRecovered {
25155						lost_account: ::subxt::ext::subxt_core::utils::AccountId32,
25156						rescuer_account: ::subxt::ext::subxt_core::utils::AccountId32,
25157					},
25158					#[codec(index = 5)]
25159					#[doc = "A recovery process has been removed for an account."]
25160					RecoveryRemoved { lost_account: ::subxt::ext::subxt_core::utils::AccountId32 },
25161					#[codec(index = 6)]
25162					#[doc = "A deposit has been updated."]
25163					DepositPoked {
25164						who: ::subxt::ext::subxt_core::utils::AccountId32,
25165						kind: runtime_types::pallet_recovery::DepositKind<
25166							runtime_types::quantus_runtime::Runtime,
25167						>,
25168						old_deposit: ::core::primitive::u128,
25169						new_deposit: ::core::primitive::u128,
25170					},
25171				}
25172			}
25173			#[derive(
25174				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25175				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25176				Debug,
25177			)]
25178			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
25179			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
25180			pub struct ActiveRecovery<_0, _1, _2> {
25181				pub created: _0,
25182				pub deposit: _1,
25183				pub friends: _2,
25184			}
25185			#[derive(
25186				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25187				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25188				Debug,
25189			)]
25190			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
25191			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
25192			pub enum DepositKind<_0> {
25193				#[codec(index = 0)]
25194				RecoveryConfig,
25195				#[codec(index = 1)]
25196				ActiveRecoveryFor(::subxt::ext::subxt_core::utils::AccountId32),
25197				__Ignore(::core::marker::PhantomData<_0>),
25198			}
25199			#[derive(
25200				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25201				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25202				Debug,
25203			)]
25204			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
25205			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
25206			pub struct RecoveryConfig<_0, _1, _2> {
25207				pub delay_period: _0,
25208				pub deposit: _1,
25209				pub friends: _2,
25210				pub threshold: ::core::primitive::u16,
25211			}
25212		}
25213		pub mod pallet_referenda {
25214			use super::runtime_types;
25215			pub mod pallet {
25216				use super::runtime_types;
25217				#[derive(
25218					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25219					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25220					Debug,
25221				)]
25222				#[decode_as_type(
25223					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25224				)]
25225				#[encode_as_type(
25226					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25227				)]
25228				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
25229				pub enum Call {
25230					#[codec(index = 0)]
25231					#[doc = "Propose a referendum on a privileged action."]
25232					#[doc = ""]
25233					#[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"]
25234					#[doc = "  available."]
25235					#[doc = "- `proposal_origin`: The origin from which the proposal should be executed."]
25236					#[doc = "- `proposal`: The proposal."]
25237					#[doc = "- `enactment_moment`: The moment that the proposal should be enacted."]
25238					#[doc = ""]
25239					#[doc = "Emits `Submitted`."]
25240					submit {
25241						proposal_origin: ::subxt::ext::subxt_core::alloc::boxed::Box<
25242							runtime_types::quantus_runtime::OriginCaller,
25243						>,
25244						proposal: runtime_types::frame_support::traits::preimages::Bounded<
25245							runtime_types::quantus_runtime::RuntimeCall,
25246							runtime_types::qp_poseidon::PoseidonHasher,
25247						>,
25248						enactment_moment:
25249							runtime_types::frame_support::traits::schedule::DispatchTime<
25250								::core::primitive::u32,
25251							>,
25252					},
25253					#[codec(index = 1)]
25254					#[doc = "Post the Decision Deposit for a referendum."]
25255					#[doc = ""]
25256					#[doc = "- `origin`: must be `Signed` and the account must have funds available for the"]
25257					#[doc = "  referendum's track's Decision Deposit."]
25258					#[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"]
25259					#[doc = "  posted."]
25260					#[doc = ""]
25261					#[doc = "Emits `DecisionDepositPlaced`."]
25262					place_decision_deposit { index: ::core::primitive::u32 },
25263					#[codec(index = 2)]
25264					#[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."]
25265					#[doc = ""]
25266					#[doc = "- `origin`: must be `Signed` or `Root`."]
25267					#[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"]
25268					#[doc = "  refunded."]
25269					#[doc = ""]
25270					#[doc = "Emits `DecisionDepositRefunded`."]
25271					refund_decision_deposit { index: ::core::primitive::u32 },
25272					#[codec(index = 3)]
25273					#[doc = "Cancel an ongoing referendum."]
25274					#[doc = ""]
25275					#[doc = "- `origin`: must be the `CancelOrigin`."]
25276					#[doc = "- `index`: The index of the referendum to be cancelled."]
25277					#[doc = ""]
25278					#[doc = "Emits `Cancelled`."]
25279					cancel { index: ::core::primitive::u32 },
25280					#[codec(index = 4)]
25281					#[doc = "Cancel an ongoing referendum and slash the deposits."]
25282					#[doc = ""]
25283					#[doc = "- `origin`: must be the `KillOrigin`."]
25284					#[doc = "- `index`: The index of the referendum to be cancelled."]
25285					#[doc = ""]
25286					#[doc = "Emits `Killed` and `DepositSlashed`."]
25287					kill { index: ::core::primitive::u32 },
25288					#[codec(index = 5)]
25289					#[doc = "Advance a referendum onto its next logical state. Only used internally."]
25290					#[doc = ""]
25291					#[doc = "- `origin`: must be `Root`."]
25292					#[doc = "- `index`: the referendum to be advanced."]
25293					nudge_referendum { index: ::core::primitive::u32 },
25294					#[codec(index = 6)]
25295					#[doc = "Advance a track onto its next logical state. Only used internally."]
25296					#[doc = ""]
25297					#[doc = "- `origin`: must be `Root`."]
25298					#[doc = "- `track`: the track to be advanced."]
25299					#[doc = ""]
25300					#[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"]
25301					#[doc = "`DecidingCount` is not yet updated. This means that we should either:"]
25302					#[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"]
25303					#[doc = "- decrement `DecidingCount`."]
25304					one_fewer_deciding { track: ::core::primitive::u16 },
25305					#[codec(index = 7)]
25306					#[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."]
25307					#[doc = ""]
25308					#[doc = "- `origin`: must be `Signed` or `Root`."]
25309					#[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"]
25310					#[doc = "  refunded."]
25311					#[doc = ""]
25312					#[doc = "Emits `SubmissionDepositRefunded`."]
25313					refund_submission_deposit { index: ::core::primitive::u32 },
25314					#[codec(index = 8)]
25315					#[doc = "Set or clear metadata of a referendum."]
25316					#[doc = ""]
25317					#[doc = "Parameters:"]
25318					#[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"]
25319					#[doc = "  metadata of a finished referendum."]
25320					#[doc = "- `index`:  The index of a referendum to set or clear metadata for."]
25321					#[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."]
25322					set_metadata {
25323						index: ::core::primitive::u32,
25324						maybe_hash: ::core::option::Option<::subxt::ext::subxt_core::utils::H256>,
25325					},
25326				}
25327				#[derive(
25328					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25329					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25330					Debug,
25331				)]
25332				#[decode_as_type(
25333					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25334				)]
25335				#[encode_as_type(
25336					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25337				)]
25338				#[doc = "The `Error` enum of this pallet."]
25339				pub enum Error {
25340					#[codec(index = 0)]
25341					#[doc = "Referendum is not ongoing."]
25342					NotOngoing,
25343					#[codec(index = 1)]
25344					#[doc = "Referendum's decision deposit is already paid."]
25345					HasDeposit,
25346					#[codec(index = 2)]
25347					#[doc = "The track identifier given was invalid."]
25348					BadTrack,
25349					#[codec(index = 3)]
25350					#[doc = "There are already a full complement of referenda in progress for this track."]
25351					Full,
25352					#[codec(index = 4)]
25353					#[doc = "The queue of the track is empty."]
25354					QueueEmpty,
25355					#[codec(index = 5)]
25356					#[doc = "The referendum index provided is invalid in this context."]
25357					BadReferendum,
25358					#[codec(index = 6)]
25359					#[doc = "There was nothing to do in the advancement."]
25360					NothingToDo,
25361					#[codec(index = 7)]
25362					#[doc = "No track exists for the proposal origin."]
25363					NoTrack,
25364					#[codec(index = 8)]
25365					#[doc = "Any deposit cannot be refunded until after the decision is over."]
25366					Unfinished,
25367					#[codec(index = 9)]
25368					#[doc = "The deposit refunder is not the depositor."]
25369					NoPermission,
25370					#[codec(index = 10)]
25371					#[doc = "The deposit cannot be refunded since none was made."]
25372					NoDeposit,
25373					#[codec(index = 11)]
25374					#[doc = "The referendum status is invalid for this operation."]
25375					BadStatus,
25376					#[codec(index = 12)]
25377					#[doc = "The preimage does not exist."]
25378					PreimageNotExist,
25379					#[codec(index = 13)]
25380					#[doc = "The preimage is stored with a different length than the one provided."]
25381					PreimageStoredWithDifferentLength,
25382				}
25383				#[derive(
25384					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25385					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25386					Debug,
25387				)]
25388				#[decode_as_type(
25389					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25390				)]
25391				#[encode_as_type(
25392					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25393				)]
25394				#[doc = "The `Event` enum of this pallet"]
25395				pub enum Event1 {
25396					#[codec(index = 0)]
25397					#[doc = "A referendum has been submitted."]
25398					Submitted {
25399						index: ::core::primitive::u32,
25400						track: ::core::primitive::u16,
25401						proposal: runtime_types::frame_support::traits::preimages::Bounded<
25402							runtime_types::quantus_runtime::RuntimeCall,
25403							runtime_types::qp_poseidon::PoseidonHasher,
25404						>,
25405					},
25406					#[codec(index = 1)]
25407					#[doc = "The decision deposit has been placed."]
25408					DecisionDepositPlaced {
25409						index: ::core::primitive::u32,
25410						who: ::subxt::ext::subxt_core::utils::AccountId32,
25411						amount: ::core::primitive::u128,
25412					},
25413					#[codec(index = 2)]
25414					#[doc = "The decision deposit has been refunded."]
25415					DecisionDepositRefunded {
25416						index: ::core::primitive::u32,
25417						who: ::subxt::ext::subxt_core::utils::AccountId32,
25418						amount: ::core::primitive::u128,
25419					},
25420					#[codec(index = 3)]
25421					#[doc = "A deposit has been slashed."]
25422					DepositSlashed {
25423						who: ::subxt::ext::subxt_core::utils::AccountId32,
25424						amount: ::core::primitive::u128,
25425					},
25426					#[codec(index = 4)]
25427					#[doc = "A referendum has moved into the deciding phase."]
25428					DecisionStarted {
25429						index: ::core::primitive::u32,
25430						track: ::core::primitive::u16,
25431						proposal: runtime_types::frame_support::traits::preimages::Bounded<
25432							runtime_types::quantus_runtime::RuntimeCall,
25433							runtime_types::qp_poseidon::PoseidonHasher,
25434						>,
25435						tally: runtime_types::pallet_conviction_voting::types::Tally<
25436							::core::primitive::u128,
25437						>,
25438					},
25439					#[codec(index = 5)]
25440					ConfirmStarted { index: ::core::primitive::u32 },
25441					#[codec(index = 6)]
25442					ConfirmAborted { index: ::core::primitive::u32 },
25443					#[codec(index = 7)]
25444					#[doc = "A referendum has ended its confirmation phase and is ready for approval."]
25445					Confirmed {
25446						index: ::core::primitive::u32,
25447						tally: runtime_types::pallet_conviction_voting::types::Tally<
25448							::core::primitive::u128,
25449						>,
25450					},
25451					#[codec(index = 8)]
25452					#[doc = "A referendum has been approved and its proposal has been scheduled."]
25453					Approved { index: ::core::primitive::u32 },
25454					#[codec(index = 9)]
25455					#[doc = "A proposal has been rejected by referendum."]
25456					Rejected {
25457						index: ::core::primitive::u32,
25458						tally: runtime_types::pallet_conviction_voting::types::Tally<
25459							::core::primitive::u128,
25460						>,
25461					},
25462					#[codec(index = 10)]
25463					#[doc = "A referendum has been timed out without being decided."]
25464					TimedOut {
25465						index: ::core::primitive::u32,
25466						tally: runtime_types::pallet_conviction_voting::types::Tally<
25467							::core::primitive::u128,
25468						>,
25469					},
25470					#[codec(index = 11)]
25471					#[doc = "A referendum has been cancelled."]
25472					Cancelled {
25473						index: ::core::primitive::u32,
25474						tally: runtime_types::pallet_conviction_voting::types::Tally<
25475							::core::primitive::u128,
25476						>,
25477					},
25478					#[codec(index = 12)]
25479					#[doc = "A referendum has been killed."]
25480					Killed {
25481						index: ::core::primitive::u32,
25482						tally: runtime_types::pallet_conviction_voting::types::Tally<
25483							::core::primitive::u128,
25484						>,
25485					},
25486					#[codec(index = 13)]
25487					#[doc = "The submission deposit has been refunded."]
25488					SubmissionDepositRefunded {
25489						index: ::core::primitive::u32,
25490						who: ::subxt::ext::subxt_core::utils::AccountId32,
25491						amount: ::core::primitive::u128,
25492					},
25493					#[codec(index = 14)]
25494					#[doc = "Metadata for a referendum has been set."]
25495					MetadataSet {
25496						index: ::core::primitive::u32,
25497						hash: ::subxt::ext::subxt_core::utils::H256,
25498					},
25499					#[codec(index = 15)]
25500					#[doc = "Metadata for a referendum has been cleared."]
25501					MetadataCleared {
25502						index: ::core::primitive::u32,
25503						hash: ::subxt::ext::subxt_core::utils::H256,
25504					},
25505				}
25506				#[derive(
25507					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25508					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25509					Debug,
25510				)]
25511				#[decode_as_type(
25512					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25513				)]
25514				#[encode_as_type(
25515					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25516				)]
25517				#[doc = "The `Event` enum of this pallet"]
25518				pub enum Event2 {
25519					#[codec(index = 0)]
25520					#[doc = "A referendum has been submitted."]
25521					Submitted {
25522						index: ::core::primitive::u32,
25523						track: ::core::primitive::u16,
25524						proposal: runtime_types::frame_support::traits::preimages::Bounded<
25525							runtime_types::quantus_runtime::RuntimeCall,
25526							runtime_types::qp_poseidon::PoseidonHasher,
25527						>,
25528					},
25529					#[codec(index = 1)]
25530					#[doc = "The decision deposit has been placed."]
25531					DecisionDepositPlaced {
25532						index: ::core::primitive::u32,
25533						who: ::subxt::ext::subxt_core::utils::AccountId32,
25534						amount: ::core::primitive::u128,
25535					},
25536					#[codec(index = 2)]
25537					#[doc = "The decision deposit has been refunded."]
25538					DecisionDepositRefunded {
25539						index: ::core::primitive::u32,
25540						who: ::subxt::ext::subxt_core::utils::AccountId32,
25541						amount: ::core::primitive::u128,
25542					},
25543					#[codec(index = 3)]
25544					#[doc = "A deposit has been slashed."]
25545					DepositSlashed {
25546						who: ::subxt::ext::subxt_core::utils::AccountId32,
25547						amount: ::core::primitive::u128,
25548					},
25549					#[codec(index = 4)]
25550					#[doc = "A referendum has moved into the deciding phase."]
25551					DecisionStarted {
25552						index: ::core::primitive::u32,
25553						track: ::core::primitive::u16,
25554						proposal: runtime_types::frame_support::traits::preimages::Bounded<
25555							runtime_types::quantus_runtime::RuntimeCall,
25556							runtime_types::qp_poseidon::PoseidonHasher,
25557						>,
25558						tally: runtime_types::pallet_ranked_collective::Tally,
25559					},
25560					#[codec(index = 5)]
25561					ConfirmStarted { index: ::core::primitive::u32 },
25562					#[codec(index = 6)]
25563					ConfirmAborted { index: ::core::primitive::u32 },
25564					#[codec(index = 7)]
25565					#[doc = "A referendum has ended its confirmation phase and is ready for approval."]
25566					Confirmed {
25567						index: ::core::primitive::u32,
25568						tally: runtime_types::pallet_ranked_collective::Tally,
25569					},
25570					#[codec(index = 8)]
25571					#[doc = "A referendum has been approved and its proposal has been scheduled."]
25572					Approved { index: ::core::primitive::u32 },
25573					#[codec(index = 9)]
25574					#[doc = "A proposal has been rejected by referendum."]
25575					Rejected {
25576						index: ::core::primitive::u32,
25577						tally: runtime_types::pallet_ranked_collective::Tally,
25578					},
25579					#[codec(index = 10)]
25580					#[doc = "A referendum has been timed out without being decided."]
25581					TimedOut {
25582						index: ::core::primitive::u32,
25583						tally: runtime_types::pallet_ranked_collective::Tally,
25584					},
25585					#[codec(index = 11)]
25586					#[doc = "A referendum has been cancelled."]
25587					Cancelled {
25588						index: ::core::primitive::u32,
25589						tally: runtime_types::pallet_ranked_collective::Tally,
25590					},
25591					#[codec(index = 12)]
25592					#[doc = "A referendum has been killed."]
25593					Killed {
25594						index: ::core::primitive::u32,
25595						tally: runtime_types::pallet_ranked_collective::Tally,
25596					},
25597					#[codec(index = 13)]
25598					#[doc = "The submission deposit has been refunded."]
25599					SubmissionDepositRefunded {
25600						index: ::core::primitive::u32,
25601						who: ::subxt::ext::subxt_core::utils::AccountId32,
25602						amount: ::core::primitive::u128,
25603					},
25604					#[codec(index = 14)]
25605					#[doc = "Metadata for a referendum has been set."]
25606					MetadataSet {
25607						index: ::core::primitive::u32,
25608						hash: ::subxt::ext::subxt_core::utils::H256,
25609					},
25610					#[codec(index = 15)]
25611					#[doc = "Metadata for a referendum has been cleared."]
25612					MetadataCleared {
25613						index: ::core::primitive::u32,
25614						hash: ::subxt::ext::subxt_core::utils::H256,
25615					},
25616				}
25617			}
25618			pub mod types {
25619				use super::runtime_types;
25620				#[derive(
25621					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25622					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25623					Debug,
25624				)]
25625				#[decode_as_type(
25626					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25627				)]
25628				#[encode_as_type(
25629					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25630				)]
25631				pub enum Curve {
25632					#[codec(index = 0)]
25633					LinearDecreasing {
25634						length: runtime_types::sp_arithmetic::per_things::Perbill,
25635						floor: runtime_types::sp_arithmetic::per_things::Perbill,
25636						ceil: runtime_types::sp_arithmetic::per_things::Perbill,
25637					},
25638					#[codec(index = 1)]
25639					SteppedDecreasing {
25640						begin: runtime_types::sp_arithmetic::per_things::Perbill,
25641						end: runtime_types::sp_arithmetic::per_things::Perbill,
25642						step: runtime_types::sp_arithmetic::per_things::Perbill,
25643						period: runtime_types::sp_arithmetic::per_things::Perbill,
25644					},
25645					#[codec(index = 2)]
25646					Reciprocal {
25647						factor: runtime_types::sp_arithmetic::fixed_point::FixedI64,
25648						x_offset: runtime_types::sp_arithmetic::fixed_point::FixedI64,
25649						y_offset: runtime_types::sp_arithmetic::fixed_point::FixedI64,
25650					},
25651				}
25652				#[derive(
25653					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25654					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25655					Debug,
25656				)]
25657				#[decode_as_type(
25658					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25659				)]
25660				#[encode_as_type(
25661					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25662				)]
25663				pub struct DecidingStatus<_0> {
25664					pub since: _0,
25665					pub confirming: ::core::option::Option<_0>,
25666				}
25667				#[derive(
25668					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25669					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25670					Debug,
25671				)]
25672				#[decode_as_type(
25673					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25674				)]
25675				#[encode_as_type(
25676					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25677				)]
25678				pub struct Deposit<_0, _1> {
25679					pub who: _0,
25680					pub amount: _1,
25681				}
25682				#[derive(
25683					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25684					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25685					Debug,
25686				)]
25687				#[decode_as_type(
25688					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25689				)]
25690				#[encode_as_type(
25691					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25692				)]
25693				pub enum ReferendumInfo<_0, _1, _2, _3, _4, _5, _6, _7> {
25694					#[codec(index = 0)]
25695					Ongoing(
25696						runtime_types::pallet_referenda::types::ReferendumStatus<
25697							_0,
25698							_1,
25699							_2,
25700							_3,
25701							_4,
25702							_5,
25703							_6,
25704							_7,
25705						>,
25706					),
25707					#[codec(index = 1)]
25708					Approved(
25709						_2,
25710						::core::option::Option<
25711							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25712						>,
25713						::core::option::Option<
25714							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25715						>,
25716					),
25717					#[codec(index = 2)]
25718					Rejected(
25719						_2,
25720						::core::option::Option<
25721							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25722						>,
25723						::core::option::Option<
25724							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25725						>,
25726					),
25727					#[codec(index = 3)]
25728					Cancelled(
25729						_2,
25730						::core::option::Option<
25731							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25732						>,
25733						::core::option::Option<
25734							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25735						>,
25736					),
25737					#[codec(index = 4)]
25738					TimedOut(
25739						_2,
25740						::core::option::Option<
25741							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25742						>,
25743						::core::option::Option<
25744							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25745						>,
25746					),
25747					#[codec(index = 5)]
25748					Killed(_2),
25749				}
25750				#[derive(
25751					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25752					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25753					Debug,
25754				)]
25755				#[decode_as_type(
25756					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25757				)]
25758				#[encode_as_type(
25759					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25760				)]
25761				pub struct ReferendumStatus<_0, _1, _2, _3, _4, _5, _6, _7> {
25762					pub track: _0,
25763					pub origin: _1,
25764					pub proposal: _3,
25765					pub enactment: runtime_types::frame_support::traits::schedule::DispatchTime<_2>,
25766					pub submitted: _2,
25767					pub submission_deposit: runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25768					pub decision_deposit: ::core::option::Option<
25769						runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25770					>,
25771					pub deciding: ::core::option::Option<
25772						runtime_types::pallet_referenda::types::DecidingStatus<_2>,
25773					>,
25774					pub tally: _5,
25775					pub in_queue: ::core::primitive::bool,
25776					pub alarm: ::core::option::Option<(_2, _7)>,
25777				}
25778				#[derive(
25779					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25780					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25781					Debug,
25782				)]
25783				#[decode_as_type(
25784					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25785				)]
25786				#[encode_as_type(
25787					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25788				)]
25789				pub struct TrackDetails<_0, _1, _2> {
25790					pub name: _2,
25791					pub max_deciding: ::core::primitive::u32,
25792					pub decision_deposit: _0,
25793					pub prepare_period: _1,
25794					pub decision_period: _1,
25795					pub confirm_period: _1,
25796					pub min_enactment_period: _1,
25797					pub min_approval: runtime_types::pallet_referenda::types::Curve,
25798					pub min_support: runtime_types::pallet_referenda::types::Curve,
25799				}
25800			}
25801		}
25802		pub mod pallet_reversible_transfers {
25803			use super::runtime_types;
25804			pub mod pallet {
25805				use super::runtime_types;
25806				#[derive(
25807					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25808					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25809					Debug,
25810				)]
25811				#[decode_as_type(
25812					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25813				)]
25814				#[encode_as_type(
25815					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25816				)]
25817				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
25818				pub enum Call {
25819					#[codec(index = 0)]
25820					#[doc = "Enable high-security for the calling account with a specified"]
25821					#[doc = "reversibility delay."]
25822					#[doc = ""]
25823					#[doc = "Recoverer and interceptor (aka guardian) could be the same account or"]
25824					#[doc = "different accounts."]
25825					#[doc = ""]
25826					#[doc = "Once an account is set as high security it can only make reversible"]
25827					#[doc = "transfers. It is not allowed any other calls."]
25828					#[doc = ""]
25829					#[doc = "- `delay`: The reversibility time for any transfer made by the high"]
25830					#[doc = "security account."]
25831					#[doc = "- interceptor: The account that can intercept transctions from the"]
25832					#[doc = "high security account."]
25833					set_high_security {
25834						delay: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25835							::core::primitive::u32,
25836							::core::primitive::u64,
25837						>,
25838						interceptor: ::subxt::ext::subxt_core::utils::AccountId32,
25839					},
25840					#[codec(index = 1)]
25841					#[doc = "Cancel a pending reversible transaction scheduled by the caller."]
25842					#[doc = ""]
25843					#[doc = "- `tx_id`: The unique identifier of the transaction to cancel."]
25844					cancel { tx_id: ::subxt::ext::subxt_core::utils::H256 },
25845					#[codec(index = 2)]
25846					#[doc = "Called by the Scheduler to finalize the scheduled task/call"]
25847					#[doc = ""]
25848					#[doc = "- `tx_id`: The unique id of the transaction to finalize and dispatch."]
25849					execute_transfer { tx_id: ::subxt::ext::subxt_core::utils::H256 },
25850					#[codec(index = 3)]
25851					#[doc = "Schedule a transaction for delayed execution."]
25852					schedule_transfer {
25853						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
25854							::subxt::ext::subxt_core::utils::AccountId32,
25855							(),
25856						>,
25857						amount: ::core::primitive::u128,
25858					},
25859					#[codec(index = 4)]
25860					#[doc = "Schedule a transaction for delayed execution with a custom, one-time delay."]
25861					#[doc = ""]
25862					#[doc = "This can only be used by accounts that have *not* set up a persistent"]
25863					#[doc = "reversibility configuration with `set_high_security`."]
25864					#[doc = ""]
25865					#[doc = "- `delay`: The time (in blocks or milliseconds) before the transaction executes."]
25866					schedule_transfer_with_delay {
25867						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
25868							::subxt::ext::subxt_core::utils::AccountId32,
25869							(),
25870						>,
25871						amount: ::core::primitive::u128,
25872						delay: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25873							::core::primitive::u32,
25874							::core::primitive::u64,
25875						>,
25876					},
25877					#[codec(index = 5)]
25878					#[doc = "Schedule an asset transfer (pallet-assets) for delayed execution using the configured"]
25879					#[doc = "delay."]
25880					schedule_asset_transfer {
25881						asset_id: ::core::primitive::u32,
25882						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
25883							::subxt::ext::subxt_core::utils::AccountId32,
25884							(),
25885						>,
25886						amount: ::core::primitive::u128,
25887					},
25888					#[codec(index = 6)]
25889					#[doc = "Schedule an asset transfer (pallet-assets) with a custom one-time delay."]
25890					schedule_asset_transfer_with_delay {
25891						asset_id: ::core::primitive::u32,
25892						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
25893							::subxt::ext::subxt_core::utils::AccountId32,
25894							(),
25895						>,
25896						amount: ::core::primitive::u128,
25897						delay: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25898							::core::primitive::u32,
25899							::core::primitive::u64,
25900						>,
25901					},
25902				}
25903				#[derive(
25904					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25905					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25906					Debug,
25907				)]
25908				#[decode_as_type(
25909					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25910				)]
25911				#[encode_as_type(
25912					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25913				)]
25914				#[doc = "The `Error` enum of this pallet."]
25915				pub enum Error {
25916					#[codec(index = 0)]
25917					#[doc = "The account attempting to enable reversibility is already marked as reversible."]
25918					AccountAlreadyHighSecurity,
25919					#[codec(index = 1)]
25920					#[doc = "The account attempting the action is not marked as high security."]
25921					AccountNotHighSecurity,
25922					#[codec(index = 2)]
25923					#[doc = "Interceptor can not be the account itself, because it is redundant."]
25924					InterceptorCannotBeSelf,
25925					#[codec(index = 3)]
25926					#[doc = "Recoverer cannot be the account itself, because it is redundant."]
25927					RecovererCannotBeSelf,
25928					#[codec(index = 4)]
25929					#[doc = "The specified pending transaction ID was not found."]
25930					PendingTxNotFound,
25931					#[codec(index = 5)]
25932					#[doc = "The caller is not the original submitter of the transaction they are trying to cancel."]
25933					NotOwner,
25934					#[codec(index = 6)]
25935					#[doc = "The account has reached the maximum number of pending reversible transactions."]
25936					TooManyPendingTransactions,
25937					#[codec(index = 7)]
25938					#[doc = "The specified delay period is below the configured minimum."]
25939					DelayTooShort,
25940					#[codec(index = 8)]
25941					#[doc = "Failed to schedule the transaction execution with the scheduler pallet."]
25942					SchedulingFailed,
25943					#[codec(index = 9)]
25944					#[doc = "Failed to cancel the scheduled task with the scheduler pallet."]
25945					CancellationFailed,
25946					#[codec(index = 10)]
25947					#[doc = "Failed to decode the OpaqueCall back into a RuntimeCall."]
25948					CallDecodingFailed,
25949					#[codec(index = 11)]
25950					#[doc = "Call is invalid."]
25951					InvalidCall,
25952					#[codec(index = 12)]
25953					#[doc = "Invalid scheduler origin"]
25954					InvalidSchedulerOrigin,
25955					#[codec(index = 13)]
25956					#[doc = "Reverser is invalid"]
25957					InvalidReverser,
25958					#[codec(index = 14)]
25959					#[doc = "Cannot schedule one time reversible transaction when account is reversible (theft"]
25960					#[doc = "deterrence)"]
25961					AccountAlreadyReversibleCannotScheduleOneTime,
25962					#[codec(index = 15)]
25963					#[doc = "The interceptor has reached the maximum number of accounts they can intercept for."]
25964					TooManyInterceptorAccounts,
25965				}
25966				#[derive(
25967					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25968					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25969					Debug,
25970				)]
25971				#[decode_as_type(
25972					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25973				)]
25974				#[encode_as_type(
25975					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25976				)]
25977				#[doc = "The `Event` enum of this pallet"]
25978				pub enum Event {
25979					#[codec(index = 0)]
25980					#[doc = "A user has enabled their high-security settings."]
25981					#[doc = "[who, interceptor, recoverer, delay]"]
25982					HighSecuritySet {
25983						who: ::subxt::ext::subxt_core::utils::AccountId32,
25984						interceptor: ::subxt::ext::subxt_core::utils::AccountId32,
25985						delay: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25986							::core::primitive::u32,
25987							::core::primitive::u64,
25988						>,
25989					},
25990					#[codec(index = 1)]
25991					#[doc = "A transaction has been intercepted and scheduled for delayed execution."]
25992					#[doc = "[from, to, interceptor, amount, tx_id, execute_at_moment]"]
25993					TransactionScheduled {
25994						from: ::subxt::ext::subxt_core::utils::AccountId32,
25995						to: ::subxt::ext::subxt_core::utils::AccountId32,
25996						interceptor: ::subxt::ext::subxt_core::utils::AccountId32,
25997						asset_id: ::core::option::Option<::core::primitive::u32>,
25998						amount: ::core::primitive::u128,
25999						tx_id: ::subxt::ext::subxt_core::utils::H256,
26000						execute_at: runtime_types::qp_scheduler::DispatchTime<
26001							::core::primitive::u32,
26002							::core::primitive::u64,
26003						>,
26004					},
26005					#[codec(index = 2)]
26006					#[doc = "A scheduled transaction has been successfully cancelled by the owner."]
26007					#[doc = "[who, tx_id]"]
26008					TransactionCancelled {
26009						who: ::subxt::ext::subxt_core::utils::AccountId32,
26010						tx_id: ::subxt::ext::subxt_core::utils::H256,
26011					},
26012					#[codec(index = 3)]
26013					#[doc = "A scheduled transaction was executed by the scheduler."]
26014					#[doc = "[tx_id, dispatch_result]"]
26015					TransactionExecuted {
26016						tx_id: ::subxt::ext::subxt_core::utils::H256,
26017						result: ::core::result::Result<
26018							runtime_types::frame_support::dispatch::PostDispatchInfo,
26019							runtime_types::sp_runtime::DispatchErrorWithPostInfo<
26020								runtime_types::frame_support::dispatch::PostDispatchInfo,
26021							>,
26022						>,
26023					},
26024				}
26025				#[derive(
26026					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26027					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26028					Debug,
26029				)]
26030				#[decode_as_type(
26031					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26032				)]
26033				#[encode_as_type(
26034					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26035				)]
26036				pub enum HoldReason {
26037					#[codec(index = 0)]
26038					ScheduledTransfer,
26039				}
26040			}
26041			#[derive(
26042				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26043				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26044				Debug,
26045			)]
26046			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26047			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26048			pub struct HighSecurityAccountData<_0, _1> {
26049				pub interceptor: _0,
26050				pub delay: _1,
26051			}
26052			#[derive(
26053				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26054				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26055				Debug,
26056			)]
26057			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26058			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26059			pub struct PendingTransfer<_0, _1, _2> {
26060				pub from: _0,
26061				pub to: _0,
26062				pub interceptor: _0,
26063				pub call: _2,
26064				pub amount: _1,
26065			}
26066		}
26067		pub mod pallet_scheduler {
26068			use super::runtime_types;
26069			pub mod pallet {
26070				use super::runtime_types;
26071				#[derive(
26072					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26073					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26074					Debug,
26075				)]
26076				#[decode_as_type(
26077					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26078				)]
26079				#[encode_as_type(
26080					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26081				)]
26082				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
26083				pub enum Call {
26084					#[codec(index = 0)]
26085					#[doc = "Anonymously schedule a task."]
26086					schedule {
26087						when: ::core::primitive::u32,
26088						maybe_periodic: ::core::option::Option<(
26089							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26090								::core::primitive::u32,
26091								::core::primitive::u64,
26092							>,
26093							::core::primitive::u32,
26094						)>,
26095						priority: ::core::primitive::u8,
26096						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
26097							runtime_types::quantus_runtime::RuntimeCall,
26098						>,
26099					},
26100					#[codec(index = 1)]
26101					#[doc = "Cancel an anonymously scheduled task."]
26102					cancel {
26103						when: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26104							::core::primitive::u32,
26105							::core::primitive::u64,
26106						>,
26107						index: ::core::primitive::u32,
26108					},
26109					#[codec(index = 2)]
26110					#[doc = "Schedule a named task."]
26111					schedule_named {
26112						id: [::core::primitive::u8; 32usize],
26113						when: ::core::primitive::u32,
26114						maybe_periodic: ::core::option::Option<(
26115							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26116								::core::primitive::u32,
26117								::core::primitive::u64,
26118							>,
26119							::core::primitive::u32,
26120						)>,
26121						priority: ::core::primitive::u8,
26122						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
26123							runtime_types::quantus_runtime::RuntimeCall,
26124						>,
26125					},
26126					#[codec(index = 3)]
26127					#[doc = "Cancel a named scheduled task."]
26128					cancel_named { id: [::core::primitive::u8; 32usize] },
26129					#[codec(index = 4)]
26130					#[doc = "Anonymously schedule a task after a delay."]
26131					schedule_after {
26132						after: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26133							::core::primitive::u32,
26134							::core::primitive::u64,
26135						>,
26136						maybe_periodic: ::core::option::Option<(
26137							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26138								::core::primitive::u32,
26139								::core::primitive::u64,
26140							>,
26141							::core::primitive::u32,
26142						)>,
26143						priority: ::core::primitive::u8,
26144						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
26145							runtime_types::quantus_runtime::RuntimeCall,
26146						>,
26147					},
26148					#[codec(index = 5)]
26149					#[doc = "Schedule a named task after a delay."]
26150					schedule_named_after {
26151						id: [::core::primitive::u8; 32usize],
26152						after: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26153							::core::primitive::u32,
26154							::core::primitive::u64,
26155						>,
26156						maybe_periodic: ::core::option::Option<(
26157							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26158								::core::primitive::u32,
26159								::core::primitive::u64,
26160							>,
26161							::core::primitive::u32,
26162						)>,
26163						priority: ::core::primitive::u8,
26164						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
26165							runtime_types::quantus_runtime::RuntimeCall,
26166						>,
26167					},
26168					#[codec(index = 6)]
26169					#[doc = "Set a retry configuration for a task so that, in case its scheduled run fails, it will"]
26170					#[doc = "be retried after `period` blocks, for a total amount of `retries` retries or until it"]
26171					#[doc = "succeeds."]
26172					#[doc = ""]
26173					#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
26174					#[doc = "agenda space, same as a regular task. If a periodic task fails, it will be scheduled"]
26175					#[doc = "normally while the task is retrying."]
26176					#[doc = ""]
26177					#[doc = "Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic"]
26178					#[doc = "clones of the original task. Their retry configuration will be derived from the"]
26179					#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
26180					#[doc = "original `total_retries`."]
26181					set_retry {
26182						task: (
26183							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26184								::core::primitive::u32,
26185								::core::primitive::u64,
26186							>,
26187							::core::primitive::u32,
26188						),
26189						retries: ::core::primitive::u8,
26190						period: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26191							::core::primitive::u32,
26192							::core::primitive::u64,
26193						>,
26194					},
26195					#[codec(index = 7)]
26196					#[doc = "Set a retry configuration for a named task so that, in case its scheduled run fails, it"]
26197					#[doc = "will be retried after `period` blocks, for a total amount of `retries` retries or until"]
26198					#[doc = "it succeeds."]
26199					#[doc = ""]
26200					#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
26201					#[doc = "agenda space, same as a regular task. If a periodic task fails, it will be scheduled"]
26202					#[doc = "normally while the task is retrying."]
26203					#[doc = ""]
26204					#[doc = "Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic"]
26205					#[doc = "clones of the original task. Their retry configuration will be derived from the"]
26206					#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
26207					#[doc = "original `total_retries`."]
26208					set_retry_named {
26209						id: [::core::primitive::u8; 32usize],
26210						retries: ::core::primitive::u8,
26211						period: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26212							::core::primitive::u32,
26213							::core::primitive::u64,
26214						>,
26215					},
26216					#[codec(index = 8)]
26217					#[doc = "Removes the retry configuration of a task."]
26218					cancel_retry {
26219						task: (
26220							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26221								::core::primitive::u32,
26222								::core::primitive::u64,
26223							>,
26224							::core::primitive::u32,
26225						),
26226					},
26227					#[codec(index = 9)]
26228					#[doc = "Cancel the retry configuration of a named task."]
26229					cancel_retry_named { id: [::core::primitive::u8; 32usize] },
26230				}
26231				#[derive(
26232					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26233					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26234					Debug,
26235				)]
26236				#[decode_as_type(
26237					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26238				)]
26239				#[encode_as_type(
26240					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26241				)]
26242				#[doc = "The `Error` enum of this pallet."]
26243				pub enum Error {
26244					#[codec(index = 0)]
26245					#[doc = "Failed to schedule a call"]
26246					FailedToSchedule,
26247					#[codec(index = 1)]
26248					#[doc = "Cannot find the scheduled call."]
26249					NotFound,
26250					#[codec(index = 2)]
26251					#[doc = "Given target block number is in the past."]
26252					TargetBlockNumberInPast,
26253					#[codec(index = 3)]
26254					#[doc = "Given target timestamp is in the past."]
26255					TargetTimestampInPast,
26256					#[codec(index = 4)]
26257					#[doc = "Reschedule failed because it does not change scheduled time."]
26258					RescheduleNoChange,
26259					#[codec(index = 5)]
26260					#[doc = "Attempt to use a non-named function on a named task."]
26261					Named,
26262				}
26263				#[derive(
26264					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26265					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26266					Debug,
26267				)]
26268				#[decode_as_type(
26269					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26270				)]
26271				#[encode_as_type(
26272					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26273				)]
26274				#[doc = "Events type."]
26275				pub enum Event {
26276					#[codec(index = 0)]
26277					#[doc = "Scheduled some task."]
26278					Scheduled {
26279						when: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26280							::core::primitive::u32,
26281							::core::primitive::u64,
26282						>,
26283						index: ::core::primitive::u32,
26284					},
26285					#[codec(index = 1)]
26286					#[doc = "Canceled some task."]
26287					Canceled {
26288						when: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26289							::core::primitive::u32,
26290							::core::primitive::u64,
26291						>,
26292						index: ::core::primitive::u32,
26293					},
26294					#[codec(index = 2)]
26295					#[doc = "Dispatched some task."]
26296					Dispatched {
26297						task: (
26298							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26299								::core::primitive::u32,
26300								::core::primitive::u64,
26301							>,
26302							::core::primitive::u32,
26303						),
26304						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
26305						result:
26306							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
26307					},
26308					#[codec(index = 3)]
26309					#[doc = "Set a retry configuration for some task."]
26310					RetrySet {
26311						task: (
26312							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26313								::core::primitive::u32,
26314								::core::primitive::u64,
26315							>,
26316							::core::primitive::u32,
26317						),
26318						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
26319						period: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26320							::core::primitive::u32,
26321							::core::primitive::u64,
26322						>,
26323						retries: ::core::primitive::u8,
26324					},
26325					#[codec(index = 4)]
26326					#[doc = "Cancel a retry configuration for some task."]
26327					RetryCancelled {
26328						task: (
26329							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26330								::core::primitive::u32,
26331								::core::primitive::u64,
26332							>,
26333							::core::primitive::u32,
26334						),
26335						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
26336					},
26337					#[codec(index = 5)]
26338					#[doc = "The call for the provided hash was not found so the task has been aborted."]
26339					CallUnavailable {
26340						task: (
26341							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26342								::core::primitive::u32,
26343								::core::primitive::u64,
26344							>,
26345							::core::primitive::u32,
26346						),
26347						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
26348					},
26349					#[codec(index = 6)]
26350					#[doc = "The given task was unable to be renewed since the agenda is full at that block."]
26351					PeriodicFailed {
26352						task: (
26353							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26354								::core::primitive::u32,
26355								::core::primitive::u64,
26356							>,
26357							::core::primitive::u32,
26358						),
26359						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
26360					},
26361					#[codec(index = 7)]
26362					#[doc = "The given task was unable to be retried since the agenda is full at that block or there"]
26363					#[doc = "was not enough weight to reschedule it."]
26364					RetryFailed {
26365						task: (
26366							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26367								::core::primitive::u32,
26368								::core::primitive::u64,
26369							>,
26370							::core::primitive::u32,
26371						),
26372						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
26373					},
26374					#[codec(index = 8)]
26375					#[doc = "The given task can never be executed since it is overweight."]
26376					PermanentlyOverweight {
26377						task: (
26378							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26379								::core::primitive::u32,
26380								::core::primitive::u64,
26381							>,
26382							::core::primitive::u32,
26383						),
26384						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
26385					},
26386				}
26387			}
26388			#[derive(
26389				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26390				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26391				Debug,
26392			)]
26393			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26394			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26395			pub struct RetryConfig<_0> {
26396				pub total_retries: ::core::primitive::u8,
26397				pub remaining: ::core::primitive::u8,
26398				pub period: _0,
26399			}
26400			#[derive(
26401				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26402				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26403				Debug,
26404			)]
26405			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26406			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26407			pub struct Scheduled<_0, _1, _2, _3, _4, _5> {
26408				pub maybe_id: ::core::option::Option<_0>,
26409				pub priority: ::core::primitive::u8,
26410				pub call: _1,
26411				pub maybe_periodic: ::core::option::Option<(
26412					runtime_types::qp_scheduler::BlockNumberOrTimestamp<_2, _5>,
26413					_2,
26414				)>,
26415				pub origin: _3,
26416				#[codec(skip)]
26417				pub __ignore: ::core::marker::PhantomData<_4>,
26418			}
26419		}
26420		pub mod pallet_sudo {
26421			use super::runtime_types;
26422			pub mod pallet {
26423				use super::runtime_types;
26424				#[derive(
26425					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26426					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26427					Debug,
26428				)]
26429				#[decode_as_type(
26430					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26431				)]
26432				#[encode_as_type(
26433					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26434				)]
26435				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
26436				pub enum Call {
26437					#[codec(index = 0)]
26438					#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
26439					sudo {
26440						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
26441							runtime_types::quantus_runtime::RuntimeCall,
26442						>,
26443					},
26444					#[codec(index = 1)]
26445					#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
26446					#[doc = "This function does not check the weight of the call, and instead allows the"]
26447					#[doc = "Sudo user to specify the weight of the call."]
26448					#[doc = ""]
26449					#[doc = "The dispatch origin for this call must be _Signed_."]
26450					sudo_unchecked_weight {
26451						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
26452							runtime_types::quantus_runtime::RuntimeCall,
26453						>,
26454						weight: runtime_types::sp_weights::weight_v2::Weight,
26455					},
26456					#[codec(index = 2)]
26457					#[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"]
26458					#[doc = "key."]
26459					set_key {
26460						new: ::subxt::ext::subxt_core::utils::MultiAddress<
26461							::subxt::ext::subxt_core::utils::AccountId32,
26462							(),
26463						>,
26464					},
26465					#[codec(index = 3)]
26466					#[doc = "Authenticates the sudo key and dispatches a function call with `Signed` origin from"]
26467					#[doc = "a given account."]
26468					#[doc = ""]
26469					#[doc = "The dispatch origin for this call must be _Signed_."]
26470					sudo_as {
26471						who: ::subxt::ext::subxt_core::utils::MultiAddress<
26472							::subxt::ext::subxt_core::utils::AccountId32,
26473							(),
26474						>,
26475						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
26476							runtime_types::quantus_runtime::RuntimeCall,
26477						>,
26478					},
26479					#[codec(index = 4)]
26480					#[doc = "Permanently removes the sudo key."]
26481					#[doc = ""]
26482					#[doc = "**This cannot be un-done.**"]
26483					remove_key,
26484				}
26485				#[derive(
26486					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26487					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26488					Debug,
26489				)]
26490				#[decode_as_type(
26491					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26492				)]
26493				#[encode_as_type(
26494					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26495				)]
26496				#[doc = "Error for the Sudo pallet."]
26497				pub enum Error {
26498					#[codec(index = 0)]
26499					#[doc = "Sender must be the Sudo account."]
26500					RequireSudo,
26501				}
26502				#[derive(
26503					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26504					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26505					Debug,
26506				)]
26507				#[decode_as_type(
26508					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26509				)]
26510				#[encode_as_type(
26511					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26512				)]
26513				#[doc = "The `Event` enum of this pallet"]
26514				pub enum Event {
26515					#[codec(index = 0)]
26516					#[doc = "A sudo call just took place."]
26517					Sudid {
26518						sudo_result:
26519							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
26520					},
26521					#[codec(index = 1)]
26522					#[doc = "The sudo key has been updated."]
26523					KeyChanged {
26524						old: ::core::option::Option<::subxt::ext::subxt_core::utils::AccountId32>,
26525						new: ::subxt::ext::subxt_core::utils::AccountId32,
26526					},
26527					#[codec(index = 2)]
26528					#[doc = "The key was permanently removed."]
26529					KeyRemoved,
26530					#[codec(index = 3)]
26531					#[doc = "A [sudo_as](Pallet::sudo_as) call just took place."]
26532					SudoAsDone {
26533						sudo_result:
26534							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
26535					},
26536				}
26537			}
26538		}
26539		pub mod pallet_timestamp {
26540			use super::runtime_types;
26541			pub mod pallet {
26542				use super::runtime_types;
26543				#[derive(
26544					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26545					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26546					Debug,
26547				)]
26548				#[decode_as_type(
26549					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26550				)]
26551				#[encode_as_type(
26552					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26553				)]
26554				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
26555				pub enum Call {
26556					#[codec(index = 0)]
26557					#[doc = "Set the current time."]
26558					#[doc = ""]
26559					#[doc = "This call should be invoked exactly once per block. It will panic at the finalization"]
26560					#[doc = "phase, if this call hasn't been invoked by that time."]
26561					#[doc = ""]
26562					#[doc = "The timestamp should be greater than the previous one by the amount specified by"]
26563					#[doc = "[`Config::MinimumPeriod`]."]
26564					#[doc = ""]
26565					#[doc = "The dispatch origin for this call must be _None_."]
26566					#[doc = ""]
26567					#[doc = "This dispatch class is _Mandatory_ to ensure it gets executed in the block. Be aware"]
26568					#[doc = "that changing the complexity of this call could result exhausting the resources in a"]
26569					#[doc = "block to execute any other calls."]
26570					#[doc = ""]
26571					#[doc = "## Complexity"]
26572					#[doc = "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)"]
26573					#[doc = "- 1 storage read and 1 storage mutation (codec `O(1)` because of `DidUpdate::take` in"]
26574					#[doc = "  `on_finalize`)"]
26575					#[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."]
26576					set {
26577						#[codec(compact)]
26578						now: ::core::primitive::u64,
26579					},
26580				}
26581			}
26582		}
26583		pub mod pallet_transaction_payment {
26584			use super::runtime_types;
26585			pub mod pallet {
26586				use super::runtime_types;
26587				#[derive(
26588					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26589					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26590					Debug,
26591				)]
26592				#[decode_as_type(
26593					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26594				)]
26595				#[encode_as_type(
26596					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26597				)]
26598				#[doc = "The `Event` enum of this pallet"]
26599				pub enum Event {
26600					#[codec(index = 0)]
26601					#[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"]
26602					#[doc = "has been paid by `who`."]
26603					TransactionFeePaid {
26604						who: ::subxt::ext::subxt_core::utils::AccountId32,
26605						actual_fee: ::core::primitive::u128,
26606						tip: ::core::primitive::u128,
26607					},
26608				}
26609			}
26610			pub mod types {
26611				use super::runtime_types;
26612				#[derive(
26613					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26614					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26615					Debug,
26616				)]
26617				#[decode_as_type(
26618					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26619				)]
26620				#[encode_as_type(
26621					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26622				)]
26623				pub struct FeeDetails<_0> {
26624					pub inclusion_fee: ::core::option::Option<
26625						runtime_types::pallet_transaction_payment::types::InclusionFee<_0>,
26626					>,
26627					pub tip: _0,
26628				}
26629				#[derive(
26630					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26631					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26632					Debug,
26633				)]
26634				#[decode_as_type(
26635					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26636				)]
26637				#[encode_as_type(
26638					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26639				)]
26640				pub struct InclusionFee<_0> {
26641					pub base_fee: _0,
26642					pub len_fee: _0,
26643					pub adjusted_weight_fee: _0,
26644				}
26645				#[derive(
26646					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26647					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26648					Debug,
26649				)]
26650				#[decode_as_type(
26651					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26652				)]
26653				#[encode_as_type(
26654					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26655				)]
26656				pub struct RuntimeDispatchInfo<_0, _1> {
26657					pub weight: _1,
26658					pub class: runtime_types::frame_support::dispatch::DispatchClass,
26659					pub partial_fee: _0,
26660				}
26661			}
26662			#[derive(
26663				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26664				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26665				Debug,
26666			)]
26667			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26668			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26669			pub struct ChargeTransactionPayment(#[codec(compact)] pub ::core::primitive::u128);
26670			#[derive(
26671				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26672				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26673				Debug,
26674			)]
26675			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26676			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26677			pub enum Releases {
26678				#[codec(index = 0)]
26679				V1Ancient,
26680				#[codec(index = 1)]
26681				V2,
26682			}
26683		}
26684		pub mod pallet_treasury {
26685			use super::runtime_types;
26686			pub mod pallet {
26687				use super::runtime_types;
26688				#[derive(
26689					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26690					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26691					Debug,
26692				)]
26693				#[decode_as_type(
26694					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26695				)]
26696				#[encode_as_type(
26697					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26698				)]
26699				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
26700				pub enum Call {
26701					#[codec(index = 3)]
26702					#[doc = "Propose and approve a spend of treasury funds."]
26703					#[doc = ""]
26704					#[doc = "## Dispatch Origin"]
26705					#[doc = ""]
26706					#[doc = "Must be [`Config::SpendOrigin`] with the `Success` value being at least `amount`."]
26707					#[doc = ""]
26708					#[doc = "### Details"]
26709					#[doc = "NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the"]
26710					#[doc = "beneficiary."]
26711					#[doc = ""]
26712					#[doc = "### Parameters"]
26713					#[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."]
26714					#[doc = "- `beneficiary`: The destination account for the transfer."]
26715					#[doc = ""]
26716					#[doc = "## Events"]
26717					#[doc = ""]
26718					#[doc = "Emits [`Event::SpendApproved`] if successful."]
26719					spend_local {
26720						#[codec(compact)]
26721						amount: ::core::primitive::u128,
26722						beneficiary: ::subxt::ext::subxt_core::utils::MultiAddress<
26723							::subxt::ext::subxt_core::utils::AccountId32,
26724							(),
26725						>,
26726					},
26727					#[codec(index = 4)]
26728					#[doc = "Force a previously approved proposal to be removed from the approval queue."]
26729					#[doc = ""]
26730					#[doc = "## Dispatch Origin"]
26731					#[doc = ""]
26732					#[doc = "Must be [`Config::RejectOrigin`]."]
26733					#[doc = ""]
26734					#[doc = "## Details"]
26735					#[doc = ""]
26736					#[doc = "The original deposit will no longer be returned."]
26737					#[doc = ""]
26738					#[doc = "### Parameters"]
26739					#[doc = "- `proposal_id`: The index of a proposal"]
26740					#[doc = ""]
26741					#[doc = "### Complexity"]
26742					#[doc = "- O(A) where `A` is the number of approvals"]
26743					#[doc = ""]
26744					#[doc = "### Errors"]
26745					#[doc = "- [`Error::ProposalNotApproved`]: The `proposal_id` supplied was not found in the"]
26746					#[doc = "  approval queue, i.e., the proposal has not been approved. This could also mean the"]
26747					#[doc = "  proposal does not exist altogether, thus there is no way it would have been approved"]
26748					#[doc = "  in the first place."]
26749					remove_approval {
26750						#[codec(compact)]
26751						proposal_id: ::core::primitive::u32,
26752					},
26753					#[codec(index = 5)]
26754					#[doc = "Propose and approve a spend of treasury funds."]
26755					#[doc = ""]
26756					#[doc = "## Dispatch Origin"]
26757					#[doc = ""]
26758					#[doc = "Must be [`Config::SpendOrigin`] with the `Success` value being at least"]
26759					#[doc = "`amount` of `asset_kind` in the native asset. The amount of `asset_kind` is converted"]
26760					#[doc = "for assertion using the [`Config::BalanceConverter`]."]
26761					#[doc = ""]
26762					#[doc = "## Details"]
26763					#[doc = ""]
26764					#[doc = "Create an approved spend for transferring a specific `amount` of `asset_kind` to a"]
26765					#[doc = "designated beneficiary. The spend must be claimed using the `payout` dispatchable within"]
26766					#[doc = "the [`Config::PayoutPeriod`]."]
26767					#[doc = ""]
26768					#[doc = "### Parameters"]
26769					#[doc = "- `asset_kind`: An indicator of the specific asset class to be spent."]
26770					#[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."]
26771					#[doc = "- `beneficiary`: The beneficiary of the spend."]
26772					#[doc = "- `valid_from`: The block number from which the spend can be claimed. It can refer to"]
26773					#[doc = "  the past if the resulting spend has not yet expired according to the"]
26774					#[doc = "  [`Config::PayoutPeriod`]. If `None`, the spend can be claimed immediately after"]
26775					#[doc = "  approval."]
26776					#[doc = ""]
26777					#[doc = "## Events"]
26778					#[doc = ""]
26779					#[doc = "Emits [`Event::AssetSpendApproved`] if successful."]
26780					spend {
26781						asset_kind: ::subxt::ext::subxt_core::alloc::boxed::Box<()>,
26782						#[codec(compact)]
26783						amount: ::core::primitive::u128,
26784						beneficiary: ::subxt::ext::subxt_core::alloc::boxed::Box<
26785							::subxt::ext::subxt_core::utils::MultiAddress<
26786								::subxt::ext::subxt_core::utils::AccountId32,
26787								(),
26788							>,
26789						>,
26790						valid_from: ::core::option::Option<::core::primitive::u32>,
26791					},
26792					#[codec(index = 6)]
26793					#[doc = "Claim a spend."]
26794					#[doc = ""]
26795					#[doc = "## Dispatch Origin"]
26796					#[doc = ""]
26797					#[doc = "Must be signed"]
26798					#[doc = ""]
26799					#[doc = "## Details"]
26800					#[doc = ""]
26801					#[doc = "Spends must be claimed within some temporal bounds. A spend may be claimed within one"]
26802					#[doc = "[`Config::PayoutPeriod`] from the `valid_from` block."]
26803					#[doc = "In case of a payout failure, the spend status must be updated with the `check_status`"]
26804					#[doc = "dispatchable before retrying with the current function."]
26805					#[doc = ""]
26806					#[doc = "### Parameters"]
26807					#[doc = "- `index`: The spend index."]
26808					#[doc = ""]
26809					#[doc = "## Events"]
26810					#[doc = ""]
26811					#[doc = "Emits [`Event::Paid`] if successful."]
26812					payout { index: ::core::primitive::u32 },
26813					#[codec(index = 7)]
26814					#[doc = "Check the status of the spend and remove it from the storage if processed."]
26815					#[doc = ""]
26816					#[doc = "## Dispatch Origin"]
26817					#[doc = ""]
26818					#[doc = "Must be signed."]
26819					#[doc = ""]
26820					#[doc = "## Details"]
26821					#[doc = ""]
26822					#[doc = "The status check is a prerequisite for retrying a failed payout."]
26823					#[doc = "If a spend has either succeeded or expired, it is removed from the storage by this"]
26824					#[doc = "function. In such instances, transaction fees are refunded."]
26825					#[doc = ""]
26826					#[doc = "### Parameters"]
26827					#[doc = "- `index`: The spend index."]
26828					#[doc = ""]
26829					#[doc = "## Events"]
26830					#[doc = ""]
26831					#[doc = "Emits [`Event::PaymentFailed`] if the spend payout has failed."]
26832					#[doc = "Emits [`Event::SpendProcessed`] if the spend payout has succeed."]
26833					check_status { index: ::core::primitive::u32 },
26834					#[codec(index = 8)]
26835					#[doc = "Void previously approved spend."]
26836					#[doc = ""]
26837					#[doc = "## Dispatch Origin"]
26838					#[doc = ""]
26839					#[doc = "Must be [`Config::RejectOrigin`]."]
26840					#[doc = ""]
26841					#[doc = "## Details"]
26842					#[doc = ""]
26843					#[doc = "A spend void is only possible if the payout has not been attempted yet."]
26844					#[doc = ""]
26845					#[doc = "### Parameters"]
26846					#[doc = "- `index`: The spend index."]
26847					#[doc = ""]
26848					#[doc = "## Events"]
26849					#[doc = ""]
26850					#[doc = "Emits [`Event::AssetSpendVoided`] if successful."]
26851					void_spend { index: ::core::primitive::u32 },
26852				}
26853				#[derive(
26854					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26855					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26856					Debug,
26857				)]
26858				#[decode_as_type(
26859					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26860				)]
26861				#[encode_as_type(
26862					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26863				)]
26864				#[doc = "Error for the treasury pallet."]
26865				pub enum Error {
26866					#[codec(index = 0)]
26867					#[doc = "No proposal, bounty or spend at that index."]
26868					InvalidIndex,
26869					#[codec(index = 1)]
26870					#[doc = "Too many approvals in the queue."]
26871					TooManyApprovals,
26872					#[codec(index = 2)]
26873					#[doc = "The spend origin is valid but the amount it is allowed to spend is lower than the"]
26874					#[doc = "amount to be spent."]
26875					InsufficientPermission,
26876					#[codec(index = 3)]
26877					#[doc = "Proposal has not been approved."]
26878					ProposalNotApproved,
26879					#[codec(index = 4)]
26880					#[doc = "The balance of the asset kind is not convertible to the balance of the native asset."]
26881					FailedToConvertBalance,
26882					#[codec(index = 5)]
26883					#[doc = "The spend has expired and cannot be claimed."]
26884					SpendExpired,
26885					#[codec(index = 6)]
26886					#[doc = "The spend is not yet eligible for payout."]
26887					EarlyPayout,
26888					#[codec(index = 7)]
26889					#[doc = "The payment has already been attempted."]
26890					AlreadyAttempted,
26891					#[codec(index = 8)]
26892					#[doc = "There was some issue with the mechanism of payment."]
26893					PayoutError,
26894					#[codec(index = 9)]
26895					#[doc = "The payout was not yet attempted/claimed."]
26896					NotAttempted,
26897					#[codec(index = 10)]
26898					#[doc = "The payment has neither failed nor succeeded yet."]
26899					Inconclusive,
26900				}
26901				#[derive(
26902					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26903					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26904					Debug,
26905				)]
26906				#[decode_as_type(
26907					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26908				)]
26909				#[encode_as_type(
26910					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26911				)]
26912				#[doc = "The `Event` enum of this pallet"]
26913				pub enum Event {
26914					#[codec(index = 0)]
26915					#[doc = "We have ended a spend period and will now allocate funds."]
26916					Spending { budget_remaining: ::core::primitive::u128 },
26917					#[codec(index = 1)]
26918					#[doc = "Some funds have been allocated."]
26919					Awarded {
26920						proposal_index: ::core::primitive::u32,
26921						award: ::core::primitive::u128,
26922						account: ::subxt::ext::subxt_core::utils::AccountId32,
26923					},
26924					#[codec(index = 2)]
26925					#[doc = "Some of our funds have been burnt."]
26926					Burnt { burnt_funds: ::core::primitive::u128 },
26927					#[codec(index = 3)]
26928					#[doc = "Spending has finished; this is the amount that rolls over until next spend."]
26929					Rollover { rollover_balance: ::core::primitive::u128 },
26930					#[codec(index = 4)]
26931					#[doc = "Some funds have been deposited."]
26932					Deposit { value: ::core::primitive::u128 },
26933					#[codec(index = 5)]
26934					#[doc = "A new spend proposal has been approved."]
26935					SpendApproved {
26936						proposal_index: ::core::primitive::u32,
26937						amount: ::core::primitive::u128,
26938						beneficiary: ::subxt::ext::subxt_core::utils::AccountId32,
26939					},
26940					#[codec(index = 6)]
26941					#[doc = "The inactive funds of the pallet have been updated."]
26942					UpdatedInactive {
26943						reactivated: ::core::primitive::u128,
26944						deactivated: ::core::primitive::u128,
26945					},
26946					#[codec(index = 7)]
26947					#[doc = "A new asset spend proposal has been approved."]
26948					AssetSpendApproved {
26949						index: ::core::primitive::u32,
26950						asset_kind: (),
26951						amount: ::core::primitive::u128,
26952						beneficiary: ::subxt::ext::subxt_core::utils::AccountId32,
26953						valid_from: ::core::primitive::u32,
26954						expire_at: ::core::primitive::u32,
26955					},
26956					#[codec(index = 8)]
26957					#[doc = "An approved spend was voided."]
26958					AssetSpendVoided { index: ::core::primitive::u32 },
26959					#[codec(index = 9)]
26960					#[doc = "A payment happened."]
26961					Paid { index: ::core::primitive::u32, payment_id: ::core::primitive::u32 },
26962					#[codec(index = 10)]
26963					#[doc = "A payment failed and can be retried."]
26964					PaymentFailed {
26965						index: ::core::primitive::u32,
26966						payment_id: ::core::primitive::u32,
26967					},
26968					#[codec(index = 11)]
26969					#[doc = "A spend was processed and removed from the storage. It might have been successfully"]
26970					#[doc = "paid or it may have expired."]
26971					SpendProcessed { index: ::core::primitive::u32 },
26972				}
26973			}
26974			#[derive(
26975				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26976				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26977				Debug,
26978			)]
26979			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26980			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26981			pub enum PaymentState<_0> {
26982				#[codec(index = 0)]
26983				Pending,
26984				#[codec(index = 1)]
26985				Attempted { id: _0 },
26986				#[codec(index = 2)]
26987				Failed,
26988			}
26989			#[derive(
26990				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26991				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26992				Debug,
26993			)]
26994			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26995			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26996			pub struct Proposal<_0, _1> {
26997				pub proposer: _0,
26998				pub value: _1,
26999				pub beneficiary: _0,
27000				pub bond: _1,
27001			}
27002			#[derive(
27003				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27004				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27005				Debug,
27006			)]
27007			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27008			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27009			pub struct SpendStatus<_0, _1, _2, _3, _4> {
27010				pub asset_kind: _0,
27011				pub amount: _1,
27012				pub beneficiary: _2,
27013				pub valid_from: _3,
27014				pub expire_at: _3,
27015				pub status: runtime_types::pallet_treasury::PaymentState<_3>,
27016				#[codec(skip)]
27017				pub __ignore: ::core::marker::PhantomData<_4>,
27018			}
27019		}
27020		pub mod pallet_utility {
27021			use super::runtime_types;
27022			pub mod pallet {
27023				use super::runtime_types;
27024				#[derive(
27025					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27026					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27027					Debug,
27028				)]
27029				#[decode_as_type(
27030					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27031				)]
27032				#[encode_as_type(
27033					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27034				)]
27035				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
27036				pub enum Call {
27037					#[codec(index = 0)]
27038					#[doc = "Send a batch of dispatch calls."]
27039					#[doc = ""]
27040					#[doc = "May be called from any origin except `None`."]
27041					#[doc = ""]
27042					#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
27043					#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
27044					#[doc = ""]
27045					#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
27046					#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
27047					#[doc = ""]
27048					#[doc = "## Complexity"]
27049					#[doc = "- O(C) where C is the number of calls to be batched."]
27050					#[doc = ""]
27051					#[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"]
27052					#[doc = "event is deposited. If a call failed and the batch was interrupted, then the"]
27053					#[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"]
27054					#[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"]
27055					#[doc = "event is deposited."]
27056					batch {
27057						calls: ::subxt::ext::subxt_core::alloc::vec::Vec<
27058							runtime_types::quantus_runtime::RuntimeCall,
27059						>,
27060					},
27061					#[codec(index = 1)]
27062					#[doc = "Send a call through an indexed pseudonym of the sender."]
27063					#[doc = ""]
27064					#[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"]
27065					#[doc = "use the same filter as the origin of this call."]
27066					#[doc = ""]
27067					#[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."]
27068					#[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"]
27069					#[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"]
27070					#[doc = "in the Multisig pallet instead."]
27071					#[doc = ""]
27072					#[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."]
27073					#[doc = ""]
27074					#[doc = "The dispatch origin for this call must be _Signed_."]
27075					as_derivative {
27076						index: ::core::primitive::u16,
27077						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
27078							runtime_types::quantus_runtime::RuntimeCall,
27079						>,
27080					},
27081					#[codec(index = 2)]
27082					#[doc = "Send a batch of dispatch calls and atomically execute them."]
27083					#[doc = "The whole transaction will rollback and fail if any of the calls failed."]
27084					#[doc = ""]
27085					#[doc = "May be called from any origin except `None`."]
27086					#[doc = ""]
27087					#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
27088					#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
27089					#[doc = ""]
27090					#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
27091					#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
27092					#[doc = ""]
27093					#[doc = "## Complexity"]
27094					#[doc = "- O(C) where C is the number of calls to be batched."]
27095					batch_all {
27096						calls: ::subxt::ext::subxt_core::alloc::vec::Vec<
27097							runtime_types::quantus_runtime::RuntimeCall,
27098						>,
27099					},
27100					#[codec(index = 3)]
27101					#[doc = "Dispatches a function call with a provided origin."]
27102					#[doc = ""]
27103					#[doc = "The dispatch origin for this call must be _Root_."]
27104					#[doc = ""]
27105					#[doc = "## Complexity"]
27106					#[doc = "- O(1)."]
27107					dispatch_as {
27108						as_origin: ::subxt::ext::subxt_core::alloc::boxed::Box<
27109							runtime_types::quantus_runtime::OriginCaller,
27110						>,
27111						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
27112							runtime_types::quantus_runtime::RuntimeCall,
27113						>,
27114					},
27115					#[codec(index = 4)]
27116					#[doc = "Send a batch of dispatch calls."]
27117					#[doc = "Unlike `batch`, it allows errors and won't interrupt."]
27118					#[doc = ""]
27119					#[doc = "May be called from any origin except `None`."]
27120					#[doc = ""]
27121					#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
27122					#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
27123					#[doc = ""]
27124					#[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"]
27125					#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
27126					#[doc = ""]
27127					#[doc = "## Complexity"]
27128					#[doc = "- O(C) where C is the number of calls to be batched."]
27129					force_batch {
27130						calls: ::subxt::ext::subxt_core::alloc::vec::Vec<
27131							runtime_types::quantus_runtime::RuntimeCall,
27132						>,
27133					},
27134					#[codec(index = 5)]
27135					#[doc = "Dispatch a function call with a specified weight."]
27136					#[doc = ""]
27137					#[doc = "This function does not check the weight of the call, and instead allows the"]
27138					#[doc = "Root origin to specify the weight of the call."]
27139					#[doc = ""]
27140					#[doc = "The dispatch origin for this call must be _Root_."]
27141					with_weight {
27142						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
27143							runtime_types::quantus_runtime::RuntimeCall,
27144						>,
27145						weight: runtime_types::sp_weights::weight_v2::Weight,
27146					},
27147					#[codec(index = 6)]
27148					#[doc = "Dispatch a fallback call in the event the main call fails to execute."]
27149					#[doc = "May be called from any origin except `None`."]
27150					#[doc = ""]
27151					#[doc = "This function first attempts to dispatch the `main` call."]
27152					#[doc = "If the `main` call fails, the `fallback` is attemted."]
27153					#[doc = "if the fallback is successfully dispatched, the weights of both calls"]
27154					#[doc = "are accumulated and an event containing the main call error is deposited."]
27155					#[doc = ""]
27156					#[doc = "In the event of a fallback failure the whole call fails"]
27157					#[doc = "with the weights returned."]
27158					#[doc = ""]
27159					#[doc = "- `main`: The main call to be dispatched. This is the primary action to execute."]
27160					#[doc = "- `fallback`: The fallback call to be dispatched in case the `main` call fails."]
27161					#[doc = ""]
27162					#[doc = "## Dispatch Logic"]
27163					#[doc = "- If the origin is `root`, both the main and fallback calls are executed without"]
27164					#[doc = "  applying any origin filters."]
27165					#[doc = "- If the origin is not `root`, the origin filter is applied to both the `main` and"]
27166					#[doc = "  `fallback` calls."]
27167					#[doc = ""]
27168					#[doc = "## Use Case"]
27169					#[doc = "- Some use cases might involve submitting a `batch` type call in either main, fallback"]
27170					#[doc = "  or both."]
27171					if_else {
27172						main: ::subxt::ext::subxt_core::alloc::boxed::Box<
27173							runtime_types::quantus_runtime::RuntimeCall,
27174						>,
27175						fallback: ::subxt::ext::subxt_core::alloc::boxed::Box<
27176							runtime_types::quantus_runtime::RuntimeCall,
27177						>,
27178					},
27179					#[codec(index = 7)]
27180					#[doc = "Dispatches a function call with a provided origin."]
27181					#[doc = ""]
27182					#[doc = "Almost the same as [`Pallet::dispatch_as`] but forwards any error of the inner call."]
27183					#[doc = ""]
27184					#[doc = "The dispatch origin for this call must be _Root_."]
27185					dispatch_as_fallible {
27186						as_origin: ::subxt::ext::subxt_core::alloc::boxed::Box<
27187							runtime_types::quantus_runtime::OriginCaller,
27188						>,
27189						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
27190							runtime_types::quantus_runtime::RuntimeCall,
27191						>,
27192					},
27193				}
27194				#[derive(
27195					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27196					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27197					Debug,
27198				)]
27199				#[decode_as_type(
27200					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27201				)]
27202				#[encode_as_type(
27203					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27204				)]
27205				#[doc = "The `Error` enum of this pallet."]
27206				pub enum Error {
27207					#[codec(index = 0)]
27208					#[doc = "Too many calls batched."]
27209					TooManyCalls,
27210				}
27211				#[derive(
27212					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27213					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27214					Debug,
27215				)]
27216				#[decode_as_type(
27217					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27218				)]
27219				#[encode_as_type(
27220					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27221				)]
27222				#[doc = "The `Event` enum of this pallet"]
27223				pub enum Event {
27224					#[codec(index = 0)]
27225					#[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"]
27226					#[doc = "well as the error."]
27227					BatchInterrupted {
27228						index: ::core::primitive::u32,
27229						error: runtime_types::sp_runtime::DispatchError,
27230					},
27231					#[codec(index = 1)]
27232					#[doc = "Batch of dispatches completed fully with no error."]
27233					BatchCompleted,
27234					#[codec(index = 2)]
27235					#[doc = "Batch of dispatches completed but has errors."]
27236					BatchCompletedWithErrors,
27237					#[codec(index = 3)]
27238					#[doc = "A single item within a Batch of dispatches has completed with no error."]
27239					ItemCompleted,
27240					#[codec(index = 4)]
27241					#[doc = "A single item within a Batch of dispatches has completed with error."]
27242					ItemFailed { error: runtime_types::sp_runtime::DispatchError },
27243					#[codec(index = 5)]
27244					#[doc = "A call was dispatched."]
27245					DispatchedAs {
27246						result:
27247							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
27248					},
27249					#[codec(index = 6)]
27250					#[doc = "Main call was dispatched."]
27251					IfElseMainSuccess,
27252					#[codec(index = 7)]
27253					#[doc = "The fallback call was dispatched."]
27254					IfElseFallbackCalled { main_error: runtime_types::sp_runtime::DispatchError },
27255				}
27256			}
27257		}
27258		pub mod pallet_vesting {
27259			use super::runtime_types;
27260			pub mod pallet {
27261				use super::runtime_types;
27262				#[derive(
27263					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27264					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27265					Debug,
27266				)]
27267				#[decode_as_type(
27268					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27269				)]
27270				#[encode_as_type(
27271					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27272				)]
27273				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
27274				pub enum Call {
27275					#[codec(index = 0)]
27276					#[doc = "Unlock any vested funds of the sender account."]
27277					#[doc = ""]
27278					#[doc = "The dispatch origin for this call must be _Signed_ and the sender must have funds still"]
27279					#[doc = "locked under this pallet."]
27280					#[doc = ""]
27281					#[doc = "Emits either `VestingCompleted` or `VestingUpdated`."]
27282					#[doc = ""]
27283					#[doc = "## Complexity"]
27284					#[doc = "- `O(1)`."]
27285					vest,
27286					#[codec(index = 1)]
27287					#[doc = "Unlock any vested funds of a `target` account."]
27288					#[doc = ""]
27289					#[doc = "The dispatch origin for this call must be _Signed_."]
27290					#[doc = ""]
27291					#[doc = "- `target`: The account whose vested funds should be unlocked. Must have funds still"]
27292					#[doc = "locked under this pallet."]
27293					#[doc = ""]
27294					#[doc = "Emits either `VestingCompleted` or `VestingUpdated`."]
27295					#[doc = ""]
27296					#[doc = "## Complexity"]
27297					#[doc = "- `O(1)`."]
27298					vest_other {
27299						target: ::subxt::ext::subxt_core::utils::MultiAddress<
27300							::subxt::ext::subxt_core::utils::AccountId32,
27301							(),
27302						>,
27303					},
27304					#[codec(index = 2)]
27305					#[doc = "Create a vested transfer."]
27306					#[doc = ""]
27307					#[doc = "The dispatch origin for this call must be _Signed_."]
27308					#[doc = ""]
27309					#[doc = "- `target`: The account receiving the vested funds."]
27310					#[doc = "- `schedule`: The vesting schedule attached to the transfer."]
27311					#[doc = ""]
27312					#[doc = "Emits `VestingCreated`."]
27313					#[doc = ""]
27314					#[doc = "NOTE: This will unlock all schedules through the current block."]
27315					#[doc = ""]
27316					#[doc = "## Complexity"]
27317					#[doc = "- `O(1)`."]
27318					vested_transfer {
27319						target: ::subxt::ext::subxt_core::utils::MultiAddress<
27320							::subxt::ext::subxt_core::utils::AccountId32,
27321							(),
27322						>,
27323						schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo<
27324							::core::primitive::u128,
27325							::core::primitive::u32,
27326						>,
27327					},
27328					#[codec(index = 3)]
27329					#[doc = "Force a vested transfer."]
27330					#[doc = ""]
27331					#[doc = "The dispatch origin for this call must be _Root_."]
27332					#[doc = ""]
27333					#[doc = "- `source`: The account whose funds should be transferred."]
27334					#[doc = "- `target`: The account that should be transferred the vested funds."]
27335					#[doc = "- `schedule`: The vesting schedule attached to the transfer."]
27336					#[doc = ""]
27337					#[doc = "Emits `VestingCreated`."]
27338					#[doc = ""]
27339					#[doc = "NOTE: This will unlock all schedules through the current block."]
27340					#[doc = ""]
27341					#[doc = "## Complexity"]
27342					#[doc = "- `O(1)`."]
27343					force_vested_transfer {
27344						source: ::subxt::ext::subxt_core::utils::MultiAddress<
27345							::subxt::ext::subxt_core::utils::AccountId32,
27346							(),
27347						>,
27348						target: ::subxt::ext::subxt_core::utils::MultiAddress<
27349							::subxt::ext::subxt_core::utils::AccountId32,
27350							(),
27351						>,
27352						schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo<
27353							::core::primitive::u128,
27354							::core::primitive::u32,
27355						>,
27356					},
27357					#[codec(index = 4)]
27358					#[doc = "Merge two vesting schedules together, creating a new vesting schedule that unlocks over"]
27359					#[doc = "the highest possible start and end blocks. If both schedules have already started the"]
27360					#[doc = "current block will be used as the schedule start; with the caveat that if one schedule"]
27361					#[doc = "is finished by the current block, the other will be treated as the new merged schedule,"]
27362					#[doc = "unmodified."]
27363					#[doc = ""]
27364					#[doc = "NOTE: If `schedule1_index == schedule2_index` this is a no-op."]
27365					#[doc = "NOTE: This will unlock all schedules through the current block prior to merging."]
27366					#[doc = "NOTE: If both schedules have ended by the current block, no new schedule will be created"]
27367					#[doc = "and both will be removed."]
27368					#[doc = ""]
27369					#[doc = "Merged schedule attributes:"]
27370					#[doc = "- `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block,"]
27371					#[doc = "  current_block)`."]
27372					#[doc = "- `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`."]
27373					#[doc = "- `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`."]
27374					#[doc = ""]
27375					#[doc = "The dispatch origin for this call must be _Signed_."]
27376					#[doc = ""]
27377					#[doc = "- `schedule1_index`: index of the first schedule to merge."]
27378					#[doc = "- `schedule2_index`: index of the second schedule to merge."]
27379					merge_schedules {
27380						schedule1_index: ::core::primitive::u32,
27381						schedule2_index: ::core::primitive::u32,
27382					},
27383					#[codec(index = 5)]
27384					#[doc = "Force remove a vesting schedule"]
27385					#[doc = ""]
27386					#[doc = "The dispatch origin for this call must be _Root_."]
27387					#[doc = ""]
27388					#[doc = "- `target`: An account that has a vesting schedule"]
27389					#[doc = "- `schedule_index`: The vesting schedule index that should be removed"]
27390					force_remove_vesting_schedule {
27391						target: ::subxt::ext::subxt_core::utils::MultiAddress<
27392							::subxt::ext::subxt_core::utils::AccountId32,
27393							(),
27394						>,
27395						schedule_index: ::core::primitive::u32,
27396					},
27397				}
27398				#[derive(
27399					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27400					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27401					Debug,
27402				)]
27403				#[decode_as_type(
27404					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27405				)]
27406				#[encode_as_type(
27407					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27408				)]
27409				#[doc = "Error for the vesting pallet."]
27410				pub enum Error {
27411					#[codec(index = 0)]
27412					#[doc = "The account given is not vesting."]
27413					NotVesting,
27414					#[codec(index = 1)]
27415					#[doc = "The account already has `MaxVestingSchedules` count of schedules and thus"]
27416					#[doc = "cannot add another one. Consider merging existing schedules in order to add another."]
27417					AtMaxVestingSchedules,
27418					#[codec(index = 2)]
27419					#[doc = "Amount being transferred is too low to create a vesting schedule."]
27420					AmountLow,
27421					#[codec(index = 3)]
27422					#[doc = "An index was out of bounds of the vesting schedules."]
27423					ScheduleIndexOutOfBounds,
27424					#[codec(index = 4)]
27425					#[doc = "Failed to create a new schedule because some parameter was invalid."]
27426					InvalidScheduleParams,
27427				}
27428				#[derive(
27429					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27430					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27431					Debug,
27432				)]
27433				#[decode_as_type(
27434					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27435				)]
27436				#[encode_as_type(
27437					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27438				)]
27439				#[doc = "The `Event` enum of this pallet"]
27440				pub enum Event {
27441					#[codec(index = 0)]
27442					#[doc = "A vesting schedule has been created."]
27443					VestingCreated {
27444						account: ::subxt::ext::subxt_core::utils::AccountId32,
27445						schedule_index: ::core::primitive::u32,
27446					},
27447					#[codec(index = 1)]
27448					#[doc = "The amount vested has been updated. This could indicate a change in funds available."]
27449					#[doc = "The balance given is the amount which is left unvested (and thus locked)."]
27450					VestingUpdated {
27451						account: ::subxt::ext::subxt_core::utils::AccountId32,
27452						unvested: ::core::primitive::u128,
27453					},
27454					#[codec(index = 2)]
27455					#[doc = "An \\[account\\] has become fully vested."]
27456					VestingCompleted { account: ::subxt::ext::subxt_core::utils::AccountId32 },
27457				}
27458			}
27459			pub mod vesting_info {
27460				use super::runtime_types;
27461				#[derive(
27462					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27463					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27464					Debug,
27465				)]
27466				#[decode_as_type(
27467					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27468				)]
27469				#[encode_as_type(
27470					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27471				)]
27472				pub struct VestingInfo<_0, _1> {
27473					pub locked: _0,
27474					pub per_block: _0,
27475					pub starting_block: _1,
27476				}
27477			}
27478			#[derive(
27479				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27480				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27481				Debug,
27482			)]
27483			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27484			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27485			pub enum Releases {
27486				#[codec(index = 0)]
27487				V0,
27488				#[codec(index = 1)]
27489				V1,
27490			}
27491		}
27492		pub mod primitive_types {
27493			use super::runtime_types;
27494			#[derive(
27495				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27496				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27497				Debug,
27498			)]
27499			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27500			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27501			pub struct U512(pub [::core::primitive::u64; 8usize]);
27502		}
27503		pub mod qp_dilithium_crypto {
27504			use super::runtime_types;
27505			pub mod types {
27506				use super::runtime_types;
27507				#[derive(
27508					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27509					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27510					Debug,
27511				)]
27512				#[decode_as_type(
27513					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27514				)]
27515				#[encode_as_type(
27516					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27517				)]
27518				pub enum DilithiumSignatureScheme {
27519					#[codec(index = 0)]
27520					Dilithium(
27521						runtime_types::qp_dilithium_crypto::types::DilithiumSignatureWithPublic,
27522					),
27523				}
27524				#[derive(
27525					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27526					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27527					Debug,
27528				)]
27529				#[decode_as_type(
27530					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27531				)]
27532				#[encode_as_type(
27533					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27534				)]
27535				pub struct DilithiumSignatureWithPublic {
27536					pub bytes: [::core::primitive::u8; 7219usize],
27537				}
27538			}
27539		}
27540		pub mod qp_poseidon {
27541			use super::runtime_types;
27542			#[derive(
27543				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27544				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27545				Debug,
27546			)]
27547			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27548			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27549			pub struct PoseidonHasher;
27550		}
27551		pub mod qp_scheduler {
27552			use super::runtime_types;
27553			#[derive(
27554				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27555				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27556				Debug,
27557			)]
27558			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27559			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27560			pub enum BlockNumberOrTimestamp<_0, _1> {
27561				#[codec(index = 0)]
27562				BlockNumber(_0),
27563				#[codec(index = 1)]
27564				Timestamp(_1),
27565			}
27566			#[derive(
27567				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27568				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27569				Debug,
27570			)]
27571			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27572			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27573			pub enum DispatchTime<_0, _1> {
27574				#[codec(index = 0)]
27575				At(_0),
27576				#[codec(index = 1)]
27577				After(runtime_types::qp_scheduler::BlockNumberOrTimestamp<_0, _1>),
27578			}
27579		}
27580		pub mod quantus_runtime {
27581			use super::runtime_types;
27582			pub mod governance {
27583				use super::runtime_types;
27584				pub mod definitions {
27585					use super::runtime_types;
27586					#[derive(
27587						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27588						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27589						Debug,
27590					)]
27591					#[decode_as_type(
27592						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27593					)]
27594					#[encode_as_type(
27595						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27596					)]
27597					pub struct PreimageDeposit {
27598						pub amount: ::core::primitive::u128,
27599					}
27600				}
27601				pub mod origins {
27602					use super::runtime_types;
27603					pub mod pallet_custom_origins {
27604						use super::runtime_types;
27605						#[derive(
27606							:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27607							:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27608							Debug,
27609						)]
27610						#[decode_as_type(
27611							crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27612						)]
27613						#[encode_as_type(
27614							crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27615						)]
27616						pub enum Origin {
27617							#[codec(index = 0)]
27618							Treasurer,
27619							#[codec(index = 1)]
27620							SmallSpender,
27621							#[codec(index = 2)]
27622							MediumSpender,
27623							#[codec(index = 3)]
27624							BigSpender,
27625						}
27626					}
27627				}
27628			}
27629			pub mod transaction_extensions {
27630				use super::runtime_types;
27631				#[derive(
27632					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27633					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27634					Debug,
27635				)]
27636				#[decode_as_type(
27637					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27638				)]
27639				#[encode_as_type(
27640					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27641				)]
27642				pub struct ReversibleTransactionExtension;
27643			}
27644			#[derive(
27645				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27646				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27647				Debug,
27648			)]
27649			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27650			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27651			pub enum OriginCaller {
27652				# [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 ,) , }
27653			#[derive(
27654				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27655				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27656				Debug,
27657			)]
27658			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27659			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27660			pub struct Runtime;
27661			#[derive(
27662				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27663				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27664				Debug,
27665			)]
27666			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27667			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27668			pub enum RuntimeCall {
27669				#[codec(index = 0)]
27670				System(runtime_types::frame_system::pallet::Call),
27671				#[codec(index = 1)]
27672				Timestamp(runtime_types::pallet_timestamp::pallet::Call),
27673				#[codec(index = 2)]
27674				Balances(runtime_types::pallet_balances::pallet::Call),
27675				#[codec(index = 4)]
27676				Sudo(runtime_types::pallet_sudo::pallet::Call),
27677				#[codec(index = 8)]
27678				Vesting(runtime_types::pallet_vesting::pallet::Call),
27679				#[codec(index = 9)]
27680				Preimage(runtime_types::pallet_preimage::pallet::Call),
27681				#[codec(index = 10)]
27682				Scheduler(runtime_types::pallet_scheduler::pallet::Call),
27683				#[codec(index = 11)]
27684				Utility(runtime_types::pallet_utility::pallet::Call),
27685				#[codec(index = 12)]
27686				Referenda(runtime_types::pallet_referenda::pallet::Call),
27687				#[codec(index = 13)]
27688				ReversibleTransfers(runtime_types::pallet_reversible_transfers::pallet::Call),
27689				#[codec(index = 14)]
27690				ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Call),
27691				#[codec(index = 15)]
27692				TechCollective(runtime_types::pallet_ranked_collective::pallet::Call),
27693				#[codec(index = 16)]
27694				TechReferenda(runtime_types::pallet_referenda::pallet::Call),
27695				#[codec(index = 17)]
27696				MerkleAirdrop(runtime_types::pallet_merkle_airdrop::pallet::Call),
27697				#[codec(index = 18)]
27698				TreasuryPallet(runtime_types::pallet_treasury::pallet::Call),
27699				#[codec(index = 20)]
27700				Recovery(runtime_types::pallet_recovery::pallet::Call),
27701				#[codec(index = 21)]
27702				Assets(runtime_types::pallet_assets::pallet::Call),
27703			}
27704			#[derive(
27705				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27706				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27707				Debug,
27708			)]
27709			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27710			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27711			pub enum RuntimeError {
27712				#[codec(index = 0)]
27713				System(runtime_types::frame_system::pallet::Error),
27714				#[codec(index = 2)]
27715				Balances(runtime_types::pallet_balances::pallet::Error),
27716				#[codec(index = 4)]
27717				Sudo(runtime_types::pallet_sudo::pallet::Error),
27718				#[codec(index = 5)]
27719				QPoW(runtime_types::pallet_qpow::pallet::Error),
27720				#[codec(index = 8)]
27721				Vesting(runtime_types::pallet_vesting::pallet::Error),
27722				#[codec(index = 9)]
27723				Preimage(runtime_types::pallet_preimage::pallet::Error),
27724				#[codec(index = 10)]
27725				Scheduler(runtime_types::pallet_scheduler::pallet::Error),
27726				#[codec(index = 11)]
27727				Utility(runtime_types::pallet_utility::pallet::Error),
27728				#[codec(index = 12)]
27729				Referenda(runtime_types::pallet_referenda::pallet::Error),
27730				#[codec(index = 13)]
27731				ReversibleTransfers(runtime_types::pallet_reversible_transfers::pallet::Error),
27732				#[codec(index = 14)]
27733				ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Error),
27734				#[codec(index = 15)]
27735				TechCollective(runtime_types::pallet_ranked_collective::pallet::Error),
27736				#[codec(index = 16)]
27737				TechReferenda(runtime_types::pallet_referenda::pallet::Error),
27738				#[codec(index = 17)]
27739				MerkleAirdrop(runtime_types::pallet_merkle_airdrop::pallet::Error),
27740				#[codec(index = 18)]
27741				TreasuryPallet(runtime_types::pallet_treasury::pallet::Error),
27742				#[codec(index = 20)]
27743				Recovery(runtime_types::pallet_recovery::pallet::Error),
27744				#[codec(index = 21)]
27745				Assets(runtime_types::pallet_assets::pallet::Error),
27746				#[codec(index = 22)]
27747				AssetsHolder(runtime_types::pallet_assets_holder::pallet::Error),
27748			}
27749			#[derive(
27750				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27751				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27752				Debug,
27753			)]
27754			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27755			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27756			pub enum RuntimeEvent {
27757				#[codec(index = 0)]
27758				System(runtime_types::frame_system::pallet::Event),
27759				#[codec(index = 2)]
27760				Balances(runtime_types::pallet_balances::pallet::Event),
27761				#[codec(index = 3)]
27762				TransactionPayment(runtime_types::pallet_transaction_payment::pallet::Event),
27763				#[codec(index = 4)]
27764				Sudo(runtime_types::pallet_sudo::pallet::Event),
27765				#[codec(index = 5)]
27766				QPoW(runtime_types::pallet_qpow::pallet::Event),
27767				#[codec(index = 7)]
27768				MiningRewards(runtime_types::pallet_mining_rewards::pallet::Event),
27769				#[codec(index = 8)]
27770				Vesting(runtime_types::pallet_vesting::pallet::Event),
27771				#[codec(index = 9)]
27772				Preimage(runtime_types::pallet_preimage::pallet::Event),
27773				#[codec(index = 10)]
27774				Scheduler(runtime_types::pallet_scheduler::pallet::Event),
27775				#[codec(index = 11)]
27776				Utility(runtime_types::pallet_utility::pallet::Event),
27777				#[codec(index = 12)]
27778				Referenda(runtime_types::pallet_referenda::pallet::Event1),
27779				#[codec(index = 13)]
27780				ReversibleTransfers(runtime_types::pallet_reversible_transfers::pallet::Event),
27781				#[codec(index = 14)]
27782				ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Event),
27783				#[codec(index = 15)]
27784				TechCollective(runtime_types::pallet_ranked_collective::pallet::Event),
27785				#[codec(index = 16)]
27786				TechReferenda(runtime_types::pallet_referenda::pallet::Event2),
27787				#[codec(index = 17)]
27788				MerkleAirdrop(runtime_types::pallet_merkle_airdrop::pallet::Event),
27789				#[codec(index = 18)]
27790				TreasuryPallet(runtime_types::pallet_treasury::pallet::Event),
27791				#[codec(index = 20)]
27792				Recovery(runtime_types::pallet_recovery::pallet::Event),
27793				#[codec(index = 21)]
27794				Assets(runtime_types::pallet_assets::pallet::Event),
27795				#[codec(index = 22)]
27796				AssetsHolder(runtime_types::pallet_assets_holder::pallet::Event),
27797			}
27798			#[derive(
27799				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27800				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27801				Debug,
27802			)]
27803			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27804			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27805			pub enum RuntimeFreezeReason {}
27806			#[derive(
27807				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27808				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27809				Debug,
27810			)]
27811			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27812			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27813			pub enum RuntimeHoldReason {
27814				#[codec(index = 9)]
27815				Preimage(runtime_types::pallet_preimage::pallet::HoldReason),
27816				#[codec(index = 13)]
27817				ReversibleTransfers(runtime_types::pallet_reversible_transfers::pallet::HoldReason),
27818			}
27819		}
27820		pub mod sp_arithmetic {
27821			use super::runtime_types;
27822			pub mod fixed_point {
27823				use super::runtime_types;
27824				#[derive(
27825					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27826					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27827					Debug,
27828				)]
27829				#[decode_as_type(
27830					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27831				)]
27832				#[encode_as_type(
27833					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27834				)]
27835				pub struct FixedI64(pub ::core::primitive::i64);
27836				#[derive(
27837					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27838					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27839					Debug,
27840				)]
27841				#[decode_as_type(
27842					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27843				)]
27844				#[encode_as_type(
27845					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27846				)]
27847				pub struct FixedU128(pub ::core::primitive::u128);
27848			}
27849			pub mod per_things {
27850				use super::runtime_types;
27851				#[derive(
27852					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27853					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27854					Debug,
27855				)]
27856				#[decode_as_type(
27857					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27858				)]
27859				#[encode_as_type(
27860					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27861				)]
27862				pub struct Perbill(pub ::core::primitive::u32);
27863				#[derive(
27864					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27865					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27866					Debug,
27867				)]
27868				#[decode_as_type(
27869					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27870				)]
27871				#[encode_as_type(
27872					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27873				)]
27874				pub struct Permill(pub ::core::primitive::u32);
27875			}
27876			#[derive(
27877				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27878				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27879				Debug,
27880			)]
27881			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27882			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27883			pub enum ArithmeticError {
27884				#[codec(index = 0)]
27885				Underflow,
27886				#[codec(index = 1)]
27887				Overflow,
27888				#[codec(index = 2)]
27889				DivisionByZero,
27890			}
27891		}
27892		pub mod sp_core {
27893			use super::runtime_types;
27894			pub mod crypto {
27895				use super::runtime_types;
27896				#[derive(
27897					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27898					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27899					Debug,
27900				)]
27901				#[decode_as_type(
27902					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27903				)]
27904				#[encode_as_type(
27905					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27906				)]
27907				pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]);
27908			}
27909			#[derive(
27910				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27911				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27912				Debug,
27913			)]
27914			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27915			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27916			pub struct OpaqueMetadata(
27917				pub ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
27918			);
27919		}
27920		pub mod sp_inherents {
27921			use super::runtime_types;
27922			#[derive(
27923				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27924				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27925				Debug,
27926			)]
27927			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27928			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27929			pub struct CheckInherentsResult {
27930				pub okay: ::core::primitive::bool,
27931				pub fatal_error: ::core::primitive::bool,
27932				pub errors: runtime_types::sp_inherents::InherentData,
27933			}
27934			#[derive(
27935				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27936				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27937				Debug,
27938			)]
27939			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27940			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27941			pub struct InherentData {
27942				pub data: ::subxt::ext::subxt_core::utils::KeyedVec<
27943					[::core::primitive::u8; 8usize],
27944					::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
27945				>,
27946			}
27947		}
27948		pub mod sp_runtime {
27949			use super::runtime_types;
27950			pub mod generic {
27951				use super::runtime_types;
27952				pub mod block {
27953					use super::runtime_types;
27954					#[derive(
27955						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27956						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27957						Debug,
27958					)]
27959					#[decode_as_type(
27960						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27961					)]
27962					#[encode_as_type(
27963						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27964					)]
27965					pub struct Block<_0, _1> {
27966						pub header: _0,
27967						pub extrinsics: ::subxt::ext::subxt_core::alloc::vec::Vec<_1>,
27968					}
27969				}
27970				pub mod digest {
27971					use super::runtime_types;
27972					#[derive(
27973						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27974						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27975						Debug,
27976					)]
27977					#[decode_as_type(
27978						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27979					)]
27980					#[encode_as_type(
27981						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27982					)]
27983					pub struct Digest {
27984						pub logs: ::subxt::ext::subxt_core::alloc::vec::Vec<
27985							runtime_types::sp_runtime::generic::digest::DigestItem,
27986						>,
27987					}
27988					#[derive(
27989						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27990						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27991						Debug,
27992					)]
27993					#[decode_as_type(
27994						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27995					)]
27996					#[encode_as_type(
27997						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27998					)]
27999					pub enum DigestItem {
28000						#[codec(index = 6)]
28001						PreRuntime(
28002							[::core::primitive::u8; 4usize],
28003							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
28004						),
28005						#[codec(index = 4)]
28006						Consensus(
28007							[::core::primitive::u8; 4usize],
28008							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
28009						),
28010						#[codec(index = 5)]
28011						Seal(
28012							[::core::primitive::u8; 4usize],
28013							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
28014						),
28015						#[codec(index = 0)]
28016						Other(::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>),
28017						#[codec(index = 8)]
28018						RuntimeEnvironmentUpdated,
28019					}
28020				}
28021				pub mod era {
28022					use super::runtime_types;
28023					#[derive(
28024						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28025						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28026						Debug,
28027					)]
28028					#[decode_as_type(
28029						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
28030					)]
28031					#[encode_as_type(
28032						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
28033					)]
28034					pub enum Era {
28035						#[codec(index = 0)]
28036						Immortal,
28037						#[codec(index = 1)]
28038						Mortal1(::core::primitive::u8),
28039						#[codec(index = 2)]
28040						Mortal2(::core::primitive::u8),
28041						#[codec(index = 3)]
28042						Mortal3(::core::primitive::u8),
28043						#[codec(index = 4)]
28044						Mortal4(::core::primitive::u8),
28045						#[codec(index = 5)]
28046						Mortal5(::core::primitive::u8),
28047						#[codec(index = 6)]
28048						Mortal6(::core::primitive::u8),
28049						#[codec(index = 7)]
28050						Mortal7(::core::primitive::u8),
28051						#[codec(index = 8)]
28052						Mortal8(::core::primitive::u8),
28053						#[codec(index = 9)]
28054						Mortal9(::core::primitive::u8),
28055						#[codec(index = 10)]
28056						Mortal10(::core::primitive::u8),
28057						#[codec(index = 11)]
28058						Mortal11(::core::primitive::u8),
28059						#[codec(index = 12)]
28060						Mortal12(::core::primitive::u8),
28061						#[codec(index = 13)]
28062						Mortal13(::core::primitive::u8),
28063						#[codec(index = 14)]
28064						Mortal14(::core::primitive::u8),
28065						#[codec(index = 15)]
28066						Mortal15(::core::primitive::u8),
28067						#[codec(index = 16)]
28068						Mortal16(::core::primitive::u8),
28069						#[codec(index = 17)]
28070						Mortal17(::core::primitive::u8),
28071						#[codec(index = 18)]
28072						Mortal18(::core::primitive::u8),
28073						#[codec(index = 19)]
28074						Mortal19(::core::primitive::u8),
28075						#[codec(index = 20)]
28076						Mortal20(::core::primitive::u8),
28077						#[codec(index = 21)]
28078						Mortal21(::core::primitive::u8),
28079						#[codec(index = 22)]
28080						Mortal22(::core::primitive::u8),
28081						#[codec(index = 23)]
28082						Mortal23(::core::primitive::u8),
28083						#[codec(index = 24)]
28084						Mortal24(::core::primitive::u8),
28085						#[codec(index = 25)]
28086						Mortal25(::core::primitive::u8),
28087						#[codec(index = 26)]
28088						Mortal26(::core::primitive::u8),
28089						#[codec(index = 27)]
28090						Mortal27(::core::primitive::u8),
28091						#[codec(index = 28)]
28092						Mortal28(::core::primitive::u8),
28093						#[codec(index = 29)]
28094						Mortal29(::core::primitive::u8),
28095						#[codec(index = 30)]
28096						Mortal30(::core::primitive::u8),
28097						#[codec(index = 31)]
28098						Mortal31(::core::primitive::u8),
28099						#[codec(index = 32)]
28100						Mortal32(::core::primitive::u8),
28101						#[codec(index = 33)]
28102						Mortal33(::core::primitive::u8),
28103						#[codec(index = 34)]
28104						Mortal34(::core::primitive::u8),
28105						#[codec(index = 35)]
28106						Mortal35(::core::primitive::u8),
28107						#[codec(index = 36)]
28108						Mortal36(::core::primitive::u8),
28109						#[codec(index = 37)]
28110						Mortal37(::core::primitive::u8),
28111						#[codec(index = 38)]
28112						Mortal38(::core::primitive::u8),
28113						#[codec(index = 39)]
28114						Mortal39(::core::primitive::u8),
28115						#[codec(index = 40)]
28116						Mortal40(::core::primitive::u8),
28117						#[codec(index = 41)]
28118						Mortal41(::core::primitive::u8),
28119						#[codec(index = 42)]
28120						Mortal42(::core::primitive::u8),
28121						#[codec(index = 43)]
28122						Mortal43(::core::primitive::u8),
28123						#[codec(index = 44)]
28124						Mortal44(::core::primitive::u8),
28125						#[codec(index = 45)]
28126						Mortal45(::core::primitive::u8),
28127						#[codec(index = 46)]
28128						Mortal46(::core::primitive::u8),
28129						#[codec(index = 47)]
28130						Mortal47(::core::primitive::u8),
28131						#[codec(index = 48)]
28132						Mortal48(::core::primitive::u8),
28133						#[codec(index = 49)]
28134						Mortal49(::core::primitive::u8),
28135						#[codec(index = 50)]
28136						Mortal50(::core::primitive::u8),
28137						#[codec(index = 51)]
28138						Mortal51(::core::primitive::u8),
28139						#[codec(index = 52)]
28140						Mortal52(::core::primitive::u8),
28141						#[codec(index = 53)]
28142						Mortal53(::core::primitive::u8),
28143						#[codec(index = 54)]
28144						Mortal54(::core::primitive::u8),
28145						#[codec(index = 55)]
28146						Mortal55(::core::primitive::u8),
28147						#[codec(index = 56)]
28148						Mortal56(::core::primitive::u8),
28149						#[codec(index = 57)]
28150						Mortal57(::core::primitive::u8),
28151						#[codec(index = 58)]
28152						Mortal58(::core::primitive::u8),
28153						#[codec(index = 59)]
28154						Mortal59(::core::primitive::u8),
28155						#[codec(index = 60)]
28156						Mortal60(::core::primitive::u8),
28157						#[codec(index = 61)]
28158						Mortal61(::core::primitive::u8),
28159						#[codec(index = 62)]
28160						Mortal62(::core::primitive::u8),
28161						#[codec(index = 63)]
28162						Mortal63(::core::primitive::u8),
28163						#[codec(index = 64)]
28164						Mortal64(::core::primitive::u8),
28165						#[codec(index = 65)]
28166						Mortal65(::core::primitive::u8),
28167						#[codec(index = 66)]
28168						Mortal66(::core::primitive::u8),
28169						#[codec(index = 67)]
28170						Mortal67(::core::primitive::u8),
28171						#[codec(index = 68)]
28172						Mortal68(::core::primitive::u8),
28173						#[codec(index = 69)]
28174						Mortal69(::core::primitive::u8),
28175						#[codec(index = 70)]
28176						Mortal70(::core::primitive::u8),
28177						#[codec(index = 71)]
28178						Mortal71(::core::primitive::u8),
28179						#[codec(index = 72)]
28180						Mortal72(::core::primitive::u8),
28181						#[codec(index = 73)]
28182						Mortal73(::core::primitive::u8),
28183						#[codec(index = 74)]
28184						Mortal74(::core::primitive::u8),
28185						#[codec(index = 75)]
28186						Mortal75(::core::primitive::u8),
28187						#[codec(index = 76)]
28188						Mortal76(::core::primitive::u8),
28189						#[codec(index = 77)]
28190						Mortal77(::core::primitive::u8),
28191						#[codec(index = 78)]
28192						Mortal78(::core::primitive::u8),
28193						#[codec(index = 79)]
28194						Mortal79(::core::primitive::u8),
28195						#[codec(index = 80)]
28196						Mortal80(::core::primitive::u8),
28197						#[codec(index = 81)]
28198						Mortal81(::core::primitive::u8),
28199						#[codec(index = 82)]
28200						Mortal82(::core::primitive::u8),
28201						#[codec(index = 83)]
28202						Mortal83(::core::primitive::u8),
28203						#[codec(index = 84)]
28204						Mortal84(::core::primitive::u8),
28205						#[codec(index = 85)]
28206						Mortal85(::core::primitive::u8),
28207						#[codec(index = 86)]
28208						Mortal86(::core::primitive::u8),
28209						#[codec(index = 87)]
28210						Mortal87(::core::primitive::u8),
28211						#[codec(index = 88)]
28212						Mortal88(::core::primitive::u8),
28213						#[codec(index = 89)]
28214						Mortal89(::core::primitive::u8),
28215						#[codec(index = 90)]
28216						Mortal90(::core::primitive::u8),
28217						#[codec(index = 91)]
28218						Mortal91(::core::primitive::u8),
28219						#[codec(index = 92)]
28220						Mortal92(::core::primitive::u8),
28221						#[codec(index = 93)]
28222						Mortal93(::core::primitive::u8),
28223						#[codec(index = 94)]
28224						Mortal94(::core::primitive::u8),
28225						#[codec(index = 95)]
28226						Mortal95(::core::primitive::u8),
28227						#[codec(index = 96)]
28228						Mortal96(::core::primitive::u8),
28229						#[codec(index = 97)]
28230						Mortal97(::core::primitive::u8),
28231						#[codec(index = 98)]
28232						Mortal98(::core::primitive::u8),
28233						#[codec(index = 99)]
28234						Mortal99(::core::primitive::u8),
28235						#[codec(index = 100)]
28236						Mortal100(::core::primitive::u8),
28237						#[codec(index = 101)]
28238						Mortal101(::core::primitive::u8),
28239						#[codec(index = 102)]
28240						Mortal102(::core::primitive::u8),
28241						#[codec(index = 103)]
28242						Mortal103(::core::primitive::u8),
28243						#[codec(index = 104)]
28244						Mortal104(::core::primitive::u8),
28245						#[codec(index = 105)]
28246						Mortal105(::core::primitive::u8),
28247						#[codec(index = 106)]
28248						Mortal106(::core::primitive::u8),
28249						#[codec(index = 107)]
28250						Mortal107(::core::primitive::u8),
28251						#[codec(index = 108)]
28252						Mortal108(::core::primitive::u8),
28253						#[codec(index = 109)]
28254						Mortal109(::core::primitive::u8),
28255						#[codec(index = 110)]
28256						Mortal110(::core::primitive::u8),
28257						#[codec(index = 111)]
28258						Mortal111(::core::primitive::u8),
28259						#[codec(index = 112)]
28260						Mortal112(::core::primitive::u8),
28261						#[codec(index = 113)]
28262						Mortal113(::core::primitive::u8),
28263						#[codec(index = 114)]
28264						Mortal114(::core::primitive::u8),
28265						#[codec(index = 115)]
28266						Mortal115(::core::primitive::u8),
28267						#[codec(index = 116)]
28268						Mortal116(::core::primitive::u8),
28269						#[codec(index = 117)]
28270						Mortal117(::core::primitive::u8),
28271						#[codec(index = 118)]
28272						Mortal118(::core::primitive::u8),
28273						#[codec(index = 119)]
28274						Mortal119(::core::primitive::u8),
28275						#[codec(index = 120)]
28276						Mortal120(::core::primitive::u8),
28277						#[codec(index = 121)]
28278						Mortal121(::core::primitive::u8),
28279						#[codec(index = 122)]
28280						Mortal122(::core::primitive::u8),
28281						#[codec(index = 123)]
28282						Mortal123(::core::primitive::u8),
28283						#[codec(index = 124)]
28284						Mortal124(::core::primitive::u8),
28285						#[codec(index = 125)]
28286						Mortal125(::core::primitive::u8),
28287						#[codec(index = 126)]
28288						Mortal126(::core::primitive::u8),
28289						#[codec(index = 127)]
28290						Mortal127(::core::primitive::u8),
28291						#[codec(index = 128)]
28292						Mortal128(::core::primitive::u8),
28293						#[codec(index = 129)]
28294						Mortal129(::core::primitive::u8),
28295						#[codec(index = 130)]
28296						Mortal130(::core::primitive::u8),
28297						#[codec(index = 131)]
28298						Mortal131(::core::primitive::u8),
28299						#[codec(index = 132)]
28300						Mortal132(::core::primitive::u8),
28301						#[codec(index = 133)]
28302						Mortal133(::core::primitive::u8),
28303						#[codec(index = 134)]
28304						Mortal134(::core::primitive::u8),
28305						#[codec(index = 135)]
28306						Mortal135(::core::primitive::u8),
28307						#[codec(index = 136)]
28308						Mortal136(::core::primitive::u8),
28309						#[codec(index = 137)]
28310						Mortal137(::core::primitive::u8),
28311						#[codec(index = 138)]
28312						Mortal138(::core::primitive::u8),
28313						#[codec(index = 139)]
28314						Mortal139(::core::primitive::u8),
28315						#[codec(index = 140)]
28316						Mortal140(::core::primitive::u8),
28317						#[codec(index = 141)]
28318						Mortal141(::core::primitive::u8),
28319						#[codec(index = 142)]
28320						Mortal142(::core::primitive::u8),
28321						#[codec(index = 143)]
28322						Mortal143(::core::primitive::u8),
28323						#[codec(index = 144)]
28324						Mortal144(::core::primitive::u8),
28325						#[codec(index = 145)]
28326						Mortal145(::core::primitive::u8),
28327						#[codec(index = 146)]
28328						Mortal146(::core::primitive::u8),
28329						#[codec(index = 147)]
28330						Mortal147(::core::primitive::u8),
28331						#[codec(index = 148)]
28332						Mortal148(::core::primitive::u8),
28333						#[codec(index = 149)]
28334						Mortal149(::core::primitive::u8),
28335						#[codec(index = 150)]
28336						Mortal150(::core::primitive::u8),
28337						#[codec(index = 151)]
28338						Mortal151(::core::primitive::u8),
28339						#[codec(index = 152)]
28340						Mortal152(::core::primitive::u8),
28341						#[codec(index = 153)]
28342						Mortal153(::core::primitive::u8),
28343						#[codec(index = 154)]
28344						Mortal154(::core::primitive::u8),
28345						#[codec(index = 155)]
28346						Mortal155(::core::primitive::u8),
28347						#[codec(index = 156)]
28348						Mortal156(::core::primitive::u8),
28349						#[codec(index = 157)]
28350						Mortal157(::core::primitive::u8),
28351						#[codec(index = 158)]
28352						Mortal158(::core::primitive::u8),
28353						#[codec(index = 159)]
28354						Mortal159(::core::primitive::u8),
28355						#[codec(index = 160)]
28356						Mortal160(::core::primitive::u8),
28357						#[codec(index = 161)]
28358						Mortal161(::core::primitive::u8),
28359						#[codec(index = 162)]
28360						Mortal162(::core::primitive::u8),
28361						#[codec(index = 163)]
28362						Mortal163(::core::primitive::u8),
28363						#[codec(index = 164)]
28364						Mortal164(::core::primitive::u8),
28365						#[codec(index = 165)]
28366						Mortal165(::core::primitive::u8),
28367						#[codec(index = 166)]
28368						Mortal166(::core::primitive::u8),
28369						#[codec(index = 167)]
28370						Mortal167(::core::primitive::u8),
28371						#[codec(index = 168)]
28372						Mortal168(::core::primitive::u8),
28373						#[codec(index = 169)]
28374						Mortal169(::core::primitive::u8),
28375						#[codec(index = 170)]
28376						Mortal170(::core::primitive::u8),
28377						#[codec(index = 171)]
28378						Mortal171(::core::primitive::u8),
28379						#[codec(index = 172)]
28380						Mortal172(::core::primitive::u8),
28381						#[codec(index = 173)]
28382						Mortal173(::core::primitive::u8),
28383						#[codec(index = 174)]
28384						Mortal174(::core::primitive::u8),
28385						#[codec(index = 175)]
28386						Mortal175(::core::primitive::u8),
28387						#[codec(index = 176)]
28388						Mortal176(::core::primitive::u8),
28389						#[codec(index = 177)]
28390						Mortal177(::core::primitive::u8),
28391						#[codec(index = 178)]
28392						Mortal178(::core::primitive::u8),
28393						#[codec(index = 179)]
28394						Mortal179(::core::primitive::u8),
28395						#[codec(index = 180)]
28396						Mortal180(::core::primitive::u8),
28397						#[codec(index = 181)]
28398						Mortal181(::core::primitive::u8),
28399						#[codec(index = 182)]
28400						Mortal182(::core::primitive::u8),
28401						#[codec(index = 183)]
28402						Mortal183(::core::primitive::u8),
28403						#[codec(index = 184)]
28404						Mortal184(::core::primitive::u8),
28405						#[codec(index = 185)]
28406						Mortal185(::core::primitive::u8),
28407						#[codec(index = 186)]
28408						Mortal186(::core::primitive::u8),
28409						#[codec(index = 187)]
28410						Mortal187(::core::primitive::u8),
28411						#[codec(index = 188)]
28412						Mortal188(::core::primitive::u8),
28413						#[codec(index = 189)]
28414						Mortal189(::core::primitive::u8),
28415						#[codec(index = 190)]
28416						Mortal190(::core::primitive::u8),
28417						#[codec(index = 191)]
28418						Mortal191(::core::primitive::u8),
28419						#[codec(index = 192)]
28420						Mortal192(::core::primitive::u8),
28421						#[codec(index = 193)]
28422						Mortal193(::core::primitive::u8),
28423						#[codec(index = 194)]
28424						Mortal194(::core::primitive::u8),
28425						#[codec(index = 195)]
28426						Mortal195(::core::primitive::u8),
28427						#[codec(index = 196)]
28428						Mortal196(::core::primitive::u8),
28429						#[codec(index = 197)]
28430						Mortal197(::core::primitive::u8),
28431						#[codec(index = 198)]
28432						Mortal198(::core::primitive::u8),
28433						#[codec(index = 199)]
28434						Mortal199(::core::primitive::u8),
28435						#[codec(index = 200)]
28436						Mortal200(::core::primitive::u8),
28437						#[codec(index = 201)]
28438						Mortal201(::core::primitive::u8),
28439						#[codec(index = 202)]
28440						Mortal202(::core::primitive::u8),
28441						#[codec(index = 203)]
28442						Mortal203(::core::primitive::u8),
28443						#[codec(index = 204)]
28444						Mortal204(::core::primitive::u8),
28445						#[codec(index = 205)]
28446						Mortal205(::core::primitive::u8),
28447						#[codec(index = 206)]
28448						Mortal206(::core::primitive::u8),
28449						#[codec(index = 207)]
28450						Mortal207(::core::primitive::u8),
28451						#[codec(index = 208)]
28452						Mortal208(::core::primitive::u8),
28453						#[codec(index = 209)]
28454						Mortal209(::core::primitive::u8),
28455						#[codec(index = 210)]
28456						Mortal210(::core::primitive::u8),
28457						#[codec(index = 211)]
28458						Mortal211(::core::primitive::u8),
28459						#[codec(index = 212)]
28460						Mortal212(::core::primitive::u8),
28461						#[codec(index = 213)]
28462						Mortal213(::core::primitive::u8),
28463						#[codec(index = 214)]
28464						Mortal214(::core::primitive::u8),
28465						#[codec(index = 215)]
28466						Mortal215(::core::primitive::u8),
28467						#[codec(index = 216)]
28468						Mortal216(::core::primitive::u8),
28469						#[codec(index = 217)]
28470						Mortal217(::core::primitive::u8),
28471						#[codec(index = 218)]
28472						Mortal218(::core::primitive::u8),
28473						#[codec(index = 219)]
28474						Mortal219(::core::primitive::u8),
28475						#[codec(index = 220)]
28476						Mortal220(::core::primitive::u8),
28477						#[codec(index = 221)]
28478						Mortal221(::core::primitive::u8),
28479						#[codec(index = 222)]
28480						Mortal222(::core::primitive::u8),
28481						#[codec(index = 223)]
28482						Mortal223(::core::primitive::u8),
28483						#[codec(index = 224)]
28484						Mortal224(::core::primitive::u8),
28485						#[codec(index = 225)]
28486						Mortal225(::core::primitive::u8),
28487						#[codec(index = 226)]
28488						Mortal226(::core::primitive::u8),
28489						#[codec(index = 227)]
28490						Mortal227(::core::primitive::u8),
28491						#[codec(index = 228)]
28492						Mortal228(::core::primitive::u8),
28493						#[codec(index = 229)]
28494						Mortal229(::core::primitive::u8),
28495						#[codec(index = 230)]
28496						Mortal230(::core::primitive::u8),
28497						#[codec(index = 231)]
28498						Mortal231(::core::primitive::u8),
28499						#[codec(index = 232)]
28500						Mortal232(::core::primitive::u8),
28501						#[codec(index = 233)]
28502						Mortal233(::core::primitive::u8),
28503						#[codec(index = 234)]
28504						Mortal234(::core::primitive::u8),
28505						#[codec(index = 235)]
28506						Mortal235(::core::primitive::u8),
28507						#[codec(index = 236)]
28508						Mortal236(::core::primitive::u8),
28509						#[codec(index = 237)]
28510						Mortal237(::core::primitive::u8),
28511						#[codec(index = 238)]
28512						Mortal238(::core::primitive::u8),
28513						#[codec(index = 239)]
28514						Mortal239(::core::primitive::u8),
28515						#[codec(index = 240)]
28516						Mortal240(::core::primitive::u8),
28517						#[codec(index = 241)]
28518						Mortal241(::core::primitive::u8),
28519						#[codec(index = 242)]
28520						Mortal242(::core::primitive::u8),
28521						#[codec(index = 243)]
28522						Mortal243(::core::primitive::u8),
28523						#[codec(index = 244)]
28524						Mortal244(::core::primitive::u8),
28525						#[codec(index = 245)]
28526						Mortal245(::core::primitive::u8),
28527						#[codec(index = 246)]
28528						Mortal246(::core::primitive::u8),
28529						#[codec(index = 247)]
28530						Mortal247(::core::primitive::u8),
28531						#[codec(index = 248)]
28532						Mortal248(::core::primitive::u8),
28533						#[codec(index = 249)]
28534						Mortal249(::core::primitive::u8),
28535						#[codec(index = 250)]
28536						Mortal250(::core::primitive::u8),
28537						#[codec(index = 251)]
28538						Mortal251(::core::primitive::u8),
28539						#[codec(index = 252)]
28540						Mortal252(::core::primitive::u8),
28541						#[codec(index = 253)]
28542						Mortal253(::core::primitive::u8),
28543						#[codec(index = 254)]
28544						Mortal254(::core::primitive::u8),
28545						#[codec(index = 255)]
28546						Mortal255(::core::primitive::u8),
28547					}
28548				}
28549				pub mod header {
28550					use super::runtime_types;
28551					#[derive(
28552						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28553						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28554						Debug,
28555					)]
28556					#[decode_as_type(
28557						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
28558					)]
28559					#[encode_as_type(
28560						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
28561					)]
28562					pub struct Header<_0> {
28563						pub parent_hash: ::subxt::ext::subxt_core::utils::H256,
28564						#[codec(compact)]
28565						pub number: _0,
28566						pub state_root: ::subxt::ext::subxt_core::utils::H256,
28567						pub extrinsics_root: ::subxt::ext::subxt_core::utils::H256,
28568						pub digest: runtime_types::sp_runtime::generic::digest::Digest,
28569					}
28570				}
28571			}
28572			pub mod proving_trie {
28573				use super::runtime_types;
28574				#[derive(
28575					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28576					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28577					Debug,
28578				)]
28579				#[decode_as_type(
28580					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
28581				)]
28582				#[encode_as_type(
28583					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
28584				)]
28585				pub enum TrieError {
28586					#[codec(index = 0)]
28587					InvalidStateRoot,
28588					#[codec(index = 1)]
28589					IncompleteDatabase,
28590					#[codec(index = 2)]
28591					ValueAtIncompleteKey,
28592					#[codec(index = 3)]
28593					DecoderError,
28594					#[codec(index = 4)]
28595					InvalidHash,
28596					#[codec(index = 5)]
28597					DuplicateKey,
28598					#[codec(index = 6)]
28599					ExtraneousNode,
28600					#[codec(index = 7)]
28601					ExtraneousValue,
28602					#[codec(index = 8)]
28603					ExtraneousHashReference,
28604					#[codec(index = 9)]
28605					InvalidChildReference,
28606					#[codec(index = 10)]
28607					ValueMismatch,
28608					#[codec(index = 11)]
28609					IncompleteProof,
28610					#[codec(index = 12)]
28611					RootMismatch,
28612					#[codec(index = 13)]
28613					DecodeError,
28614				}
28615			}
28616			pub mod transaction_validity {
28617				use super::runtime_types;
28618				#[derive(
28619					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28620					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28621					Debug,
28622				)]
28623				#[decode_as_type(
28624					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
28625				)]
28626				#[encode_as_type(
28627					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
28628				)]
28629				pub enum InvalidTransaction {
28630					#[codec(index = 0)]
28631					Call,
28632					#[codec(index = 1)]
28633					Payment,
28634					#[codec(index = 2)]
28635					Future,
28636					#[codec(index = 3)]
28637					Stale,
28638					#[codec(index = 4)]
28639					BadProof,
28640					#[codec(index = 5)]
28641					AncientBirthBlock,
28642					#[codec(index = 6)]
28643					ExhaustsResources,
28644					#[codec(index = 7)]
28645					Custom(::core::primitive::u8),
28646					#[codec(index = 8)]
28647					BadMandatory,
28648					#[codec(index = 9)]
28649					MandatoryValidation,
28650					#[codec(index = 10)]
28651					BadSigner,
28652					#[codec(index = 11)]
28653					IndeterminateImplicit,
28654					#[codec(index = 12)]
28655					UnknownOrigin,
28656				}
28657				#[derive(
28658					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28659					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28660					Debug,
28661				)]
28662				#[decode_as_type(
28663					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
28664				)]
28665				#[encode_as_type(
28666					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
28667				)]
28668				pub enum TransactionSource {
28669					#[codec(index = 0)]
28670					InBlock,
28671					#[codec(index = 1)]
28672					Local,
28673					#[codec(index = 2)]
28674					External,
28675				}
28676				#[derive(
28677					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28678					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28679					Debug,
28680				)]
28681				#[decode_as_type(
28682					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
28683				)]
28684				#[encode_as_type(
28685					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
28686				)]
28687				pub enum TransactionValidityError {
28688					#[codec(index = 0)]
28689					Invalid(runtime_types::sp_runtime::transaction_validity::InvalidTransaction),
28690					#[codec(index = 1)]
28691					Unknown(runtime_types::sp_runtime::transaction_validity::UnknownTransaction),
28692				}
28693				#[derive(
28694					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28695					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28696					Debug,
28697				)]
28698				#[decode_as_type(
28699					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
28700				)]
28701				#[encode_as_type(
28702					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
28703				)]
28704				pub enum UnknownTransaction {
28705					#[codec(index = 0)]
28706					CannotLookup,
28707					#[codec(index = 1)]
28708					NoUnsignedValidator,
28709					#[codec(index = 2)]
28710					Custom(::core::primitive::u8),
28711				}
28712				#[derive(
28713					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28714					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28715					Debug,
28716				)]
28717				#[decode_as_type(
28718					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
28719				)]
28720				#[encode_as_type(
28721					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
28722				)]
28723				pub struct ValidTransaction {
28724					pub priority: ::core::primitive::u64,
28725					pub requires: ::subxt::ext::subxt_core::alloc::vec::Vec<
28726						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
28727					>,
28728					pub provides: ::subxt::ext::subxt_core::alloc::vec::Vec<
28729						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
28730					>,
28731					pub longevity: ::core::primitive::u64,
28732					pub propagate: ::core::primitive::bool,
28733				}
28734			}
28735			#[derive(
28736				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28737				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28738				Debug,
28739			)]
28740			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28741			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28742			pub enum DispatchError {
28743				#[codec(index = 0)]
28744				Other,
28745				#[codec(index = 1)]
28746				CannotLookup,
28747				#[codec(index = 2)]
28748				BadOrigin,
28749				#[codec(index = 3)]
28750				Module(runtime_types::sp_runtime::ModuleError),
28751				#[codec(index = 4)]
28752				ConsumerRemaining,
28753				#[codec(index = 5)]
28754				NoProviders,
28755				#[codec(index = 6)]
28756				TooManyConsumers,
28757				#[codec(index = 7)]
28758				Token(runtime_types::sp_runtime::TokenError),
28759				#[codec(index = 8)]
28760				Arithmetic(runtime_types::sp_arithmetic::ArithmeticError),
28761				#[codec(index = 9)]
28762				Transactional(runtime_types::sp_runtime::TransactionalError),
28763				#[codec(index = 10)]
28764				Exhausted,
28765				#[codec(index = 11)]
28766				Corruption,
28767				#[codec(index = 12)]
28768				Unavailable,
28769				#[codec(index = 13)]
28770				RootNotAllowed,
28771				#[codec(index = 14)]
28772				Trie(runtime_types::sp_runtime::proving_trie::TrieError),
28773			}
28774			#[derive(
28775				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28776				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28777				Debug,
28778			)]
28779			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28780			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28781			pub struct DispatchErrorWithPostInfo<_0> {
28782				pub post_info: _0,
28783				pub error: runtime_types::sp_runtime::DispatchError,
28784			}
28785			#[derive(
28786				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28787				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28788				Debug,
28789			)]
28790			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28791			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28792			pub enum ExtrinsicInclusionMode {
28793				#[codec(index = 0)]
28794				AllExtrinsics,
28795				#[codec(index = 1)]
28796				OnlyInherents,
28797			}
28798			#[derive(
28799				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28800				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28801				Debug,
28802			)]
28803			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28804			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28805			pub struct ModuleError {
28806				pub index: ::core::primitive::u8,
28807				pub error: [::core::primitive::u8; 4usize],
28808			}
28809			#[derive(
28810				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28811				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28812				Debug,
28813			)]
28814			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28815			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28816			pub enum TokenError {
28817				#[codec(index = 0)]
28818				FundsUnavailable,
28819				#[codec(index = 1)]
28820				OnlyProvider,
28821				#[codec(index = 2)]
28822				BelowMinimum,
28823				#[codec(index = 3)]
28824				CannotCreate,
28825				#[codec(index = 4)]
28826				UnknownAsset,
28827				#[codec(index = 5)]
28828				Frozen,
28829				#[codec(index = 6)]
28830				Unsupported,
28831				#[codec(index = 7)]
28832				CannotCreateHold,
28833				#[codec(index = 8)]
28834				NotExpendable,
28835				#[codec(index = 9)]
28836				Blocked,
28837			}
28838			#[derive(
28839				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28840				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28841				Debug,
28842			)]
28843			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28844			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28845			pub enum TransactionalError {
28846				#[codec(index = 0)]
28847				LimitReached,
28848				#[codec(index = 1)]
28849				NoLayer,
28850			}
28851		}
28852		pub mod sp_version {
28853			use super::runtime_types;
28854			#[derive(
28855				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28856				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28857				Debug,
28858			)]
28859			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28860			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28861			pub struct RuntimeVersion {
28862				pub spec_name: ::subxt::ext::subxt_core::alloc::string::String,
28863				pub impl_name: ::subxt::ext::subxt_core::alloc::string::String,
28864				pub authoring_version: ::core::primitive::u32,
28865				pub spec_version: ::core::primitive::u32,
28866				pub impl_version: ::core::primitive::u32,
28867				pub apis: ::subxt::ext::subxt_core::alloc::vec::Vec<(
28868					[::core::primitive::u8; 8usize],
28869					::core::primitive::u32,
28870				)>,
28871				pub transaction_version: ::core::primitive::u32,
28872				pub system_version: ::core::primitive::u8,
28873			}
28874		}
28875		pub mod sp_weights {
28876			use super::runtime_types;
28877			pub mod weight_v2 {
28878				use super::runtime_types;
28879				#[derive(
28880					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28881					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28882					Debug,
28883				)]
28884				#[decode_as_type(
28885					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
28886				)]
28887				#[encode_as_type(
28888					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
28889				)]
28890				pub struct Weight {
28891					#[codec(compact)]
28892					pub ref_time: ::core::primitive::u64,
28893					#[codec(compact)]
28894					pub proof_size: ::core::primitive::u64,
28895				}
28896			}
28897			#[derive(
28898				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28899				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28900				Debug,
28901			)]
28902			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28903			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28904			pub struct RuntimeDbWeight {
28905				pub read: ::core::primitive::u64,
28906				pub write: ::core::primitive::u64,
28907			}
28908		}
28909	}
28910}