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 hash of header with nonce using Bitcoin-style double Poseidon2"]
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 difficulty for work calculation"]
828				pub fn get_max_difficulty(
829					&self,
830				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
831					types::GetMaxDifficulty,
832					types::get_max_difficulty::output::Output,
833				> {
834					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
835						"QPoWApi",
836						"get_max_difficulty",
837						types::GetMaxDifficulty {},
838						[
839							80u8, 167u8, 109u8, 28u8, 239u8, 113u8, 166u8, 222u8, 53u8, 68u8,
840							129u8, 222u8, 208u8, 165u8, 8u8, 147u8, 243u8, 80u8, 207u8, 207u8,
841							108u8, 203u8, 208u8, 95u8, 34u8, 193u8, 15u8, 61u8, 116u8, 109u8,
842							144u8, 217u8,
843						],
844					)
845				}
846				#[doc = " Get the current difficulty (max_distance / distance_threshold)"]
847				pub fn get_difficulty(
848					&self,
849				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
850					types::GetDifficulty,
851					types::get_difficulty::output::Output,
852				> {
853					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
854						"QPoWApi",
855						"get_difficulty",
856						types::GetDifficulty {},
857						[
858							180u8, 101u8, 92u8, 73u8, 15u8, 146u8, 167u8, 45u8, 127u8, 230u8,
859							148u8, 6u8, 174u8, 121u8, 38u8, 103u8, 46u8, 5u8, 235u8, 20u8, 133u8,
860							207u8, 67u8, 211u8, 25u8, 112u8, 83u8, 196u8, 118u8, 66u8, 118u8,
861							179u8,
862						],
863					)
864				}
865				#[doc = " Get total work"]
866				pub fn get_total_work(
867					&self,
868				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
869					types::GetTotalWork,
870					types::get_total_work::output::Output,
871				> {
872					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
873						"QPoWApi",
874						"get_total_work",
875						types::GetTotalWork {},
876						[
877							1u8, 91u8, 59u8, 140u8, 203u8, 250u8, 8u8, 65u8, 208u8, 35u8, 187u8,
878							190u8, 255u8, 125u8, 190u8, 111u8, 216u8, 168u8, 83u8, 32u8, 37u8,
879							203u8, 102u8, 226u8, 88u8, 207u8, 253u8, 59u8, 86u8, 72u8, 30u8, 171u8,
880						],
881					)
882				}
883				#[doc = " Get block ema"]
884				pub fn get_block_time_ema(
885					&self,
886				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
887					types::GetBlockTimeEma,
888					types::get_block_time_ema::output::Output,
889				> {
890					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
891						"QPoWApi",
892						"get_block_time_ema",
893						types::GetBlockTimeEma {},
894						[
895							250u8, 101u8, 7u8, 92u8, 2u8, 209u8, 35u8, 184u8, 188u8, 152u8, 196u8,
896							182u8, 14u8, 245u8, 245u8, 243u8, 55u8, 180u8, 6u8, 36u8, 123u8, 95u8,
897							19u8, 102u8, 37u8, 142u8, 238u8, 97u8, 63u8, 133u8, 233u8, 6u8,
898						],
899					)
900				}
901				#[doc = " Get last block timestamp"]
902				pub fn get_last_block_time(
903					&self,
904				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
905					types::GetLastBlockTime,
906					types::get_last_block_time::output::Output,
907				> {
908					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
909						"QPoWApi",
910						"get_last_block_time",
911						types::GetLastBlockTime {},
912						[
913							207u8, 192u8, 227u8, 7u8, 154u8, 92u8, 133u8, 111u8, 21u8, 9u8, 21u8,
914							171u8, 235u8, 117u8, 143u8, 199u8, 19u8, 67u8, 76u8, 35u8, 220u8, 32u8,
915							221u8, 166u8, 0u8, 234u8, 107u8, 217u8, 122u8, 89u8, 91u8, 144u8,
916						],
917					)
918				}
919				pub fn get_last_block_duration(
920					&self,
921				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
922					types::GetLastBlockDuration,
923					types::get_last_block_duration::output::Output,
924				> {
925					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
926						"QPoWApi",
927						"get_last_block_duration",
928						types::GetLastBlockDuration {},
929						[
930							103u8, 98u8, 123u8, 21u8, 125u8, 171u8, 88u8, 46u8, 187u8, 94u8, 96u8,
931							238u8, 16u8, 122u8, 81u8, 108u8, 157u8, 204u8, 79u8, 43u8, 170u8,
932							235u8, 176u8, 238u8, 174u8, 235u8, 47u8, 152u8, 167u8, 245u8, 243u8,
933							157u8,
934						],
935					)
936				}
937				pub fn get_chain_height(
938					&self,
939				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
940					types::GetChainHeight,
941					types::get_chain_height::output::Output,
942				> {
943					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
944						"QPoWApi",
945						"get_chain_height",
946						types::GetChainHeight {},
947						[
948							249u8, 203u8, 37u8, 234u8, 170u8, 203u8, 200u8, 147u8, 30u8, 193u8,
949							91u8, 97u8, 96u8, 104u8, 39u8, 96u8, 171u8, 69u8, 119u8, 30u8, 112u8,
950							81u8, 132u8, 33u8, 69u8, 168u8, 70u8, 33u8, 196u8, 16u8, 215u8, 113u8,
951						],
952					)
953				}
954				pub fn verify_nonce_on_import_block(
955					&self,
956					block_hash: types::verify_nonce_on_import_block::BlockHash,
957					nonce: types::verify_nonce_on_import_block::Nonce,
958				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
959					types::VerifyNonceOnImportBlock,
960					types::verify_nonce_on_import_block::output::Output,
961				> {
962					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
963						"QPoWApi",
964						"verify_nonce_on_import_block",
965						types::VerifyNonceOnImportBlock { block_hash, nonce },
966						[
967							178u8, 216u8, 20u8, 254u8, 253u8, 202u8, 63u8, 238u8, 164u8, 135u8,
968							163u8, 28u8, 170u8, 44u8, 183u8, 157u8, 211u8, 62u8, 4u8, 77u8, 30u8,
969							32u8, 68u8, 166u8, 42u8, 161u8, 111u8, 79u8, 54u8, 54u8, 40u8, 15u8,
970						],
971					)
972				}
973				pub fn verify_nonce_local_mining(
974					&self,
975					block_hash: types::verify_nonce_local_mining::BlockHash,
976					nonce: types::verify_nonce_local_mining::Nonce,
977				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
978					types::VerifyNonceLocalMining,
979					types::verify_nonce_local_mining::output::Output,
980				> {
981					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
982						"QPoWApi",
983						"verify_nonce_local_mining",
984						types::VerifyNonceLocalMining { block_hash, nonce },
985						[
986							10u8, 191u8, 243u8, 4u8, 31u8, 132u8, 202u8, 157u8, 183u8, 189u8, 49u8,
987							76u8, 201u8, 182u8, 52u8, 197u8, 34u8, 248u8, 253u8, 226u8, 64u8,
988							100u8, 108u8, 2u8, 119u8, 85u8, 184u8, 96u8, 25u8, 156u8, 108u8, 240u8,
989						],
990					)
991				}
992			}
993			pub mod types {
994				use super::runtime_types;
995				pub mod get_nonce_distance {
996					use super::runtime_types;
997					pub type BlockHash = [::core::primitive::u8; 32usize];
998					pub type Nonce = [::core::primitive::u8; 64usize];
999					pub mod output {
1000						use super::runtime_types;
1001						pub type Output = runtime_types::primitive_types::U512;
1002					}
1003				}
1004				#[derive(
1005					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1006					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1007					Debug,
1008				)]
1009				#[decode_as_type(
1010					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1011				)]
1012				#[encode_as_type(
1013					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1014				)]
1015				pub struct GetNonceDistance {
1016					pub block_hash: get_nonce_distance::BlockHash,
1017					pub nonce: get_nonce_distance::Nonce,
1018				}
1019				pub mod get_max_reorg_depth {
1020					use super::runtime_types;
1021					pub mod output {
1022						use super::runtime_types;
1023						pub type Output = ::core::primitive::u32;
1024					}
1025				}
1026				#[derive(
1027					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1028					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1029					Debug,
1030				)]
1031				#[decode_as_type(
1032					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1033				)]
1034				#[encode_as_type(
1035					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1036				)]
1037				pub struct GetMaxReorgDepth {}
1038				pub mod get_max_difficulty {
1039					use super::runtime_types;
1040					pub mod output {
1041						use super::runtime_types;
1042						pub type Output = runtime_types::primitive_types::U512;
1043					}
1044				}
1045				#[derive(
1046					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1047					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1048					Debug,
1049				)]
1050				#[decode_as_type(
1051					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1052				)]
1053				#[encode_as_type(
1054					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1055				)]
1056				pub struct GetMaxDifficulty {}
1057				pub mod get_difficulty {
1058					use super::runtime_types;
1059					pub mod output {
1060						use super::runtime_types;
1061						pub type Output = runtime_types::primitive_types::U512;
1062					}
1063				}
1064				#[derive(
1065					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1066					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1067					Debug,
1068				)]
1069				#[decode_as_type(
1070					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1071				)]
1072				#[encode_as_type(
1073					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1074				)]
1075				pub struct GetDifficulty {}
1076				pub mod get_total_work {
1077					use super::runtime_types;
1078					pub mod output {
1079						use super::runtime_types;
1080						pub type Output = runtime_types::primitive_types::U512;
1081					}
1082				}
1083				#[derive(
1084					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1085					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1086					Debug,
1087				)]
1088				#[decode_as_type(
1089					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1090				)]
1091				#[encode_as_type(
1092					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1093				)]
1094				pub struct GetTotalWork {}
1095				pub mod get_block_time_ema {
1096					use super::runtime_types;
1097					pub mod output {
1098						use super::runtime_types;
1099						pub type Output = ::core::primitive::u64;
1100					}
1101				}
1102				#[derive(
1103					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1104					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1105					Debug,
1106				)]
1107				#[decode_as_type(
1108					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1109				)]
1110				#[encode_as_type(
1111					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1112				)]
1113				pub struct GetBlockTimeEma {}
1114				pub mod get_last_block_time {
1115					use super::runtime_types;
1116					pub mod output {
1117						use super::runtime_types;
1118						pub type Output = ::core::primitive::u64;
1119					}
1120				}
1121				#[derive(
1122					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1123					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1124					Debug,
1125				)]
1126				#[decode_as_type(
1127					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1128				)]
1129				#[encode_as_type(
1130					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1131				)]
1132				pub struct GetLastBlockTime {}
1133				pub mod get_last_block_duration {
1134					use super::runtime_types;
1135					pub mod output {
1136						use super::runtime_types;
1137						pub type Output = ::core::primitive::u64;
1138					}
1139				}
1140				#[derive(
1141					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1142					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1143					Debug,
1144				)]
1145				#[decode_as_type(
1146					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1147				)]
1148				#[encode_as_type(
1149					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1150				)]
1151				pub struct GetLastBlockDuration {}
1152				pub mod get_chain_height {
1153					use super::runtime_types;
1154					pub mod output {
1155						use super::runtime_types;
1156						pub type Output = ::core::primitive::u32;
1157					}
1158				}
1159				#[derive(
1160					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1161					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1162					Debug,
1163				)]
1164				#[decode_as_type(
1165					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1166				)]
1167				#[encode_as_type(
1168					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1169				)]
1170				pub struct GetChainHeight {}
1171				pub mod verify_nonce_on_import_block {
1172					use super::runtime_types;
1173					pub type BlockHash = [::core::primitive::u8; 32usize];
1174					pub type Nonce = [::core::primitive::u8; 64usize];
1175					pub mod output {
1176						use super::runtime_types;
1177						pub type Output = ::core::primitive::bool;
1178					}
1179				}
1180				#[derive(
1181					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1182					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1183					Debug,
1184				)]
1185				#[decode_as_type(
1186					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1187				)]
1188				#[encode_as_type(
1189					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1190				)]
1191				pub struct VerifyNonceOnImportBlock {
1192					pub block_hash: verify_nonce_on_import_block::BlockHash,
1193					pub nonce: verify_nonce_on_import_block::Nonce,
1194				}
1195				pub mod verify_nonce_local_mining {
1196					use super::runtime_types;
1197					pub type BlockHash = [::core::primitive::u8; 32usize];
1198					pub type Nonce = [::core::primitive::u8; 64usize];
1199					pub mod output {
1200						use super::runtime_types;
1201						pub type Output = ::core::primitive::bool;
1202					}
1203				}
1204				#[derive(
1205					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1206					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1207					Debug,
1208				)]
1209				#[decode_as_type(
1210					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1211				)]
1212				#[encode_as_type(
1213					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1214				)]
1215				pub struct VerifyNonceLocalMining {
1216					pub block_hash: verify_nonce_local_mining::BlockHash,
1217					pub nonce: verify_nonce_local_mining::Nonce,
1218				}
1219			}
1220		}
1221		pub mod account_nonce_api {
1222			use super::{root_mod, runtime_types};
1223			#[doc = " The API to query account nonce."]
1224			pub struct AccountNonceApi;
1225			impl AccountNonceApi {
1226				#[doc = " Get current account nonce of given `AccountId`."]
1227				pub fn account_nonce(
1228					&self,
1229					account: types::account_nonce::Account,
1230				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1231					types::AccountNonce,
1232					types::account_nonce::output::Output,
1233				> {
1234					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1235						"AccountNonceApi",
1236						"account_nonce",
1237						types::AccountNonce { account },
1238						[
1239							231u8, 82u8, 7u8, 227u8, 131u8, 2u8, 215u8, 252u8, 173u8, 82u8, 11u8,
1240							103u8, 200u8, 25u8, 114u8, 116u8, 79u8, 229u8, 152u8, 150u8, 236u8,
1241							37u8, 101u8, 26u8, 220u8, 146u8, 182u8, 101u8, 73u8, 55u8, 191u8,
1242							171u8,
1243						],
1244					)
1245				}
1246			}
1247			pub mod types {
1248				use super::runtime_types;
1249				pub mod account_nonce {
1250					use super::runtime_types;
1251					pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
1252					pub mod output {
1253						use super::runtime_types;
1254						pub type Output = ::core::primitive::u32;
1255					}
1256				}
1257				#[derive(
1258					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1259					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1260					Debug,
1261				)]
1262				#[decode_as_type(
1263					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1264				)]
1265				#[encode_as_type(
1266					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1267				)]
1268				pub struct AccountNonce {
1269					pub account: account_nonce::Account,
1270				}
1271			}
1272		}
1273		pub mod transaction_payment_api {
1274			use super::{root_mod, runtime_types};
1275			pub struct TransactionPaymentApi;
1276			impl TransactionPaymentApi {
1277				pub fn query_info(
1278					&self,
1279					uxt: types::query_info::Uxt,
1280					len: types::query_info::Len,
1281				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1282					types::QueryInfo,
1283					types::query_info::output::Output,
1284				> {
1285					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1286						"TransactionPaymentApi",
1287						"query_info",
1288						types::QueryInfo { uxt, len },
1289						[
1290							56u8, 30u8, 174u8, 34u8, 202u8, 24u8, 177u8, 189u8, 145u8, 36u8, 1u8,
1291							156u8, 98u8, 209u8, 178u8, 49u8, 198u8, 23u8, 150u8, 173u8, 35u8,
1292							205u8, 147u8, 129u8, 42u8, 22u8, 69u8, 3u8, 129u8, 8u8, 196u8, 139u8,
1293						],
1294					)
1295				}
1296				pub fn query_fee_details(
1297					&self,
1298					uxt: types::query_fee_details::Uxt,
1299					len: types::query_fee_details::Len,
1300				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1301					types::QueryFeeDetails,
1302					types::query_fee_details::output::Output,
1303				> {
1304					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1305						"TransactionPaymentApi",
1306						"query_fee_details",
1307						types::QueryFeeDetails { uxt, len },
1308						[
1309							117u8, 60u8, 137u8, 159u8, 237u8, 252u8, 216u8, 238u8, 232u8, 1u8,
1310							100u8, 152u8, 26u8, 185u8, 145u8, 125u8, 68u8, 189u8, 4u8, 30u8, 125u8,
1311							7u8, 196u8, 153u8, 235u8, 51u8, 219u8, 108u8, 185u8, 254u8, 100u8,
1312							201u8,
1313						],
1314					)
1315				}
1316				pub fn query_weight_to_fee(
1317					&self,
1318					weight: types::query_weight_to_fee::Weight,
1319				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1320					types::QueryWeightToFee,
1321					types::query_weight_to_fee::output::Output,
1322				> {
1323					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1324						"TransactionPaymentApi",
1325						"query_weight_to_fee",
1326						types::QueryWeightToFee { weight },
1327						[
1328							206u8, 243u8, 189u8, 83u8, 231u8, 244u8, 247u8, 52u8, 126u8, 208u8,
1329							224u8, 5u8, 163u8, 108u8, 254u8, 114u8, 214u8, 156u8, 227u8, 217u8,
1330							211u8, 198u8, 121u8, 164u8, 110u8, 54u8, 181u8, 146u8, 50u8, 146u8,
1331							146u8, 23u8,
1332						],
1333					)
1334				}
1335				pub fn query_length_to_fee(
1336					&self,
1337					length: types::query_length_to_fee::Length,
1338				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1339					types::QueryLengthToFee,
1340					types::query_length_to_fee::output::Output,
1341				> {
1342					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1343						"TransactionPaymentApi",
1344						"query_length_to_fee",
1345						types::QueryLengthToFee { length },
1346						[
1347							92u8, 132u8, 29u8, 119u8, 66u8, 11u8, 196u8, 224u8, 129u8, 23u8, 249u8,
1348							12u8, 32u8, 28u8, 92u8, 50u8, 188u8, 101u8, 203u8, 229u8, 248u8, 216u8,
1349							130u8, 150u8, 212u8, 161u8, 81u8, 254u8, 116u8, 89u8, 162u8, 48u8,
1350						],
1351					)
1352				}
1353			}
1354			pub mod types {
1355				use super::runtime_types;
1356				pub mod query_info {
1357					use super::runtime_types;
1358					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 ,) > ;
1359					pub type Len = ::core::primitive::u32;
1360					pub mod output {
1361						use super::runtime_types;
1362						pub type Output =
1363							runtime_types::pallet_transaction_payment::types::RuntimeDispatchInfo<
1364								::core::primitive::u128,
1365								runtime_types::sp_weights::weight_v2::Weight,
1366							>;
1367					}
1368				}
1369				#[derive(
1370					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1371					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1372					Debug,
1373				)]
1374				#[decode_as_type(
1375					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1376				)]
1377				#[encode_as_type(
1378					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1379				)]
1380				pub struct QueryInfo {
1381					pub uxt: query_info::Uxt,
1382					pub len: query_info::Len,
1383				}
1384				pub mod query_fee_details {
1385					use super::runtime_types;
1386					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 ,) > ;
1387					pub type Len = ::core::primitive::u32;
1388					pub mod output {
1389						use super::runtime_types;
1390						pub type Output =
1391							runtime_types::pallet_transaction_payment::types::FeeDetails<
1392								::core::primitive::u128,
1393							>;
1394					}
1395				}
1396				#[derive(
1397					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1398					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1399					Debug,
1400				)]
1401				#[decode_as_type(
1402					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1403				)]
1404				#[encode_as_type(
1405					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1406				)]
1407				pub struct QueryFeeDetails {
1408					pub uxt: query_fee_details::Uxt,
1409					pub len: query_fee_details::Len,
1410				}
1411				pub mod query_weight_to_fee {
1412					use super::runtime_types;
1413					pub type Weight = runtime_types::sp_weights::weight_v2::Weight;
1414					pub mod output {
1415						use super::runtime_types;
1416						pub type Output = ::core::primitive::u128;
1417					}
1418				}
1419				#[derive(
1420					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1421					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1422					Debug,
1423				)]
1424				#[decode_as_type(
1425					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1426				)]
1427				#[encode_as_type(
1428					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1429				)]
1430				pub struct QueryWeightToFee {
1431					pub weight: query_weight_to_fee::Weight,
1432				}
1433				pub mod query_length_to_fee {
1434					use super::runtime_types;
1435					pub type Length = ::core::primitive::u32;
1436					pub mod output {
1437						use super::runtime_types;
1438						pub type Output = ::core::primitive::u128;
1439					}
1440				}
1441				#[derive(
1442					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1443					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1444					Debug,
1445				)]
1446				#[decode_as_type(
1447					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1448				)]
1449				#[encode_as_type(
1450					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1451				)]
1452				pub struct QueryLengthToFee {
1453					pub length: query_length_to_fee::Length,
1454				}
1455			}
1456		}
1457		pub mod transaction_payment_call_api {
1458			use super::{root_mod, runtime_types};
1459			pub struct TransactionPaymentCallApi;
1460			impl TransactionPaymentCallApi {
1461				#[doc = " Query information of a dispatch class, weight, and fee of a given encoded `Call`."]
1462				pub fn query_call_info(
1463					&self,
1464					call: types::query_call_info::Call,
1465					len: types::query_call_info::Len,
1466				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1467					types::QueryCallInfo,
1468					types::query_call_info::output::Output,
1469				> {
1470					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1471						"TransactionPaymentCallApi",
1472						"query_call_info",
1473						types::QueryCallInfo { call, len },
1474						[
1475							166u8, 173u8, 176u8, 212u8, 240u8, 248u8, 215u8, 188u8, 215u8, 21u8,
1476							209u8, 116u8, 183u8, 186u8, 201u8, 229u8, 28u8, 26u8, 218u8, 247u8,
1477							99u8, 59u8, 155u8, 235u8, 205u8, 76u8, 165u8, 181u8, 148u8, 21u8,
1478							122u8, 86u8,
1479						],
1480					)
1481				}
1482				#[doc = " Query fee details of a given encoded `Call`."]
1483				pub fn query_call_fee_details(
1484					&self,
1485					call: types::query_call_fee_details::Call,
1486					len: types::query_call_fee_details::Len,
1487				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1488					types::QueryCallFeeDetails,
1489					types::query_call_fee_details::output::Output,
1490				> {
1491					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1492						"TransactionPaymentCallApi",
1493						"query_call_fee_details",
1494						types::QueryCallFeeDetails { call, len },
1495						[
1496							18u8, 80u8, 212u8, 196u8, 230u8, 162u8, 108u8, 100u8, 130u8, 14u8,
1497							44u8, 76u8, 26u8, 143u8, 202u8, 61u8, 26u8, 132u8, 34u8, 112u8, 49u8,
1498							183u8, 31u8, 51u8, 122u8, 49u8, 37u8, 229u8, 87u8, 43u8, 107u8, 82u8,
1499						],
1500					)
1501				}
1502				#[doc = " Query the output of the current `WeightToFee` given some input."]
1503				pub fn query_weight_to_fee(
1504					&self,
1505					weight: types::query_weight_to_fee::Weight,
1506				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1507					types::QueryWeightToFee,
1508					types::query_weight_to_fee::output::Output,
1509				> {
1510					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1511						"TransactionPaymentCallApi",
1512						"query_weight_to_fee",
1513						types::QueryWeightToFee { weight },
1514						[
1515							117u8, 91u8, 94u8, 22u8, 248u8, 212u8, 15u8, 23u8, 97u8, 116u8, 64u8,
1516							228u8, 83u8, 123u8, 87u8, 77u8, 97u8, 7u8, 98u8, 181u8, 6u8, 165u8,
1517							114u8, 141u8, 164u8, 113u8, 126u8, 88u8, 174u8, 171u8, 224u8, 35u8,
1518						],
1519					)
1520				}
1521				#[doc = " Query the output of the current `LengthToFee` given some input."]
1522				pub fn query_length_to_fee(
1523					&self,
1524					length: types::query_length_to_fee::Length,
1525				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1526					types::QueryLengthToFee,
1527					types::query_length_to_fee::output::Output,
1528				> {
1529					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1530						"TransactionPaymentCallApi",
1531						"query_length_to_fee",
1532						types::QueryLengthToFee { length },
1533						[
1534							246u8, 40u8, 4u8, 160u8, 152u8, 94u8, 170u8, 53u8, 205u8, 122u8, 5u8,
1535							69u8, 70u8, 25u8, 128u8, 156u8, 119u8, 134u8, 116u8, 147u8, 14u8,
1536							164u8, 65u8, 140u8, 86u8, 13u8, 250u8, 218u8, 89u8, 95u8, 234u8, 228u8,
1537						],
1538					)
1539				}
1540			}
1541			pub mod types {
1542				use super::runtime_types;
1543				pub mod query_call_info {
1544					use super::runtime_types;
1545					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
1546					pub type Len = ::core::primitive::u32;
1547					pub mod output {
1548						use super::runtime_types;
1549						pub type Output =
1550							runtime_types::pallet_transaction_payment::types::RuntimeDispatchInfo<
1551								::core::primitive::u128,
1552								runtime_types::sp_weights::weight_v2::Weight,
1553							>;
1554					}
1555				}
1556				#[derive(
1557					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1558					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1559					Debug,
1560				)]
1561				#[decode_as_type(
1562					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1563				)]
1564				#[encode_as_type(
1565					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1566				)]
1567				pub struct QueryCallInfo {
1568					pub call: query_call_info::Call,
1569					pub len: query_call_info::Len,
1570				}
1571				pub mod query_call_fee_details {
1572					use super::runtime_types;
1573					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
1574					pub type Len = ::core::primitive::u32;
1575					pub mod output {
1576						use super::runtime_types;
1577						pub type Output =
1578							runtime_types::pallet_transaction_payment::types::FeeDetails<
1579								::core::primitive::u128,
1580							>;
1581					}
1582				}
1583				#[derive(
1584					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1585					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1586					Debug,
1587				)]
1588				#[decode_as_type(
1589					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1590				)]
1591				#[encode_as_type(
1592					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1593				)]
1594				pub struct QueryCallFeeDetails {
1595					pub call: query_call_fee_details::Call,
1596					pub len: query_call_fee_details::Len,
1597				}
1598				pub mod query_weight_to_fee {
1599					use super::runtime_types;
1600					pub type Weight = runtime_types::sp_weights::weight_v2::Weight;
1601					pub mod output {
1602						use super::runtime_types;
1603						pub type Output = ::core::primitive::u128;
1604					}
1605				}
1606				#[derive(
1607					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1608					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1609					Debug,
1610				)]
1611				#[decode_as_type(
1612					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1613				)]
1614				#[encode_as_type(
1615					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1616				)]
1617				pub struct QueryWeightToFee {
1618					pub weight: query_weight_to_fee::Weight,
1619				}
1620				pub mod query_length_to_fee {
1621					use super::runtime_types;
1622					pub type Length = ::core::primitive::u32;
1623					pub mod output {
1624						use super::runtime_types;
1625						pub type Output = ::core::primitive::u128;
1626					}
1627				}
1628				#[derive(
1629					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1630					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1631					Debug,
1632				)]
1633				#[decode_as_type(
1634					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1635				)]
1636				#[encode_as_type(
1637					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1638				)]
1639				pub struct QueryLengthToFee {
1640					pub length: query_length_to_fee::Length,
1641				}
1642			}
1643		}
1644		pub mod genesis_builder {
1645			use super::{root_mod, runtime_types};
1646			#[doc = " API to interact with `RuntimeGenesisConfig` for the runtime"]
1647			pub struct GenesisBuilder;
1648			impl GenesisBuilder {
1649				#[doc = " Build `RuntimeGenesisConfig` from a JSON blob not using any defaults and store it in the"]
1650				#[doc = " storage."]
1651				#[doc = ""]
1652				#[doc = " In the case of a FRAME-based runtime, this function deserializes the full"]
1653				#[doc = " `RuntimeGenesisConfig` from the given JSON blob and puts it into the storage. If the"]
1654				#[doc = " provided JSON blob is incorrect or incomplete or the deserialization fails, an error"]
1655				#[doc = " is returned."]
1656				#[doc = ""]
1657				#[doc = " Please note that provided JSON blob must contain all `RuntimeGenesisConfig` fields, no"]
1658				#[doc = " defaults will be used."]
1659				pub fn build_state(
1660					&self,
1661					json: types::build_state::Json,
1662				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1663					types::BuildState,
1664					types::build_state::output::Output,
1665				> {
1666					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1667						"GenesisBuilder",
1668						"build_state",
1669						types::BuildState { json },
1670						[
1671							203u8, 233u8, 104u8, 116u8, 111u8, 131u8, 201u8, 235u8, 117u8, 116u8,
1672							140u8, 185u8, 93u8, 25u8, 155u8, 210u8, 56u8, 49u8, 23u8, 32u8, 253u8,
1673							92u8, 149u8, 241u8, 85u8, 245u8, 137u8, 45u8, 209u8, 189u8, 81u8, 2u8,
1674						],
1675					)
1676				}
1677				#[doc = " Returns a JSON blob representation of the built-in `RuntimeGenesisConfig` identified by"]
1678				#[doc = " `id`."]
1679				#[doc = ""]
1680				#[doc = " If `id` is `None` the function should return JSON blob representation of the default"]
1681				#[doc = " `RuntimeGenesisConfig` struct of the runtime. Implementation must provide default"]
1682				#[doc = " `RuntimeGenesisConfig`."]
1683				#[doc = ""]
1684				#[doc = " Otherwise function returns a JSON representation of the built-in, named"]
1685				#[doc = " `RuntimeGenesisConfig` preset identified by `id`, or `None` if such preset does not"]
1686				#[doc = " exist. Returned `Vec<u8>` contains bytes of JSON blob (patch) which comprises a list of"]
1687				#[doc = " (potentially nested) key-value pairs that are intended for customizing the default"]
1688				#[doc = " runtime genesis config. The patch shall be merged (rfc7386) with the JSON representation"]
1689				#[doc = " of the default `RuntimeGenesisConfig` to create a comprehensive genesis config that can"]
1690				#[doc = " be used in `build_state` method."]
1691				pub fn get_preset(
1692					&self,
1693					id: types::get_preset::Id,
1694				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1695					types::GetPreset,
1696					types::get_preset::output::Output,
1697				> {
1698					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1699						"GenesisBuilder",
1700						"get_preset",
1701						types::GetPreset { id },
1702						[
1703							43u8, 153u8, 23u8, 52u8, 113u8, 161u8, 227u8, 122u8, 169u8, 135u8,
1704							119u8, 8u8, 128u8, 33u8, 143u8, 235u8, 13u8, 173u8, 58u8, 121u8, 178u8,
1705							223u8, 66u8, 217u8, 22u8, 244u8, 168u8, 113u8, 202u8, 186u8, 241u8,
1706							124u8,
1707						],
1708					)
1709				}
1710				#[doc = " Returns a list of identifiers for available builtin `RuntimeGenesisConfig` presets."]
1711				#[doc = ""]
1712				#[doc = " The presets from the list can be queried with [`GenesisBuilder::get_preset`] method. If"]
1713				#[doc = " no named presets are provided by the runtime the list is empty."]
1714				pub fn preset_names(
1715					&self,
1716				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1717					types::PresetNames,
1718					types::preset_names::output::Output,
1719				> {
1720					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1721						"GenesisBuilder",
1722						"preset_names",
1723						types::PresetNames {},
1724						[
1725							150u8, 117u8, 54u8, 129u8, 221u8, 130u8, 186u8, 71u8, 13u8, 140u8,
1726							77u8, 180u8, 141u8, 37u8, 22u8, 219u8, 149u8, 218u8, 186u8, 206u8,
1727							80u8, 42u8, 165u8, 41u8, 99u8, 184u8, 73u8, 37u8, 125u8, 188u8, 167u8,
1728							122u8,
1729						],
1730					)
1731				}
1732			}
1733			pub mod types {
1734				use super::runtime_types;
1735				pub mod build_state {
1736					use super::runtime_types;
1737					pub type Json =
1738						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
1739					pub mod output {
1740						use super::runtime_types;
1741						pub type Output = ::core::result::Result<
1742							(),
1743							::subxt::ext::subxt_core::alloc::string::String,
1744						>;
1745					}
1746				}
1747				#[derive(
1748					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1749					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1750					Debug,
1751				)]
1752				#[decode_as_type(
1753					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1754				)]
1755				#[encode_as_type(
1756					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1757				)]
1758				pub struct BuildState {
1759					pub json: build_state::Json,
1760				}
1761				pub mod get_preset {
1762					use super::runtime_types;
1763					pub type Id =
1764						::core::option::Option<::subxt::ext::subxt_core::alloc::string::String>;
1765					pub mod output {
1766						use super::runtime_types;
1767						pub type Output = ::core::option::Option<
1768							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
1769						>;
1770					}
1771				}
1772				#[derive(
1773					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1774					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1775					Debug,
1776				)]
1777				#[decode_as_type(
1778					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1779				)]
1780				#[encode_as_type(
1781					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1782				)]
1783				pub struct GetPreset {
1784					pub id: get_preset::Id,
1785				}
1786				pub mod preset_names {
1787					use super::runtime_types;
1788					pub mod output {
1789						use super::runtime_types;
1790						pub type Output = ::subxt::ext::subxt_core::alloc::vec::Vec<
1791							::subxt::ext::subxt_core::alloc::string::String,
1792						>;
1793					}
1794				}
1795				#[derive(
1796					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1797					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1798					Debug,
1799				)]
1800				#[decode_as_type(
1801					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1802				)]
1803				#[encode_as_type(
1804					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1805				)]
1806				pub struct PresetNames {}
1807			}
1808		}
1809	}
1810	pub fn view_functions() -> ViewFunctionsApi {
1811		ViewFunctionsApi
1812	}
1813	pub fn custom() -> CustomValuesApi {
1814		CustomValuesApi
1815	}
1816	pub struct CustomValuesApi;
1817	impl CustomValuesApi {}
1818	pub struct ConstantsApi;
1819	impl ConstantsApi {
1820		pub fn system(&self) -> system::constants::ConstantsApi {
1821			system::constants::ConstantsApi
1822		}
1823		pub fn timestamp(&self) -> timestamp::constants::ConstantsApi {
1824			timestamp::constants::ConstantsApi
1825		}
1826		pub fn balances(&self) -> balances::constants::ConstantsApi {
1827			balances::constants::ConstantsApi
1828		}
1829		pub fn transaction_payment(&self) -> transaction_payment::constants::ConstantsApi {
1830			transaction_payment::constants::ConstantsApi
1831		}
1832		pub fn q_po_w(&self) -> q_po_w::constants::ConstantsApi {
1833			q_po_w::constants::ConstantsApi
1834		}
1835		pub fn mining_rewards(&self) -> mining_rewards::constants::ConstantsApi {
1836			mining_rewards::constants::ConstantsApi
1837		}
1838		pub fn vesting(&self) -> vesting::constants::ConstantsApi {
1839			vesting::constants::ConstantsApi
1840		}
1841		pub fn scheduler(&self) -> scheduler::constants::ConstantsApi {
1842			scheduler::constants::ConstantsApi
1843		}
1844		pub fn utility(&self) -> utility::constants::ConstantsApi {
1845			utility::constants::ConstantsApi
1846		}
1847		pub fn referenda(&self) -> referenda::constants::ConstantsApi {
1848			referenda::constants::ConstantsApi
1849		}
1850		pub fn reversible_transfers(&self) -> reversible_transfers::constants::ConstantsApi {
1851			reversible_transfers::constants::ConstantsApi
1852		}
1853		pub fn conviction_voting(&self) -> conviction_voting::constants::ConstantsApi {
1854			conviction_voting::constants::ConstantsApi
1855		}
1856		pub fn tech_referenda(&self) -> tech_referenda::constants::ConstantsApi {
1857			tech_referenda::constants::ConstantsApi
1858		}
1859		pub fn merkle_airdrop(&self) -> merkle_airdrop::constants::ConstantsApi {
1860			merkle_airdrop::constants::ConstantsApi
1861		}
1862		pub fn treasury_pallet(&self) -> treasury_pallet::constants::ConstantsApi {
1863			treasury_pallet::constants::ConstantsApi
1864		}
1865		pub fn recovery(&self) -> recovery::constants::ConstantsApi {
1866			recovery::constants::ConstantsApi
1867		}
1868		pub fn assets(&self) -> assets::constants::ConstantsApi {
1869			assets::constants::ConstantsApi
1870		}
1871	}
1872	pub struct StorageApi;
1873	impl StorageApi {
1874		pub fn system(&self) -> system::storage::StorageApi {
1875			system::storage::StorageApi
1876		}
1877		pub fn timestamp(&self) -> timestamp::storage::StorageApi {
1878			timestamp::storage::StorageApi
1879		}
1880		pub fn balances(&self) -> balances::storage::StorageApi {
1881			balances::storage::StorageApi
1882		}
1883		pub fn transaction_payment(&self) -> transaction_payment::storage::StorageApi {
1884			transaction_payment::storage::StorageApi
1885		}
1886		pub fn sudo(&self) -> sudo::storage::StorageApi {
1887			sudo::storage::StorageApi
1888		}
1889		pub fn q_po_w(&self) -> q_po_w::storage::StorageApi {
1890			q_po_w::storage::StorageApi
1891		}
1892		pub fn mining_rewards(&self) -> mining_rewards::storage::StorageApi {
1893			mining_rewards::storage::StorageApi
1894		}
1895		pub fn vesting(&self) -> vesting::storage::StorageApi {
1896			vesting::storage::StorageApi
1897		}
1898		pub fn preimage(&self) -> preimage::storage::StorageApi {
1899			preimage::storage::StorageApi
1900		}
1901		pub fn scheduler(&self) -> scheduler::storage::StorageApi {
1902			scheduler::storage::StorageApi
1903		}
1904		pub fn referenda(&self) -> referenda::storage::StorageApi {
1905			referenda::storage::StorageApi
1906		}
1907		pub fn reversible_transfers(&self) -> reversible_transfers::storage::StorageApi {
1908			reversible_transfers::storage::StorageApi
1909		}
1910		pub fn conviction_voting(&self) -> conviction_voting::storage::StorageApi {
1911			conviction_voting::storage::StorageApi
1912		}
1913		pub fn tech_collective(&self) -> tech_collective::storage::StorageApi {
1914			tech_collective::storage::StorageApi
1915		}
1916		pub fn tech_referenda(&self) -> tech_referenda::storage::StorageApi {
1917			tech_referenda::storage::StorageApi
1918		}
1919		pub fn merkle_airdrop(&self) -> merkle_airdrop::storage::StorageApi {
1920			merkle_airdrop::storage::StorageApi
1921		}
1922		pub fn treasury_pallet(&self) -> treasury_pallet::storage::StorageApi {
1923			treasury_pallet::storage::StorageApi
1924		}
1925		pub fn recovery(&self) -> recovery::storage::StorageApi {
1926			recovery::storage::StorageApi
1927		}
1928		pub fn assets(&self) -> assets::storage::StorageApi {
1929			assets::storage::StorageApi
1930		}
1931		pub fn assets_holder(&self) -> assets_holder::storage::StorageApi {
1932			assets_holder::storage::StorageApi
1933		}
1934	}
1935	pub struct TransactionApi;
1936	impl TransactionApi {
1937		pub fn system(&self) -> system::calls::TransactionApi {
1938			system::calls::TransactionApi
1939		}
1940		pub fn timestamp(&self) -> timestamp::calls::TransactionApi {
1941			timestamp::calls::TransactionApi
1942		}
1943		pub fn balances(&self) -> balances::calls::TransactionApi {
1944			balances::calls::TransactionApi
1945		}
1946		pub fn sudo(&self) -> sudo::calls::TransactionApi {
1947			sudo::calls::TransactionApi
1948		}
1949		pub fn vesting(&self) -> vesting::calls::TransactionApi {
1950			vesting::calls::TransactionApi
1951		}
1952		pub fn preimage(&self) -> preimage::calls::TransactionApi {
1953			preimage::calls::TransactionApi
1954		}
1955		pub fn scheduler(&self) -> scheduler::calls::TransactionApi {
1956			scheduler::calls::TransactionApi
1957		}
1958		pub fn utility(&self) -> utility::calls::TransactionApi {
1959			utility::calls::TransactionApi
1960		}
1961		pub fn referenda(&self) -> referenda::calls::TransactionApi {
1962			referenda::calls::TransactionApi
1963		}
1964		pub fn reversible_transfers(&self) -> reversible_transfers::calls::TransactionApi {
1965			reversible_transfers::calls::TransactionApi
1966		}
1967		pub fn conviction_voting(&self) -> conviction_voting::calls::TransactionApi {
1968			conviction_voting::calls::TransactionApi
1969		}
1970		pub fn tech_collective(&self) -> tech_collective::calls::TransactionApi {
1971			tech_collective::calls::TransactionApi
1972		}
1973		pub fn tech_referenda(&self) -> tech_referenda::calls::TransactionApi {
1974			tech_referenda::calls::TransactionApi
1975		}
1976		pub fn merkle_airdrop(&self) -> merkle_airdrop::calls::TransactionApi {
1977			merkle_airdrop::calls::TransactionApi
1978		}
1979		pub fn treasury_pallet(&self) -> treasury_pallet::calls::TransactionApi {
1980			treasury_pallet::calls::TransactionApi
1981		}
1982		pub fn recovery(&self) -> recovery::calls::TransactionApi {
1983			recovery::calls::TransactionApi
1984		}
1985		pub fn assets(&self) -> assets::calls::TransactionApi {
1986			assets::calls::TransactionApi
1987		}
1988	}
1989	pub struct ViewFunctionsApi;
1990	impl ViewFunctionsApi {}
1991	#[doc = r" check whether the metadata provided is aligned with this statically generated code."]
1992	pub fn is_codegen_valid_for(metadata: &::subxt::ext::subxt_core::Metadata) -> bool {
1993		let runtime_metadata_hash = metadata
1994			.hasher()
1995			.only_these_pallets(&PALLETS)
1996			.only_these_runtime_apis(&RUNTIME_APIS)
1997			.hash();
1998		runtime_metadata_hash ==
1999			[
2000				194u8, 46u8, 30u8, 103u8, 67u8, 25u8, 224u8, 42u8, 104u8, 224u8, 105u8, 213u8,
2001				149u8, 58u8, 199u8, 151u8, 221u8, 215u8, 141u8, 247u8, 109u8, 85u8, 204u8, 202u8,
2002				96u8, 104u8, 173u8, 94u8, 198u8, 124u8, 113u8, 174u8,
2003			]
2004	}
2005	pub mod system {
2006		use super::{root_mod, runtime_types};
2007		#[doc = "Error for the System pallet"]
2008		pub type Error = runtime_types::frame_system::pallet::Error;
2009		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
2010		pub type Call = runtime_types::frame_system::pallet::Call;
2011		pub mod calls {
2012			use super::{root_mod, runtime_types};
2013			type DispatchError = runtime_types::sp_runtime::DispatchError;
2014			pub mod types {
2015				use super::runtime_types;
2016				#[derive(
2017					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2018					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2019					Debug,
2020				)]
2021				#[decode_as_type(
2022					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2023				)]
2024				#[encode_as_type(
2025					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2026				)]
2027				#[doc = "Make some on-chain remark."]
2028				#[doc = ""]
2029				#[doc = "Can be executed by every `origin`."]
2030				pub struct Remark {
2031					pub remark: remark::Remark,
2032				}
2033				pub mod remark {
2034					use super::runtime_types;
2035					pub type Remark =
2036						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2037				}
2038				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Remark {
2039					const PALLET: &'static str = "System";
2040					const CALL: &'static str = "remark";
2041				}
2042				#[derive(
2043					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2044					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2045					Debug,
2046				)]
2047				#[decode_as_type(
2048					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2049				)]
2050				#[encode_as_type(
2051					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2052				)]
2053				#[doc = "Set the number of pages in the WebAssembly environment's heap."]
2054				pub struct SetHeapPages {
2055					pub pages: set_heap_pages::Pages,
2056				}
2057				pub mod set_heap_pages {
2058					use super::runtime_types;
2059					pub type Pages = ::core::primitive::u64;
2060				}
2061				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetHeapPages {
2062					const PALLET: &'static str = "System";
2063					const CALL: &'static str = "set_heap_pages";
2064				}
2065				#[derive(
2066					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2067					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2068					Debug,
2069				)]
2070				#[decode_as_type(
2071					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2072				)]
2073				#[encode_as_type(
2074					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2075				)]
2076				#[doc = "Set the new runtime code."]
2077				pub struct SetCode {
2078					pub code: set_code::Code,
2079				}
2080				pub mod set_code {
2081					use super::runtime_types;
2082					pub type Code =
2083						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2084				}
2085				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetCode {
2086					const PALLET: &'static str = "System";
2087					const CALL: &'static str = "set_code";
2088				}
2089				#[derive(
2090					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2091					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2092					Debug,
2093				)]
2094				#[decode_as_type(
2095					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2096				)]
2097				#[encode_as_type(
2098					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2099				)]
2100				#[doc = "Set the new runtime code without doing any checks of the given `code`."]
2101				#[doc = ""]
2102				#[doc = "Note that runtime upgrades will not run if this is called with a not-increasing spec"]
2103				#[doc = "version!"]
2104				pub struct SetCodeWithoutChecks {
2105					pub code: set_code_without_checks::Code,
2106				}
2107				pub mod set_code_without_checks {
2108					use super::runtime_types;
2109					pub type Code =
2110						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2111				}
2112				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetCodeWithoutChecks {
2113					const PALLET: &'static str = "System";
2114					const CALL: &'static str = "set_code_without_checks";
2115				}
2116				#[derive(
2117					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2118					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2119					Debug,
2120				)]
2121				#[decode_as_type(
2122					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2123				)]
2124				#[encode_as_type(
2125					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2126				)]
2127				#[doc = "Set some items of storage."]
2128				pub struct SetStorage {
2129					pub items: set_storage::Items,
2130				}
2131				pub mod set_storage {
2132					use super::runtime_types;
2133					pub type Items = ::subxt::ext::subxt_core::alloc::vec::Vec<(
2134						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
2135						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
2136					)>;
2137				}
2138				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetStorage {
2139					const PALLET: &'static str = "System";
2140					const CALL: &'static str = "set_storage";
2141				}
2142				#[derive(
2143					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2144					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2145					Debug,
2146				)]
2147				#[decode_as_type(
2148					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2149				)]
2150				#[encode_as_type(
2151					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2152				)]
2153				#[doc = "Kill some items from storage."]
2154				pub struct KillStorage {
2155					pub keys: kill_storage::Keys,
2156				}
2157				pub mod kill_storage {
2158					use super::runtime_types;
2159					pub type Keys = ::subxt::ext::subxt_core::alloc::vec::Vec<
2160						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
2161					>;
2162				}
2163				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for KillStorage {
2164					const PALLET: &'static str = "System";
2165					const CALL: &'static str = "kill_storage";
2166				}
2167				#[derive(
2168					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2169					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2170					Debug,
2171				)]
2172				#[decode_as_type(
2173					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2174				)]
2175				#[encode_as_type(
2176					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2177				)]
2178				#[doc = "Kill all storage items with a key that starts with the given prefix."]
2179				#[doc = ""]
2180				#[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"]
2181				#[doc = "the prefix we are removing to accurately calculate the weight of this function."]
2182				pub struct KillPrefix {
2183					pub prefix: kill_prefix::Prefix,
2184					pub subkeys: kill_prefix::Subkeys,
2185				}
2186				pub mod kill_prefix {
2187					use super::runtime_types;
2188					pub type Prefix =
2189						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2190					pub type Subkeys = ::core::primitive::u32;
2191				}
2192				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for KillPrefix {
2193					const PALLET: &'static str = "System";
2194					const CALL: &'static str = "kill_prefix";
2195				}
2196				#[derive(
2197					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2198					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2199					Debug,
2200				)]
2201				#[decode_as_type(
2202					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2203				)]
2204				#[encode_as_type(
2205					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2206				)]
2207				#[doc = "Make some on-chain remark and emit event."]
2208				pub struct RemarkWithEvent {
2209					pub remark: remark_with_event::Remark,
2210				}
2211				pub mod remark_with_event {
2212					use super::runtime_types;
2213					pub type Remark =
2214						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2215				}
2216				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemarkWithEvent {
2217					const PALLET: &'static str = "System";
2218					const CALL: &'static str = "remark_with_event";
2219				}
2220				#[derive(
2221					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2222					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2223					Debug,
2224				)]
2225				#[decode_as_type(
2226					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2227				)]
2228				#[encode_as_type(
2229					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2230				)]
2231				#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
2232				#[doc = "later."]
2233				#[doc = ""]
2234				#[doc = "This call requires Root origin."]
2235				pub struct AuthorizeUpgrade {
2236					pub code_hash: authorize_upgrade::CodeHash,
2237				}
2238				pub mod authorize_upgrade {
2239					use super::runtime_types;
2240					pub type CodeHash = ::subxt::ext::subxt_core::utils::H256;
2241				}
2242				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for AuthorizeUpgrade {
2243					const PALLET: &'static str = "System";
2244					const CALL: &'static str = "authorize_upgrade";
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 = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
2258				#[doc = "later."]
2259				#[doc = ""]
2260				#[doc = "WARNING: This authorizes an upgrade that will take place without any safety checks, for"]
2261				#[doc = "example that the spec name remains the same and that the version number increases. Not"]
2262				#[doc = "recommended for normal use. Use `authorize_upgrade` instead."]
2263				#[doc = ""]
2264				#[doc = "This call requires Root origin."]
2265				pub struct AuthorizeUpgradeWithoutChecks {
2266					pub code_hash: authorize_upgrade_without_checks::CodeHash,
2267				}
2268				pub mod authorize_upgrade_without_checks {
2269					use super::runtime_types;
2270					pub type CodeHash = ::subxt::ext::subxt_core::utils::H256;
2271				}
2272				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for AuthorizeUpgradeWithoutChecks {
2273					const PALLET: &'static str = "System";
2274					const CALL: &'static str = "authorize_upgrade_without_checks";
2275				}
2276				#[derive(
2277					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2278					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2279					Debug,
2280				)]
2281				#[decode_as_type(
2282					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2283				)]
2284				#[encode_as_type(
2285					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2286				)]
2287				#[doc = "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized."]
2288				#[doc = ""]
2289				#[doc = "If the authorization required a version check, this call will ensure the spec name"]
2290				#[doc = "remains unchanged and that the spec version has increased."]
2291				#[doc = ""]
2292				#[doc = "Depending on the runtime's `OnSetCode` configuration, this function may directly apply"]
2293				#[doc = "the new `code` in the same block or attempt to schedule the upgrade."]
2294				#[doc = ""]
2295				#[doc = "All origins are allowed."]
2296				pub struct ApplyAuthorizedUpgrade {
2297					pub code: apply_authorized_upgrade::Code,
2298				}
2299				pub mod apply_authorized_upgrade {
2300					use super::runtime_types;
2301					pub type Code =
2302						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2303				}
2304				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ApplyAuthorizedUpgrade {
2305					const PALLET: &'static str = "System";
2306					const CALL: &'static str = "apply_authorized_upgrade";
2307				}
2308			}
2309			pub struct TransactionApi;
2310			impl TransactionApi {
2311				#[doc = "Make some on-chain remark."]
2312				#[doc = ""]
2313				#[doc = "Can be executed by every `origin`."]
2314				pub fn remark(
2315					&self,
2316					remark: types::remark::Remark,
2317				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Remark> {
2318					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2319						"System",
2320						"remark",
2321						types::Remark { remark },
2322						[
2323							43u8, 126u8, 180u8, 174u8, 141u8, 48u8, 52u8, 125u8, 166u8, 212u8,
2324							216u8, 98u8, 100u8, 24u8, 132u8, 71u8, 101u8, 64u8, 246u8, 169u8, 33u8,
2325							250u8, 147u8, 208u8, 2u8, 40u8, 129u8, 209u8, 232u8, 207u8, 207u8,
2326							13u8,
2327						],
2328					)
2329				}
2330				#[doc = "Set the number of pages in the WebAssembly environment's heap."]
2331				pub fn set_heap_pages(
2332					&self,
2333					pages: types::set_heap_pages::Pages,
2334				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetHeapPages> {
2335					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2336						"System",
2337						"set_heap_pages",
2338						types::SetHeapPages { pages },
2339						[
2340							188u8, 191u8, 99u8, 216u8, 219u8, 109u8, 141u8, 50u8, 78u8, 235u8,
2341							215u8, 242u8, 195u8, 24u8, 111u8, 76u8, 229u8, 64u8, 99u8, 225u8,
2342							134u8, 121u8, 81u8, 209u8, 127u8, 223u8, 98u8, 215u8, 150u8, 70u8,
2343							57u8, 147u8,
2344						],
2345					)
2346				}
2347				#[doc = "Set the new runtime code."]
2348				pub fn set_code(
2349					&self,
2350					code: types::set_code::Code,
2351				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetCode> {
2352					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2353						"System",
2354						"set_code",
2355						types::SetCode { code },
2356						[
2357							233u8, 248u8, 88u8, 245u8, 28u8, 65u8, 25u8, 169u8, 35u8, 237u8, 19u8,
2358							203u8, 136u8, 160u8, 18u8, 3u8, 20u8, 197u8, 81u8, 169u8, 244u8, 188u8,
2359							27u8, 147u8, 147u8, 236u8, 65u8, 25u8, 3u8, 143u8, 182u8, 22u8,
2360						],
2361					)
2362				}
2363				#[doc = "Set the new runtime code without doing any checks of the given `code`."]
2364				#[doc = ""]
2365				#[doc = "Note that runtime upgrades will not run if this is called with a not-increasing spec"]
2366				#[doc = "version!"]
2367				pub fn set_code_without_checks(
2368					&self,
2369					code: types::set_code_without_checks::Code,
2370				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetCodeWithoutChecks>
2371				{
2372					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2373						"System",
2374						"set_code_without_checks",
2375						types::SetCodeWithoutChecks { code },
2376						[
2377							82u8, 212u8, 157u8, 44u8, 70u8, 0u8, 143u8, 15u8, 109u8, 109u8, 107u8,
2378							157u8, 141u8, 42u8, 169u8, 11u8, 15u8, 186u8, 252u8, 138u8, 10u8,
2379							147u8, 15u8, 178u8, 247u8, 229u8, 213u8, 98u8, 207u8, 231u8, 119u8,
2380							115u8,
2381						],
2382					)
2383				}
2384				#[doc = "Set some items of storage."]
2385				pub fn set_storage(
2386					&self,
2387					items: types::set_storage::Items,
2388				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetStorage> {
2389					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2390						"System",
2391						"set_storage",
2392						types::SetStorage { items },
2393						[
2394							141u8, 216u8, 52u8, 222u8, 223u8, 136u8, 123u8, 181u8, 19u8, 75u8,
2395							163u8, 102u8, 229u8, 189u8, 158u8, 142u8, 95u8, 235u8, 240u8, 49u8,
2396							150u8, 76u8, 78u8, 137u8, 126u8, 88u8, 183u8, 88u8, 231u8, 146u8,
2397							234u8, 43u8,
2398						],
2399					)
2400				}
2401				#[doc = "Kill some items from storage."]
2402				pub fn kill_storage(
2403					&self,
2404					keys: types::kill_storage::Keys,
2405				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::KillStorage> {
2406					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2407						"System",
2408						"kill_storage",
2409						types::KillStorage { keys },
2410						[
2411							73u8, 63u8, 196u8, 36u8, 144u8, 114u8, 34u8, 213u8, 108u8, 93u8, 209u8,
2412							234u8, 153u8, 185u8, 33u8, 91u8, 187u8, 195u8, 223u8, 130u8, 58u8,
2413							156u8, 63u8, 47u8, 228u8, 249u8, 216u8, 139u8, 143u8, 177u8, 41u8,
2414							35u8,
2415						],
2416					)
2417				}
2418				#[doc = "Kill all storage items with a key that starts with the given prefix."]
2419				#[doc = ""]
2420				#[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"]
2421				#[doc = "the prefix we are removing to accurately calculate the weight of this function."]
2422				pub fn kill_prefix(
2423					&self,
2424					prefix: types::kill_prefix::Prefix,
2425					subkeys: types::kill_prefix::Subkeys,
2426				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::KillPrefix> {
2427					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2428						"System",
2429						"kill_prefix",
2430						types::KillPrefix { prefix, subkeys },
2431						[
2432							184u8, 57u8, 139u8, 24u8, 208u8, 87u8, 108u8, 215u8, 198u8, 189u8,
2433							175u8, 242u8, 167u8, 215u8, 97u8, 63u8, 110u8, 166u8, 238u8, 98u8,
2434							67u8, 236u8, 111u8, 110u8, 234u8, 81u8, 102u8, 5u8, 182u8, 5u8, 214u8,
2435							85u8,
2436						],
2437					)
2438				}
2439				#[doc = "Make some on-chain remark and emit event."]
2440				pub fn remark_with_event(
2441					&self,
2442					remark: types::remark_with_event::Remark,
2443				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemarkWithEvent>
2444				{
2445					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2446						"System",
2447						"remark_with_event",
2448						types::RemarkWithEvent { remark },
2449						[
2450							120u8, 120u8, 153u8, 92u8, 184u8, 85u8, 34u8, 2u8, 174u8, 206u8, 105u8,
2451							228u8, 233u8, 130u8, 80u8, 246u8, 228u8, 59u8, 234u8, 240u8, 4u8, 49u8,
2452							147u8, 170u8, 115u8, 91u8, 149u8, 200u8, 228u8, 181u8, 8u8, 154u8,
2453						],
2454					)
2455				}
2456				#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
2457				#[doc = "later."]
2458				#[doc = ""]
2459				#[doc = "This call requires Root origin."]
2460				pub fn authorize_upgrade(
2461					&self,
2462					code_hash: types::authorize_upgrade::CodeHash,
2463				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::AuthorizeUpgrade>
2464				{
2465					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2466						"System",
2467						"authorize_upgrade",
2468						types::AuthorizeUpgrade { code_hash },
2469						[
2470							4u8, 14u8, 76u8, 107u8, 209u8, 129u8, 9u8, 39u8, 193u8, 17u8, 84u8,
2471							254u8, 170u8, 214u8, 24u8, 155u8, 29u8, 184u8, 249u8, 241u8, 109u8,
2472							58u8, 145u8, 131u8, 109u8, 63u8, 38u8, 165u8, 107u8, 215u8, 217u8,
2473							172u8,
2474						],
2475					)
2476				}
2477				#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
2478				#[doc = "later."]
2479				#[doc = ""]
2480				#[doc = "WARNING: This authorizes an upgrade that will take place without any safety checks, for"]
2481				#[doc = "example that the spec name remains the same and that the version number increases. Not"]
2482				#[doc = "recommended for normal use. Use `authorize_upgrade` instead."]
2483				#[doc = ""]
2484				#[doc = "This call requires Root origin."]
2485				pub fn authorize_upgrade_without_checks(
2486					&self,
2487					code_hash: types::authorize_upgrade_without_checks::CodeHash,
2488				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
2489					types::AuthorizeUpgradeWithoutChecks,
2490				> {
2491					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2492						"System",
2493						"authorize_upgrade_without_checks",
2494						types::AuthorizeUpgradeWithoutChecks { code_hash },
2495						[
2496							126u8, 126u8, 55u8, 26u8, 47u8, 55u8, 66u8, 8u8, 167u8, 18u8, 29u8,
2497							136u8, 146u8, 14u8, 189u8, 117u8, 16u8, 227u8, 162u8, 61u8, 149u8,
2498							197u8, 104u8, 184u8, 185u8, 161u8, 99u8, 154u8, 80u8, 125u8, 181u8,
2499							233u8,
2500						],
2501					)
2502				}
2503				#[doc = "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized."]
2504				#[doc = ""]
2505				#[doc = "If the authorization required a version check, this call will ensure the spec name"]
2506				#[doc = "remains unchanged and that the spec version has increased."]
2507				#[doc = ""]
2508				#[doc = "Depending on the runtime's `OnSetCode` configuration, this function may directly apply"]
2509				#[doc = "the new `code` in the same block or attempt to schedule the upgrade."]
2510				#[doc = ""]
2511				#[doc = "All origins are allowed."]
2512				pub fn apply_authorized_upgrade(
2513					&self,
2514					code: types::apply_authorized_upgrade::Code,
2515				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
2516					types::ApplyAuthorizedUpgrade,
2517				> {
2518					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2519						"System",
2520						"apply_authorized_upgrade",
2521						types::ApplyAuthorizedUpgrade { code },
2522						[
2523							232u8, 107u8, 127u8, 38u8, 230u8, 29u8, 97u8, 4u8, 160u8, 191u8, 222u8,
2524							156u8, 245u8, 102u8, 196u8, 141u8, 44u8, 163u8, 98u8, 68u8, 125u8,
2525							32u8, 124u8, 101u8, 108u8, 93u8, 211u8, 52u8, 0u8, 231u8, 33u8, 227u8,
2526						],
2527					)
2528				}
2529			}
2530		}
2531		#[doc = "Event for the System pallet."]
2532		pub type Event = runtime_types::frame_system::pallet::Event;
2533		pub mod events {
2534			use super::runtime_types;
2535			#[derive(
2536				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2537				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2538				Debug,
2539			)]
2540			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2541			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2542			#[doc = "An extrinsic completed successfully."]
2543			pub struct ExtrinsicSuccess {
2544				pub dispatch_info: extrinsic_success::DispatchInfo,
2545			}
2546			pub mod extrinsic_success {
2547				use super::runtime_types;
2548				pub type DispatchInfo = runtime_types::frame_system::DispatchEventInfo;
2549			}
2550			impl ::subxt::ext::subxt_core::events::StaticEvent for ExtrinsicSuccess {
2551				const PALLET: &'static str = "System";
2552				const EVENT: &'static str = "ExtrinsicSuccess";
2553			}
2554			#[derive(
2555				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2556				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2557				Debug,
2558			)]
2559			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2560			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2561			#[doc = "An extrinsic failed."]
2562			pub struct ExtrinsicFailed {
2563				pub dispatch_error: extrinsic_failed::DispatchError,
2564				pub dispatch_info: extrinsic_failed::DispatchInfo,
2565			}
2566			pub mod extrinsic_failed {
2567				use super::runtime_types;
2568				pub type DispatchError = runtime_types::sp_runtime::DispatchError;
2569				pub type DispatchInfo = runtime_types::frame_system::DispatchEventInfo;
2570			}
2571			impl ::subxt::ext::subxt_core::events::StaticEvent for ExtrinsicFailed {
2572				const PALLET: &'static str = "System";
2573				const EVENT: &'static str = "ExtrinsicFailed";
2574			}
2575			#[derive(
2576				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2577				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2578				Debug,
2579			)]
2580			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2581			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2582			#[doc = "`:code` was updated."]
2583			pub struct CodeUpdated;
2584			impl ::subxt::ext::subxt_core::events::StaticEvent for CodeUpdated {
2585				const PALLET: &'static str = "System";
2586				const EVENT: &'static str = "CodeUpdated";
2587			}
2588			#[derive(
2589				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2590				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2591				Debug,
2592			)]
2593			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2594			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2595			#[doc = "A new account was created."]
2596			pub struct NewAccount {
2597				pub account: new_account::Account,
2598			}
2599			pub mod new_account {
2600				use super::runtime_types;
2601				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
2602			}
2603			impl ::subxt::ext::subxt_core::events::StaticEvent for NewAccount {
2604				const PALLET: &'static str = "System";
2605				const EVENT: &'static str = "NewAccount";
2606			}
2607			#[derive(
2608				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2609				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2610				Debug,
2611			)]
2612			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2613			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2614			#[doc = "An account was reaped."]
2615			pub struct KilledAccount {
2616				pub account: killed_account::Account,
2617			}
2618			pub mod killed_account {
2619				use super::runtime_types;
2620				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
2621			}
2622			impl ::subxt::ext::subxt_core::events::StaticEvent for KilledAccount {
2623				const PALLET: &'static str = "System";
2624				const EVENT: &'static str = "KilledAccount";
2625			}
2626			#[derive(
2627				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2628				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2629				Debug,
2630			)]
2631			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2632			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2633			#[doc = "On on-chain remark happened."]
2634			pub struct Remarked {
2635				pub sender: remarked::Sender,
2636				pub hash: remarked::Hash,
2637			}
2638			pub mod remarked {
2639				use super::runtime_types;
2640				pub type Sender = ::subxt::ext::subxt_core::utils::AccountId32;
2641				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
2642			}
2643			impl ::subxt::ext::subxt_core::events::StaticEvent for Remarked {
2644				const PALLET: &'static str = "System";
2645				const EVENT: &'static str = "Remarked";
2646			}
2647			#[derive(
2648				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2649				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2650				Debug,
2651			)]
2652			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2653			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2654			#[doc = "An upgrade was authorized."]
2655			pub struct UpgradeAuthorized {
2656				pub code_hash: upgrade_authorized::CodeHash,
2657				pub check_version: upgrade_authorized::CheckVersion,
2658			}
2659			pub mod upgrade_authorized {
2660				use super::runtime_types;
2661				pub type CodeHash = ::subxt::ext::subxt_core::utils::H256;
2662				pub type CheckVersion = ::core::primitive::bool;
2663			}
2664			impl ::subxt::ext::subxt_core::events::StaticEvent for UpgradeAuthorized {
2665				const PALLET: &'static str = "System";
2666				const EVENT: &'static str = "UpgradeAuthorized";
2667			}
2668			#[derive(
2669				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2670				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2671				Debug,
2672			)]
2673			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2674			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2675			#[doc = "An invalid authorized upgrade was rejected while trying to apply it."]
2676			pub struct RejectedInvalidAuthorizedUpgrade {
2677				pub code_hash: rejected_invalid_authorized_upgrade::CodeHash,
2678				pub error: rejected_invalid_authorized_upgrade::Error,
2679			}
2680			pub mod rejected_invalid_authorized_upgrade {
2681				use super::runtime_types;
2682				pub type CodeHash = ::subxt::ext::subxt_core::utils::H256;
2683				pub type Error = runtime_types::sp_runtime::DispatchError;
2684			}
2685			impl ::subxt::ext::subxt_core::events::StaticEvent for RejectedInvalidAuthorizedUpgrade {
2686				const PALLET: &'static str = "System";
2687				const EVENT: &'static str = "RejectedInvalidAuthorizedUpgrade";
2688			}
2689		}
2690		pub mod storage {
2691			use super::runtime_types;
2692			pub mod types {
2693				use super::runtime_types;
2694				pub mod account {
2695					use super::runtime_types;
2696					pub type Account = runtime_types::frame_system::AccountInfo<
2697						::core::primitive::u32,
2698						runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>,
2699					>;
2700					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
2701				}
2702				pub mod extrinsic_count {
2703					use super::runtime_types;
2704					pub type ExtrinsicCount = ::core::primitive::u32;
2705				}
2706				pub mod inherents_applied {
2707					use super::runtime_types;
2708					pub type InherentsApplied = ::core::primitive::bool;
2709				}
2710				pub mod block_weight {
2711					use super::runtime_types;
2712					pub type BlockWeight = runtime_types::frame_support::dispatch::PerDispatchClass<
2713						runtime_types::sp_weights::weight_v2::Weight,
2714					>;
2715				}
2716				pub mod all_extrinsics_len {
2717					use super::runtime_types;
2718					pub type AllExtrinsicsLen = ::core::primitive::u32;
2719				}
2720				pub mod block_hash {
2721					use super::runtime_types;
2722					pub type BlockHash = ::subxt::ext::subxt_core::utils::H256;
2723					pub type Param0 = ::core::primitive::u32;
2724				}
2725				pub mod extrinsic_data {
2726					use super::runtime_types;
2727					pub type ExtrinsicData =
2728						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2729					pub type Param0 = ::core::primitive::u32;
2730				}
2731				pub mod number {
2732					use super::runtime_types;
2733					pub type Number = ::core::primitive::u32;
2734				}
2735				pub mod parent_hash {
2736					use super::runtime_types;
2737					pub type ParentHash = ::subxt::ext::subxt_core::utils::H256;
2738				}
2739				pub mod digest {
2740					use super::runtime_types;
2741					pub type Digest = runtime_types::sp_runtime::generic::digest::Digest;
2742				}
2743				pub mod events {
2744					use super::runtime_types;
2745					pub type Events = ::subxt::ext::subxt_core::alloc::vec::Vec<
2746						runtime_types::frame_system::EventRecord<
2747							runtime_types::quantus_runtime::RuntimeEvent,
2748							::subxt::ext::subxt_core::utils::H256,
2749						>,
2750					>;
2751				}
2752				pub mod event_count {
2753					use super::runtime_types;
2754					pub type EventCount = ::core::primitive::u32;
2755				}
2756				pub mod event_topics {
2757					use super::runtime_types;
2758					pub type EventTopics = ::subxt::ext::subxt_core::alloc::vec::Vec<(
2759						::core::primitive::u32,
2760						::core::primitive::u32,
2761					)>;
2762					pub type Param0 = ::subxt::ext::subxt_core::utils::H256;
2763				}
2764				pub mod last_runtime_upgrade {
2765					use super::runtime_types;
2766					pub type LastRuntimeUpgrade =
2767						runtime_types::frame_system::LastRuntimeUpgradeInfo;
2768				}
2769				pub mod upgraded_to_u32_ref_count {
2770					use super::runtime_types;
2771					pub type UpgradedToU32RefCount = ::core::primitive::bool;
2772				}
2773				pub mod upgraded_to_triple_ref_count {
2774					use super::runtime_types;
2775					pub type UpgradedToTripleRefCount = ::core::primitive::bool;
2776				}
2777				pub mod execution_phase {
2778					use super::runtime_types;
2779					pub type ExecutionPhase = runtime_types::frame_system::Phase;
2780				}
2781				pub mod authorized_upgrade {
2782					use super::runtime_types;
2783					pub type AuthorizedUpgrade =
2784						runtime_types::frame_system::CodeUpgradeAuthorization;
2785				}
2786				pub mod extrinsic_weight_reclaimed {
2787					use super::runtime_types;
2788					pub type ExtrinsicWeightReclaimed =
2789						runtime_types::sp_weights::weight_v2::Weight;
2790				}
2791			}
2792			pub struct StorageApi;
2793			impl StorageApi {
2794				#[doc = " The full account information for a particular account ID."]
2795				pub fn account_iter(
2796					&self,
2797				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2798					(),
2799					types::account::Account,
2800					(),
2801					::subxt::ext::subxt_core::utils::Yes,
2802					::subxt::ext::subxt_core::utils::Yes,
2803				> {
2804					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2805						"System",
2806						"Account",
2807						(),
2808						[
2809							14u8, 233u8, 115u8, 214u8, 0u8, 109u8, 222u8, 121u8, 162u8, 65u8, 60u8,
2810							175u8, 209u8, 79u8, 222u8, 124u8, 22u8, 235u8, 138u8, 176u8, 133u8,
2811							124u8, 90u8, 158u8, 85u8, 45u8, 37u8, 174u8, 47u8, 79u8, 47u8, 166u8,
2812						],
2813					)
2814				}
2815				#[doc = " The full account information for a particular account ID."]
2816				pub fn account(
2817					&self,
2818					_0: types::account::Param0,
2819				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2820					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
2821						types::account::Param0,
2822					>,
2823					types::account::Account,
2824					::subxt::ext::subxt_core::utils::Yes,
2825					::subxt::ext::subxt_core::utils::Yes,
2826					(),
2827				> {
2828					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2829						"System",
2830						"Account",
2831						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
2832						[
2833							14u8, 233u8, 115u8, 214u8, 0u8, 109u8, 222u8, 121u8, 162u8, 65u8, 60u8,
2834							175u8, 209u8, 79u8, 222u8, 124u8, 22u8, 235u8, 138u8, 176u8, 133u8,
2835							124u8, 90u8, 158u8, 85u8, 45u8, 37u8, 174u8, 47u8, 79u8, 47u8, 166u8,
2836						],
2837					)
2838				}
2839				#[doc = " Total extrinsics count for the current block."]
2840				pub fn extrinsic_count(
2841					&self,
2842				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2843					(),
2844					types::extrinsic_count::ExtrinsicCount,
2845					::subxt::ext::subxt_core::utils::Yes,
2846					(),
2847					(),
2848				> {
2849					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2850						"System",
2851						"ExtrinsicCount",
2852						(),
2853						[
2854							102u8, 76u8, 236u8, 42u8, 40u8, 231u8, 33u8, 222u8, 123u8, 147u8,
2855							153u8, 148u8, 234u8, 203u8, 181u8, 119u8, 6u8, 187u8, 177u8, 199u8,
2856							120u8, 47u8, 137u8, 254u8, 96u8, 100u8, 165u8, 182u8, 249u8, 230u8,
2857							159u8, 79u8,
2858						],
2859					)
2860				}
2861				#[doc = " Whether all inherents have been applied."]
2862				pub fn inherents_applied(
2863					&self,
2864				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2865					(),
2866					types::inherents_applied::InherentsApplied,
2867					::subxt::ext::subxt_core::utils::Yes,
2868					::subxt::ext::subxt_core::utils::Yes,
2869					(),
2870				> {
2871					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2872						"System",
2873						"InherentsApplied",
2874						(),
2875						[
2876							132u8, 249u8, 142u8, 252u8, 8u8, 103u8, 80u8, 120u8, 50u8, 6u8, 188u8,
2877							223u8, 101u8, 55u8, 165u8, 189u8, 172u8, 249u8, 165u8, 230u8, 183u8,
2878							109u8, 34u8, 65u8, 185u8, 150u8, 29u8, 8u8, 186u8, 129u8, 135u8, 239u8,
2879						],
2880					)
2881				}
2882				#[doc = " The current weight for the block."]
2883				pub fn block_weight(
2884					&self,
2885				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2886					(),
2887					types::block_weight::BlockWeight,
2888					::subxt::ext::subxt_core::utils::Yes,
2889					::subxt::ext::subxt_core::utils::Yes,
2890					(),
2891				> {
2892					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2893						"System",
2894						"BlockWeight",
2895						(),
2896						[
2897							158u8, 46u8, 228u8, 89u8, 210u8, 214u8, 84u8, 154u8, 50u8, 68u8, 63u8,
2898							62u8, 43u8, 42u8, 99u8, 27u8, 54u8, 42u8, 146u8, 44u8, 241u8, 216u8,
2899							229u8, 30u8, 216u8, 255u8, 165u8, 238u8, 181u8, 130u8, 36u8, 102u8,
2900						],
2901					)
2902				}
2903				#[doc = " Total length (in bytes) for all extrinsics put together, for the current block."]
2904				pub fn all_extrinsics_len(
2905					&self,
2906				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2907					(),
2908					types::all_extrinsics_len::AllExtrinsicsLen,
2909					::subxt::ext::subxt_core::utils::Yes,
2910					(),
2911					(),
2912				> {
2913					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2914						"System",
2915						"AllExtrinsicsLen",
2916						(),
2917						[
2918							117u8, 86u8, 61u8, 243u8, 41u8, 51u8, 102u8, 214u8, 137u8, 100u8,
2919							243u8, 185u8, 122u8, 174u8, 187u8, 117u8, 86u8, 189u8, 63u8, 135u8,
2920							101u8, 218u8, 203u8, 201u8, 237u8, 254u8, 128u8, 183u8, 169u8, 221u8,
2921							242u8, 65u8,
2922						],
2923					)
2924				}
2925				#[doc = " Map of block numbers to block hashes."]
2926				pub fn block_hash_iter(
2927					&self,
2928				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2929					(),
2930					types::block_hash::BlockHash,
2931					(),
2932					::subxt::ext::subxt_core::utils::Yes,
2933					::subxt::ext::subxt_core::utils::Yes,
2934				> {
2935					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2936						"System",
2937						"BlockHash",
2938						(),
2939						[
2940							217u8, 32u8, 215u8, 253u8, 24u8, 182u8, 207u8, 178u8, 157u8, 24u8,
2941							103u8, 100u8, 195u8, 165u8, 69u8, 152u8, 112u8, 181u8, 56u8, 192u8,
2942							164u8, 16u8, 20u8, 222u8, 28u8, 214u8, 144u8, 142u8, 146u8, 69u8,
2943							202u8, 118u8,
2944						],
2945					)
2946				}
2947				#[doc = " Map of block numbers to block hashes."]
2948				pub fn block_hash(
2949					&self,
2950					_0: types::block_hash::Param0,
2951				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2952					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
2953						types::block_hash::Param0,
2954					>,
2955					types::block_hash::BlockHash,
2956					::subxt::ext::subxt_core::utils::Yes,
2957					::subxt::ext::subxt_core::utils::Yes,
2958					(),
2959				> {
2960					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2961						"System",
2962						"BlockHash",
2963						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
2964						[
2965							217u8, 32u8, 215u8, 253u8, 24u8, 182u8, 207u8, 178u8, 157u8, 24u8,
2966							103u8, 100u8, 195u8, 165u8, 69u8, 152u8, 112u8, 181u8, 56u8, 192u8,
2967							164u8, 16u8, 20u8, 222u8, 28u8, 214u8, 144u8, 142u8, 146u8, 69u8,
2968							202u8, 118u8,
2969						],
2970					)
2971				}
2972				#[doc = " Extrinsics data for the current block (maps an extrinsic's index to its data)."]
2973				pub fn extrinsic_data_iter(
2974					&self,
2975				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2976					(),
2977					types::extrinsic_data::ExtrinsicData,
2978					(),
2979					::subxt::ext::subxt_core::utils::Yes,
2980					::subxt::ext::subxt_core::utils::Yes,
2981				> {
2982					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2983						"System",
2984						"ExtrinsicData",
2985						(),
2986						[
2987							160u8, 180u8, 122u8, 18u8, 196u8, 26u8, 2u8, 37u8, 115u8, 232u8, 133u8,
2988							220u8, 106u8, 245u8, 4u8, 129u8, 42u8, 84u8, 241u8, 45u8, 199u8, 179u8,
2989							128u8, 61u8, 170u8, 137u8, 231u8, 156u8, 247u8, 57u8, 47u8, 38u8,
2990						],
2991					)
2992				}
2993				#[doc = " Extrinsics data for the current block (maps an extrinsic's index to its data)."]
2994				pub fn extrinsic_data(
2995					&self,
2996					_0: types::extrinsic_data::Param0,
2997				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2998					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
2999						types::extrinsic_data::Param0,
3000					>,
3001					types::extrinsic_data::ExtrinsicData,
3002					::subxt::ext::subxt_core::utils::Yes,
3003					::subxt::ext::subxt_core::utils::Yes,
3004					(),
3005				> {
3006					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3007						"System",
3008						"ExtrinsicData",
3009						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
3010						[
3011							160u8, 180u8, 122u8, 18u8, 196u8, 26u8, 2u8, 37u8, 115u8, 232u8, 133u8,
3012							220u8, 106u8, 245u8, 4u8, 129u8, 42u8, 84u8, 241u8, 45u8, 199u8, 179u8,
3013							128u8, 61u8, 170u8, 137u8, 231u8, 156u8, 247u8, 57u8, 47u8, 38u8,
3014						],
3015					)
3016				}
3017				#[doc = " The current block number being processed. Set by `execute_block`."]
3018				pub fn number(
3019					&self,
3020				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3021					(),
3022					types::number::Number,
3023					::subxt::ext::subxt_core::utils::Yes,
3024					::subxt::ext::subxt_core::utils::Yes,
3025					(),
3026				> {
3027					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3028						"System",
3029						"Number",
3030						(),
3031						[
3032							30u8, 194u8, 177u8, 90u8, 194u8, 232u8, 46u8, 180u8, 85u8, 129u8, 14u8,
3033							9u8, 8u8, 8u8, 23u8, 95u8, 230u8, 5u8, 13u8, 105u8, 125u8, 2u8, 22u8,
3034							200u8, 78u8, 93u8, 115u8, 28u8, 150u8, 113u8, 48u8, 53u8,
3035						],
3036					)
3037				}
3038				#[doc = " Hash of the previous block."]
3039				pub fn parent_hash(
3040					&self,
3041				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3042					(),
3043					types::parent_hash::ParentHash,
3044					::subxt::ext::subxt_core::utils::Yes,
3045					::subxt::ext::subxt_core::utils::Yes,
3046					(),
3047				> {
3048					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3049						"System",
3050						"ParentHash",
3051						(),
3052						[
3053							26u8, 130u8, 11u8, 216u8, 155u8, 71u8, 128u8, 170u8, 30u8, 153u8, 21u8,
3054							192u8, 62u8, 93u8, 137u8, 80u8, 120u8, 81u8, 202u8, 94u8, 248u8, 125u8,
3055							71u8, 82u8, 141u8, 229u8, 32u8, 56u8, 73u8, 50u8, 101u8, 78u8,
3056						],
3057					)
3058				}
3059				#[doc = " Digest of the current block, also part of the block header."]
3060				pub fn digest(
3061					&self,
3062				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3063					(),
3064					types::digest::Digest,
3065					::subxt::ext::subxt_core::utils::Yes,
3066					::subxt::ext::subxt_core::utils::Yes,
3067					(),
3068				> {
3069					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3070						"System",
3071						"Digest",
3072						(),
3073						[
3074							61u8, 64u8, 237u8, 91u8, 145u8, 232u8, 17u8, 254u8, 181u8, 16u8, 234u8,
3075							91u8, 51u8, 140u8, 254u8, 131u8, 98u8, 135u8, 21u8, 37u8, 251u8, 20u8,
3076							58u8, 92u8, 123u8, 141u8, 14u8, 227u8, 146u8, 46u8, 222u8, 117u8,
3077						],
3078					)
3079				}
3080				#[doc = " Events deposited for the current block."]
3081				#[doc = ""]
3082				#[doc = " NOTE: The item is unbound and should therefore never be read on chain."]
3083				#[doc = " It could otherwise inflate the PoV size of a block."]
3084				#[doc = ""]
3085				#[doc = " Events have a large in-memory size. Box the events to not go out-of-memory"]
3086				#[doc = " just in case someone still reads them from within the runtime."]
3087				pub fn events(
3088					&self,
3089				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3090					(),
3091					types::events::Events,
3092					::subxt::ext::subxt_core::utils::Yes,
3093					::subxt::ext::subxt_core::utils::Yes,
3094					(),
3095				> {
3096					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3097						"System",
3098						"Events",
3099						(),
3100						[
3101							153u8, 144u8, 222u8, 32u8, 219u8, 80u8, 161u8, 232u8, 120u8, 168u8,
3102							102u8, 147u8, 49u8, 48u8, 3u8, 26u8, 255u8, 126u8, 218u8, 117u8, 254u8,
3103							217u8, 170u8, 206u8, 182u8, 174u8, 251u8, 53u8, 253u8, 242u8, 26u8,
3104							74u8,
3105						],
3106					)
3107				}
3108				#[doc = " The number of events in the `Events<T>` list."]
3109				pub fn event_count(
3110					&self,
3111				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3112					(),
3113					types::event_count::EventCount,
3114					::subxt::ext::subxt_core::utils::Yes,
3115					::subxt::ext::subxt_core::utils::Yes,
3116					(),
3117				> {
3118					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3119						"System",
3120						"EventCount",
3121						(),
3122						[
3123							175u8, 24u8, 252u8, 184u8, 210u8, 167u8, 146u8, 143u8, 164u8, 80u8,
3124							151u8, 205u8, 189u8, 189u8, 55u8, 220u8, 47u8, 101u8, 181u8, 33u8,
3125							254u8, 131u8, 13u8, 143u8, 3u8, 244u8, 245u8, 45u8, 2u8, 210u8, 79u8,
3126							133u8,
3127						],
3128					)
3129				}
3130				#[doc = " Mapping between a topic (represented by T::Hash) and a vector of indexes"]
3131				#[doc = " of events in the `<Events<T>>` list."]
3132				#[doc = ""]
3133				#[doc = " All topic vectors have deterministic storage locations depending on the topic. This"]
3134				#[doc = " allows light-clients to leverage the changes trie storage tracking mechanism and"]
3135				#[doc = " in case of changes fetch the list of events of interest."]
3136				#[doc = ""]
3137				#[doc = " The value has the type `(BlockNumberFor<T>, EventIndex)` because if we used only just"]
3138				#[doc = " the `EventIndex` then in case if the topic has the same contents on the next block"]
3139				#[doc = " no notification will be triggered thus the event might be lost."]
3140				pub fn event_topics_iter(
3141					&self,
3142				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3143					(),
3144					types::event_topics::EventTopics,
3145					(),
3146					::subxt::ext::subxt_core::utils::Yes,
3147					::subxt::ext::subxt_core::utils::Yes,
3148				> {
3149					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3150						"System",
3151						"EventTopics",
3152						(),
3153						[
3154							40u8, 225u8, 14u8, 75u8, 44u8, 176u8, 76u8, 34u8, 143u8, 107u8, 69u8,
3155							133u8, 114u8, 13u8, 172u8, 250u8, 141u8, 73u8, 12u8, 65u8, 217u8, 63u8,
3156							120u8, 241u8, 48u8, 106u8, 143u8, 161u8, 128u8, 100u8, 166u8, 59u8,
3157						],
3158					)
3159				}
3160				#[doc = " Mapping between a topic (represented by T::Hash) and a vector of indexes"]
3161				#[doc = " of events in the `<Events<T>>` list."]
3162				#[doc = ""]
3163				#[doc = " All topic vectors have deterministic storage locations depending on the topic. This"]
3164				#[doc = " allows light-clients to leverage the changes trie storage tracking mechanism and"]
3165				#[doc = " in case of changes fetch the list of events of interest."]
3166				#[doc = ""]
3167				#[doc = " The value has the type `(BlockNumberFor<T>, EventIndex)` because if we used only just"]
3168				#[doc = " the `EventIndex` then in case if the topic has the same contents on the next block"]
3169				#[doc = " no notification will be triggered thus the event might be lost."]
3170				pub fn event_topics(
3171					&self,
3172					_0: types::event_topics::Param0,
3173				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3174					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
3175						types::event_topics::Param0,
3176					>,
3177					types::event_topics::EventTopics,
3178					::subxt::ext::subxt_core::utils::Yes,
3179					::subxt::ext::subxt_core::utils::Yes,
3180					(),
3181				> {
3182					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3183						"System",
3184						"EventTopics",
3185						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
3186						[
3187							40u8, 225u8, 14u8, 75u8, 44u8, 176u8, 76u8, 34u8, 143u8, 107u8, 69u8,
3188							133u8, 114u8, 13u8, 172u8, 250u8, 141u8, 73u8, 12u8, 65u8, 217u8, 63u8,
3189							120u8, 241u8, 48u8, 106u8, 143u8, 161u8, 128u8, 100u8, 166u8, 59u8,
3190						],
3191					)
3192				}
3193				#[doc = " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened."]
3194				pub fn last_runtime_upgrade(
3195					&self,
3196				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3197					(),
3198					types::last_runtime_upgrade::LastRuntimeUpgrade,
3199					::subxt::ext::subxt_core::utils::Yes,
3200					(),
3201					(),
3202				> {
3203					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3204						"System",
3205						"LastRuntimeUpgrade",
3206						(),
3207						[
3208							197u8, 212u8, 249u8, 209u8, 79u8, 34u8, 55u8, 203u8, 31u8, 42u8, 199u8,
3209							242u8, 188u8, 74u8, 234u8, 250u8, 245u8, 44u8, 139u8, 162u8, 45u8,
3210							150u8, 230u8, 249u8, 135u8, 100u8, 158u8, 167u8, 118u8, 219u8, 28u8,
3211							98u8,
3212						],
3213					)
3214				}
3215				#[doc = " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not."]
3216				pub fn upgraded_to_u32_ref_count(
3217					&self,
3218				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3219					(),
3220					types::upgraded_to_u32_ref_count::UpgradedToU32RefCount,
3221					::subxt::ext::subxt_core::utils::Yes,
3222					::subxt::ext::subxt_core::utils::Yes,
3223					(),
3224				> {
3225					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3226						"System",
3227						"UpgradedToU32RefCount",
3228						(),
3229						[
3230							229u8, 73u8, 9u8, 132u8, 186u8, 116u8, 151u8, 171u8, 145u8, 29u8, 34u8,
3231							130u8, 52u8, 146u8, 124u8, 175u8, 79u8, 189u8, 147u8, 230u8, 234u8,
3232							107u8, 124u8, 31u8, 2u8, 22u8, 86u8, 190u8, 4u8, 147u8, 50u8, 245u8,
3233						],
3234					)
3235				}
3236				#[doc = " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False"]
3237				#[doc = " (default) if not."]
3238				pub fn upgraded_to_triple_ref_count(
3239					&self,
3240				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3241					(),
3242					types::upgraded_to_triple_ref_count::UpgradedToTripleRefCount,
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						"UpgradedToTripleRefCount",
3250						(),
3251						[
3252							97u8, 66u8, 124u8, 243u8, 27u8, 167u8, 147u8, 81u8, 254u8, 201u8,
3253							101u8, 24u8, 40u8, 231u8, 14u8, 179u8, 154u8, 163u8, 71u8, 81u8, 185u8,
3254							167u8, 82u8, 254u8, 189u8, 3u8, 101u8, 207u8, 206u8, 194u8, 155u8,
3255							151u8,
3256						],
3257					)
3258				}
3259				#[doc = " The execution phase of the block."]
3260				pub fn execution_phase(
3261					&self,
3262				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3263					(),
3264					types::execution_phase::ExecutionPhase,
3265					::subxt::ext::subxt_core::utils::Yes,
3266					(),
3267					(),
3268				> {
3269					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3270						"System",
3271						"ExecutionPhase",
3272						(),
3273						[
3274							191u8, 129u8, 100u8, 134u8, 126u8, 116u8, 154u8, 203u8, 220u8, 200u8,
3275							0u8, 26u8, 161u8, 250u8, 133u8, 205u8, 146u8, 24u8, 5u8, 156u8, 158u8,
3276							35u8, 36u8, 253u8, 52u8, 235u8, 86u8, 167u8, 35u8, 100u8, 119u8, 27u8,
3277						],
3278					)
3279				}
3280				#[doc = " `Some` if a code upgrade has been authorized."]
3281				pub fn authorized_upgrade(
3282					&self,
3283				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3284					(),
3285					types::authorized_upgrade::AuthorizedUpgrade,
3286					::subxt::ext::subxt_core::utils::Yes,
3287					(),
3288					(),
3289				> {
3290					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3291						"System",
3292						"AuthorizedUpgrade",
3293						(),
3294						[
3295							165u8, 97u8, 27u8, 138u8, 2u8, 28u8, 55u8, 92u8, 96u8, 96u8, 168u8,
3296							169u8, 55u8, 178u8, 44u8, 127u8, 58u8, 140u8, 206u8, 178u8, 1u8, 37u8,
3297							214u8, 213u8, 251u8, 123u8, 5u8, 111u8, 90u8, 148u8, 217u8, 135u8,
3298						],
3299					)
3300				}
3301				#[doc = " The weight reclaimed for the extrinsic."]
3302				#[doc = ""]
3303				#[doc = " This information is available until the end of the extrinsic execution."]
3304				#[doc = " More precisely this information is removed in `note_applied_extrinsic`."]
3305				#[doc = ""]
3306				#[doc = " Logic doing some post dispatch weight reduction must update this storage to avoid duplicate"]
3307				#[doc = " reduction."]
3308				pub fn extrinsic_weight_reclaimed(
3309					&self,
3310				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3311					(),
3312					types::extrinsic_weight_reclaimed::ExtrinsicWeightReclaimed,
3313					::subxt::ext::subxt_core::utils::Yes,
3314					::subxt::ext::subxt_core::utils::Yes,
3315					(),
3316				> {
3317					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3318						"System",
3319						"ExtrinsicWeightReclaimed",
3320						(),
3321						[
3322							195u8, 143u8, 164u8, 84u8, 225u8, 194u8, 227u8, 128u8, 196u8, 241u8,
3323							188u8, 159u8, 59u8, 197u8, 11u8, 12u8, 119u8, 164u8, 46u8, 229u8, 92u8,
3324							212u8, 236u8, 255u8, 238u8, 54u8, 105u8, 200u8, 229u8, 191u8, 221u8,
3325							202u8,
3326						],
3327					)
3328				}
3329			}
3330		}
3331		pub mod constants {
3332			use super::runtime_types;
3333			pub struct ConstantsApi;
3334			impl ConstantsApi {
3335				#[doc = " Block & extrinsics weights: base values and limits."]
3336				pub fn block_weights(
3337					&self,
3338				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3339					runtime_types::frame_system::limits::BlockWeights,
3340				> {
3341					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3342						"System",
3343						"BlockWeights",
3344						[
3345							176u8, 124u8, 225u8, 136u8, 25u8, 73u8, 247u8, 33u8, 82u8, 206u8, 85u8,
3346							190u8, 127u8, 102u8, 71u8, 11u8, 185u8, 8u8, 58u8, 0u8, 94u8, 55u8,
3347							163u8, 177u8, 104u8, 59u8, 60u8, 136u8, 246u8, 116u8, 0u8, 239u8,
3348						],
3349					)
3350				}
3351				#[doc = " The maximum length of a block (in bytes)."]
3352				pub fn block_length(
3353					&self,
3354				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3355					runtime_types::frame_system::limits::BlockLength,
3356				> {
3357					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3358						"System",
3359						"BlockLength",
3360						[
3361							23u8, 242u8, 225u8, 39u8, 225u8, 67u8, 152u8, 41u8, 155u8, 104u8, 68u8,
3362							229u8, 185u8, 133u8, 10u8, 143u8, 184u8, 152u8, 234u8, 44u8, 140u8,
3363							96u8, 166u8, 235u8, 162u8, 160u8, 72u8, 7u8, 35u8, 194u8, 3u8, 37u8,
3364						],
3365					)
3366				}
3367				#[doc = " Maximum number of block number to block hash mappings to keep (oldest pruned first)."]
3368				pub fn block_hash_count(
3369					&self,
3370				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3371					::core::primitive::u32,
3372				> {
3373					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3374						"System",
3375						"BlockHashCount",
3376						[
3377							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
3378							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
3379							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
3380							145u8,
3381						],
3382					)
3383				}
3384				#[doc = " The weight of runtime database operations the runtime can invoke."]
3385				pub fn db_weight(
3386					&self,
3387				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3388					runtime_types::sp_weights::RuntimeDbWeight,
3389				> {
3390					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3391						"System",
3392						"DbWeight",
3393						[
3394							42u8, 43u8, 178u8, 142u8, 243u8, 203u8, 60u8, 173u8, 118u8, 111u8,
3395							200u8, 170u8, 102u8, 70u8, 237u8, 187u8, 198u8, 120u8, 153u8, 232u8,
3396							183u8, 76u8, 74u8, 10u8, 70u8, 243u8, 14u8, 218u8, 213u8, 126u8, 29u8,
3397							177u8,
3398						],
3399					)
3400				}
3401				#[doc = " Get the chain's in-code version."]
3402				pub fn version(
3403					&self,
3404				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3405					runtime_types::sp_version::RuntimeVersion,
3406				> {
3407					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3408						"System",
3409						"Version",
3410						[
3411							214u8, 43u8, 96u8, 193u8, 96u8, 213u8, 63u8, 124u8, 22u8, 111u8, 41u8,
3412							78u8, 146u8, 77u8, 34u8, 163u8, 117u8, 100u8, 6u8, 216u8, 238u8, 54u8,
3413							80u8, 185u8, 219u8, 11u8, 192u8, 200u8, 129u8, 88u8, 161u8, 250u8,
3414						],
3415					)
3416				}
3417				#[doc = " The designated SS58 prefix of this chain."]
3418				#[doc = ""]
3419				#[doc = " This replaces the \"ss58Format\" property declared in the chain spec. Reason is"]
3420				#[doc = " that the runtime should know about the prefix in order to make use of it as"]
3421				#[doc = " an identifier of the chain."]
3422				pub fn ss58_prefix(
3423					&self,
3424				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3425					::core::primitive::u16,
3426				> {
3427					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3428						"System",
3429						"SS58Prefix",
3430						[
3431							116u8, 33u8, 2u8, 170u8, 181u8, 147u8, 171u8, 169u8, 167u8, 227u8,
3432							41u8, 144u8, 11u8, 236u8, 82u8, 100u8, 74u8, 60u8, 184u8, 72u8, 169u8,
3433							90u8, 208u8, 135u8, 15u8, 117u8, 10u8, 123u8, 128u8, 193u8, 29u8, 70u8,
3434						],
3435					)
3436				}
3437			}
3438		}
3439	}
3440	pub mod timestamp {
3441		use super::{root_mod, runtime_types};
3442		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
3443		pub type Call = runtime_types::pallet_timestamp::pallet::Call;
3444		pub mod calls {
3445			use super::{root_mod, runtime_types};
3446			type DispatchError = runtime_types::sp_runtime::DispatchError;
3447			pub mod types {
3448				use super::runtime_types;
3449				#[derive(
3450					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3451					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3452					Debug,
3453				)]
3454				#[decode_as_type(
3455					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3456				)]
3457				#[encode_as_type(
3458					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3459				)]
3460				#[doc = "Set the current time."]
3461				#[doc = ""]
3462				#[doc = "This call should be invoked exactly once per block. It will panic at the finalization"]
3463				#[doc = "phase, if this call hasn't been invoked by that time."]
3464				#[doc = ""]
3465				#[doc = "The timestamp should be greater than the previous one by the amount specified by"]
3466				#[doc = "[`Config::MinimumPeriod`]."]
3467				#[doc = ""]
3468				#[doc = "The dispatch origin for this call must be _None_."]
3469				#[doc = ""]
3470				#[doc = "This dispatch class is _Mandatory_ to ensure it gets executed in the block. Be aware"]
3471				#[doc = "that changing the complexity of this call could result exhausting the resources in a"]
3472				#[doc = "block to execute any other calls."]
3473				#[doc = ""]
3474				#[doc = "## Complexity"]
3475				#[doc = "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)"]
3476				#[doc = "- 1 storage read and 1 storage mutation (codec `O(1)` because of `DidUpdate::take` in"]
3477				#[doc = "  `on_finalize`)"]
3478				#[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."]
3479				pub struct Set {
3480					#[codec(compact)]
3481					pub now: set::Now,
3482				}
3483				pub mod set {
3484					use super::runtime_types;
3485					pub type Now = ::core::primitive::u64;
3486				}
3487				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Set {
3488					const PALLET: &'static str = "Timestamp";
3489					const CALL: &'static str = "set";
3490				}
3491			}
3492			pub struct TransactionApi;
3493			impl TransactionApi {
3494				#[doc = "Set the current time."]
3495				#[doc = ""]
3496				#[doc = "This call should be invoked exactly once per block. It will panic at the finalization"]
3497				#[doc = "phase, if this call hasn't been invoked by that time."]
3498				#[doc = ""]
3499				#[doc = "The timestamp should be greater than the previous one by the amount specified by"]
3500				#[doc = "[`Config::MinimumPeriod`]."]
3501				#[doc = ""]
3502				#[doc = "The dispatch origin for this call must be _None_."]
3503				#[doc = ""]
3504				#[doc = "This dispatch class is _Mandatory_ to ensure it gets executed in the block. Be aware"]
3505				#[doc = "that changing the complexity of this call could result exhausting the resources in a"]
3506				#[doc = "block to execute any other calls."]
3507				#[doc = ""]
3508				#[doc = "## Complexity"]
3509				#[doc = "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)"]
3510				#[doc = "- 1 storage read and 1 storage mutation (codec `O(1)` because of `DidUpdate::take` in"]
3511				#[doc = "  `on_finalize`)"]
3512				#[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."]
3513				pub fn set(
3514					&self,
3515					now: types::set::Now,
3516				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Set> {
3517					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
3518						"Timestamp",
3519						"set",
3520						types::Set { now },
3521						[
3522							37u8, 95u8, 49u8, 218u8, 24u8, 22u8, 0u8, 95u8, 72u8, 35u8, 155u8,
3523							199u8, 213u8, 54u8, 207u8, 22u8, 185u8, 193u8, 221u8, 70u8, 18u8,
3524							200u8, 4u8, 231u8, 195u8, 173u8, 6u8, 122u8, 11u8, 203u8, 231u8, 227u8,
3525						],
3526					)
3527				}
3528			}
3529		}
3530		pub mod storage {
3531			use super::runtime_types;
3532			pub mod types {
3533				use super::runtime_types;
3534				pub mod now {
3535					use super::runtime_types;
3536					pub type Now = ::core::primitive::u64;
3537				}
3538				pub mod did_update {
3539					use super::runtime_types;
3540					pub type DidUpdate = ::core::primitive::bool;
3541				}
3542			}
3543			pub struct StorageApi;
3544			impl StorageApi {
3545				#[doc = " The current time for the current block."]
3546				pub fn now(
3547					&self,
3548				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3549					(),
3550					types::now::Now,
3551					::subxt::ext::subxt_core::utils::Yes,
3552					::subxt::ext::subxt_core::utils::Yes,
3553					(),
3554				> {
3555					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3556						"Timestamp",
3557						"Now",
3558						(),
3559						[
3560							44u8, 50u8, 80u8, 30u8, 195u8, 146u8, 123u8, 238u8, 8u8, 163u8, 187u8,
3561							92u8, 61u8, 39u8, 51u8, 29u8, 173u8, 169u8, 217u8, 158u8, 85u8, 187u8,
3562							141u8, 26u8, 12u8, 115u8, 51u8, 11u8, 200u8, 244u8, 138u8, 152u8,
3563						],
3564					)
3565				}
3566				#[doc = " Whether the timestamp has been updated in this block."]
3567				#[doc = ""]
3568				#[doc = " This value is updated to `true` upon successful submission of a timestamp by a node."]
3569				#[doc = " It is then checked at the end of each block execution in the `on_finalize` hook."]
3570				pub fn did_update(
3571					&self,
3572				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3573					(),
3574					types::did_update::DidUpdate,
3575					::subxt::ext::subxt_core::utils::Yes,
3576					::subxt::ext::subxt_core::utils::Yes,
3577					(),
3578				> {
3579					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3580						"Timestamp",
3581						"DidUpdate",
3582						(),
3583						[
3584							229u8, 175u8, 246u8, 102u8, 237u8, 158u8, 212u8, 229u8, 238u8, 214u8,
3585							205u8, 160u8, 164u8, 252u8, 195u8, 75u8, 139u8, 110u8, 22u8, 34u8,
3586							248u8, 204u8, 107u8, 46u8, 20u8, 200u8, 238u8, 167u8, 71u8, 41u8,
3587							214u8, 140u8,
3588						],
3589					)
3590				}
3591			}
3592		}
3593		pub mod constants {
3594			use super::runtime_types;
3595			pub struct ConstantsApi;
3596			impl ConstantsApi {
3597				#[doc = " The minimum period between blocks."]
3598				#[doc = ""]
3599				#[doc = " Be aware that this is different to the *expected* period that the block production"]
3600				#[doc = " apparatus provides. Your chosen consensus system will generally work with this to"]
3601				#[doc = " determine a sensible block time. For example, in the Aura pallet it will be double this"]
3602				#[doc = " period on default settings."]
3603				pub fn minimum_period(
3604					&self,
3605				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3606					::core::primitive::u64,
3607				> {
3608					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3609						"Timestamp",
3610						"MinimumPeriod",
3611						[
3612							128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8,
3613							59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8,
3614							103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8,
3615							246u8,
3616						],
3617					)
3618				}
3619			}
3620		}
3621	}
3622	pub mod balances {
3623		use super::{root_mod, runtime_types};
3624		#[doc = "The `Error` enum of this pallet."]
3625		pub type Error = runtime_types::pallet_balances::pallet::Error;
3626		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
3627		pub type Call = runtime_types::pallet_balances::pallet::Call;
3628		pub mod calls {
3629			use super::{root_mod, runtime_types};
3630			type DispatchError = runtime_types::sp_runtime::DispatchError;
3631			pub mod types {
3632				use super::runtime_types;
3633				#[derive(
3634					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3635					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3636					Debug,
3637				)]
3638				#[decode_as_type(
3639					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3640				)]
3641				#[encode_as_type(
3642					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3643				)]
3644				#[doc = "Transfer some liquid free balance to another account."]
3645				#[doc = ""]
3646				#[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."]
3647				#[doc = "If the sender's account is below the existential deposit as a result"]
3648				#[doc = "of the transfer, the account will be reaped."]
3649				#[doc = ""]
3650				#[doc = "The dispatch origin for this call must be `Signed` by the transactor."]
3651				pub struct TransferAllowDeath {
3652					pub dest: transfer_allow_death::Dest,
3653					#[codec(compact)]
3654					pub value: transfer_allow_death::Value,
3655				}
3656				pub mod transfer_allow_death {
3657					use super::runtime_types;
3658					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
3659						::subxt::ext::subxt_core::utils::AccountId32,
3660						(),
3661					>;
3662					pub type Value = ::core::primitive::u128;
3663				}
3664				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferAllowDeath {
3665					const PALLET: &'static str = "Balances";
3666					const CALL: &'static str = "transfer_allow_death";
3667				}
3668				#[derive(
3669					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3670					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3671					Debug,
3672				)]
3673				#[decode_as_type(
3674					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3675				)]
3676				#[encode_as_type(
3677					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3678				)]
3679				#[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"]
3680				#[doc = "may be specified."]
3681				pub struct ForceTransfer {
3682					pub source: force_transfer::Source,
3683					pub dest: force_transfer::Dest,
3684					#[codec(compact)]
3685					pub value: force_transfer::Value,
3686				}
3687				pub mod force_transfer {
3688					use super::runtime_types;
3689					pub type Source = ::subxt::ext::subxt_core::utils::MultiAddress<
3690						::subxt::ext::subxt_core::utils::AccountId32,
3691						(),
3692					>;
3693					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
3694						::subxt::ext::subxt_core::utils::AccountId32,
3695						(),
3696					>;
3697					pub type Value = ::core::primitive::u128;
3698				}
3699				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceTransfer {
3700					const PALLET: &'static str = "Balances";
3701					const CALL: &'static str = "force_transfer";
3702				}
3703				#[derive(
3704					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3705					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3706					Debug,
3707				)]
3708				#[decode_as_type(
3709					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3710				)]
3711				#[encode_as_type(
3712					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3713				)]
3714				#[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"]
3715				#[doc = "kill the origin account."]
3716				#[doc = ""]
3717				#[doc = "99% of the time you want [`transfer_allow_death`] instead."]
3718				#[doc = ""]
3719				#[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"]
3720				pub struct TransferKeepAlive {
3721					pub dest: transfer_keep_alive::Dest,
3722					#[codec(compact)]
3723					pub value: transfer_keep_alive::Value,
3724				}
3725				pub mod transfer_keep_alive {
3726					use super::runtime_types;
3727					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
3728						::subxt::ext::subxt_core::utils::AccountId32,
3729						(),
3730					>;
3731					pub type Value = ::core::primitive::u128;
3732				}
3733				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferKeepAlive {
3734					const PALLET: &'static str = "Balances";
3735					const CALL: &'static str = "transfer_keep_alive";
3736				}
3737				#[derive(
3738					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3739					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3740					Debug,
3741				)]
3742				#[decode_as_type(
3743					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3744				)]
3745				#[encode_as_type(
3746					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3747				)]
3748				#[doc = "Transfer the entire transferable balance from the caller account."]
3749				#[doc = ""]
3750				#[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"]
3751				#[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"]
3752				#[doc = "transferred by this function. To ensure that this function results in a killed account,"]
3753				#[doc = "you might need to prepare the account by removing any reference counters, storage"]
3754				#[doc = "deposits, etc..."]
3755				#[doc = ""]
3756				#[doc = "The dispatch origin of this call must be Signed."]
3757				#[doc = ""]
3758				#[doc = "- `dest`: The recipient of the transfer."]
3759				#[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"]
3760				#[doc = "  of the funds the account has, causing the sender account to be killed (false), or"]
3761				#[doc = "  transfer everything except at least the existential deposit, which will guarantee to"]
3762				#[doc = "  keep the sender account alive (true)."]
3763				pub struct TransferAll {
3764					pub dest: transfer_all::Dest,
3765					pub keep_alive: transfer_all::KeepAlive,
3766				}
3767				pub mod transfer_all {
3768					use super::runtime_types;
3769					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
3770						::subxt::ext::subxt_core::utils::AccountId32,
3771						(),
3772					>;
3773					pub type KeepAlive = ::core::primitive::bool;
3774				}
3775				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferAll {
3776					const PALLET: &'static str = "Balances";
3777					const CALL: &'static str = "transfer_all";
3778				}
3779				#[derive(
3780					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3781					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3782					Debug,
3783				)]
3784				#[decode_as_type(
3785					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3786				)]
3787				#[encode_as_type(
3788					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3789				)]
3790				#[doc = "Unreserve some balance from a user by force."]
3791				#[doc = ""]
3792				#[doc = "Can only be called by ROOT."]
3793				pub struct ForceUnreserve {
3794					pub who: force_unreserve::Who,
3795					pub amount: force_unreserve::Amount,
3796				}
3797				pub mod force_unreserve {
3798					use super::runtime_types;
3799					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
3800						::subxt::ext::subxt_core::utils::AccountId32,
3801						(),
3802					>;
3803					pub type Amount = ::core::primitive::u128;
3804				}
3805				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceUnreserve {
3806					const PALLET: &'static str = "Balances";
3807					const CALL: &'static str = "force_unreserve";
3808				}
3809				#[derive(
3810					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3811					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3812					Debug,
3813				)]
3814				#[decode_as_type(
3815					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3816				)]
3817				#[encode_as_type(
3818					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3819				)]
3820				#[doc = "Upgrade a specified account."]
3821				#[doc = ""]
3822				#[doc = "- `origin`: Must be `Signed`."]
3823				#[doc = "- `who`: The account to be upgraded."]
3824				#[doc = ""]
3825				#[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"]
3826				#[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"]
3827				#[doc = "possibility of churn)."]
3828				pub struct UpgradeAccounts {
3829					pub who: upgrade_accounts::Who,
3830				}
3831				pub mod upgrade_accounts {
3832					use super::runtime_types;
3833					pub type Who = ::subxt::ext::subxt_core::alloc::vec::Vec<
3834						::subxt::ext::subxt_core::utils::AccountId32,
3835					>;
3836				}
3837				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for UpgradeAccounts {
3838					const PALLET: &'static str = "Balances";
3839					const CALL: &'static str = "upgrade_accounts";
3840				}
3841				#[derive(
3842					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3843					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3844					Debug,
3845				)]
3846				#[decode_as_type(
3847					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3848				)]
3849				#[encode_as_type(
3850					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3851				)]
3852				#[doc = "Set the regular balance of a given account."]
3853				#[doc = ""]
3854				#[doc = "The dispatch origin for this call is `root`."]
3855				pub struct ForceSetBalance {
3856					pub who: force_set_balance::Who,
3857					#[codec(compact)]
3858					pub new_free: force_set_balance::NewFree,
3859				}
3860				pub mod force_set_balance {
3861					use super::runtime_types;
3862					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
3863						::subxt::ext::subxt_core::utils::AccountId32,
3864						(),
3865					>;
3866					pub type NewFree = ::core::primitive::u128;
3867				}
3868				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceSetBalance {
3869					const PALLET: &'static str = "Balances";
3870					const CALL: &'static str = "force_set_balance";
3871				}
3872				#[derive(
3873					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3874					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3875					Debug,
3876				)]
3877				#[decode_as_type(
3878					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3879				)]
3880				#[encode_as_type(
3881					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3882				)]
3883				#[doc = "Adjust the total issuance in a saturating way."]
3884				#[doc = ""]
3885				#[doc = "Can only be called by root and always needs a positive `delta`."]
3886				#[doc = ""]
3887				#[doc = "# Example"]
3888				pub struct ForceAdjustTotalIssuance {
3889					pub direction: force_adjust_total_issuance::Direction,
3890					#[codec(compact)]
3891					pub delta: force_adjust_total_issuance::Delta,
3892				}
3893				pub mod force_adjust_total_issuance {
3894					use super::runtime_types;
3895					pub type Direction = runtime_types::pallet_balances::types::AdjustmentDirection;
3896					pub type Delta = ::core::primitive::u128;
3897				}
3898				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceAdjustTotalIssuance {
3899					const PALLET: &'static str = "Balances";
3900					const CALL: &'static str = "force_adjust_total_issuance";
3901				}
3902				#[derive(
3903					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3904					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3905					Debug,
3906				)]
3907				#[decode_as_type(
3908					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3909				)]
3910				#[encode_as_type(
3911					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3912				)]
3913				#[doc = "Burn the specified liquid free balance from the origin account."]
3914				#[doc = ""]
3915				#[doc = "If the origin's account ends up below the existential deposit as a result"]
3916				#[doc = "of the burn and `keep_alive` is false, the account will be reaped."]
3917				#[doc = ""]
3918				#[doc = "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,"]
3919				#[doc = "this `burn` operation will reduce total issuance by the amount _burned_."]
3920				pub struct Burn {
3921					#[codec(compact)]
3922					pub value: burn::Value,
3923					pub keep_alive: burn::KeepAlive,
3924				}
3925				pub mod burn {
3926					use super::runtime_types;
3927					pub type Value = ::core::primitive::u128;
3928					pub type KeepAlive = ::core::primitive::bool;
3929				}
3930				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Burn {
3931					const PALLET: &'static str = "Balances";
3932					const CALL: &'static str = "burn";
3933				}
3934			}
3935			pub struct TransactionApi;
3936			impl TransactionApi {
3937				#[doc = "Transfer some liquid free balance to another account."]
3938				#[doc = ""]
3939				#[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."]
3940				#[doc = "If the sender's account is below the existential deposit as a result"]
3941				#[doc = "of the transfer, the account will be reaped."]
3942				#[doc = ""]
3943				#[doc = "The dispatch origin for this call must be `Signed` by the transactor."]
3944				pub fn transfer_allow_death(
3945					&self,
3946					dest: types::transfer_allow_death::Dest,
3947					value: types::transfer_allow_death::Value,
3948				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferAllowDeath>
3949				{
3950					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
3951						"Balances",
3952						"transfer_allow_death",
3953						types::TransferAllowDeath { dest, value },
3954						[
3955							51u8, 166u8, 195u8, 10u8, 139u8, 218u8, 55u8, 130u8, 6u8, 194u8, 35u8,
3956							140u8, 27u8, 205u8, 214u8, 222u8, 102u8, 43u8, 143u8, 145u8, 86u8,
3957							219u8, 210u8, 147u8, 13u8, 39u8, 51u8, 21u8, 237u8, 179u8, 132u8,
3958							130u8,
3959						],
3960					)
3961				}
3962				#[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"]
3963				#[doc = "may be specified."]
3964				pub fn force_transfer(
3965					&self,
3966					source: types::force_transfer::Source,
3967					dest: types::force_transfer::Dest,
3968					value: types::force_transfer::Value,
3969				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceTransfer>
3970				{
3971					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
3972						"Balances",
3973						"force_transfer",
3974						types::ForceTransfer { source, dest, value },
3975						[
3976							154u8, 93u8, 222u8, 27u8, 12u8, 248u8, 63u8, 213u8, 224u8, 86u8, 250u8,
3977							153u8, 249u8, 102u8, 83u8, 160u8, 79u8, 125u8, 105u8, 222u8, 77u8,
3978							180u8, 90u8, 105u8, 81u8, 217u8, 60u8, 25u8, 213u8, 51u8, 185u8, 96u8,
3979						],
3980					)
3981				}
3982				#[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"]
3983				#[doc = "kill the origin account."]
3984				#[doc = ""]
3985				#[doc = "99% of the time you want [`transfer_allow_death`] instead."]
3986				#[doc = ""]
3987				#[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"]
3988				pub fn transfer_keep_alive(
3989					&self,
3990					dest: types::transfer_keep_alive::Dest,
3991					value: types::transfer_keep_alive::Value,
3992				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferKeepAlive>
3993				{
3994					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
3995						"Balances",
3996						"transfer_keep_alive",
3997						types::TransferKeepAlive { dest, value },
3998						[
3999							245u8, 14u8, 190u8, 193u8, 32u8, 210u8, 74u8, 92u8, 25u8, 182u8, 76u8,
4000							55u8, 247u8, 83u8, 114u8, 75u8, 143u8, 236u8, 117u8, 25u8, 54u8, 157u8,
4001							208u8, 207u8, 233u8, 89u8, 70u8, 161u8, 235u8, 242u8, 222u8, 59u8,
4002						],
4003					)
4004				}
4005				#[doc = "Transfer the entire transferable balance from the caller account."]
4006				#[doc = ""]
4007				#[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"]
4008				#[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"]
4009				#[doc = "transferred by this function. To ensure that this function results in a killed account,"]
4010				#[doc = "you might need to prepare the account by removing any reference counters, storage"]
4011				#[doc = "deposits, etc..."]
4012				#[doc = ""]
4013				#[doc = "The dispatch origin of this call must be Signed."]
4014				#[doc = ""]
4015				#[doc = "- `dest`: The recipient of the transfer."]
4016				#[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"]
4017				#[doc = "  of the funds the account has, causing the sender account to be killed (false), or"]
4018				#[doc = "  transfer everything except at least the existential deposit, which will guarantee to"]
4019				#[doc = "  keep the sender account alive (true)."]
4020				pub fn transfer_all(
4021					&self,
4022					dest: types::transfer_all::Dest,
4023					keep_alive: types::transfer_all::KeepAlive,
4024				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferAll> {
4025					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4026						"Balances",
4027						"transfer_all",
4028						types::TransferAll { dest, keep_alive },
4029						[
4030							105u8, 132u8, 49u8, 144u8, 195u8, 250u8, 34u8, 46u8, 213u8, 248u8,
4031							112u8, 188u8, 81u8, 228u8, 136u8, 18u8, 67u8, 172u8, 37u8, 38u8, 238u8,
4032							9u8, 34u8, 15u8, 67u8, 34u8, 148u8, 195u8, 223u8, 29u8, 154u8, 6u8,
4033						],
4034					)
4035				}
4036				#[doc = "Unreserve some balance from a user by force."]
4037				#[doc = ""]
4038				#[doc = "Can only be called by ROOT."]
4039				pub fn force_unreserve(
4040					&self,
4041					who: types::force_unreserve::Who,
4042					amount: types::force_unreserve::Amount,
4043				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceUnreserve>
4044				{
4045					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4046						"Balances",
4047						"force_unreserve",
4048						types::ForceUnreserve { who, amount },
4049						[
4050							142u8, 151u8, 64u8, 205u8, 46u8, 64u8, 62u8, 122u8, 108u8, 49u8, 223u8,
4051							140u8, 120u8, 153u8, 35u8, 165u8, 187u8, 38u8, 157u8, 200u8, 123u8,
4052							199u8, 198u8, 168u8, 208u8, 159u8, 39u8, 134u8, 92u8, 103u8, 84u8,
4053							171u8,
4054						],
4055					)
4056				}
4057				#[doc = "Upgrade a specified account."]
4058				#[doc = ""]
4059				#[doc = "- `origin`: Must be `Signed`."]
4060				#[doc = "- `who`: The account to be upgraded."]
4061				#[doc = ""]
4062				#[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"]
4063				#[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"]
4064				#[doc = "possibility of churn)."]
4065				pub fn upgrade_accounts(
4066					&self,
4067					who: types::upgrade_accounts::Who,
4068				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::UpgradeAccounts>
4069				{
4070					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4071						"Balances",
4072						"upgrade_accounts",
4073						types::UpgradeAccounts { who },
4074						[
4075							66u8, 200u8, 179u8, 104u8, 65u8, 2u8, 101u8, 56u8, 130u8, 161u8, 224u8,
4076							233u8, 255u8, 124u8, 70u8, 122u8, 8u8, 49u8, 103u8, 178u8, 68u8, 47u8,
4077							214u8, 166u8, 217u8, 116u8, 178u8, 50u8, 212u8, 164u8, 98u8, 226u8,
4078						],
4079					)
4080				}
4081				#[doc = "Set the regular balance of a given account."]
4082				#[doc = ""]
4083				#[doc = "The dispatch origin for this call is `root`."]
4084				pub fn force_set_balance(
4085					&self,
4086					who: types::force_set_balance::Who,
4087					new_free: types::force_set_balance::NewFree,
4088				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceSetBalance>
4089				{
4090					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4091						"Balances",
4092						"force_set_balance",
4093						types::ForceSetBalance { who, new_free },
4094						[
4095							114u8, 229u8, 59u8, 204u8, 180u8, 83u8, 17u8, 4u8, 59u8, 4u8, 55u8,
4096							39u8, 151u8, 196u8, 124u8, 60u8, 209u8, 65u8, 193u8, 11u8, 44u8, 164u8,
4097							116u8, 93u8, 169u8, 30u8, 199u8, 165u8, 55u8, 231u8, 223u8, 43u8,
4098						],
4099					)
4100				}
4101				#[doc = "Adjust the total issuance in a saturating way."]
4102				#[doc = ""]
4103				#[doc = "Can only be called by root and always needs a positive `delta`."]
4104				#[doc = ""]
4105				#[doc = "# Example"]
4106				pub fn force_adjust_total_issuance(
4107					&self,
4108					direction: types::force_adjust_total_issuance::Direction,
4109					delta: types::force_adjust_total_issuance::Delta,
4110				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
4111					types::ForceAdjustTotalIssuance,
4112				> {
4113					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4114						"Balances",
4115						"force_adjust_total_issuance",
4116						types::ForceAdjustTotalIssuance { direction, delta },
4117						[
4118							208u8, 134u8, 56u8, 133u8, 232u8, 164u8, 10u8, 213u8, 53u8, 193u8,
4119							190u8, 63u8, 236u8, 186u8, 96u8, 122u8, 104u8, 87u8, 173u8, 38u8, 58u8,
4120							176u8, 21u8, 78u8, 42u8, 106u8, 46u8, 248u8, 251u8, 190u8, 150u8,
4121							202u8,
4122						],
4123					)
4124				}
4125				#[doc = "Burn the specified liquid free balance from the origin account."]
4126				#[doc = ""]
4127				#[doc = "If the origin's account ends up below the existential deposit as a result"]
4128				#[doc = "of the burn and `keep_alive` is false, the account will be reaped."]
4129				#[doc = ""]
4130				#[doc = "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,"]
4131				#[doc = "this `burn` operation will reduce total issuance by the amount _burned_."]
4132				pub fn burn(
4133					&self,
4134					value: types::burn::Value,
4135					keep_alive: types::burn::KeepAlive,
4136				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Burn> {
4137					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4138						"Balances",
4139						"burn",
4140						types::Burn { value, keep_alive },
4141						[
4142							176u8, 64u8, 7u8, 109u8, 16u8, 44u8, 145u8, 125u8, 147u8, 152u8, 130u8,
4143							114u8, 221u8, 201u8, 150u8, 162u8, 118u8, 71u8, 52u8, 92u8, 240u8,
4144							116u8, 203u8, 98u8, 5u8, 22u8, 43u8, 102u8, 94u8, 208u8, 101u8, 57u8,
4145						],
4146					)
4147				}
4148			}
4149		}
4150		#[doc = "The `Event` enum of this pallet"]
4151		pub type Event = runtime_types::pallet_balances::pallet::Event;
4152		pub mod events {
4153			use super::runtime_types;
4154			#[derive(
4155				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4156				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4157				Debug,
4158			)]
4159			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4160			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4161			#[doc = "An account was created with some free balance."]
4162			pub struct Endowed {
4163				pub account: endowed::Account,
4164				pub free_balance: endowed::FreeBalance,
4165			}
4166			pub mod endowed {
4167				use super::runtime_types;
4168				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
4169				pub type FreeBalance = ::core::primitive::u128;
4170			}
4171			impl ::subxt::ext::subxt_core::events::StaticEvent for Endowed {
4172				const PALLET: &'static str = "Balances";
4173				const EVENT: &'static str = "Endowed";
4174			}
4175			#[derive(
4176				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4177				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4178				Debug,
4179			)]
4180			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4181			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4182			#[doc = "An account was removed whose balance was non-zero but below ExistentialDeposit,"]
4183			#[doc = "resulting in an outright loss."]
4184			pub struct DustLost {
4185				pub account: dust_lost::Account,
4186				pub amount: dust_lost::Amount,
4187			}
4188			pub mod dust_lost {
4189				use super::runtime_types;
4190				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
4191				pub type Amount = ::core::primitive::u128;
4192			}
4193			impl ::subxt::ext::subxt_core::events::StaticEvent for DustLost {
4194				const PALLET: &'static str = "Balances";
4195				const EVENT: &'static str = "DustLost";
4196			}
4197			#[derive(
4198				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4199				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4200				Debug,
4201			)]
4202			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4203			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4204			#[doc = "Transfer succeeded."]
4205			pub struct Transfer {
4206				pub from: transfer::From,
4207				pub to: transfer::To,
4208				pub amount: transfer::Amount,
4209			}
4210			pub mod transfer {
4211				use super::runtime_types;
4212				pub type From = ::subxt::ext::subxt_core::utils::AccountId32;
4213				pub type To = ::subxt::ext::subxt_core::utils::AccountId32;
4214				pub type Amount = ::core::primitive::u128;
4215			}
4216			impl ::subxt::ext::subxt_core::events::StaticEvent for Transfer {
4217				const PALLET: &'static str = "Balances";
4218				const EVENT: &'static str = "Transfer";
4219			}
4220			#[derive(
4221				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4222				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4223				Debug,
4224			)]
4225			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4226			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4227			#[doc = "A balance was set by root."]
4228			pub struct BalanceSet {
4229				pub who: balance_set::Who,
4230				pub free: balance_set::Free,
4231			}
4232			pub mod balance_set {
4233				use super::runtime_types;
4234				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4235				pub type Free = ::core::primitive::u128;
4236			}
4237			impl ::subxt::ext::subxt_core::events::StaticEvent for BalanceSet {
4238				const PALLET: &'static str = "Balances";
4239				const EVENT: &'static str = "BalanceSet";
4240			}
4241			#[derive(
4242				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4243				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4244				Debug,
4245			)]
4246			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4247			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4248			#[doc = "Some balance was reserved (moved from free to reserved)."]
4249			pub struct Reserved {
4250				pub who: reserved::Who,
4251				pub amount: reserved::Amount,
4252			}
4253			pub mod reserved {
4254				use super::runtime_types;
4255				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4256				pub type Amount = ::core::primitive::u128;
4257			}
4258			impl ::subxt::ext::subxt_core::events::StaticEvent for Reserved {
4259				const PALLET: &'static str = "Balances";
4260				const EVENT: &'static str = "Reserved";
4261			}
4262			#[derive(
4263				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4264				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4265				Debug,
4266			)]
4267			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4268			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4269			#[doc = "Some balance was unreserved (moved from reserved to free)."]
4270			pub struct Unreserved {
4271				pub who: unreserved::Who,
4272				pub amount: unreserved::Amount,
4273			}
4274			pub mod unreserved {
4275				use super::runtime_types;
4276				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4277				pub type Amount = ::core::primitive::u128;
4278			}
4279			impl ::subxt::ext::subxt_core::events::StaticEvent for Unreserved {
4280				const PALLET: &'static str = "Balances";
4281				const EVENT: &'static str = "Unreserved";
4282			}
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 = "Some balance was moved from the reserve of the first account to the second account."]
4291			#[doc = "Final argument indicates the destination balance type."]
4292			pub struct ReserveRepatriated {
4293				pub from: reserve_repatriated::From,
4294				pub to: reserve_repatriated::To,
4295				pub amount: reserve_repatriated::Amount,
4296				pub destination_status: reserve_repatriated::DestinationStatus,
4297			}
4298			pub mod reserve_repatriated {
4299				use super::runtime_types;
4300				pub type From = ::subxt::ext::subxt_core::utils::AccountId32;
4301				pub type To = ::subxt::ext::subxt_core::utils::AccountId32;
4302				pub type Amount = ::core::primitive::u128;
4303				pub type DestinationStatus =
4304					runtime_types::frame_support::traits::tokens::misc::BalanceStatus;
4305			}
4306			impl ::subxt::ext::subxt_core::events::StaticEvent for ReserveRepatriated {
4307				const PALLET: &'static str = "Balances";
4308				const EVENT: &'static str = "ReserveRepatriated";
4309			}
4310			#[derive(
4311				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4312				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4313				Debug,
4314			)]
4315			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4316			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4317			#[doc = "Some amount was deposited (e.g. for transaction fees)."]
4318			pub struct Deposit {
4319				pub who: deposit::Who,
4320				pub amount: deposit::Amount,
4321			}
4322			pub mod deposit {
4323				use super::runtime_types;
4324				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4325				pub type Amount = ::core::primitive::u128;
4326			}
4327			impl ::subxt::ext::subxt_core::events::StaticEvent for Deposit {
4328				const PALLET: &'static str = "Balances";
4329				const EVENT: &'static str = "Deposit";
4330			}
4331			#[derive(
4332				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4333				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4334				Debug,
4335			)]
4336			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4337			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4338			#[doc = "Some amount was withdrawn from the account (e.g. for transaction fees)."]
4339			pub struct Withdraw {
4340				pub who: withdraw::Who,
4341				pub amount: withdraw::Amount,
4342			}
4343			pub mod withdraw {
4344				use super::runtime_types;
4345				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4346				pub type Amount = ::core::primitive::u128;
4347			}
4348			impl ::subxt::ext::subxt_core::events::StaticEvent for Withdraw {
4349				const PALLET: &'static str = "Balances";
4350				const EVENT: &'static str = "Withdraw";
4351			}
4352			#[derive(
4353				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4354				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4355				Debug,
4356			)]
4357			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4358			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4359			#[doc = "Some amount was removed from the account (e.g. for misbehavior)."]
4360			pub struct Slashed {
4361				pub who: slashed::Who,
4362				pub amount: slashed::Amount,
4363			}
4364			pub mod slashed {
4365				use super::runtime_types;
4366				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4367				pub type Amount = ::core::primitive::u128;
4368			}
4369			impl ::subxt::ext::subxt_core::events::StaticEvent for Slashed {
4370				const PALLET: &'static str = "Balances";
4371				const EVENT: &'static str = "Slashed";
4372			}
4373			#[derive(
4374				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4375				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4376				Debug,
4377			)]
4378			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4379			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4380			#[doc = "Some amount was minted into an account."]
4381			pub struct Minted {
4382				pub who: minted::Who,
4383				pub amount: minted::Amount,
4384			}
4385			pub mod minted {
4386				use super::runtime_types;
4387				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4388				pub type Amount = ::core::primitive::u128;
4389			}
4390			impl ::subxt::ext::subxt_core::events::StaticEvent for Minted {
4391				const PALLET: &'static str = "Balances";
4392				const EVENT: &'static str = "Minted";
4393			}
4394			#[derive(
4395				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4396				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4397				Debug,
4398			)]
4399			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4400			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4401			#[doc = "Some amount was burned from an account."]
4402			pub struct Burned {
4403				pub who: burned::Who,
4404				pub amount: burned::Amount,
4405			}
4406			pub mod burned {
4407				use super::runtime_types;
4408				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4409				pub type Amount = ::core::primitive::u128;
4410			}
4411			impl ::subxt::ext::subxt_core::events::StaticEvent for Burned {
4412				const PALLET: &'static str = "Balances";
4413				const EVENT: &'static str = "Burned";
4414			}
4415			#[derive(
4416				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4417				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4418				Debug,
4419			)]
4420			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4421			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4422			#[doc = "Some amount was suspended from an account (it can be restored later)."]
4423			pub struct Suspended {
4424				pub who: suspended::Who,
4425				pub amount: suspended::Amount,
4426			}
4427			pub mod suspended {
4428				use super::runtime_types;
4429				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4430				pub type Amount = ::core::primitive::u128;
4431			}
4432			impl ::subxt::ext::subxt_core::events::StaticEvent for Suspended {
4433				const PALLET: &'static str = "Balances";
4434				const EVENT: &'static str = "Suspended";
4435			}
4436			#[derive(
4437				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4438				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4439				Debug,
4440			)]
4441			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4442			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4443			#[doc = "Some amount was restored into an account."]
4444			pub struct Restored {
4445				pub who: restored::Who,
4446				pub amount: restored::Amount,
4447			}
4448			pub mod restored {
4449				use super::runtime_types;
4450				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4451				pub type Amount = ::core::primitive::u128;
4452			}
4453			impl ::subxt::ext::subxt_core::events::StaticEvent for Restored {
4454				const PALLET: &'static str = "Balances";
4455				const EVENT: &'static str = "Restored";
4456			}
4457			#[derive(
4458				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4459				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4460				Debug,
4461			)]
4462			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4463			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4464			#[doc = "An account was upgraded."]
4465			pub struct Upgraded {
4466				pub who: upgraded::Who,
4467			}
4468			pub mod upgraded {
4469				use super::runtime_types;
4470				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4471			}
4472			impl ::subxt::ext::subxt_core::events::StaticEvent for Upgraded {
4473				const PALLET: &'static str = "Balances";
4474				const EVENT: &'static str = "Upgraded";
4475			}
4476			#[derive(
4477				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4478				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4479				Debug,
4480			)]
4481			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4482			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4483			#[doc = "Total issuance was increased by `amount`, creating a credit to be balanced."]
4484			pub struct Issued {
4485				pub amount: issued::Amount,
4486			}
4487			pub mod issued {
4488				use super::runtime_types;
4489				pub type Amount = ::core::primitive::u128;
4490			}
4491			impl ::subxt::ext::subxt_core::events::StaticEvent for Issued {
4492				const PALLET: &'static str = "Balances";
4493				const EVENT: &'static str = "Issued";
4494			}
4495			#[derive(
4496				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4497				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4498				Debug,
4499			)]
4500			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4501			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4502			#[doc = "Total issuance was decreased by `amount`, creating a debt to be balanced."]
4503			pub struct Rescinded {
4504				pub amount: rescinded::Amount,
4505			}
4506			pub mod rescinded {
4507				use super::runtime_types;
4508				pub type Amount = ::core::primitive::u128;
4509			}
4510			impl ::subxt::ext::subxt_core::events::StaticEvent for Rescinded {
4511				const PALLET: &'static str = "Balances";
4512				const EVENT: &'static str = "Rescinded";
4513			}
4514			#[derive(
4515				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4516				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4517				Debug,
4518			)]
4519			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4520			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4521			#[doc = "Some balance was locked."]
4522			pub struct Locked {
4523				pub who: locked::Who,
4524				pub amount: locked::Amount,
4525			}
4526			pub mod locked {
4527				use super::runtime_types;
4528				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4529				pub type Amount = ::core::primitive::u128;
4530			}
4531			impl ::subxt::ext::subxt_core::events::StaticEvent for Locked {
4532				const PALLET: &'static str = "Balances";
4533				const EVENT: &'static str = "Locked";
4534			}
4535			#[derive(
4536				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4537				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4538				Debug,
4539			)]
4540			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4541			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4542			#[doc = "Some balance was unlocked."]
4543			pub struct Unlocked {
4544				pub who: unlocked::Who,
4545				pub amount: unlocked::Amount,
4546			}
4547			pub mod unlocked {
4548				use super::runtime_types;
4549				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4550				pub type Amount = ::core::primitive::u128;
4551			}
4552			impl ::subxt::ext::subxt_core::events::StaticEvent for Unlocked {
4553				const PALLET: &'static str = "Balances";
4554				const EVENT: &'static str = "Unlocked";
4555			}
4556			#[derive(
4557				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4558				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4559				Debug,
4560			)]
4561			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4562			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4563			#[doc = "Some balance was frozen."]
4564			pub struct Frozen {
4565				pub who: frozen::Who,
4566				pub amount: frozen::Amount,
4567			}
4568			pub mod frozen {
4569				use super::runtime_types;
4570				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4571				pub type Amount = ::core::primitive::u128;
4572			}
4573			impl ::subxt::ext::subxt_core::events::StaticEvent for Frozen {
4574				const PALLET: &'static str = "Balances";
4575				const EVENT: &'static str = "Frozen";
4576			}
4577			#[derive(
4578				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4579				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4580				Debug,
4581			)]
4582			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4583			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4584			#[doc = "Some balance was thawed."]
4585			pub struct Thawed {
4586				pub who: thawed::Who,
4587				pub amount: thawed::Amount,
4588			}
4589			pub mod thawed {
4590				use super::runtime_types;
4591				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4592				pub type Amount = ::core::primitive::u128;
4593			}
4594			impl ::subxt::ext::subxt_core::events::StaticEvent for Thawed {
4595				const PALLET: &'static str = "Balances";
4596				const EVENT: &'static str = "Thawed";
4597			}
4598			#[derive(
4599				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4600				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4601				Debug,
4602			)]
4603			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4604			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4605			#[doc = "The `TotalIssuance` was forcefully changed."]
4606			pub struct TotalIssuanceForced {
4607				pub old: total_issuance_forced::Old,
4608				pub new: total_issuance_forced::New,
4609			}
4610			pub mod total_issuance_forced {
4611				use super::runtime_types;
4612				pub type Old = ::core::primitive::u128;
4613				pub type New = ::core::primitive::u128;
4614			}
4615			impl ::subxt::ext::subxt_core::events::StaticEvent for TotalIssuanceForced {
4616				const PALLET: &'static str = "Balances";
4617				const EVENT: &'static str = "TotalIssuanceForced";
4618			}
4619		}
4620		pub mod storage {
4621			use super::runtime_types;
4622			pub mod types {
4623				use super::runtime_types;
4624				pub mod total_issuance {
4625					use super::runtime_types;
4626					pub type TotalIssuance = ::core::primitive::u128;
4627				}
4628				pub mod inactive_issuance {
4629					use super::runtime_types;
4630					pub type InactiveIssuance = ::core::primitive::u128;
4631				}
4632				pub mod account {
4633					use super::runtime_types;
4634					pub type Account =
4635						runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>;
4636					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
4637				}
4638				pub mod locks {
4639					use super::runtime_types;
4640					pub type Locks =
4641						runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
4642							runtime_types::pallet_balances::types::BalanceLock<
4643								::core::primitive::u128,
4644							>,
4645						>;
4646					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
4647				}
4648				pub mod reserves {
4649					use super::runtime_types;
4650					pub type Reserves = runtime_types::bounded_collections::bounded_vec::BoundedVec<
4651						runtime_types::pallet_balances::types::ReserveData<
4652							[::core::primitive::u8; 8usize],
4653							::core::primitive::u128,
4654						>,
4655					>;
4656					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
4657				}
4658				pub mod holds {
4659					use super::runtime_types;
4660					pub type Holds = runtime_types::bounded_collections::bounded_vec::BoundedVec<
4661						runtime_types::frame_support::traits::tokens::misc::IdAmount<
4662							runtime_types::quantus_runtime::RuntimeHoldReason,
4663							::core::primitive::u128,
4664						>,
4665					>;
4666					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
4667				}
4668				pub mod freezes {
4669					use super::runtime_types;
4670					pub type Freezes = runtime_types::bounded_collections::bounded_vec::BoundedVec<
4671						runtime_types::frame_support::traits::tokens::misc::IdAmount<
4672							runtime_types::quantus_runtime::RuntimeFreezeReason,
4673							::core::primitive::u128,
4674						>,
4675					>;
4676					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
4677				}
4678				pub mod transfer_proof {
4679					use super::runtime_types;
4680					pub type TransferProof = ();
4681					pub type Param0 = (
4682						::core::primitive::u64,
4683						::subxt::ext::subxt_core::utils::AccountId32,
4684						::subxt::ext::subxt_core::utils::AccountId32,
4685						::core::primitive::u128,
4686					);
4687				}
4688				pub mod transfer_count {
4689					use super::runtime_types;
4690					pub type TransferCount = ::core::primitive::u64;
4691				}
4692			}
4693			pub struct StorageApi;
4694			impl StorageApi {
4695				#[doc = " The total units issued in the system."]
4696				pub fn total_issuance(
4697					&self,
4698				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4699					(),
4700					types::total_issuance::TotalIssuance,
4701					::subxt::ext::subxt_core::utils::Yes,
4702					::subxt::ext::subxt_core::utils::Yes,
4703					(),
4704				> {
4705					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4706						"Balances",
4707						"TotalIssuance",
4708						(),
4709						[
4710							116u8, 70u8, 119u8, 194u8, 69u8, 37u8, 116u8, 206u8, 171u8, 70u8,
4711							171u8, 210u8, 226u8, 111u8, 184u8, 204u8, 206u8, 11u8, 68u8, 72u8,
4712							255u8, 19u8, 194u8, 11u8, 27u8, 194u8, 81u8, 204u8, 59u8, 224u8, 202u8,
4713							185u8,
4714						],
4715					)
4716				}
4717				#[doc = " The total units of outstanding deactivated balance in the system."]
4718				pub fn inactive_issuance(
4719					&self,
4720				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4721					(),
4722					types::inactive_issuance::InactiveIssuance,
4723					::subxt::ext::subxt_core::utils::Yes,
4724					::subxt::ext::subxt_core::utils::Yes,
4725					(),
4726				> {
4727					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4728						"Balances",
4729						"InactiveIssuance",
4730						(),
4731						[
4732							212u8, 185u8, 19u8, 50u8, 250u8, 72u8, 173u8, 50u8, 4u8, 104u8, 161u8,
4733							249u8, 77u8, 247u8, 204u8, 248u8, 11u8, 18u8, 57u8, 4u8, 82u8, 110u8,
4734							30u8, 216u8, 16u8, 37u8, 87u8, 67u8, 189u8, 235u8, 214u8, 155u8,
4735						],
4736					)
4737				}
4738				#[doc = " The Balances pallet example of storing the balance of an account."]
4739				#[doc = ""]
4740				#[doc = " # Example"]
4741				#[doc = ""]
4742				#[doc = " ```nocompile"]
4743				#[doc = "  impl pallet_balances::Config for Runtime {"]
4744				#[doc = "    type AccountStore = StorageMapShim<Self::Account<Runtime>, frame_system::Provider<Runtime>, AccountId, Self::AccountData<Balance>>"]
4745				#[doc = "  }"]
4746				#[doc = " ```"]
4747				#[doc = ""]
4748				#[doc = " You can also store the balance of an account in the `System` pallet."]
4749				#[doc = ""]
4750				#[doc = " # Example"]
4751				#[doc = ""]
4752				#[doc = " ```nocompile"]
4753				#[doc = "  impl pallet_balances::Config for Runtime {"]
4754				#[doc = "   type AccountStore = System"]
4755				#[doc = "  }"]
4756				#[doc = " ```"]
4757				#[doc = ""]
4758				#[doc = " But this comes with tradeoffs, storing account balances in the system pallet stores"]
4759				#[doc = " `frame_system` data alongside the account data contrary to storing account balances in the"]
4760				#[doc = " `Balances` pallet, which uses a `StorageMap` to store balances data only."]
4761				#[doc = " NOTE: This is only used in the case that this pallet is used to store balances."]
4762				pub fn account_iter(
4763					&self,
4764				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4765					(),
4766					types::account::Account,
4767					(),
4768					::subxt::ext::subxt_core::utils::Yes,
4769					::subxt::ext::subxt_core::utils::Yes,
4770				> {
4771					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4772						"Balances",
4773						"Account",
4774						(),
4775						[
4776							213u8, 38u8, 200u8, 69u8, 218u8, 0u8, 112u8, 181u8, 160u8, 23u8, 96u8,
4777							90u8, 3u8, 88u8, 126u8, 22u8, 103u8, 74u8, 64u8, 69u8, 29u8, 247u8,
4778							18u8, 17u8, 234u8, 143u8, 189u8, 22u8, 247u8, 194u8, 154u8, 249u8,
4779						],
4780					)
4781				}
4782				#[doc = " The Balances pallet example of storing the balance of an account."]
4783				#[doc = ""]
4784				#[doc = " # Example"]
4785				#[doc = ""]
4786				#[doc = " ```nocompile"]
4787				#[doc = "  impl pallet_balances::Config for Runtime {"]
4788				#[doc = "    type AccountStore = StorageMapShim<Self::Account<Runtime>, frame_system::Provider<Runtime>, AccountId, Self::AccountData<Balance>>"]
4789				#[doc = "  }"]
4790				#[doc = " ```"]
4791				#[doc = ""]
4792				#[doc = " You can also store the balance of an account in the `System` pallet."]
4793				#[doc = ""]
4794				#[doc = " # Example"]
4795				#[doc = ""]
4796				#[doc = " ```nocompile"]
4797				#[doc = "  impl pallet_balances::Config for Runtime {"]
4798				#[doc = "   type AccountStore = System"]
4799				#[doc = "  }"]
4800				#[doc = " ```"]
4801				#[doc = ""]
4802				#[doc = " But this comes with tradeoffs, storing account balances in the system pallet stores"]
4803				#[doc = " `frame_system` data alongside the account data contrary to storing account balances in the"]
4804				#[doc = " `Balances` pallet, which uses a `StorageMap` to store balances data only."]
4805				#[doc = " NOTE: This is only used in the case that this pallet is used to store balances."]
4806				pub fn account(
4807					&self,
4808					_0: types::account::Param0,
4809				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4810					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
4811						types::account::Param0,
4812					>,
4813					types::account::Account,
4814					::subxt::ext::subxt_core::utils::Yes,
4815					::subxt::ext::subxt_core::utils::Yes,
4816					(),
4817				> {
4818					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4819						"Balances",
4820						"Account",
4821						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
4822						[
4823							213u8, 38u8, 200u8, 69u8, 218u8, 0u8, 112u8, 181u8, 160u8, 23u8, 96u8,
4824							90u8, 3u8, 88u8, 126u8, 22u8, 103u8, 74u8, 64u8, 69u8, 29u8, 247u8,
4825							18u8, 17u8, 234u8, 143u8, 189u8, 22u8, 247u8, 194u8, 154u8, 249u8,
4826						],
4827					)
4828				}
4829				#[doc = " Any liquidity locks on some account balances."]
4830				#[doc = " NOTE: Should only be accessed when setting, changing and freeing a lock."]
4831				#[doc = ""]
4832				#[doc = " Use of locks is deprecated in favour of freezes. See `https://github.com/paritytech/substrate/pull/12951/`"]
4833				pub fn locks_iter(
4834					&self,
4835				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4836					(),
4837					types::locks::Locks,
4838					(),
4839					::subxt::ext::subxt_core::utils::Yes,
4840					::subxt::ext::subxt_core::utils::Yes,
4841				> {
4842					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4843						"Balances",
4844						"Locks",
4845						(),
4846						[
4847							10u8, 223u8, 55u8, 0u8, 249u8, 69u8, 168u8, 41u8, 75u8, 35u8, 120u8,
4848							167u8, 18u8, 132u8, 9u8, 20u8, 91u8, 51u8, 27u8, 69u8, 136u8, 187u8,
4849							13u8, 220u8, 163u8, 122u8, 26u8, 141u8, 174u8, 249u8, 85u8, 37u8,
4850						],
4851					)
4852				}
4853				#[doc = " Any liquidity locks on some account balances."]
4854				#[doc = " NOTE: Should only be accessed when setting, changing and freeing a lock."]
4855				#[doc = ""]
4856				#[doc = " Use of locks is deprecated in favour of freezes. See `https://github.com/paritytech/substrate/pull/12951/`"]
4857				pub fn locks(
4858					&self,
4859					_0: types::locks::Param0,
4860				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4861					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
4862						types::locks::Param0,
4863					>,
4864					types::locks::Locks,
4865					::subxt::ext::subxt_core::utils::Yes,
4866					::subxt::ext::subxt_core::utils::Yes,
4867					(),
4868				> {
4869					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4870						"Balances",
4871						"Locks",
4872						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
4873						[
4874							10u8, 223u8, 55u8, 0u8, 249u8, 69u8, 168u8, 41u8, 75u8, 35u8, 120u8,
4875							167u8, 18u8, 132u8, 9u8, 20u8, 91u8, 51u8, 27u8, 69u8, 136u8, 187u8,
4876							13u8, 220u8, 163u8, 122u8, 26u8, 141u8, 174u8, 249u8, 85u8, 37u8,
4877						],
4878					)
4879				}
4880				#[doc = " Named reserves on some account balances."]
4881				#[doc = ""]
4882				#[doc = " Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/`"]
4883				pub fn reserves_iter(
4884					&self,
4885				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4886					(),
4887					types::reserves::Reserves,
4888					(),
4889					::subxt::ext::subxt_core::utils::Yes,
4890					::subxt::ext::subxt_core::utils::Yes,
4891				> {
4892					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4893						"Balances",
4894						"Reserves",
4895						(),
4896						[
4897							112u8, 10u8, 241u8, 77u8, 64u8, 187u8, 106u8, 159u8, 13u8, 153u8,
4898							140u8, 178u8, 182u8, 50u8, 1u8, 55u8, 149u8, 92u8, 196u8, 229u8, 170u8,
4899							106u8, 193u8, 88u8, 255u8, 244u8, 2u8, 193u8, 62u8, 235u8, 204u8, 91u8,
4900						],
4901					)
4902				}
4903				#[doc = " Named reserves on some account balances."]
4904				#[doc = ""]
4905				#[doc = " Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/`"]
4906				pub fn reserves(
4907					&self,
4908					_0: types::reserves::Param0,
4909				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4910					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
4911						types::reserves::Param0,
4912					>,
4913					types::reserves::Reserves,
4914					::subxt::ext::subxt_core::utils::Yes,
4915					::subxt::ext::subxt_core::utils::Yes,
4916					(),
4917				> {
4918					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4919						"Balances",
4920						"Reserves",
4921						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
4922						[
4923							112u8, 10u8, 241u8, 77u8, 64u8, 187u8, 106u8, 159u8, 13u8, 153u8,
4924							140u8, 178u8, 182u8, 50u8, 1u8, 55u8, 149u8, 92u8, 196u8, 229u8, 170u8,
4925							106u8, 193u8, 88u8, 255u8, 244u8, 2u8, 193u8, 62u8, 235u8, 204u8, 91u8,
4926						],
4927					)
4928				}
4929				#[doc = " Holds on account balances."]
4930				pub fn holds_iter(
4931					&self,
4932				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4933					(),
4934					types::holds::Holds,
4935					(),
4936					::subxt::ext::subxt_core::utils::Yes,
4937					::subxt::ext::subxt_core::utils::Yes,
4938				> {
4939					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4940						"Balances",
4941						"Holds",
4942						(),
4943						[
4944							108u8, 118u8, 163u8, 86u8, 4u8, 174u8, 42u8, 210u8, 139u8, 171u8, 15u8,
4945							242u8, 10u8, 4u8, 255u8, 205u8, 247u8, 61u8, 236u8, 127u8, 54u8, 175u8,
4946							182u8, 131u8, 84u8, 129u8, 78u8, 242u8, 92u8, 143u8, 219u8, 35u8,
4947						],
4948					)
4949				}
4950				#[doc = " Holds on account balances."]
4951				pub fn holds(
4952					&self,
4953					_0: types::holds::Param0,
4954				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4955					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
4956						types::holds::Param0,
4957					>,
4958					types::holds::Holds,
4959					::subxt::ext::subxt_core::utils::Yes,
4960					::subxt::ext::subxt_core::utils::Yes,
4961					(),
4962				> {
4963					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4964						"Balances",
4965						"Holds",
4966						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
4967						[
4968							108u8, 118u8, 163u8, 86u8, 4u8, 174u8, 42u8, 210u8, 139u8, 171u8, 15u8,
4969							242u8, 10u8, 4u8, 255u8, 205u8, 247u8, 61u8, 236u8, 127u8, 54u8, 175u8,
4970							182u8, 131u8, 84u8, 129u8, 78u8, 242u8, 92u8, 143u8, 219u8, 35u8,
4971						],
4972					)
4973				}
4974				#[doc = " Freeze locks on account balances."]
4975				pub fn freezes_iter(
4976					&self,
4977				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4978					(),
4979					types::freezes::Freezes,
4980					(),
4981					::subxt::ext::subxt_core::utils::Yes,
4982					::subxt::ext::subxt_core::utils::Yes,
4983				> {
4984					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4985						"Balances",
4986						"Freezes",
4987						(),
4988						[
4989							170u8, 69u8, 116u8, 92u8, 165u8, 14u8, 129u8, 179u8, 165u8, 6u8, 123u8,
4990							156u8, 4u8, 30u8, 25u8, 181u8, 191u8, 29u8, 3u8, 92u8, 96u8, 167u8,
4991							102u8, 38u8, 128u8, 140u8, 85u8, 248u8, 114u8, 127u8, 128u8, 40u8,
4992						],
4993					)
4994				}
4995				#[doc = " Freeze locks on account balances."]
4996				pub fn freezes(
4997					&self,
4998					_0: types::freezes::Param0,
4999				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5000					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
5001						types::freezes::Param0,
5002					>,
5003					types::freezes::Freezes,
5004					::subxt::ext::subxt_core::utils::Yes,
5005					::subxt::ext::subxt_core::utils::Yes,
5006					(),
5007				> {
5008					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5009						"Balances",
5010						"Freezes",
5011						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
5012						[
5013							170u8, 69u8, 116u8, 92u8, 165u8, 14u8, 129u8, 179u8, 165u8, 6u8, 123u8,
5014							156u8, 4u8, 30u8, 25u8, 181u8, 191u8, 29u8, 3u8, 92u8, 96u8, 167u8,
5015							102u8, 38u8, 128u8, 140u8, 85u8, 248u8, 114u8, 127u8, 128u8, 40u8,
5016						],
5017					)
5018				}
5019				#[doc = " Transfer proofs for a wormhole transfers"]
5020				pub fn transfer_proof_iter(
5021					&self,
5022				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5023					(),
5024					types::transfer_proof::TransferProof,
5025					(),
5026					(),
5027					::subxt::ext::subxt_core::utils::Yes,
5028				> {
5029					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5030						"Balances",
5031						"TransferProof",
5032						(),
5033						[
5034							210u8, 54u8, 36u8, 79u8, 12u8, 123u8, 227u8, 172u8, 23u8, 232u8, 200u8,
5035							138u8, 130u8, 99u8, 12u8, 186u8, 77u8, 74u8, 208u8, 111u8, 137u8,
5036							159u8, 169u8, 112u8, 227u8, 111u8, 65u8, 127u8, 232u8, 57u8, 166u8,
5037							14u8,
5038						],
5039					)
5040				}
5041				#[doc = " Transfer proofs for a wormhole transfers"]
5042				pub fn transfer_proof(
5043					&self,
5044					_0: types::transfer_proof::Param0,
5045				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5046					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
5047						types::transfer_proof::Param0,
5048					>,
5049					types::transfer_proof::TransferProof,
5050					::subxt::ext::subxt_core::utils::Yes,
5051					(),
5052					(),
5053				> {
5054					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5055						"Balances",
5056						"TransferProof",
5057						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
5058						[
5059							210u8, 54u8, 36u8, 79u8, 12u8, 123u8, 227u8, 172u8, 23u8, 232u8, 200u8,
5060							138u8, 130u8, 99u8, 12u8, 186u8, 77u8, 74u8, 208u8, 111u8, 137u8,
5061							159u8, 169u8, 112u8, 227u8, 111u8, 65u8, 127u8, 232u8, 57u8, 166u8,
5062							14u8,
5063						],
5064					)
5065				}
5066				pub fn transfer_count(
5067					&self,
5068				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5069					(),
5070					types::transfer_count::TransferCount,
5071					::subxt::ext::subxt_core::utils::Yes,
5072					::subxt::ext::subxt_core::utils::Yes,
5073					(),
5074				> {
5075					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5076						"Balances",
5077						"TransferCount",
5078						(),
5079						[
5080							105u8, 10u8, 160u8, 118u8, 193u8, 131u8, 207u8, 188u8, 78u8, 238u8,
5081							252u8, 99u8, 31u8, 72u8, 159u8, 128u8, 159u8, 215u8, 110u8, 101u8,
5082							27u8, 132u8, 12u8, 59u8, 182u8, 107u8, 98u8, 77u8, 189u8, 100u8, 51u8,
5083							209u8,
5084						],
5085					)
5086				}
5087			}
5088		}
5089		pub mod constants {
5090			use super::runtime_types;
5091			pub struct ConstantsApi;
5092			impl ConstantsApi {
5093				#[doc = " The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!"]
5094				#[doc = ""]
5095				#[doc = " If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for"]
5096				#[doc = " this pallet. However, you do so at your own risk: this will open up a major DoS vector."]
5097				#[doc = " In case you have multiple sources of provider references, you may also get unexpected"]
5098				#[doc = " behaviour if you set this to zero."]
5099				#[doc = ""]
5100				#[doc = " Bottom line: Do yourself a favour and make it at least one!"]
5101				pub fn existential_deposit(
5102					&self,
5103				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5104					::core::primitive::u128,
5105				> {
5106					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5107						"Balances",
5108						"ExistentialDeposit",
5109						[
5110							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
5111							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
5112							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
5113						],
5114					)
5115				}
5116				#[doc = " The maximum number of locks that should exist on an account."]
5117				#[doc = " Not strictly enforced, but used for weight estimation."]
5118				#[doc = ""]
5119				#[doc = " Use of locks is deprecated in favour of freezes. See `https://github.com/paritytech/substrate/pull/12951/`"]
5120				pub fn max_locks(
5121					&self,
5122				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5123					::core::primitive::u32,
5124				> {
5125					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5126						"Balances",
5127						"MaxLocks",
5128						[
5129							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
5130							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
5131							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
5132							145u8,
5133						],
5134					)
5135				}
5136				#[doc = " The maximum number of named reserves that can exist on an account."]
5137				#[doc = ""]
5138				#[doc = " Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/`"]
5139				pub fn max_reserves(
5140					&self,
5141				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5142					::core::primitive::u32,
5143				> {
5144					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5145						"Balances",
5146						"MaxReserves",
5147						[
5148							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
5149							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
5150							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
5151							145u8,
5152						],
5153					)
5154				}
5155				#[doc = " The maximum number of individual freeze locks that can exist on an account at any time."]
5156				pub fn max_freezes(
5157					&self,
5158				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5159					::core::primitive::u32,
5160				> {
5161					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5162						"Balances",
5163						"MaxFreezes",
5164						[
5165							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
5166							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
5167							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
5168							145u8,
5169						],
5170					)
5171				}
5172			}
5173		}
5174	}
5175	pub mod transaction_payment {
5176		use super::{root_mod, runtime_types};
5177		#[doc = "The `Event` enum of this pallet"]
5178		pub type Event = runtime_types::pallet_transaction_payment::pallet::Event;
5179		pub mod events {
5180			use super::runtime_types;
5181			#[derive(
5182				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5183				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5184				Debug,
5185			)]
5186			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5187			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5188			#[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"]
5189			#[doc = "has been paid by `who`."]
5190			pub struct TransactionFeePaid {
5191				pub who: transaction_fee_paid::Who,
5192				pub actual_fee: transaction_fee_paid::ActualFee,
5193				pub tip: transaction_fee_paid::Tip,
5194			}
5195			pub mod transaction_fee_paid {
5196				use super::runtime_types;
5197				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
5198				pub type ActualFee = ::core::primitive::u128;
5199				pub type Tip = ::core::primitive::u128;
5200			}
5201			impl ::subxt::ext::subxt_core::events::StaticEvent for TransactionFeePaid {
5202				const PALLET: &'static str = "TransactionPayment";
5203				const EVENT: &'static str = "TransactionFeePaid";
5204			}
5205		}
5206		pub mod storage {
5207			use super::runtime_types;
5208			pub mod types {
5209				use super::runtime_types;
5210				pub mod next_fee_multiplier {
5211					use super::runtime_types;
5212					pub type NextFeeMultiplier =
5213						runtime_types::sp_arithmetic::fixed_point::FixedU128;
5214				}
5215				pub mod storage_version {
5216					use super::runtime_types;
5217					pub type StorageVersion = runtime_types::pallet_transaction_payment::Releases;
5218				}
5219			}
5220			pub struct StorageApi;
5221			impl StorageApi {
5222				pub fn next_fee_multiplier(
5223					&self,
5224				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5225					(),
5226					types::next_fee_multiplier::NextFeeMultiplier,
5227					::subxt::ext::subxt_core::utils::Yes,
5228					::subxt::ext::subxt_core::utils::Yes,
5229					(),
5230				> {
5231					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5232						"TransactionPayment",
5233						"NextFeeMultiplier",
5234						(),
5235						[
5236							247u8, 39u8, 81u8, 170u8, 225u8, 226u8, 82u8, 147u8, 34u8, 113u8,
5237							147u8, 213u8, 59u8, 80u8, 139u8, 35u8, 36u8, 196u8, 152u8, 19u8, 9u8,
5238							159u8, 176u8, 79u8, 249u8, 201u8, 170u8, 1u8, 129u8, 79u8, 146u8,
5239							197u8,
5240						],
5241					)
5242				}
5243				pub fn storage_version(
5244					&self,
5245				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5246					(),
5247					types::storage_version::StorageVersion,
5248					::subxt::ext::subxt_core::utils::Yes,
5249					::subxt::ext::subxt_core::utils::Yes,
5250					(),
5251				> {
5252					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5253						"TransactionPayment",
5254						"StorageVersion",
5255						(),
5256						[
5257							105u8, 243u8, 158u8, 241u8, 159u8, 231u8, 253u8, 6u8, 4u8, 32u8, 85u8,
5258							178u8, 126u8, 31u8, 203u8, 134u8, 154u8, 38u8, 122u8, 155u8, 150u8,
5259							251u8, 174u8, 15u8, 74u8, 134u8, 216u8, 244u8, 168u8, 175u8, 158u8,
5260							144u8,
5261						],
5262					)
5263				}
5264			}
5265		}
5266		pub mod constants {
5267			use super::runtime_types;
5268			pub struct ConstantsApi;
5269			impl ConstantsApi {
5270				#[doc = " A fee multiplier for `Operational` extrinsics to compute \"virtual tip\" to boost their"]
5271				#[doc = " `priority`"]
5272				#[doc = ""]
5273				#[doc = " This value is multiplied by the `final_fee` to obtain a \"virtual tip\" that is later"]
5274				#[doc = " added to a tip component in regular `priority` calculations."]
5275				#[doc = " It means that a `Normal` transaction can front-run a similarly-sized `Operational`"]
5276				#[doc = " extrinsic (with no tip), by including a tip value greater than the virtual tip."]
5277				#[doc = ""]
5278				#[doc = " ```rust,ignore"]
5279				#[doc = " // For `Normal`"]
5280				#[doc = " let priority = priority_calc(tip);"]
5281				#[doc = ""]
5282				#[doc = " // For `Operational`"]
5283				#[doc = " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;"]
5284				#[doc = " let priority = priority_calc(tip + virtual_tip);"]
5285				#[doc = " ```"]
5286				#[doc = ""]
5287				#[doc = " Note that since we use `final_fee` the multiplier applies also to the regular `tip`"]
5288				#[doc = " sent with the transaction. So, not only does the transaction get a priority bump based"]
5289				#[doc = " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`"]
5290				#[doc = " transactions."]
5291				pub fn operational_fee_multiplier(
5292					&self,
5293				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5294					::core::primitive::u8,
5295				> {
5296					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5297						"TransactionPayment",
5298						"OperationalFeeMultiplier",
5299						[
5300							141u8, 130u8, 11u8, 35u8, 226u8, 114u8, 92u8, 179u8, 168u8, 110u8,
5301							28u8, 91u8, 221u8, 64u8, 4u8, 148u8, 201u8, 193u8, 185u8, 66u8, 226u8,
5302							114u8, 97u8, 79u8, 62u8, 212u8, 202u8, 114u8, 237u8, 228u8, 183u8,
5303							165u8,
5304						],
5305					)
5306				}
5307			}
5308		}
5309	}
5310	pub mod sudo {
5311		use super::{root_mod, runtime_types};
5312		#[doc = "Error for the Sudo pallet."]
5313		pub type Error = runtime_types::pallet_sudo::pallet::Error;
5314		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
5315		pub type Call = runtime_types::pallet_sudo::pallet::Call;
5316		pub mod calls {
5317			use super::{root_mod, runtime_types};
5318			type DispatchError = runtime_types::sp_runtime::DispatchError;
5319			pub mod types {
5320				use super::runtime_types;
5321				#[derive(
5322					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5323					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5324					Debug,
5325				)]
5326				#[decode_as_type(
5327					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
5328				)]
5329				#[encode_as_type(
5330					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
5331				)]
5332				#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
5333				pub struct Sudo {
5334					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<sudo::Call>,
5335				}
5336				pub mod sudo {
5337					use super::runtime_types;
5338					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
5339				}
5340				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Sudo {
5341					const PALLET: &'static str = "Sudo";
5342					const CALL: &'static str = "sudo";
5343				}
5344				#[derive(
5345					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5346					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5347					Debug,
5348				)]
5349				#[decode_as_type(
5350					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
5351				)]
5352				#[encode_as_type(
5353					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
5354				)]
5355				#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
5356				#[doc = "This function does not check the weight of the call, and instead allows the"]
5357				#[doc = "Sudo user to specify the weight of the call."]
5358				#[doc = ""]
5359				#[doc = "The dispatch origin for this call must be _Signed_."]
5360				pub struct SudoUncheckedWeight {
5361					pub call:
5362						::subxt::ext::subxt_core::alloc::boxed::Box<sudo_unchecked_weight::Call>,
5363					pub weight: sudo_unchecked_weight::Weight,
5364				}
5365				pub mod sudo_unchecked_weight {
5366					use super::runtime_types;
5367					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
5368					pub type Weight = runtime_types::sp_weights::weight_v2::Weight;
5369				}
5370				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SudoUncheckedWeight {
5371					const PALLET: &'static str = "Sudo";
5372					const CALL: &'static str = "sudo_unchecked_weight";
5373				}
5374				#[derive(
5375					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5376					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5377					Debug,
5378				)]
5379				#[decode_as_type(
5380					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
5381				)]
5382				#[encode_as_type(
5383					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
5384				)]
5385				#[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"]
5386				#[doc = "key."]
5387				pub struct SetKey {
5388					pub new: set_key::New,
5389				}
5390				pub mod set_key {
5391					use super::runtime_types;
5392					pub type New = ::subxt::ext::subxt_core::utils::MultiAddress<
5393						::subxt::ext::subxt_core::utils::AccountId32,
5394						(),
5395					>;
5396				}
5397				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetKey {
5398					const PALLET: &'static str = "Sudo";
5399					const CALL: &'static str = "set_key";
5400				}
5401				#[derive(
5402					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5403					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5404					Debug,
5405				)]
5406				#[decode_as_type(
5407					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
5408				)]
5409				#[encode_as_type(
5410					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
5411				)]
5412				#[doc = "Authenticates the sudo key and dispatches a function call with `Signed` origin from"]
5413				#[doc = "a given account."]
5414				#[doc = ""]
5415				#[doc = "The dispatch origin for this call must be _Signed_."]
5416				pub struct SudoAs {
5417					pub who: sudo_as::Who,
5418					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<sudo_as::Call>,
5419				}
5420				pub mod sudo_as {
5421					use super::runtime_types;
5422					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
5423						::subxt::ext::subxt_core::utils::AccountId32,
5424						(),
5425					>;
5426					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
5427				}
5428				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SudoAs {
5429					const PALLET: &'static str = "Sudo";
5430					const CALL: &'static str = "sudo_as";
5431				}
5432				#[derive(
5433					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5434					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5435					Debug,
5436				)]
5437				#[decode_as_type(
5438					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
5439				)]
5440				#[encode_as_type(
5441					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
5442				)]
5443				#[doc = "Permanently removes the sudo key."]
5444				#[doc = ""]
5445				#[doc = "**This cannot be un-done.**"]
5446				pub struct RemoveKey;
5447				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveKey {
5448					const PALLET: &'static str = "Sudo";
5449					const CALL: &'static str = "remove_key";
5450				}
5451			}
5452			pub struct TransactionApi;
5453			impl TransactionApi {
5454				#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
5455				pub fn sudo(
5456					&self,
5457					call: types::sudo::Call,
5458				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Sudo> {
5459					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
5460						"Sudo",
5461						"sudo",
5462						types::Sudo {
5463							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
5464						},
5465						[
5466							35u8, 97u8, 151u8, 80u8, 160u8, 5u8, 249u8, 161u8, 124u8, 31u8, 46u8,
5467							45u8, 205u8, 88u8, 85u8, 115u8, 98u8, 172u8, 229u8, 119u8, 45u8, 74u8,
5468							176u8, 35u8, 216u8, 58u8, 23u8, 103u8, 209u8, 201u8, 15u8, 61u8,
5469						],
5470					)
5471				}
5472				#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
5473				#[doc = "This function does not check the weight of the call, and instead allows the"]
5474				#[doc = "Sudo user to specify the weight of the call."]
5475				#[doc = ""]
5476				#[doc = "The dispatch origin for this call must be _Signed_."]
5477				pub fn sudo_unchecked_weight(
5478					&self,
5479					call: types::sudo_unchecked_weight::Call,
5480					weight: types::sudo_unchecked_weight::Weight,
5481				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SudoUncheckedWeight>
5482				{
5483					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
5484						"Sudo",
5485						"sudo_unchecked_weight",
5486						types::SudoUncheckedWeight {
5487							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
5488							weight,
5489						},
5490						[
5491							129u8, 254u8, 188u8, 113u8, 132u8, 176u8, 63u8, 138u8, 200u8, 84u8,
5492							62u8, 198u8, 140u8, 161u8, 52u8, 222u8, 184u8, 140u8, 204u8, 144u8,
5493							247u8, 118u8, 46u8, 126u8, 211u8, 117u8, 140u8, 227u8, 105u8, 74u8,
5494							162u8, 225u8,
5495						],
5496					)
5497				}
5498				#[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"]
5499				#[doc = "key."]
5500				pub fn set_key(
5501					&self,
5502					new: types::set_key::New,
5503				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetKey> {
5504					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
5505						"Sudo",
5506						"set_key",
5507						types::SetKey { new },
5508						[
5509							9u8, 73u8, 39u8, 205u8, 188u8, 127u8, 143u8, 54u8, 128u8, 94u8, 8u8,
5510							227u8, 197u8, 44u8, 70u8, 93u8, 228u8, 196u8, 64u8, 165u8, 226u8,
5511							158u8, 101u8, 192u8, 22u8, 193u8, 102u8, 84u8, 21u8, 35u8, 92u8, 198u8,
5512						],
5513					)
5514				}
5515				#[doc = "Authenticates the sudo key and dispatches a function call with `Signed` origin from"]
5516				#[doc = "a given account."]
5517				#[doc = ""]
5518				#[doc = "The dispatch origin for this call must be _Signed_."]
5519				pub fn sudo_as(
5520					&self,
5521					who: types::sudo_as::Who,
5522					call: types::sudo_as::Call,
5523				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SudoAs> {
5524					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
5525						"Sudo",
5526						"sudo_as",
5527						types::SudoAs {
5528							who,
5529							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
5530						},
5531						[
5532							174u8, 114u8, 45u8, 150u8, 219u8, 165u8, 118u8, 166u8, 250u8, 85u8,
5533							15u8, 165u8, 148u8, 17u8, 160u8, 123u8, 198u8, 241u8, 78u8, 198u8,
5534							206u8, 131u8, 9u8, 107u8, 172u8, 188u8, 83u8, 6u8, 234u8, 14u8, 211u8,
5535							76u8,
5536						],
5537					)
5538				}
5539				#[doc = "Permanently removes the sudo key."]
5540				#[doc = ""]
5541				#[doc = "**This cannot be un-done.**"]
5542				pub fn remove_key(
5543					&self,
5544				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveKey> {
5545					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
5546						"Sudo",
5547						"remove_key",
5548						types::RemoveKey {},
5549						[
5550							133u8, 253u8, 54u8, 175u8, 202u8, 239u8, 5u8, 198u8, 180u8, 138u8,
5551							25u8, 28u8, 109u8, 40u8, 30u8, 56u8, 126u8, 100u8, 52u8, 205u8, 250u8,
5552							191u8, 61u8, 195u8, 172u8, 142u8, 184u8, 239u8, 247u8, 10u8, 211u8,
5553							79u8,
5554						],
5555					)
5556				}
5557			}
5558		}
5559		#[doc = "The `Event` enum of this pallet"]
5560		pub type Event = runtime_types::pallet_sudo::pallet::Event;
5561		pub mod events {
5562			use super::runtime_types;
5563			#[derive(
5564				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5565				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5566				Debug,
5567			)]
5568			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5569			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5570			#[doc = "A sudo call just took place."]
5571			pub struct Sudid {
5572				pub sudo_result: sudid::SudoResult,
5573			}
5574			pub mod sudid {
5575				use super::runtime_types;
5576				pub type SudoResult =
5577					::core::result::Result<(), runtime_types::sp_runtime::DispatchError>;
5578			}
5579			impl ::subxt::ext::subxt_core::events::StaticEvent for Sudid {
5580				const PALLET: &'static str = "Sudo";
5581				const EVENT: &'static str = "Sudid";
5582			}
5583			#[derive(
5584				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5585				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5586				Debug,
5587			)]
5588			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5589			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5590			#[doc = "The sudo key has been updated."]
5591			pub struct KeyChanged {
5592				pub old: key_changed::Old,
5593				pub new: key_changed::New,
5594			}
5595			pub mod key_changed {
5596				use super::runtime_types;
5597				pub type Old = ::core::option::Option<::subxt::ext::subxt_core::utils::AccountId32>;
5598				pub type New = ::subxt::ext::subxt_core::utils::AccountId32;
5599			}
5600			impl ::subxt::ext::subxt_core::events::StaticEvent for KeyChanged {
5601				const PALLET: &'static str = "Sudo";
5602				const EVENT: &'static str = "KeyChanged";
5603			}
5604			#[derive(
5605				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5606				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5607				Debug,
5608			)]
5609			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5610			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5611			#[doc = "The key was permanently removed."]
5612			pub struct KeyRemoved;
5613			impl ::subxt::ext::subxt_core::events::StaticEvent for KeyRemoved {
5614				const PALLET: &'static str = "Sudo";
5615				const EVENT: &'static str = "KeyRemoved";
5616			}
5617			#[derive(
5618				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5619				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5620				Debug,
5621			)]
5622			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5623			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5624			#[doc = "A [sudo_as](Pallet::sudo_as) call just took place."]
5625			pub struct SudoAsDone {
5626				pub sudo_result: sudo_as_done::SudoResult,
5627			}
5628			pub mod sudo_as_done {
5629				use super::runtime_types;
5630				pub type SudoResult =
5631					::core::result::Result<(), runtime_types::sp_runtime::DispatchError>;
5632			}
5633			impl ::subxt::ext::subxt_core::events::StaticEvent for SudoAsDone {
5634				const PALLET: &'static str = "Sudo";
5635				const EVENT: &'static str = "SudoAsDone";
5636			}
5637		}
5638		pub mod storage {
5639			use super::runtime_types;
5640			pub mod types {
5641				use super::runtime_types;
5642				pub mod key {
5643					use super::runtime_types;
5644					pub type Key = ::subxt::ext::subxt_core::utils::AccountId32;
5645				}
5646			}
5647			pub struct StorageApi;
5648			impl StorageApi {
5649				#[doc = " The `AccountId` of the sudo key."]
5650				pub fn key(
5651					&self,
5652				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5653					(),
5654					types::key::Key,
5655					::subxt::ext::subxt_core::utils::Yes,
5656					(),
5657					(),
5658				> {
5659					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5660						"Sudo",
5661						"Key",
5662						(),
5663						[
5664							72u8, 14u8, 225u8, 162u8, 205u8, 247u8, 227u8, 105u8, 116u8, 57u8, 4u8,
5665							31u8, 84u8, 137u8, 227u8, 228u8, 133u8, 245u8, 206u8, 227u8, 117u8,
5666							36u8, 252u8, 151u8, 107u8, 15u8, 180u8, 4u8, 4u8, 152u8, 195u8, 144u8,
5667						],
5668					)
5669				}
5670			}
5671		}
5672	}
5673	pub mod q_po_w {
5674		use super::{root_mod, runtime_types};
5675		#[doc = "The `Event` enum of this pallet"]
5676		pub type Event = runtime_types::pallet_qpow::pallet::Event;
5677		pub mod events {
5678			use super::runtime_types;
5679			#[derive(
5680				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5681				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5682				Debug,
5683			)]
5684			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5685			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5686			pub struct ProofSubmitted {
5687				pub nonce: proof_submitted::Nonce,
5688				pub difficulty: proof_submitted::Difficulty,
5689				pub hash_achieved: proof_submitted::HashAchieved,
5690			}
5691			pub mod proof_submitted {
5692				use super::runtime_types;
5693				pub type Nonce = [::core::primitive::u8; 64usize];
5694				pub type Difficulty = runtime_types::primitive_types::U512;
5695				pub type HashAchieved = runtime_types::primitive_types::U512;
5696			}
5697			impl ::subxt::ext::subxt_core::events::StaticEvent for ProofSubmitted {
5698				const PALLET: &'static str = "QPoW";
5699				const EVENT: &'static str = "ProofSubmitted";
5700			}
5701			#[derive(
5702				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5703				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5704				Debug,
5705			)]
5706			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5707			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5708			pub struct DifficultyAdjusted {
5709				pub old_difficulty: difficulty_adjusted::OldDifficulty,
5710				pub new_difficulty: difficulty_adjusted::NewDifficulty,
5711				pub observed_block_time: difficulty_adjusted::ObservedBlockTime,
5712			}
5713			pub mod difficulty_adjusted {
5714				use super::runtime_types;
5715				pub type OldDifficulty = runtime_types::primitive_types::U512;
5716				pub type NewDifficulty = runtime_types::primitive_types::U512;
5717				pub type ObservedBlockTime = ::core::primitive::u64;
5718			}
5719			impl ::subxt::ext::subxt_core::events::StaticEvent for DifficultyAdjusted {
5720				const PALLET: &'static str = "QPoW";
5721				const EVENT: &'static str = "DifficultyAdjusted";
5722			}
5723		}
5724		pub mod storage {
5725			use super::runtime_types;
5726			pub mod types {
5727				use super::runtime_types;
5728				pub mod last_block_time {
5729					use super::runtime_types;
5730					pub type LastBlockTime = ::core::primitive::u64;
5731				}
5732				pub mod last_block_duration {
5733					use super::runtime_types;
5734					pub type LastBlockDuration = ::core::primitive::u64;
5735				}
5736				pub mod current_difficulty {
5737					use super::runtime_types;
5738					pub type CurrentDifficulty = runtime_types::primitive_types::U512;
5739				}
5740				pub mod total_work {
5741					use super::runtime_types;
5742					pub type TotalWork = runtime_types::primitive_types::U512;
5743				}
5744				pub mod block_time_ema {
5745					use super::runtime_types;
5746					pub type BlockTimeEma = ::core::primitive::u64;
5747				}
5748			}
5749			pub struct StorageApi;
5750			impl StorageApi {
5751				pub fn last_block_time(
5752					&self,
5753				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5754					(),
5755					types::last_block_time::LastBlockTime,
5756					::subxt::ext::subxt_core::utils::Yes,
5757					::subxt::ext::subxt_core::utils::Yes,
5758					(),
5759				> {
5760					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5761						"QPoW",
5762						"LastBlockTime",
5763						(),
5764						[
5765							239u8, 229u8, 252u8, 169u8, 178u8, 1u8, 146u8, 236u8, 50u8, 59u8,
5766							221u8, 169u8, 107u8, 168u8, 203u8, 103u8, 252u8, 189u8, 52u8, 64u8,
5767							235u8, 110u8, 164u8, 100u8, 85u8, 66u8, 202u8, 71u8, 189u8, 18u8, 4u8,
5768							217u8,
5769						],
5770					)
5771				}
5772				pub fn last_block_duration(
5773					&self,
5774				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5775					(),
5776					types::last_block_duration::LastBlockDuration,
5777					::subxt::ext::subxt_core::utils::Yes,
5778					::subxt::ext::subxt_core::utils::Yes,
5779					(),
5780				> {
5781					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5782						"QPoW",
5783						"LastBlockDuration",
5784						(),
5785						[
5786							44u8, 139u8, 180u8, 95u8, 43u8, 58u8, 255u8, 71u8, 201u8, 240u8, 61u8,
5787							131u8, 214u8, 202u8, 118u8, 157u8, 21u8, 52u8, 154u8, 123u8, 253u8,
5788							160u8, 68u8, 100u8, 91u8, 196u8, 168u8, 14u8, 84u8, 60u8, 160u8, 229u8,
5789						],
5790					)
5791				}
5792				pub fn current_difficulty(
5793					&self,
5794				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5795					(),
5796					types::current_difficulty::CurrentDifficulty,
5797					::subxt::ext::subxt_core::utils::Yes,
5798					::subxt::ext::subxt_core::utils::Yes,
5799					(),
5800				> {
5801					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5802						"QPoW",
5803						"CurrentDifficulty",
5804						(),
5805						[
5806							130u8, 252u8, 118u8, 64u8, 64u8, 105u8, 70u8, 33u8, 78u8, 161u8, 9u8,
5807							26u8, 68u8, 38u8, 223u8, 64u8, 19u8, 4u8, 249u8, 112u8, 193u8, 122u8,
5808							16u8, 149u8, 46u8, 50u8, 227u8, 225u8, 5u8, 47u8, 227u8, 169u8,
5809						],
5810					)
5811				}
5812				pub fn total_work(
5813					&self,
5814				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5815					(),
5816					types::total_work::TotalWork,
5817					::subxt::ext::subxt_core::utils::Yes,
5818					::subxt::ext::subxt_core::utils::Yes,
5819					(),
5820				> {
5821					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5822						"QPoW",
5823						"TotalWork",
5824						(),
5825						[
5826							184u8, 29u8, 54u8, 146u8, 220u8, 155u8, 103u8, 67u8, 21u8, 188u8, 53u8,
5827							160u8, 171u8, 107u8, 52u8, 211u8, 251u8, 52u8, 192u8, 227u8, 150u8,
5828							156u8, 172u8, 1u8, 233u8, 37u8, 49u8, 13u8, 213u8, 104u8, 10u8, 134u8,
5829						],
5830					)
5831				}
5832				pub fn block_time_ema(
5833					&self,
5834				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5835					(),
5836					types::block_time_ema::BlockTimeEma,
5837					::subxt::ext::subxt_core::utils::Yes,
5838					::subxt::ext::subxt_core::utils::Yes,
5839					(),
5840				> {
5841					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5842						"QPoW",
5843						"BlockTimeEma",
5844						(),
5845						[
5846							43u8, 90u8, 42u8, 54u8, 219u8, 225u8, 181u8, 63u8, 6u8, 66u8, 120u8,
5847							166u8, 146u8, 52u8, 10u8, 83u8, 54u8, 4u8, 163u8, 40u8, 46u8, 174u8,
5848							210u8, 217u8, 140u8, 56u8, 194u8, 245u8, 40u8, 164u8, 225u8, 206u8,
5849						],
5850					)
5851				}
5852			}
5853		}
5854		pub mod constants {
5855			use super::runtime_types;
5856			pub struct ConstantsApi;
5857			impl ConstantsApi {
5858				#[doc = " Pallet's weight info"]
5859				pub fn initial_difficulty(
5860					&self,
5861				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5862					runtime_types::primitive_types::U512,
5863				> {
5864					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5865						"QPoW",
5866						"InitialDifficulty",
5867						[
5868							20u8, 85u8, 224u8, 179u8, 96u8, 72u8, 114u8, 236u8, 59u8, 214u8, 15u8,
5869							55u8, 76u8, 43u8, 109u8, 39u8, 42u8, 74u8, 194u8, 175u8, 2u8, 22u8,
5870							208u8, 96u8, 61u8, 112u8, 226u8, 124u8, 66u8, 243u8, 48u8, 212u8,
5871						],
5872					)
5873				}
5874				pub fn difficulty_adjust_percent_clamp(
5875					&self,
5876				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5877					runtime_types::sp_arithmetic::fixed_point::FixedU128,
5878				> {
5879					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5880						"QPoW",
5881						"DifficultyAdjustPercentClamp",
5882						[
5883							62u8, 145u8, 102u8, 227u8, 159u8, 92u8, 27u8, 54u8, 159u8, 228u8,
5884							193u8, 99u8, 75u8, 196u8, 26u8, 250u8, 229u8, 230u8, 88u8, 109u8,
5885							246u8, 100u8, 152u8, 158u8, 14u8, 25u8, 224u8, 173u8, 224u8, 41u8,
5886							105u8, 231u8,
5887						],
5888					)
5889				}
5890				pub fn target_block_time(
5891					&self,
5892				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5893					::core::primitive::u64,
5894				> {
5895					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5896						"QPoW",
5897						"TargetBlockTime",
5898						[
5899							128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8,
5900							59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8,
5901							103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8,
5902							246u8,
5903						],
5904					)
5905				}
5906				#[doc = " EMA smoothing factor (0-1000, where 1000 = 1.0)"]
5907				pub fn ema_alpha(
5908					&self,
5909				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5910					::core::primitive::u32,
5911				> {
5912					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5913						"QPoW",
5914						"EmaAlpha",
5915						[
5916							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
5917							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
5918							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
5919							145u8,
5920						],
5921					)
5922				}
5923				pub fn max_reorg_depth(
5924					&self,
5925				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5926					::core::primitive::u32,
5927				> {
5928					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5929						"QPoW",
5930						"MaxReorgDepth",
5931						[
5932							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
5933							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
5934							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
5935							145u8,
5936						],
5937					)
5938				}
5939				#[doc = " Fixed point scale for calculations (default: 10^18)"]
5940				pub fn fixed_u128_scale(
5941					&self,
5942				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5943					::core::primitive::u128,
5944				> {
5945					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5946						"QPoW",
5947						"FixedU128Scale",
5948						[
5949							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
5950							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
5951							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
5952						],
5953					)
5954				}
5955			}
5956		}
5957	}
5958	pub mod mining_rewards {
5959		use super::{root_mod, runtime_types};
5960		#[doc = "The `Event` enum of this pallet"]
5961		pub type Event = runtime_types::pallet_mining_rewards::pallet::Event;
5962		pub mod events {
5963			use super::runtime_types;
5964			#[derive(
5965				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5966				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5967				Debug,
5968			)]
5969			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5970			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5971			#[doc = "A miner has been identified for a block"]
5972			pub struct MinerRewarded {
5973				pub miner: miner_rewarded::Miner,
5974				pub reward: miner_rewarded::Reward,
5975			}
5976			pub mod miner_rewarded {
5977				use super::runtime_types;
5978				pub type Miner = ::subxt::ext::subxt_core::utils::AccountId32;
5979				pub type Reward = ::core::primitive::u128;
5980			}
5981			impl ::subxt::ext::subxt_core::events::StaticEvent for MinerRewarded {
5982				const PALLET: &'static str = "MiningRewards";
5983				const EVENT: &'static str = "MinerRewarded";
5984			}
5985			#[derive(
5986				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5987				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5988				Debug,
5989			)]
5990			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5991			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5992			#[doc = "Transaction fees were collected for later distribution"]
5993			pub struct FeesCollected {
5994				pub amount: fees_collected::Amount,
5995				pub total: fees_collected::Total,
5996			}
5997			pub mod fees_collected {
5998				use super::runtime_types;
5999				pub type Amount = ::core::primitive::u128;
6000				pub type Total = ::core::primitive::u128;
6001			}
6002			impl ::subxt::ext::subxt_core::events::StaticEvent for FeesCollected {
6003				const PALLET: &'static str = "MiningRewards";
6004				const EVENT: &'static str = "FeesCollected";
6005			}
6006			#[derive(
6007				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6008				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6009				Debug,
6010			)]
6011			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
6012			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
6013			#[doc = "Rewards were sent to Treasury when no miner was specified"]
6014			pub struct TreasuryRewarded {
6015				pub reward: treasury_rewarded::Reward,
6016			}
6017			pub mod treasury_rewarded {
6018				use super::runtime_types;
6019				pub type Reward = ::core::primitive::u128;
6020			}
6021			impl ::subxt::ext::subxt_core::events::StaticEvent for TreasuryRewarded {
6022				const PALLET: &'static str = "MiningRewards";
6023				const EVENT: &'static str = "TreasuryRewarded";
6024			}
6025		}
6026		pub mod storage {
6027			use super::runtime_types;
6028			pub mod types {
6029				use super::runtime_types;
6030				pub mod collected_fees {
6031					use super::runtime_types;
6032					pub type CollectedFees = ::core::primitive::u128;
6033				}
6034			}
6035			pub struct StorageApi;
6036			impl StorageApi {
6037				pub fn collected_fees(
6038					&self,
6039				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6040					(),
6041					types::collected_fees::CollectedFees,
6042					::subxt::ext::subxt_core::utils::Yes,
6043					::subxt::ext::subxt_core::utils::Yes,
6044					(),
6045				> {
6046					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6047						"MiningRewards",
6048						"CollectedFees",
6049						(),
6050						[
6051							136u8, 52u8, 218u8, 204u8, 2u8, 250u8, 34u8, 8u8, 16u8, 23u8, 171u8,
6052							3u8, 253u8, 35u8, 59u8, 7u8, 167u8, 227u8, 86u8, 15u8, 155u8, 14u8,
6053							139u8, 44u8, 208u8, 108u8, 85u8, 131u8, 170u8, 37u8, 211u8, 211u8,
6054						],
6055					)
6056				}
6057			}
6058		}
6059		pub mod constants {
6060			use super::runtime_types;
6061			pub struct ConstantsApi;
6062			impl ConstantsApi {
6063				#[doc = " The base block reward given to miners"]
6064				pub fn miner_block_reward(
6065					&self,
6066				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6067					::core::primitive::u128,
6068				> {
6069					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6070						"MiningRewards",
6071						"MinerBlockReward",
6072						[
6073							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
6074							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
6075							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
6076						],
6077					)
6078				}
6079				#[doc = " The base block reward given to treasury"]
6080				pub fn treasury_block_reward(
6081					&self,
6082				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6083					::core::primitive::u128,
6084				> {
6085					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6086						"MiningRewards",
6087						"TreasuryBlockReward",
6088						[
6089							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
6090							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
6091							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
6092						],
6093					)
6094				}
6095				#[doc = " The treasury pallet ID"]
6096				pub fn treasury_pallet_id(
6097					&self,
6098				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6099					runtime_types::frame_support::PalletId,
6100				> {
6101					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6102						"MiningRewards",
6103						"TreasuryPalletId",
6104						[
6105							56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8,
6106							161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8,
6107							129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8,
6108						],
6109					)
6110				}
6111				#[doc = " Account ID used as the \"from\" account when creating transfer proofs for minted tokens"]
6112				pub fn minting_account(
6113					&self,
6114				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6115					::subxt::ext::subxt_core::utils::AccountId32,
6116				> {
6117					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6118						"MiningRewards",
6119						"MintingAccount",
6120						[
6121							115u8, 233u8, 13u8, 223u8, 88u8, 20u8, 202u8, 139u8, 153u8, 28u8,
6122							155u8, 157u8, 224u8, 66u8, 3u8, 250u8, 23u8, 53u8, 88u8, 168u8, 211u8,
6123							204u8, 122u8, 166u8, 248u8, 23u8, 174u8, 225u8, 99u8, 108u8, 89u8,
6124							135u8,
6125						],
6126					)
6127				}
6128			}
6129		}
6130	}
6131	pub mod vesting {
6132		use super::{root_mod, runtime_types};
6133		#[doc = "Error for the vesting pallet."]
6134		pub type Error = runtime_types::pallet_vesting::pallet::Error;
6135		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
6136		pub type Call = runtime_types::pallet_vesting::pallet::Call;
6137		pub mod calls {
6138			use super::{root_mod, runtime_types};
6139			type DispatchError = runtime_types::sp_runtime::DispatchError;
6140			pub mod types {
6141				use super::runtime_types;
6142				#[derive(
6143					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6144					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6145					Debug,
6146				)]
6147				#[decode_as_type(
6148					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6149				)]
6150				#[encode_as_type(
6151					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6152				)]
6153				#[doc = "Unlock any vested funds of the sender account."]
6154				#[doc = ""]
6155				#[doc = "The dispatch origin for this call must be _Signed_ and the sender must have funds still"]
6156				#[doc = "locked under this pallet."]
6157				#[doc = ""]
6158				#[doc = "Emits either `VestingCompleted` or `VestingUpdated`."]
6159				#[doc = ""]
6160				#[doc = "## Complexity"]
6161				#[doc = "- `O(1)`."]
6162				pub struct Vest;
6163				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Vest {
6164					const PALLET: &'static str = "Vesting";
6165					const CALL: &'static str = "vest";
6166				}
6167				#[derive(
6168					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6169					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6170					Debug,
6171				)]
6172				#[decode_as_type(
6173					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6174				)]
6175				#[encode_as_type(
6176					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6177				)]
6178				#[doc = "Unlock any vested funds of a `target` account."]
6179				#[doc = ""]
6180				#[doc = "The dispatch origin for this call must be _Signed_."]
6181				#[doc = ""]
6182				#[doc = "- `target`: The account whose vested funds should be unlocked. Must have funds still"]
6183				#[doc = "locked under this pallet."]
6184				#[doc = ""]
6185				#[doc = "Emits either `VestingCompleted` or `VestingUpdated`."]
6186				#[doc = ""]
6187				#[doc = "## Complexity"]
6188				#[doc = "- `O(1)`."]
6189				pub struct VestOther {
6190					pub target: vest_other::Target,
6191				}
6192				pub mod vest_other {
6193					use super::runtime_types;
6194					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
6195						::subxt::ext::subxt_core::utils::AccountId32,
6196						(),
6197					>;
6198				}
6199				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for VestOther {
6200					const PALLET: &'static str = "Vesting";
6201					const CALL: &'static str = "vest_other";
6202				}
6203				#[derive(
6204					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6205					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6206					Debug,
6207				)]
6208				#[decode_as_type(
6209					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6210				)]
6211				#[encode_as_type(
6212					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6213				)]
6214				#[doc = "Create a vested transfer."]
6215				#[doc = ""]
6216				#[doc = "The dispatch origin for this call must be _Signed_."]
6217				#[doc = ""]
6218				#[doc = "- `target`: The account receiving the vested funds."]
6219				#[doc = "- `schedule`: The vesting schedule attached to the transfer."]
6220				#[doc = ""]
6221				#[doc = "Emits `VestingCreated`."]
6222				#[doc = ""]
6223				#[doc = "NOTE: This will unlock all schedules through the current block."]
6224				#[doc = ""]
6225				#[doc = "## Complexity"]
6226				#[doc = "- `O(1)`."]
6227				pub struct VestedTransfer {
6228					pub target: vested_transfer::Target,
6229					pub schedule: vested_transfer::Schedule,
6230				}
6231				pub mod vested_transfer {
6232					use super::runtime_types;
6233					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
6234						::subxt::ext::subxt_core::utils::AccountId32,
6235						(),
6236					>;
6237					pub type Schedule = runtime_types::pallet_vesting::vesting_info::VestingInfo<
6238						::core::primitive::u128,
6239						::core::primitive::u32,
6240					>;
6241				}
6242				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for VestedTransfer {
6243					const PALLET: &'static str = "Vesting";
6244					const CALL: &'static str = "vested_transfer";
6245				}
6246				#[derive(
6247					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6248					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6249					Debug,
6250				)]
6251				#[decode_as_type(
6252					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6253				)]
6254				#[encode_as_type(
6255					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6256				)]
6257				#[doc = "Force a vested transfer."]
6258				#[doc = ""]
6259				#[doc = "The dispatch origin for this call must be _Root_."]
6260				#[doc = ""]
6261				#[doc = "- `source`: The account whose funds should be transferred."]
6262				#[doc = "- `target`: The account that should be transferred the vested funds."]
6263				#[doc = "- `schedule`: The vesting schedule attached to the transfer."]
6264				#[doc = ""]
6265				#[doc = "Emits `VestingCreated`."]
6266				#[doc = ""]
6267				#[doc = "NOTE: This will unlock all schedules through the current block."]
6268				#[doc = ""]
6269				#[doc = "## Complexity"]
6270				#[doc = "- `O(1)`."]
6271				pub struct ForceVestedTransfer {
6272					pub source: force_vested_transfer::Source,
6273					pub target: force_vested_transfer::Target,
6274					pub schedule: force_vested_transfer::Schedule,
6275				}
6276				pub mod force_vested_transfer {
6277					use super::runtime_types;
6278					pub type Source = ::subxt::ext::subxt_core::utils::MultiAddress<
6279						::subxt::ext::subxt_core::utils::AccountId32,
6280						(),
6281					>;
6282					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
6283						::subxt::ext::subxt_core::utils::AccountId32,
6284						(),
6285					>;
6286					pub type Schedule = runtime_types::pallet_vesting::vesting_info::VestingInfo<
6287						::core::primitive::u128,
6288						::core::primitive::u32,
6289					>;
6290				}
6291				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceVestedTransfer {
6292					const PALLET: &'static str = "Vesting";
6293					const CALL: &'static str = "force_vested_transfer";
6294				}
6295				#[derive(
6296					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6297					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6298					Debug,
6299				)]
6300				#[decode_as_type(
6301					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6302				)]
6303				#[encode_as_type(
6304					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6305				)]
6306				#[doc = "Merge two vesting schedules together, creating a new vesting schedule that unlocks over"]
6307				#[doc = "the highest possible start and end blocks. If both schedules have already started the"]
6308				#[doc = "current block will be used as the schedule start; with the caveat that if one schedule"]
6309				#[doc = "is finished by the current block, the other will be treated as the new merged schedule,"]
6310				#[doc = "unmodified."]
6311				#[doc = ""]
6312				#[doc = "NOTE: If `schedule1_index == schedule2_index` this is a no-op."]
6313				#[doc = "NOTE: This will unlock all schedules through the current block prior to merging."]
6314				#[doc = "NOTE: If both schedules have ended by the current block, no new schedule will be created"]
6315				#[doc = "and both will be removed."]
6316				#[doc = ""]
6317				#[doc = "Merged schedule attributes:"]
6318				#[doc = "- `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block,"]
6319				#[doc = "  current_block)`."]
6320				#[doc = "- `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`."]
6321				#[doc = "- `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`."]
6322				#[doc = ""]
6323				#[doc = "The dispatch origin for this call must be _Signed_."]
6324				#[doc = ""]
6325				#[doc = "- `schedule1_index`: index of the first schedule to merge."]
6326				#[doc = "- `schedule2_index`: index of the second schedule to merge."]
6327				pub struct MergeSchedules {
6328					pub schedule1_index: merge_schedules::Schedule1Index,
6329					pub schedule2_index: merge_schedules::Schedule2Index,
6330				}
6331				pub mod merge_schedules {
6332					use super::runtime_types;
6333					pub type Schedule1Index = ::core::primitive::u32;
6334					pub type Schedule2Index = ::core::primitive::u32;
6335				}
6336				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for MergeSchedules {
6337					const PALLET: &'static str = "Vesting";
6338					const CALL: &'static str = "merge_schedules";
6339				}
6340				#[derive(
6341					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6342					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6343					Debug,
6344				)]
6345				#[decode_as_type(
6346					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6347				)]
6348				#[encode_as_type(
6349					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6350				)]
6351				#[doc = "Force remove a vesting schedule"]
6352				#[doc = ""]
6353				#[doc = "The dispatch origin for this call must be _Root_."]
6354				#[doc = ""]
6355				#[doc = "- `target`: An account that has a vesting schedule"]
6356				#[doc = "- `schedule_index`: The vesting schedule index that should be removed"]
6357				pub struct ForceRemoveVestingSchedule {
6358					pub target: force_remove_vesting_schedule::Target,
6359					pub schedule_index: force_remove_vesting_schedule::ScheduleIndex,
6360				}
6361				pub mod force_remove_vesting_schedule {
6362					use super::runtime_types;
6363					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
6364						::subxt::ext::subxt_core::utils::AccountId32,
6365						(),
6366					>;
6367					pub type ScheduleIndex = ::core::primitive::u32;
6368				}
6369				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceRemoveVestingSchedule {
6370					const PALLET: &'static str = "Vesting";
6371					const CALL: &'static str = "force_remove_vesting_schedule";
6372				}
6373			}
6374			pub struct TransactionApi;
6375			impl TransactionApi {
6376				#[doc = "Unlock any vested funds of the sender account."]
6377				#[doc = ""]
6378				#[doc = "The dispatch origin for this call must be _Signed_ and the sender must have funds still"]
6379				#[doc = "locked under this pallet."]
6380				#[doc = ""]
6381				#[doc = "Emits either `VestingCompleted` or `VestingUpdated`."]
6382				#[doc = ""]
6383				#[doc = "## Complexity"]
6384				#[doc = "- `O(1)`."]
6385				pub fn vest(
6386					&self,
6387				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Vest> {
6388					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6389						"Vesting",
6390						"vest",
6391						types::Vest {},
6392						[
6393							149u8, 89u8, 178u8, 148u8, 127u8, 127u8, 155u8, 60u8, 114u8, 126u8,
6394							204u8, 123u8, 166u8, 70u8, 104u8, 208u8, 186u8, 69u8, 139u8, 181u8,
6395							151u8, 154u8, 235u8, 161u8, 191u8, 35u8, 111u8, 60u8, 21u8, 165u8,
6396							44u8, 122u8,
6397						],
6398					)
6399				}
6400				#[doc = "Unlock any vested funds of a `target` account."]
6401				#[doc = ""]
6402				#[doc = "The dispatch origin for this call must be _Signed_."]
6403				#[doc = ""]
6404				#[doc = "- `target`: The account whose vested funds should be unlocked. Must have funds still"]
6405				#[doc = "locked under this pallet."]
6406				#[doc = ""]
6407				#[doc = "Emits either `VestingCompleted` or `VestingUpdated`."]
6408				#[doc = ""]
6409				#[doc = "## Complexity"]
6410				#[doc = "- `O(1)`."]
6411				pub fn vest_other(
6412					&self,
6413					target: types::vest_other::Target,
6414				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::VestOther> {
6415					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6416						"Vesting",
6417						"vest_other",
6418						types::VestOther { target },
6419						[
6420							238u8, 92u8, 25u8, 149u8, 27u8, 211u8, 196u8, 31u8, 211u8, 28u8, 241u8,
6421							30u8, 128u8, 35u8, 0u8, 227u8, 202u8, 215u8, 186u8, 69u8, 216u8, 110u8,
6422							199u8, 120u8, 134u8, 141u8, 176u8, 224u8, 234u8, 42u8, 152u8, 128u8,
6423						],
6424					)
6425				}
6426				#[doc = "Create a vested transfer."]
6427				#[doc = ""]
6428				#[doc = "The dispatch origin for this call must be _Signed_."]
6429				#[doc = ""]
6430				#[doc = "- `target`: The account receiving the vested funds."]
6431				#[doc = "- `schedule`: The vesting schedule attached to the transfer."]
6432				#[doc = ""]
6433				#[doc = "Emits `VestingCreated`."]
6434				#[doc = ""]
6435				#[doc = "NOTE: This will unlock all schedules through the current block."]
6436				#[doc = ""]
6437				#[doc = "## Complexity"]
6438				#[doc = "- `O(1)`."]
6439				pub fn vested_transfer(
6440					&self,
6441					target: types::vested_transfer::Target,
6442					schedule: types::vested_transfer::Schedule,
6443				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::VestedTransfer>
6444				{
6445					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6446						"Vesting",
6447						"vested_transfer",
6448						types::VestedTransfer { target, schedule },
6449						[
6450							198u8, 133u8, 254u8, 5u8, 22u8, 170u8, 205u8, 79u8, 218u8, 30u8, 81u8,
6451							207u8, 227u8, 121u8, 132u8, 14u8, 217u8, 43u8, 66u8, 206u8, 15u8, 80u8,
6452							173u8, 208u8, 128u8, 72u8, 223u8, 175u8, 93u8, 69u8, 128u8, 88u8,
6453						],
6454					)
6455				}
6456				#[doc = "Force a vested transfer."]
6457				#[doc = ""]
6458				#[doc = "The dispatch origin for this call must be _Root_."]
6459				#[doc = ""]
6460				#[doc = "- `source`: The account whose funds should be transferred."]
6461				#[doc = "- `target`: The account that should be transferred the vested funds."]
6462				#[doc = "- `schedule`: The vesting schedule attached to the transfer."]
6463				#[doc = ""]
6464				#[doc = "Emits `VestingCreated`."]
6465				#[doc = ""]
6466				#[doc = "NOTE: This will unlock all schedules through the current block."]
6467				#[doc = ""]
6468				#[doc = "## Complexity"]
6469				#[doc = "- `O(1)`."]
6470				pub fn force_vested_transfer(
6471					&self,
6472					source: types::force_vested_transfer::Source,
6473					target: types::force_vested_transfer::Target,
6474					schedule: types::force_vested_transfer::Schedule,
6475				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceVestedTransfer>
6476				{
6477					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6478						"Vesting",
6479						"force_vested_transfer",
6480						types::ForceVestedTransfer { source, target, schedule },
6481						[
6482							112u8, 17u8, 176u8, 133u8, 169u8, 192u8, 155u8, 217u8, 153u8, 36u8,
6483							230u8, 45u8, 9u8, 192u8, 2u8, 201u8, 165u8, 60u8, 206u8, 226u8, 95u8,
6484							86u8, 239u8, 196u8, 109u8, 62u8, 224u8, 237u8, 88u8, 74u8, 209u8,
6485							251u8,
6486						],
6487					)
6488				}
6489				#[doc = "Merge two vesting schedules together, creating a new vesting schedule that unlocks over"]
6490				#[doc = "the highest possible start and end blocks. If both schedules have already started the"]
6491				#[doc = "current block will be used as the schedule start; with the caveat that if one schedule"]
6492				#[doc = "is finished by the current block, the other will be treated as the new merged schedule,"]
6493				#[doc = "unmodified."]
6494				#[doc = ""]
6495				#[doc = "NOTE: If `schedule1_index == schedule2_index` this is a no-op."]
6496				#[doc = "NOTE: This will unlock all schedules through the current block prior to merging."]
6497				#[doc = "NOTE: If both schedules have ended by the current block, no new schedule will be created"]
6498				#[doc = "and both will be removed."]
6499				#[doc = ""]
6500				#[doc = "Merged schedule attributes:"]
6501				#[doc = "- `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block,"]
6502				#[doc = "  current_block)`."]
6503				#[doc = "- `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`."]
6504				#[doc = "- `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`."]
6505				#[doc = ""]
6506				#[doc = "The dispatch origin for this call must be _Signed_."]
6507				#[doc = ""]
6508				#[doc = "- `schedule1_index`: index of the first schedule to merge."]
6509				#[doc = "- `schedule2_index`: index of the second schedule to merge."]
6510				pub fn merge_schedules(
6511					&self,
6512					schedule1_index: types::merge_schedules::Schedule1Index,
6513					schedule2_index: types::merge_schedules::Schedule2Index,
6514				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::MergeSchedules>
6515				{
6516					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6517						"Vesting",
6518						"merge_schedules",
6519						types::MergeSchedules { schedule1_index, schedule2_index },
6520						[
6521							45u8, 24u8, 13u8, 108u8, 26u8, 99u8, 61u8, 117u8, 195u8, 218u8, 182u8,
6522							23u8, 188u8, 157u8, 181u8, 81u8, 38u8, 136u8, 31u8, 226u8, 8u8, 190u8,
6523							33u8, 81u8, 86u8, 185u8, 156u8, 77u8, 157u8, 197u8, 41u8, 58u8,
6524						],
6525					)
6526				}
6527				#[doc = "Force remove a vesting schedule"]
6528				#[doc = ""]
6529				#[doc = "The dispatch origin for this call must be _Root_."]
6530				#[doc = ""]
6531				#[doc = "- `target`: An account that has a vesting schedule"]
6532				#[doc = "- `schedule_index`: The vesting schedule index that should be removed"]
6533				pub fn force_remove_vesting_schedule(
6534					&self,
6535					target: types::force_remove_vesting_schedule::Target,
6536					schedule_index: types::force_remove_vesting_schedule::ScheduleIndex,
6537				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
6538					types::ForceRemoveVestingSchedule,
6539				> {
6540					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6541						"Vesting",
6542						"force_remove_vesting_schedule",
6543						types::ForceRemoveVestingSchedule { target, schedule_index },
6544						[
6545							211u8, 253u8, 60u8, 15u8, 20u8, 53u8, 23u8, 13u8, 45u8, 223u8, 136u8,
6546							183u8, 162u8, 143u8, 196u8, 188u8, 35u8, 64u8, 174u8, 16u8, 47u8, 13u8,
6547							147u8, 173u8, 120u8, 143u8, 75u8, 89u8, 128u8, 187u8, 9u8, 18u8,
6548						],
6549					)
6550				}
6551			}
6552		}
6553		#[doc = "The `Event` enum of this pallet"]
6554		pub type Event = runtime_types::pallet_vesting::pallet::Event;
6555		pub mod events {
6556			use super::runtime_types;
6557			#[derive(
6558				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6559				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6560				Debug,
6561			)]
6562			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
6563			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
6564			#[doc = "A vesting schedule has been created."]
6565			pub struct VestingCreated {
6566				pub account: vesting_created::Account,
6567				pub schedule_index: vesting_created::ScheduleIndex,
6568			}
6569			pub mod vesting_created {
6570				use super::runtime_types;
6571				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
6572				pub type ScheduleIndex = ::core::primitive::u32;
6573			}
6574			impl ::subxt::ext::subxt_core::events::StaticEvent for VestingCreated {
6575				const PALLET: &'static str = "Vesting";
6576				const EVENT: &'static str = "VestingCreated";
6577			}
6578			#[derive(
6579				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6580				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6581				Debug,
6582			)]
6583			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
6584			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
6585			#[doc = "The amount vested has been updated. This could indicate a change in funds available."]
6586			#[doc = "The balance given is the amount which is left unvested (and thus locked)."]
6587			pub struct VestingUpdated {
6588				pub account: vesting_updated::Account,
6589				pub unvested: vesting_updated::Unvested,
6590			}
6591			pub mod vesting_updated {
6592				use super::runtime_types;
6593				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
6594				pub type Unvested = ::core::primitive::u128;
6595			}
6596			impl ::subxt::ext::subxt_core::events::StaticEvent for VestingUpdated {
6597				const PALLET: &'static str = "Vesting";
6598				const EVENT: &'static str = "VestingUpdated";
6599			}
6600			#[derive(
6601				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6602				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6603				Debug,
6604			)]
6605			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
6606			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
6607			#[doc = "An \\[account\\] has become fully vested."]
6608			pub struct VestingCompleted {
6609				pub account: vesting_completed::Account,
6610			}
6611			pub mod vesting_completed {
6612				use super::runtime_types;
6613				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
6614			}
6615			impl ::subxt::ext::subxt_core::events::StaticEvent for VestingCompleted {
6616				const PALLET: &'static str = "Vesting";
6617				const EVENT: &'static str = "VestingCompleted";
6618			}
6619		}
6620		pub mod storage {
6621			use super::runtime_types;
6622			pub mod types {
6623				use super::runtime_types;
6624				pub mod vesting {
6625					use super::runtime_types;
6626					pub type Vesting = runtime_types::bounded_collections::bounded_vec::BoundedVec<
6627						runtime_types::pallet_vesting::vesting_info::VestingInfo<
6628							::core::primitive::u128,
6629							::core::primitive::u32,
6630						>,
6631					>;
6632					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
6633				}
6634				pub mod storage_version {
6635					use super::runtime_types;
6636					pub type StorageVersion = runtime_types::pallet_vesting::Releases;
6637				}
6638			}
6639			pub struct StorageApi;
6640			impl StorageApi {
6641				#[doc = " Information regarding the vesting of a given account."]
6642				pub fn vesting_iter(
6643					&self,
6644				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6645					(),
6646					types::vesting::Vesting,
6647					(),
6648					(),
6649					::subxt::ext::subxt_core::utils::Yes,
6650				> {
6651					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6652						"Vesting",
6653						"Vesting",
6654						(),
6655						[
6656							95u8, 168u8, 217u8, 248u8, 149u8, 86u8, 195u8, 93u8, 73u8, 206u8,
6657							105u8, 165u8, 33u8, 173u8, 232u8, 81u8, 147u8, 254u8, 50u8, 228u8,
6658							156u8, 92u8, 242u8, 149u8, 42u8, 91u8, 58u8, 209u8, 142u8, 221u8,
6659							230u8, 112u8,
6660						],
6661					)
6662				}
6663				#[doc = " Information regarding the vesting of a given account."]
6664				pub fn vesting(
6665					&self,
6666					_0: types::vesting::Param0,
6667				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6668					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
6669						types::vesting::Param0,
6670					>,
6671					types::vesting::Vesting,
6672					::subxt::ext::subxt_core::utils::Yes,
6673					(),
6674					(),
6675				> {
6676					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6677						"Vesting",
6678						"Vesting",
6679						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
6680						[
6681							95u8, 168u8, 217u8, 248u8, 149u8, 86u8, 195u8, 93u8, 73u8, 206u8,
6682							105u8, 165u8, 33u8, 173u8, 232u8, 81u8, 147u8, 254u8, 50u8, 228u8,
6683							156u8, 92u8, 242u8, 149u8, 42u8, 91u8, 58u8, 209u8, 142u8, 221u8,
6684							230u8, 112u8,
6685						],
6686					)
6687				}
6688				#[doc = " Storage version of the pallet."]
6689				#[doc = ""]
6690				#[doc = " New networks start with latest version, as determined by the genesis build."]
6691				pub fn storage_version(
6692					&self,
6693				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6694					(),
6695					types::storage_version::StorageVersion,
6696					::subxt::ext::subxt_core::utils::Yes,
6697					::subxt::ext::subxt_core::utils::Yes,
6698					(),
6699				> {
6700					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6701						"Vesting",
6702						"StorageVersion",
6703						(),
6704						[
6705							230u8, 137u8, 180u8, 133u8, 142u8, 124u8, 231u8, 234u8, 223u8, 10u8,
6706							154u8, 98u8, 158u8, 253u8, 228u8, 80u8, 5u8, 9u8, 91u8, 210u8, 252u8,
6707							9u8, 13u8, 195u8, 193u8, 164u8, 129u8, 113u8, 128u8, 218u8, 8u8, 40u8,
6708						],
6709					)
6710				}
6711			}
6712		}
6713		pub mod constants {
6714			use super::runtime_types;
6715			pub struct ConstantsApi;
6716			impl ConstantsApi {
6717				#[doc = " The minimum amount transferred to call `vested_transfer`."]
6718				pub fn min_vested_transfer(
6719					&self,
6720				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6721					::core::primitive::u128,
6722				> {
6723					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6724						"Vesting",
6725						"MinVestedTransfer",
6726						[
6727							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
6728							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
6729							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
6730						],
6731					)
6732				}
6733				pub fn max_vesting_schedules(
6734					&self,
6735				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6736					::core::primitive::u32,
6737				> {
6738					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6739						"Vesting",
6740						"MaxVestingSchedules",
6741						[
6742							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
6743							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
6744							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
6745							145u8,
6746						],
6747					)
6748				}
6749			}
6750		}
6751	}
6752	pub mod preimage {
6753		use super::{root_mod, runtime_types};
6754		#[doc = "The `Error` enum of this pallet."]
6755		pub type Error = runtime_types::pallet_preimage::pallet::Error;
6756		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
6757		pub type Call = runtime_types::pallet_preimage::pallet::Call;
6758		pub mod calls {
6759			use super::{root_mod, runtime_types};
6760			type DispatchError = runtime_types::sp_runtime::DispatchError;
6761			pub mod types {
6762				use super::runtime_types;
6763				#[derive(
6764					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6765					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6766					Debug,
6767				)]
6768				#[decode_as_type(
6769					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6770				)]
6771				#[encode_as_type(
6772					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6773				)]
6774				#[doc = "Register a preimage on-chain."]
6775				#[doc = ""]
6776				#[doc = "If the preimage was previously requested, no fees or deposits are taken for providing"]
6777				#[doc = "the preimage. Otherwise, a deposit is taken proportional to the size of the preimage."]
6778				pub struct NotePreimage {
6779					pub bytes: note_preimage::Bytes,
6780				}
6781				pub mod note_preimage {
6782					use super::runtime_types;
6783					pub type Bytes =
6784						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
6785				}
6786				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for NotePreimage {
6787					const PALLET: &'static str = "Preimage";
6788					const CALL: &'static str = "note_preimage";
6789				}
6790				#[derive(
6791					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6792					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6793					Debug,
6794				)]
6795				#[decode_as_type(
6796					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6797				)]
6798				#[encode_as_type(
6799					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6800				)]
6801				#[doc = "Clear an unrequested preimage from the runtime storage."]
6802				#[doc = ""]
6803				#[doc = "If `len` is provided, then it will be a much cheaper operation."]
6804				#[doc = ""]
6805				#[doc = "- `hash`: The hash of the preimage to be removed from the store."]
6806				#[doc = "- `len`: The length of the preimage of `hash`."]
6807				pub struct UnnotePreimage {
6808					pub hash: unnote_preimage::Hash,
6809				}
6810				pub mod unnote_preimage {
6811					use super::runtime_types;
6812					pub type Hash = ::subxt::ext::subxt_core::utils::H256;
6813				}
6814				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for UnnotePreimage {
6815					const PALLET: &'static str = "Preimage";
6816					const CALL: &'static str = "unnote_preimage";
6817				}
6818				#[derive(
6819					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6820					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6821					Debug,
6822				)]
6823				#[decode_as_type(
6824					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6825				)]
6826				#[encode_as_type(
6827					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6828				)]
6829				#[doc = "Request a preimage be uploaded to the chain without paying any fees or deposits."]
6830				#[doc = ""]
6831				#[doc = "If the preimage requests has already been provided on-chain, we unreserve any deposit"]
6832				#[doc = "a user may have paid, and take the control of the preimage out of their hands."]
6833				pub struct RequestPreimage {
6834					pub hash: request_preimage::Hash,
6835				}
6836				pub mod request_preimage {
6837					use super::runtime_types;
6838					pub type Hash = ::subxt::ext::subxt_core::utils::H256;
6839				}
6840				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RequestPreimage {
6841					const PALLET: &'static str = "Preimage";
6842					const CALL: &'static str = "request_preimage";
6843				}
6844				#[derive(
6845					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6846					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6847					Debug,
6848				)]
6849				#[decode_as_type(
6850					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6851				)]
6852				#[encode_as_type(
6853					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6854				)]
6855				#[doc = "Clear a previously made request for a preimage."]
6856				#[doc = ""]
6857				#[doc = "NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`."]
6858				pub struct UnrequestPreimage {
6859					pub hash: unrequest_preimage::Hash,
6860				}
6861				pub mod unrequest_preimage {
6862					use super::runtime_types;
6863					pub type Hash = ::subxt::ext::subxt_core::utils::H256;
6864				}
6865				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for UnrequestPreimage {
6866					const PALLET: &'static str = "Preimage";
6867					const CALL: &'static str = "unrequest_preimage";
6868				}
6869				#[derive(
6870					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6871					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6872					Debug,
6873				)]
6874				#[decode_as_type(
6875					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6876				)]
6877				#[encode_as_type(
6878					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6879				)]
6880				#[doc = "Ensure that the bulk of pre-images is upgraded."]
6881				#[doc = ""]
6882				#[doc = "The caller pays no fee if at least 90% of pre-images were successfully updated."]
6883				pub struct EnsureUpdated {
6884					pub hashes: ensure_updated::Hashes,
6885				}
6886				pub mod ensure_updated {
6887					use super::runtime_types;
6888					pub type Hashes = ::subxt::ext::subxt_core::alloc::vec::Vec<
6889						::subxt::ext::subxt_core::utils::H256,
6890					>;
6891				}
6892				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for EnsureUpdated {
6893					const PALLET: &'static str = "Preimage";
6894					const CALL: &'static str = "ensure_updated";
6895				}
6896			}
6897			pub struct TransactionApi;
6898			impl TransactionApi {
6899				#[doc = "Register a preimage on-chain."]
6900				#[doc = ""]
6901				#[doc = "If the preimage was previously requested, no fees or deposits are taken for providing"]
6902				#[doc = "the preimage. Otherwise, a deposit is taken proportional to the size of the preimage."]
6903				pub fn note_preimage(
6904					&self,
6905					bytes: types::note_preimage::Bytes,
6906				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::NotePreimage> {
6907					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6908						"Preimage",
6909						"note_preimage",
6910						types::NotePreimage { bytes },
6911						[
6912							121u8, 88u8, 18u8, 92u8, 176u8, 15u8, 192u8, 198u8, 146u8, 198u8, 38u8,
6913							242u8, 213u8, 83u8, 7u8, 230u8, 14u8, 110u8, 235u8, 32u8, 215u8, 26u8,
6914							192u8, 217u8, 113u8, 224u8, 206u8, 96u8, 177u8, 198u8, 246u8, 33u8,
6915						],
6916					)
6917				}
6918				#[doc = "Clear an unrequested preimage from the runtime storage."]
6919				#[doc = ""]
6920				#[doc = "If `len` is provided, then it will be a much cheaper operation."]
6921				#[doc = ""]
6922				#[doc = "- `hash`: The hash of the preimage to be removed from the store."]
6923				#[doc = "- `len`: The length of the preimage of `hash`."]
6924				pub fn unnote_preimage(
6925					&self,
6926					hash: types::unnote_preimage::Hash,
6927				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::UnnotePreimage>
6928				{
6929					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6930						"Preimage",
6931						"unnote_preimage",
6932						types::UnnotePreimage { hash },
6933						[
6934							188u8, 116u8, 222u8, 22u8, 127u8, 215u8, 2u8, 133u8, 96u8, 202u8,
6935							190u8, 123u8, 203u8, 43u8, 200u8, 161u8, 226u8, 24u8, 49u8, 36u8,
6936							221u8, 160u8, 130u8, 119u8, 30u8, 138u8, 144u8, 85u8, 5u8, 164u8,
6937							252u8, 222u8,
6938						],
6939					)
6940				}
6941				#[doc = "Request a preimage be uploaded to the chain without paying any fees or deposits."]
6942				#[doc = ""]
6943				#[doc = "If the preimage requests has already been provided on-chain, we unreserve any deposit"]
6944				#[doc = "a user may have paid, and take the control of the preimage out of their hands."]
6945				pub fn request_preimage(
6946					&self,
6947					hash: types::request_preimage::Hash,
6948				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RequestPreimage>
6949				{
6950					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6951						"Preimage",
6952						"request_preimage",
6953						types::RequestPreimage { hash },
6954						[
6955							87u8, 0u8, 204u8, 111u8, 43u8, 115u8, 64u8, 209u8, 133u8, 13u8, 83u8,
6956							45u8, 164u8, 166u8, 233u8, 105u8, 242u8, 238u8, 235u8, 208u8, 113u8,
6957							134u8, 93u8, 242u8, 86u8, 32u8, 7u8, 152u8, 107u8, 208u8, 79u8, 59u8,
6958						],
6959					)
6960				}
6961				#[doc = "Clear a previously made request for a preimage."]
6962				#[doc = ""]
6963				#[doc = "NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`."]
6964				pub fn unrequest_preimage(
6965					&self,
6966					hash: types::unrequest_preimage::Hash,
6967				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::UnrequestPreimage>
6968				{
6969					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6970						"Preimage",
6971						"unrequest_preimage",
6972						types::UnrequestPreimage { hash },
6973						[
6974							55u8, 37u8, 224u8, 149u8, 142u8, 120u8, 8u8, 68u8, 183u8, 225u8, 255u8,
6975							240u8, 254u8, 111u8, 58u8, 200u8, 113u8, 217u8, 177u8, 203u8, 107u8,
6976							104u8, 233u8, 87u8, 252u8, 53u8, 33u8, 112u8, 116u8, 254u8, 117u8,
6977							134u8,
6978						],
6979					)
6980				}
6981				#[doc = "Ensure that the bulk of pre-images is upgraded."]
6982				#[doc = ""]
6983				#[doc = "The caller pays no fee if at least 90% of pre-images were successfully updated."]
6984				pub fn ensure_updated(
6985					&self,
6986					hashes: types::ensure_updated::Hashes,
6987				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::EnsureUpdated>
6988				{
6989					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6990						"Preimage",
6991						"ensure_updated",
6992						types::EnsureUpdated { hashes },
6993						[
6994							254u8, 228u8, 88u8, 44u8, 126u8, 235u8, 188u8, 153u8, 61u8, 27u8,
6995							103u8, 253u8, 163u8, 161u8, 113u8, 243u8, 87u8, 136u8, 2u8, 231u8,
6996							209u8, 188u8, 215u8, 106u8, 192u8, 225u8, 75u8, 125u8, 224u8, 96u8,
6997							221u8, 90u8,
6998						],
6999					)
7000				}
7001			}
7002		}
7003		#[doc = "The `Event` enum of this pallet"]
7004		pub type Event = runtime_types::pallet_preimage::pallet::Event;
7005		pub mod events {
7006			use super::runtime_types;
7007			#[derive(
7008				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7009				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7010				Debug,
7011			)]
7012			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7013			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7014			#[doc = "A preimage has been noted."]
7015			pub struct Noted {
7016				pub hash: noted::Hash,
7017			}
7018			pub mod noted {
7019				use super::runtime_types;
7020				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
7021			}
7022			impl ::subxt::ext::subxt_core::events::StaticEvent for Noted {
7023				const PALLET: &'static str = "Preimage";
7024				const EVENT: &'static str = "Noted";
7025			}
7026			#[derive(
7027				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7028				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7029				Debug,
7030			)]
7031			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7032			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7033			#[doc = "A preimage has been requested."]
7034			pub struct Requested {
7035				pub hash: requested::Hash,
7036			}
7037			pub mod requested {
7038				use super::runtime_types;
7039				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
7040			}
7041			impl ::subxt::ext::subxt_core::events::StaticEvent for Requested {
7042				const PALLET: &'static str = "Preimage";
7043				const EVENT: &'static str = "Requested";
7044			}
7045			#[derive(
7046				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7047				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7048				Debug,
7049			)]
7050			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7051			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7052			#[doc = "A preimage has ben cleared."]
7053			pub struct Cleared {
7054				pub hash: cleared::Hash,
7055			}
7056			pub mod cleared {
7057				use super::runtime_types;
7058				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
7059			}
7060			impl ::subxt::ext::subxt_core::events::StaticEvent for Cleared {
7061				const PALLET: &'static str = "Preimage";
7062				const EVENT: &'static str = "Cleared";
7063			}
7064		}
7065		pub mod storage {
7066			use super::runtime_types;
7067			pub mod types {
7068				use super::runtime_types;
7069				pub mod status_for {
7070					use super::runtime_types;
7071					pub type StatusFor = runtime_types::pallet_preimage::OldRequestStatus<
7072						::subxt::ext::subxt_core::utils::AccountId32,
7073						::core::primitive::u128,
7074					>;
7075					pub type Param0 = ::subxt::ext::subxt_core::utils::H256;
7076				}
7077				pub mod request_status_for {
7078					use super::runtime_types;
7079					pub type RequestStatusFor = runtime_types::pallet_preimage::RequestStatus<
7080						::subxt::ext::subxt_core::utils::AccountId32,
7081						runtime_types::quantus_runtime::governance::definitions::PreimageDeposit,
7082					>;
7083					pub type Param0 = ::subxt::ext::subxt_core::utils::H256;
7084				}
7085				pub mod preimage_for {
7086					use super::runtime_types;
7087					pub type PreimageFor =
7088						runtime_types::bounded_collections::bounded_vec::BoundedVec<
7089							::core::primitive::u8,
7090						>;
7091					pub type Param0 =
7092						(::subxt::ext::subxt_core::utils::H256, ::core::primitive::u32);
7093				}
7094			}
7095			pub struct StorageApi;
7096			impl StorageApi {
7097				#[doc = " The request status of a given hash."]
7098				pub fn status_for_iter(
7099					&self,
7100				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7101					(),
7102					types::status_for::StatusFor,
7103					(),
7104					(),
7105					::subxt::ext::subxt_core::utils::Yes,
7106				> {
7107					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7108						"Preimage",
7109						"StatusFor",
7110						(),
7111						[
7112							187u8, 100u8, 54u8, 112u8, 96u8, 129u8, 36u8, 149u8, 127u8, 226u8,
7113							126u8, 171u8, 72u8, 189u8, 59u8, 126u8, 204u8, 125u8, 67u8, 204u8,
7114							231u8, 6u8, 212u8, 135u8, 166u8, 252u8, 5u8, 46u8, 111u8, 120u8, 54u8,
7115							209u8,
7116						],
7117					)
7118				}
7119				#[doc = " The request status of a given hash."]
7120				pub fn status_for(
7121					&self,
7122					_0: types::status_for::Param0,
7123				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7124					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
7125						types::status_for::Param0,
7126					>,
7127					types::status_for::StatusFor,
7128					::subxt::ext::subxt_core::utils::Yes,
7129					(),
7130					(),
7131				> {
7132					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7133						"Preimage",
7134						"StatusFor",
7135						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
7136						[
7137							187u8, 100u8, 54u8, 112u8, 96u8, 129u8, 36u8, 149u8, 127u8, 226u8,
7138							126u8, 171u8, 72u8, 189u8, 59u8, 126u8, 204u8, 125u8, 67u8, 204u8,
7139							231u8, 6u8, 212u8, 135u8, 166u8, 252u8, 5u8, 46u8, 111u8, 120u8, 54u8,
7140							209u8,
7141						],
7142					)
7143				}
7144				#[doc = " The request status of a given hash."]
7145				pub fn request_status_for_iter(
7146					&self,
7147				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7148					(),
7149					types::request_status_for::RequestStatusFor,
7150					(),
7151					(),
7152					::subxt::ext::subxt_core::utils::Yes,
7153				> {
7154					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7155						"Preimage",
7156						"RequestStatusFor",
7157						(),
7158						[
7159							113u8, 195u8, 77u8, 23u8, 125u8, 170u8, 77u8, 145u8, 201u8, 168u8,
7160							39u8, 13u8, 143u8, 50u8, 100u8, 92u8, 25u8, 110u8, 125u8, 20u8, 96u8,
7161							156u8, 225u8, 200u8, 57u8, 199u8, 226u8, 242u8, 230u8, 126u8, 138u8,
7162							123u8,
7163						],
7164					)
7165				}
7166				#[doc = " The request status of a given hash."]
7167				pub fn request_status_for(
7168					&self,
7169					_0: types::request_status_for::Param0,
7170				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7171					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
7172						types::request_status_for::Param0,
7173					>,
7174					types::request_status_for::RequestStatusFor,
7175					::subxt::ext::subxt_core::utils::Yes,
7176					(),
7177					(),
7178				> {
7179					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7180						"Preimage",
7181						"RequestStatusFor",
7182						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
7183						[
7184							113u8, 195u8, 77u8, 23u8, 125u8, 170u8, 77u8, 145u8, 201u8, 168u8,
7185							39u8, 13u8, 143u8, 50u8, 100u8, 92u8, 25u8, 110u8, 125u8, 20u8, 96u8,
7186							156u8, 225u8, 200u8, 57u8, 199u8, 226u8, 242u8, 230u8, 126u8, 138u8,
7187							123u8,
7188						],
7189					)
7190				}
7191				pub fn preimage_for_iter(
7192					&self,
7193				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7194					(),
7195					types::preimage_for::PreimageFor,
7196					(),
7197					(),
7198					::subxt::ext::subxt_core::utils::Yes,
7199				> {
7200					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7201						"Preimage",
7202						"PreimageFor",
7203						(),
7204						[
7205							106u8, 5u8, 17u8, 46u8, 6u8, 184u8, 177u8, 113u8, 169u8, 34u8, 119u8,
7206							141u8, 117u8, 40u8, 30u8, 94u8, 187u8, 35u8, 206u8, 216u8, 143u8,
7207							208u8, 49u8, 156u8, 200u8, 255u8, 109u8, 200u8, 210u8, 134u8, 24u8,
7208							139u8,
7209						],
7210					)
7211				}
7212				pub fn preimage_for(
7213					&self,
7214					_0: types::preimage_for::Param0,
7215				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7216					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
7217						types::preimage_for::Param0,
7218					>,
7219					types::preimage_for::PreimageFor,
7220					::subxt::ext::subxt_core::utils::Yes,
7221					(),
7222					(),
7223				> {
7224					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7225						"Preimage",
7226						"PreimageFor",
7227						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
7228						[
7229							106u8, 5u8, 17u8, 46u8, 6u8, 184u8, 177u8, 113u8, 169u8, 34u8, 119u8,
7230							141u8, 117u8, 40u8, 30u8, 94u8, 187u8, 35u8, 206u8, 216u8, 143u8,
7231							208u8, 49u8, 156u8, 200u8, 255u8, 109u8, 200u8, 210u8, 134u8, 24u8,
7232							139u8,
7233						],
7234					)
7235				}
7236			}
7237		}
7238	}
7239	pub mod scheduler {
7240		use super::{root_mod, runtime_types};
7241		#[doc = "The `Error` enum of this pallet."]
7242		pub type Error = runtime_types::pallet_scheduler::pallet::Error;
7243		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
7244		pub type Call = runtime_types::pallet_scheduler::pallet::Call;
7245		pub mod calls {
7246			use super::{root_mod, runtime_types};
7247			type DispatchError = runtime_types::sp_runtime::DispatchError;
7248			pub mod types {
7249				use super::runtime_types;
7250				#[derive(
7251					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7252					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7253					Debug,
7254				)]
7255				#[decode_as_type(
7256					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7257				)]
7258				#[encode_as_type(
7259					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7260				)]
7261				#[doc = "Anonymously schedule a task."]
7262				pub struct Schedule {
7263					pub when: schedule::When,
7264					pub maybe_periodic: schedule::MaybePeriodic,
7265					pub priority: schedule::Priority,
7266					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<schedule::Call>,
7267				}
7268				pub mod schedule {
7269					use super::runtime_types;
7270					pub type When = ::core::primitive::u32;
7271					pub type MaybePeriodic = ::core::option::Option<(
7272						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7273							::core::primitive::u32,
7274							::core::primitive::u64,
7275						>,
7276						::core::primitive::u32,
7277					)>;
7278					pub type Priority = ::core::primitive::u8;
7279					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
7280				}
7281				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Schedule {
7282					const PALLET: &'static str = "Scheduler";
7283					const CALL: &'static str = "schedule";
7284				}
7285				#[derive(
7286					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7287					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7288					Debug,
7289				)]
7290				#[decode_as_type(
7291					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7292				)]
7293				#[encode_as_type(
7294					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7295				)]
7296				#[doc = "Cancel an anonymously scheduled task."]
7297				pub struct Cancel {
7298					pub when: cancel::When,
7299					pub index: cancel::Index,
7300				}
7301				pub mod cancel {
7302					use super::runtime_types;
7303					pub type When = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7304						::core::primitive::u32,
7305						::core::primitive::u64,
7306					>;
7307					pub type Index = ::core::primitive::u32;
7308				}
7309				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Cancel {
7310					const PALLET: &'static str = "Scheduler";
7311					const CALL: &'static str = "cancel";
7312				}
7313				#[derive(
7314					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7315					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7316					Debug,
7317				)]
7318				#[decode_as_type(
7319					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7320				)]
7321				#[encode_as_type(
7322					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7323				)]
7324				#[doc = "Schedule a named task."]
7325				pub struct ScheduleNamed {
7326					pub id: schedule_named::Id,
7327					pub when: schedule_named::When,
7328					pub maybe_periodic: schedule_named::MaybePeriodic,
7329					pub priority: schedule_named::Priority,
7330					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<schedule_named::Call>,
7331				}
7332				pub mod schedule_named {
7333					use super::runtime_types;
7334					pub type Id = [::core::primitive::u8; 32usize];
7335					pub type When = ::core::primitive::u32;
7336					pub type MaybePeriodic = ::core::option::Option<(
7337						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7338							::core::primitive::u32,
7339							::core::primitive::u64,
7340						>,
7341						::core::primitive::u32,
7342					)>;
7343					pub type Priority = ::core::primitive::u8;
7344					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
7345				}
7346				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleNamed {
7347					const PALLET: &'static str = "Scheduler";
7348					const CALL: &'static str = "schedule_named";
7349				}
7350				#[derive(
7351					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7352					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7353					Debug,
7354				)]
7355				#[decode_as_type(
7356					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7357				)]
7358				#[encode_as_type(
7359					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7360				)]
7361				#[doc = "Cancel a named scheduled task."]
7362				pub struct CancelNamed {
7363					pub id: cancel_named::Id,
7364				}
7365				pub mod cancel_named {
7366					use super::runtime_types;
7367					pub type Id = [::core::primitive::u8; 32usize];
7368				}
7369				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CancelNamed {
7370					const PALLET: &'static str = "Scheduler";
7371					const CALL: &'static str = "cancel_named";
7372				}
7373				#[derive(
7374					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7375					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7376					Debug,
7377				)]
7378				#[decode_as_type(
7379					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7380				)]
7381				#[encode_as_type(
7382					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7383				)]
7384				#[doc = "Anonymously schedule a task after a delay."]
7385				pub struct ScheduleAfter {
7386					pub after: schedule_after::After,
7387					pub maybe_periodic: schedule_after::MaybePeriodic,
7388					pub priority: schedule_after::Priority,
7389					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<schedule_after::Call>,
7390				}
7391				pub mod schedule_after {
7392					use super::runtime_types;
7393					pub type After = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7394						::core::primitive::u32,
7395						::core::primitive::u64,
7396					>;
7397					pub type MaybePeriodic = ::core::option::Option<(
7398						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7399							::core::primitive::u32,
7400							::core::primitive::u64,
7401						>,
7402						::core::primitive::u32,
7403					)>;
7404					pub type Priority = ::core::primitive::u8;
7405					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
7406				}
7407				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleAfter {
7408					const PALLET: &'static str = "Scheduler";
7409					const CALL: &'static str = "schedule_after";
7410				}
7411				#[derive(
7412					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7413					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7414					Debug,
7415				)]
7416				#[decode_as_type(
7417					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7418				)]
7419				#[encode_as_type(
7420					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7421				)]
7422				#[doc = "Schedule a named task after a delay."]
7423				pub struct ScheduleNamedAfter {
7424					pub id: schedule_named_after::Id,
7425					pub after: schedule_named_after::After,
7426					pub maybe_periodic: schedule_named_after::MaybePeriodic,
7427					pub priority: schedule_named_after::Priority,
7428					pub call:
7429						::subxt::ext::subxt_core::alloc::boxed::Box<schedule_named_after::Call>,
7430				}
7431				pub mod schedule_named_after {
7432					use super::runtime_types;
7433					pub type Id = [::core::primitive::u8; 32usize];
7434					pub type After = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7435						::core::primitive::u32,
7436						::core::primitive::u64,
7437					>;
7438					pub type MaybePeriodic = ::core::option::Option<(
7439						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7440							::core::primitive::u32,
7441							::core::primitive::u64,
7442						>,
7443						::core::primitive::u32,
7444					)>;
7445					pub type Priority = ::core::primitive::u8;
7446					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
7447				}
7448				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleNamedAfter {
7449					const PALLET: &'static str = "Scheduler";
7450					const CALL: &'static str = "schedule_named_after";
7451				}
7452				#[derive(
7453					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7454					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7455					Debug,
7456				)]
7457				#[decode_as_type(
7458					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7459				)]
7460				#[encode_as_type(
7461					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7462				)]
7463				#[doc = "Set a retry configuration for a task so that, in case its scheduled run fails, it will"]
7464				#[doc = "be retried after `period` blocks, for a total amount of `retries` retries or until it"]
7465				#[doc = "succeeds."]
7466				#[doc = ""]
7467				#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
7468				#[doc = "agenda space, same as a regular task. If a periodic task fails, it will be scheduled"]
7469				#[doc = "normally while the task is retrying."]
7470				#[doc = ""]
7471				#[doc = "Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic"]
7472				#[doc = "clones of the original task. Their retry configuration will be derived from the"]
7473				#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
7474				#[doc = "original `total_retries`."]
7475				pub struct SetRetry {
7476					pub task: set_retry::Task,
7477					pub retries: set_retry::Retries,
7478					pub period: set_retry::Period,
7479				}
7480				pub mod set_retry {
7481					use super::runtime_types;
7482					pub type Task = (
7483						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7484							::core::primitive::u32,
7485							::core::primitive::u64,
7486						>,
7487						::core::primitive::u32,
7488					);
7489					pub type Retries = ::core::primitive::u8;
7490					pub type Period = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7491						::core::primitive::u32,
7492						::core::primitive::u64,
7493					>;
7494				}
7495				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetRetry {
7496					const PALLET: &'static str = "Scheduler";
7497					const CALL: &'static str = "set_retry";
7498				}
7499				#[derive(
7500					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7501					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7502					Debug,
7503				)]
7504				#[decode_as_type(
7505					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7506				)]
7507				#[encode_as_type(
7508					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7509				)]
7510				#[doc = "Set a retry configuration for a named task so that, in case its scheduled run fails, it"]
7511				#[doc = "will be retried after `period` blocks, for a total amount of `retries` retries or until"]
7512				#[doc = "it succeeds."]
7513				#[doc = ""]
7514				#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
7515				#[doc = "agenda space, same as a regular task. If a periodic task fails, it will be scheduled"]
7516				#[doc = "normally while the task is retrying."]
7517				#[doc = ""]
7518				#[doc = "Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic"]
7519				#[doc = "clones of the original task. Their retry configuration will be derived from the"]
7520				#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
7521				#[doc = "original `total_retries`."]
7522				pub struct SetRetryNamed {
7523					pub id: set_retry_named::Id,
7524					pub retries: set_retry_named::Retries,
7525					pub period: set_retry_named::Period,
7526				}
7527				pub mod set_retry_named {
7528					use super::runtime_types;
7529					pub type Id = [::core::primitive::u8; 32usize];
7530					pub type Retries = ::core::primitive::u8;
7531					pub type Period = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7532						::core::primitive::u32,
7533						::core::primitive::u64,
7534					>;
7535				}
7536				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetRetryNamed {
7537					const PALLET: &'static str = "Scheduler";
7538					const CALL: &'static str = "set_retry_named";
7539				}
7540				#[derive(
7541					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7542					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7543					Debug,
7544				)]
7545				#[decode_as_type(
7546					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7547				)]
7548				#[encode_as_type(
7549					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7550				)]
7551				#[doc = "Removes the retry configuration of a task."]
7552				pub struct CancelRetry {
7553					pub task: cancel_retry::Task,
7554				}
7555				pub mod cancel_retry {
7556					use super::runtime_types;
7557					pub type Task = (
7558						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7559							::core::primitive::u32,
7560							::core::primitive::u64,
7561						>,
7562						::core::primitive::u32,
7563					);
7564				}
7565				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CancelRetry {
7566					const PALLET: &'static str = "Scheduler";
7567					const CALL: &'static str = "cancel_retry";
7568				}
7569				#[derive(
7570					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7571					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7572					Debug,
7573				)]
7574				#[decode_as_type(
7575					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7576				)]
7577				#[encode_as_type(
7578					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7579				)]
7580				#[doc = "Cancel the retry configuration of a named task."]
7581				pub struct CancelRetryNamed {
7582					pub id: cancel_retry_named::Id,
7583				}
7584				pub mod cancel_retry_named {
7585					use super::runtime_types;
7586					pub type Id = [::core::primitive::u8; 32usize];
7587				}
7588				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CancelRetryNamed {
7589					const PALLET: &'static str = "Scheduler";
7590					const CALL: &'static str = "cancel_retry_named";
7591				}
7592			}
7593			pub struct TransactionApi;
7594			impl TransactionApi {
7595				#[doc = "Anonymously schedule a task."]
7596				pub fn schedule(
7597					&self,
7598					when: types::schedule::When,
7599					maybe_periodic: types::schedule::MaybePeriodic,
7600					priority: types::schedule::Priority,
7601					call: types::schedule::Call,
7602				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Schedule> {
7603					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7604						"Scheduler",
7605						"schedule",
7606						types::Schedule {
7607							when,
7608							maybe_periodic,
7609							priority,
7610							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
7611						},
7612						[
7613							171u8, 151u8, 176u8, 198u8, 154u8, 6u8, 181u8, 56u8, 10u8, 6u8, 38u8,
7614							136u8, 64u8, 214u8, 145u8, 96u8, 121u8, 125u8, 161u8, 234u8, 247u8,
7615							156u8, 152u8, 119u8, 122u8, 165u8, 125u8, 238u8, 12u8, 214u8, 135u8,
7616							21u8,
7617						],
7618					)
7619				}
7620				#[doc = "Cancel an anonymously scheduled task."]
7621				pub fn cancel(
7622					&self,
7623					when: types::cancel::When,
7624					index: types::cancel::Index,
7625				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Cancel> {
7626					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7627						"Scheduler",
7628						"cancel",
7629						types::Cancel { when, index },
7630						[
7631							134u8, 77u8, 15u8, 56u8, 137u8, 12u8, 58u8, 147u8, 164u8, 204u8, 221u8,
7632							150u8, 103u8, 42u8, 36u8, 79u8, 146u8, 115u8, 13u8, 194u8, 39u8, 73u8,
7633							109u8, 10u8, 168u8, 164u8, 190u8, 173u8, 30u8, 17u8, 35u8, 17u8,
7634						],
7635					)
7636				}
7637				#[doc = "Schedule a named task."]
7638				pub fn schedule_named(
7639					&self,
7640					id: types::schedule_named::Id,
7641					when: types::schedule_named::When,
7642					maybe_periodic: types::schedule_named::MaybePeriodic,
7643					priority: types::schedule_named::Priority,
7644					call: types::schedule_named::Call,
7645				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ScheduleNamed>
7646				{
7647					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7648						"Scheduler",
7649						"schedule_named",
7650						types::ScheduleNamed {
7651							id,
7652							when,
7653							maybe_periodic,
7654							priority,
7655							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
7656						},
7657						[
7658							99u8, 222u8, 117u8, 153u8, 121u8, 239u8, 26u8, 216u8, 66u8, 132u8,
7659							220u8, 8u8, 92u8, 137u8, 253u8, 47u8, 9u8, 8u8, 103u8, 1u8, 116u8,
7660							133u8, 237u8, 51u8, 73u8, 145u8, 141u8, 64u8, 210u8, 10u8, 74u8, 191u8,
7661						],
7662					)
7663				}
7664				#[doc = "Cancel a named scheduled task."]
7665				pub fn cancel_named(
7666					&self,
7667					id: types::cancel_named::Id,
7668				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CancelNamed> {
7669					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7670						"Scheduler",
7671						"cancel_named",
7672						types::CancelNamed { id },
7673						[
7674							205u8, 35u8, 28u8, 57u8, 224u8, 7u8, 49u8, 233u8, 236u8, 163u8, 93u8,
7675							236u8, 103u8, 69u8, 65u8, 51u8, 121u8, 84u8, 9u8, 196u8, 147u8, 122u8,
7676							227u8, 200u8, 181u8, 233u8, 62u8, 240u8, 174u8, 83u8, 129u8, 193u8,
7677						],
7678					)
7679				}
7680				#[doc = "Anonymously schedule a task after a delay."]
7681				pub fn schedule_after(
7682					&self,
7683					after: types::schedule_after::After,
7684					maybe_periodic: types::schedule_after::MaybePeriodic,
7685					priority: types::schedule_after::Priority,
7686					call: types::schedule_after::Call,
7687				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ScheduleAfter>
7688				{
7689					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7690						"Scheduler",
7691						"schedule_after",
7692						types::ScheduleAfter {
7693							after,
7694							maybe_periodic,
7695							priority,
7696							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
7697						},
7698						[
7699							236u8, 32u8, 229u8, 48u8, 43u8, 173u8, 230u8, 106u8, 109u8, 188u8,
7700							137u8, 151u8, 188u8, 102u8, 252u8, 210u8, 87u8, 146u8, 152u8, 251u8,
7701							128u8, 10u8, 230u8, 228u8, 168u8, 203u8, 77u8, 24u8, 125u8, 18u8, 52u8,
7702							201u8,
7703						],
7704					)
7705				}
7706				#[doc = "Schedule a named task after a delay."]
7707				pub fn schedule_named_after(
7708					&self,
7709					id: types::schedule_named_after::Id,
7710					after: types::schedule_named_after::After,
7711					maybe_periodic: types::schedule_named_after::MaybePeriodic,
7712					priority: types::schedule_named_after::Priority,
7713					call: types::schedule_named_after::Call,
7714				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ScheduleNamedAfter>
7715				{
7716					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7717						"Scheduler",
7718						"schedule_named_after",
7719						types::ScheduleNamedAfter {
7720							id,
7721							after,
7722							maybe_periodic,
7723							priority,
7724							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
7725						},
7726						[
7727							120u8, 118u8, 201u8, 138u8, 43u8, 75u8, 89u8, 65u8, 107u8, 106u8, 41u8,
7728							229u8, 55u8, 6u8, 141u8, 24u8, 116u8, 214u8, 215u8, 1u8, 209u8, 67u8,
7729							157u8, 238u8, 147u8, 31u8, 188u8, 133u8, 21u8, 7u8, 199u8, 202u8,
7730						],
7731					)
7732				}
7733				#[doc = "Set a retry configuration for a task so that, in case its scheduled run fails, it will"]
7734				#[doc = "be retried after `period` blocks, for a total amount of `retries` retries or until it"]
7735				#[doc = "succeeds."]
7736				#[doc = ""]
7737				#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
7738				#[doc = "agenda space, same as a regular task. If a periodic task fails, it will be scheduled"]
7739				#[doc = "normally while the task is retrying."]
7740				#[doc = ""]
7741				#[doc = "Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic"]
7742				#[doc = "clones of the original task. Their retry configuration will be derived from the"]
7743				#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
7744				#[doc = "original `total_retries`."]
7745				pub fn set_retry(
7746					&self,
7747					task: types::set_retry::Task,
7748					retries: types::set_retry::Retries,
7749					period: types::set_retry::Period,
7750				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetRetry> {
7751					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7752						"Scheduler",
7753						"set_retry",
7754						types::SetRetry { task, retries, period },
7755						[
7756							31u8, 128u8, 255u8, 13u8, 13u8, 252u8, 74u8, 151u8, 60u8, 242u8, 152u8,
7757							58u8, 190u8, 155u8, 132u8, 65u8, 139u8, 208u8, 222u8, 175u8, 89u8,
7758							222u8, 186u8, 98u8, 53u8, 125u8, 71u8, 55u8, 95u8, 2u8, 76u8, 248u8,
7759						],
7760					)
7761				}
7762				#[doc = "Set a retry configuration for a named task so that, in case its scheduled run fails, it"]
7763				#[doc = "will be retried after `period` blocks, for a total amount of `retries` retries or until"]
7764				#[doc = "it succeeds."]
7765				#[doc = ""]
7766				#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
7767				#[doc = "agenda space, same as a regular task. If a periodic task fails, it will be scheduled"]
7768				#[doc = "normally while the task is retrying."]
7769				#[doc = ""]
7770				#[doc = "Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic"]
7771				#[doc = "clones of the original task. Their retry configuration will be derived from the"]
7772				#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
7773				#[doc = "original `total_retries`."]
7774				pub fn set_retry_named(
7775					&self,
7776					id: types::set_retry_named::Id,
7777					retries: types::set_retry_named::Retries,
7778					period: types::set_retry_named::Period,
7779				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetRetryNamed>
7780				{
7781					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7782						"Scheduler",
7783						"set_retry_named",
7784						types::SetRetryNamed { id, retries, period },
7785						[
7786							102u8, 70u8, 114u8, 48u8, 180u8, 194u8, 107u8, 81u8, 104u8, 117u8,
7787							33u8, 169u8, 43u8, 172u8, 61u8, 129u8, 143u8, 221u8, 44u8, 101u8,
7788							235u8, 228u8, 224u8, 71u8, 65u8, 223u8, 180u8, 130u8, 83u8, 89u8,
7789							157u8, 75u8,
7790						],
7791					)
7792				}
7793				#[doc = "Removes the retry configuration of a task."]
7794				pub fn cancel_retry(
7795					&self,
7796					task: types::cancel_retry::Task,
7797				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CancelRetry> {
7798					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7799						"Scheduler",
7800						"cancel_retry",
7801						types::CancelRetry { task },
7802						[
7803							153u8, 252u8, 168u8, 142u8, 100u8, 114u8, 25u8, 46u8, 225u8, 95u8,
7804							243u8, 78u8, 160u8, 175u8, 17u8, 33u8, 27u8, 241u8, 149u8, 187u8,
7805							228u8, 182u8, 233u8, 74u8, 10u8, 228u8, 117u8, 218u8, 210u8, 127u8,
7806							245u8, 105u8,
7807						],
7808					)
7809				}
7810				#[doc = "Cancel the retry configuration of a named task."]
7811				pub fn cancel_retry_named(
7812					&self,
7813					id: types::cancel_retry_named::Id,
7814				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CancelRetryNamed>
7815				{
7816					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7817						"Scheduler",
7818						"cancel_retry_named",
7819						types::CancelRetryNamed { id },
7820						[
7821							76u8, 157u8, 253u8, 113u8, 162u8, 54u8, 98u8, 21u8, 62u8, 44u8, 155u8,
7822							202u8, 2u8, 28u8, 153u8, 219u8, 67u8, 166u8, 206u8, 79u8, 139u8, 3u8,
7823							119u8, 182u8, 254u8, 134u8, 143u8, 121u8, 155u8, 220u8, 192u8, 209u8,
7824						],
7825					)
7826				}
7827			}
7828		}
7829		#[doc = "Events type."]
7830		pub type Event = runtime_types::pallet_scheduler::pallet::Event;
7831		pub mod events {
7832			use super::runtime_types;
7833			#[derive(
7834				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7835				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7836				Debug,
7837			)]
7838			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7839			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7840			#[doc = "Scheduled some task."]
7841			pub struct Scheduled {
7842				pub when: scheduled::When,
7843				pub index: scheduled::Index,
7844			}
7845			pub mod scheduled {
7846				use super::runtime_types;
7847				pub type When = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7848					::core::primitive::u32,
7849					::core::primitive::u64,
7850				>;
7851				pub type Index = ::core::primitive::u32;
7852			}
7853			impl ::subxt::ext::subxt_core::events::StaticEvent for Scheduled {
7854				const PALLET: &'static str = "Scheduler";
7855				const EVENT: &'static str = "Scheduled";
7856			}
7857			#[derive(
7858				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7859				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7860				Debug,
7861			)]
7862			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7863			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7864			#[doc = "Canceled some task."]
7865			pub struct Canceled {
7866				pub when: canceled::When,
7867				pub index: canceled::Index,
7868			}
7869			pub mod canceled {
7870				use super::runtime_types;
7871				pub type When = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7872					::core::primitive::u32,
7873					::core::primitive::u64,
7874				>;
7875				pub type Index = ::core::primitive::u32;
7876			}
7877			impl ::subxt::ext::subxt_core::events::StaticEvent for Canceled {
7878				const PALLET: &'static str = "Scheduler";
7879				const EVENT: &'static str = "Canceled";
7880			}
7881			#[derive(
7882				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7883				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7884				Debug,
7885			)]
7886			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7887			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7888			#[doc = "Dispatched some task."]
7889			pub struct Dispatched {
7890				pub task: dispatched::Task,
7891				pub id: dispatched::Id,
7892				pub result: dispatched::Result,
7893			}
7894			pub mod dispatched {
7895				use super::runtime_types;
7896				pub type Task = (
7897					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7898						::core::primitive::u32,
7899						::core::primitive::u64,
7900					>,
7901					::core::primitive::u32,
7902				);
7903				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
7904				pub type Result =
7905					::core::result::Result<(), runtime_types::sp_runtime::DispatchError>;
7906			}
7907			impl ::subxt::ext::subxt_core::events::StaticEvent for Dispatched {
7908				const PALLET: &'static str = "Scheduler";
7909				const EVENT: &'static str = "Dispatched";
7910			}
7911			#[derive(
7912				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7913				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7914				Debug,
7915			)]
7916			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7917			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7918			#[doc = "Set a retry configuration for some task."]
7919			pub struct RetrySet {
7920				pub task: retry_set::Task,
7921				pub id: retry_set::Id,
7922				pub period: retry_set::Period,
7923				pub retries: retry_set::Retries,
7924			}
7925			pub mod retry_set {
7926				use super::runtime_types;
7927				pub type Task = (
7928					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7929						::core::primitive::u32,
7930						::core::primitive::u64,
7931					>,
7932					::core::primitive::u32,
7933				);
7934				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
7935				pub type Period = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7936					::core::primitive::u32,
7937					::core::primitive::u64,
7938				>;
7939				pub type Retries = ::core::primitive::u8;
7940			}
7941			impl ::subxt::ext::subxt_core::events::StaticEvent for RetrySet {
7942				const PALLET: &'static str = "Scheduler";
7943				const EVENT: &'static str = "RetrySet";
7944			}
7945			#[derive(
7946				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7947				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7948				Debug,
7949			)]
7950			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7951			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7952			#[doc = "Cancel a retry configuration for some task."]
7953			pub struct RetryCancelled {
7954				pub task: retry_cancelled::Task,
7955				pub id: retry_cancelled::Id,
7956			}
7957			pub mod retry_cancelled {
7958				use super::runtime_types;
7959				pub type Task = (
7960					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7961						::core::primitive::u32,
7962						::core::primitive::u64,
7963					>,
7964					::core::primitive::u32,
7965				);
7966				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
7967			}
7968			impl ::subxt::ext::subxt_core::events::StaticEvent for RetryCancelled {
7969				const PALLET: &'static str = "Scheduler";
7970				const EVENT: &'static str = "RetryCancelled";
7971			}
7972			#[derive(
7973				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7974				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7975				Debug,
7976			)]
7977			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7978			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7979			#[doc = "The call for the provided hash was not found so the task has been aborted."]
7980			pub struct CallUnavailable {
7981				pub task: call_unavailable::Task,
7982				pub id: call_unavailable::Id,
7983			}
7984			pub mod call_unavailable {
7985				use super::runtime_types;
7986				pub type Task = (
7987					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7988						::core::primitive::u32,
7989						::core::primitive::u64,
7990					>,
7991					::core::primitive::u32,
7992				);
7993				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
7994			}
7995			impl ::subxt::ext::subxt_core::events::StaticEvent for CallUnavailable {
7996				const PALLET: &'static str = "Scheduler";
7997				const EVENT: &'static str = "CallUnavailable";
7998			}
7999			#[derive(
8000				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8001				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8002				Debug,
8003			)]
8004			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8005			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8006			#[doc = "The given task was unable to be renewed since the agenda is full at that block."]
8007			pub struct PeriodicFailed {
8008				pub task: periodic_failed::Task,
8009				pub id: periodic_failed::Id,
8010			}
8011			pub mod periodic_failed {
8012				use super::runtime_types;
8013				pub type Task = (
8014					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8015						::core::primitive::u32,
8016						::core::primitive::u64,
8017					>,
8018					::core::primitive::u32,
8019				);
8020				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
8021			}
8022			impl ::subxt::ext::subxt_core::events::StaticEvent for PeriodicFailed {
8023				const PALLET: &'static str = "Scheduler";
8024				const EVENT: &'static str = "PeriodicFailed";
8025			}
8026			#[derive(
8027				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8028				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8029				Debug,
8030			)]
8031			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8032			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8033			#[doc = "The given task was unable to be retried since the agenda is full at that block or there"]
8034			#[doc = "was not enough weight to reschedule it."]
8035			pub struct RetryFailed {
8036				pub task: retry_failed::Task,
8037				pub id: retry_failed::Id,
8038			}
8039			pub mod retry_failed {
8040				use super::runtime_types;
8041				pub type Task = (
8042					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8043						::core::primitive::u32,
8044						::core::primitive::u64,
8045					>,
8046					::core::primitive::u32,
8047				);
8048				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
8049			}
8050			impl ::subxt::ext::subxt_core::events::StaticEvent for RetryFailed {
8051				const PALLET: &'static str = "Scheduler";
8052				const EVENT: &'static str = "RetryFailed";
8053			}
8054			#[derive(
8055				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8056				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8057				Debug,
8058			)]
8059			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8060			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8061			#[doc = "The given task can never be executed since it is overweight."]
8062			pub struct PermanentlyOverweight {
8063				pub task: permanently_overweight::Task,
8064				pub id: permanently_overweight::Id,
8065			}
8066			pub mod permanently_overweight {
8067				use super::runtime_types;
8068				pub type Task = (
8069					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8070						::core::primitive::u32,
8071						::core::primitive::u64,
8072					>,
8073					::core::primitive::u32,
8074				);
8075				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
8076			}
8077			impl ::subxt::ext::subxt_core::events::StaticEvent for PermanentlyOverweight {
8078				const PALLET: &'static str = "Scheduler";
8079				const EVENT: &'static str = "PermanentlyOverweight";
8080			}
8081		}
8082		pub mod storage {
8083			use super::runtime_types;
8084			pub mod types {
8085				use super::runtime_types;
8086				pub mod incomplete_block_since {
8087					use super::runtime_types;
8088					pub type IncompleteBlockSince = ::core::primitive::u32;
8089				}
8090				pub mod incomplete_timestamp_since {
8091					use super::runtime_types;
8092					pub type IncompleteTimestampSince = ::core::primitive::u64;
8093				}
8094				pub mod last_processed_timestamp {
8095					use super::runtime_types;
8096					pub type LastProcessedTimestamp = ::core::primitive::u64;
8097				}
8098				pub mod agenda {
8099					use super::runtime_types;
8100					pub type Agenda = runtime_types::bounded_collections::bounded_vec::BoundedVec<
8101						::core::option::Option<
8102							runtime_types::pallet_scheduler::Scheduled<
8103								[::core::primitive::u8; 32usize],
8104								runtime_types::frame_support::traits::preimages::Bounded<
8105									runtime_types::quantus_runtime::RuntimeCall,
8106									runtime_types::qp_poseidon::PoseidonHasher,
8107								>,
8108								::core::primitive::u32,
8109								runtime_types::quantus_runtime::OriginCaller,
8110								::subxt::ext::subxt_core::utils::AccountId32,
8111								::core::primitive::u64,
8112							>,
8113						>,
8114					>;
8115					pub type Param0 = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8116						::core::primitive::u32,
8117						::core::primitive::u64,
8118					>;
8119				}
8120				pub mod retries {
8121					use super::runtime_types;
8122					pub type Retries = runtime_types::pallet_scheduler::RetryConfig<
8123						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8124							::core::primitive::u32,
8125							::core::primitive::u64,
8126						>,
8127					>;
8128					pub type Param0 = (
8129						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8130							::core::primitive::u32,
8131							::core::primitive::u64,
8132						>,
8133						::core::primitive::u32,
8134					);
8135				}
8136				pub mod lookup {
8137					use super::runtime_types;
8138					pub type Lookup = (
8139						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
8140							::core::primitive::u32,
8141							::core::primitive::u64,
8142						>,
8143						::core::primitive::u32,
8144					);
8145					pub type Param0 = [::core::primitive::u8; 32usize];
8146				}
8147			}
8148			pub struct StorageApi;
8149			impl StorageApi {
8150				#[doc = " Tracks incomplete block-based agendas that need to be processed in a later block."]
8151				pub fn incomplete_block_since(
8152					&self,
8153				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8154					(),
8155					types::incomplete_block_since::IncompleteBlockSince,
8156					::subxt::ext::subxt_core::utils::Yes,
8157					(),
8158					(),
8159				> {
8160					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8161						"Scheduler",
8162						"IncompleteBlockSince",
8163						(),
8164						[
8165							134u8, 34u8, 161u8, 236u8, 176u8, 35u8, 218u8, 109u8, 229u8, 93u8,
8166							29u8, 95u8, 81u8, 106u8, 98u8, 65u8, 132u8, 91u8, 237u8, 225u8, 75u8,
8167							125u8, 81u8, 218u8, 72u8, 215u8, 20u8, 66u8, 160u8, 196u8, 68u8, 34u8,
8168						],
8169					)
8170				}
8171				#[doc = " Tracks incomplete timestamp-based agendas that need to be processed in a later block."]
8172				pub fn incomplete_timestamp_since(
8173					&self,
8174				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8175					(),
8176					types::incomplete_timestamp_since::IncompleteTimestampSince,
8177					::subxt::ext::subxt_core::utils::Yes,
8178					(),
8179					(),
8180				> {
8181					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8182						"Scheduler",
8183						"IncompleteTimestampSince",
8184						(),
8185						[
8186							223u8, 125u8, 99u8, 28u8, 81u8, 135u8, 125u8, 26u8, 3u8, 20u8, 32u8,
8187							125u8, 141u8, 114u8, 100u8, 38u8, 219u8, 191u8, 30u8, 88u8, 82u8, 33u8,
8188							140u8, 223u8, 168u8, 84u8, 144u8, 85u8, 57u8, 241u8, 97u8, 141u8,
8189						],
8190					)
8191				}
8192				#[doc = " Tracks the last timestamp bucket that was fully processed."]
8193				#[doc = " Used to avoid reprocessing all buckets from 0 on every run."]
8194				pub fn last_processed_timestamp(
8195					&self,
8196				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8197					(),
8198					types::last_processed_timestamp::LastProcessedTimestamp,
8199					::subxt::ext::subxt_core::utils::Yes,
8200					(),
8201					(),
8202				> {
8203					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8204						"Scheduler",
8205						"LastProcessedTimestamp",
8206						(),
8207						[
8208							172u8, 193u8, 6u8, 47u8, 185u8, 134u8, 179u8, 132u8, 178u8, 0u8, 228u8,
8209							198u8, 232u8, 24u8, 85u8, 199u8, 102u8, 222u8, 246u8, 178u8, 8u8,
8210							221u8, 51u8, 188u8, 239u8, 218u8, 112u8, 245u8, 46u8, 146u8, 65u8,
8211							119u8,
8212						],
8213					)
8214				}
8215				#[doc = " Items to be executed, indexed by the block number that they should be executed on."]
8216				pub fn agenda_iter(
8217					&self,
8218				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8219					(),
8220					types::agenda::Agenda,
8221					(),
8222					::subxt::ext::subxt_core::utils::Yes,
8223					::subxt::ext::subxt_core::utils::Yes,
8224				> {
8225					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8226						"Scheduler",
8227						"Agenda",
8228						(),
8229						[
8230							188u8, 177u8, 84u8, 167u8, 206u8, 4u8, 136u8, 133u8, 67u8, 121u8,
8231							247u8, 186u8, 6u8, 46u8, 115u8, 104u8, 239u8, 41u8, 75u8, 143u8, 24u8,
8232							155u8, 212u8, 196u8, 166u8, 82u8, 63u8, 39u8, 104u8, 21u8, 19u8, 93u8,
8233						],
8234					)
8235				}
8236				#[doc = " Items to be executed, indexed by the block number that they should be executed on."]
8237				pub fn agenda(
8238					&self,
8239					_0: types::agenda::Param0,
8240				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8241					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
8242						types::agenda::Param0,
8243					>,
8244					types::agenda::Agenda,
8245					::subxt::ext::subxt_core::utils::Yes,
8246					::subxt::ext::subxt_core::utils::Yes,
8247					(),
8248				> {
8249					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8250						"Scheduler",
8251						"Agenda",
8252						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
8253						[
8254							188u8, 177u8, 84u8, 167u8, 206u8, 4u8, 136u8, 133u8, 67u8, 121u8,
8255							247u8, 186u8, 6u8, 46u8, 115u8, 104u8, 239u8, 41u8, 75u8, 143u8, 24u8,
8256							155u8, 212u8, 196u8, 166u8, 82u8, 63u8, 39u8, 104u8, 21u8, 19u8, 93u8,
8257						],
8258					)
8259				}
8260				#[doc = " Retry configurations for items to be executed, indexed by task address."]
8261				pub fn retries_iter(
8262					&self,
8263				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8264					(),
8265					types::retries::Retries,
8266					(),
8267					(),
8268					::subxt::ext::subxt_core::utils::Yes,
8269				> {
8270					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8271						"Scheduler",
8272						"Retries",
8273						(),
8274						[
8275							94u8, 54u8, 136u8, 189u8, 244u8, 118u8, 102u8, 67u8, 203u8, 238u8,
8276							109u8, 130u8, 229u8, 246u8, 244u8, 68u8, 59u8, 132u8, 12u8, 9u8, 219u8,
8277							176u8, 251u8, 1u8, 216u8, 200u8, 205u8, 176u8, 145u8, 201u8, 206u8,
8278							108u8,
8279						],
8280					)
8281				}
8282				#[doc = " Retry configurations for items to be executed, indexed by task address."]
8283				pub fn retries(
8284					&self,
8285					_0: types::retries::Param0,
8286				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8287					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
8288						types::retries::Param0,
8289					>,
8290					types::retries::Retries,
8291					::subxt::ext::subxt_core::utils::Yes,
8292					(),
8293					(),
8294				> {
8295					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8296						"Scheduler",
8297						"Retries",
8298						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
8299						[
8300							94u8, 54u8, 136u8, 189u8, 244u8, 118u8, 102u8, 67u8, 203u8, 238u8,
8301							109u8, 130u8, 229u8, 246u8, 244u8, 68u8, 59u8, 132u8, 12u8, 9u8, 219u8,
8302							176u8, 251u8, 1u8, 216u8, 200u8, 205u8, 176u8, 145u8, 201u8, 206u8,
8303							108u8,
8304						],
8305					)
8306				}
8307				#[doc = " Lookup from a name to the block number and index of the task."]
8308				#[doc = ""]
8309				#[doc = " For v3 -> v4 the previously unbounded identities are Blake2-256 hashed to form the v4"]
8310				#[doc = " identities."]
8311				pub fn lookup_iter(
8312					&self,
8313				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8314					(),
8315					types::lookup::Lookup,
8316					(),
8317					(),
8318					::subxt::ext::subxt_core::utils::Yes,
8319				> {
8320					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8321						"Scheduler",
8322						"Lookup",
8323						(),
8324						[
8325							133u8, 194u8, 6u8, 16u8, 27u8, 10u8, 159u8, 62u8, 113u8, 59u8, 58u8,
8326							225u8, 244u8, 206u8, 35u8, 113u8, 41u8, 40u8, 89u8, 71u8, 133u8, 117u8,
8327							33u8, 192u8, 106u8, 85u8, 83u8, 186u8, 36u8, 160u8, 144u8, 221u8,
8328						],
8329					)
8330				}
8331				#[doc = " Lookup from a name to the block number and index of the task."]
8332				#[doc = ""]
8333				#[doc = " For v3 -> v4 the previously unbounded identities are Blake2-256 hashed to form the v4"]
8334				#[doc = " identities."]
8335				pub fn lookup(
8336					&self,
8337					_0: types::lookup::Param0,
8338				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
8339					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
8340						types::lookup::Param0,
8341					>,
8342					types::lookup::Lookup,
8343					::subxt::ext::subxt_core::utils::Yes,
8344					(),
8345					(),
8346				> {
8347					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
8348						"Scheduler",
8349						"Lookup",
8350						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
8351						[
8352							133u8, 194u8, 6u8, 16u8, 27u8, 10u8, 159u8, 62u8, 113u8, 59u8, 58u8,
8353							225u8, 244u8, 206u8, 35u8, 113u8, 41u8, 40u8, 89u8, 71u8, 133u8, 117u8,
8354							33u8, 192u8, 106u8, 85u8, 83u8, 186u8, 36u8, 160u8, 144u8, 221u8,
8355						],
8356					)
8357				}
8358			}
8359		}
8360		pub mod constants {
8361			use super::runtime_types;
8362			pub struct ConstantsApi;
8363			impl ConstantsApi {
8364				#[doc = " The maximum weight that may be scheduled per block for any dispatchables."]
8365				pub fn maximum_weight(
8366					&self,
8367				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
8368					runtime_types::sp_weights::weight_v2::Weight,
8369				> {
8370					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
8371						"Scheduler",
8372						"MaximumWeight",
8373						[
8374							149u8, 252u8, 129u8, 80u8, 169u8, 36u8, 79u8, 127u8, 240u8, 156u8,
8375							56u8, 202u8, 219u8, 86u8, 5u8, 65u8, 245u8, 148u8, 138u8, 243u8, 210u8,
8376							128u8, 234u8, 216u8, 240u8, 219u8, 123u8, 235u8, 21u8, 158u8, 237u8,
8377							112u8,
8378						],
8379					)
8380				}
8381				#[doc = " The maximum number of scheduled calls in the queue for a single block."]
8382				#[doc = ""]
8383				#[doc = " NOTE:"]
8384				#[doc = " + Dependent pallets' benchmarks might require a higher limit for the setting. Set a"]
8385				#[doc = " higher limit under `runtime-benchmarks` feature."]
8386				pub fn max_scheduled_per_block(
8387					&self,
8388				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
8389					::core::primitive::u32,
8390				> {
8391					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
8392						"Scheduler",
8393						"MaxScheduledPerBlock",
8394						[
8395							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
8396							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
8397							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
8398							145u8,
8399						],
8400					)
8401				}
8402				#[doc = " Precision of the timestamp buckets."]
8403				#[doc = ""]
8404				#[doc = " Timestamp based dispatches are rounded to the nearest bucket of this precision."]
8405				pub fn timestamp_bucket_size(
8406					&self,
8407				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
8408					::core::primitive::u64,
8409				> {
8410					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
8411						"Scheduler",
8412						"TimestampBucketSize",
8413						[
8414							128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8,
8415							59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8,
8416							103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8,
8417							246u8,
8418						],
8419					)
8420				}
8421			}
8422		}
8423	}
8424	pub mod utility {
8425		use super::{root_mod, runtime_types};
8426		#[doc = "The `Error` enum of this pallet."]
8427		pub type Error = runtime_types::pallet_utility::pallet::Error;
8428		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
8429		pub type Call = runtime_types::pallet_utility::pallet::Call;
8430		pub mod calls {
8431			use super::{root_mod, runtime_types};
8432			type DispatchError = runtime_types::sp_runtime::DispatchError;
8433			pub mod types {
8434				use super::runtime_types;
8435				#[derive(
8436					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8437					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8438					Debug,
8439				)]
8440				#[decode_as_type(
8441					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8442				)]
8443				#[encode_as_type(
8444					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8445				)]
8446				#[doc = "Send a batch of dispatch calls."]
8447				#[doc = ""]
8448				#[doc = "May be called from any origin except `None`."]
8449				#[doc = ""]
8450				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
8451				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
8452				#[doc = ""]
8453				#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
8454				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
8455				#[doc = ""]
8456				#[doc = "## Complexity"]
8457				#[doc = "- O(C) where C is the number of calls to be batched."]
8458				#[doc = ""]
8459				#[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"]
8460				#[doc = "event is deposited. If a call failed and the batch was interrupted, then the"]
8461				#[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"]
8462				#[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"]
8463				#[doc = "event is deposited."]
8464				pub struct Batch {
8465					pub calls: batch::Calls,
8466				}
8467				pub mod batch {
8468					use super::runtime_types;
8469					pub type Calls = ::subxt::ext::subxt_core::alloc::vec::Vec<
8470						runtime_types::quantus_runtime::RuntimeCall,
8471					>;
8472				}
8473				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Batch {
8474					const PALLET: &'static str = "Utility";
8475					const CALL: &'static str = "batch";
8476				}
8477				#[derive(
8478					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8479					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8480					Debug,
8481				)]
8482				#[decode_as_type(
8483					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8484				)]
8485				#[encode_as_type(
8486					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8487				)]
8488				#[doc = "Send a call through an indexed pseudonym of the sender."]
8489				#[doc = ""]
8490				#[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"]
8491				#[doc = "use the same filter as the origin of this call."]
8492				#[doc = ""]
8493				#[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."]
8494				#[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"]
8495				#[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"]
8496				#[doc = "in the Multisig pallet instead."]
8497				#[doc = ""]
8498				#[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."]
8499				#[doc = ""]
8500				#[doc = "The dispatch origin for this call must be _Signed_."]
8501				pub struct AsDerivative {
8502					pub index: as_derivative::Index,
8503					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<as_derivative::Call>,
8504				}
8505				pub mod as_derivative {
8506					use super::runtime_types;
8507					pub type Index = ::core::primitive::u16;
8508					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
8509				}
8510				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for AsDerivative {
8511					const PALLET: &'static str = "Utility";
8512					const CALL: &'static str = "as_derivative";
8513				}
8514				#[derive(
8515					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8516					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8517					Debug,
8518				)]
8519				#[decode_as_type(
8520					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8521				)]
8522				#[encode_as_type(
8523					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8524				)]
8525				#[doc = "Send a batch of dispatch calls and atomically execute them."]
8526				#[doc = "The whole transaction will rollback and fail if any of the calls failed."]
8527				#[doc = ""]
8528				#[doc = "May be called from any origin except `None`."]
8529				#[doc = ""]
8530				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
8531				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
8532				#[doc = ""]
8533				#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
8534				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
8535				#[doc = ""]
8536				#[doc = "## Complexity"]
8537				#[doc = "- O(C) where C is the number of calls to be batched."]
8538				pub struct BatchAll {
8539					pub calls: batch_all::Calls,
8540				}
8541				pub mod batch_all {
8542					use super::runtime_types;
8543					pub type Calls = ::subxt::ext::subxt_core::alloc::vec::Vec<
8544						runtime_types::quantus_runtime::RuntimeCall,
8545					>;
8546				}
8547				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for BatchAll {
8548					const PALLET: &'static str = "Utility";
8549					const CALL: &'static str = "batch_all";
8550				}
8551				#[derive(
8552					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8553					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8554					Debug,
8555				)]
8556				#[decode_as_type(
8557					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8558				)]
8559				#[encode_as_type(
8560					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8561				)]
8562				#[doc = "Dispatches a function call with a provided origin."]
8563				#[doc = ""]
8564				#[doc = "The dispatch origin for this call must be _Root_."]
8565				#[doc = ""]
8566				#[doc = "## Complexity"]
8567				#[doc = "- O(1)."]
8568				pub struct DispatchAs {
8569					pub as_origin:
8570						::subxt::ext::subxt_core::alloc::boxed::Box<dispatch_as::AsOrigin>,
8571					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<dispatch_as::Call>,
8572				}
8573				pub mod dispatch_as {
8574					use super::runtime_types;
8575					pub type AsOrigin = runtime_types::quantus_runtime::OriginCaller;
8576					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
8577				}
8578				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for DispatchAs {
8579					const PALLET: &'static str = "Utility";
8580					const CALL: &'static str = "dispatch_as";
8581				}
8582				#[derive(
8583					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8584					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8585					Debug,
8586				)]
8587				#[decode_as_type(
8588					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8589				)]
8590				#[encode_as_type(
8591					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8592				)]
8593				#[doc = "Send a batch of dispatch calls."]
8594				#[doc = "Unlike `batch`, it allows errors and won't interrupt."]
8595				#[doc = ""]
8596				#[doc = "May be called from any origin except `None`."]
8597				#[doc = ""]
8598				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
8599				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
8600				#[doc = ""]
8601				#[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"]
8602				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
8603				#[doc = ""]
8604				#[doc = "## Complexity"]
8605				#[doc = "- O(C) where C is the number of calls to be batched."]
8606				pub struct ForceBatch {
8607					pub calls: force_batch::Calls,
8608				}
8609				pub mod force_batch {
8610					use super::runtime_types;
8611					pub type Calls = ::subxt::ext::subxt_core::alloc::vec::Vec<
8612						runtime_types::quantus_runtime::RuntimeCall,
8613					>;
8614				}
8615				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceBatch {
8616					const PALLET: &'static str = "Utility";
8617					const CALL: &'static str = "force_batch";
8618				}
8619				#[derive(
8620					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8621					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8622					Debug,
8623				)]
8624				#[decode_as_type(
8625					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8626				)]
8627				#[encode_as_type(
8628					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8629				)]
8630				#[doc = "Dispatch a function call with a specified weight."]
8631				#[doc = ""]
8632				#[doc = "This function does not check the weight of the call, and instead allows the"]
8633				#[doc = "Root origin to specify the weight of the call."]
8634				#[doc = ""]
8635				#[doc = "The dispatch origin for this call must be _Root_."]
8636				pub struct WithWeight {
8637					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<with_weight::Call>,
8638					pub weight: with_weight::Weight,
8639				}
8640				pub mod with_weight {
8641					use super::runtime_types;
8642					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
8643					pub type Weight = runtime_types::sp_weights::weight_v2::Weight;
8644				}
8645				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for WithWeight {
8646					const PALLET: &'static str = "Utility";
8647					const CALL: &'static str = "with_weight";
8648				}
8649				#[derive(
8650					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8651					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8652					Debug,
8653				)]
8654				#[decode_as_type(
8655					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8656				)]
8657				#[encode_as_type(
8658					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8659				)]
8660				#[doc = "Dispatch a fallback call in the event the main call fails to execute."]
8661				#[doc = "May be called from any origin except `None`."]
8662				#[doc = ""]
8663				#[doc = "This function first attempts to dispatch the `main` call."]
8664				#[doc = "If the `main` call fails, the `fallback` is attemted."]
8665				#[doc = "if the fallback is successfully dispatched, the weights of both calls"]
8666				#[doc = "are accumulated and an event containing the main call error is deposited."]
8667				#[doc = ""]
8668				#[doc = "In the event of a fallback failure the whole call fails"]
8669				#[doc = "with the weights returned."]
8670				#[doc = ""]
8671				#[doc = "- `main`: The main call to be dispatched. This is the primary action to execute."]
8672				#[doc = "- `fallback`: The fallback call to be dispatched in case the `main` call fails."]
8673				#[doc = ""]
8674				#[doc = "## Dispatch Logic"]
8675				#[doc = "- If the origin is `root`, both the main and fallback calls are executed without"]
8676				#[doc = "  applying any origin filters."]
8677				#[doc = "- If the origin is not `root`, the origin filter is applied to both the `main` and"]
8678				#[doc = "  `fallback` calls."]
8679				#[doc = ""]
8680				#[doc = "## Use Case"]
8681				#[doc = "- Some use cases might involve submitting a `batch` type call in either main, fallback"]
8682				#[doc = "  or both."]
8683				pub struct IfElse {
8684					pub main: ::subxt::ext::subxt_core::alloc::boxed::Box<if_else::Main>,
8685					pub fallback: ::subxt::ext::subxt_core::alloc::boxed::Box<if_else::Fallback>,
8686				}
8687				pub mod if_else {
8688					use super::runtime_types;
8689					pub type Main = runtime_types::quantus_runtime::RuntimeCall;
8690					pub type Fallback = runtime_types::quantus_runtime::RuntimeCall;
8691				}
8692				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for IfElse {
8693					const PALLET: &'static str = "Utility";
8694					const CALL: &'static str = "if_else";
8695				}
8696				#[derive(
8697					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8698					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8699					Debug,
8700				)]
8701				#[decode_as_type(
8702					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8703				)]
8704				#[encode_as_type(
8705					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8706				)]
8707				#[doc = "Dispatches a function call with a provided origin."]
8708				#[doc = ""]
8709				#[doc = "Almost the same as [`Pallet::dispatch_as`] but forwards any error of the inner call."]
8710				#[doc = ""]
8711				#[doc = "The dispatch origin for this call must be _Root_."]
8712				pub struct DispatchAsFallible {
8713					pub as_origin:
8714						::subxt::ext::subxt_core::alloc::boxed::Box<dispatch_as_fallible::AsOrigin>,
8715					pub call:
8716						::subxt::ext::subxt_core::alloc::boxed::Box<dispatch_as_fallible::Call>,
8717				}
8718				pub mod dispatch_as_fallible {
8719					use super::runtime_types;
8720					pub type AsOrigin = runtime_types::quantus_runtime::OriginCaller;
8721					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
8722				}
8723				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for DispatchAsFallible {
8724					const PALLET: &'static str = "Utility";
8725					const CALL: &'static str = "dispatch_as_fallible";
8726				}
8727			}
8728			pub struct TransactionApi;
8729			impl TransactionApi {
8730				#[doc = "Send a batch of dispatch calls."]
8731				#[doc = ""]
8732				#[doc = "May be called from any origin except `None`."]
8733				#[doc = ""]
8734				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
8735				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
8736				#[doc = ""]
8737				#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
8738				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
8739				#[doc = ""]
8740				#[doc = "## Complexity"]
8741				#[doc = "- O(C) where C is the number of calls to be batched."]
8742				#[doc = ""]
8743				#[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"]
8744				#[doc = "event is deposited. If a call failed and the batch was interrupted, then the"]
8745				#[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"]
8746				#[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"]
8747				#[doc = "event is deposited."]
8748				pub fn batch(
8749					&self,
8750					calls: types::batch::Calls,
8751				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Batch> {
8752					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8753						"Utility",
8754						"batch",
8755						types::Batch { calls },
8756						[
8757							135u8, 106u8, 152u8, 39u8, 199u8, 163u8, 145u8, 186u8, 129u8, 115u8,
8758							214u8, 162u8, 12u8, 85u8, 57u8, 122u8, 211u8, 240u8, 143u8, 159u8,
8759							138u8, 37u8, 114u8, 8u8, 8u8, 236u8, 197u8, 23u8, 114u8, 2u8, 105u8,
8760							174u8,
8761						],
8762					)
8763				}
8764				#[doc = "Send a call through an indexed pseudonym of the sender."]
8765				#[doc = ""]
8766				#[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"]
8767				#[doc = "use the same filter as the origin of this call."]
8768				#[doc = ""]
8769				#[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."]
8770				#[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"]
8771				#[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"]
8772				#[doc = "in the Multisig pallet instead."]
8773				#[doc = ""]
8774				#[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."]
8775				#[doc = ""]
8776				#[doc = "The dispatch origin for this call must be _Signed_."]
8777				pub fn as_derivative(
8778					&self,
8779					index: types::as_derivative::Index,
8780					call: types::as_derivative::Call,
8781				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::AsDerivative> {
8782					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8783						"Utility",
8784						"as_derivative",
8785						types::AsDerivative {
8786							index,
8787							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
8788						},
8789						[
8790							3u8, 102u8, 237u8, 140u8, 8u8, 207u8, 27u8, 204u8, 155u8, 162u8, 124u8,
8791							141u8, 172u8, 210u8, 89u8, 239u8, 113u8, 175u8, 41u8, 9u8, 150u8,
8792							130u8, 205u8, 125u8, 205u8, 199u8, 174u8, 85u8, 24u8, 13u8, 57u8, 19u8,
8793						],
8794					)
8795				}
8796				#[doc = "Send a batch of dispatch calls and atomically execute them."]
8797				#[doc = "The whole transaction will rollback and fail if any of the calls failed."]
8798				#[doc = ""]
8799				#[doc = "May be called from any origin except `None`."]
8800				#[doc = ""]
8801				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
8802				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
8803				#[doc = ""]
8804				#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
8805				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
8806				#[doc = ""]
8807				#[doc = "## Complexity"]
8808				#[doc = "- O(C) where C is the number of calls to be batched."]
8809				pub fn batch_all(
8810					&self,
8811					calls: types::batch_all::Calls,
8812				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::BatchAll> {
8813					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8814						"Utility",
8815						"batch_all",
8816						types::BatchAll { calls },
8817						[
8818							76u8, 242u8, 205u8, 32u8, 158u8, 24u8, 255u8, 12u8, 97u8, 24u8, 211u8,
8819							63u8, 119u8, 183u8, 165u8, 217u8, 17u8, 178u8, 254u8, 230u8, 119u8,
8820							207u8, 207u8, 103u8, 39u8, 226u8, 55u8, 73u8, 233u8, 79u8, 60u8, 218u8,
8821						],
8822					)
8823				}
8824				#[doc = "Dispatches a function call with a provided origin."]
8825				#[doc = ""]
8826				#[doc = "The dispatch origin for this call must be _Root_."]
8827				#[doc = ""]
8828				#[doc = "## Complexity"]
8829				#[doc = "- O(1)."]
8830				pub fn dispatch_as(
8831					&self,
8832					as_origin: types::dispatch_as::AsOrigin,
8833					call: types::dispatch_as::Call,
8834				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::DispatchAs> {
8835					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8836						"Utility",
8837						"dispatch_as",
8838						types::DispatchAs {
8839							as_origin: ::subxt::ext::subxt_core::alloc::boxed::Box::new(as_origin),
8840							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
8841						},
8842						[
8843							32u8, 108u8, 91u8, 136u8, 200u8, 228u8, 95u8, 44u8, 22u8, 92u8, 34u8,
8844							234u8, 170u8, 201u8, 4u8, 248u8, 16u8, 209u8, 103u8, 201u8, 207u8,
8845							160u8, 165u8, 231u8, 152u8, 222u8, 112u8, 63u8, 133u8, 61u8, 220u8,
8846							24u8,
8847						],
8848					)
8849				}
8850				#[doc = "Send a batch of dispatch calls."]
8851				#[doc = "Unlike `batch`, it allows errors and won't interrupt."]
8852				#[doc = ""]
8853				#[doc = "May be called from any origin except `None`."]
8854				#[doc = ""]
8855				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
8856				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
8857				#[doc = ""]
8858				#[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"]
8859				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
8860				#[doc = ""]
8861				#[doc = "## Complexity"]
8862				#[doc = "- O(C) where C is the number of calls to be batched."]
8863				pub fn force_batch(
8864					&self,
8865					calls: types::force_batch::Calls,
8866				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceBatch> {
8867					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8868						"Utility",
8869						"force_batch",
8870						types::ForceBatch { calls },
8871						[
8872							26u8, 82u8, 61u8, 185u8, 19u8, 29u8, 151u8, 192u8, 24u8, 41u8, 115u8,
8873							237u8, 7u8, 38u8, 68u8, 5u8, 159u8, 117u8, 47u8, 138u8, 101u8, 126u8,
8874							255u8, 137u8, 144u8, 51u8, 244u8, 145u8, 113u8, 21u8, 123u8, 79u8,
8875						],
8876					)
8877				}
8878				#[doc = "Dispatch a function call with a specified weight."]
8879				#[doc = ""]
8880				#[doc = "This function does not check the weight of the call, and instead allows the"]
8881				#[doc = "Root origin to specify the weight of the call."]
8882				#[doc = ""]
8883				#[doc = "The dispatch origin for this call must be _Root_."]
8884				pub fn with_weight(
8885					&self,
8886					call: types::with_weight::Call,
8887					weight: types::with_weight::Weight,
8888				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::WithWeight> {
8889					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8890						"Utility",
8891						"with_weight",
8892						types::WithWeight {
8893							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
8894							weight,
8895						},
8896						[
8897							131u8, 134u8, 250u8, 73u8, 141u8, 137u8, 137u8, 15u8, 206u8, 215u8,
8898							199u8, 239u8, 24u8, 84u8, 247u8, 50u8, 135u8, 223u8, 110u8, 205u8,
8899							96u8, 170u8, 74u8, 232u8, 152u8, 135u8, 235u8, 62u8, 110u8, 230u8,
8900							172u8, 229u8,
8901						],
8902					)
8903				}
8904				#[doc = "Dispatch a fallback call in the event the main call fails to execute."]
8905				#[doc = "May be called from any origin except `None`."]
8906				#[doc = ""]
8907				#[doc = "This function first attempts to dispatch the `main` call."]
8908				#[doc = "If the `main` call fails, the `fallback` is attemted."]
8909				#[doc = "if the fallback is successfully dispatched, the weights of both calls"]
8910				#[doc = "are accumulated and an event containing the main call error is deposited."]
8911				#[doc = ""]
8912				#[doc = "In the event of a fallback failure the whole call fails"]
8913				#[doc = "with the weights returned."]
8914				#[doc = ""]
8915				#[doc = "- `main`: The main call to be dispatched. This is the primary action to execute."]
8916				#[doc = "- `fallback`: The fallback call to be dispatched in case the `main` call fails."]
8917				#[doc = ""]
8918				#[doc = "## Dispatch Logic"]
8919				#[doc = "- If the origin is `root`, both the main and fallback calls are executed without"]
8920				#[doc = "  applying any origin filters."]
8921				#[doc = "- If the origin is not `root`, the origin filter is applied to both the `main` and"]
8922				#[doc = "  `fallback` calls."]
8923				#[doc = ""]
8924				#[doc = "## Use Case"]
8925				#[doc = "- Some use cases might involve submitting a `batch` type call in either main, fallback"]
8926				#[doc = "  or both."]
8927				pub fn if_else(
8928					&self,
8929					main: types::if_else::Main,
8930					fallback: types::if_else::Fallback,
8931				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::IfElse> {
8932					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8933						"Utility",
8934						"if_else",
8935						types::IfElse {
8936							main: ::subxt::ext::subxt_core::alloc::boxed::Box::new(main),
8937							fallback: ::subxt::ext::subxt_core::alloc::boxed::Box::new(fallback),
8938						},
8939						[
8940							195u8, 146u8, 198u8, 20u8, 96u8, 236u8, 218u8, 101u8, 252u8, 17u8,
8941							41u8, 246u8, 142u8, 116u8, 243u8, 198u8, 237u8, 168u8, 11u8, 211u8,
8942							236u8, 184u8, 71u8, 173u8, 211u8, 0u8, 129u8, 231u8, 99u8, 189u8,
8943							229u8, 34u8,
8944						],
8945					)
8946				}
8947				#[doc = "Dispatches a function call with a provided origin."]
8948				#[doc = ""]
8949				#[doc = "Almost the same as [`Pallet::dispatch_as`] but forwards any error of the inner call."]
8950				#[doc = ""]
8951				#[doc = "The dispatch origin for this call must be _Root_."]
8952				pub fn dispatch_as_fallible(
8953					&self,
8954					as_origin: types::dispatch_as_fallible::AsOrigin,
8955					call: types::dispatch_as_fallible::Call,
8956				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::DispatchAsFallible>
8957				{
8958					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8959						"Utility",
8960						"dispatch_as_fallible",
8961						types::DispatchAsFallible {
8962							as_origin: ::subxt::ext::subxt_core::alloc::boxed::Box::new(as_origin),
8963							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
8964						},
8965						[
8966							52u8, 4u8, 122u8, 93u8, 231u8, 186u8, 88u8, 129u8, 36u8, 245u8, 176u8,
8967							117u8, 22u8, 203u8, 94u8, 115u8, 19u8, 27u8, 141u8, 63u8, 184u8, 171u8,
8968							146u8, 63u8, 124u8, 225u8, 135u8, 73u8, 51u8, 20u8, 60u8, 199u8,
8969						],
8970					)
8971				}
8972			}
8973		}
8974		#[doc = "The `Event` enum of this pallet"]
8975		pub type Event = runtime_types::pallet_utility::pallet::Event;
8976		pub mod events {
8977			use super::runtime_types;
8978			#[derive(
8979				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8980				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8981				Debug,
8982			)]
8983			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8984			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8985			#[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"]
8986			#[doc = "well as the error."]
8987			pub struct BatchInterrupted {
8988				pub index: batch_interrupted::Index,
8989				pub error: batch_interrupted::Error,
8990			}
8991			pub mod batch_interrupted {
8992				use super::runtime_types;
8993				pub type Index = ::core::primitive::u32;
8994				pub type Error = runtime_types::sp_runtime::DispatchError;
8995			}
8996			impl ::subxt::ext::subxt_core::events::StaticEvent for BatchInterrupted {
8997				const PALLET: &'static str = "Utility";
8998				const EVENT: &'static str = "BatchInterrupted";
8999			}
9000			#[derive(
9001				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9002				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9003				Debug,
9004			)]
9005			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9006			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9007			#[doc = "Batch of dispatches completed fully with no error."]
9008			pub struct BatchCompleted;
9009			impl ::subxt::ext::subxt_core::events::StaticEvent for BatchCompleted {
9010				const PALLET: &'static str = "Utility";
9011				const EVENT: &'static str = "BatchCompleted";
9012			}
9013			#[derive(
9014				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9015				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9016				Debug,
9017			)]
9018			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9019			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9020			#[doc = "Batch of dispatches completed but has errors."]
9021			pub struct BatchCompletedWithErrors;
9022			impl ::subxt::ext::subxt_core::events::StaticEvent for BatchCompletedWithErrors {
9023				const PALLET: &'static str = "Utility";
9024				const EVENT: &'static str = "BatchCompletedWithErrors";
9025			}
9026			#[derive(
9027				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9028				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9029				Debug,
9030			)]
9031			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9032			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9033			#[doc = "A single item within a Batch of dispatches has completed with no error."]
9034			pub struct ItemCompleted;
9035			impl ::subxt::ext::subxt_core::events::StaticEvent for ItemCompleted {
9036				const PALLET: &'static str = "Utility";
9037				const EVENT: &'static str = "ItemCompleted";
9038			}
9039			#[derive(
9040				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9041				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9042				Debug,
9043			)]
9044			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9045			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9046			#[doc = "A single item within a Batch of dispatches has completed with error."]
9047			pub struct ItemFailed {
9048				pub error: item_failed::Error,
9049			}
9050			pub mod item_failed {
9051				use super::runtime_types;
9052				pub type Error = runtime_types::sp_runtime::DispatchError;
9053			}
9054			impl ::subxt::ext::subxt_core::events::StaticEvent for ItemFailed {
9055				const PALLET: &'static str = "Utility";
9056				const EVENT: &'static str = "ItemFailed";
9057			}
9058			#[derive(
9059				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9060				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9061				Debug,
9062			)]
9063			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9064			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9065			#[doc = "A call was dispatched."]
9066			pub struct DispatchedAs {
9067				pub result: dispatched_as::Result,
9068			}
9069			pub mod dispatched_as {
9070				use super::runtime_types;
9071				pub type Result =
9072					::core::result::Result<(), runtime_types::sp_runtime::DispatchError>;
9073			}
9074			impl ::subxt::ext::subxt_core::events::StaticEvent for DispatchedAs {
9075				const PALLET: &'static str = "Utility";
9076				const EVENT: &'static str = "DispatchedAs";
9077			}
9078			#[derive(
9079				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9080				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9081				Debug,
9082			)]
9083			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9084			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9085			#[doc = "Main call was dispatched."]
9086			pub struct IfElseMainSuccess;
9087			impl ::subxt::ext::subxt_core::events::StaticEvent for IfElseMainSuccess {
9088				const PALLET: &'static str = "Utility";
9089				const EVENT: &'static str = "IfElseMainSuccess";
9090			}
9091			#[derive(
9092				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9093				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9094				Debug,
9095			)]
9096			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9097			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9098			#[doc = "The fallback call was dispatched."]
9099			pub struct IfElseFallbackCalled {
9100				pub main_error: if_else_fallback_called::MainError,
9101			}
9102			pub mod if_else_fallback_called {
9103				use super::runtime_types;
9104				pub type MainError = runtime_types::sp_runtime::DispatchError;
9105			}
9106			impl ::subxt::ext::subxt_core::events::StaticEvent for IfElseFallbackCalled {
9107				const PALLET: &'static str = "Utility";
9108				const EVENT: &'static str = "IfElseFallbackCalled";
9109			}
9110		}
9111		pub mod constants {
9112			use super::runtime_types;
9113			pub struct ConstantsApi;
9114			impl ConstantsApi {
9115				#[doc = " The limit on the number of batched calls."]
9116				pub fn batched_calls_limit(
9117					&self,
9118				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
9119					::core::primitive::u32,
9120				> {
9121					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
9122						"Utility",
9123						"batched_calls_limit",
9124						[
9125							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
9126							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
9127							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
9128							145u8,
9129						],
9130					)
9131				}
9132			}
9133		}
9134	}
9135	pub mod referenda {
9136		use super::{root_mod, runtime_types};
9137		#[doc = "The `Error` enum of this pallet."]
9138		pub type Error = runtime_types::pallet_referenda::pallet::Error;
9139		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
9140		pub type Call = runtime_types::pallet_referenda::pallet::Call;
9141		pub mod calls {
9142			use super::{root_mod, runtime_types};
9143			type DispatchError = runtime_types::sp_runtime::DispatchError;
9144			pub mod types {
9145				use super::runtime_types;
9146				#[derive(
9147					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9148					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9149					Debug,
9150				)]
9151				#[decode_as_type(
9152					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9153				)]
9154				#[encode_as_type(
9155					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9156				)]
9157				#[doc = "Propose a referendum on a privileged action."]
9158				#[doc = ""]
9159				#[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"]
9160				#[doc = "  available."]
9161				#[doc = "- `proposal_origin`: The origin from which the proposal should be executed."]
9162				#[doc = "- `proposal`: The proposal."]
9163				#[doc = "- `enactment_moment`: The moment that the proposal should be enacted."]
9164				#[doc = ""]
9165				#[doc = "Emits `Submitted`."]
9166				pub struct Submit {
9167					pub proposal_origin:
9168						::subxt::ext::subxt_core::alloc::boxed::Box<submit::ProposalOrigin>,
9169					pub proposal: submit::Proposal,
9170					pub enactment_moment: submit::EnactmentMoment,
9171				}
9172				pub mod submit {
9173					use super::runtime_types;
9174					pub type ProposalOrigin = runtime_types::quantus_runtime::OriginCaller;
9175					pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
9176						runtime_types::quantus_runtime::RuntimeCall,
9177						runtime_types::qp_poseidon::PoseidonHasher,
9178					>;
9179					pub type EnactmentMoment =
9180						runtime_types::frame_support::traits::schedule::DispatchTime<
9181							::core::primitive::u32,
9182						>;
9183				}
9184				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Submit {
9185					const PALLET: &'static str = "Referenda";
9186					const CALL: &'static str = "submit";
9187				}
9188				#[derive(
9189					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9190					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9191					Debug,
9192				)]
9193				#[decode_as_type(
9194					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9195				)]
9196				#[encode_as_type(
9197					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9198				)]
9199				#[doc = "Post the Decision Deposit for a referendum."]
9200				#[doc = ""]
9201				#[doc = "- `origin`: must be `Signed` and the account must have funds available for the"]
9202				#[doc = "  referendum's track's Decision Deposit."]
9203				#[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"]
9204				#[doc = "  posted."]
9205				#[doc = ""]
9206				#[doc = "Emits `DecisionDepositPlaced`."]
9207				pub struct PlaceDecisionDeposit {
9208					pub index: place_decision_deposit::Index,
9209				}
9210				pub mod place_decision_deposit {
9211					use super::runtime_types;
9212					pub type Index = ::core::primitive::u32;
9213				}
9214				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for PlaceDecisionDeposit {
9215					const PALLET: &'static str = "Referenda";
9216					const CALL: &'static str = "place_decision_deposit";
9217				}
9218				#[derive(
9219					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9220					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9221					Debug,
9222				)]
9223				#[decode_as_type(
9224					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9225				)]
9226				#[encode_as_type(
9227					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9228				)]
9229				#[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."]
9230				#[doc = ""]
9231				#[doc = "- `origin`: must be `Signed` or `Root`."]
9232				#[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"]
9233				#[doc = "  refunded."]
9234				#[doc = ""]
9235				#[doc = "Emits `DecisionDepositRefunded`."]
9236				pub struct RefundDecisionDeposit {
9237					pub index: refund_decision_deposit::Index,
9238				}
9239				pub mod refund_decision_deposit {
9240					use super::runtime_types;
9241					pub type Index = ::core::primitive::u32;
9242				}
9243				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RefundDecisionDeposit {
9244					const PALLET: &'static str = "Referenda";
9245					const CALL: &'static str = "refund_decision_deposit";
9246				}
9247				#[derive(
9248					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9249					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9250					Debug,
9251				)]
9252				#[decode_as_type(
9253					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9254				)]
9255				#[encode_as_type(
9256					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9257				)]
9258				#[doc = "Cancel an ongoing referendum."]
9259				#[doc = ""]
9260				#[doc = "- `origin`: must be the `CancelOrigin`."]
9261				#[doc = "- `index`: The index of the referendum to be cancelled."]
9262				#[doc = ""]
9263				#[doc = "Emits `Cancelled`."]
9264				pub struct Cancel {
9265					pub index: cancel::Index,
9266				}
9267				pub mod cancel {
9268					use super::runtime_types;
9269					pub type Index = ::core::primitive::u32;
9270				}
9271				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Cancel {
9272					const PALLET: &'static str = "Referenda";
9273					const CALL: &'static str = "cancel";
9274				}
9275				#[derive(
9276					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9277					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9278					Debug,
9279				)]
9280				#[decode_as_type(
9281					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9282				)]
9283				#[encode_as_type(
9284					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9285				)]
9286				#[doc = "Cancel an ongoing referendum and slash the deposits."]
9287				#[doc = ""]
9288				#[doc = "- `origin`: must be the `KillOrigin`."]
9289				#[doc = "- `index`: The index of the referendum to be cancelled."]
9290				#[doc = ""]
9291				#[doc = "Emits `Killed` and `DepositSlashed`."]
9292				pub struct Kill {
9293					pub index: kill::Index,
9294				}
9295				pub mod kill {
9296					use super::runtime_types;
9297					pub type Index = ::core::primitive::u32;
9298				}
9299				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Kill {
9300					const PALLET: &'static str = "Referenda";
9301					const CALL: &'static str = "kill";
9302				}
9303				#[derive(
9304					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9305					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9306					Debug,
9307				)]
9308				#[decode_as_type(
9309					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9310				)]
9311				#[encode_as_type(
9312					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9313				)]
9314				#[doc = "Advance a referendum onto its next logical state. Only used internally."]
9315				#[doc = ""]
9316				#[doc = "- `origin`: must be `Root`."]
9317				#[doc = "- `index`: the referendum to be advanced."]
9318				pub struct NudgeReferendum {
9319					pub index: nudge_referendum::Index,
9320				}
9321				pub mod nudge_referendum {
9322					use super::runtime_types;
9323					pub type Index = ::core::primitive::u32;
9324				}
9325				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for NudgeReferendum {
9326					const PALLET: &'static str = "Referenda";
9327					const CALL: &'static str = "nudge_referendum";
9328				}
9329				#[derive(
9330					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9331					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9332					Debug,
9333				)]
9334				#[decode_as_type(
9335					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9336				)]
9337				#[encode_as_type(
9338					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9339				)]
9340				#[doc = "Advance a track onto its next logical state. Only used internally."]
9341				#[doc = ""]
9342				#[doc = "- `origin`: must be `Root`."]
9343				#[doc = "- `track`: the track to be advanced."]
9344				#[doc = ""]
9345				#[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"]
9346				#[doc = "`DecidingCount` is not yet updated. This means that we should either:"]
9347				#[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"]
9348				#[doc = "- decrement `DecidingCount`."]
9349				pub struct OneFewerDeciding {
9350					pub track: one_fewer_deciding::Track,
9351				}
9352				pub mod one_fewer_deciding {
9353					use super::runtime_types;
9354					pub type Track = ::core::primitive::u16;
9355				}
9356				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for OneFewerDeciding {
9357					const PALLET: &'static str = "Referenda";
9358					const CALL: &'static str = "one_fewer_deciding";
9359				}
9360				#[derive(
9361					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9362					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9363					Debug,
9364				)]
9365				#[decode_as_type(
9366					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9367				)]
9368				#[encode_as_type(
9369					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9370				)]
9371				#[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."]
9372				#[doc = ""]
9373				#[doc = "- `origin`: must be `Signed` or `Root`."]
9374				#[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"]
9375				#[doc = "  refunded."]
9376				#[doc = ""]
9377				#[doc = "Emits `SubmissionDepositRefunded`."]
9378				pub struct RefundSubmissionDeposit {
9379					pub index: refund_submission_deposit::Index,
9380				}
9381				pub mod refund_submission_deposit {
9382					use super::runtime_types;
9383					pub type Index = ::core::primitive::u32;
9384				}
9385				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RefundSubmissionDeposit {
9386					const PALLET: &'static str = "Referenda";
9387					const CALL: &'static str = "refund_submission_deposit";
9388				}
9389				#[derive(
9390					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9391					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9392					Debug,
9393				)]
9394				#[decode_as_type(
9395					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9396				)]
9397				#[encode_as_type(
9398					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9399				)]
9400				#[doc = "Set or clear metadata of a referendum."]
9401				#[doc = ""]
9402				#[doc = "Parameters:"]
9403				#[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"]
9404				#[doc = "  metadata of a finished referendum."]
9405				#[doc = "- `index`:  The index of a referendum to set or clear metadata for."]
9406				#[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."]
9407				pub struct SetMetadata {
9408					pub index: set_metadata::Index,
9409					pub maybe_hash: set_metadata::MaybeHash,
9410				}
9411				pub mod set_metadata {
9412					use super::runtime_types;
9413					pub type Index = ::core::primitive::u32;
9414					pub type MaybeHash =
9415						::core::option::Option<::subxt::ext::subxt_core::utils::H256>;
9416				}
9417				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetMetadata {
9418					const PALLET: &'static str = "Referenda";
9419					const CALL: &'static str = "set_metadata";
9420				}
9421			}
9422			pub struct TransactionApi;
9423			impl TransactionApi {
9424				#[doc = "Propose a referendum on a privileged action."]
9425				#[doc = ""]
9426				#[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"]
9427				#[doc = "  available."]
9428				#[doc = "- `proposal_origin`: The origin from which the proposal should be executed."]
9429				#[doc = "- `proposal`: The proposal."]
9430				#[doc = "- `enactment_moment`: The moment that the proposal should be enacted."]
9431				#[doc = ""]
9432				#[doc = "Emits `Submitted`."]
9433				pub fn submit(
9434					&self,
9435					proposal_origin: types::submit::ProposalOrigin,
9436					proposal: types::submit::Proposal,
9437					enactment_moment: types::submit::EnactmentMoment,
9438				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Submit> {
9439					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9440						"Referenda",
9441						"submit",
9442						types::Submit {
9443							proposal_origin: ::subxt::ext::subxt_core::alloc::boxed::Box::new(
9444								proposal_origin,
9445							),
9446							proposal,
9447							enactment_moment,
9448						},
9449						[
9450							30u8, 232u8, 132u8, 0u8, 199u8, 166u8, 49u8, 94u8, 238u8, 61u8, 236u8,
9451							207u8, 2u8, 136u8, 37u8, 81u8, 67u8, 133u8, 2u8, 147u8, 177u8, 176u8,
9452							178u8, 113u8, 155u8, 180u8, 104u8, 176u8, 215u8, 255u8, 240u8, 100u8,
9453						],
9454					)
9455				}
9456				#[doc = "Post the Decision Deposit for a referendum."]
9457				#[doc = ""]
9458				#[doc = "- `origin`: must be `Signed` and the account must have funds available for the"]
9459				#[doc = "  referendum's track's Decision Deposit."]
9460				#[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"]
9461				#[doc = "  posted."]
9462				#[doc = ""]
9463				#[doc = "Emits `DecisionDepositPlaced`."]
9464				pub fn place_decision_deposit(
9465					&self,
9466					index: types::place_decision_deposit::Index,
9467				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::PlaceDecisionDeposit>
9468				{
9469					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9470						"Referenda",
9471						"place_decision_deposit",
9472						types::PlaceDecisionDeposit { index },
9473						[
9474							247u8, 158u8, 55u8, 191u8, 188u8, 200u8, 3u8, 47u8, 20u8, 175u8, 86u8,
9475							203u8, 52u8, 253u8, 91u8, 131u8, 21u8, 213u8, 56u8, 68u8, 40u8, 84u8,
9476							184u8, 30u8, 9u8, 193u8, 63u8, 182u8, 178u8, 241u8, 247u8, 220u8,
9477						],
9478					)
9479				}
9480				#[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."]
9481				#[doc = ""]
9482				#[doc = "- `origin`: must be `Signed` or `Root`."]
9483				#[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"]
9484				#[doc = "  refunded."]
9485				#[doc = ""]
9486				#[doc = "Emits `DecisionDepositRefunded`."]
9487				pub fn refund_decision_deposit(
9488					&self,
9489					index: types::refund_decision_deposit::Index,
9490				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
9491					types::RefundDecisionDeposit,
9492				> {
9493					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9494						"Referenda",
9495						"refund_decision_deposit",
9496						types::RefundDecisionDeposit { index },
9497						[
9498							159u8, 19u8, 35u8, 216u8, 114u8, 105u8, 18u8, 42u8, 148u8, 151u8,
9499							136u8, 92u8, 117u8, 30u8, 29u8, 41u8, 238u8, 58u8, 195u8, 91u8, 115u8,
9500							135u8, 96u8, 99u8, 154u8, 233u8, 8u8, 249u8, 145u8, 165u8, 77u8, 164u8,
9501						],
9502					)
9503				}
9504				#[doc = "Cancel an ongoing referendum."]
9505				#[doc = ""]
9506				#[doc = "- `origin`: must be the `CancelOrigin`."]
9507				#[doc = "- `index`: The index of the referendum to be cancelled."]
9508				#[doc = ""]
9509				#[doc = "Emits `Cancelled`."]
9510				pub fn cancel(
9511					&self,
9512					index: types::cancel::Index,
9513				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Cancel> {
9514					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9515						"Referenda",
9516						"cancel",
9517						types::Cancel { index },
9518						[
9519							55u8, 206u8, 119u8, 156u8, 238u8, 165u8, 193u8, 73u8, 242u8, 13u8,
9520							212u8, 75u8, 136u8, 156u8, 151u8, 14u8, 35u8, 41u8, 156u8, 107u8, 60u8,
9521							190u8, 39u8, 216u8, 8u8, 74u8, 213u8, 130u8, 160u8, 131u8, 237u8,
9522							122u8,
9523						],
9524					)
9525				}
9526				#[doc = "Cancel an ongoing referendum and slash the deposits."]
9527				#[doc = ""]
9528				#[doc = "- `origin`: must be the `KillOrigin`."]
9529				#[doc = "- `index`: The index of the referendum to be cancelled."]
9530				#[doc = ""]
9531				#[doc = "Emits `Killed` and `DepositSlashed`."]
9532				pub fn kill(
9533					&self,
9534					index: types::kill::Index,
9535				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Kill> {
9536					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9537						"Referenda",
9538						"kill",
9539						types::Kill { index },
9540						[
9541							50u8, 89u8, 57u8, 0u8, 87u8, 129u8, 113u8, 140u8, 179u8, 178u8, 126u8,
9542							198u8, 92u8, 92u8, 189u8, 64u8, 123u8, 232u8, 57u8, 227u8, 223u8,
9543							219u8, 73u8, 217u8, 179u8, 44u8, 210u8, 125u8, 180u8, 10u8, 143u8,
9544							48u8,
9545						],
9546					)
9547				}
9548				#[doc = "Advance a referendum onto its next logical state. Only used internally."]
9549				#[doc = ""]
9550				#[doc = "- `origin`: must be `Root`."]
9551				#[doc = "- `index`: the referendum to be advanced."]
9552				pub fn nudge_referendum(
9553					&self,
9554					index: types::nudge_referendum::Index,
9555				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::NudgeReferendum>
9556				{
9557					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9558						"Referenda",
9559						"nudge_referendum",
9560						types::NudgeReferendum { index },
9561						[
9562							75u8, 99u8, 172u8, 30u8, 170u8, 150u8, 211u8, 229u8, 249u8, 128u8,
9563							194u8, 246u8, 100u8, 142u8, 193u8, 184u8, 232u8, 81u8, 29u8, 17u8,
9564							99u8, 91u8, 236u8, 85u8, 230u8, 226u8, 57u8, 115u8, 45u8, 170u8, 54u8,
9565							213u8,
9566						],
9567					)
9568				}
9569				#[doc = "Advance a track onto its next logical state. Only used internally."]
9570				#[doc = ""]
9571				#[doc = "- `origin`: must be `Root`."]
9572				#[doc = "- `track`: the track to be advanced."]
9573				#[doc = ""]
9574				#[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"]
9575				#[doc = "`DecidingCount` is not yet updated. This means that we should either:"]
9576				#[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"]
9577				#[doc = "- decrement `DecidingCount`."]
9578				pub fn one_fewer_deciding(
9579					&self,
9580					track: types::one_fewer_deciding::Track,
9581				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::OneFewerDeciding>
9582				{
9583					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9584						"Referenda",
9585						"one_fewer_deciding",
9586						types::OneFewerDeciding { track },
9587						[
9588							15u8, 84u8, 79u8, 231u8, 21u8, 239u8, 244u8, 143u8, 183u8, 215u8,
9589							181u8, 25u8, 225u8, 195u8, 95u8, 171u8, 17u8, 156u8, 182u8, 128u8,
9590							111u8, 40u8, 151u8, 102u8, 196u8, 55u8, 36u8, 212u8, 89u8, 190u8,
9591							131u8, 167u8,
9592						],
9593					)
9594				}
9595				#[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."]
9596				#[doc = ""]
9597				#[doc = "- `origin`: must be `Signed` or `Root`."]
9598				#[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"]
9599				#[doc = "  refunded."]
9600				#[doc = ""]
9601				#[doc = "Emits `SubmissionDepositRefunded`."]
9602				pub fn refund_submission_deposit(
9603					&self,
9604					index: types::refund_submission_deposit::Index,
9605				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
9606					types::RefundSubmissionDeposit,
9607				> {
9608					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9609						"Referenda",
9610						"refund_submission_deposit",
9611						types::RefundSubmissionDeposit { index },
9612						[
9613							20u8, 217u8, 115u8, 6u8, 1u8, 60u8, 54u8, 136u8, 35u8, 41u8, 38u8,
9614							23u8, 85u8, 100u8, 141u8, 126u8, 30u8, 160u8, 61u8, 46u8, 134u8, 98u8,
9615							82u8, 38u8, 211u8, 124u8, 208u8, 222u8, 210u8, 10u8, 155u8, 122u8,
9616						],
9617					)
9618				}
9619				#[doc = "Set or clear metadata of a referendum."]
9620				#[doc = ""]
9621				#[doc = "Parameters:"]
9622				#[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"]
9623				#[doc = "  metadata of a finished referendum."]
9624				#[doc = "- `index`:  The index of a referendum to set or clear metadata for."]
9625				#[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."]
9626				pub fn set_metadata(
9627					&self,
9628					index: types::set_metadata::Index,
9629					maybe_hash: types::set_metadata::MaybeHash,
9630				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetMetadata> {
9631					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
9632						"Referenda",
9633						"set_metadata",
9634						types::SetMetadata { index, maybe_hash },
9635						[
9636							207u8, 29u8, 146u8, 233u8, 219u8, 205u8, 88u8, 118u8, 106u8, 61u8,
9637							124u8, 101u8, 2u8, 41u8, 169u8, 70u8, 114u8, 189u8, 162u8, 118u8, 1u8,
9638							108u8, 234u8, 98u8, 245u8, 245u8, 183u8, 126u8, 89u8, 13u8, 112u8,
9639							88u8,
9640						],
9641					)
9642				}
9643			}
9644		}
9645		#[doc = "The `Event` enum of this pallet"]
9646		pub type Event = runtime_types::pallet_referenda::pallet::Event1;
9647		pub mod events {
9648			use super::runtime_types;
9649			#[derive(
9650				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9651				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9652				Debug,
9653			)]
9654			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9655			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9656			#[doc = "A referendum has been submitted."]
9657			pub struct Submitted {
9658				pub index: submitted::Index,
9659				pub track: submitted::Track,
9660				pub proposal: submitted::Proposal,
9661			}
9662			pub mod submitted {
9663				use super::runtime_types;
9664				pub type Index = ::core::primitive::u32;
9665				pub type Track = ::core::primitive::u16;
9666				pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
9667					runtime_types::quantus_runtime::RuntimeCall,
9668					runtime_types::qp_poseidon::PoseidonHasher,
9669				>;
9670			}
9671			impl ::subxt::ext::subxt_core::events::StaticEvent for Submitted {
9672				const PALLET: &'static str = "Referenda";
9673				const EVENT: &'static str = "Submitted";
9674			}
9675			#[derive(
9676				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9677				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9678				Debug,
9679			)]
9680			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9681			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9682			#[doc = "The decision deposit has been placed."]
9683			pub struct DecisionDepositPlaced {
9684				pub index: decision_deposit_placed::Index,
9685				pub who: decision_deposit_placed::Who,
9686				pub amount: decision_deposit_placed::Amount,
9687			}
9688			pub mod decision_deposit_placed {
9689				use super::runtime_types;
9690				pub type Index = ::core::primitive::u32;
9691				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
9692				pub type Amount = ::core::primitive::u128;
9693			}
9694			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionDepositPlaced {
9695				const PALLET: &'static str = "Referenda";
9696				const EVENT: &'static str = "DecisionDepositPlaced";
9697			}
9698			#[derive(
9699				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9700				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9701				Debug,
9702			)]
9703			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9704			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9705			#[doc = "The decision deposit has been refunded."]
9706			pub struct DecisionDepositRefunded {
9707				pub index: decision_deposit_refunded::Index,
9708				pub who: decision_deposit_refunded::Who,
9709				pub amount: decision_deposit_refunded::Amount,
9710			}
9711			pub mod decision_deposit_refunded {
9712				use super::runtime_types;
9713				pub type Index = ::core::primitive::u32;
9714				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
9715				pub type Amount = ::core::primitive::u128;
9716			}
9717			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionDepositRefunded {
9718				const PALLET: &'static str = "Referenda";
9719				const EVENT: &'static str = "DecisionDepositRefunded";
9720			}
9721			#[derive(
9722				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9723				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9724				Debug,
9725			)]
9726			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9727			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9728			#[doc = "A deposit has been slashed."]
9729			pub struct DepositSlashed {
9730				pub who: deposit_slashed::Who,
9731				pub amount: deposit_slashed::Amount,
9732			}
9733			pub mod deposit_slashed {
9734				use super::runtime_types;
9735				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
9736				pub type Amount = ::core::primitive::u128;
9737			}
9738			impl ::subxt::ext::subxt_core::events::StaticEvent for DepositSlashed {
9739				const PALLET: &'static str = "Referenda";
9740				const EVENT: &'static str = "DepositSlashed";
9741			}
9742			#[derive(
9743				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9744				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9745				Debug,
9746			)]
9747			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9748			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9749			#[doc = "A referendum has moved into the deciding phase."]
9750			pub struct DecisionStarted {
9751				pub index: decision_started::Index,
9752				pub track: decision_started::Track,
9753				pub proposal: decision_started::Proposal,
9754				pub tally: decision_started::Tally,
9755			}
9756			pub mod decision_started {
9757				use super::runtime_types;
9758				pub type Index = ::core::primitive::u32;
9759				pub type Track = ::core::primitive::u16;
9760				pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
9761					runtime_types::quantus_runtime::RuntimeCall,
9762					runtime_types::qp_poseidon::PoseidonHasher,
9763				>;
9764				pub type Tally =
9765					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
9766			}
9767			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionStarted {
9768				const PALLET: &'static str = "Referenda";
9769				const EVENT: &'static str = "DecisionStarted";
9770			}
9771			#[derive(
9772				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9773				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9774				Debug,
9775			)]
9776			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9777			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9778			pub struct ConfirmStarted {
9779				pub index: confirm_started::Index,
9780			}
9781			pub mod confirm_started {
9782				use super::runtime_types;
9783				pub type Index = ::core::primitive::u32;
9784			}
9785			impl ::subxt::ext::subxt_core::events::StaticEvent for ConfirmStarted {
9786				const PALLET: &'static str = "Referenda";
9787				const EVENT: &'static str = "ConfirmStarted";
9788			}
9789			#[derive(
9790				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9791				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9792				Debug,
9793			)]
9794			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9795			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9796			pub struct ConfirmAborted {
9797				pub index: confirm_aborted::Index,
9798			}
9799			pub mod confirm_aborted {
9800				use super::runtime_types;
9801				pub type Index = ::core::primitive::u32;
9802			}
9803			impl ::subxt::ext::subxt_core::events::StaticEvent for ConfirmAborted {
9804				const PALLET: &'static str = "Referenda";
9805				const EVENT: &'static str = "ConfirmAborted";
9806			}
9807			#[derive(
9808				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9809				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9810				Debug,
9811			)]
9812			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9813			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9814			#[doc = "A referendum has ended its confirmation phase and is ready for approval."]
9815			pub struct Confirmed {
9816				pub index: confirmed::Index,
9817				pub tally: confirmed::Tally,
9818			}
9819			pub mod confirmed {
9820				use super::runtime_types;
9821				pub type Index = ::core::primitive::u32;
9822				pub type Tally =
9823					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
9824			}
9825			impl ::subxt::ext::subxt_core::events::StaticEvent for Confirmed {
9826				const PALLET: &'static str = "Referenda";
9827				const EVENT: &'static str = "Confirmed";
9828			}
9829			#[derive(
9830				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9831				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9832				Debug,
9833			)]
9834			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9835			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9836			#[doc = "A referendum has been approved and its proposal has been scheduled."]
9837			pub struct Approved {
9838				pub index: approved::Index,
9839			}
9840			pub mod approved {
9841				use super::runtime_types;
9842				pub type Index = ::core::primitive::u32;
9843			}
9844			impl ::subxt::ext::subxt_core::events::StaticEvent for Approved {
9845				const PALLET: &'static str = "Referenda";
9846				const EVENT: &'static str = "Approved";
9847			}
9848			#[derive(
9849				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9850				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9851				Debug,
9852			)]
9853			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9854			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9855			#[doc = "A proposal has been rejected by referendum."]
9856			pub struct Rejected {
9857				pub index: rejected::Index,
9858				pub tally: rejected::Tally,
9859			}
9860			pub mod rejected {
9861				use super::runtime_types;
9862				pub type Index = ::core::primitive::u32;
9863				pub type Tally =
9864					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
9865			}
9866			impl ::subxt::ext::subxt_core::events::StaticEvent for Rejected {
9867				const PALLET: &'static str = "Referenda";
9868				const EVENT: &'static str = "Rejected";
9869			}
9870			#[derive(
9871				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9872				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9873				Debug,
9874			)]
9875			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9876			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9877			#[doc = "A referendum has been timed out without being decided."]
9878			pub struct TimedOut {
9879				pub index: timed_out::Index,
9880				pub tally: timed_out::Tally,
9881			}
9882			pub mod timed_out {
9883				use super::runtime_types;
9884				pub type Index = ::core::primitive::u32;
9885				pub type Tally =
9886					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
9887			}
9888			impl ::subxt::ext::subxt_core::events::StaticEvent for TimedOut {
9889				const PALLET: &'static str = "Referenda";
9890				const EVENT: &'static str = "TimedOut";
9891			}
9892			#[derive(
9893				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9894				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9895				Debug,
9896			)]
9897			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9898			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9899			#[doc = "A referendum has been cancelled."]
9900			pub struct Cancelled {
9901				pub index: cancelled::Index,
9902				pub tally: cancelled::Tally,
9903			}
9904			pub mod cancelled {
9905				use super::runtime_types;
9906				pub type Index = ::core::primitive::u32;
9907				pub type Tally =
9908					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
9909			}
9910			impl ::subxt::ext::subxt_core::events::StaticEvent for Cancelled {
9911				const PALLET: &'static str = "Referenda";
9912				const EVENT: &'static str = "Cancelled";
9913			}
9914			#[derive(
9915				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9916				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9917				Debug,
9918			)]
9919			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9920			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9921			#[doc = "A referendum has been killed."]
9922			pub struct Killed {
9923				pub index: killed::Index,
9924				pub tally: killed::Tally,
9925			}
9926			pub mod killed {
9927				use super::runtime_types;
9928				pub type Index = ::core::primitive::u32;
9929				pub type Tally =
9930					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
9931			}
9932			impl ::subxt::ext::subxt_core::events::StaticEvent for Killed {
9933				const PALLET: &'static str = "Referenda";
9934				const EVENT: &'static str = "Killed";
9935			}
9936			#[derive(
9937				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9938				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9939				Debug,
9940			)]
9941			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9942			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9943			#[doc = "The submission deposit has been refunded."]
9944			pub struct SubmissionDepositRefunded {
9945				pub index: submission_deposit_refunded::Index,
9946				pub who: submission_deposit_refunded::Who,
9947				pub amount: submission_deposit_refunded::Amount,
9948			}
9949			pub mod submission_deposit_refunded {
9950				use super::runtime_types;
9951				pub type Index = ::core::primitive::u32;
9952				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
9953				pub type Amount = ::core::primitive::u128;
9954			}
9955			impl ::subxt::ext::subxt_core::events::StaticEvent for SubmissionDepositRefunded {
9956				const PALLET: &'static str = "Referenda";
9957				const EVENT: &'static str = "SubmissionDepositRefunded";
9958			}
9959			#[derive(
9960				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9961				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9962				Debug,
9963			)]
9964			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9965			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9966			#[doc = "Metadata for a referendum has been set."]
9967			pub struct MetadataSet {
9968				pub index: metadata_set::Index,
9969				pub hash: metadata_set::Hash,
9970			}
9971			pub mod metadata_set {
9972				use super::runtime_types;
9973				pub type Index = ::core::primitive::u32;
9974				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
9975			}
9976			impl ::subxt::ext::subxt_core::events::StaticEvent for MetadataSet {
9977				const PALLET: &'static str = "Referenda";
9978				const EVENT: &'static str = "MetadataSet";
9979			}
9980			#[derive(
9981				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9982				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9983				Debug,
9984			)]
9985			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9986			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9987			#[doc = "Metadata for a referendum has been cleared."]
9988			pub struct MetadataCleared {
9989				pub index: metadata_cleared::Index,
9990				pub hash: metadata_cleared::Hash,
9991			}
9992			pub mod metadata_cleared {
9993				use super::runtime_types;
9994				pub type Index = ::core::primitive::u32;
9995				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
9996			}
9997			impl ::subxt::ext::subxt_core::events::StaticEvent for MetadataCleared {
9998				const PALLET: &'static str = "Referenda";
9999				const EVENT: &'static str = "MetadataCleared";
10000			}
10001		}
10002		pub mod storage {
10003			use super::runtime_types;
10004			pub mod types {
10005				use super::runtime_types;
10006				pub mod referendum_count {
10007					use super::runtime_types;
10008					pub type ReferendumCount = ::core::primitive::u32;
10009				}
10010				pub mod referendum_info_for {
10011					use super::runtime_types;
10012					pub type ReferendumInfoFor =
10013						runtime_types::pallet_referenda::types::ReferendumInfo<
10014							::core::primitive::u16,
10015							runtime_types::quantus_runtime::OriginCaller,
10016							::core::primitive::u32,
10017							runtime_types::frame_support::traits::preimages::Bounded<
10018								runtime_types::quantus_runtime::RuntimeCall,
10019								runtime_types::qp_poseidon::PoseidonHasher,
10020							>,
10021							::core::primitive::u128,
10022							runtime_types::pallet_conviction_voting::types::Tally<
10023								::core::primitive::u128,
10024							>,
10025							::subxt::ext::subxt_core::utils::AccountId32,
10026							(
10027								runtime_types::qp_scheduler::BlockNumberOrTimestamp<
10028									::core::primitive::u32,
10029									::core::primitive::u64,
10030								>,
10031								::core::primitive::u32,
10032							),
10033						>;
10034					pub type Param0 = ::core::primitive::u32;
10035				}
10036				pub mod track_queue {
10037					use super::runtime_types;
10038					pub type TrackQueue =
10039						runtime_types::bounded_collections::bounded_vec::BoundedVec<(
10040							::core::primitive::u32,
10041							::core::primitive::u128,
10042						)>;
10043					pub type Param0 = ::core::primitive::u16;
10044				}
10045				pub mod deciding_count {
10046					use super::runtime_types;
10047					pub type DecidingCount = ::core::primitive::u32;
10048					pub type Param0 = ::core::primitive::u16;
10049				}
10050				pub mod metadata_of {
10051					use super::runtime_types;
10052					pub type MetadataOf = ::subxt::ext::subxt_core::utils::H256;
10053					pub type Param0 = ::core::primitive::u32;
10054				}
10055			}
10056			pub struct StorageApi;
10057			impl StorageApi {
10058				#[doc = " The next free referendum index, aka the number of referenda started so far."]
10059				pub fn referendum_count(
10060					&self,
10061				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10062					(),
10063					types::referendum_count::ReferendumCount,
10064					::subxt::ext::subxt_core::utils::Yes,
10065					::subxt::ext::subxt_core::utils::Yes,
10066					(),
10067				> {
10068					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10069						"Referenda",
10070						"ReferendumCount",
10071						(),
10072						[
10073							64u8, 145u8, 232u8, 153u8, 121u8, 87u8, 128u8, 253u8, 170u8, 192u8,
10074							139u8, 18u8, 0u8, 33u8, 243u8, 11u8, 238u8, 222u8, 244u8, 5u8, 247u8,
10075							198u8, 149u8, 31u8, 122u8, 208u8, 86u8, 179u8, 166u8, 167u8, 93u8,
10076							67u8,
10077						],
10078					)
10079				}
10080				#[doc = " Information concerning any given referendum."]
10081				pub fn referendum_info_for_iter(
10082					&self,
10083				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10084					(),
10085					types::referendum_info_for::ReferendumInfoFor,
10086					(),
10087					(),
10088					::subxt::ext::subxt_core::utils::Yes,
10089				> {
10090					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10091						"Referenda",
10092						"ReferendumInfoFor",
10093						(),
10094						[
10095							141u8, 184u8, 126u8, 61u8, 215u8, 190u8, 148u8, 93u8, 186u8, 72u8,
10096							110u8, 37u8, 82u8, 237u8, 65u8, 197u8, 69u8, 83u8, 173u8, 114u8, 117u8,
10097							72u8, 146u8, 28u8, 235u8, 60u8, 188u8, 247u8, 80u8, 240u8, 16u8, 194u8,
10098						],
10099					)
10100				}
10101				#[doc = " Information concerning any given referendum."]
10102				pub fn referendum_info_for(
10103					&self,
10104					_0: types::referendum_info_for::Param0,
10105				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10106					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
10107						types::referendum_info_for::Param0,
10108					>,
10109					types::referendum_info_for::ReferendumInfoFor,
10110					::subxt::ext::subxt_core::utils::Yes,
10111					(),
10112					(),
10113				> {
10114					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10115						"Referenda",
10116						"ReferendumInfoFor",
10117						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
10118						[
10119							141u8, 184u8, 126u8, 61u8, 215u8, 190u8, 148u8, 93u8, 186u8, 72u8,
10120							110u8, 37u8, 82u8, 237u8, 65u8, 197u8, 69u8, 83u8, 173u8, 114u8, 117u8,
10121							72u8, 146u8, 28u8, 235u8, 60u8, 188u8, 247u8, 80u8, 240u8, 16u8, 194u8,
10122						],
10123					)
10124				}
10125				#[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"]
10126				#[doc = " conviction-weighted approvals."]
10127				#[doc = ""]
10128				#[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."]
10129				pub fn track_queue_iter(
10130					&self,
10131				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10132					(),
10133					types::track_queue::TrackQueue,
10134					(),
10135					::subxt::ext::subxt_core::utils::Yes,
10136					::subxt::ext::subxt_core::utils::Yes,
10137				> {
10138					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10139						"Referenda",
10140						"TrackQueue",
10141						(),
10142						[
10143							125u8, 59u8, 111u8, 68u8, 27u8, 236u8, 82u8, 55u8, 83u8, 159u8, 105u8,
10144							20u8, 241u8, 118u8, 58u8, 141u8, 103u8, 60u8, 246u8, 49u8, 121u8,
10145							183u8, 7u8, 203u8, 225u8, 67u8, 132u8, 79u8, 150u8, 107u8, 71u8, 89u8,
10146						],
10147					)
10148				}
10149				#[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"]
10150				#[doc = " conviction-weighted approvals."]
10151				#[doc = ""]
10152				#[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."]
10153				pub fn track_queue(
10154					&self,
10155					_0: types::track_queue::Param0,
10156				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10157					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
10158						types::track_queue::Param0,
10159					>,
10160					types::track_queue::TrackQueue,
10161					::subxt::ext::subxt_core::utils::Yes,
10162					::subxt::ext::subxt_core::utils::Yes,
10163					(),
10164				> {
10165					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10166						"Referenda",
10167						"TrackQueue",
10168						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
10169						[
10170							125u8, 59u8, 111u8, 68u8, 27u8, 236u8, 82u8, 55u8, 83u8, 159u8, 105u8,
10171							20u8, 241u8, 118u8, 58u8, 141u8, 103u8, 60u8, 246u8, 49u8, 121u8,
10172							183u8, 7u8, 203u8, 225u8, 67u8, 132u8, 79u8, 150u8, 107u8, 71u8, 89u8,
10173						],
10174					)
10175				}
10176				#[doc = " The number of referenda being decided currently."]
10177				pub fn deciding_count_iter(
10178					&self,
10179				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10180					(),
10181					types::deciding_count::DecidingCount,
10182					(),
10183					::subxt::ext::subxt_core::utils::Yes,
10184					::subxt::ext::subxt_core::utils::Yes,
10185				> {
10186					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10187						"Referenda",
10188						"DecidingCount",
10189						(),
10190						[
10191							203u8, 89u8, 158u8, 179u8, 194u8, 82u8, 248u8, 162u8, 93u8, 140u8,
10192							146u8, 51u8, 110u8, 232u8, 51u8, 1u8, 128u8, 212u8, 199u8, 14u8, 182u8,
10193							103u8, 47u8, 252u8, 126u8, 108u8, 166u8, 69u8, 252u8, 179u8, 126u8,
10194							245u8,
10195						],
10196					)
10197				}
10198				#[doc = " The number of referenda being decided currently."]
10199				pub fn deciding_count(
10200					&self,
10201					_0: types::deciding_count::Param0,
10202				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10203					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
10204						types::deciding_count::Param0,
10205					>,
10206					types::deciding_count::DecidingCount,
10207					::subxt::ext::subxt_core::utils::Yes,
10208					::subxt::ext::subxt_core::utils::Yes,
10209					(),
10210				> {
10211					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10212						"Referenda",
10213						"DecidingCount",
10214						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
10215						[
10216							203u8, 89u8, 158u8, 179u8, 194u8, 82u8, 248u8, 162u8, 93u8, 140u8,
10217							146u8, 51u8, 110u8, 232u8, 51u8, 1u8, 128u8, 212u8, 199u8, 14u8, 182u8,
10218							103u8, 47u8, 252u8, 126u8, 108u8, 166u8, 69u8, 252u8, 179u8, 126u8,
10219							245u8,
10220						],
10221					)
10222				}
10223				#[doc = " The metadata is a general information concerning the referendum."]
10224				#[doc = " The `Hash` refers to the preimage of the `Preimages` provider which can be a JSON"]
10225				#[doc = " dump or IPFS hash of a JSON file."]
10226				#[doc = ""]
10227				#[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"]
10228				#[doc = " large preimages."]
10229				pub fn metadata_of_iter(
10230					&self,
10231				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10232					(),
10233					types::metadata_of::MetadataOf,
10234					(),
10235					(),
10236					::subxt::ext::subxt_core::utils::Yes,
10237				> {
10238					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10239						"Referenda",
10240						"MetadataOf",
10241						(),
10242						[
10243							159u8, 250u8, 56u8, 189u8, 247u8, 165u8, 206u8, 166u8, 91u8, 139u8,
10244							124u8, 164u8, 25u8, 246u8, 199u8, 36u8, 159u8, 56u8, 227u8, 136u8, 4u8,
10245							45u8, 193u8, 72u8, 200u8, 164u8, 39u8, 207u8, 224u8, 124u8, 191u8,
10246							110u8,
10247						],
10248					)
10249				}
10250				#[doc = " The metadata is a general information concerning the referendum."]
10251				#[doc = " The `Hash` refers to the preimage of the `Preimages` provider which can be a JSON"]
10252				#[doc = " dump or IPFS hash of a JSON file."]
10253				#[doc = ""]
10254				#[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"]
10255				#[doc = " large preimages."]
10256				pub fn metadata_of(
10257					&self,
10258					_0: types::metadata_of::Param0,
10259				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10260					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
10261						types::metadata_of::Param0,
10262					>,
10263					types::metadata_of::MetadataOf,
10264					::subxt::ext::subxt_core::utils::Yes,
10265					(),
10266					(),
10267				> {
10268					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10269						"Referenda",
10270						"MetadataOf",
10271						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
10272						[
10273							159u8, 250u8, 56u8, 189u8, 247u8, 165u8, 206u8, 166u8, 91u8, 139u8,
10274							124u8, 164u8, 25u8, 246u8, 199u8, 36u8, 159u8, 56u8, 227u8, 136u8, 4u8,
10275							45u8, 193u8, 72u8, 200u8, 164u8, 39u8, 207u8, 224u8, 124u8, 191u8,
10276							110u8,
10277						],
10278					)
10279				}
10280			}
10281		}
10282		pub mod constants {
10283			use super::runtime_types;
10284			pub struct ConstantsApi;
10285			impl ConstantsApi {
10286				#[doc = " The minimum amount to be used as a deposit for a public referendum proposal."]
10287				pub fn submission_deposit(
10288					&self,
10289				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
10290					::core::primitive::u128,
10291				> {
10292					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
10293						"Referenda",
10294						"SubmissionDeposit",
10295						[
10296							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
10297							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
10298							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
10299						],
10300					)
10301				}
10302				#[doc = " Maximum size of the referendum queue for a single track."]
10303				pub fn max_queued(
10304					&self,
10305				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
10306					::core::primitive::u32,
10307				> {
10308					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
10309						"Referenda",
10310						"MaxQueued",
10311						[
10312							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
10313							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
10314							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
10315							145u8,
10316						],
10317					)
10318				}
10319				#[doc = " The number of blocks after submission that a referendum must begin being decided by."]
10320				#[doc = " Once this passes, then anyone may cancel the referendum."]
10321				pub fn undeciding_timeout(
10322					&self,
10323				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
10324					::core::primitive::u32,
10325				> {
10326					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
10327						"Referenda",
10328						"UndecidingTimeout",
10329						[
10330							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
10331							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
10332							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
10333							145u8,
10334						],
10335					)
10336				}
10337				#[doc = " Quantization level for the referendum wakeup scheduler. A higher number will result in"]
10338				#[doc = " fewer storage reads/writes needed for smaller voters, but also result in delays to the"]
10339				#[doc = " automatic referendum status changes. Explicit servicing instructions are unaffected."]
10340				pub fn alarm_interval(
10341					&self,
10342				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
10343					::core::primitive::u32,
10344				> {
10345					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
10346						"Referenda",
10347						"AlarmInterval",
10348						[
10349							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
10350							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
10351							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
10352							145u8,
10353						],
10354					)
10355				}
10356				#[doc = " A list of tracks."]
10357				#[doc = ""]
10358				#[doc = " Note: if the tracks are dynamic, the value in the static metadata might be inaccurate."]
10359				pub fn tracks(
10360					&self,
10361				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
10362					::subxt::ext::subxt_core::alloc::vec::Vec<(
10363						::core::primitive::u16,
10364						runtime_types::pallet_referenda::types::TrackDetails<
10365							::core::primitive::u128,
10366							::core::primitive::u32,
10367							::subxt::ext::subxt_core::alloc::string::String,
10368						>,
10369					)>,
10370				> {
10371					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
10372						"Referenda",
10373						"Tracks",
10374						[
10375							35u8, 226u8, 207u8, 234u8, 184u8, 139u8, 187u8, 184u8, 128u8, 199u8,
10376							227u8, 15u8, 31u8, 196u8, 5u8, 207u8, 138u8, 174u8, 130u8, 201u8,
10377							200u8, 113u8, 86u8, 93u8, 221u8, 243u8, 229u8, 24u8, 18u8, 150u8, 56u8,
10378							159u8,
10379						],
10380					)
10381				}
10382			}
10383		}
10384	}
10385	pub mod reversible_transfers {
10386		use super::{root_mod, runtime_types};
10387		#[doc = "The `Error` enum of this pallet."]
10388		pub type Error = runtime_types::pallet_reversible_transfers::pallet::Error;
10389		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
10390		pub type Call = runtime_types::pallet_reversible_transfers::pallet::Call;
10391		pub mod calls {
10392			use super::{root_mod, runtime_types};
10393			type DispatchError = runtime_types::sp_runtime::DispatchError;
10394			pub mod types {
10395				use super::runtime_types;
10396				#[derive(
10397					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10398					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10399					Debug,
10400				)]
10401				#[decode_as_type(
10402					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
10403				)]
10404				#[encode_as_type(
10405					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
10406				)]
10407				#[doc = "Enable high-security for the calling account with a specified"]
10408				#[doc = "reversibility delay."]
10409				#[doc = ""]
10410				#[doc = "Recoverer and interceptor (aka guardian) could be the same account or"]
10411				#[doc = "different accounts."]
10412				#[doc = ""]
10413				#[doc = "Once an account is set as high security it can only make reversible"]
10414				#[doc = "transfers. It is not allowed any other calls."]
10415				#[doc = ""]
10416				#[doc = "- `delay`: The reversibility time for any transfer made by the high"]
10417				#[doc = "security account."]
10418				#[doc = "- interceptor: The account that can intercept transctions from the"]
10419				#[doc = "high security account."]
10420				pub struct SetHighSecurity {
10421					pub delay: set_high_security::Delay,
10422					pub interceptor: set_high_security::Interceptor,
10423				}
10424				pub mod set_high_security {
10425					use super::runtime_types;
10426					pub type Delay = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
10427						::core::primitive::u32,
10428						::core::primitive::u64,
10429					>;
10430					pub type Interceptor = ::subxt::ext::subxt_core::utils::AccountId32;
10431				}
10432				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetHighSecurity {
10433					const PALLET: &'static str = "ReversibleTransfers";
10434					const CALL: &'static str = "set_high_security";
10435				}
10436				#[derive(
10437					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10438					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10439					Debug,
10440				)]
10441				#[decode_as_type(
10442					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
10443				)]
10444				#[encode_as_type(
10445					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
10446				)]
10447				#[doc = "Cancel a pending reversible transaction scheduled by the caller."]
10448				#[doc = ""]
10449				#[doc = "- `tx_id`: The unique identifier of the transaction to cancel."]
10450				pub struct Cancel {
10451					pub tx_id: cancel::TxId,
10452				}
10453				pub mod cancel {
10454					use super::runtime_types;
10455					pub type TxId = ::subxt::ext::subxt_core::utils::H256;
10456				}
10457				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Cancel {
10458					const PALLET: &'static str = "ReversibleTransfers";
10459					const CALL: &'static str = "cancel";
10460				}
10461				#[derive(
10462					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10463					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10464					Debug,
10465				)]
10466				#[decode_as_type(
10467					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
10468				)]
10469				#[encode_as_type(
10470					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
10471				)]
10472				#[doc = "Called by the Scheduler to finalize the scheduled task/call"]
10473				#[doc = ""]
10474				#[doc = "- `tx_id`: The unique id of the transaction to finalize and dispatch."]
10475				pub struct ExecuteTransfer {
10476					pub tx_id: execute_transfer::TxId,
10477				}
10478				pub mod execute_transfer {
10479					use super::runtime_types;
10480					pub type TxId = ::subxt::ext::subxt_core::utils::H256;
10481				}
10482				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ExecuteTransfer {
10483					const PALLET: &'static str = "ReversibleTransfers";
10484					const CALL: &'static str = "execute_transfer";
10485				}
10486				#[derive(
10487					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10488					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10489					Debug,
10490				)]
10491				#[decode_as_type(
10492					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
10493				)]
10494				#[encode_as_type(
10495					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
10496				)]
10497				#[doc = "Schedule a transaction for delayed execution."]
10498				pub struct ScheduleTransfer {
10499					pub dest: schedule_transfer::Dest,
10500					pub amount: schedule_transfer::Amount,
10501				}
10502				pub mod schedule_transfer {
10503					use super::runtime_types;
10504					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
10505						::subxt::ext::subxt_core::utils::AccountId32,
10506						(),
10507					>;
10508					pub type Amount = ::core::primitive::u128;
10509				}
10510				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleTransfer {
10511					const PALLET: &'static str = "ReversibleTransfers";
10512					const CALL: &'static str = "schedule_transfer";
10513				}
10514				#[derive(
10515					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10516					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10517					Debug,
10518				)]
10519				#[decode_as_type(
10520					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
10521				)]
10522				#[encode_as_type(
10523					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
10524				)]
10525				#[doc = "Schedule a transaction for delayed execution with a custom, one-time delay."]
10526				#[doc = ""]
10527				#[doc = "This can only be used by accounts that have *not* set up a persistent"]
10528				#[doc = "reversibility configuration with `set_high_security`."]
10529				#[doc = ""]
10530				#[doc = "- `delay`: The time (in blocks or milliseconds) before the transaction executes."]
10531				pub struct ScheduleTransferWithDelay {
10532					pub dest: schedule_transfer_with_delay::Dest,
10533					pub amount: schedule_transfer_with_delay::Amount,
10534					pub delay: schedule_transfer_with_delay::Delay,
10535				}
10536				pub mod schedule_transfer_with_delay {
10537					use super::runtime_types;
10538					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
10539						::subxt::ext::subxt_core::utils::AccountId32,
10540						(),
10541					>;
10542					pub type Amount = ::core::primitive::u128;
10543					pub type Delay = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
10544						::core::primitive::u32,
10545						::core::primitive::u64,
10546					>;
10547				}
10548				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleTransferWithDelay {
10549					const PALLET: &'static str = "ReversibleTransfers";
10550					const CALL: &'static str = "schedule_transfer_with_delay";
10551				}
10552				#[derive(
10553					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10554					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10555					Debug,
10556				)]
10557				#[decode_as_type(
10558					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
10559				)]
10560				#[encode_as_type(
10561					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
10562				)]
10563				#[doc = "Schedule an asset transfer (pallet-assets) for delayed execution using the configured"]
10564				#[doc = "delay."]
10565				pub struct ScheduleAssetTransfer {
10566					pub asset_id: schedule_asset_transfer::AssetId,
10567					pub dest: schedule_asset_transfer::Dest,
10568					pub amount: schedule_asset_transfer::Amount,
10569				}
10570				pub mod schedule_asset_transfer {
10571					use super::runtime_types;
10572					pub type AssetId = ::core::primitive::u32;
10573					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
10574						::subxt::ext::subxt_core::utils::AccountId32,
10575						(),
10576					>;
10577					pub type Amount = ::core::primitive::u128;
10578				}
10579				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleAssetTransfer {
10580					const PALLET: &'static str = "ReversibleTransfers";
10581					const CALL: &'static str = "schedule_asset_transfer";
10582				}
10583				#[derive(
10584					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10585					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10586					Debug,
10587				)]
10588				#[decode_as_type(
10589					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
10590				)]
10591				#[encode_as_type(
10592					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
10593				)]
10594				#[doc = "Schedule an asset transfer (pallet-assets) with a custom one-time delay."]
10595				pub struct ScheduleAssetTransferWithDelay {
10596					pub asset_id: schedule_asset_transfer_with_delay::AssetId,
10597					pub dest: schedule_asset_transfer_with_delay::Dest,
10598					pub amount: schedule_asset_transfer_with_delay::Amount,
10599					pub delay: schedule_asset_transfer_with_delay::Delay,
10600				}
10601				pub mod schedule_asset_transfer_with_delay {
10602					use super::runtime_types;
10603					pub type AssetId = ::core::primitive::u32;
10604					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
10605						::subxt::ext::subxt_core::utils::AccountId32,
10606						(),
10607					>;
10608					pub type Amount = ::core::primitive::u128;
10609					pub type Delay = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
10610						::core::primitive::u32,
10611						::core::primitive::u64,
10612					>;
10613				}
10614				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleAssetTransferWithDelay {
10615					const PALLET: &'static str = "ReversibleTransfers";
10616					const CALL: &'static str = "schedule_asset_transfer_with_delay";
10617				}
10618			}
10619			pub struct TransactionApi;
10620			impl TransactionApi {
10621				#[doc = "Enable high-security for the calling account with a specified"]
10622				#[doc = "reversibility delay."]
10623				#[doc = ""]
10624				#[doc = "Recoverer and interceptor (aka guardian) could be the same account or"]
10625				#[doc = "different accounts."]
10626				#[doc = ""]
10627				#[doc = "Once an account is set as high security it can only make reversible"]
10628				#[doc = "transfers. It is not allowed any other calls."]
10629				#[doc = ""]
10630				#[doc = "- `delay`: The reversibility time for any transfer made by the high"]
10631				#[doc = "security account."]
10632				#[doc = "- interceptor: The account that can intercept transctions from the"]
10633				#[doc = "high security account."]
10634				pub fn set_high_security(
10635					&self,
10636					delay: types::set_high_security::Delay,
10637					interceptor: types::set_high_security::Interceptor,
10638				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetHighSecurity>
10639				{
10640					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10641						"ReversibleTransfers",
10642						"set_high_security",
10643						types::SetHighSecurity { delay, interceptor },
10644						[
10645							202u8, 17u8, 43u8, 37u8, 215u8, 198u8, 42u8, 183u8, 53u8, 124u8, 140u8,
10646							34u8, 112u8, 230u8, 55u8, 168u8, 242u8, 249u8, 91u8, 185u8, 244u8,
10647							81u8, 40u8, 231u8, 121u8, 155u8, 202u8, 76u8, 137u8, 7u8, 225u8, 184u8,
10648						],
10649					)
10650				}
10651				#[doc = "Cancel a pending reversible transaction scheduled by the caller."]
10652				#[doc = ""]
10653				#[doc = "- `tx_id`: The unique identifier of the transaction to cancel."]
10654				pub fn cancel(
10655					&self,
10656					tx_id: types::cancel::TxId,
10657				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Cancel> {
10658					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10659						"ReversibleTransfers",
10660						"cancel",
10661						types::Cancel { tx_id },
10662						[
10663							228u8, 150u8, 194u8, 119u8, 243u8, 126u8, 112u8, 227u8, 70u8, 160u8,
10664							132u8, 82u8, 146u8, 162u8, 195u8, 149u8, 236u8, 98u8, 18u8, 44u8,
10665							151u8, 249u8, 193u8, 176u8, 186u8, 98u8, 224u8, 103u8, 191u8, 165u8,
10666							37u8, 47u8,
10667						],
10668					)
10669				}
10670				#[doc = "Called by the Scheduler to finalize the scheduled task/call"]
10671				#[doc = ""]
10672				#[doc = "- `tx_id`: The unique id of the transaction to finalize and dispatch."]
10673				pub fn execute_transfer(
10674					&self,
10675					tx_id: types::execute_transfer::TxId,
10676				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ExecuteTransfer>
10677				{
10678					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10679						"ReversibleTransfers",
10680						"execute_transfer",
10681						types::ExecuteTransfer { tx_id },
10682						[
10683							164u8, 38u8, 166u8, 81u8, 63u8, 235u8, 167u8, 178u8, 97u8, 80u8, 62u8,
10684							147u8, 3u8, 163u8, 129u8, 25u8, 98u8, 59u8, 17u8, 137u8, 6u8, 183u8,
10685							189u8, 51u8, 24u8, 211u8, 157u8, 108u8, 229u8, 253u8, 37u8, 78u8,
10686						],
10687					)
10688				}
10689				#[doc = "Schedule a transaction for delayed execution."]
10690				pub fn schedule_transfer(
10691					&self,
10692					dest: types::schedule_transfer::Dest,
10693					amount: types::schedule_transfer::Amount,
10694				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ScheduleTransfer>
10695				{
10696					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10697						"ReversibleTransfers",
10698						"schedule_transfer",
10699						types::ScheduleTransfer { dest, amount },
10700						[
10701							38u8, 219u8, 206u8, 56u8, 252u8, 195u8, 52u8, 74u8, 113u8, 125u8,
10702							107u8, 35u8, 236u8, 39u8, 31u8, 18u8, 250u8, 177u8, 174u8, 154u8,
10703							149u8, 122u8, 183u8, 50u8, 45u8, 111u8, 100u8, 249u8, 102u8, 82u8,
10704							72u8, 130u8,
10705						],
10706					)
10707				}
10708				#[doc = "Schedule a transaction for delayed execution with a custom, one-time delay."]
10709				#[doc = ""]
10710				#[doc = "This can only be used by accounts that have *not* set up a persistent"]
10711				#[doc = "reversibility configuration with `set_high_security`."]
10712				#[doc = ""]
10713				#[doc = "- `delay`: The time (in blocks or milliseconds) before the transaction executes."]
10714				pub fn schedule_transfer_with_delay(
10715					&self,
10716					dest: types::schedule_transfer_with_delay::Dest,
10717					amount: types::schedule_transfer_with_delay::Amount,
10718					delay: types::schedule_transfer_with_delay::Delay,
10719				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
10720					types::ScheduleTransferWithDelay,
10721				> {
10722					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10723						"ReversibleTransfers",
10724						"schedule_transfer_with_delay",
10725						types::ScheduleTransferWithDelay { dest, amount, delay },
10726						[
10727							254u8, 158u8, 173u8, 217u8, 107u8, 80u8, 229u8, 252u8, 123u8, 46u8,
10728							177u8, 40u8, 25u8, 15u8, 32u8, 22u8, 224u8, 52u8, 242u8, 48u8, 242u8,
10729							84u8, 242u8, 143u8, 111u8, 12u8, 82u8, 161u8, 129u8, 86u8, 161u8,
10730							216u8,
10731						],
10732					)
10733				}
10734				#[doc = "Schedule an asset transfer (pallet-assets) for delayed execution using the configured"]
10735				#[doc = "delay."]
10736				pub fn schedule_asset_transfer(
10737					&self,
10738					asset_id: types::schedule_asset_transfer::AssetId,
10739					dest: types::schedule_asset_transfer::Dest,
10740					amount: types::schedule_asset_transfer::Amount,
10741				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
10742					types::ScheduleAssetTransfer,
10743				> {
10744					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10745						"ReversibleTransfers",
10746						"schedule_asset_transfer",
10747						types::ScheduleAssetTransfer { asset_id, dest, amount },
10748						[
10749							125u8, 51u8, 89u8, 31u8, 247u8, 200u8, 156u8, 209u8, 28u8, 170u8,
10750							203u8, 254u8, 40u8, 131u8, 155u8, 166u8, 65u8, 152u8, 101u8, 198u8,
10751							70u8, 129u8, 5u8, 89u8, 220u8, 189u8, 255u8, 87u8, 58u8, 24u8, 234u8,
10752							42u8,
10753						],
10754					)
10755				}
10756				#[doc = "Schedule an asset transfer (pallet-assets) with a custom one-time delay."]
10757				pub fn schedule_asset_transfer_with_delay(
10758					&self,
10759					asset_id: types::schedule_asset_transfer_with_delay::AssetId,
10760					dest: types::schedule_asset_transfer_with_delay::Dest,
10761					amount: types::schedule_asset_transfer_with_delay::Amount,
10762					delay: types::schedule_asset_transfer_with_delay::Delay,
10763				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
10764					types::ScheduleAssetTransferWithDelay,
10765				> {
10766					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10767						"ReversibleTransfers",
10768						"schedule_asset_transfer_with_delay",
10769						types::ScheduleAssetTransferWithDelay { asset_id, dest, amount, delay },
10770						[
10771							249u8, 59u8, 121u8, 27u8, 78u8, 202u8, 252u8, 120u8, 76u8, 102u8, 33u8,
10772							232u8, 185u8, 78u8, 8u8, 157u8, 139u8, 72u8, 110u8, 91u8, 170u8, 179u8,
10773							89u8, 250u8, 77u8, 26u8, 160u8, 252u8, 62u8, 179u8, 128u8, 216u8,
10774						],
10775					)
10776				}
10777			}
10778		}
10779		#[doc = "The `Event` enum of this pallet"]
10780		pub type Event = runtime_types::pallet_reversible_transfers::pallet::Event;
10781		pub mod events {
10782			use super::runtime_types;
10783			#[derive(
10784				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10785				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10786				Debug,
10787			)]
10788			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10789			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10790			#[doc = "A user has enabled their high-security settings."]
10791			#[doc = "[who, interceptor, recoverer, delay]"]
10792			pub struct HighSecuritySet {
10793				pub who: high_security_set::Who,
10794				pub interceptor: high_security_set::Interceptor,
10795				pub delay: high_security_set::Delay,
10796			}
10797			pub mod high_security_set {
10798				use super::runtime_types;
10799				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
10800				pub type Interceptor = ::subxt::ext::subxt_core::utils::AccountId32;
10801				pub type Delay = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
10802					::core::primitive::u32,
10803					::core::primitive::u64,
10804				>;
10805			}
10806			impl ::subxt::ext::subxt_core::events::StaticEvent for HighSecuritySet {
10807				const PALLET: &'static str = "ReversibleTransfers";
10808				const EVENT: &'static str = "HighSecuritySet";
10809			}
10810			#[derive(
10811				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10812				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10813				Debug,
10814			)]
10815			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10816			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10817			#[doc = "A transaction has been intercepted and scheduled for delayed execution."]
10818			#[doc = "[from, to, interceptor, amount, tx_id, execute_at_moment]"]
10819			pub struct TransactionScheduled {
10820				pub from: transaction_scheduled::From,
10821				pub to: transaction_scheduled::To,
10822				pub interceptor: transaction_scheduled::Interceptor,
10823				pub asset_id: transaction_scheduled::AssetId,
10824				pub amount: transaction_scheduled::Amount,
10825				pub tx_id: transaction_scheduled::TxId,
10826				pub execute_at: transaction_scheduled::ExecuteAt,
10827			}
10828			pub mod transaction_scheduled {
10829				use super::runtime_types;
10830				pub type From = ::subxt::ext::subxt_core::utils::AccountId32;
10831				pub type To = ::subxt::ext::subxt_core::utils::AccountId32;
10832				pub type Interceptor = ::subxt::ext::subxt_core::utils::AccountId32;
10833				pub type AssetId = ::core::option::Option<::core::primitive::u32>;
10834				pub type Amount = ::core::primitive::u128;
10835				pub type TxId = ::subxt::ext::subxt_core::utils::H256;
10836				pub type ExecuteAt = runtime_types::qp_scheduler::DispatchTime<
10837					::core::primitive::u32,
10838					::core::primitive::u64,
10839				>;
10840			}
10841			impl ::subxt::ext::subxt_core::events::StaticEvent for TransactionScheduled {
10842				const PALLET: &'static str = "ReversibleTransfers";
10843				const EVENT: &'static str = "TransactionScheduled";
10844			}
10845			#[derive(
10846				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10847				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10848				Debug,
10849			)]
10850			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10851			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10852			#[doc = "A scheduled transaction has been successfully cancelled by the owner."]
10853			#[doc = "[who, tx_id]"]
10854			pub struct TransactionCancelled {
10855				pub who: transaction_cancelled::Who,
10856				pub tx_id: transaction_cancelled::TxId,
10857			}
10858			pub mod transaction_cancelled {
10859				use super::runtime_types;
10860				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
10861				pub type TxId = ::subxt::ext::subxt_core::utils::H256;
10862			}
10863			impl ::subxt::ext::subxt_core::events::StaticEvent for TransactionCancelled {
10864				const PALLET: &'static str = "ReversibleTransfers";
10865				const EVENT: &'static str = "TransactionCancelled";
10866			}
10867			#[derive(
10868				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10869				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10870				Debug,
10871			)]
10872			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10873			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10874			#[doc = "A scheduled transaction was executed by the scheduler."]
10875			#[doc = "[tx_id, dispatch_result]"]
10876			pub struct TransactionExecuted {
10877				pub tx_id: transaction_executed::TxId,
10878				pub result: transaction_executed::Result,
10879			}
10880			pub mod transaction_executed {
10881				use super::runtime_types;
10882				pub type TxId = ::subxt::ext::subxt_core::utils::H256;
10883				pub type Result = ::core::result::Result<
10884					runtime_types::frame_support::dispatch::PostDispatchInfo,
10885					runtime_types::sp_runtime::DispatchErrorWithPostInfo<
10886						runtime_types::frame_support::dispatch::PostDispatchInfo,
10887					>,
10888				>;
10889			}
10890			impl ::subxt::ext::subxt_core::events::StaticEvent for TransactionExecuted {
10891				const PALLET: &'static str = "ReversibleTransfers";
10892				const EVENT: &'static str = "TransactionExecuted";
10893			}
10894		}
10895		pub mod storage {
10896			use super::runtime_types;
10897			pub mod types {
10898				use super::runtime_types;
10899				pub mod high_security_accounts {
10900					use super::runtime_types;
10901					pub type HighSecurityAccounts =
10902						runtime_types::pallet_reversible_transfers::HighSecurityAccountData<
10903							::subxt::ext::subxt_core::utils::AccountId32,
10904							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
10905								::core::primitive::u32,
10906								::core::primitive::u64,
10907							>,
10908						>;
10909					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
10910				}
10911				pub mod pending_transfers {
10912					use super::runtime_types;
10913					pub type PendingTransfers =
10914						runtime_types::pallet_reversible_transfers::PendingTransfer<
10915							::subxt::ext::subxt_core::utils::AccountId32,
10916							::core::primitive::u128,
10917							runtime_types::frame_support::traits::preimages::Bounded<
10918								runtime_types::quantus_runtime::RuntimeCall,
10919								runtime_types::qp_poseidon::PoseidonHasher,
10920							>,
10921						>;
10922					pub type Param0 = ::subxt::ext::subxt_core::utils::H256;
10923				}
10924				pub mod account_pending_index {
10925					use super::runtime_types;
10926					pub type AccountPendingIndex = ::core::primitive::u32;
10927					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
10928				}
10929				pub mod pending_transfers_by_sender {
10930					use super::runtime_types;
10931					pub type PendingTransfersBySender =
10932						runtime_types::bounded_collections::bounded_vec::BoundedVec<
10933							::subxt::ext::subxt_core::utils::H256,
10934						>;
10935					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
10936				}
10937				pub mod pending_transfers_by_recipient {
10938					use super::runtime_types;
10939					pub type PendingTransfersByRecipient =
10940						runtime_types::bounded_collections::bounded_vec::BoundedVec<
10941							::subxt::ext::subxt_core::utils::H256,
10942						>;
10943					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
10944				}
10945				pub mod interceptor_index {
10946					use super::runtime_types;
10947					pub type InterceptorIndex =
10948						runtime_types::bounded_collections::bounded_vec::BoundedVec<
10949							::subxt::ext::subxt_core::utils::AccountId32,
10950						>;
10951					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
10952				}
10953				pub mod global_nonce {
10954					use super::runtime_types;
10955					pub type GlobalNonce = ::core::primitive::u64;
10956				}
10957			}
10958			pub struct StorageApi;
10959			impl StorageApi {
10960				#[doc = " Maps accounts to their chosen reversibility delay period (in milliseconds)."]
10961				#[doc = " Accounts present in this map have reversibility enabled."]
10962				pub fn high_security_accounts_iter(
10963					&self,
10964				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10965					(),
10966					types::high_security_accounts::HighSecurityAccounts,
10967					(),
10968					(),
10969					::subxt::ext::subxt_core::utils::Yes,
10970				> {
10971					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10972						"ReversibleTransfers",
10973						"HighSecurityAccounts",
10974						(),
10975						[
10976							11u8, 143u8, 95u8, 23u8, 55u8, 163u8, 22u8, 238u8, 88u8, 24u8, 50u8,
10977							162u8, 72u8, 98u8, 32u8, 219u8, 231u8, 199u8, 118u8, 150u8, 84u8,
10978							126u8, 225u8, 88u8, 129u8, 200u8, 236u8, 214u8, 187u8, 8u8, 252u8,
10979							120u8,
10980						],
10981					)
10982				}
10983				#[doc = " Maps accounts to their chosen reversibility delay period (in milliseconds)."]
10984				#[doc = " Accounts present in this map have reversibility enabled."]
10985				pub fn high_security_accounts(
10986					&self,
10987					_0: types::high_security_accounts::Param0,
10988				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10989					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
10990						types::high_security_accounts::Param0,
10991					>,
10992					types::high_security_accounts::HighSecurityAccounts,
10993					::subxt::ext::subxt_core::utils::Yes,
10994					(),
10995					(),
10996				> {
10997					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10998						"ReversibleTransfers",
10999						"HighSecurityAccounts",
11000						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
11001						[
11002							11u8, 143u8, 95u8, 23u8, 55u8, 163u8, 22u8, 238u8, 88u8, 24u8, 50u8,
11003							162u8, 72u8, 98u8, 32u8, 219u8, 231u8, 199u8, 118u8, 150u8, 84u8,
11004							126u8, 225u8, 88u8, 129u8, 200u8, 236u8, 214u8, 187u8, 8u8, 252u8,
11005							120u8,
11006						],
11007					)
11008				}
11009				#[doc = " Stores the details of pending transactions scheduled for delayed execution."]
11010				#[doc = " Keyed by the unique transaction ID."]
11011				pub fn pending_transfers_iter(
11012					&self,
11013				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11014					(),
11015					types::pending_transfers::PendingTransfers,
11016					(),
11017					(),
11018					::subxt::ext::subxt_core::utils::Yes,
11019				> {
11020					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11021						"ReversibleTransfers",
11022						"PendingTransfers",
11023						(),
11024						[
11025							226u8, 148u8, 100u8, 60u8, 9u8, 160u8, 164u8, 177u8, 53u8, 236u8, 65u8,
11026							38u8, 207u8, 31u8, 170u8, 79u8, 15u8, 237u8, 127u8, 189u8, 203u8,
11027							147u8, 4u8, 146u8, 13u8, 87u8, 158u8, 163u8, 159u8, 87u8, 98u8, 211u8,
11028						],
11029					)
11030				}
11031				#[doc = " Stores the details of pending transactions scheduled for delayed execution."]
11032				#[doc = " Keyed by the unique transaction ID."]
11033				pub fn pending_transfers(
11034					&self,
11035					_0: types::pending_transfers::Param0,
11036				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11037					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
11038						types::pending_transfers::Param0,
11039					>,
11040					types::pending_transfers::PendingTransfers,
11041					::subxt::ext::subxt_core::utils::Yes,
11042					(),
11043					(),
11044				> {
11045					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11046						"ReversibleTransfers",
11047						"PendingTransfers",
11048						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
11049						[
11050							226u8, 148u8, 100u8, 60u8, 9u8, 160u8, 164u8, 177u8, 53u8, 236u8, 65u8,
11051							38u8, 207u8, 31u8, 170u8, 79u8, 15u8, 237u8, 127u8, 189u8, 203u8,
11052							147u8, 4u8, 146u8, 13u8, 87u8, 158u8, 163u8, 159u8, 87u8, 98u8, 211u8,
11053						],
11054					)
11055				}
11056				#[doc = " Indexes pending transaction IDs per account for efficient lookup and cancellation."]
11057				#[doc = " Also enforces the maximum pending transactions limit per account."]
11058				pub fn account_pending_index_iter(
11059					&self,
11060				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11061					(),
11062					types::account_pending_index::AccountPendingIndex,
11063					(),
11064					::subxt::ext::subxt_core::utils::Yes,
11065					::subxt::ext::subxt_core::utils::Yes,
11066				> {
11067					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11068						"ReversibleTransfers",
11069						"AccountPendingIndex",
11070						(),
11071						[
11072							142u8, 255u8, 15u8, 41u8, 210u8, 84u8, 93u8, 230u8, 194u8, 31u8, 164u8,
11073							88u8, 155u8, 106u8, 130u8, 110u8, 199u8, 137u8, 153u8, 99u8, 154u8,
11074							210u8, 108u8, 136u8, 70u8, 141u8, 242u8, 255u8, 246u8, 19u8, 247u8,
11075							136u8,
11076						],
11077					)
11078				}
11079				#[doc = " Indexes pending transaction IDs per account for efficient lookup and cancellation."]
11080				#[doc = " Also enforces the maximum pending transactions limit per account."]
11081				pub fn account_pending_index(
11082					&self,
11083					_0: types::account_pending_index::Param0,
11084				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11085					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
11086						types::account_pending_index::Param0,
11087					>,
11088					types::account_pending_index::AccountPendingIndex,
11089					::subxt::ext::subxt_core::utils::Yes,
11090					::subxt::ext::subxt_core::utils::Yes,
11091					(),
11092				> {
11093					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11094						"ReversibleTransfers",
11095						"AccountPendingIndex",
11096						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
11097						[
11098							142u8, 255u8, 15u8, 41u8, 210u8, 84u8, 93u8, 230u8, 194u8, 31u8, 164u8,
11099							88u8, 155u8, 106u8, 130u8, 110u8, 199u8, 137u8, 153u8, 99u8, 154u8,
11100							210u8, 108u8, 136u8, 70u8, 141u8, 242u8, 255u8, 246u8, 19u8, 247u8,
11101							136u8,
11102						],
11103					)
11104				}
11105				#[doc = " Maps sender accounts to their list of pending transaction IDs."]
11106				#[doc = " This allows users to query all their outgoing pending transfers."]
11107				pub fn pending_transfers_by_sender_iter(
11108					&self,
11109				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11110					(),
11111					types::pending_transfers_by_sender::PendingTransfersBySender,
11112					(),
11113					::subxt::ext::subxt_core::utils::Yes,
11114					::subxt::ext::subxt_core::utils::Yes,
11115				> {
11116					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11117						"ReversibleTransfers",
11118						"PendingTransfersBySender",
11119						(),
11120						[
11121							183u8, 43u8, 139u8, 203u8, 182u8, 219u8, 60u8, 129u8, 67u8, 30u8, 65u8,
11122							47u8, 105u8, 196u8, 228u8, 154u8, 26u8, 74u8, 84u8, 72u8, 154u8, 220u8,
11123							216u8, 134u8, 207u8, 240u8, 7u8, 190u8, 236u8, 242u8, 184u8, 224u8,
11124						],
11125					)
11126				}
11127				#[doc = " Maps sender accounts to their list of pending transaction IDs."]
11128				#[doc = " This allows users to query all their outgoing pending transfers."]
11129				pub fn pending_transfers_by_sender(
11130					&self,
11131					_0: types::pending_transfers_by_sender::Param0,
11132				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11133					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
11134						types::pending_transfers_by_sender::Param0,
11135					>,
11136					types::pending_transfers_by_sender::PendingTransfersBySender,
11137					::subxt::ext::subxt_core::utils::Yes,
11138					::subxt::ext::subxt_core::utils::Yes,
11139					(),
11140				> {
11141					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11142						"ReversibleTransfers",
11143						"PendingTransfersBySender",
11144						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
11145						[
11146							183u8, 43u8, 139u8, 203u8, 182u8, 219u8, 60u8, 129u8, 67u8, 30u8, 65u8,
11147							47u8, 105u8, 196u8, 228u8, 154u8, 26u8, 74u8, 84u8, 72u8, 154u8, 220u8,
11148							216u8, 134u8, 207u8, 240u8, 7u8, 190u8, 236u8, 242u8, 184u8, 224u8,
11149						],
11150					)
11151				}
11152				#[doc = " Maps recipient accounts to their list of pending incoming transaction IDs."]
11153				#[doc = " This allows users to query all their incoming pending transfers."]
11154				pub fn pending_transfers_by_recipient_iter(
11155					&self,
11156				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11157					(),
11158					types::pending_transfers_by_recipient::PendingTransfersByRecipient,
11159					(),
11160					::subxt::ext::subxt_core::utils::Yes,
11161					::subxt::ext::subxt_core::utils::Yes,
11162				> {
11163					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11164						"ReversibleTransfers",
11165						"PendingTransfersByRecipient",
11166						(),
11167						[
11168							63u8, 141u8, 24u8, 239u8, 201u8, 143u8, 36u8, 152u8, 35u8, 110u8,
11169							112u8, 157u8, 29u8, 61u8, 221u8, 79u8, 209u8, 192u8, 183u8, 29u8,
11170							145u8, 166u8, 238u8, 156u8, 131u8, 203u8, 124u8, 233u8, 210u8, 201u8,
11171							91u8, 212u8,
11172						],
11173					)
11174				}
11175				#[doc = " Maps recipient accounts to their list of pending incoming transaction IDs."]
11176				#[doc = " This allows users to query all their incoming pending transfers."]
11177				pub fn pending_transfers_by_recipient(
11178					&self,
11179					_0: types::pending_transfers_by_recipient::Param0,
11180				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11181					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
11182						types::pending_transfers_by_recipient::Param0,
11183					>,
11184					types::pending_transfers_by_recipient::PendingTransfersByRecipient,
11185					::subxt::ext::subxt_core::utils::Yes,
11186					::subxt::ext::subxt_core::utils::Yes,
11187					(),
11188				> {
11189					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11190						"ReversibleTransfers",
11191						"PendingTransfersByRecipient",
11192						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
11193						[
11194							63u8, 141u8, 24u8, 239u8, 201u8, 143u8, 36u8, 152u8, 35u8, 110u8,
11195							112u8, 157u8, 29u8, 61u8, 221u8, 79u8, 209u8, 192u8, 183u8, 29u8,
11196							145u8, 166u8, 238u8, 156u8, 131u8, 203u8, 124u8, 233u8, 210u8, 201u8,
11197							91u8, 212u8,
11198						],
11199					)
11200				}
11201				#[doc = " Maps interceptor accounts to the list of accounts they can intercept for."]
11202				#[doc = " This allows the UI to efficiently query all accounts for which a given account is an"]
11203				#[doc = " interceptor."]
11204				pub fn interceptor_index_iter(
11205					&self,
11206				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11207					(),
11208					types::interceptor_index::InterceptorIndex,
11209					(),
11210					::subxt::ext::subxt_core::utils::Yes,
11211					::subxt::ext::subxt_core::utils::Yes,
11212				> {
11213					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11214						"ReversibleTransfers",
11215						"InterceptorIndex",
11216						(),
11217						[
11218							7u8, 184u8, 75u8, 107u8, 42u8, 84u8, 188u8, 86u8, 2u8, 227u8, 4u8,
11219							136u8, 109u8, 69u8, 64u8, 123u8, 253u8, 28u8, 174u8, 121u8, 183u8,
11220							154u8, 135u8, 91u8, 125u8, 0u8, 58u8, 132u8, 164u8, 236u8, 182u8,
11221							133u8,
11222						],
11223					)
11224				}
11225				#[doc = " Maps interceptor accounts to the list of accounts they can intercept for."]
11226				#[doc = " This allows the UI to efficiently query all accounts for which a given account is an"]
11227				#[doc = " interceptor."]
11228				pub fn interceptor_index(
11229					&self,
11230					_0: types::interceptor_index::Param0,
11231				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11232					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
11233						types::interceptor_index::Param0,
11234					>,
11235					types::interceptor_index::InterceptorIndex,
11236					::subxt::ext::subxt_core::utils::Yes,
11237					::subxt::ext::subxt_core::utils::Yes,
11238					(),
11239				> {
11240					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11241						"ReversibleTransfers",
11242						"InterceptorIndex",
11243						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
11244						[
11245							7u8, 184u8, 75u8, 107u8, 42u8, 84u8, 188u8, 86u8, 2u8, 227u8, 4u8,
11246							136u8, 109u8, 69u8, 64u8, 123u8, 253u8, 28u8, 174u8, 121u8, 183u8,
11247							154u8, 135u8, 91u8, 125u8, 0u8, 58u8, 132u8, 164u8, 236u8, 182u8,
11248							133u8,
11249						],
11250					)
11251				}
11252				#[doc = " Global nonce for generating unique transaction IDs."]
11253				pub fn global_nonce(
11254					&self,
11255				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11256					(),
11257					types::global_nonce::GlobalNonce,
11258					::subxt::ext::subxt_core::utils::Yes,
11259					::subxt::ext::subxt_core::utils::Yes,
11260					(),
11261				> {
11262					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11263						"ReversibleTransfers",
11264						"GlobalNonce",
11265						(),
11266						[
11267							119u8, 119u8, 84u8, 141u8, 83u8, 67u8, 42u8, 83u8, 51u8, 196u8, 185u8,
11268							39u8, 227u8, 125u8, 142u8, 154u8, 107u8, 62u8, 127u8, 13u8, 54u8,
11269							114u8, 201u8, 6u8, 100u8, 28u8, 202u8, 152u8, 246u8, 202u8, 9u8, 29u8,
11270						],
11271					)
11272				}
11273			}
11274		}
11275		pub mod constants {
11276			use super::runtime_types;
11277			pub struct ConstantsApi;
11278			impl ConstantsApi {
11279				#[doc = " Maximum pending reversible transactions allowed per account. Used for BoundedVec."]
11280				pub fn max_pending_per_account(
11281					&self,
11282				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
11283					::core::primitive::u32,
11284				> {
11285					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
11286						"ReversibleTransfers",
11287						"MaxPendingPerAccount",
11288						[
11289							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
11290							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
11291							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
11292							145u8,
11293						],
11294					)
11295				}
11296				#[doc = " Maximum number of accounts an interceptor can intercept for. Used for BoundedVec."]
11297				pub fn max_interceptor_accounts(
11298					&self,
11299				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
11300					::core::primitive::u32,
11301				> {
11302					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
11303						"ReversibleTransfers",
11304						"MaxInterceptorAccounts",
11305						[
11306							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
11307							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
11308							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
11309							145u8,
11310						],
11311					)
11312				}
11313				#[doc = " The default delay period for reversible transactions if none is specified."]
11314				#[doc = ""]
11315				#[doc = " NOTE: default delay is always in blocks."]
11316				pub fn default_delay(
11317					&self,
11318				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
11319					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
11320						::core::primitive::u32,
11321						::core::primitive::u64,
11322					>,
11323				> {
11324					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
11325						"ReversibleTransfers",
11326						"DefaultDelay",
11327						[
11328							245u8, 29u8, 3u8, 65u8, 154u8, 12u8, 172u8, 71u8, 67u8, 134u8, 71u8,
11329							180u8, 4u8, 9u8, 54u8, 89u8, 6u8, 19u8, 3u8, 168u8, 67u8, 122u8, 197u8,
11330							109u8, 1u8, 228u8, 44u8, 243u8, 228u8, 194u8, 241u8, 227u8,
11331						],
11332					)
11333				}
11334				#[doc = " The minimum delay period allowed for reversible transactions, in blocks."]
11335				pub fn min_delay_period_blocks(
11336					&self,
11337				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
11338					::core::primitive::u32,
11339				> {
11340					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
11341						"ReversibleTransfers",
11342						"MinDelayPeriodBlocks",
11343						[
11344							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
11345							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
11346							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
11347							145u8,
11348						],
11349					)
11350				}
11351				#[doc = " The minimum delay period allowed for reversible transactions, in milliseconds."]
11352				pub fn min_delay_period_moment(
11353					&self,
11354				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
11355					::core::primitive::u64,
11356				> {
11357					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
11358						"ReversibleTransfers",
11359						"MinDelayPeriodMoment",
11360						[
11361							128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8,
11362							59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8,
11363							103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8,
11364							246u8,
11365						],
11366					)
11367				}
11368				#[doc = " Volume fee taken from reversed transactions for high-security accounts only,"]
11369				#[doc = " expressed as a Permill (e.g., Permill::from_percent(1) = 1%). Regular accounts incur no"]
11370				#[doc = " fees."]
11371				pub fn volume_fee(
11372					&self,
11373				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
11374					runtime_types::sp_arithmetic::per_things::Permill,
11375				> {
11376					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
11377						"ReversibleTransfers",
11378						"VolumeFee",
11379						[
11380							65u8, 93u8, 120u8, 165u8, 204u8, 81u8, 159u8, 163u8, 93u8, 135u8,
11381							114u8, 121u8, 147u8, 35u8, 215u8, 213u8, 4u8, 223u8, 83u8, 37u8, 225u8,
11382							200u8, 189u8, 156u8, 140u8, 36u8, 58u8, 46u8, 42u8, 232u8, 155u8, 0u8,
11383						],
11384					)
11385				}
11386			}
11387		}
11388	}
11389	pub mod conviction_voting {
11390		use super::{root_mod, runtime_types};
11391		#[doc = "The `Error` enum of this pallet."]
11392		pub type Error = runtime_types::pallet_conviction_voting::pallet::Error;
11393		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
11394		pub type Call = runtime_types::pallet_conviction_voting::pallet::Call;
11395		pub mod calls {
11396			use super::{root_mod, runtime_types};
11397			type DispatchError = runtime_types::sp_runtime::DispatchError;
11398			pub mod types {
11399				use super::runtime_types;
11400				#[derive(
11401					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11402					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11403					Debug,
11404				)]
11405				#[decode_as_type(
11406					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11407				)]
11408				#[encode_as_type(
11409					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11410				)]
11411				#[doc = "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;"]
11412				#[doc = "otherwise it is a vote to keep the status quo."]
11413				#[doc = ""]
11414				#[doc = "The dispatch origin of this call must be _Signed_."]
11415				#[doc = ""]
11416				#[doc = "- `poll_index`: The index of the poll to vote for."]
11417				#[doc = "- `vote`: The vote configuration."]
11418				#[doc = ""]
11419				#[doc = "Weight: `O(R)` where R is the number of polls the voter has voted on."]
11420				pub struct Vote {
11421					#[codec(compact)]
11422					pub poll_index: vote::PollIndex,
11423					pub vote: vote::Vote,
11424				}
11425				pub mod vote {
11426					use super::runtime_types;
11427					pub type PollIndex = ::core::primitive::u32;
11428					pub type Vote = runtime_types::pallet_conviction_voting::vote::AccountVote<
11429						::core::primitive::u128,
11430					>;
11431				}
11432				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Vote {
11433					const PALLET: &'static str = "ConvictionVoting";
11434					const CALL: &'static str = "vote";
11435				}
11436				#[derive(
11437					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11438					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11439					Debug,
11440				)]
11441				#[decode_as_type(
11442					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11443				)]
11444				#[encode_as_type(
11445					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11446				)]
11447				#[doc = "Delegate the voting power (with some given conviction) of the sending account for a"]
11448				#[doc = "particular class of polls."]
11449				#[doc = ""]
11450				#[doc = "The balance delegated is locked for as long as it's delegated, and thereafter for the"]
11451				#[doc = "time appropriate for the conviction's lock period."]
11452				#[doc = ""]
11453				#[doc = "The dispatch origin of this call must be _Signed_, and the signing account must either:"]
11454				#[doc = "  - be delegating already; or"]
11455				#[doc = "  - have no voting activity (if there is, then it will need to be removed through"]
11456				#[doc = "    `remove_vote`)."]
11457				#[doc = ""]
11458				#[doc = "- `to`: The account whose voting the `target` account's voting power will follow."]
11459				#[doc = "- `class`: The class of polls to delegate. To delegate multiple classes, multiple calls"]
11460				#[doc = "  to this function are required."]
11461				#[doc = "- `conviction`: The conviction that will be attached to the delegated votes. When the"]
11462				#[doc = "  account is undelegated, the funds will be locked for the corresponding period."]
11463				#[doc = "- `balance`: The amount of the account's balance to be used in delegating. This must not"]
11464				#[doc = "  be more than the account's current balance."]
11465				#[doc = ""]
11466				#[doc = "Emits `Delegated`."]
11467				#[doc = ""]
11468				#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
11469				#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
11470				pub struct Delegate {
11471					pub class: delegate::Class,
11472					pub to: delegate::To,
11473					pub conviction: delegate::Conviction,
11474					pub balance: delegate::Balance,
11475				}
11476				pub mod delegate {
11477					use super::runtime_types;
11478					pub type Class = ::core::primitive::u16;
11479					pub type To = ::subxt::ext::subxt_core::utils::MultiAddress<
11480						::subxt::ext::subxt_core::utils::AccountId32,
11481						(),
11482					>;
11483					pub type Conviction =
11484						runtime_types::pallet_conviction_voting::conviction::Conviction;
11485					pub type Balance = ::core::primitive::u128;
11486				}
11487				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Delegate {
11488					const PALLET: &'static str = "ConvictionVoting";
11489					const CALL: &'static str = "delegate";
11490				}
11491				#[derive(
11492					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11493					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11494					Debug,
11495				)]
11496				#[decode_as_type(
11497					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11498				)]
11499				#[encode_as_type(
11500					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11501				)]
11502				#[doc = "Undelegate the voting power of the sending account for a particular class of polls."]
11503				#[doc = ""]
11504				#[doc = "Tokens may be unlocked following once an amount of time consistent with the lock period"]
11505				#[doc = "of the conviction with which the delegation was issued has passed."]
11506				#[doc = ""]
11507				#[doc = "The dispatch origin of this call must be _Signed_ and the signing account must be"]
11508				#[doc = "currently delegating."]
11509				#[doc = ""]
11510				#[doc = "- `class`: The class of polls to remove the delegation from."]
11511				#[doc = ""]
11512				#[doc = "Emits `Undelegated`."]
11513				#[doc = ""]
11514				#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
11515				#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
11516				pub struct Undelegate {
11517					pub class: undelegate::Class,
11518				}
11519				pub mod undelegate {
11520					use super::runtime_types;
11521					pub type Class = ::core::primitive::u16;
11522				}
11523				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Undelegate {
11524					const PALLET: &'static str = "ConvictionVoting";
11525					const CALL: &'static str = "undelegate";
11526				}
11527				#[derive(
11528					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11529					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11530					Debug,
11531				)]
11532				#[decode_as_type(
11533					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11534				)]
11535				#[encode_as_type(
11536					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11537				)]
11538				#[doc = "Remove the lock caused by prior voting/delegating which has expired within a particular"]
11539				#[doc = "class."]
11540				#[doc = ""]
11541				#[doc = "The dispatch origin of this call must be _Signed_."]
11542				#[doc = ""]
11543				#[doc = "- `class`: The class of polls to unlock."]
11544				#[doc = "- `target`: The account to remove the lock on."]
11545				#[doc = ""]
11546				#[doc = "Weight: `O(R)` with R number of vote of target."]
11547				pub struct Unlock {
11548					pub class: unlock::Class,
11549					pub target: unlock::Target,
11550				}
11551				pub mod unlock {
11552					use super::runtime_types;
11553					pub type Class = ::core::primitive::u16;
11554					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
11555						::subxt::ext::subxt_core::utils::AccountId32,
11556						(),
11557					>;
11558				}
11559				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Unlock {
11560					const PALLET: &'static str = "ConvictionVoting";
11561					const CALL: &'static str = "unlock";
11562				}
11563				#[derive(
11564					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11565					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11566					Debug,
11567				)]
11568				#[decode_as_type(
11569					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11570				)]
11571				#[encode_as_type(
11572					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11573				)]
11574				#[doc = "Remove a vote for a poll."]
11575				#[doc = ""]
11576				#[doc = "If:"]
11577				#[doc = "- the poll was cancelled, or"]
11578				#[doc = "- the poll is ongoing, or"]
11579				#[doc = "- the poll has ended such that"]
11580				#[doc = "  - the vote of the account was in opposition to the result; or"]
11581				#[doc = "  - there was no conviction to the account's vote; or"]
11582				#[doc = "  - the account made a split vote"]
11583				#[doc = "...then the vote is removed cleanly and a following call to `unlock` may result in more"]
11584				#[doc = "funds being available."]
11585				#[doc = ""]
11586				#[doc = "If, however, the poll has ended and:"]
11587				#[doc = "- it finished corresponding to the vote of the account, and"]
11588				#[doc = "- the account made a standard vote with conviction, and"]
11589				#[doc = "- the lock period of the conviction is not over"]
11590				#[doc = "...then the lock will be aggregated into the overall account's lock, which may involve"]
11591				#[doc = "*overlocking* (where the two locks are combined into a single lock that is the maximum"]
11592				#[doc = "of both the amount locked and the time is it locked for)."]
11593				#[doc = ""]
11594				#[doc = "The dispatch origin of this call must be _Signed_, and the signer must have a vote"]
11595				#[doc = "registered for poll `index`."]
11596				#[doc = ""]
11597				#[doc = "- `index`: The index of poll of the vote to be removed."]
11598				#[doc = "- `class`: Optional parameter, if given it indicates the class of the poll. For polls"]
11599				#[doc = "  which have finished or are cancelled, this must be `Some`."]
11600				#[doc = ""]
11601				#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
11602				#[doc = "  Weight is calculated for the maximum number of vote."]
11603				pub struct RemoveVote {
11604					pub class: remove_vote::Class,
11605					pub index: remove_vote::Index,
11606				}
11607				pub mod remove_vote {
11608					use super::runtime_types;
11609					pub type Class = ::core::option::Option<::core::primitive::u16>;
11610					pub type Index = ::core::primitive::u32;
11611				}
11612				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveVote {
11613					const PALLET: &'static str = "ConvictionVoting";
11614					const CALL: &'static str = "remove_vote";
11615				}
11616				#[derive(
11617					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11618					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11619					Debug,
11620				)]
11621				#[decode_as_type(
11622					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11623				)]
11624				#[encode_as_type(
11625					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11626				)]
11627				#[doc = "Remove a vote for a poll."]
11628				#[doc = ""]
11629				#[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"]
11630				#[doc = "`remove_vote`. If not equal to the signer, then the vote must have expired,"]
11631				#[doc = "either because the poll was cancelled, because the voter lost the poll or"]
11632				#[doc = "because the conviction period is over."]
11633				#[doc = ""]
11634				#[doc = "The dispatch origin of this call must be _Signed_."]
11635				#[doc = ""]
11636				#[doc = "- `target`: The account of the vote to be removed; this account must have voted for poll"]
11637				#[doc = "  `index`."]
11638				#[doc = "- `index`: The index of poll of the vote to be removed."]
11639				#[doc = "- `class`: The class of the poll."]
11640				#[doc = ""]
11641				#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
11642				#[doc = "  Weight is calculated for the maximum number of vote."]
11643				pub struct RemoveOtherVote {
11644					pub target: remove_other_vote::Target,
11645					pub class: remove_other_vote::Class,
11646					pub index: remove_other_vote::Index,
11647				}
11648				pub mod remove_other_vote {
11649					use super::runtime_types;
11650					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
11651						::subxt::ext::subxt_core::utils::AccountId32,
11652						(),
11653					>;
11654					pub type Class = ::core::primitive::u16;
11655					pub type Index = ::core::primitive::u32;
11656				}
11657				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveOtherVote {
11658					const PALLET: &'static str = "ConvictionVoting";
11659					const CALL: &'static str = "remove_other_vote";
11660				}
11661			}
11662			pub struct TransactionApi;
11663			impl TransactionApi {
11664				#[doc = "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;"]
11665				#[doc = "otherwise it is a vote to keep the status quo."]
11666				#[doc = ""]
11667				#[doc = "The dispatch origin of this call must be _Signed_."]
11668				#[doc = ""]
11669				#[doc = "- `poll_index`: The index of the poll to vote for."]
11670				#[doc = "- `vote`: The vote configuration."]
11671				#[doc = ""]
11672				#[doc = "Weight: `O(R)` where R is the number of polls the voter has voted on."]
11673				pub fn vote(
11674					&self,
11675					poll_index: types::vote::PollIndex,
11676					vote: types::vote::Vote,
11677				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Vote> {
11678					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11679						"ConvictionVoting",
11680						"vote",
11681						types::Vote { poll_index, vote },
11682						[
11683							57u8, 170u8, 177u8, 168u8, 158u8, 43u8, 87u8, 242u8, 176u8, 85u8,
11684							230u8, 64u8, 103u8, 239u8, 190u8, 6u8, 228u8, 165u8, 248u8, 77u8,
11685							231u8, 221u8, 186u8, 107u8, 249u8, 201u8, 226u8, 52u8, 129u8, 90u8,
11686							142u8, 159u8,
11687						],
11688					)
11689				}
11690				#[doc = "Delegate the voting power (with some given conviction) of the sending account for a"]
11691				#[doc = "particular class of polls."]
11692				#[doc = ""]
11693				#[doc = "The balance delegated is locked for as long as it's delegated, and thereafter for the"]
11694				#[doc = "time appropriate for the conviction's lock period."]
11695				#[doc = ""]
11696				#[doc = "The dispatch origin of this call must be _Signed_, and the signing account must either:"]
11697				#[doc = "  - be delegating already; or"]
11698				#[doc = "  - have no voting activity (if there is, then it will need to be removed through"]
11699				#[doc = "    `remove_vote`)."]
11700				#[doc = ""]
11701				#[doc = "- `to`: The account whose voting the `target` account's voting power will follow."]
11702				#[doc = "- `class`: The class of polls to delegate. To delegate multiple classes, multiple calls"]
11703				#[doc = "  to this function are required."]
11704				#[doc = "- `conviction`: The conviction that will be attached to the delegated votes. When the"]
11705				#[doc = "  account is undelegated, the funds will be locked for the corresponding period."]
11706				#[doc = "- `balance`: The amount of the account's balance to be used in delegating. This must not"]
11707				#[doc = "  be more than the account's current balance."]
11708				#[doc = ""]
11709				#[doc = "Emits `Delegated`."]
11710				#[doc = ""]
11711				#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
11712				#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
11713				pub fn delegate(
11714					&self,
11715					class: types::delegate::Class,
11716					to: types::delegate::To,
11717					conviction: types::delegate::Conviction,
11718					balance: types::delegate::Balance,
11719				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Delegate> {
11720					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11721						"ConvictionVoting",
11722						"delegate",
11723						types::Delegate { class, to, conviction, balance },
11724						[
11725							223u8, 143u8, 33u8, 94u8, 32u8, 156u8, 43u8, 40u8, 142u8, 134u8, 209u8,
11726							134u8, 255u8, 179u8, 97u8, 46u8, 8u8, 140u8, 5u8, 29u8, 76u8, 22u8,
11727							36u8, 7u8, 108u8, 190u8, 220u8, 151u8, 10u8, 47u8, 89u8, 55u8,
11728						],
11729					)
11730				}
11731				#[doc = "Undelegate the voting power of the sending account for a particular class of polls."]
11732				#[doc = ""]
11733				#[doc = "Tokens may be unlocked following once an amount of time consistent with the lock period"]
11734				#[doc = "of the conviction with which the delegation was issued has passed."]
11735				#[doc = ""]
11736				#[doc = "The dispatch origin of this call must be _Signed_ and the signing account must be"]
11737				#[doc = "currently delegating."]
11738				#[doc = ""]
11739				#[doc = "- `class`: The class of polls to remove the delegation from."]
11740				#[doc = ""]
11741				#[doc = "Emits `Undelegated`."]
11742				#[doc = ""]
11743				#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
11744				#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
11745				pub fn undelegate(
11746					&self,
11747					class: types::undelegate::Class,
11748				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Undelegate> {
11749					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11750						"ConvictionVoting",
11751						"undelegate",
11752						types::Undelegate { class },
11753						[
11754							140u8, 232u8, 6u8, 53u8, 228u8, 8u8, 131u8, 144u8, 65u8, 66u8, 245u8,
11755							247u8, 147u8, 135u8, 198u8, 57u8, 82u8, 212u8, 89u8, 46u8, 236u8,
11756							168u8, 200u8, 220u8, 93u8, 168u8, 101u8, 29u8, 110u8, 76u8, 67u8,
11757							181u8,
11758						],
11759					)
11760				}
11761				#[doc = "Remove the lock caused by prior voting/delegating which has expired within a particular"]
11762				#[doc = "class."]
11763				#[doc = ""]
11764				#[doc = "The dispatch origin of this call must be _Signed_."]
11765				#[doc = ""]
11766				#[doc = "- `class`: The class of polls to unlock."]
11767				#[doc = "- `target`: The account to remove the lock on."]
11768				#[doc = ""]
11769				#[doc = "Weight: `O(R)` with R number of vote of target."]
11770				pub fn unlock(
11771					&self,
11772					class: types::unlock::Class,
11773					target: types::unlock::Target,
11774				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Unlock> {
11775					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11776						"ConvictionVoting",
11777						"unlock",
11778						types::Unlock { class, target },
11779						[
11780							79u8, 5u8, 252u8, 237u8, 109u8, 238u8, 157u8, 237u8, 125u8, 171u8,
11781							65u8, 160u8, 102u8, 192u8, 5u8, 141u8, 179u8, 249u8, 253u8, 213u8,
11782							105u8, 251u8, 241u8, 145u8, 186u8, 177u8, 244u8, 139u8, 71u8, 140u8,
11783							173u8, 108u8,
11784						],
11785					)
11786				}
11787				#[doc = "Remove a vote for a poll."]
11788				#[doc = ""]
11789				#[doc = "If:"]
11790				#[doc = "- the poll was cancelled, or"]
11791				#[doc = "- the poll is ongoing, or"]
11792				#[doc = "- the poll has ended such that"]
11793				#[doc = "  - the vote of the account was in opposition to the result; or"]
11794				#[doc = "  - there was no conviction to the account's vote; or"]
11795				#[doc = "  - the account made a split vote"]
11796				#[doc = "...then the vote is removed cleanly and a following call to `unlock` may result in more"]
11797				#[doc = "funds being available."]
11798				#[doc = ""]
11799				#[doc = "If, however, the poll has ended and:"]
11800				#[doc = "- it finished corresponding to the vote of the account, and"]
11801				#[doc = "- the account made a standard vote with conviction, and"]
11802				#[doc = "- the lock period of the conviction is not over"]
11803				#[doc = "...then the lock will be aggregated into the overall account's lock, which may involve"]
11804				#[doc = "*overlocking* (where the two locks are combined into a single lock that is the maximum"]
11805				#[doc = "of both the amount locked and the time is it locked for)."]
11806				#[doc = ""]
11807				#[doc = "The dispatch origin of this call must be _Signed_, and the signer must have a vote"]
11808				#[doc = "registered for poll `index`."]
11809				#[doc = ""]
11810				#[doc = "- `index`: The index of poll of the vote to be removed."]
11811				#[doc = "- `class`: Optional parameter, if given it indicates the class of the poll. For polls"]
11812				#[doc = "  which have finished or are cancelled, this must be `Some`."]
11813				#[doc = ""]
11814				#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
11815				#[doc = "  Weight is calculated for the maximum number of vote."]
11816				pub fn remove_vote(
11817					&self,
11818					class: types::remove_vote::Class,
11819					index: types::remove_vote::Index,
11820				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveVote> {
11821					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11822						"ConvictionVoting",
11823						"remove_vote",
11824						types::RemoveVote { class, index },
11825						[
11826							255u8, 108u8, 211u8, 146u8, 168u8, 231u8, 207u8, 44u8, 76u8, 24u8,
11827							235u8, 60u8, 23u8, 79u8, 192u8, 192u8, 46u8, 40u8, 134u8, 27u8, 125u8,
11828							114u8, 125u8, 247u8, 85u8, 102u8, 76u8, 159u8, 34u8, 167u8, 152u8,
11829							148u8,
11830						],
11831					)
11832				}
11833				#[doc = "Remove a vote for a poll."]
11834				#[doc = ""]
11835				#[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"]
11836				#[doc = "`remove_vote`. If not equal to the signer, then the vote must have expired,"]
11837				#[doc = "either because the poll was cancelled, because the voter lost the poll or"]
11838				#[doc = "because the conviction period is over."]
11839				#[doc = ""]
11840				#[doc = "The dispatch origin of this call must be _Signed_."]
11841				#[doc = ""]
11842				#[doc = "- `target`: The account of the vote to be removed; this account must have voted for poll"]
11843				#[doc = "  `index`."]
11844				#[doc = "- `index`: The index of poll of the vote to be removed."]
11845				#[doc = "- `class`: The class of the poll."]
11846				#[doc = ""]
11847				#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
11848				#[doc = "  Weight is calculated for the maximum number of vote."]
11849				pub fn remove_other_vote(
11850					&self,
11851					target: types::remove_other_vote::Target,
11852					class: types::remove_other_vote::Class,
11853					index: types::remove_other_vote::Index,
11854				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveOtherVote>
11855				{
11856					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11857						"ConvictionVoting",
11858						"remove_other_vote",
11859						types::RemoveOtherVote { target, class, index },
11860						[
11861							165u8, 26u8, 166u8, 37u8, 10u8, 174u8, 243u8, 10u8, 73u8, 93u8, 213u8,
11862							69u8, 200u8, 16u8, 48u8, 146u8, 160u8, 92u8, 28u8, 26u8, 158u8, 55u8,
11863							6u8, 251u8, 36u8, 132u8, 46u8, 195u8, 107u8, 34u8, 0u8, 100u8,
11864						],
11865					)
11866				}
11867			}
11868		}
11869		#[doc = "The `Event` enum of this pallet"]
11870		pub type Event = runtime_types::pallet_conviction_voting::pallet::Event;
11871		pub mod events {
11872			use super::runtime_types;
11873			#[derive(
11874				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11875				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11876				Debug,
11877			)]
11878			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
11879			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
11880			#[doc = "An account has delegated their vote to another account. \\[who, target\\]"]
11881			pub struct Delegated(pub delegated::Field0, pub delegated::Field1);
11882			pub mod delegated {
11883				use super::runtime_types;
11884				pub type Field0 = ::subxt::ext::subxt_core::utils::AccountId32;
11885				pub type Field1 = ::subxt::ext::subxt_core::utils::AccountId32;
11886			}
11887			impl ::subxt::ext::subxt_core::events::StaticEvent for Delegated {
11888				const PALLET: &'static str = "ConvictionVoting";
11889				const EVENT: &'static str = "Delegated";
11890			}
11891			#[derive(
11892				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11893				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11894				Debug,
11895			)]
11896			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
11897			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
11898			#[doc = "An \\[account\\] has cancelled a previous delegation operation."]
11899			pub struct Undelegated(pub undelegated::Field0);
11900			pub mod undelegated {
11901				use super::runtime_types;
11902				pub type Field0 = ::subxt::ext::subxt_core::utils::AccountId32;
11903			}
11904			impl ::subxt::ext::subxt_core::events::StaticEvent for Undelegated {
11905				const PALLET: &'static str = "ConvictionVoting";
11906				const EVENT: &'static str = "Undelegated";
11907			}
11908			#[derive(
11909				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11910				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11911				Debug,
11912			)]
11913			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
11914			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
11915			#[doc = "An account has voted"]
11916			pub struct Voted {
11917				pub who: voted::Who,
11918				pub vote: voted::Vote,
11919			}
11920			pub mod voted {
11921				use super::runtime_types;
11922				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
11923				pub type Vote = runtime_types::pallet_conviction_voting::vote::AccountVote<
11924					::core::primitive::u128,
11925				>;
11926			}
11927			impl ::subxt::ext::subxt_core::events::StaticEvent for Voted {
11928				const PALLET: &'static str = "ConvictionVoting";
11929				const EVENT: &'static str = "Voted";
11930			}
11931			#[derive(
11932				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11933				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11934				Debug,
11935			)]
11936			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
11937			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
11938			#[doc = "A vote has been removed"]
11939			pub struct VoteRemoved {
11940				pub who: vote_removed::Who,
11941				pub vote: vote_removed::Vote,
11942			}
11943			pub mod vote_removed {
11944				use super::runtime_types;
11945				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
11946				pub type Vote = runtime_types::pallet_conviction_voting::vote::AccountVote<
11947					::core::primitive::u128,
11948				>;
11949			}
11950			impl ::subxt::ext::subxt_core::events::StaticEvent for VoteRemoved {
11951				const PALLET: &'static str = "ConvictionVoting";
11952				const EVENT: &'static str = "VoteRemoved";
11953			}
11954			#[derive(
11955				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11956				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11957				Debug,
11958			)]
11959			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
11960			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
11961			#[doc = "The lockup period of a conviction vote expired, and the funds have been unlocked."]
11962			pub struct VoteUnlocked {
11963				pub who: vote_unlocked::Who,
11964				pub class: vote_unlocked::Class,
11965			}
11966			pub mod vote_unlocked {
11967				use super::runtime_types;
11968				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
11969				pub type Class = ::core::primitive::u16;
11970			}
11971			impl ::subxt::ext::subxt_core::events::StaticEvent for VoteUnlocked {
11972				const PALLET: &'static str = "ConvictionVoting";
11973				const EVENT: &'static str = "VoteUnlocked";
11974			}
11975		}
11976		pub mod storage {
11977			use super::runtime_types;
11978			pub mod types {
11979				use super::runtime_types;
11980				pub mod voting_for {
11981					use super::runtime_types;
11982					pub type VotingFor = runtime_types::pallet_conviction_voting::vote::Voting<
11983						::core::primitive::u128,
11984						::subxt::ext::subxt_core::utils::AccountId32,
11985						::core::primitive::u32,
11986						::core::primitive::u32,
11987					>;
11988					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
11989					pub type Param1 = ::core::primitive::u16;
11990				}
11991				pub mod class_locks_for {
11992					use super::runtime_types;
11993					pub type ClassLocksFor =
11994						runtime_types::bounded_collections::bounded_vec::BoundedVec<(
11995							::core::primitive::u16,
11996							::core::primitive::u128,
11997						)>;
11998					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
11999				}
12000			}
12001			pub struct StorageApi;
12002			impl StorageApi {
12003				#[doc = " All voting for a particular voter in a particular voting class. We store the balance for the"]
12004				#[doc = " number of votes that we have recorded."]
12005				pub fn voting_for_iter(
12006					&self,
12007				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12008					(),
12009					types::voting_for::VotingFor,
12010					(),
12011					::subxt::ext::subxt_core::utils::Yes,
12012					::subxt::ext::subxt_core::utils::Yes,
12013				> {
12014					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12015						"ConvictionVoting",
12016						"VotingFor",
12017						(),
12018						[
12019							76u8, 63u8, 153u8, 193u8, 39u8, 137u8, 186u8, 29u8, 202u8, 56u8, 169u8,
12020							56u8, 103u8, 138u8, 192u8, 18u8, 179u8, 114u8, 56u8, 121u8, 197u8,
12021							12u8, 29u8, 239u8, 220u8, 231u8, 24u8, 46u8, 134u8, 99u8, 53u8, 206u8,
12022						],
12023					)
12024				}
12025				#[doc = " All voting for a particular voter in a particular voting class. We store the balance for the"]
12026				#[doc = " number of votes that we have recorded."]
12027				pub fn voting_for_iter1(
12028					&self,
12029					_0: types::voting_for::Param0,
12030				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12031					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12032						types::voting_for::Param0,
12033					>,
12034					types::voting_for::VotingFor,
12035					(),
12036					::subxt::ext::subxt_core::utils::Yes,
12037					::subxt::ext::subxt_core::utils::Yes,
12038				> {
12039					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12040						"ConvictionVoting",
12041						"VotingFor",
12042						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12043						[
12044							76u8, 63u8, 153u8, 193u8, 39u8, 137u8, 186u8, 29u8, 202u8, 56u8, 169u8,
12045							56u8, 103u8, 138u8, 192u8, 18u8, 179u8, 114u8, 56u8, 121u8, 197u8,
12046							12u8, 29u8, 239u8, 220u8, 231u8, 24u8, 46u8, 134u8, 99u8, 53u8, 206u8,
12047						],
12048					)
12049				}
12050				#[doc = " All voting for a particular voter in a particular voting class. We store the balance for the"]
12051				#[doc = " number of votes that we have recorded."]
12052				pub fn voting_for(
12053					&self,
12054					_0: types::voting_for::Param0,
12055					_1: types::voting_for::Param1,
12056				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12057					(
12058						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12059							types::voting_for::Param0,
12060						>,
12061						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12062							types::voting_for::Param1,
12063						>,
12064					),
12065					types::voting_for::VotingFor,
12066					::subxt::ext::subxt_core::utils::Yes,
12067					::subxt::ext::subxt_core::utils::Yes,
12068					(),
12069				> {
12070					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12071						"ConvictionVoting",
12072						"VotingFor",
12073						(
12074							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12075							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
12076						),
12077						[
12078							76u8, 63u8, 153u8, 193u8, 39u8, 137u8, 186u8, 29u8, 202u8, 56u8, 169u8,
12079							56u8, 103u8, 138u8, 192u8, 18u8, 179u8, 114u8, 56u8, 121u8, 197u8,
12080							12u8, 29u8, 239u8, 220u8, 231u8, 24u8, 46u8, 134u8, 99u8, 53u8, 206u8,
12081						],
12082					)
12083				}
12084				#[doc = " The voting classes which have a non-zero lock requirement and the lock amounts which they"]
12085				#[doc = " require. The actual amount locked on behalf of this pallet should always be the maximum of"]
12086				#[doc = " this list."]
12087				pub fn class_locks_for_iter(
12088					&self,
12089				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12090					(),
12091					types::class_locks_for::ClassLocksFor,
12092					(),
12093					::subxt::ext::subxt_core::utils::Yes,
12094					::subxt::ext::subxt_core::utils::Yes,
12095				> {
12096					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12097						"ConvictionVoting",
12098						"ClassLocksFor",
12099						(),
12100						[
12101							74u8, 74u8, 8u8, 82u8, 215u8, 61u8, 13u8, 9u8, 44u8, 222u8, 33u8,
12102							245u8, 195u8, 124u8, 6u8, 174u8, 65u8, 245u8, 71u8, 42u8, 47u8, 46u8,
12103							164u8, 231u8, 11u8, 245u8, 115u8, 207u8, 209u8, 137u8, 90u8, 6u8,
12104						],
12105					)
12106				}
12107				#[doc = " The voting classes which have a non-zero lock requirement and the lock amounts which they"]
12108				#[doc = " require. The actual amount locked on behalf of this pallet should always be the maximum of"]
12109				#[doc = " this list."]
12110				pub fn class_locks_for(
12111					&self,
12112					_0: types::class_locks_for::Param0,
12113				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12114					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12115						types::class_locks_for::Param0,
12116					>,
12117					types::class_locks_for::ClassLocksFor,
12118					::subxt::ext::subxt_core::utils::Yes,
12119					::subxt::ext::subxt_core::utils::Yes,
12120					(),
12121				> {
12122					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12123						"ConvictionVoting",
12124						"ClassLocksFor",
12125						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12126						[
12127							74u8, 74u8, 8u8, 82u8, 215u8, 61u8, 13u8, 9u8, 44u8, 222u8, 33u8,
12128							245u8, 195u8, 124u8, 6u8, 174u8, 65u8, 245u8, 71u8, 42u8, 47u8, 46u8,
12129							164u8, 231u8, 11u8, 245u8, 115u8, 207u8, 209u8, 137u8, 90u8, 6u8,
12130						],
12131					)
12132				}
12133			}
12134		}
12135		pub mod constants {
12136			use super::runtime_types;
12137			pub struct ConstantsApi;
12138			impl ConstantsApi {
12139				#[doc = " The maximum number of concurrent votes an account may have."]
12140				#[doc = ""]
12141				#[doc = " Also used to compute weight, an overly large value can lead to extrinsics with large"]
12142				#[doc = " weight estimation: see `delegate` for instance."]
12143				pub fn max_votes(
12144					&self,
12145				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
12146					::core::primitive::u32,
12147				> {
12148					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
12149						"ConvictionVoting",
12150						"MaxVotes",
12151						[
12152							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
12153							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
12154							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
12155							145u8,
12156						],
12157					)
12158				}
12159				#[doc = " The minimum period of vote locking."]
12160				#[doc = ""]
12161				#[doc = " It should be no shorter than enactment period to ensure that in the case of an approval,"]
12162				#[doc = " those successful voters are locked into the consequences that their votes entail."]
12163				pub fn vote_locking_period(
12164					&self,
12165				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
12166					::core::primitive::u32,
12167				> {
12168					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
12169						"ConvictionVoting",
12170						"VoteLockingPeriod",
12171						[
12172							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
12173							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
12174							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
12175							145u8,
12176						],
12177					)
12178				}
12179			}
12180		}
12181	}
12182	pub mod tech_collective {
12183		use super::{root_mod, runtime_types};
12184		#[doc = "The `Error` enum of this pallet."]
12185		pub type Error = runtime_types::pallet_ranked_collective::pallet::Error;
12186		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
12187		pub type Call = runtime_types::pallet_ranked_collective::pallet::Call;
12188		pub mod calls {
12189			use super::{root_mod, runtime_types};
12190			type DispatchError = runtime_types::sp_runtime::DispatchError;
12191			pub mod types {
12192				use super::runtime_types;
12193				#[derive(
12194					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12195					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12196					Debug,
12197				)]
12198				#[decode_as_type(
12199					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12200				)]
12201				#[encode_as_type(
12202					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12203				)]
12204				#[doc = "Introduce a new member."]
12205				#[doc = ""]
12206				#[doc = "- `origin`: Must be the `AddOrigin`."]
12207				#[doc = "- `who`: Account of non-member which will become a member."]
12208				#[doc = ""]
12209				#[doc = "Weight: `O(1)`"]
12210				pub struct AddMember {
12211					pub who: add_member::Who,
12212				}
12213				pub mod add_member {
12214					use super::runtime_types;
12215					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
12216						::subxt::ext::subxt_core::utils::AccountId32,
12217						(),
12218					>;
12219				}
12220				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for AddMember {
12221					const PALLET: &'static str = "TechCollective";
12222					const CALL: &'static str = "add_member";
12223				}
12224				#[derive(
12225					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12226					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12227					Debug,
12228				)]
12229				#[decode_as_type(
12230					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12231				)]
12232				#[encode_as_type(
12233					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12234				)]
12235				#[doc = "Increment the rank of an existing member by one."]
12236				#[doc = ""]
12237				#[doc = "- `origin`: Must be the `PromoteOrigin`."]
12238				#[doc = "- `who`: Account of existing member."]
12239				#[doc = ""]
12240				#[doc = "Weight: `O(1)`"]
12241				pub struct PromoteMember {
12242					pub who: promote_member::Who,
12243				}
12244				pub mod promote_member {
12245					use super::runtime_types;
12246					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
12247						::subxt::ext::subxt_core::utils::AccountId32,
12248						(),
12249					>;
12250				}
12251				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for PromoteMember {
12252					const PALLET: &'static str = "TechCollective";
12253					const CALL: &'static str = "promote_member";
12254				}
12255				#[derive(
12256					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12257					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12258					Debug,
12259				)]
12260				#[decode_as_type(
12261					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12262				)]
12263				#[encode_as_type(
12264					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12265				)]
12266				#[doc = "Decrement the rank of an existing member by one. If the member is already at rank zero,"]
12267				#[doc = "then they are removed entirely."]
12268				#[doc = ""]
12269				#[doc = "- `origin`: Must be the `DemoteOrigin`."]
12270				#[doc = "- `who`: Account of existing member of rank greater than zero."]
12271				#[doc = ""]
12272				#[doc = "Weight: `O(1)`, less if the member's index is highest in its rank."]
12273				pub struct DemoteMember {
12274					pub who: demote_member::Who,
12275				}
12276				pub mod demote_member {
12277					use super::runtime_types;
12278					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
12279						::subxt::ext::subxt_core::utils::AccountId32,
12280						(),
12281					>;
12282				}
12283				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for DemoteMember {
12284					const PALLET: &'static str = "TechCollective";
12285					const CALL: &'static str = "demote_member";
12286				}
12287				#[derive(
12288					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12289					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12290					Debug,
12291				)]
12292				#[decode_as_type(
12293					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12294				)]
12295				#[encode_as_type(
12296					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12297				)]
12298				#[doc = "Remove the member entirely."]
12299				#[doc = ""]
12300				#[doc = "- `origin`: Must be the `RemoveOrigin`."]
12301				#[doc = "- `who`: Account of existing member of rank greater than zero."]
12302				#[doc = "- `min_rank`: The rank of the member or greater."]
12303				#[doc = ""]
12304				#[doc = "Weight: `O(min_rank)`."]
12305				pub struct RemoveMember {
12306					pub who: remove_member::Who,
12307					pub min_rank: remove_member::MinRank,
12308				}
12309				pub mod remove_member {
12310					use super::runtime_types;
12311					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
12312						::subxt::ext::subxt_core::utils::AccountId32,
12313						(),
12314					>;
12315					pub type MinRank = ::core::primitive::u16;
12316				}
12317				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveMember {
12318					const PALLET: &'static str = "TechCollective";
12319					const CALL: &'static str = "remove_member";
12320				}
12321				#[derive(
12322					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12323					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12324					Debug,
12325				)]
12326				#[decode_as_type(
12327					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12328				)]
12329				#[encode_as_type(
12330					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12331				)]
12332				#[doc = "Add an aye or nay vote for the sender to the given proposal."]
12333				#[doc = ""]
12334				#[doc = "- `origin`: Must be `Signed` by a member account."]
12335				#[doc = "- `poll`: Index of a poll which is ongoing."]
12336				#[doc = "- `aye`: `true` if the vote is to approve the proposal, `false` otherwise."]
12337				#[doc = ""]
12338				#[doc = "Transaction fees are be waived if the member is voting on any particular proposal"]
12339				#[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"]
12340				#[doc = "fee."]
12341				#[doc = ""]
12342				#[doc = "Weight: `O(1)`, less if there was no previous vote on the poll by the member."]
12343				pub struct Vote {
12344					pub poll: vote::Poll,
12345					pub aye: vote::Aye,
12346				}
12347				pub mod vote {
12348					use super::runtime_types;
12349					pub type Poll = ::core::primitive::u32;
12350					pub type Aye = ::core::primitive::bool;
12351				}
12352				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Vote {
12353					const PALLET: &'static str = "TechCollective";
12354					const CALL: &'static str = "vote";
12355				}
12356				#[derive(
12357					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12358					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12359					Debug,
12360				)]
12361				#[decode_as_type(
12362					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12363				)]
12364				#[encode_as_type(
12365					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12366				)]
12367				#[doc = "Remove votes from the given poll. It must have ended."]
12368				#[doc = ""]
12369				#[doc = "- `origin`: Must be `Signed` by any account."]
12370				#[doc = "- `poll_index`: Index of a poll which is completed and for which votes continue to"]
12371				#[doc = "  exist."]
12372				#[doc = "- `max`: Maximum number of vote items from remove in this call."]
12373				#[doc = ""]
12374				#[doc = "Transaction fees are waived if the operation is successful."]
12375				#[doc = ""]
12376				#[doc = "Weight `O(max)` (less if there are fewer items to remove than `max`)."]
12377				pub struct CleanupPoll {
12378					pub poll_index: cleanup_poll::PollIndex,
12379					pub max: cleanup_poll::Max,
12380				}
12381				pub mod cleanup_poll {
12382					use super::runtime_types;
12383					pub type PollIndex = ::core::primitive::u32;
12384					pub type Max = ::core::primitive::u32;
12385				}
12386				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CleanupPoll {
12387					const PALLET: &'static str = "TechCollective";
12388					const CALL: &'static str = "cleanup_poll";
12389				}
12390				#[derive(
12391					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12392					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12393					Debug,
12394				)]
12395				#[decode_as_type(
12396					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12397				)]
12398				#[encode_as_type(
12399					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12400				)]
12401				#[doc = "Exchanges a member with a new account and the same existing rank."]
12402				#[doc = ""]
12403				#[doc = "- `origin`: Must be the `ExchangeOrigin`."]
12404				#[doc = "- `who`: Account of existing member of rank greater than zero to be exchanged."]
12405				#[doc = "- `new_who`: New Account of existing member of rank greater than zero to exchanged to."]
12406				pub struct ExchangeMember {
12407					pub who: exchange_member::Who,
12408					pub new_who: exchange_member::NewWho,
12409				}
12410				pub mod exchange_member {
12411					use super::runtime_types;
12412					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
12413						::subxt::ext::subxt_core::utils::AccountId32,
12414						(),
12415					>;
12416					pub type NewWho = ::subxt::ext::subxt_core::utils::MultiAddress<
12417						::subxt::ext::subxt_core::utils::AccountId32,
12418						(),
12419					>;
12420				}
12421				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ExchangeMember {
12422					const PALLET: &'static str = "TechCollective";
12423					const CALL: &'static str = "exchange_member";
12424				}
12425			}
12426			pub struct TransactionApi;
12427			impl TransactionApi {
12428				#[doc = "Introduce a new member."]
12429				#[doc = ""]
12430				#[doc = "- `origin`: Must be the `AddOrigin`."]
12431				#[doc = "- `who`: Account of non-member which will become a member."]
12432				#[doc = ""]
12433				#[doc = "Weight: `O(1)`"]
12434				pub fn add_member(
12435					&self,
12436					who: types::add_member::Who,
12437				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::AddMember> {
12438					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12439						"TechCollective",
12440						"add_member",
12441						types::AddMember { who },
12442						[
12443							2u8, 131u8, 37u8, 217u8, 112u8, 46u8, 86u8, 165u8, 248u8, 244u8, 33u8,
12444							236u8, 155u8, 28u8, 163u8, 169u8, 213u8, 32u8, 70u8, 217u8, 97u8,
12445							194u8, 138u8, 77u8, 133u8, 97u8, 188u8, 49u8, 49u8, 31u8, 177u8, 206u8,
12446						],
12447					)
12448				}
12449				#[doc = "Increment the rank of an existing member by one."]
12450				#[doc = ""]
12451				#[doc = "- `origin`: Must be the `PromoteOrigin`."]
12452				#[doc = "- `who`: Account of existing member."]
12453				#[doc = ""]
12454				#[doc = "Weight: `O(1)`"]
12455				pub fn promote_member(
12456					&self,
12457					who: types::promote_member::Who,
12458				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::PromoteMember>
12459				{
12460					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12461						"TechCollective",
12462						"promote_member",
12463						types::PromoteMember { who },
12464						[
12465							169u8, 155u8, 9u8, 50u8, 144u8, 133u8, 230u8, 60u8, 216u8, 147u8, 3u8,
12466							236u8, 94u8, 185u8, 106u8, 139u8, 235u8, 143u8, 189u8, 135u8, 208u8,
12467							176u8, 126u8, 124u8, 85u8, 140u8, 189u8, 125u8, 87u8, 56u8, 57u8,
12468							246u8,
12469						],
12470					)
12471				}
12472				#[doc = "Decrement the rank of an existing member by one. If the member is already at rank zero,"]
12473				#[doc = "then they are removed entirely."]
12474				#[doc = ""]
12475				#[doc = "- `origin`: Must be the `DemoteOrigin`."]
12476				#[doc = "- `who`: Account of existing member of rank greater than zero."]
12477				#[doc = ""]
12478				#[doc = "Weight: `O(1)`, less if the member's index is highest in its rank."]
12479				pub fn demote_member(
12480					&self,
12481					who: types::demote_member::Who,
12482				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::DemoteMember> {
12483					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12484						"TechCollective",
12485						"demote_member",
12486						types::DemoteMember { who },
12487						[
12488							21u8, 185u8, 71u8, 166u8, 106u8, 88u8, 74u8, 251u8, 78u8, 28u8, 205u8,
12489							171u8, 199u8, 195u8, 97u8, 149u8, 175u8, 229u8, 25u8, 113u8, 96u8,
12490							25u8, 240u8, 64u8, 109u8, 246u8, 203u8, 45u8, 110u8, 205u8, 115u8,
12491							178u8,
12492						],
12493					)
12494				}
12495				#[doc = "Remove the member entirely."]
12496				#[doc = ""]
12497				#[doc = "- `origin`: Must be the `RemoveOrigin`."]
12498				#[doc = "- `who`: Account of existing member of rank greater than zero."]
12499				#[doc = "- `min_rank`: The rank of the member or greater."]
12500				#[doc = ""]
12501				#[doc = "Weight: `O(min_rank)`."]
12502				pub fn remove_member(
12503					&self,
12504					who: types::remove_member::Who,
12505					min_rank: types::remove_member::MinRank,
12506				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveMember> {
12507					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12508						"TechCollective",
12509						"remove_member",
12510						types::RemoveMember { who, min_rank },
12511						[
12512							23u8, 156u8, 32u8, 64u8, 158u8, 50u8, 64u8, 199u8, 108u8, 67u8, 133u8,
12513							128u8, 138u8, 241u8, 14u8, 238u8, 192u8, 173u8, 250u8, 11u8, 124u8,
12514							119u8, 177u8, 190u8, 152u8, 116u8, 134u8, 42u8, 216u8, 49u8, 113u8,
12515							49u8,
12516						],
12517					)
12518				}
12519				#[doc = "Add an aye or nay vote for the sender to the given proposal."]
12520				#[doc = ""]
12521				#[doc = "- `origin`: Must be `Signed` by a member account."]
12522				#[doc = "- `poll`: Index of a poll which is ongoing."]
12523				#[doc = "- `aye`: `true` if the vote is to approve the proposal, `false` otherwise."]
12524				#[doc = ""]
12525				#[doc = "Transaction fees are be waived if the member is voting on any particular proposal"]
12526				#[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"]
12527				#[doc = "fee."]
12528				#[doc = ""]
12529				#[doc = "Weight: `O(1)`, less if there was no previous vote on the poll by the member."]
12530				pub fn vote(
12531					&self,
12532					poll: types::vote::Poll,
12533					aye: types::vote::Aye,
12534				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Vote> {
12535					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12536						"TechCollective",
12537						"vote",
12538						types::Vote { poll, aye },
12539						[
12540							54u8, 116u8, 81u8, 239u8, 223u8, 35u8, 11u8, 244u8, 245u8, 94u8, 23u8,
12541							241u8, 125u8, 231u8, 56u8, 150u8, 105u8, 125u8, 100u8, 171u8, 182u8,
12542							186u8, 134u8, 40u8, 4u8, 121u8, 119u8, 11u8, 93u8, 158u8, 59u8, 209u8,
12543						],
12544					)
12545				}
12546				#[doc = "Remove votes from the given poll. It must have ended."]
12547				#[doc = ""]
12548				#[doc = "- `origin`: Must be `Signed` by any account."]
12549				#[doc = "- `poll_index`: Index of a poll which is completed and for which votes continue to"]
12550				#[doc = "  exist."]
12551				#[doc = "- `max`: Maximum number of vote items from remove in this call."]
12552				#[doc = ""]
12553				#[doc = "Transaction fees are waived if the operation is successful."]
12554				#[doc = ""]
12555				#[doc = "Weight `O(max)` (less if there are fewer items to remove than `max`)."]
12556				pub fn cleanup_poll(
12557					&self,
12558					poll_index: types::cleanup_poll::PollIndex,
12559					max: types::cleanup_poll::Max,
12560				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CleanupPoll> {
12561					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12562						"TechCollective",
12563						"cleanup_poll",
12564						types::CleanupPoll { poll_index, max },
12565						[
12566							157u8, 109u8, 86u8, 253u8, 62u8, 107u8, 235u8, 255u8, 171u8, 68u8,
12567							103u8, 92u8, 245u8, 25u8, 252u8, 158u8, 174u8, 137u8, 77u8, 251u8,
12568							105u8, 113u8, 165u8, 46u8, 39u8, 55u8, 166u8, 79u8, 103u8, 81u8, 121u8,
12569							37u8,
12570						],
12571					)
12572				}
12573				#[doc = "Exchanges a member with a new account and the same existing rank."]
12574				#[doc = ""]
12575				#[doc = "- `origin`: Must be the `ExchangeOrigin`."]
12576				#[doc = "- `who`: Account of existing member of rank greater than zero to be exchanged."]
12577				#[doc = "- `new_who`: New Account of existing member of rank greater than zero to exchanged to."]
12578				pub fn exchange_member(
12579					&self,
12580					who: types::exchange_member::Who,
12581					new_who: types::exchange_member::NewWho,
12582				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ExchangeMember>
12583				{
12584					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12585						"TechCollective",
12586						"exchange_member",
12587						types::ExchangeMember { who, new_who },
12588						[
12589							240u8, 208u8, 76u8, 147u8, 117u8, 23u8, 91u8, 37u8, 22u8, 101u8, 53u8,
12590							247u8, 161u8, 94u8, 109u8, 233u8, 104u8, 129u8, 67u8, 31u8, 223u8,
12591							182u8, 50u8, 233u8, 120u8, 129u8, 224u8, 135u8, 52u8, 162u8, 26u8,
12592							189u8,
12593						],
12594					)
12595				}
12596			}
12597		}
12598		#[doc = "The `Event` enum of this pallet"]
12599		pub type Event = runtime_types::pallet_ranked_collective::pallet::Event;
12600		pub mod events {
12601			use super::runtime_types;
12602			#[derive(
12603				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12604				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12605				Debug,
12606			)]
12607			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
12608			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
12609			#[doc = "A member `who` has been added."]
12610			pub struct MemberAdded {
12611				pub who: member_added::Who,
12612			}
12613			pub mod member_added {
12614				use super::runtime_types;
12615				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
12616			}
12617			impl ::subxt::ext::subxt_core::events::StaticEvent for MemberAdded {
12618				const PALLET: &'static str = "TechCollective";
12619				const EVENT: &'static str = "MemberAdded";
12620			}
12621			#[derive(
12622				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12623				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12624				Debug,
12625			)]
12626			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
12627			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
12628			#[doc = "The member `who`se rank has been changed to the given `rank`."]
12629			pub struct RankChanged {
12630				pub who: rank_changed::Who,
12631				pub rank: rank_changed::Rank,
12632			}
12633			pub mod rank_changed {
12634				use super::runtime_types;
12635				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
12636				pub type Rank = ::core::primitive::u16;
12637			}
12638			impl ::subxt::ext::subxt_core::events::StaticEvent for RankChanged {
12639				const PALLET: &'static str = "TechCollective";
12640				const EVENT: &'static str = "RankChanged";
12641			}
12642			#[derive(
12643				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12644				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12645				Debug,
12646			)]
12647			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
12648			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
12649			#[doc = "The member `who` of given `rank` has been removed from the collective."]
12650			pub struct MemberRemoved {
12651				pub who: member_removed::Who,
12652				pub rank: member_removed::Rank,
12653			}
12654			pub mod member_removed {
12655				use super::runtime_types;
12656				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
12657				pub type Rank = ::core::primitive::u16;
12658			}
12659			impl ::subxt::ext::subxt_core::events::StaticEvent for MemberRemoved {
12660				const PALLET: &'static str = "TechCollective";
12661				const EVENT: &'static str = "MemberRemoved";
12662			}
12663			#[derive(
12664				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12665				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12666				Debug,
12667			)]
12668			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
12669			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
12670			#[doc = "The member `who` has voted for the `poll` with the given `vote` leading to an updated"]
12671			#[doc = "`tally`."]
12672			pub struct Voted {
12673				pub who: voted::Who,
12674				pub poll: voted::Poll,
12675				pub vote: voted::Vote,
12676				pub tally: voted::Tally,
12677			}
12678			pub mod voted {
12679				use super::runtime_types;
12680				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
12681				pub type Poll = ::core::primitive::u32;
12682				pub type Vote = runtime_types::pallet_ranked_collective::VoteRecord;
12683				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
12684			}
12685			impl ::subxt::ext::subxt_core::events::StaticEvent for Voted {
12686				const PALLET: &'static str = "TechCollective";
12687				const EVENT: &'static str = "Voted";
12688			}
12689			#[derive(
12690				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12691				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12692				Debug,
12693			)]
12694			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
12695			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
12696			#[doc = "The member `who` had their `AccountId` changed to `new_who`."]
12697			pub struct MemberExchanged {
12698				pub who: member_exchanged::Who,
12699				pub new_who: member_exchanged::NewWho,
12700			}
12701			pub mod member_exchanged {
12702				use super::runtime_types;
12703				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
12704				pub type NewWho = ::subxt::ext::subxt_core::utils::AccountId32;
12705			}
12706			impl ::subxt::ext::subxt_core::events::StaticEvent for MemberExchanged {
12707				const PALLET: &'static str = "TechCollective";
12708				const EVENT: &'static str = "MemberExchanged";
12709			}
12710		}
12711		pub mod storage {
12712			use super::runtime_types;
12713			pub mod types {
12714				use super::runtime_types;
12715				pub mod member_count {
12716					use super::runtime_types;
12717					pub type MemberCount = ::core::primitive::u32;
12718					pub type Param0 = ::core::primitive::u16;
12719				}
12720				pub mod members {
12721					use super::runtime_types;
12722					pub type Members = runtime_types::pallet_ranked_collective::MemberRecord;
12723					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
12724				}
12725				pub mod id_to_index {
12726					use super::runtime_types;
12727					pub type IdToIndex = ::core::primitive::u32;
12728					pub type Param0 = ::core::primitive::u16;
12729					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
12730				}
12731				pub mod index_to_id {
12732					use super::runtime_types;
12733					pub type IndexToId = ::subxt::ext::subxt_core::utils::AccountId32;
12734					pub type Param0 = ::core::primitive::u16;
12735					pub type Param1 = ::core::primitive::u32;
12736				}
12737				pub mod voting {
12738					use super::runtime_types;
12739					pub type Voting = runtime_types::pallet_ranked_collective::VoteRecord;
12740					pub type Param0 = ::core::primitive::u32;
12741					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
12742				}
12743				pub mod voting_cleanup {
12744					use super::runtime_types;
12745					pub type VotingCleanup =
12746						runtime_types::bounded_collections::bounded_vec::BoundedVec<
12747							::core::primitive::u8,
12748						>;
12749					pub type Param0 = ::core::primitive::u32;
12750				}
12751			}
12752			pub struct StorageApi;
12753			impl StorageApi {
12754				#[doc = " The number of members in the collective who have at least the rank according to the index"]
12755				#[doc = " of the vec."]
12756				pub fn member_count_iter(
12757					&self,
12758				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12759					(),
12760					types::member_count::MemberCount,
12761					(),
12762					::subxt::ext::subxt_core::utils::Yes,
12763					::subxt::ext::subxt_core::utils::Yes,
12764				> {
12765					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12766						"TechCollective",
12767						"MemberCount",
12768						(),
12769						[
12770							0u8, 141u8, 66u8, 91u8, 155u8, 74u8, 17u8, 191u8, 143u8, 41u8, 231u8,
12771							56u8, 123u8, 219u8, 145u8, 27u8, 197u8, 62u8, 118u8, 237u8, 30u8, 7u8,
12772							107u8, 96u8, 95u8, 17u8, 242u8, 206u8, 246u8, 79u8, 53u8, 214u8,
12773						],
12774					)
12775				}
12776				#[doc = " The number of members in the collective who have at least the rank according to the index"]
12777				#[doc = " of the vec."]
12778				pub fn member_count(
12779					&self,
12780					_0: types::member_count::Param0,
12781				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12782					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12783						types::member_count::Param0,
12784					>,
12785					types::member_count::MemberCount,
12786					::subxt::ext::subxt_core::utils::Yes,
12787					::subxt::ext::subxt_core::utils::Yes,
12788					(),
12789				> {
12790					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12791						"TechCollective",
12792						"MemberCount",
12793						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12794						[
12795							0u8, 141u8, 66u8, 91u8, 155u8, 74u8, 17u8, 191u8, 143u8, 41u8, 231u8,
12796							56u8, 123u8, 219u8, 145u8, 27u8, 197u8, 62u8, 118u8, 237u8, 30u8, 7u8,
12797							107u8, 96u8, 95u8, 17u8, 242u8, 206u8, 246u8, 79u8, 53u8, 214u8,
12798						],
12799					)
12800				}
12801				#[doc = " The current members of the collective."]
12802				pub fn members_iter(
12803					&self,
12804				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12805					(),
12806					types::members::Members,
12807					(),
12808					(),
12809					::subxt::ext::subxt_core::utils::Yes,
12810				> {
12811					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12812						"TechCollective",
12813						"Members",
12814						(),
12815						[
12816							101u8, 183u8, 36u8, 241u8, 67u8, 8u8, 252u8, 116u8, 110u8, 153u8,
12817							117u8, 210u8, 128u8, 80u8, 130u8, 163u8, 38u8, 76u8, 230u8, 107u8,
12818							112u8, 90u8, 102u8, 24u8, 217u8, 2u8, 244u8, 197u8, 103u8, 215u8,
12819							247u8, 133u8,
12820						],
12821					)
12822				}
12823				#[doc = " The current members of the collective."]
12824				pub fn members(
12825					&self,
12826					_0: types::members::Param0,
12827				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12828					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12829						types::members::Param0,
12830					>,
12831					types::members::Members,
12832					::subxt::ext::subxt_core::utils::Yes,
12833					(),
12834					(),
12835				> {
12836					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12837						"TechCollective",
12838						"Members",
12839						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12840						[
12841							101u8, 183u8, 36u8, 241u8, 67u8, 8u8, 252u8, 116u8, 110u8, 153u8,
12842							117u8, 210u8, 128u8, 80u8, 130u8, 163u8, 38u8, 76u8, 230u8, 107u8,
12843							112u8, 90u8, 102u8, 24u8, 217u8, 2u8, 244u8, 197u8, 103u8, 215u8,
12844							247u8, 133u8,
12845						],
12846					)
12847				}
12848				#[doc = " The index of each ranks's member into the group of members who have at least that rank."]
12849				pub fn id_to_index_iter(
12850					&self,
12851				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12852					(),
12853					types::id_to_index::IdToIndex,
12854					(),
12855					(),
12856					::subxt::ext::subxt_core::utils::Yes,
12857				> {
12858					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12859						"TechCollective",
12860						"IdToIndex",
12861						(),
12862						[
12863							121u8, 225u8, 69u8, 131u8, 194u8, 3u8, 82u8, 27u8, 129u8, 152u8, 157u8,
12864							45u8, 39u8, 47u8, 166u8, 28u8, 42u8, 92u8, 217u8, 189u8, 160u8, 102u8,
12865							153u8, 196u8, 94u8, 48u8, 248u8, 113u8, 164u8, 111u8, 27u8, 9u8,
12866						],
12867					)
12868				}
12869				#[doc = " The index of each ranks's member into the group of members who have at least that rank."]
12870				pub fn id_to_index_iter1(
12871					&self,
12872					_0: types::id_to_index::Param0,
12873				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12874					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12875						types::id_to_index::Param0,
12876					>,
12877					types::id_to_index::IdToIndex,
12878					(),
12879					(),
12880					::subxt::ext::subxt_core::utils::Yes,
12881				> {
12882					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12883						"TechCollective",
12884						"IdToIndex",
12885						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12886						[
12887							121u8, 225u8, 69u8, 131u8, 194u8, 3u8, 82u8, 27u8, 129u8, 152u8, 157u8,
12888							45u8, 39u8, 47u8, 166u8, 28u8, 42u8, 92u8, 217u8, 189u8, 160u8, 102u8,
12889							153u8, 196u8, 94u8, 48u8, 248u8, 113u8, 164u8, 111u8, 27u8, 9u8,
12890						],
12891					)
12892				}
12893				#[doc = " The index of each ranks's member into the group of members who have at least that rank."]
12894				pub fn id_to_index(
12895					&self,
12896					_0: types::id_to_index::Param0,
12897					_1: types::id_to_index::Param1,
12898				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12899					(
12900						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12901							types::id_to_index::Param0,
12902						>,
12903						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12904							types::id_to_index::Param1,
12905						>,
12906					),
12907					types::id_to_index::IdToIndex,
12908					::subxt::ext::subxt_core::utils::Yes,
12909					(),
12910					(),
12911				> {
12912					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12913						"TechCollective",
12914						"IdToIndex",
12915						(
12916							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12917							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
12918						),
12919						[
12920							121u8, 225u8, 69u8, 131u8, 194u8, 3u8, 82u8, 27u8, 129u8, 152u8, 157u8,
12921							45u8, 39u8, 47u8, 166u8, 28u8, 42u8, 92u8, 217u8, 189u8, 160u8, 102u8,
12922							153u8, 196u8, 94u8, 48u8, 248u8, 113u8, 164u8, 111u8, 27u8, 9u8,
12923						],
12924					)
12925				}
12926				#[doc = " The members in the collective by index. All indices in the range `0..MemberCount` will"]
12927				#[doc = " return `Some`, however a member's index is not guaranteed to remain unchanged over time."]
12928				pub fn index_to_id_iter(
12929					&self,
12930				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12931					(),
12932					types::index_to_id::IndexToId,
12933					(),
12934					(),
12935					::subxt::ext::subxt_core::utils::Yes,
12936				> {
12937					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12938						"TechCollective",
12939						"IndexToId",
12940						(),
12941						[
12942							110u8, 48u8, 214u8, 224u8, 56u8, 195u8, 186u8, 24u8, 111u8, 37u8, 15u8,
12943							153u8, 245u8, 101u8, 229u8, 149u8, 216u8, 185u8, 7u8, 242u8, 196u8,
12944							29u8, 205u8, 243u8, 162u8, 92u8, 71u8, 253u8, 102u8, 152u8, 137u8,
12945							70u8,
12946						],
12947					)
12948				}
12949				#[doc = " The members in the collective by index. All indices in the range `0..MemberCount` will"]
12950				#[doc = " return `Some`, however a member's index is not guaranteed to remain unchanged over time."]
12951				pub fn index_to_id_iter1(
12952					&self,
12953					_0: types::index_to_id::Param0,
12954				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12955					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12956						types::index_to_id::Param0,
12957					>,
12958					types::index_to_id::IndexToId,
12959					(),
12960					(),
12961					::subxt::ext::subxt_core::utils::Yes,
12962				> {
12963					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12964						"TechCollective",
12965						"IndexToId",
12966						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12967						[
12968							110u8, 48u8, 214u8, 224u8, 56u8, 195u8, 186u8, 24u8, 111u8, 37u8, 15u8,
12969							153u8, 245u8, 101u8, 229u8, 149u8, 216u8, 185u8, 7u8, 242u8, 196u8,
12970							29u8, 205u8, 243u8, 162u8, 92u8, 71u8, 253u8, 102u8, 152u8, 137u8,
12971							70u8,
12972						],
12973					)
12974				}
12975				#[doc = " The members in the collective by index. All indices in the range `0..MemberCount` will"]
12976				#[doc = " return `Some`, however a member's index is not guaranteed to remain unchanged over time."]
12977				pub fn index_to_id(
12978					&self,
12979					_0: types::index_to_id::Param0,
12980					_1: types::index_to_id::Param1,
12981				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12982					(
12983						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12984							types::index_to_id::Param0,
12985						>,
12986						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12987							types::index_to_id::Param1,
12988						>,
12989					),
12990					types::index_to_id::IndexToId,
12991					::subxt::ext::subxt_core::utils::Yes,
12992					(),
12993					(),
12994				> {
12995					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12996						"TechCollective",
12997						"IndexToId",
12998						(
12999							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13000							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
13001						),
13002						[
13003							110u8, 48u8, 214u8, 224u8, 56u8, 195u8, 186u8, 24u8, 111u8, 37u8, 15u8,
13004							153u8, 245u8, 101u8, 229u8, 149u8, 216u8, 185u8, 7u8, 242u8, 196u8,
13005							29u8, 205u8, 243u8, 162u8, 92u8, 71u8, 253u8, 102u8, 152u8, 137u8,
13006							70u8,
13007						],
13008					)
13009				}
13010				#[doc = " Votes on a given proposal, if it is ongoing."]
13011				pub fn voting_iter(
13012					&self,
13013				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13014					(),
13015					types::voting::Voting,
13016					(),
13017					(),
13018					::subxt::ext::subxt_core::utils::Yes,
13019				> {
13020					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13021						"TechCollective",
13022						"Voting",
13023						(),
13024						[
13025							180u8, 146u8, 236u8, 178u8, 30u8, 50u8, 161u8, 50u8, 140u8, 110u8,
13026							220u8, 1u8, 109u8, 209u8, 17u8, 94u8, 234u8, 223u8, 222u8, 177u8,
13027							243u8, 194u8, 246u8, 48u8, 178u8, 86u8, 30u8, 185u8, 56u8, 206u8,
13028							175u8, 18u8,
13029						],
13030					)
13031				}
13032				#[doc = " Votes on a given proposal, if it is ongoing."]
13033				pub fn voting_iter1(
13034					&self,
13035					_0: types::voting::Param0,
13036				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13037					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13038						types::voting::Param0,
13039					>,
13040					types::voting::Voting,
13041					(),
13042					(),
13043					::subxt::ext::subxt_core::utils::Yes,
13044				> {
13045					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13046						"TechCollective",
13047						"Voting",
13048						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13049						[
13050							180u8, 146u8, 236u8, 178u8, 30u8, 50u8, 161u8, 50u8, 140u8, 110u8,
13051							220u8, 1u8, 109u8, 209u8, 17u8, 94u8, 234u8, 223u8, 222u8, 177u8,
13052							243u8, 194u8, 246u8, 48u8, 178u8, 86u8, 30u8, 185u8, 56u8, 206u8,
13053							175u8, 18u8,
13054						],
13055					)
13056				}
13057				#[doc = " Votes on a given proposal, if it is ongoing."]
13058				pub fn voting(
13059					&self,
13060					_0: types::voting::Param0,
13061					_1: types::voting::Param1,
13062				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13063					(
13064						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13065							types::voting::Param0,
13066						>,
13067						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13068							types::voting::Param1,
13069						>,
13070					),
13071					types::voting::Voting,
13072					::subxt::ext::subxt_core::utils::Yes,
13073					(),
13074					(),
13075				> {
13076					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13077						"TechCollective",
13078						"Voting",
13079						(
13080							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13081							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
13082						),
13083						[
13084							180u8, 146u8, 236u8, 178u8, 30u8, 50u8, 161u8, 50u8, 140u8, 110u8,
13085							220u8, 1u8, 109u8, 209u8, 17u8, 94u8, 234u8, 223u8, 222u8, 177u8,
13086							243u8, 194u8, 246u8, 48u8, 178u8, 86u8, 30u8, 185u8, 56u8, 206u8,
13087							175u8, 18u8,
13088						],
13089					)
13090				}
13091				pub fn voting_cleanup_iter(
13092					&self,
13093				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13094					(),
13095					types::voting_cleanup::VotingCleanup,
13096					(),
13097					(),
13098					::subxt::ext::subxt_core::utils::Yes,
13099				> {
13100					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13101						"TechCollective",
13102						"VotingCleanup",
13103						(),
13104						[
13105							223u8, 130u8, 79u8, 104u8, 94u8, 221u8, 222u8, 72u8, 187u8, 95u8,
13106							231u8, 59u8, 28u8, 119u8, 191u8, 63u8, 40u8, 186u8, 58u8, 254u8, 14u8,
13107							233u8, 152u8, 36u8, 2u8, 231u8, 120u8, 13u8, 120u8, 211u8, 232u8, 11u8,
13108						],
13109					)
13110				}
13111				pub fn voting_cleanup(
13112					&self,
13113					_0: types::voting_cleanup::Param0,
13114				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13115					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13116						types::voting_cleanup::Param0,
13117					>,
13118					types::voting_cleanup::VotingCleanup,
13119					::subxt::ext::subxt_core::utils::Yes,
13120					(),
13121					(),
13122				> {
13123					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13124						"TechCollective",
13125						"VotingCleanup",
13126						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13127						[
13128							223u8, 130u8, 79u8, 104u8, 94u8, 221u8, 222u8, 72u8, 187u8, 95u8,
13129							231u8, 59u8, 28u8, 119u8, 191u8, 63u8, 40u8, 186u8, 58u8, 254u8, 14u8,
13130							233u8, 152u8, 36u8, 2u8, 231u8, 120u8, 13u8, 120u8, 211u8, 232u8, 11u8,
13131						],
13132					)
13133				}
13134			}
13135		}
13136	}
13137	pub mod tech_referenda {
13138		use super::{root_mod, runtime_types};
13139		#[doc = "The `Error` enum of this pallet."]
13140		pub type Error = runtime_types::pallet_referenda::pallet::Error;
13141		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
13142		pub type Call = runtime_types::pallet_referenda::pallet::Call;
13143		pub mod calls {
13144			use super::{root_mod, runtime_types};
13145			type DispatchError = runtime_types::sp_runtime::DispatchError;
13146			pub mod types {
13147				use super::runtime_types;
13148				#[derive(
13149					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13150					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13151					Debug,
13152				)]
13153				#[decode_as_type(
13154					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13155				)]
13156				#[encode_as_type(
13157					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13158				)]
13159				#[doc = "Propose a referendum on a privileged action."]
13160				#[doc = ""]
13161				#[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"]
13162				#[doc = "  available."]
13163				#[doc = "- `proposal_origin`: The origin from which the proposal should be executed."]
13164				#[doc = "- `proposal`: The proposal."]
13165				#[doc = "- `enactment_moment`: The moment that the proposal should be enacted."]
13166				#[doc = ""]
13167				#[doc = "Emits `Submitted`."]
13168				pub struct Submit {
13169					pub proposal_origin:
13170						::subxt::ext::subxt_core::alloc::boxed::Box<submit::ProposalOrigin>,
13171					pub proposal: submit::Proposal,
13172					pub enactment_moment: submit::EnactmentMoment,
13173				}
13174				pub mod submit {
13175					use super::runtime_types;
13176					pub type ProposalOrigin = runtime_types::quantus_runtime::OriginCaller;
13177					pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
13178						runtime_types::quantus_runtime::RuntimeCall,
13179						runtime_types::qp_poseidon::PoseidonHasher,
13180					>;
13181					pub type EnactmentMoment =
13182						runtime_types::frame_support::traits::schedule::DispatchTime<
13183							::core::primitive::u32,
13184						>;
13185				}
13186				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Submit {
13187					const PALLET: &'static str = "TechReferenda";
13188					const CALL: &'static str = "submit";
13189				}
13190				#[derive(
13191					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13192					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13193					Debug,
13194				)]
13195				#[decode_as_type(
13196					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13197				)]
13198				#[encode_as_type(
13199					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13200				)]
13201				#[doc = "Post the Decision Deposit for a referendum."]
13202				#[doc = ""]
13203				#[doc = "- `origin`: must be `Signed` and the account must have funds available for the"]
13204				#[doc = "  referendum's track's Decision Deposit."]
13205				#[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"]
13206				#[doc = "  posted."]
13207				#[doc = ""]
13208				#[doc = "Emits `DecisionDepositPlaced`."]
13209				pub struct PlaceDecisionDeposit {
13210					pub index: place_decision_deposit::Index,
13211				}
13212				pub mod place_decision_deposit {
13213					use super::runtime_types;
13214					pub type Index = ::core::primitive::u32;
13215				}
13216				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for PlaceDecisionDeposit {
13217					const PALLET: &'static str = "TechReferenda";
13218					const CALL: &'static str = "place_decision_deposit";
13219				}
13220				#[derive(
13221					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13222					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13223					Debug,
13224				)]
13225				#[decode_as_type(
13226					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13227				)]
13228				#[encode_as_type(
13229					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13230				)]
13231				#[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."]
13232				#[doc = ""]
13233				#[doc = "- `origin`: must be `Signed` or `Root`."]
13234				#[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"]
13235				#[doc = "  refunded."]
13236				#[doc = ""]
13237				#[doc = "Emits `DecisionDepositRefunded`."]
13238				pub struct RefundDecisionDeposit {
13239					pub index: refund_decision_deposit::Index,
13240				}
13241				pub mod refund_decision_deposit {
13242					use super::runtime_types;
13243					pub type Index = ::core::primitive::u32;
13244				}
13245				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RefundDecisionDeposit {
13246					const PALLET: &'static str = "TechReferenda";
13247					const CALL: &'static str = "refund_decision_deposit";
13248				}
13249				#[derive(
13250					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13251					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13252					Debug,
13253				)]
13254				#[decode_as_type(
13255					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13256				)]
13257				#[encode_as_type(
13258					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13259				)]
13260				#[doc = "Cancel an ongoing referendum."]
13261				#[doc = ""]
13262				#[doc = "- `origin`: must be the `CancelOrigin`."]
13263				#[doc = "- `index`: The index of the referendum to be cancelled."]
13264				#[doc = ""]
13265				#[doc = "Emits `Cancelled`."]
13266				pub struct Cancel {
13267					pub index: cancel::Index,
13268				}
13269				pub mod cancel {
13270					use super::runtime_types;
13271					pub type Index = ::core::primitive::u32;
13272				}
13273				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Cancel {
13274					const PALLET: &'static str = "TechReferenda";
13275					const CALL: &'static str = "cancel";
13276				}
13277				#[derive(
13278					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13279					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13280					Debug,
13281				)]
13282				#[decode_as_type(
13283					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13284				)]
13285				#[encode_as_type(
13286					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13287				)]
13288				#[doc = "Cancel an ongoing referendum and slash the deposits."]
13289				#[doc = ""]
13290				#[doc = "- `origin`: must be the `KillOrigin`."]
13291				#[doc = "- `index`: The index of the referendum to be cancelled."]
13292				#[doc = ""]
13293				#[doc = "Emits `Killed` and `DepositSlashed`."]
13294				pub struct Kill {
13295					pub index: kill::Index,
13296				}
13297				pub mod kill {
13298					use super::runtime_types;
13299					pub type Index = ::core::primitive::u32;
13300				}
13301				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Kill {
13302					const PALLET: &'static str = "TechReferenda";
13303					const CALL: &'static str = "kill";
13304				}
13305				#[derive(
13306					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13307					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13308					Debug,
13309				)]
13310				#[decode_as_type(
13311					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13312				)]
13313				#[encode_as_type(
13314					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13315				)]
13316				#[doc = "Advance a referendum onto its next logical state. Only used internally."]
13317				#[doc = ""]
13318				#[doc = "- `origin`: must be `Root`."]
13319				#[doc = "- `index`: the referendum to be advanced."]
13320				pub struct NudgeReferendum {
13321					pub index: nudge_referendum::Index,
13322				}
13323				pub mod nudge_referendum {
13324					use super::runtime_types;
13325					pub type Index = ::core::primitive::u32;
13326				}
13327				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for NudgeReferendum {
13328					const PALLET: &'static str = "TechReferenda";
13329					const CALL: &'static str = "nudge_referendum";
13330				}
13331				#[derive(
13332					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13333					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13334					Debug,
13335				)]
13336				#[decode_as_type(
13337					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13338				)]
13339				#[encode_as_type(
13340					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13341				)]
13342				#[doc = "Advance a track onto its next logical state. Only used internally."]
13343				#[doc = ""]
13344				#[doc = "- `origin`: must be `Root`."]
13345				#[doc = "- `track`: the track to be advanced."]
13346				#[doc = ""]
13347				#[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"]
13348				#[doc = "`DecidingCount` is not yet updated. This means that we should either:"]
13349				#[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"]
13350				#[doc = "- decrement `DecidingCount`."]
13351				pub struct OneFewerDeciding {
13352					pub track: one_fewer_deciding::Track,
13353				}
13354				pub mod one_fewer_deciding {
13355					use super::runtime_types;
13356					pub type Track = ::core::primitive::u16;
13357				}
13358				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for OneFewerDeciding {
13359					const PALLET: &'static str = "TechReferenda";
13360					const CALL: &'static str = "one_fewer_deciding";
13361				}
13362				#[derive(
13363					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13364					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13365					Debug,
13366				)]
13367				#[decode_as_type(
13368					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13369				)]
13370				#[encode_as_type(
13371					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13372				)]
13373				#[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."]
13374				#[doc = ""]
13375				#[doc = "- `origin`: must be `Signed` or `Root`."]
13376				#[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"]
13377				#[doc = "  refunded."]
13378				#[doc = ""]
13379				#[doc = "Emits `SubmissionDepositRefunded`."]
13380				pub struct RefundSubmissionDeposit {
13381					pub index: refund_submission_deposit::Index,
13382				}
13383				pub mod refund_submission_deposit {
13384					use super::runtime_types;
13385					pub type Index = ::core::primitive::u32;
13386				}
13387				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RefundSubmissionDeposit {
13388					const PALLET: &'static str = "TechReferenda";
13389					const CALL: &'static str = "refund_submission_deposit";
13390				}
13391				#[derive(
13392					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13393					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13394					Debug,
13395				)]
13396				#[decode_as_type(
13397					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13398				)]
13399				#[encode_as_type(
13400					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13401				)]
13402				#[doc = "Set or clear metadata of a referendum."]
13403				#[doc = ""]
13404				#[doc = "Parameters:"]
13405				#[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"]
13406				#[doc = "  metadata of a finished referendum."]
13407				#[doc = "- `index`:  The index of a referendum to set or clear metadata for."]
13408				#[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."]
13409				pub struct SetMetadata {
13410					pub index: set_metadata::Index,
13411					pub maybe_hash: set_metadata::MaybeHash,
13412				}
13413				pub mod set_metadata {
13414					use super::runtime_types;
13415					pub type Index = ::core::primitive::u32;
13416					pub type MaybeHash =
13417						::core::option::Option<::subxt::ext::subxt_core::utils::H256>;
13418				}
13419				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetMetadata {
13420					const PALLET: &'static str = "TechReferenda";
13421					const CALL: &'static str = "set_metadata";
13422				}
13423			}
13424			pub struct TransactionApi;
13425			impl TransactionApi {
13426				#[doc = "Propose a referendum on a privileged action."]
13427				#[doc = ""]
13428				#[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"]
13429				#[doc = "  available."]
13430				#[doc = "- `proposal_origin`: The origin from which the proposal should be executed."]
13431				#[doc = "- `proposal`: The proposal."]
13432				#[doc = "- `enactment_moment`: The moment that the proposal should be enacted."]
13433				#[doc = ""]
13434				#[doc = "Emits `Submitted`."]
13435				pub fn submit(
13436					&self,
13437					proposal_origin: types::submit::ProposalOrigin,
13438					proposal: types::submit::Proposal,
13439					enactment_moment: types::submit::EnactmentMoment,
13440				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Submit> {
13441					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13442						"TechReferenda",
13443						"submit",
13444						types::Submit {
13445							proposal_origin: ::subxt::ext::subxt_core::alloc::boxed::Box::new(
13446								proposal_origin,
13447							),
13448							proposal,
13449							enactment_moment,
13450						},
13451						[
13452							30u8, 232u8, 132u8, 0u8, 199u8, 166u8, 49u8, 94u8, 238u8, 61u8, 236u8,
13453							207u8, 2u8, 136u8, 37u8, 81u8, 67u8, 133u8, 2u8, 147u8, 177u8, 176u8,
13454							178u8, 113u8, 155u8, 180u8, 104u8, 176u8, 215u8, 255u8, 240u8, 100u8,
13455						],
13456					)
13457				}
13458				#[doc = "Post the Decision Deposit for a referendum."]
13459				#[doc = ""]
13460				#[doc = "- `origin`: must be `Signed` and the account must have funds available for the"]
13461				#[doc = "  referendum's track's Decision Deposit."]
13462				#[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"]
13463				#[doc = "  posted."]
13464				#[doc = ""]
13465				#[doc = "Emits `DecisionDepositPlaced`."]
13466				pub fn place_decision_deposit(
13467					&self,
13468					index: types::place_decision_deposit::Index,
13469				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::PlaceDecisionDeposit>
13470				{
13471					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13472						"TechReferenda",
13473						"place_decision_deposit",
13474						types::PlaceDecisionDeposit { index },
13475						[
13476							247u8, 158u8, 55u8, 191u8, 188u8, 200u8, 3u8, 47u8, 20u8, 175u8, 86u8,
13477							203u8, 52u8, 253u8, 91u8, 131u8, 21u8, 213u8, 56u8, 68u8, 40u8, 84u8,
13478							184u8, 30u8, 9u8, 193u8, 63u8, 182u8, 178u8, 241u8, 247u8, 220u8,
13479						],
13480					)
13481				}
13482				#[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."]
13483				#[doc = ""]
13484				#[doc = "- `origin`: must be `Signed` or `Root`."]
13485				#[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"]
13486				#[doc = "  refunded."]
13487				#[doc = ""]
13488				#[doc = "Emits `DecisionDepositRefunded`."]
13489				pub fn refund_decision_deposit(
13490					&self,
13491					index: types::refund_decision_deposit::Index,
13492				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
13493					types::RefundDecisionDeposit,
13494				> {
13495					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13496						"TechReferenda",
13497						"refund_decision_deposit",
13498						types::RefundDecisionDeposit { index },
13499						[
13500							159u8, 19u8, 35u8, 216u8, 114u8, 105u8, 18u8, 42u8, 148u8, 151u8,
13501							136u8, 92u8, 117u8, 30u8, 29u8, 41u8, 238u8, 58u8, 195u8, 91u8, 115u8,
13502							135u8, 96u8, 99u8, 154u8, 233u8, 8u8, 249u8, 145u8, 165u8, 77u8, 164u8,
13503						],
13504					)
13505				}
13506				#[doc = "Cancel an ongoing referendum."]
13507				#[doc = ""]
13508				#[doc = "- `origin`: must be the `CancelOrigin`."]
13509				#[doc = "- `index`: The index of the referendum to be cancelled."]
13510				#[doc = ""]
13511				#[doc = "Emits `Cancelled`."]
13512				pub fn cancel(
13513					&self,
13514					index: types::cancel::Index,
13515				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Cancel> {
13516					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13517						"TechReferenda",
13518						"cancel",
13519						types::Cancel { index },
13520						[
13521							55u8, 206u8, 119u8, 156u8, 238u8, 165u8, 193u8, 73u8, 242u8, 13u8,
13522							212u8, 75u8, 136u8, 156u8, 151u8, 14u8, 35u8, 41u8, 156u8, 107u8, 60u8,
13523							190u8, 39u8, 216u8, 8u8, 74u8, 213u8, 130u8, 160u8, 131u8, 237u8,
13524							122u8,
13525						],
13526					)
13527				}
13528				#[doc = "Cancel an ongoing referendum and slash the deposits."]
13529				#[doc = ""]
13530				#[doc = "- `origin`: must be the `KillOrigin`."]
13531				#[doc = "- `index`: The index of the referendum to be cancelled."]
13532				#[doc = ""]
13533				#[doc = "Emits `Killed` and `DepositSlashed`."]
13534				pub fn kill(
13535					&self,
13536					index: types::kill::Index,
13537				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Kill> {
13538					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13539						"TechReferenda",
13540						"kill",
13541						types::Kill { index },
13542						[
13543							50u8, 89u8, 57u8, 0u8, 87u8, 129u8, 113u8, 140u8, 179u8, 178u8, 126u8,
13544							198u8, 92u8, 92u8, 189u8, 64u8, 123u8, 232u8, 57u8, 227u8, 223u8,
13545							219u8, 73u8, 217u8, 179u8, 44u8, 210u8, 125u8, 180u8, 10u8, 143u8,
13546							48u8,
13547						],
13548					)
13549				}
13550				#[doc = "Advance a referendum onto its next logical state. Only used internally."]
13551				#[doc = ""]
13552				#[doc = "- `origin`: must be `Root`."]
13553				#[doc = "- `index`: the referendum to be advanced."]
13554				pub fn nudge_referendum(
13555					&self,
13556					index: types::nudge_referendum::Index,
13557				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::NudgeReferendum>
13558				{
13559					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13560						"TechReferenda",
13561						"nudge_referendum",
13562						types::NudgeReferendum { index },
13563						[
13564							75u8, 99u8, 172u8, 30u8, 170u8, 150u8, 211u8, 229u8, 249u8, 128u8,
13565							194u8, 246u8, 100u8, 142u8, 193u8, 184u8, 232u8, 81u8, 29u8, 17u8,
13566							99u8, 91u8, 236u8, 85u8, 230u8, 226u8, 57u8, 115u8, 45u8, 170u8, 54u8,
13567							213u8,
13568						],
13569					)
13570				}
13571				#[doc = "Advance a track onto its next logical state. Only used internally."]
13572				#[doc = ""]
13573				#[doc = "- `origin`: must be `Root`."]
13574				#[doc = "- `track`: the track to be advanced."]
13575				#[doc = ""]
13576				#[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"]
13577				#[doc = "`DecidingCount` is not yet updated. This means that we should either:"]
13578				#[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"]
13579				#[doc = "- decrement `DecidingCount`."]
13580				pub fn one_fewer_deciding(
13581					&self,
13582					track: types::one_fewer_deciding::Track,
13583				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::OneFewerDeciding>
13584				{
13585					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13586						"TechReferenda",
13587						"one_fewer_deciding",
13588						types::OneFewerDeciding { track },
13589						[
13590							15u8, 84u8, 79u8, 231u8, 21u8, 239u8, 244u8, 143u8, 183u8, 215u8,
13591							181u8, 25u8, 225u8, 195u8, 95u8, 171u8, 17u8, 156u8, 182u8, 128u8,
13592							111u8, 40u8, 151u8, 102u8, 196u8, 55u8, 36u8, 212u8, 89u8, 190u8,
13593							131u8, 167u8,
13594						],
13595					)
13596				}
13597				#[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."]
13598				#[doc = ""]
13599				#[doc = "- `origin`: must be `Signed` or `Root`."]
13600				#[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"]
13601				#[doc = "  refunded."]
13602				#[doc = ""]
13603				#[doc = "Emits `SubmissionDepositRefunded`."]
13604				pub fn refund_submission_deposit(
13605					&self,
13606					index: types::refund_submission_deposit::Index,
13607				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
13608					types::RefundSubmissionDeposit,
13609				> {
13610					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13611						"TechReferenda",
13612						"refund_submission_deposit",
13613						types::RefundSubmissionDeposit { index },
13614						[
13615							20u8, 217u8, 115u8, 6u8, 1u8, 60u8, 54u8, 136u8, 35u8, 41u8, 38u8,
13616							23u8, 85u8, 100u8, 141u8, 126u8, 30u8, 160u8, 61u8, 46u8, 134u8, 98u8,
13617							82u8, 38u8, 211u8, 124u8, 208u8, 222u8, 210u8, 10u8, 155u8, 122u8,
13618						],
13619					)
13620				}
13621				#[doc = "Set or clear metadata of a referendum."]
13622				#[doc = ""]
13623				#[doc = "Parameters:"]
13624				#[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"]
13625				#[doc = "  metadata of a finished referendum."]
13626				#[doc = "- `index`:  The index of a referendum to set or clear metadata for."]
13627				#[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."]
13628				pub fn set_metadata(
13629					&self,
13630					index: types::set_metadata::Index,
13631					maybe_hash: types::set_metadata::MaybeHash,
13632				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetMetadata> {
13633					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13634						"TechReferenda",
13635						"set_metadata",
13636						types::SetMetadata { index, maybe_hash },
13637						[
13638							207u8, 29u8, 146u8, 233u8, 219u8, 205u8, 88u8, 118u8, 106u8, 61u8,
13639							124u8, 101u8, 2u8, 41u8, 169u8, 70u8, 114u8, 189u8, 162u8, 118u8, 1u8,
13640							108u8, 234u8, 98u8, 245u8, 245u8, 183u8, 126u8, 89u8, 13u8, 112u8,
13641							88u8,
13642						],
13643					)
13644				}
13645			}
13646		}
13647		#[doc = "The `Event` enum of this pallet"]
13648		pub type Event = runtime_types::pallet_referenda::pallet::Event2;
13649		pub mod events {
13650			use super::runtime_types;
13651			#[derive(
13652				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13653				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13654				Debug,
13655			)]
13656			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13657			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13658			#[doc = "A referendum has been submitted."]
13659			pub struct Submitted {
13660				pub index: submitted::Index,
13661				pub track: submitted::Track,
13662				pub proposal: submitted::Proposal,
13663			}
13664			pub mod submitted {
13665				use super::runtime_types;
13666				pub type Index = ::core::primitive::u32;
13667				pub type Track = ::core::primitive::u16;
13668				pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
13669					runtime_types::quantus_runtime::RuntimeCall,
13670					runtime_types::qp_poseidon::PoseidonHasher,
13671				>;
13672			}
13673			impl ::subxt::ext::subxt_core::events::StaticEvent for Submitted {
13674				const PALLET: &'static str = "TechReferenda";
13675				const EVENT: &'static str = "Submitted";
13676			}
13677			#[derive(
13678				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13679				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13680				Debug,
13681			)]
13682			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13683			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13684			#[doc = "The decision deposit has been placed."]
13685			pub struct DecisionDepositPlaced {
13686				pub index: decision_deposit_placed::Index,
13687				pub who: decision_deposit_placed::Who,
13688				pub amount: decision_deposit_placed::Amount,
13689			}
13690			pub mod decision_deposit_placed {
13691				use super::runtime_types;
13692				pub type Index = ::core::primitive::u32;
13693				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
13694				pub type Amount = ::core::primitive::u128;
13695			}
13696			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionDepositPlaced {
13697				const PALLET: &'static str = "TechReferenda";
13698				const EVENT: &'static str = "DecisionDepositPlaced";
13699			}
13700			#[derive(
13701				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13702				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13703				Debug,
13704			)]
13705			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13706			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13707			#[doc = "The decision deposit has been refunded."]
13708			pub struct DecisionDepositRefunded {
13709				pub index: decision_deposit_refunded::Index,
13710				pub who: decision_deposit_refunded::Who,
13711				pub amount: decision_deposit_refunded::Amount,
13712			}
13713			pub mod decision_deposit_refunded {
13714				use super::runtime_types;
13715				pub type Index = ::core::primitive::u32;
13716				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
13717				pub type Amount = ::core::primitive::u128;
13718			}
13719			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionDepositRefunded {
13720				const PALLET: &'static str = "TechReferenda";
13721				const EVENT: &'static str = "DecisionDepositRefunded";
13722			}
13723			#[derive(
13724				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13725				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13726				Debug,
13727			)]
13728			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13729			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13730			#[doc = "A deposit has been slashed."]
13731			pub struct DepositSlashed {
13732				pub who: deposit_slashed::Who,
13733				pub amount: deposit_slashed::Amount,
13734			}
13735			pub mod deposit_slashed {
13736				use super::runtime_types;
13737				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
13738				pub type Amount = ::core::primitive::u128;
13739			}
13740			impl ::subxt::ext::subxt_core::events::StaticEvent for DepositSlashed {
13741				const PALLET: &'static str = "TechReferenda";
13742				const EVENT: &'static str = "DepositSlashed";
13743			}
13744			#[derive(
13745				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13746				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13747				Debug,
13748			)]
13749			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13750			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13751			#[doc = "A referendum has moved into the deciding phase."]
13752			pub struct DecisionStarted {
13753				pub index: decision_started::Index,
13754				pub track: decision_started::Track,
13755				pub proposal: decision_started::Proposal,
13756				pub tally: decision_started::Tally,
13757			}
13758			pub mod decision_started {
13759				use super::runtime_types;
13760				pub type Index = ::core::primitive::u32;
13761				pub type Track = ::core::primitive::u16;
13762				pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
13763					runtime_types::quantus_runtime::RuntimeCall,
13764					runtime_types::qp_poseidon::PoseidonHasher,
13765				>;
13766				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
13767			}
13768			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionStarted {
13769				const PALLET: &'static str = "TechReferenda";
13770				const EVENT: &'static str = "DecisionStarted";
13771			}
13772			#[derive(
13773				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13774				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13775				Debug,
13776			)]
13777			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13778			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13779			pub struct ConfirmStarted {
13780				pub index: confirm_started::Index,
13781			}
13782			pub mod confirm_started {
13783				use super::runtime_types;
13784				pub type Index = ::core::primitive::u32;
13785			}
13786			impl ::subxt::ext::subxt_core::events::StaticEvent for ConfirmStarted {
13787				const PALLET: &'static str = "TechReferenda";
13788				const EVENT: &'static str = "ConfirmStarted";
13789			}
13790			#[derive(
13791				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13792				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13793				Debug,
13794			)]
13795			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13796			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13797			pub struct ConfirmAborted {
13798				pub index: confirm_aborted::Index,
13799			}
13800			pub mod confirm_aborted {
13801				use super::runtime_types;
13802				pub type Index = ::core::primitive::u32;
13803			}
13804			impl ::subxt::ext::subxt_core::events::StaticEvent for ConfirmAborted {
13805				const PALLET: &'static str = "TechReferenda";
13806				const EVENT: &'static str = "ConfirmAborted";
13807			}
13808			#[derive(
13809				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13810				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13811				Debug,
13812			)]
13813			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13814			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13815			#[doc = "A referendum has ended its confirmation phase and is ready for approval."]
13816			pub struct Confirmed {
13817				pub index: confirmed::Index,
13818				pub tally: confirmed::Tally,
13819			}
13820			pub mod confirmed {
13821				use super::runtime_types;
13822				pub type Index = ::core::primitive::u32;
13823				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
13824			}
13825			impl ::subxt::ext::subxt_core::events::StaticEvent for Confirmed {
13826				const PALLET: &'static str = "TechReferenda";
13827				const EVENT: &'static str = "Confirmed";
13828			}
13829			#[derive(
13830				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13831				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13832				Debug,
13833			)]
13834			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13835			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13836			#[doc = "A referendum has been approved and its proposal has been scheduled."]
13837			pub struct Approved {
13838				pub index: approved::Index,
13839			}
13840			pub mod approved {
13841				use super::runtime_types;
13842				pub type Index = ::core::primitive::u32;
13843			}
13844			impl ::subxt::ext::subxt_core::events::StaticEvent for Approved {
13845				const PALLET: &'static str = "TechReferenda";
13846				const EVENT: &'static str = "Approved";
13847			}
13848			#[derive(
13849				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13850				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13851				Debug,
13852			)]
13853			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13854			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13855			#[doc = "A proposal has been rejected by referendum."]
13856			pub struct Rejected {
13857				pub index: rejected::Index,
13858				pub tally: rejected::Tally,
13859			}
13860			pub mod rejected {
13861				use super::runtime_types;
13862				pub type Index = ::core::primitive::u32;
13863				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
13864			}
13865			impl ::subxt::ext::subxt_core::events::StaticEvent for Rejected {
13866				const PALLET: &'static str = "TechReferenda";
13867				const EVENT: &'static str = "Rejected";
13868			}
13869			#[derive(
13870				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13871				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13872				Debug,
13873			)]
13874			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13875			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13876			#[doc = "A referendum has been timed out without being decided."]
13877			pub struct TimedOut {
13878				pub index: timed_out::Index,
13879				pub tally: timed_out::Tally,
13880			}
13881			pub mod timed_out {
13882				use super::runtime_types;
13883				pub type Index = ::core::primitive::u32;
13884				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
13885			}
13886			impl ::subxt::ext::subxt_core::events::StaticEvent for TimedOut {
13887				const PALLET: &'static str = "TechReferenda";
13888				const EVENT: &'static str = "TimedOut";
13889			}
13890			#[derive(
13891				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13892				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13893				Debug,
13894			)]
13895			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13896			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13897			#[doc = "A referendum has been cancelled."]
13898			pub struct Cancelled {
13899				pub index: cancelled::Index,
13900				pub tally: cancelled::Tally,
13901			}
13902			pub mod cancelled {
13903				use super::runtime_types;
13904				pub type Index = ::core::primitive::u32;
13905				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
13906			}
13907			impl ::subxt::ext::subxt_core::events::StaticEvent for Cancelled {
13908				const PALLET: &'static str = "TechReferenda";
13909				const EVENT: &'static str = "Cancelled";
13910			}
13911			#[derive(
13912				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13913				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13914				Debug,
13915			)]
13916			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13917			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13918			#[doc = "A referendum has been killed."]
13919			pub struct Killed {
13920				pub index: killed::Index,
13921				pub tally: killed::Tally,
13922			}
13923			pub mod killed {
13924				use super::runtime_types;
13925				pub type Index = ::core::primitive::u32;
13926				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
13927			}
13928			impl ::subxt::ext::subxt_core::events::StaticEvent for Killed {
13929				const PALLET: &'static str = "TechReferenda";
13930				const EVENT: &'static str = "Killed";
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 submission deposit has been refunded."]
13940			pub struct SubmissionDepositRefunded {
13941				pub index: submission_deposit_refunded::Index,
13942				pub who: submission_deposit_refunded::Who,
13943				pub amount: submission_deposit_refunded::Amount,
13944			}
13945			pub mod submission_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 SubmissionDepositRefunded {
13952				const PALLET: &'static str = "TechReferenda";
13953				const EVENT: &'static str = "SubmissionDepositRefunded";
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 = "Metadata for a referendum has been set."]
13963			pub struct MetadataSet {
13964				pub index: metadata_set::Index,
13965				pub hash: metadata_set::Hash,
13966			}
13967			pub mod metadata_set {
13968				use super::runtime_types;
13969				pub type Index = ::core::primitive::u32;
13970				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
13971			}
13972			impl ::subxt::ext::subxt_core::events::StaticEvent for MetadataSet {
13973				const PALLET: &'static str = "TechReferenda";
13974				const EVENT: &'static str = "MetadataSet";
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 = "Metadata for a referendum has been cleared."]
13984			pub struct MetadataCleared {
13985				pub index: metadata_cleared::Index,
13986				pub hash: metadata_cleared::Hash,
13987			}
13988			pub mod metadata_cleared {
13989				use super::runtime_types;
13990				pub type Index = ::core::primitive::u32;
13991				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
13992			}
13993			impl ::subxt::ext::subxt_core::events::StaticEvent for MetadataCleared {
13994				const PALLET: &'static str = "TechReferenda";
13995				const EVENT: &'static str = "MetadataCleared";
13996			}
13997		}
13998		pub mod storage {
13999			use super::runtime_types;
14000			pub mod types {
14001				use super::runtime_types;
14002				pub mod referendum_count {
14003					use super::runtime_types;
14004					pub type ReferendumCount = ::core::primitive::u32;
14005				}
14006				pub mod referendum_info_for {
14007					use super::runtime_types;
14008					pub type ReferendumInfoFor =
14009						runtime_types::pallet_referenda::types::ReferendumInfo<
14010							::core::primitive::u16,
14011							runtime_types::quantus_runtime::OriginCaller,
14012							::core::primitive::u32,
14013							runtime_types::frame_support::traits::preimages::Bounded<
14014								runtime_types::quantus_runtime::RuntimeCall,
14015								runtime_types::qp_poseidon::PoseidonHasher,
14016							>,
14017							::core::primitive::u128,
14018							runtime_types::pallet_ranked_collective::Tally,
14019							::subxt::ext::subxt_core::utils::AccountId32,
14020							(
14021								runtime_types::qp_scheduler::BlockNumberOrTimestamp<
14022									::core::primitive::u32,
14023									::core::primitive::u64,
14024								>,
14025								::core::primitive::u32,
14026							),
14027						>;
14028					pub type Param0 = ::core::primitive::u32;
14029				}
14030				pub mod track_queue {
14031					use super::runtime_types;
14032					pub type TrackQueue =
14033						runtime_types::bounded_collections::bounded_vec::BoundedVec<(
14034							::core::primitive::u32,
14035							::core::primitive::u32,
14036						)>;
14037					pub type Param0 = ::core::primitive::u16;
14038				}
14039				pub mod deciding_count {
14040					use super::runtime_types;
14041					pub type DecidingCount = ::core::primitive::u32;
14042					pub type Param0 = ::core::primitive::u16;
14043				}
14044				pub mod metadata_of {
14045					use super::runtime_types;
14046					pub type MetadataOf = ::subxt::ext::subxt_core::utils::H256;
14047					pub type Param0 = ::core::primitive::u32;
14048				}
14049			}
14050			pub struct StorageApi;
14051			impl StorageApi {
14052				#[doc = " The next free referendum index, aka the number of referenda started so far."]
14053				pub fn referendum_count(
14054					&self,
14055				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14056					(),
14057					types::referendum_count::ReferendumCount,
14058					::subxt::ext::subxt_core::utils::Yes,
14059					::subxt::ext::subxt_core::utils::Yes,
14060					(),
14061				> {
14062					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14063						"TechReferenda",
14064						"ReferendumCount",
14065						(),
14066						[
14067							64u8, 145u8, 232u8, 153u8, 121u8, 87u8, 128u8, 253u8, 170u8, 192u8,
14068							139u8, 18u8, 0u8, 33u8, 243u8, 11u8, 238u8, 222u8, 244u8, 5u8, 247u8,
14069							198u8, 149u8, 31u8, 122u8, 208u8, 86u8, 179u8, 166u8, 167u8, 93u8,
14070							67u8,
14071						],
14072					)
14073				}
14074				#[doc = " Information concerning any given referendum."]
14075				pub fn referendum_info_for_iter(
14076					&self,
14077				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14078					(),
14079					types::referendum_info_for::ReferendumInfoFor,
14080					(),
14081					(),
14082					::subxt::ext::subxt_core::utils::Yes,
14083				> {
14084					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14085						"TechReferenda",
14086						"ReferendumInfoFor",
14087						(),
14088						[
14089							12u8, 160u8, 226u8, 48u8, 96u8, 127u8, 60u8, 27u8, 37u8, 158u8, 31u8,
14090							162u8, 106u8, 183u8, 90u8, 169u8, 244u8, 35u8, 25u8, 121u8, 84u8,
14091							120u8, 20u8, 206u8, 137u8, 42u8, 139u8, 47u8, 62u8, 73u8, 157u8, 182u8,
14092						],
14093					)
14094				}
14095				#[doc = " Information concerning any given referendum."]
14096				pub fn referendum_info_for(
14097					&self,
14098					_0: types::referendum_info_for::Param0,
14099				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14100					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
14101						types::referendum_info_for::Param0,
14102					>,
14103					types::referendum_info_for::ReferendumInfoFor,
14104					::subxt::ext::subxt_core::utils::Yes,
14105					(),
14106					(),
14107				> {
14108					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14109						"TechReferenda",
14110						"ReferendumInfoFor",
14111						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
14112						[
14113							12u8, 160u8, 226u8, 48u8, 96u8, 127u8, 60u8, 27u8, 37u8, 158u8, 31u8,
14114							162u8, 106u8, 183u8, 90u8, 169u8, 244u8, 35u8, 25u8, 121u8, 84u8,
14115							120u8, 20u8, 206u8, 137u8, 42u8, 139u8, 47u8, 62u8, 73u8, 157u8, 182u8,
14116						],
14117					)
14118				}
14119				#[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"]
14120				#[doc = " conviction-weighted approvals."]
14121				#[doc = ""]
14122				#[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."]
14123				pub fn track_queue_iter(
14124					&self,
14125				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14126					(),
14127					types::track_queue::TrackQueue,
14128					(),
14129					::subxt::ext::subxt_core::utils::Yes,
14130					::subxt::ext::subxt_core::utils::Yes,
14131				> {
14132					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14133						"TechReferenda",
14134						"TrackQueue",
14135						(),
14136						[
14137							187u8, 113u8, 225u8, 99u8, 159u8, 207u8, 182u8, 41u8, 116u8, 136u8,
14138							119u8, 196u8, 152u8, 50u8, 192u8, 22u8, 171u8, 182u8, 237u8, 228u8,
14139							80u8, 255u8, 227u8, 141u8, 155u8, 83u8, 71u8, 131u8, 118u8, 109u8,
14140							186u8, 65u8,
14141						],
14142					)
14143				}
14144				#[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"]
14145				#[doc = " conviction-weighted approvals."]
14146				#[doc = ""]
14147				#[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."]
14148				pub fn track_queue(
14149					&self,
14150					_0: types::track_queue::Param0,
14151				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14152					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
14153						types::track_queue::Param0,
14154					>,
14155					types::track_queue::TrackQueue,
14156					::subxt::ext::subxt_core::utils::Yes,
14157					::subxt::ext::subxt_core::utils::Yes,
14158					(),
14159				> {
14160					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14161						"TechReferenda",
14162						"TrackQueue",
14163						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
14164						[
14165							187u8, 113u8, 225u8, 99u8, 159u8, 207u8, 182u8, 41u8, 116u8, 136u8,
14166							119u8, 196u8, 152u8, 50u8, 192u8, 22u8, 171u8, 182u8, 237u8, 228u8,
14167							80u8, 255u8, 227u8, 141u8, 155u8, 83u8, 71u8, 131u8, 118u8, 109u8,
14168							186u8, 65u8,
14169						],
14170					)
14171				}
14172				#[doc = " The number of referenda being decided currently."]
14173				pub fn deciding_count_iter(
14174					&self,
14175				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14176					(),
14177					types::deciding_count::DecidingCount,
14178					(),
14179					::subxt::ext::subxt_core::utils::Yes,
14180					::subxt::ext::subxt_core::utils::Yes,
14181				> {
14182					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14183						"TechReferenda",
14184						"DecidingCount",
14185						(),
14186						[
14187							203u8, 89u8, 158u8, 179u8, 194u8, 82u8, 248u8, 162u8, 93u8, 140u8,
14188							146u8, 51u8, 110u8, 232u8, 51u8, 1u8, 128u8, 212u8, 199u8, 14u8, 182u8,
14189							103u8, 47u8, 252u8, 126u8, 108u8, 166u8, 69u8, 252u8, 179u8, 126u8,
14190							245u8,
14191						],
14192					)
14193				}
14194				#[doc = " The number of referenda being decided currently."]
14195				pub fn deciding_count(
14196					&self,
14197					_0: types::deciding_count::Param0,
14198				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14199					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
14200						types::deciding_count::Param0,
14201					>,
14202					types::deciding_count::DecidingCount,
14203					::subxt::ext::subxt_core::utils::Yes,
14204					::subxt::ext::subxt_core::utils::Yes,
14205					(),
14206				> {
14207					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14208						"TechReferenda",
14209						"DecidingCount",
14210						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
14211						[
14212							203u8, 89u8, 158u8, 179u8, 194u8, 82u8, 248u8, 162u8, 93u8, 140u8,
14213							146u8, 51u8, 110u8, 232u8, 51u8, 1u8, 128u8, 212u8, 199u8, 14u8, 182u8,
14214							103u8, 47u8, 252u8, 126u8, 108u8, 166u8, 69u8, 252u8, 179u8, 126u8,
14215							245u8,
14216						],
14217					)
14218				}
14219				#[doc = " The metadata is a general information concerning the referendum."]
14220				#[doc = " The `Hash` refers to the preimage of the `Preimages` provider which can be a JSON"]
14221				#[doc = " dump or IPFS hash of a JSON file."]
14222				#[doc = ""]
14223				#[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"]
14224				#[doc = " large preimages."]
14225				pub fn metadata_of_iter(
14226					&self,
14227				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14228					(),
14229					types::metadata_of::MetadataOf,
14230					(),
14231					(),
14232					::subxt::ext::subxt_core::utils::Yes,
14233				> {
14234					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14235						"TechReferenda",
14236						"MetadataOf",
14237						(),
14238						[
14239							159u8, 250u8, 56u8, 189u8, 247u8, 165u8, 206u8, 166u8, 91u8, 139u8,
14240							124u8, 164u8, 25u8, 246u8, 199u8, 36u8, 159u8, 56u8, 227u8, 136u8, 4u8,
14241							45u8, 193u8, 72u8, 200u8, 164u8, 39u8, 207u8, 224u8, 124u8, 191u8,
14242							110u8,
14243						],
14244					)
14245				}
14246				#[doc = " The metadata is a general information concerning the referendum."]
14247				#[doc = " The `Hash` refers to the preimage of the `Preimages` provider which can be a JSON"]
14248				#[doc = " dump or IPFS hash of a JSON file."]
14249				#[doc = ""]
14250				#[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"]
14251				#[doc = " large preimages."]
14252				pub fn metadata_of(
14253					&self,
14254					_0: types::metadata_of::Param0,
14255				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14256					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
14257						types::metadata_of::Param0,
14258					>,
14259					types::metadata_of::MetadataOf,
14260					::subxt::ext::subxt_core::utils::Yes,
14261					(),
14262					(),
14263				> {
14264					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14265						"TechReferenda",
14266						"MetadataOf",
14267						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
14268						[
14269							159u8, 250u8, 56u8, 189u8, 247u8, 165u8, 206u8, 166u8, 91u8, 139u8,
14270							124u8, 164u8, 25u8, 246u8, 199u8, 36u8, 159u8, 56u8, 227u8, 136u8, 4u8,
14271							45u8, 193u8, 72u8, 200u8, 164u8, 39u8, 207u8, 224u8, 124u8, 191u8,
14272							110u8,
14273						],
14274					)
14275				}
14276			}
14277		}
14278		pub mod constants {
14279			use super::runtime_types;
14280			pub struct ConstantsApi;
14281			impl ConstantsApi {
14282				#[doc = " The minimum amount to be used as a deposit for a public referendum proposal."]
14283				pub fn submission_deposit(
14284					&self,
14285				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
14286					::core::primitive::u128,
14287				> {
14288					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
14289						"TechReferenda",
14290						"SubmissionDeposit",
14291						[
14292							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
14293							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
14294							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
14295						],
14296					)
14297				}
14298				#[doc = " Maximum size of the referendum queue for a single track."]
14299				pub fn max_queued(
14300					&self,
14301				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
14302					::core::primitive::u32,
14303				> {
14304					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
14305						"TechReferenda",
14306						"MaxQueued",
14307						[
14308							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
14309							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
14310							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
14311							145u8,
14312						],
14313					)
14314				}
14315				#[doc = " The number of blocks after submission that a referendum must begin being decided by."]
14316				#[doc = " Once this passes, then anyone may cancel the referendum."]
14317				pub fn undeciding_timeout(
14318					&self,
14319				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
14320					::core::primitive::u32,
14321				> {
14322					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
14323						"TechReferenda",
14324						"UndecidingTimeout",
14325						[
14326							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
14327							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
14328							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
14329							145u8,
14330						],
14331					)
14332				}
14333				#[doc = " Quantization level for the referendum wakeup scheduler. A higher number will result in"]
14334				#[doc = " fewer storage reads/writes needed for smaller voters, but also result in delays to the"]
14335				#[doc = " automatic referendum status changes. Explicit servicing instructions are unaffected."]
14336				pub fn alarm_interval(
14337					&self,
14338				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
14339					::core::primitive::u32,
14340				> {
14341					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
14342						"TechReferenda",
14343						"AlarmInterval",
14344						[
14345							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
14346							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
14347							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
14348							145u8,
14349						],
14350					)
14351				}
14352				#[doc = " A list of tracks."]
14353				#[doc = ""]
14354				#[doc = " Note: if the tracks are dynamic, the value in the static metadata might be inaccurate."]
14355				pub fn tracks(
14356					&self,
14357				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
14358					::subxt::ext::subxt_core::alloc::vec::Vec<(
14359						::core::primitive::u16,
14360						runtime_types::pallet_referenda::types::TrackDetails<
14361							::core::primitive::u128,
14362							::core::primitive::u32,
14363							::subxt::ext::subxt_core::alloc::string::String,
14364						>,
14365					)>,
14366				> {
14367					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
14368						"TechReferenda",
14369						"Tracks",
14370						[
14371							35u8, 226u8, 207u8, 234u8, 184u8, 139u8, 187u8, 184u8, 128u8, 199u8,
14372							227u8, 15u8, 31u8, 196u8, 5u8, 207u8, 138u8, 174u8, 130u8, 201u8,
14373							200u8, 113u8, 86u8, 93u8, 221u8, 243u8, 229u8, 24u8, 18u8, 150u8, 56u8,
14374							159u8,
14375						],
14376					)
14377				}
14378			}
14379		}
14380	}
14381	pub mod merkle_airdrop {
14382		use super::{root_mod, runtime_types};
14383		#[doc = "The `Error` enum of this pallet."]
14384		pub type Error = runtime_types::pallet_merkle_airdrop::pallet::Error;
14385		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
14386		pub type Call = runtime_types::pallet_merkle_airdrop::pallet::Call;
14387		pub mod calls {
14388			use super::{root_mod, runtime_types};
14389			type DispatchError = runtime_types::sp_runtime::DispatchError;
14390			pub mod types {
14391				use super::runtime_types;
14392				#[derive(
14393					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14394					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14395					Debug,
14396				)]
14397				#[decode_as_type(
14398					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
14399				)]
14400				#[encode_as_type(
14401					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
14402				)]
14403				#[doc = "Create a new airdrop with a Merkle root."]
14404				#[doc = ""]
14405				#[doc = "The Merkle root is a cryptographic hash that represents all valid claims"]
14406				#[doc = "for this airdrop. Users will later provide Merkle proofs to verify their"]
14407				#[doc = "eligibility to claim tokens."]
14408				#[doc = ""]
14409				#[doc = "# Parameters"]
14410				#[doc = ""]
14411				#[doc = "* `origin` - The origin of the call (must be signed)"]
14412				#[doc = "* `merkle_root` - The Merkle root hash representing all valid claims"]
14413				#[doc = "* `vesting_period` - Optional vesting period for the airdrop"]
14414				#[doc = "* `vesting_delay` - Optional delay before vesting starts"]
14415				pub struct CreateAirdrop {
14416					pub merkle_root: create_airdrop::MerkleRoot,
14417					pub vesting_period: create_airdrop::VestingPeriod,
14418					pub vesting_delay: create_airdrop::VestingDelay,
14419				}
14420				pub mod create_airdrop {
14421					use super::runtime_types;
14422					pub type MerkleRoot = [::core::primitive::u8; 32usize];
14423					pub type VestingPeriod = ::core::option::Option<::core::primitive::u32>;
14424					pub type VestingDelay = ::core::option::Option<::core::primitive::u32>;
14425				}
14426				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CreateAirdrop {
14427					const PALLET: &'static str = "MerkleAirdrop";
14428					const CALL: &'static str = "create_airdrop";
14429				}
14430				#[derive(
14431					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14432					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14433					Debug,
14434				)]
14435				#[decode_as_type(
14436					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
14437				)]
14438				#[encode_as_type(
14439					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
14440				)]
14441				#[doc = "Fund an existing airdrop with tokens."]
14442				#[doc = ""]
14443				#[doc = "This function transfers tokens from the caller to the airdrop's account,"]
14444				#[doc = "making them available for users to claim."]
14445				#[doc = ""]
14446				#[doc = "# Parameters"]
14447				#[doc = ""]
14448				#[doc = "* `origin` - The origin of the call (must be signed)"]
14449				#[doc = "* `airdrop_id` - The ID of the airdrop to fund"]
14450				#[doc = "* `amount` - The amount of tokens to add to the airdrop"]
14451				#[doc = ""]
14452				#[doc = "# Errors"]
14453				#[doc = ""]
14454				#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
14455				pub struct FundAirdrop {
14456					pub airdrop_id: fund_airdrop::AirdropId,
14457					pub amount: fund_airdrop::Amount,
14458				}
14459				pub mod fund_airdrop {
14460					use super::runtime_types;
14461					pub type AirdropId = ::core::primitive::u32;
14462					pub type Amount = ::core::primitive::u128;
14463				}
14464				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for FundAirdrop {
14465					const PALLET: &'static str = "MerkleAirdrop";
14466					const CALL: &'static str = "fund_airdrop";
14467				}
14468				#[derive(
14469					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14470					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14471					Debug,
14472				)]
14473				#[decode_as_type(
14474					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
14475				)]
14476				#[encode_as_type(
14477					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
14478				)]
14479				#[doc = "Claim tokens from an airdrop by providing a Merkle proof."]
14480				#[doc = ""]
14481				#[doc = "Users can claim their tokens by providing a proof of their eligibility."]
14482				#[doc = "The proof is verified against the airdrop's Merkle root."]
14483				#[doc = "Anyone can trigger a claim for any eligible recipient."]
14484				#[doc = ""]
14485				#[doc = "# Parameters"]
14486				#[doc = ""]
14487				#[doc = "* `origin` - The origin of the call"]
14488				#[doc = "* `airdrop_id` - The ID of the airdrop to claim from"]
14489				#[doc = "* `amount` - The amount of tokens to claim"]
14490				#[doc = "* `merkle_proof` - The Merkle proof verifying eligibility"]
14491				#[doc = ""]
14492				#[doc = "# Errors"]
14493				#[doc = ""]
14494				#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
14495				#[doc = "* `AlreadyClaimed` - If the recipient has already claimed from this airdrop"]
14496				#[doc = "* `InvalidProof` - If the provided Merkle proof is invalid"]
14497				#[doc = "* `InsufficientAirdropBalance` - If the airdrop doesn't have enough tokens"]
14498				pub struct Claim {
14499					pub airdrop_id: claim::AirdropId,
14500					pub recipient: claim::Recipient,
14501					pub amount: claim::Amount,
14502					pub merkle_proof: claim::MerkleProof,
14503				}
14504				pub mod claim {
14505					use super::runtime_types;
14506					pub type AirdropId = ::core::primitive::u32;
14507					pub type Recipient = ::subxt::ext::subxt_core::utils::AccountId32;
14508					pub type Amount = ::core::primitive::u128;
14509					pub type MerkleProof =
14510						runtime_types::bounded_collections::bounded_vec::BoundedVec<
14511							[::core::primitive::u8; 32usize],
14512						>;
14513				}
14514				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Claim {
14515					const PALLET: &'static str = "MerkleAirdrop";
14516					const CALL: &'static str = "claim";
14517				}
14518				#[derive(
14519					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14520					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14521					Debug,
14522				)]
14523				#[decode_as_type(
14524					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
14525				)]
14526				#[encode_as_type(
14527					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
14528				)]
14529				#[doc = "Delete an airdrop and reclaim any remaining funds."]
14530				#[doc = ""]
14531				#[doc = "This function allows the creator of an airdrop to delete it and reclaim"]
14532				#[doc = "any remaining tokens that haven't been claimed."]
14533				#[doc = ""]
14534				#[doc = "# Parameters"]
14535				#[doc = ""]
14536				#[doc = "* `origin` - The origin of the call (must be the airdrop creator)"]
14537				#[doc = "* `airdrop_id` - The ID of the airdrop to delete"]
14538				#[doc = ""]
14539				#[doc = "# Errors"]
14540				#[doc = ""]
14541				#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
14542				#[doc = "* `NotAirdropCreator` - If the caller is not the creator of the airdrop"]
14543				pub struct DeleteAirdrop {
14544					pub airdrop_id: delete_airdrop::AirdropId,
14545				}
14546				pub mod delete_airdrop {
14547					use super::runtime_types;
14548					pub type AirdropId = ::core::primitive::u32;
14549				}
14550				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for DeleteAirdrop {
14551					const PALLET: &'static str = "MerkleAirdrop";
14552					const CALL: &'static str = "delete_airdrop";
14553				}
14554			}
14555			pub struct TransactionApi;
14556			impl TransactionApi {
14557				#[doc = "Create a new airdrop with a Merkle root."]
14558				#[doc = ""]
14559				#[doc = "The Merkle root is a cryptographic hash that represents all valid claims"]
14560				#[doc = "for this airdrop. Users will later provide Merkle proofs to verify their"]
14561				#[doc = "eligibility to claim tokens."]
14562				#[doc = ""]
14563				#[doc = "# Parameters"]
14564				#[doc = ""]
14565				#[doc = "* `origin` - The origin of the call (must be signed)"]
14566				#[doc = "* `merkle_root` - The Merkle root hash representing all valid claims"]
14567				#[doc = "* `vesting_period` - Optional vesting period for the airdrop"]
14568				#[doc = "* `vesting_delay` - Optional delay before vesting starts"]
14569				pub fn create_airdrop(
14570					&self,
14571					merkle_root: types::create_airdrop::MerkleRoot,
14572					vesting_period: types::create_airdrop::VestingPeriod,
14573					vesting_delay: types::create_airdrop::VestingDelay,
14574				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CreateAirdrop>
14575				{
14576					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14577						"MerkleAirdrop",
14578						"create_airdrop",
14579						types::CreateAirdrop { merkle_root, vesting_period, vesting_delay },
14580						[
14581							18u8, 201u8, 105u8, 56u8, 66u8, 207u8, 57u8, 177u8, 133u8, 38u8, 185u8,
14582							19u8, 205u8, 119u8, 177u8, 206u8, 188u8, 88u8, 138u8, 33u8, 246u8,
14583							179u8, 148u8, 0u8, 79u8, 201u8, 89u8, 229u8, 46u8, 77u8, 42u8, 117u8,
14584						],
14585					)
14586				}
14587				#[doc = "Fund an existing airdrop with tokens."]
14588				#[doc = ""]
14589				#[doc = "This function transfers tokens from the caller to the airdrop's account,"]
14590				#[doc = "making them available for users to claim."]
14591				#[doc = ""]
14592				#[doc = "# Parameters"]
14593				#[doc = ""]
14594				#[doc = "* `origin` - The origin of the call (must be signed)"]
14595				#[doc = "* `airdrop_id` - The ID of the airdrop to fund"]
14596				#[doc = "* `amount` - The amount of tokens to add to the airdrop"]
14597				#[doc = ""]
14598				#[doc = "# Errors"]
14599				#[doc = ""]
14600				#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
14601				pub fn fund_airdrop(
14602					&self,
14603					airdrop_id: types::fund_airdrop::AirdropId,
14604					amount: types::fund_airdrop::Amount,
14605				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::FundAirdrop> {
14606					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14607						"MerkleAirdrop",
14608						"fund_airdrop",
14609						types::FundAirdrop { airdrop_id, amount },
14610						[
14611							11u8, 155u8, 135u8, 152u8, 19u8, 196u8, 79u8, 68u8, 24u8, 46u8, 27u8,
14612							63u8, 202u8, 242u8, 166u8, 160u8, 81u8, 44u8, 115u8, 247u8, 110u8,
14613							49u8, 11u8, 204u8, 70u8, 39u8, 7u8, 43u8, 103u8, 78u8, 39u8, 131u8,
14614						],
14615					)
14616				}
14617				#[doc = "Claim tokens from an airdrop by providing a Merkle proof."]
14618				#[doc = ""]
14619				#[doc = "Users can claim their tokens by providing a proof of their eligibility."]
14620				#[doc = "The proof is verified against the airdrop's Merkle root."]
14621				#[doc = "Anyone can trigger a claim for any eligible recipient."]
14622				#[doc = ""]
14623				#[doc = "# Parameters"]
14624				#[doc = ""]
14625				#[doc = "* `origin` - The origin of the call"]
14626				#[doc = "* `airdrop_id` - The ID of the airdrop to claim from"]
14627				#[doc = "* `amount` - The amount of tokens to claim"]
14628				#[doc = "* `merkle_proof` - The Merkle proof verifying eligibility"]
14629				#[doc = ""]
14630				#[doc = "# Errors"]
14631				#[doc = ""]
14632				#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
14633				#[doc = "* `AlreadyClaimed` - If the recipient has already claimed from this airdrop"]
14634				#[doc = "* `InvalidProof` - If the provided Merkle proof is invalid"]
14635				#[doc = "* `InsufficientAirdropBalance` - If the airdrop doesn't have enough tokens"]
14636				pub fn claim(
14637					&self,
14638					airdrop_id: types::claim::AirdropId,
14639					recipient: types::claim::Recipient,
14640					amount: types::claim::Amount,
14641					merkle_proof: types::claim::MerkleProof,
14642				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Claim> {
14643					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14644						"MerkleAirdrop",
14645						"claim",
14646						types::Claim { airdrop_id, recipient, amount, merkle_proof },
14647						[
14648							137u8, 9u8, 80u8, 195u8, 157u8, 215u8, 158u8, 30u8, 26u8, 104u8, 183u8,
14649							55u8, 102u8, 100u8, 41u8, 40u8, 26u8, 193u8, 255u8, 95u8, 201u8, 240u8,
14650							18u8, 253u8, 71u8, 117u8, 88u8, 250u8, 192u8, 67u8, 127u8, 159u8,
14651						],
14652					)
14653				}
14654				#[doc = "Delete an airdrop and reclaim any remaining funds."]
14655				#[doc = ""]
14656				#[doc = "This function allows the creator of an airdrop to delete it and reclaim"]
14657				#[doc = "any remaining tokens that haven't been claimed."]
14658				#[doc = ""]
14659				#[doc = "# Parameters"]
14660				#[doc = ""]
14661				#[doc = "* `origin` - The origin of the call (must be the airdrop creator)"]
14662				#[doc = "* `airdrop_id` - The ID of the airdrop to delete"]
14663				#[doc = ""]
14664				#[doc = "# Errors"]
14665				#[doc = ""]
14666				#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
14667				#[doc = "* `NotAirdropCreator` - If the caller is not the creator of the airdrop"]
14668				pub fn delete_airdrop(
14669					&self,
14670					airdrop_id: types::delete_airdrop::AirdropId,
14671				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::DeleteAirdrop>
14672				{
14673					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14674						"MerkleAirdrop",
14675						"delete_airdrop",
14676						types::DeleteAirdrop { airdrop_id },
14677						[
14678							34u8, 88u8, 199u8, 36u8, 214u8, 19u8, 124u8, 24u8, 29u8, 222u8, 138u8,
14679							174u8, 47u8, 199u8, 59u8, 155u8, 118u8, 157u8, 82u8, 96u8, 81u8, 186u8,
14680							27u8, 96u8, 116u8, 99u8, 185u8, 8u8, 100u8, 34u8, 179u8, 185u8,
14681						],
14682					)
14683				}
14684			}
14685		}
14686		#[doc = "The `Event` enum of this pallet"]
14687		pub type Event = runtime_types::pallet_merkle_airdrop::pallet::Event;
14688		pub mod events {
14689			use super::runtime_types;
14690			#[derive(
14691				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14692				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14693				Debug,
14694			)]
14695			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14696			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14697			#[doc = "A new airdrop has been created."]
14698			#[doc = ""]
14699			#[doc = "Parameters: [airdrop_id, merkle_root]"]
14700			pub struct AirdropCreated {
14701				pub airdrop_id: airdrop_created::AirdropId,
14702				pub airdrop_metadata: airdrop_created::AirdropMetadata,
14703			}
14704			pub mod airdrop_created {
14705				use super::runtime_types;
14706				pub type AirdropId = ::core::primitive::u32;
14707				pub type AirdropMetadata = runtime_types::pallet_merkle_airdrop::AirdropMetadata<
14708					::core::primitive::u32,
14709					::core::primitive::u128,
14710					::subxt::ext::subxt_core::utils::AccountId32,
14711				>;
14712			}
14713			impl ::subxt::ext::subxt_core::events::StaticEvent for AirdropCreated {
14714				const PALLET: &'static str = "MerkleAirdrop";
14715				const EVENT: &'static str = "AirdropCreated";
14716			}
14717			#[derive(
14718				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14719				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14720				Debug,
14721			)]
14722			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14723			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14724			#[doc = "An airdrop has been funded with tokens."]
14725			#[doc = ""]
14726			#[doc = "Parameters: [airdrop_id, amount]"]
14727			pub struct AirdropFunded {
14728				pub airdrop_id: airdrop_funded::AirdropId,
14729				pub amount: airdrop_funded::Amount,
14730			}
14731			pub mod airdrop_funded {
14732				use super::runtime_types;
14733				pub type AirdropId = ::core::primitive::u32;
14734				pub type Amount = ::core::primitive::u128;
14735			}
14736			impl ::subxt::ext::subxt_core::events::StaticEvent for AirdropFunded {
14737				const PALLET: &'static str = "MerkleAirdrop";
14738				const EVENT: &'static str = "AirdropFunded";
14739			}
14740			#[derive(
14741				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14742				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14743				Debug,
14744			)]
14745			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14746			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14747			#[doc = "A user has claimed tokens from an airdrop."]
14748			#[doc = ""]
14749			#[doc = "Parameters: [airdrop_id, account, amount]"]
14750			pub struct Claimed {
14751				pub airdrop_id: claimed::AirdropId,
14752				pub account: claimed::Account,
14753				pub amount: claimed::Amount,
14754			}
14755			pub mod claimed {
14756				use super::runtime_types;
14757				pub type AirdropId = ::core::primitive::u32;
14758				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
14759				pub type Amount = ::core::primitive::u128;
14760			}
14761			impl ::subxt::ext::subxt_core::events::StaticEvent for Claimed {
14762				const PALLET: &'static str = "MerkleAirdrop";
14763				const EVENT: &'static str = "Claimed";
14764			}
14765			#[derive(
14766				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14767				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14768				Debug,
14769			)]
14770			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14771			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14772			#[doc = "An airdrop has been deleted."]
14773			#[doc = ""]
14774			#[doc = "Parameters: [airdrop_id]"]
14775			pub struct AirdropDeleted {
14776				pub airdrop_id: airdrop_deleted::AirdropId,
14777			}
14778			pub mod airdrop_deleted {
14779				use super::runtime_types;
14780				pub type AirdropId = ::core::primitive::u32;
14781			}
14782			impl ::subxt::ext::subxt_core::events::StaticEvent for AirdropDeleted {
14783				const PALLET: &'static str = "MerkleAirdrop";
14784				const EVENT: &'static str = "AirdropDeleted";
14785			}
14786		}
14787		pub mod storage {
14788			use super::runtime_types;
14789			pub mod types {
14790				use super::runtime_types;
14791				pub mod airdrop_info {
14792					use super::runtime_types;
14793					pub type AirdropInfo = runtime_types::pallet_merkle_airdrop::AirdropMetadata<
14794						::core::primitive::u32,
14795						::core::primitive::u128,
14796						::subxt::ext::subxt_core::utils::AccountId32,
14797					>;
14798					pub type Param0 = ::core::primitive::u32;
14799				}
14800				pub mod claimed {
14801					use super::runtime_types;
14802					pub type Claimed = ();
14803					pub type Param0 = ::core::primitive::u32;
14804					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
14805				}
14806				pub mod next_airdrop_id {
14807					use super::runtime_types;
14808					pub type NextAirdropId = ::core::primitive::u32;
14809				}
14810			}
14811			pub struct StorageApi;
14812			impl StorageApi {
14813				#[doc = " Stores general info about an airdrop"]
14814				pub fn airdrop_info_iter(
14815					&self,
14816				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14817					(),
14818					types::airdrop_info::AirdropInfo,
14819					(),
14820					(),
14821					::subxt::ext::subxt_core::utils::Yes,
14822				> {
14823					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14824						"MerkleAirdrop",
14825						"AirdropInfo",
14826						(),
14827						[
14828							38u8, 176u8, 25u8, 251u8, 80u8, 201u8, 118u8, 175u8, 89u8, 80u8, 227u8,
14829							241u8, 250u8, 0u8, 112u8, 71u8, 133u8, 50u8, 137u8, 13u8, 255u8, 24u8,
14830							253u8, 237u8, 195u8, 1u8, 192u8, 177u8, 167u8, 248u8, 11u8, 160u8,
14831						],
14832					)
14833				}
14834				#[doc = " Stores general info about an airdrop"]
14835				pub fn airdrop_info(
14836					&self,
14837					_0: types::airdrop_info::Param0,
14838				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14839					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
14840						types::airdrop_info::Param0,
14841					>,
14842					types::airdrop_info::AirdropInfo,
14843					::subxt::ext::subxt_core::utils::Yes,
14844					(),
14845					(),
14846				> {
14847					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14848						"MerkleAirdrop",
14849						"AirdropInfo",
14850						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
14851						[
14852							38u8, 176u8, 25u8, 251u8, 80u8, 201u8, 118u8, 175u8, 89u8, 80u8, 227u8,
14853							241u8, 250u8, 0u8, 112u8, 71u8, 133u8, 50u8, 137u8, 13u8, 255u8, 24u8,
14854							253u8, 237u8, 195u8, 1u8, 192u8, 177u8, 167u8, 248u8, 11u8, 160u8,
14855						],
14856					)
14857				}
14858				#[doc = " Storage for claimed status"]
14859				pub fn claimed_iter(
14860					&self,
14861				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14862					(),
14863					types::claimed::Claimed,
14864					(),
14865					::subxt::ext::subxt_core::utils::Yes,
14866					::subxt::ext::subxt_core::utils::Yes,
14867				> {
14868					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14869						"MerkleAirdrop",
14870						"Claimed",
14871						(),
14872						[
14873							214u8, 178u8, 109u8, 48u8, 230u8, 120u8, 107u8, 211u8, 179u8, 251u8,
14874							164u8, 29u8, 197u8, 154u8, 160u8, 230u8, 112u8, 212u8, 14u8, 157u8,
14875							248u8, 207u8, 101u8, 159u8, 203u8, 82u8, 199u8, 102u8, 99u8, 239u8,
14876							162u8, 10u8,
14877						],
14878					)
14879				}
14880				#[doc = " Storage for claimed status"]
14881				pub fn claimed_iter1(
14882					&self,
14883					_0: types::claimed::Param0,
14884				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14885					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
14886						types::claimed::Param0,
14887					>,
14888					types::claimed::Claimed,
14889					(),
14890					::subxt::ext::subxt_core::utils::Yes,
14891					::subxt::ext::subxt_core::utils::Yes,
14892				> {
14893					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14894						"MerkleAirdrop",
14895						"Claimed",
14896						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
14897						[
14898							214u8, 178u8, 109u8, 48u8, 230u8, 120u8, 107u8, 211u8, 179u8, 251u8,
14899							164u8, 29u8, 197u8, 154u8, 160u8, 230u8, 112u8, 212u8, 14u8, 157u8,
14900							248u8, 207u8, 101u8, 159u8, 203u8, 82u8, 199u8, 102u8, 99u8, 239u8,
14901							162u8, 10u8,
14902						],
14903					)
14904				}
14905				#[doc = " Storage for claimed status"]
14906				pub fn claimed(
14907					&self,
14908					_0: types::claimed::Param0,
14909					_1: types::claimed::Param1,
14910				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14911					(
14912						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
14913							types::claimed::Param0,
14914						>,
14915						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
14916							types::claimed::Param1,
14917						>,
14918					),
14919					types::claimed::Claimed,
14920					::subxt::ext::subxt_core::utils::Yes,
14921					::subxt::ext::subxt_core::utils::Yes,
14922					(),
14923				> {
14924					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14925						"MerkleAirdrop",
14926						"Claimed",
14927						(
14928							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
14929							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
14930						),
14931						[
14932							214u8, 178u8, 109u8, 48u8, 230u8, 120u8, 107u8, 211u8, 179u8, 251u8,
14933							164u8, 29u8, 197u8, 154u8, 160u8, 230u8, 112u8, 212u8, 14u8, 157u8,
14934							248u8, 207u8, 101u8, 159u8, 203u8, 82u8, 199u8, 102u8, 99u8, 239u8,
14935							162u8, 10u8,
14936						],
14937					)
14938				}
14939				#[doc = " Counter for airdrop IDs"]
14940				pub fn next_airdrop_id(
14941					&self,
14942				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14943					(),
14944					types::next_airdrop_id::NextAirdropId,
14945					::subxt::ext::subxt_core::utils::Yes,
14946					::subxt::ext::subxt_core::utils::Yes,
14947					(),
14948				> {
14949					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14950						"MerkleAirdrop",
14951						"NextAirdropId",
14952						(),
14953						[
14954							79u8, 145u8, 145u8, 158u8, 86u8, 58u8, 102u8, 216u8, 133u8, 34u8,
14955							252u8, 224u8, 222u8, 51u8, 170u8, 3u8, 135u8, 29u8, 99u8, 143u8, 93u8,
14956							176u8, 69u8, 231u8, 74u8, 214u8, 94u8, 126u8, 227u8, 166u8, 242u8,
14957							98u8,
14958						],
14959					)
14960				}
14961			}
14962		}
14963		pub mod constants {
14964			use super::runtime_types;
14965			pub struct ConstantsApi;
14966			impl ConstantsApi {
14967				#[doc = " The maximum number of proof elements allowed in a Merkle proof."]
14968				pub fn max_proofs(
14969					&self,
14970				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
14971					::core::primitive::u32,
14972				> {
14973					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
14974						"MerkleAirdrop",
14975						"MaxProofs",
14976						[
14977							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
14978							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
14979							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
14980							145u8,
14981						],
14982					)
14983				}
14984				#[doc = " The pallet id, used for deriving its sovereign account ID."]
14985				pub fn pallet_id(
14986					&self,
14987				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
14988					runtime_types::frame_support::PalletId,
14989				> {
14990					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
14991						"MerkleAirdrop",
14992						"PalletId",
14993						[
14994							56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8,
14995							161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8,
14996							129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8,
14997						],
14998					)
14999				}
15000				#[doc = " Priority for unsigned claim transactions."]
15001				pub fn unsigned_claim_priority(
15002					&self,
15003				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
15004					::core::primitive::u64,
15005				> {
15006					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
15007						"MerkleAirdrop",
15008						"UnsignedClaimPriority",
15009						[
15010							128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8,
15011							59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8,
15012							103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8,
15013							246u8,
15014						],
15015					)
15016				}
15017			}
15018		}
15019	}
15020	pub mod treasury_pallet {
15021		use super::{root_mod, runtime_types};
15022		#[doc = "Error for the treasury pallet."]
15023		pub type Error = runtime_types::pallet_treasury::pallet::Error;
15024		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
15025		pub type Call = runtime_types::pallet_treasury::pallet::Call;
15026		pub mod calls {
15027			use super::{root_mod, runtime_types};
15028			type DispatchError = runtime_types::sp_runtime::DispatchError;
15029			pub mod types {
15030				use super::runtime_types;
15031				#[derive(
15032					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15033					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15034					Debug,
15035				)]
15036				#[decode_as_type(
15037					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15038				)]
15039				#[encode_as_type(
15040					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15041				)]
15042				#[doc = "Propose and approve a spend of treasury funds."]
15043				#[doc = ""]
15044				#[doc = "## Dispatch Origin"]
15045				#[doc = ""]
15046				#[doc = "Must be [`Config::SpendOrigin`] with the `Success` value being at least `amount`."]
15047				#[doc = ""]
15048				#[doc = "### Details"]
15049				#[doc = "NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the"]
15050				#[doc = "beneficiary."]
15051				#[doc = ""]
15052				#[doc = "### Parameters"]
15053				#[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."]
15054				#[doc = "- `beneficiary`: The destination account for the transfer."]
15055				#[doc = ""]
15056				#[doc = "## Events"]
15057				#[doc = ""]
15058				#[doc = "Emits [`Event::SpendApproved`] if successful."]
15059				pub struct SpendLocal {
15060					#[codec(compact)]
15061					pub amount: spend_local::Amount,
15062					pub beneficiary: spend_local::Beneficiary,
15063				}
15064				pub mod spend_local {
15065					use super::runtime_types;
15066					pub type Amount = ::core::primitive::u128;
15067					pub type Beneficiary = ::subxt::ext::subxt_core::utils::MultiAddress<
15068						::subxt::ext::subxt_core::utils::AccountId32,
15069						(),
15070					>;
15071				}
15072				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SpendLocal {
15073					const PALLET: &'static str = "TreasuryPallet";
15074					const CALL: &'static str = "spend_local";
15075				}
15076				#[derive(
15077					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15078					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15079					Debug,
15080				)]
15081				#[decode_as_type(
15082					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15083				)]
15084				#[encode_as_type(
15085					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15086				)]
15087				#[doc = "Force a previously approved proposal to be removed from the approval queue."]
15088				#[doc = ""]
15089				#[doc = "## Dispatch Origin"]
15090				#[doc = ""]
15091				#[doc = "Must be [`Config::RejectOrigin`]."]
15092				#[doc = ""]
15093				#[doc = "## Details"]
15094				#[doc = ""]
15095				#[doc = "The original deposit will no longer be returned."]
15096				#[doc = ""]
15097				#[doc = "### Parameters"]
15098				#[doc = "- `proposal_id`: The index of a proposal"]
15099				#[doc = ""]
15100				#[doc = "### Complexity"]
15101				#[doc = "- O(A) where `A` is the number of approvals"]
15102				#[doc = ""]
15103				#[doc = "### Errors"]
15104				#[doc = "- [`Error::ProposalNotApproved`]: The `proposal_id` supplied was not found in the"]
15105				#[doc = "  approval queue, i.e., the proposal has not been approved. This could also mean the"]
15106				#[doc = "  proposal does not exist altogether, thus there is no way it would have been approved"]
15107				#[doc = "  in the first place."]
15108				pub struct RemoveApproval {
15109					#[codec(compact)]
15110					pub proposal_id: remove_approval::ProposalId,
15111				}
15112				pub mod remove_approval {
15113					use super::runtime_types;
15114					pub type ProposalId = ::core::primitive::u32;
15115				}
15116				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveApproval {
15117					const PALLET: &'static str = "TreasuryPallet";
15118					const CALL: &'static str = "remove_approval";
15119				}
15120				#[derive(
15121					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15122					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15123					Debug,
15124				)]
15125				#[decode_as_type(
15126					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15127				)]
15128				#[encode_as_type(
15129					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15130				)]
15131				#[doc = "Propose and approve a spend of treasury funds."]
15132				#[doc = ""]
15133				#[doc = "## Dispatch Origin"]
15134				#[doc = ""]
15135				#[doc = "Must be [`Config::SpendOrigin`] with the `Success` value being at least"]
15136				#[doc = "`amount` of `asset_kind` in the native asset. The amount of `asset_kind` is converted"]
15137				#[doc = "for assertion using the [`Config::BalanceConverter`]."]
15138				#[doc = ""]
15139				#[doc = "## Details"]
15140				#[doc = ""]
15141				#[doc = "Create an approved spend for transferring a specific `amount` of `asset_kind` to a"]
15142				#[doc = "designated beneficiary. The spend must be claimed using the `payout` dispatchable within"]
15143				#[doc = "the [`Config::PayoutPeriod`]."]
15144				#[doc = ""]
15145				#[doc = "### Parameters"]
15146				#[doc = "- `asset_kind`: An indicator of the specific asset class to be spent."]
15147				#[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."]
15148				#[doc = "- `beneficiary`: The beneficiary of the spend."]
15149				#[doc = "- `valid_from`: The block number from which the spend can be claimed. It can refer to"]
15150				#[doc = "  the past if the resulting spend has not yet expired according to the"]
15151				#[doc = "  [`Config::PayoutPeriod`]. If `None`, the spend can be claimed immediately after"]
15152				#[doc = "  approval."]
15153				#[doc = ""]
15154				#[doc = "## Events"]
15155				#[doc = ""]
15156				#[doc = "Emits [`Event::AssetSpendApproved`] if successful."]
15157				pub struct Spend {
15158					pub asset_kind: ::subxt::ext::subxt_core::alloc::boxed::Box<spend::AssetKind>,
15159					#[codec(compact)]
15160					pub amount: spend::Amount,
15161					pub beneficiary:
15162						::subxt::ext::subxt_core::alloc::boxed::Box<spend::Beneficiary>,
15163					pub valid_from: spend::ValidFrom,
15164				}
15165				pub mod spend {
15166					use super::runtime_types;
15167					pub type AssetKind = ();
15168					pub type Amount = ::core::primitive::u128;
15169					pub type Beneficiary = ::subxt::ext::subxt_core::utils::MultiAddress<
15170						::subxt::ext::subxt_core::utils::AccountId32,
15171						(),
15172					>;
15173					pub type ValidFrom = ::core::option::Option<::core::primitive::u32>;
15174				}
15175				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Spend {
15176					const PALLET: &'static str = "TreasuryPallet";
15177					const CALL: &'static str = "spend";
15178				}
15179				#[derive(
15180					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15181					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15182					Debug,
15183				)]
15184				#[decode_as_type(
15185					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15186				)]
15187				#[encode_as_type(
15188					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15189				)]
15190				#[doc = "Claim a spend."]
15191				#[doc = ""]
15192				#[doc = "## Dispatch Origin"]
15193				#[doc = ""]
15194				#[doc = "Must be signed"]
15195				#[doc = ""]
15196				#[doc = "## Details"]
15197				#[doc = ""]
15198				#[doc = "Spends must be claimed within some temporal bounds. A spend may be claimed within one"]
15199				#[doc = "[`Config::PayoutPeriod`] from the `valid_from` block."]
15200				#[doc = "In case of a payout failure, the spend status must be updated with the `check_status`"]
15201				#[doc = "dispatchable before retrying with the current function."]
15202				#[doc = ""]
15203				#[doc = "### Parameters"]
15204				#[doc = "- `index`: The spend index."]
15205				#[doc = ""]
15206				#[doc = "## Events"]
15207				#[doc = ""]
15208				#[doc = "Emits [`Event::Paid`] if successful."]
15209				pub struct Payout {
15210					pub index: payout::Index,
15211				}
15212				pub mod payout {
15213					use super::runtime_types;
15214					pub type Index = ::core::primitive::u32;
15215				}
15216				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Payout {
15217					const PALLET: &'static str = "TreasuryPallet";
15218					const CALL: &'static str = "payout";
15219				}
15220				#[derive(
15221					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15222					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15223					Debug,
15224				)]
15225				#[decode_as_type(
15226					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15227				)]
15228				#[encode_as_type(
15229					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15230				)]
15231				#[doc = "Check the status of the spend and remove it from the storage if processed."]
15232				#[doc = ""]
15233				#[doc = "## Dispatch Origin"]
15234				#[doc = ""]
15235				#[doc = "Must be signed."]
15236				#[doc = ""]
15237				#[doc = "## Details"]
15238				#[doc = ""]
15239				#[doc = "The status check is a prerequisite for retrying a failed payout."]
15240				#[doc = "If a spend has either succeeded or expired, it is removed from the storage by this"]
15241				#[doc = "function. In such instances, transaction fees are refunded."]
15242				#[doc = ""]
15243				#[doc = "### Parameters"]
15244				#[doc = "- `index`: The spend index."]
15245				#[doc = ""]
15246				#[doc = "## Events"]
15247				#[doc = ""]
15248				#[doc = "Emits [`Event::PaymentFailed`] if the spend payout has failed."]
15249				#[doc = "Emits [`Event::SpendProcessed`] if the spend payout has succeed."]
15250				pub struct CheckStatus {
15251					pub index: check_status::Index,
15252				}
15253				pub mod check_status {
15254					use super::runtime_types;
15255					pub type Index = ::core::primitive::u32;
15256				}
15257				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CheckStatus {
15258					const PALLET: &'static str = "TreasuryPallet";
15259					const CALL: &'static str = "check_status";
15260				}
15261				#[derive(
15262					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15263					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15264					Debug,
15265				)]
15266				#[decode_as_type(
15267					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15268				)]
15269				#[encode_as_type(
15270					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15271				)]
15272				#[doc = "Void previously approved spend."]
15273				#[doc = ""]
15274				#[doc = "## Dispatch Origin"]
15275				#[doc = ""]
15276				#[doc = "Must be [`Config::RejectOrigin`]."]
15277				#[doc = ""]
15278				#[doc = "## Details"]
15279				#[doc = ""]
15280				#[doc = "A spend void is only possible if the payout has not been attempted yet."]
15281				#[doc = ""]
15282				#[doc = "### Parameters"]
15283				#[doc = "- `index`: The spend index."]
15284				#[doc = ""]
15285				#[doc = "## Events"]
15286				#[doc = ""]
15287				#[doc = "Emits [`Event::AssetSpendVoided`] if successful."]
15288				pub struct VoidSpend {
15289					pub index: void_spend::Index,
15290				}
15291				pub mod void_spend {
15292					use super::runtime_types;
15293					pub type Index = ::core::primitive::u32;
15294				}
15295				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for VoidSpend {
15296					const PALLET: &'static str = "TreasuryPallet";
15297					const CALL: &'static str = "void_spend";
15298				}
15299			}
15300			pub struct TransactionApi;
15301			impl TransactionApi {
15302				#[doc = "Propose and approve a spend of treasury funds."]
15303				#[doc = ""]
15304				#[doc = "## Dispatch Origin"]
15305				#[doc = ""]
15306				#[doc = "Must be [`Config::SpendOrigin`] with the `Success` value being at least `amount`."]
15307				#[doc = ""]
15308				#[doc = "### Details"]
15309				#[doc = "NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the"]
15310				#[doc = "beneficiary."]
15311				#[doc = ""]
15312				#[doc = "### Parameters"]
15313				#[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."]
15314				#[doc = "- `beneficiary`: The destination account for the transfer."]
15315				#[doc = ""]
15316				#[doc = "## Events"]
15317				#[doc = ""]
15318				#[doc = "Emits [`Event::SpendApproved`] if successful."]
15319				pub fn spend_local(
15320					&self,
15321					amount: types::spend_local::Amount,
15322					beneficiary: types::spend_local::Beneficiary,
15323				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SpendLocal> {
15324					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
15325						"TreasuryPallet",
15326						"spend_local",
15327						types::SpendLocal { amount, beneficiary },
15328						[
15329							137u8, 171u8, 83u8, 247u8, 245u8, 212u8, 152u8, 127u8, 210u8, 71u8,
15330							254u8, 134u8, 189u8, 26u8, 249u8, 41u8, 214u8, 175u8, 24u8, 64u8, 33u8,
15331							90u8, 23u8, 134u8, 44u8, 110u8, 63u8, 46u8, 46u8, 146u8, 222u8, 79u8,
15332						],
15333					)
15334				}
15335				#[doc = "Force a previously approved proposal to be removed from the approval queue."]
15336				#[doc = ""]
15337				#[doc = "## Dispatch Origin"]
15338				#[doc = ""]
15339				#[doc = "Must be [`Config::RejectOrigin`]."]
15340				#[doc = ""]
15341				#[doc = "## Details"]
15342				#[doc = ""]
15343				#[doc = "The original deposit will no longer be returned."]
15344				#[doc = ""]
15345				#[doc = "### Parameters"]
15346				#[doc = "- `proposal_id`: The index of a proposal"]
15347				#[doc = ""]
15348				#[doc = "### Complexity"]
15349				#[doc = "- O(A) where `A` is the number of approvals"]
15350				#[doc = ""]
15351				#[doc = "### Errors"]
15352				#[doc = "- [`Error::ProposalNotApproved`]: The `proposal_id` supplied was not found in the"]
15353				#[doc = "  approval queue, i.e., the proposal has not been approved. This could also mean the"]
15354				#[doc = "  proposal does not exist altogether, thus there is no way it would have been approved"]
15355				#[doc = "  in the first place."]
15356				pub fn remove_approval(
15357					&self,
15358					proposal_id: types::remove_approval::ProposalId,
15359				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveApproval>
15360				{
15361					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
15362						"TreasuryPallet",
15363						"remove_approval",
15364						types::RemoveApproval { proposal_id },
15365						[
15366							180u8, 20u8, 39u8, 227u8, 29u8, 228u8, 234u8, 36u8, 155u8, 114u8,
15367							197u8, 135u8, 185u8, 31u8, 56u8, 247u8, 224u8, 168u8, 254u8, 233u8,
15368							250u8, 134u8, 186u8, 155u8, 108u8, 84u8, 94u8, 226u8, 207u8, 130u8,
15369							196u8, 100u8,
15370						],
15371					)
15372				}
15373				#[doc = "Propose and approve a spend of treasury funds."]
15374				#[doc = ""]
15375				#[doc = "## Dispatch Origin"]
15376				#[doc = ""]
15377				#[doc = "Must be [`Config::SpendOrigin`] with the `Success` value being at least"]
15378				#[doc = "`amount` of `asset_kind` in the native asset. The amount of `asset_kind` is converted"]
15379				#[doc = "for assertion using the [`Config::BalanceConverter`]."]
15380				#[doc = ""]
15381				#[doc = "## Details"]
15382				#[doc = ""]
15383				#[doc = "Create an approved spend for transferring a specific `amount` of `asset_kind` to a"]
15384				#[doc = "designated beneficiary. The spend must be claimed using the `payout` dispatchable within"]
15385				#[doc = "the [`Config::PayoutPeriod`]."]
15386				#[doc = ""]
15387				#[doc = "### Parameters"]
15388				#[doc = "- `asset_kind`: An indicator of the specific asset class to be spent."]
15389				#[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."]
15390				#[doc = "- `beneficiary`: The beneficiary of the spend."]
15391				#[doc = "- `valid_from`: The block number from which the spend can be claimed. It can refer to"]
15392				#[doc = "  the past if the resulting spend has not yet expired according to the"]
15393				#[doc = "  [`Config::PayoutPeriod`]. If `None`, the spend can be claimed immediately after"]
15394				#[doc = "  approval."]
15395				#[doc = ""]
15396				#[doc = "## Events"]
15397				#[doc = ""]
15398				#[doc = "Emits [`Event::AssetSpendApproved`] if successful."]
15399				pub fn spend(
15400					&self,
15401					asset_kind: types::spend::AssetKind,
15402					amount: types::spend::Amount,
15403					beneficiary: types::spend::Beneficiary,
15404					valid_from: types::spend::ValidFrom,
15405				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Spend> {
15406					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
15407						"TreasuryPallet",
15408						"spend",
15409						types::Spend {
15410							asset_kind: ::subxt::ext::subxt_core::alloc::boxed::Box::new(
15411								asset_kind,
15412							),
15413							amount,
15414							beneficiary: ::subxt::ext::subxt_core::alloc::boxed::Box::new(
15415								beneficiary,
15416							),
15417							valid_from,
15418						},
15419						[
15420							64u8, 121u8, 249u8, 219u8, 22u8, 188u8, 167u8, 85u8, 45u8, 27u8, 200u8,
15421							219u8, 138u8, 17u8, 230u8, 106u8, 145u8, 39u8, 43u8, 161u8, 69u8, 10u8,
15422							202u8, 251u8, 127u8, 131u8, 0u8, 194u8, 25u8, 153u8, 169u8, 206u8,
15423						],
15424					)
15425				}
15426				#[doc = "Claim a spend."]
15427				#[doc = ""]
15428				#[doc = "## Dispatch Origin"]
15429				#[doc = ""]
15430				#[doc = "Must be signed"]
15431				#[doc = ""]
15432				#[doc = "## Details"]
15433				#[doc = ""]
15434				#[doc = "Spends must be claimed within some temporal bounds. A spend may be claimed within one"]
15435				#[doc = "[`Config::PayoutPeriod`] from the `valid_from` block."]
15436				#[doc = "In case of a payout failure, the spend status must be updated with the `check_status`"]
15437				#[doc = "dispatchable before retrying with the current function."]
15438				#[doc = ""]
15439				#[doc = "### Parameters"]
15440				#[doc = "- `index`: The spend index."]
15441				#[doc = ""]
15442				#[doc = "## Events"]
15443				#[doc = ""]
15444				#[doc = "Emits [`Event::Paid`] if successful."]
15445				pub fn payout(
15446					&self,
15447					index: types::payout::Index,
15448				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Payout> {
15449					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
15450						"TreasuryPallet",
15451						"payout",
15452						types::Payout { index },
15453						[
15454							179u8, 254u8, 82u8, 94u8, 248u8, 26u8, 6u8, 34u8, 93u8, 244u8, 186u8,
15455							199u8, 163u8, 32u8, 110u8, 220u8, 78u8, 11u8, 168u8, 182u8, 169u8,
15456							56u8, 53u8, 194u8, 168u8, 218u8, 131u8, 38u8, 46u8, 156u8, 93u8, 234u8,
15457						],
15458					)
15459				}
15460				#[doc = "Check the status of the spend and remove it from the storage if processed."]
15461				#[doc = ""]
15462				#[doc = "## Dispatch Origin"]
15463				#[doc = ""]
15464				#[doc = "Must be signed."]
15465				#[doc = ""]
15466				#[doc = "## Details"]
15467				#[doc = ""]
15468				#[doc = "The status check is a prerequisite for retrying a failed payout."]
15469				#[doc = "If a spend has either succeeded or expired, it is removed from the storage by this"]
15470				#[doc = "function. In such instances, transaction fees are refunded."]
15471				#[doc = ""]
15472				#[doc = "### Parameters"]
15473				#[doc = "- `index`: The spend index."]
15474				#[doc = ""]
15475				#[doc = "## Events"]
15476				#[doc = ""]
15477				#[doc = "Emits [`Event::PaymentFailed`] if the spend payout has failed."]
15478				#[doc = "Emits [`Event::SpendProcessed`] if the spend payout has succeed."]
15479				pub fn check_status(
15480					&self,
15481					index: types::check_status::Index,
15482				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CheckStatus> {
15483					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
15484						"TreasuryPallet",
15485						"check_status",
15486						types::CheckStatus { index },
15487						[
15488							164u8, 111u8, 10u8, 11u8, 104u8, 237u8, 112u8, 240u8, 104u8, 130u8,
15489							179u8, 221u8, 54u8, 18u8, 8u8, 172u8, 148u8, 245u8, 110u8, 174u8, 75u8,
15490							38u8, 46u8, 143u8, 101u8, 232u8, 65u8, 252u8, 36u8, 152u8, 29u8, 209u8,
15491						],
15492					)
15493				}
15494				#[doc = "Void previously approved spend."]
15495				#[doc = ""]
15496				#[doc = "## Dispatch Origin"]
15497				#[doc = ""]
15498				#[doc = "Must be [`Config::RejectOrigin`]."]
15499				#[doc = ""]
15500				#[doc = "## Details"]
15501				#[doc = ""]
15502				#[doc = "A spend void is only possible if the payout has not been attempted yet."]
15503				#[doc = ""]
15504				#[doc = "### Parameters"]
15505				#[doc = "- `index`: The spend index."]
15506				#[doc = ""]
15507				#[doc = "## Events"]
15508				#[doc = ""]
15509				#[doc = "Emits [`Event::AssetSpendVoided`] if successful."]
15510				pub fn void_spend(
15511					&self,
15512					index: types::void_spend::Index,
15513				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::VoidSpend> {
15514					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
15515						"TreasuryPallet",
15516						"void_spend",
15517						types::VoidSpend { index },
15518						[
15519							9u8, 212u8, 174u8, 92u8, 43u8, 102u8, 224u8, 124u8, 247u8, 239u8,
15520							196u8, 68u8, 132u8, 171u8, 116u8, 206u8, 52u8, 23u8, 92u8, 31u8, 156u8,
15521							160u8, 25u8, 16u8, 125u8, 60u8, 9u8, 109u8, 145u8, 139u8, 102u8, 224u8,
15522						],
15523					)
15524				}
15525			}
15526		}
15527		#[doc = "The `Event` enum of this pallet"]
15528		pub type Event = runtime_types::pallet_treasury::pallet::Event;
15529		pub mod events {
15530			use super::runtime_types;
15531			#[derive(
15532				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15533				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15534				Debug,
15535			)]
15536			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15537			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15538			#[doc = "We have ended a spend period and will now allocate funds."]
15539			pub struct Spending {
15540				pub budget_remaining: spending::BudgetRemaining,
15541			}
15542			pub mod spending {
15543				use super::runtime_types;
15544				pub type BudgetRemaining = ::core::primitive::u128;
15545			}
15546			impl ::subxt::ext::subxt_core::events::StaticEvent for Spending {
15547				const PALLET: &'static str = "TreasuryPallet";
15548				const EVENT: &'static str = "Spending";
15549			}
15550			#[derive(
15551				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15552				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15553				Debug,
15554			)]
15555			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15556			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15557			#[doc = "Some funds have been allocated."]
15558			pub struct Awarded {
15559				pub proposal_index: awarded::ProposalIndex,
15560				pub award: awarded::Award,
15561				pub account: awarded::Account,
15562			}
15563			pub mod awarded {
15564				use super::runtime_types;
15565				pub type ProposalIndex = ::core::primitive::u32;
15566				pub type Award = ::core::primitive::u128;
15567				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
15568			}
15569			impl ::subxt::ext::subxt_core::events::StaticEvent for Awarded {
15570				const PALLET: &'static str = "TreasuryPallet";
15571				const EVENT: &'static str = "Awarded";
15572			}
15573			#[derive(
15574				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15575				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15576				Debug,
15577			)]
15578			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15579			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15580			#[doc = "Some of our funds have been burnt."]
15581			pub struct Burnt {
15582				pub burnt_funds: burnt::BurntFunds,
15583			}
15584			pub mod burnt {
15585				use super::runtime_types;
15586				pub type BurntFunds = ::core::primitive::u128;
15587			}
15588			impl ::subxt::ext::subxt_core::events::StaticEvent for Burnt {
15589				const PALLET: &'static str = "TreasuryPallet";
15590				const EVENT: &'static str = "Burnt";
15591			}
15592			#[derive(
15593				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15594				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15595				Debug,
15596			)]
15597			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15598			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15599			#[doc = "Spending has finished; this is the amount that rolls over until next spend."]
15600			pub struct Rollover {
15601				pub rollover_balance: rollover::RolloverBalance,
15602			}
15603			pub mod rollover {
15604				use super::runtime_types;
15605				pub type RolloverBalance = ::core::primitive::u128;
15606			}
15607			impl ::subxt::ext::subxt_core::events::StaticEvent for Rollover {
15608				const PALLET: &'static str = "TreasuryPallet";
15609				const EVENT: &'static str = "Rollover";
15610			}
15611			#[derive(
15612				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15613				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15614				Debug,
15615			)]
15616			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15617			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15618			#[doc = "Some funds have been deposited."]
15619			pub struct Deposit {
15620				pub value: deposit::Value,
15621			}
15622			pub mod deposit {
15623				use super::runtime_types;
15624				pub type Value = ::core::primitive::u128;
15625			}
15626			impl ::subxt::ext::subxt_core::events::StaticEvent for Deposit {
15627				const PALLET: &'static str = "TreasuryPallet";
15628				const EVENT: &'static str = "Deposit";
15629			}
15630			#[derive(
15631				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15632				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15633				Debug,
15634			)]
15635			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15636			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15637			#[doc = "A new spend proposal has been approved."]
15638			pub struct SpendApproved {
15639				pub proposal_index: spend_approved::ProposalIndex,
15640				pub amount: spend_approved::Amount,
15641				pub beneficiary: spend_approved::Beneficiary,
15642			}
15643			pub mod spend_approved {
15644				use super::runtime_types;
15645				pub type ProposalIndex = ::core::primitive::u32;
15646				pub type Amount = ::core::primitive::u128;
15647				pub type Beneficiary = ::subxt::ext::subxt_core::utils::AccountId32;
15648			}
15649			impl ::subxt::ext::subxt_core::events::StaticEvent for SpendApproved {
15650				const PALLET: &'static str = "TreasuryPallet";
15651				const EVENT: &'static str = "SpendApproved";
15652			}
15653			#[derive(
15654				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15655				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15656				Debug,
15657			)]
15658			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15659			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15660			#[doc = "The inactive funds of the pallet have been updated."]
15661			pub struct UpdatedInactive {
15662				pub reactivated: updated_inactive::Reactivated,
15663				pub deactivated: updated_inactive::Deactivated,
15664			}
15665			pub mod updated_inactive {
15666				use super::runtime_types;
15667				pub type Reactivated = ::core::primitive::u128;
15668				pub type Deactivated = ::core::primitive::u128;
15669			}
15670			impl ::subxt::ext::subxt_core::events::StaticEvent for UpdatedInactive {
15671				const PALLET: &'static str = "TreasuryPallet";
15672				const EVENT: &'static str = "UpdatedInactive";
15673			}
15674			#[derive(
15675				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15676				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15677				Debug,
15678			)]
15679			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15680			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15681			#[doc = "A new asset spend proposal has been approved."]
15682			pub struct AssetSpendApproved {
15683				pub index: asset_spend_approved::Index,
15684				pub asset_kind: asset_spend_approved::AssetKind,
15685				pub amount: asset_spend_approved::Amount,
15686				pub beneficiary: asset_spend_approved::Beneficiary,
15687				pub valid_from: asset_spend_approved::ValidFrom,
15688				pub expire_at: asset_spend_approved::ExpireAt,
15689			}
15690			pub mod asset_spend_approved {
15691				use super::runtime_types;
15692				pub type Index = ::core::primitive::u32;
15693				pub type AssetKind = ();
15694				pub type Amount = ::core::primitive::u128;
15695				pub type Beneficiary = ::subxt::ext::subxt_core::utils::AccountId32;
15696				pub type ValidFrom = ::core::primitive::u32;
15697				pub type ExpireAt = ::core::primitive::u32;
15698			}
15699			impl ::subxt::ext::subxt_core::events::StaticEvent for AssetSpendApproved {
15700				const PALLET: &'static str = "TreasuryPallet";
15701				const EVENT: &'static str = "AssetSpendApproved";
15702			}
15703			#[derive(
15704				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15705				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15706				Debug,
15707			)]
15708			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15709			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15710			#[doc = "An approved spend was voided."]
15711			pub struct AssetSpendVoided {
15712				pub index: asset_spend_voided::Index,
15713			}
15714			pub mod asset_spend_voided {
15715				use super::runtime_types;
15716				pub type Index = ::core::primitive::u32;
15717			}
15718			impl ::subxt::ext::subxt_core::events::StaticEvent for AssetSpendVoided {
15719				const PALLET: &'static str = "TreasuryPallet";
15720				const EVENT: &'static str = "AssetSpendVoided";
15721			}
15722			#[derive(
15723				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15724				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15725				Debug,
15726			)]
15727			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15728			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15729			#[doc = "A payment happened."]
15730			pub struct Paid {
15731				pub index: paid::Index,
15732				pub payment_id: paid::PaymentId,
15733			}
15734			pub mod paid {
15735				use super::runtime_types;
15736				pub type Index = ::core::primitive::u32;
15737				pub type PaymentId = ::core::primitive::u32;
15738			}
15739			impl ::subxt::ext::subxt_core::events::StaticEvent for Paid {
15740				const PALLET: &'static str = "TreasuryPallet";
15741				const EVENT: &'static str = "Paid";
15742			}
15743			#[derive(
15744				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15745				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15746				Debug,
15747			)]
15748			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15749			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15750			#[doc = "A payment failed and can be retried."]
15751			pub struct PaymentFailed {
15752				pub index: payment_failed::Index,
15753				pub payment_id: payment_failed::PaymentId,
15754			}
15755			pub mod payment_failed {
15756				use super::runtime_types;
15757				pub type Index = ::core::primitive::u32;
15758				pub type PaymentId = ::core::primitive::u32;
15759			}
15760			impl ::subxt::ext::subxt_core::events::StaticEvent for PaymentFailed {
15761				const PALLET: &'static str = "TreasuryPallet";
15762				const EVENT: &'static str = "PaymentFailed";
15763			}
15764			#[derive(
15765				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15766				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15767				Debug,
15768			)]
15769			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
15770			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
15771			#[doc = "A spend was processed and removed from the storage. It might have been successfully"]
15772			#[doc = "paid or it may have expired."]
15773			pub struct SpendProcessed {
15774				pub index: spend_processed::Index,
15775			}
15776			pub mod spend_processed {
15777				use super::runtime_types;
15778				pub type Index = ::core::primitive::u32;
15779			}
15780			impl ::subxt::ext::subxt_core::events::StaticEvent for SpendProcessed {
15781				const PALLET: &'static str = "TreasuryPallet";
15782				const EVENT: &'static str = "SpendProcessed";
15783			}
15784		}
15785		pub mod storage {
15786			use super::runtime_types;
15787			pub mod types {
15788				use super::runtime_types;
15789				pub mod proposal_count {
15790					use super::runtime_types;
15791					pub type ProposalCount = ::core::primitive::u32;
15792				}
15793				pub mod proposals {
15794					use super::runtime_types;
15795					pub type Proposals = runtime_types::pallet_treasury::Proposal<
15796						::subxt::ext::subxt_core::utils::AccountId32,
15797						::core::primitive::u128,
15798					>;
15799					pub type Param0 = ::core::primitive::u32;
15800				}
15801				pub mod deactivated {
15802					use super::runtime_types;
15803					pub type Deactivated = ::core::primitive::u128;
15804				}
15805				pub mod approvals {
15806					use super::runtime_types;
15807					pub type Approvals =
15808						runtime_types::bounded_collections::bounded_vec::BoundedVec<
15809							::core::primitive::u32,
15810						>;
15811				}
15812				pub mod spend_count {
15813					use super::runtime_types;
15814					pub type SpendCount = ::core::primitive::u32;
15815				}
15816				pub mod spends {
15817					use super::runtime_types;
15818					pub type Spends = runtime_types::pallet_treasury::SpendStatus<
15819						(),
15820						::core::primitive::u128,
15821						::subxt::ext::subxt_core::utils::AccountId32,
15822						::core::primitive::u32,
15823						::core::primitive::u32,
15824					>;
15825					pub type Param0 = ::core::primitive::u32;
15826				}
15827				pub mod last_spend_period {
15828					use super::runtime_types;
15829					pub type LastSpendPeriod = ::core::primitive::u32;
15830				}
15831			}
15832			pub struct StorageApi;
15833			impl StorageApi {
15834				#[doc = " DEPRECATED: associated with `spend_local` call and will be removed in May 2025."]
15835				#[doc = " Refer to <https://github.com/paritytech/polkadot-sdk/pull/5961> for migration to `spend`."]
15836				#[doc = ""]
15837				#[doc = " Number of proposals that have been made."]
15838				pub fn proposal_count(
15839					&self,
15840				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
15841					(),
15842					types::proposal_count::ProposalCount,
15843					::subxt::ext::subxt_core::utils::Yes,
15844					::subxt::ext::subxt_core::utils::Yes,
15845					(),
15846				> {
15847					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
15848						"TreasuryPallet",
15849						"ProposalCount",
15850						(),
15851						[
15852							91u8, 238u8, 246u8, 106u8, 95u8, 66u8, 83u8, 134u8, 1u8, 225u8, 164u8,
15853							216u8, 113u8, 101u8, 203u8, 200u8, 113u8, 97u8, 246u8, 228u8, 140u8,
15854							29u8, 29u8, 48u8, 176u8, 137u8, 93u8, 230u8, 56u8, 75u8, 51u8, 149u8,
15855						],
15856					)
15857				}
15858				#[doc = " DEPRECATED: associated with `spend_local` call and will be removed in May 2025."]
15859				#[doc = " Refer to <https://github.com/paritytech/polkadot-sdk/pull/5961> for migration to `spend`."]
15860				#[doc = ""]
15861				#[doc = " Proposals that have been made."]
15862				pub fn proposals_iter(
15863					&self,
15864				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
15865					(),
15866					types::proposals::Proposals,
15867					(),
15868					(),
15869					::subxt::ext::subxt_core::utils::Yes,
15870				> {
15871					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
15872						"TreasuryPallet",
15873						"Proposals",
15874						(),
15875						[
15876							207u8, 135u8, 145u8, 146u8, 48u8, 10u8, 252u8, 40u8, 20u8, 115u8,
15877							205u8, 41u8, 173u8, 83u8, 115u8, 46u8, 106u8, 40u8, 130u8, 157u8,
15878							213u8, 87u8, 45u8, 23u8, 14u8, 167u8, 99u8, 208u8, 153u8, 163u8, 141u8,
15879							55u8,
15880						],
15881					)
15882				}
15883				#[doc = " DEPRECATED: associated with `spend_local` call and will be removed in May 2025."]
15884				#[doc = " Refer to <https://github.com/paritytech/polkadot-sdk/pull/5961> for migration to `spend`."]
15885				#[doc = ""]
15886				#[doc = " Proposals that have been made."]
15887				pub fn proposals(
15888					&self,
15889					_0: types::proposals::Param0,
15890				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
15891					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
15892						types::proposals::Param0,
15893					>,
15894					types::proposals::Proposals,
15895					::subxt::ext::subxt_core::utils::Yes,
15896					(),
15897					(),
15898				> {
15899					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
15900						"TreasuryPallet",
15901						"Proposals",
15902						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
15903						[
15904							207u8, 135u8, 145u8, 146u8, 48u8, 10u8, 252u8, 40u8, 20u8, 115u8,
15905							205u8, 41u8, 173u8, 83u8, 115u8, 46u8, 106u8, 40u8, 130u8, 157u8,
15906							213u8, 87u8, 45u8, 23u8, 14u8, 167u8, 99u8, 208u8, 153u8, 163u8, 141u8,
15907							55u8,
15908						],
15909					)
15910				}
15911				#[doc = " The amount which has been reported as inactive to Currency."]
15912				pub fn deactivated(
15913					&self,
15914				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
15915					(),
15916					types::deactivated::Deactivated,
15917					::subxt::ext::subxt_core::utils::Yes,
15918					::subxt::ext::subxt_core::utils::Yes,
15919					(),
15920				> {
15921					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
15922						"TreasuryPallet",
15923						"Deactivated",
15924						(),
15925						[
15926							120u8, 221u8, 159u8, 56u8, 161u8, 44u8, 54u8, 233u8, 47u8, 114u8,
15927							170u8, 150u8, 52u8, 24u8, 137u8, 212u8, 122u8, 247u8, 40u8, 17u8,
15928							208u8, 130u8, 42u8, 154u8, 33u8, 222u8, 59u8, 116u8, 0u8, 15u8, 79u8,
15929							123u8,
15930						],
15931					)
15932				}
15933				#[doc = " DEPRECATED: associated with `spend_local` call and will be removed in May 2025."]
15934				#[doc = " Refer to <https://github.com/paritytech/polkadot-sdk/pull/5961> for migration to `spend`."]
15935				#[doc = ""]
15936				#[doc = " Proposal indices that have been approved but not yet awarded."]
15937				pub fn approvals(
15938					&self,
15939				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
15940					(),
15941					types::approvals::Approvals,
15942					::subxt::ext::subxt_core::utils::Yes,
15943					::subxt::ext::subxt_core::utils::Yes,
15944					(),
15945				> {
15946					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
15947						"TreasuryPallet",
15948						"Approvals",
15949						(),
15950						[
15951							78u8, 147u8, 186u8, 235u8, 17u8, 40u8, 247u8, 235u8, 67u8, 222u8, 3u8,
15952							14u8, 248u8, 17u8, 67u8, 180u8, 93u8, 161u8, 64u8, 35u8, 119u8, 194u8,
15953							187u8, 226u8, 135u8, 162u8, 147u8, 174u8, 139u8, 72u8, 99u8, 212u8,
15954						],
15955					)
15956				}
15957				#[doc = " The count of spends that have been made."]
15958				pub fn spend_count(
15959					&self,
15960				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
15961					(),
15962					types::spend_count::SpendCount,
15963					::subxt::ext::subxt_core::utils::Yes,
15964					::subxt::ext::subxt_core::utils::Yes,
15965					(),
15966				> {
15967					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
15968						"TreasuryPallet",
15969						"SpendCount",
15970						(),
15971						[
15972							220u8, 74u8, 248u8, 52u8, 243u8, 209u8, 42u8, 236u8, 27u8, 98u8, 76u8,
15973							153u8, 129u8, 176u8, 34u8, 177u8, 33u8, 132u8, 21u8, 71u8, 206u8,
15974							146u8, 222u8, 44u8, 232u8, 246u8, 205u8, 92u8, 240u8, 136u8, 182u8,
15975							30u8,
15976						],
15977					)
15978				}
15979				#[doc = " Spends that have been approved and being processed."]
15980				pub fn spends_iter(
15981					&self,
15982				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
15983					(),
15984					types::spends::Spends,
15985					(),
15986					(),
15987					::subxt::ext::subxt_core::utils::Yes,
15988				> {
15989					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
15990						"TreasuryPallet",
15991						"Spends",
15992						(),
15993						[
15994							140u8, 4u8, 241u8, 80u8, 4u8, 219u8, 107u8, 152u8, 206u8, 175u8, 107u8,
15995							172u8, 208u8, 71u8, 174u8, 99u8, 198u8, 52u8, 142u8, 126u8, 145u8,
15996							171u8, 254u8, 9u8, 235u8, 158u8, 186u8, 101u8, 140u8, 200u8, 96u8,
15997							168u8,
15998						],
15999					)
16000				}
16001				#[doc = " Spends that have been approved and being processed."]
16002				pub fn spends(
16003					&self,
16004					_0: types::spends::Param0,
16005				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
16006					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
16007						types::spends::Param0,
16008					>,
16009					types::spends::Spends,
16010					::subxt::ext::subxt_core::utils::Yes,
16011					(),
16012					(),
16013				> {
16014					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
16015						"TreasuryPallet",
16016						"Spends",
16017						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
16018						[
16019							140u8, 4u8, 241u8, 80u8, 4u8, 219u8, 107u8, 152u8, 206u8, 175u8, 107u8,
16020							172u8, 208u8, 71u8, 174u8, 99u8, 198u8, 52u8, 142u8, 126u8, 145u8,
16021							171u8, 254u8, 9u8, 235u8, 158u8, 186u8, 101u8, 140u8, 200u8, 96u8,
16022							168u8,
16023						],
16024					)
16025				}
16026				#[doc = " The blocknumber for the last triggered spend period."]
16027				pub fn last_spend_period(
16028					&self,
16029				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
16030					(),
16031					types::last_spend_period::LastSpendPeriod,
16032					::subxt::ext::subxt_core::utils::Yes,
16033					(),
16034					(),
16035				> {
16036					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
16037						"TreasuryPallet",
16038						"LastSpendPeriod",
16039						(),
16040						[
16041							6u8, 200u8, 107u8, 132u8, 60u8, 31u8, 24u8, 196u8, 108u8, 227u8, 5u8,
16042							63u8, 249u8, 139u8, 82u8, 140u8, 169u8, 242u8, 118u8, 93u8, 83u8,
16043							155u8, 120u8, 175u8, 224u8, 227u8, 39u8, 39u8, 255u8, 247u8, 79u8,
16044							30u8,
16045						],
16046					)
16047				}
16048			}
16049		}
16050		pub mod constants {
16051			use super::runtime_types;
16052			pub struct ConstantsApi;
16053			impl ConstantsApi {
16054				#[doc = " Period between successive spends."]
16055				pub fn spend_period(
16056					&self,
16057				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
16058					::core::primitive::u32,
16059				> {
16060					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
16061						"TreasuryPallet",
16062						"SpendPeriod",
16063						[
16064							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
16065							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
16066							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
16067							145u8,
16068						],
16069					)
16070				}
16071				#[doc = " Percentage of spare funds (if any) that are burnt per spend period."]
16072				pub fn burn(
16073					&self,
16074				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
16075					runtime_types::sp_arithmetic::per_things::Permill,
16076				> {
16077					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
16078						"TreasuryPallet",
16079						"Burn",
16080						[
16081							65u8, 93u8, 120u8, 165u8, 204u8, 81u8, 159u8, 163u8, 93u8, 135u8,
16082							114u8, 121u8, 147u8, 35u8, 215u8, 213u8, 4u8, 223u8, 83u8, 37u8, 225u8,
16083							200u8, 189u8, 156u8, 140u8, 36u8, 58u8, 46u8, 42u8, 232u8, 155u8, 0u8,
16084						],
16085					)
16086				}
16087				#[doc = " The treasury's pallet id, used for deriving its sovereign account ID."]
16088				pub fn pallet_id(
16089					&self,
16090				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
16091					runtime_types::frame_support::PalletId,
16092				> {
16093					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
16094						"TreasuryPallet",
16095						"PalletId",
16096						[
16097							56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8,
16098							161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8,
16099							129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8,
16100						],
16101					)
16102				}
16103				#[doc = " DEPRECATED: associated with `spend_local` call and will be removed in May 2025."]
16104				#[doc = " Refer to <https://github.com/paritytech/polkadot-sdk/pull/5961> for migration to `spend`."]
16105				#[doc = ""]
16106				#[doc = " The maximum number of approvals that can wait in the spending queue."]
16107				#[doc = ""]
16108				#[doc = " NOTE: This parameter is also used within the Bounties Pallet extension if enabled."]
16109				pub fn max_approvals(
16110					&self,
16111				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
16112					::core::primitive::u32,
16113				> {
16114					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
16115						"TreasuryPallet",
16116						"MaxApprovals",
16117						[
16118							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
16119							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
16120							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
16121							145u8,
16122						],
16123					)
16124				}
16125				#[doc = " The period during which an approved treasury spend has to be claimed."]
16126				pub fn payout_period(
16127					&self,
16128				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
16129					::core::primitive::u32,
16130				> {
16131					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
16132						"TreasuryPallet",
16133						"PayoutPeriod",
16134						[
16135							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
16136							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
16137							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
16138							145u8,
16139						],
16140					)
16141				}
16142				#[doc = " Gets this pallet's derived pot account."]
16143				pub fn pot_account(
16144					&self,
16145				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
16146					::subxt::ext::subxt_core::utils::AccountId32,
16147				> {
16148					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
16149						"TreasuryPallet",
16150						"pot_account",
16151						[
16152							115u8, 233u8, 13u8, 223u8, 88u8, 20u8, 202u8, 139u8, 153u8, 28u8,
16153							155u8, 157u8, 224u8, 66u8, 3u8, 250u8, 23u8, 53u8, 88u8, 168u8, 211u8,
16154							204u8, 122u8, 166u8, 248u8, 23u8, 174u8, 225u8, 99u8, 108u8, 89u8,
16155							135u8,
16156						],
16157					)
16158				}
16159			}
16160		}
16161	}
16162	pub mod origins {
16163		use super::{root_mod, runtime_types};
16164	}
16165	pub mod recovery {
16166		use super::{root_mod, runtime_types};
16167		#[doc = "The `Error` enum of this pallet."]
16168		pub type Error = runtime_types::pallet_recovery::pallet::Error;
16169		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
16170		pub type Call = runtime_types::pallet_recovery::pallet::Call;
16171		pub mod calls {
16172			use super::{root_mod, runtime_types};
16173			type DispatchError = runtime_types::sp_runtime::DispatchError;
16174			pub mod types {
16175				use super::runtime_types;
16176				#[derive(
16177					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16178					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16179					Debug,
16180				)]
16181				#[decode_as_type(
16182					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16183				)]
16184				#[encode_as_type(
16185					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16186				)]
16187				#[doc = "Send a call through a recovered account."]
16188				#[doc = ""]
16189				#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
16190				#[doc = "be able to make calls on behalf of the recovered account."]
16191				#[doc = ""]
16192				#[doc = "Parameters:"]
16193				#[doc = "- `account`: The recovered account you want to make a call on-behalf-of."]
16194				#[doc = "- `call`: The call you want to make with the recovered account."]
16195				pub struct AsRecovered {
16196					pub account: as_recovered::Account,
16197					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<as_recovered::Call>,
16198				}
16199				pub mod as_recovered {
16200					use super::runtime_types;
16201					pub type Account = ::subxt::ext::subxt_core::utils::MultiAddress<
16202						::subxt::ext::subxt_core::utils::AccountId32,
16203						(),
16204					>;
16205					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
16206				}
16207				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for AsRecovered {
16208					const PALLET: &'static str = "Recovery";
16209					const CALL: &'static str = "as_recovered";
16210				}
16211				#[derive(
16212					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16213					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16214					Debug,
16215				)]
16216				#[decode_as_type(
16217					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16218				)]
16219				#[encode_as_type(
16220					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16221				)]
16222				#[doc = "Allow ROOT to bypass the recovery process and set a rescuer account"]
16223				#[doc = "for a lost account directly."]
16224				#[doc = ""]
16225				#[doc = "The dispatch origin for this call must be _ROOT_."]
16226				#[doc = ""]
16227				#[doc = "Parameters:"]
16228				#[doc = "- `lost`: The \"lost account\" to be recovered."]
16229				#[doc = "- `rescuer`: The \"rescuer account\" which can call as the lost account."]
16230				pub struct SetRecovered {
16231					pub lost: set_recovered::Lost,
16232					pub rescuer: set_recovered::Rescuer,
16233				}
16234				pub mod set_recovered {
16235					use super::runtime_types;
16236					pub type Lost = ::subxt::ext::subxt_core::utils::MultiAddress<
16237						::subxt::ext::subxt_core::utils::AccountId32,
16238						(),
16239					>;
16240					pub type Rescuer = ::subxt::ext::subxt_core::utils::MultiAddress<
16241						::subxt::ext::subxt_core::utils::AccountId32,
16242						(),
16243					>;
16244				}
16245				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetRecovered {
16246					const PALLET: &'static str = "Recovery";
16247					const CALL: &'static str = "set_recovered";
16248				}
16249				#[derive(
16250					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16251					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16252					Debug,
16253				)]
16254				#[decode_as_type(
16255					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16256				)]
16257				#[encode_as_type(
16258					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16259				)]
16260				#[doc = "Create a recovery configuration for your account. This makes your account recoverable."]
16261				#[doc = ""]
16262				#[doc = "Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance"]
16263				#[doc = "will be reserved for storing the recovery configuration. This deposit is returned"]
16264				#[doc = "in full when the user calls `remove_recovery`."]
16265				#[doc = ""]
16266				#[doc = "The dispatch origin for this call must be _Signed_."]
16267				#[doc = ""]
16268				#[doc = "Parameters:"]
16269				#[doc = "- `friends`: A list of friends you trust to vouch for recovery attempts. Should be"]
16270				#[doc = "  ordered and contain no duplicate values."]
16271				#[doc = "- `threshold`: The number of friends that must vouch for a recovery attempt before the"]
16272				#[doc = "  account can be recovered. Should be less than or equal to the length of the list of"]
16273				#[doc = "  friends."]
16274				#[doc = "- `delay_period`: The number of blocks after a recovery attempt is initialized that"]
16275				#[doc = "  needs to pass before the account can be recovered."]
16276				pub struct CreateRecovery {
16277					pub friends: create_recovery::Friends,
16278					pub threshold: create_recovery::Threshold,
16279					pub delay_period: create_recovery::DelayPeriod,
16280				}
16281				pub mod create_recovery {
16282					use super::runtime_types;
16283					pub type Friends = ::subxt::ext::subxt_core::alloc::vec::Vec<
16284						::subxt::ext::subxt_core::utils::AccountId32,
16285					>;
16286					pub type Threshold = ::core::primitive::u16;
16287					pub type DelayPeriod = ::core::primitive::u32;
16288				}
16289				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CreateRecovery {
16290					const PALLET: &'static str = "Recovery";
16291					const CALL: &'static str = "create_recovery";
16292				}
16293				#[derive(
16294					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16295					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16296					Debug,
16297				)]
16298				#[decode_as_type(
16299					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16300				)]
16301				#[encode_as_type(
16302					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16303				)]
16304				#[doc = "Initiate the process for recovering a recoverable account."]
16305				#[doc = ""]
16306				#[doc = "Payment: `RecoveryDeposit` balance will be reserved for initiating the"]
16307				#[doc = "recovery process. This deposit will always be repatriated to the account"]
16308				#[doc = "trying to be recovered. See `close_recovery`."]
16309				#[doc = ""]
16310				#[doc = "The dispatch origin for this call must be _Signed_."]
16311				#[doc = ""]
16312				#[doc = "Parameters:"]
16313				#[doc = "- `account`: The lost account that you want to recover. This account needs to be"]
16314				#[doc = "  recoverable (i.e. have a recovery configuration)."]
16315				pub struct InitiateRecovery {
16316					pub account: initiate_recovery::Account,
16317				}
16318				pub mod initiate_recovery {
16319					use super::runtime_types;
16320					pub type Account = ::subxt::ext::subxt_core::utils::MultiAddress<
16321						::subxt::ext::subxt_core::utils::AccountId32,
16322						(),
16323					>;
16324				}
16325				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for InitiateRecovery {
16326					const PALLET: &'static str = "Recovery";
16327					const CALL: &'static str = "initiate_recovery";
16328				}
16329				#[derive(
16330					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16331					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16332					Debug,
16333				)]
16334				#[decode_as_type(
16335					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16336				)]
16337				#[encode_as_type(
16338					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16339				)]
16340				#[doc = "Allow a \"friend\" of a recoverable account to vouch for an active recovery"]
16341				#[doc = "process for that account."]
16342				#[doc = ""]
16343				#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"friend\""]
16344				#[doc = "for the recoverable account."]
16345				#[doc = ""]
16346				#[doc = "Parameters:"]
16347				#[doc = "- `lost`: The lost account that you want to recover."]
16348				#[doc = "- `rescuer`: The account trying to rescue the lost account that you want to vouch for."]
16349				#[doc = ""]
16350				#[doc = "The combination of these two parameters must point to an active recovery"]
16351				#[doc = "process."]
16352				pub struct VouchRecovery {
16353					pub lost: vouch_recovery::Lost,
16354					pub rescuer: vouch_recovery::Rescuer,
16355				}
16356				pub mod vouch_recovery {
16357					use super::runtime_types;
16358					pub type Lost = ::subxt::ext::subxt_core::utils::MultiAddress<
16359						::subxt::ext::subxt_core::utils::AccountId32,
16360						(),
16361					>;
16362					pub type Rescuer = ::subxt::ext::subxt_core::utils::MultiAddress<
16363						::subxt::ext::subxt_core::utils::AccountId32,
16364						(),
16365					>;
16366				}
16367				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for VouchRecovery {
16368					const PALLET: &'static str = "Recovery";
16369					const CALL: &'static str = "vouch_recovery";
16370				}
16371				#[derive(
16372					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16373					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16374					Debug,
16375				)]
16376				#[decode_as_type(
16377					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16378				)]
16379				#[encode_as_type(
16380					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16381				)]
16382				#[doc = "Allow a successful rescuer to claim their recovered account."]
16383				#[doc = ""]
16384				#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"rescuer\""]
16385				#[doc = "who has successfully completed the account recovery process: collected"]
16386				#[doc = "`threshold` or more vouches, waited `delay_period` blocks since initiation."]
16387				#[doc = ""]
16388				#[doc = "Parameters:"]
16389				#[doc = "- `account`: The lost account that you want to claim has been successfully recovered by"]
16390				#[doc = "  you."]
16391				pub struct ClaimRecovery {
16392					pub account: claim_recovery::Account,
16393				}
16394				pub mod claim_recovery {
16395					use super::runtime_types;
16396					pub type Account = ::subxt::ext::subxt_core::utils::MultiAddress<
16397						::subxt::ext::subxt_core::utils::AccountId32,
16398						(),
16399					>;
16400				}
16401				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ClaimRecovery {
16402					const PALLET: &'static str = "Recovery";
16403					const CALL: &'static str = "claim_recovery";
16404				}
16405				#[derive(
16406					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16407					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16408					Debug,
16409				)]
16410				#[decode_as_type(
16411					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16412				)]
16413				#[encode_as_type(
16414					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16415				)]
16416				#[doc = "As the controller of a recoverable account, close an active recovery"]
16417				#[doc = "process for your account."]
16418				#[doc = ""]
16419				#[doc = "Payment: By calling this function, the recoverable account will receive"]
16420				#[doc = "the recovery deposit `RecoveryDeposit` placed by the rescuer."]
16421				#[doc = ""]
16422				#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
16423				#[doc = "recoverable account with an active recovery process for it."]
16424				#[doc = ""]
16425				#[doc = "Parameters:"]
16426				#[doc = "- `rescuer`: The account trying to rescue this recoverable account."]
16427				pub struct CloseRecovery {
16428					pub rescuer: close_recovery::Rescuer,
16429				}
16430				pub mod close_recovery {
16431					use super::runtime_types;
16432					pub type Rescuer = ::subxt::ext::subxt_core::utils::MultiAddress<
16433						::subxt::ext::subxt_core::utils::AccountId32,
16434						(),
16435					>;
16436				}
16437				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CloseRecovery {
16438					const PALLET: &'static str = "Recovery";
16439					const CALL: &'static str = "close_recovery";
16440				}
16441				#[derive(
16442					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16443					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16444					Debug,
16445				)]
16446				#[decode_as_type(
16447					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16448				)]
16449				#[encode_as_type(
16450					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16451				)]
16452				#[doc = "Remove the recovery process for your account. Recovered accounts are still accessible."]
16453				#[doc = ""]
16454				#[doc = "NOTE: The user must make sure to call `close_recovery` on all active"]
16455				#[doc = "recovery attempts before calling this function else it will fail."]
16456				#[doc = ""]
16457				#[doc = "Payment: By calling this function the recoverable account will unreserve"]
16458				#[doc = "their recovery configuration deposit."]
16459				#[doc = "(`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)"]
16460				#[doc = ""]
16461				#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
16462				#[doc = "recoverable account (i.e. has a recovery configuration)."]
16463				pub struct RemoveRecovery;
16464				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveRecovery {
16465					const PALLET: &'static str = "Recovery";
16466					const CALL: &'static str = "remove_recovery";
16467				}
16468				#[derive(
16469					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16470					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16471					Debug,
16472				)]
16473				#[decode_as_type(
16474					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16475				)]
16476				#[encode_as_type(
16477					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16478				)]
16479				#[doc = "Cancel the ability to use `as_recovered` for `account`."]
16480				#[doc = ""]
16481				#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
16482				#[doc = "be able to make calls on behalf of the recovered account."]
16483				#[doc = ""]
16484				#[doc = "Parameters:"]
16485				#[doc = "- `account`: The recovered account you are able to call on-behalf-of."]
16486				pub struct CancelRecovered {
16487					pub account: cancel_recovered::Account,
16488				}
16489				pub mod cancel_recovered {
16490					use super::runtime_types;
16491					pub type Account = ::subxt::ext::subxt_core::utils::MultiAddress<
16492						::subxt::ext::subxt_core::utils::AccountId32,
16493						(),
16494					>;
16495				}
16496				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CancelRecovered {
16497					const PALLET: &'static str = "Recovery";
16498					const CALL: &'static str = "cancel_recovered";
16499				}
16500				#[derive(
16501					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16502					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16503					Debug,
16504				)]
16505				#[decode_as_type(
16506					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16507				)]
16508				#[encode_as_type(
16509					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16510				)]
16511				#[doc = "Poke deposits for recovery configurations and / or active recoveries."]
16512				#[doc = ""]
16513				#[doc = "This can be used by accounts to possibly lower their locked amount."]
16514				#[doc = ""]
16515				#[doc = "The dispatch origin for this call must be _Signed_."]
16516				#[doc = ""]
16517				#[doc = "Parameters:"]
16518				#[doc = "- `maybe_account`: Optional recoverable account for which you have an active recovery"]
16519				#[doc = "and want to adjust the deposit for the active recovery."]
16520				#[doc = ""]
16521				#[doc = "This function checks both recovery configuration deposit and active recovery deposits"]
16522				#[doc = "of the caller:"]
16523				#[doc = "- If the caller has created a recovery configuration, checks and adjusts its deposit"]
16524				#[doc = "- If the caller has initiated any active recoveries, and provides the account in"]
16525				#[doc = "`maybe_account`, checks and adjusts those deposits"]
16526				#[doc = ""]
16527				#[doc = "If any deposit is updated, the difference will be reserved/unreserved from the caller's"]
16528				#[doc = "account."]
16529				#[doc = ""]
16530				#[doc = "The transaction is made free if any deposit is updated and paid otherwise."]
16531				#[doc = ""]
16532				#[doc = "Emits `DepositPoked` if any deposit is updated."]
16533				#[doc = "Multiple events may be emitted in case both types of deposits are updated."]
16534				pub struct PokeDeposit {
16535					pub maybe_account: poke_deposit::MaybeAccount,
16536				}
16537				pub mod poke_deposit {
16538					use super::runtime_types;
16539					pub type MaybeAccount = ::core::option::Option<
16540						::subxt::ext::subxt_core::utils::MultiAddress<
16541							::subxt::ext::subxt_core::utils::AccountId32,
16542							(),
16543						>,
16544					>;
16545				}
16546				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for PokeDeposit {
16547					const PALLET: &'static str = "Recovery";
16548					const CALL: &'static str = "poke_deposit";
16549				}
16550			}
16551			pub struct TransactionApi;
16552			impl TransactionApi {
16553				#[doc = "Send a call through a recovered account."]
16554				#[doc = ""]
16555				#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
16556				#[doc = "be able to make calls on behalf of the recovered account."]
16557				#[doc = ""]
16558				#[doc = "Parameters:"]
16559				#[doc = "- `account`: The recovered account you want to make a call on-behalf-of."]
16560				#[doc = "- `call`: The call you want to make with the recovered account."]
16561				pub fn as_recovered(
16562					&self,
16563					account: types::as_recovered::Account,
16564					call: types::as_recovered::Call,
16565				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::AsRecovered> {
16566					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16567						"Recovery",
16568						"as_recovered",
16569						types::AsRecovered {
16570							account,
16571							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
16572						},
16573						[
16574							60u8, 61u8, 138u8, 19u8, 43u8, 218u8, 179u8, 117u8, 205u8, 143u8,
16575							128u8, 223u8, 96u8, 166u8, 90u8, 187u8, 255u8, 119u8, 238u8, 209u8,
16576							140u8, 58u8, 239u8, 44u8, 153u8, 196u8, 218u8, 155u8, 227u8, 228u8,
16577							210u8, 187u8,
16578						],
16579					)
16580				}
16581				#[doc = "Allow ROOT to bypass the recovery process and set a rescuer account"]
16582				#[doc = "for a lost account directly."]
16583				#[doc = ""]
16584				#[doc = "The dispatch origin for this call must be _ROOT_."]
16585				#[doc = ""]
16586				#[doc = "Parameters:"]
16587				#[doc = "- `lost`: The \"lost account\" to be recovered."]
16588				#[doc = "- `rescuer`: The \"rescuer account\" which can call as the lost account."]
16589				pub fn set_recovered(
16590					&self,
16591					lost: types::set_recovered::Lost,
16592					rescuer: types::set_recovered::Rescuer,
16593				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetRecovered> {
16594					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16595						"Recovery",
16596						"set_recovered",
16597						types::SetRecovered { lost, rescuer },
16598						[
16599							194u8, 147u8, 14u8, 197u8, 132u8, 185u8, 122u8, 81u8, 61u8, 14u8, 10u8,
16600							177u8, 74u8, 184u8, 150u8, 217u8, 246u8, 149u8, 26u8, 165u8, 196u8,
16601							83u8, 230u8, 195u8, 213u8, 40u8, 51u8, 180u8, 23u8, 90u8, 3u8, 14u8,
16602						],
16603					)
16604				}
16605				#[doc = "Create a recovery configuration for your account. This makes your account recoverable."]
16606				#[doc = ""]
16607				#[doc = "Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance"]
16608				#[doc = "will be reserved for storing the recovery configuration. This deposit is returned"]
16609				#[doc = "in full when the user calls `remove_recovery`."]
16610				#[doc = ""]
16611				#[doc = "The dispatch origin for this call must be _Signed_."]
16612				#[doc = ""]
16613				#[doc = "Parameters:"]
16614				#[doc = "- `friends`: A list of friends you trust to vouch for recovery attempts. Should be"]
16615				#[doc = "  ordered and contain no duplicate values."]
16616				#[doc = "- `threshold`: The number of friends that must vouch for a recovery attempt before the"]
16617				#[doc = "  account can be recovered. Should be less than or equal to the length of the list of"]
16618				#[doc = "  friends."]
16619				#[doc = "- `delay_period`: The number of blocks after a recovery attempt is initialized that"]
16620				#[doc = "  needs to pass before the account can be recovered."]
16621				pub fn create_recovery(
16622					&self,
16623					friends: types::create_recovery::Friends,
16624					threshold: types::create_recovery::Threshold,
16625					delay_period: types::create_recovery::DelayPeriod,
16626				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CreateRecovery>
16627				{
16628					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16629						"Recovery",
16630						"create_recovery",
16631						types::CreateRecovery { friends, threshold, delay_period },
16632						[
16633							36u8, 175u8, 11u8, 85u8, 95u8, 170u8, 58u8, 193u8, 102u8, 18u8, 117u8,
16634							27u8, 199u8, 214u8, 70u8, 47u8, 129u8, 130u8, 109u8, 242u8, 240u8,
16635							255u8, 120u8, 176u8, 40u8, 243u8, 175u8, 71u8, 3u8, 91u8, 186u8, 220u8,
16636						],
16637					)
16638				}
16639				#[doc = "Initiate the process for recovering a recoverable account."]
16640				#[doc = ""]
16641				#[doc = "Payment: `RecoveryDeposit` balance will be reserved for initiating the"]
16642				#[doc = "recovery process. This deposit will always be repatriated to the account"]
16643				#[doc = "trying to be recovered. See `close_recovery`."]
16644				#[doc = ""]
16645				#[doc = "The dispatch origin for this call must be _Signed_."]
16646				#[doc = ""]
16647				#[doc = "Parameters:"]
16648				#[doc = "- `account`: The lost account that you want to recover. This account needs to be"]
16649				#[doc = "  recoverable (i.e. have a recovery configuration)."]
16650				pub fn initiate_recovery(
16651					&self,
16652					account: types::initiate_recovery::Account,
16653				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::InitiateRecovery>
16654				{
16655					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16656						"Recovery",
16657						"initiate_recovery",
16658						types::InitiateRecovery { account },
16659						[
16660							60u8, 243u8, 229u8, 176u8, 221u8, 52u8, 44u8, 224u8, 233u8, 14u8, 89u8,
16661							100u8, 174u8, 74u8, 38u8, 32u8, 97u8, 48u8, 53u8, 74u8, 30u8, 242u8,
16662							19u8, 114u8, 145u8, 74u8, 69u8, 125u8, 227u8, 214u8, 144u8, 58u8,
16663						],
16664					)
16665				}
16666				#[doc = "Allow a \"friend\" of a recoverable account to vouch for an active recovery"]
16667				#[doc = "process for that account."]
16668				#[doc = ""]
16669				#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"friend\""]
16670				#[doc = "for the recoverable account."]
16671				#[doc = ""]
16672				#[doc = "Parameters:"]
16673				#[doc = "- `lost`: The lost account that you want to recover."]
16674				#[doc = "- `rescuer`: The account trying to rescue the lost account that you want to vouch for."]
16675				#[doc = ""]
16676				#[doc = "The combination of these two parameters must point to an active recovery"]
16677				#[doc = "process."]
16678				pub fn vouch_recovery(
16679					&self,
16680					lost: types::vouch_recovery::Lost,
16681					rescuer: types::vouch_recovery::Rescuer,
16682				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::VouchRecovery>
16683				{
16684					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16685						"Recovery",
16686						"vouch_recovery",
16687						types::VouchRecovery { lost, rescuer },
16688						[
16689							97u8, 190u8, 60u8, 15u8, 191u8, 117u8, 1u8, 217u8, 62u8, 40u8, 210u8,
16690							1u8, 237u8, 111u8, 48u8, 196u8, 180u8, 154u8, 198u8, 12u8, 108u8, 42u8,
16691							6u8, 234u8, 2u8, 113u8, 163u8, 111u8, 80u8, 146u8, 6u8, 73u8,
16692						],
16693					)
16694				}
16695				#[doc = "Allow a successful rescuer to claim their recovered account."]
16696				#[doc = ""]
16697				#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"rescuer\""]
16698				#[doc = "who has successfully completed the account recovery process: collected"]
16699				#[doc = "`threshold` or more vouches, waited `delay_period` blocks since initiation."]
16700				#[doc = ""]
16701				#[doc = "Parameters:"]
16702				#[doc = "- `account`: The lost account that you want to claim has been successfully recovered by"]
16703				#[doc = "  you."]
16704				pub fn claim_recovery(
16705					&self,
16706					account: types::claim_recovery::Account,
16707				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ClaimRecovery>
16708				{
16709					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16710						"Recovery",
16711						"claim_recovery",
16712						types::ClaimRecovery { account },
16713						[
16714							41u8, 47u8, 162u8, 88u8, 13u8, 166u8, 130u8, 146u8, 218u8, 162u8,
16715							166u8, 33u8, 89u8, 129u8, 177u8, 178u8, 68u8, 128u8, 161u8, 229u8,
16716							207u8, 3u8, 57u8, 35u8, 211u8, 208u8, 74u8, 155u8, 183u8, 173u8, 74u8,
16717							56u8,
16718						],
16719					)
16720				}
16721				#[doc = "As the controller of a recoverable account, close an active recovery"]
16722				#[doc = "process for your account."]
16723				#[doc = ""]
16724				#[doc = "Payment: By calling this function, the recoverable account will receive"]
16725				#[doc = "the recovery deposit `RecoveryDeposit` placed by the rescuer."]
16726				#[doc = ""]
16727				#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
16728				#[doc = "recoverable account with an active recovery process for it."]
16729				#[doc = ""]
16730				#[doc = "Parameters:"]
16731				#[doc = "- `rescuer`: The account trying to rescue this recoverable account."]
16732				pub fn close_recovery(
16733					&self,
16734					rescuer: types::close_recovery::Rescuer,
16735				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CloseRecovery>
16736				{
16737					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16738						"Recovery",
16739						"close_recovery",
16740						types::CloseRecovery { rescuer },
16741						[
16742							161u8, 178u8, 117u8, 209u8, 119u8, 164u8, 135u8, 41u8, 25u8, 108u8,
16743							194u8, 175u8, 221u8, 65u8, 184u8, 137u8, 171u8, 97u8, 204u8, 61u8,
16744							159u8, 39u8, 192u8, 53u8, 246u8, 69u8, 113u8, 16u8, 170u8, 232u8,
16745							163u8, 10u8,
16746						],
16747					)
16748				}
16749				#[doc = "Remove the recovery process for your account. Recovered accounts are still accessible."]
16750				#[doc = ""]
16751				#[doc = "NOTE: The user must make sure to call `close_recovery` on all active"]
16752				#[doc = "recovery attempts before calling this function else it will fail."]
16753				#[doc = ""]
16754				#[doc = "Payment: By calling this function the recoverable account will unreserve"]
16755				#[doc = "their recovery configuration deposit."]
16756				#[doc = "(`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)"]
16757				#[doc = ""]
16758				#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
16759				#[doc = "recoverable account (i.e. has a recovery configuration)."]
16760				pub fn remove_recovery(
16761					&self,
16762				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveRecovery>
16763				{
16764					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16765						"Recovery",
16766						"remove_recovery",
16767						types::RemoveRecovery {},
16768						[
16769							11u8, 38u8, 133u8, 172u8, 212u8, 252u8, 57u8, 216u8, 42u8, 202u8,
16770							206u8, 91u8, 115u8, 91u8, 242u8, 123u8, 95u8, 196u8, 172u8, 243u8,
16771							164u8, 1u8, 69u8, 180u8, 40u8, 68u8, 208u8, 221u8, 161u8, 250u8, 8u8,
16772							72u8,
16773						],
16774					)
16775				}
16776				#[doc = "Cancel the ability to use `as_recovered` for `account`."]
16777				#[doc = ""]
16778				#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
16779				#[doc = "be able to make calls on behalf of the recovered account."]
16780				#[doc = ""]
16781				#[doc = "Parameters:"]
16782				#[doc = "- `account`: The recovered account you are able to call on-behalf-of."]
16783				pub fn cancel_recovered(
16784					&self,
16785					account: types::cancel_recovered::Account,
16786				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CancelRecovered>
16787				{
16788					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16789						"Recovery",
16790						"cancel_recovered",
16791						types::CancelRecovered { account },
16792						[
16793							100u8, 222u8, 80u8, 226u8, 187u8, 188u8, 111u8, 58u8, 190u8, 5u8,
16794							178u8, 144u8, 37u8, 98u8, 71u8, 145u8, 28u8, 248u8, 222u8, 188u8, 53u8,
16795							21u8, 127u8, 176u8, 249u8, 166u8, 250u8, 59u8, 170u8, 33u8, 251u8,
16796							239u8,
16797						],
16798					)
16799				}
16800				#[doc = "Poke deposits for recovery configurations and / or active recoveries."]
16801				#[doc = ""]
16802				#[doc = "This can be used by accounts to possibly lower their locked amount."]
16803				#[doc = ""]
16804				#[doc = "The dispatch origin for this call must be _Signed_."]
16805				#[doc = ""]
16806				#[doc = "Parameters:"]
16807				#[doc = "- `maybe_account`: Optional recoverable account for which you have an active recovery"]
16808				#[doc = "and want to adjust the deposit for the active recovery."]
16809				#[doc = ""]
16810				#[doc = "This function checks both recovery configuration deposit and active recovery deposits"]
16811				#[doc = "of the caller:"]
16812				#[doc = "- If the caller has created a recovery configuration, checks and adjusts its deposit"]
16813				#[doc = "- If the caller has initiated any active recoveries, and provides the account in"]
16814				#[doc = "`maybe_account`, checks and adjusts those deposits"]
16815				#[doc = ""]
16816				#[doc = "If any deposit is updated, the difference will be reserved/unreserved from the caller's"]
16817				#[doc = "account."]
16818				#[doc = ""]
16819				#[doc = "The transaction is made free if any deposit is updated and paid otherwise."]
16820				#[doc = ""]
16821				#[doc = "Emits `DepositPoked` if any deposit is updated."]
16822				#[doc = "Multiple events may be emitted in case both types of deposits are updated."]
16823				pub fn poke_deposit(
16824					&self,
16825					maybe_account: types::poke_deposit::MaybeAccount,
16826				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::PokeDeposit> {
16827					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16828						"Recovery",
16829						"poke_deposit",
16830						types::PokeDeposit { maybe_account },
16831						[
16832							177u8, 98u8, 53u8, 15u8, 228u8, 36u8, 173u8, 55u8, 125u8, 3u8, 234u8,
16833							70u8, 147u8, 147u8, 124u8, 86u8, 31u8, 101u8, 171u8, 56u8, 148u8,
16834							180u8, 87u8, 149u8, 11u8, 113u8, 195u8, 35u8, 56u8, 32u8, 251u8, 56u8,
16835						],
16836					)
16837				}
16838			}
16839		}
16840		#[doc = "Events type."]
16841		pub type Event = runtime_types::pallet_recovery::pallet::Event;
16842		pub mod events {
16843			use super::runtime_types;
16844			#[derive(
16845				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16846				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16847				Debug,
16848			)]
16849			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
16850			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
16851			#[doc = "A recovery process has been set up for an account."]
16852			pub struct RecoveryCreated {
16853				pub account: recovery_created::Account,
16854			}
16855			pub mod recovery_created {
16856				use super::runtime_types;
16857				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
16858			}
16859			impl ::subxt::ext::subxt_core::events::StaticEvent for RecoveryCreated {
16860				const PALLET: &'static str = "Recovery";
16861				const EVENT: &'static str = "RecoveryCreated";
16862			}
16863			#[derive(
16864				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16865				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16866				Debug,
16867			)]
16868			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
16869			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
16870			#[doc = "A recovery process has been initiated for lost account by rescuer account."]
16871			pub struct RecoveryInitiated {
16872				pub lost_account: recovery_initiated::LostAccount,
16873				pub rescuer_account: recovery_initiated::RescuerAccount,
16874			}
16875			pub mod recovery_initiated {
16876				use super::runtime_types;
16877				pub type LostAccount = ::subxt::ext::subxt_core::utils::AccountId32;
16878				pub type RescuerAccount = ::subxt::ext::subxt_core::utils::AccountId32;
16879			}
16880			impl ::subxt::ext::subxt_core::events::StaticEvent for RecoveryInitiated {
16881				const PALLET: &'static str = "Recovery";
16882				const EVENT: &'static str = "RecoveryInitiated";
16883			}
16884			#[derive(
16885				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16886				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16887				Debug,
16888			)]
16889			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
16890			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
16891			#[doc = "A recovery process for lost account by rescuer account has been vouched for by sender."]
16892			pub struct RecoveryVouched {
16893				pub lost_account: recovery_vouched::LostAccount,
16894				pub rescuer_account: recovery_vouched::RescuerAccount,
16895				pub sender: recovery_vouched::Sender,
16896			}
16897			pub mod recovery_vouched {
16898				use super::runtime_types;
16899				pub type LostAccount = ::subxt::ext::subxt_core::utils::AccountId32;
16900				pub type RescuerAccount = ::subxt::ext::subxt_core::utils::AccountId32;
16901				pub type Sender = ::subxt::ext::subxt_core::utils::AccountId32;
16902			}
16903			impl ::subxt::ext::subxt_core::events::StaticEvent for RecoveryVouched {
16904				const PALLET: &'static str = "Recovery";
16905				const EVENT: &'static str = "RecoveryVouched";
16906			}
16907			#[derive(
16908				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16909				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16910				Debug,
16911			)]
16912			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
16913			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
16914			#[doc = "A recovery process for lost account by rescuer account has been closed."]
16915			pub struct RecoveryClosed {
16916				pub lost_account: recovery_closed::LostAccount,
16917				pub rescuer_account: recovery_closed::RescuerAccount,
16918			}
16919			pub mod recovery_closed {
16920				use super::runtime_types;
16921				pub type LostAccount = ::subxt::ext::subxt_core::utils::AccountId32;
16922				pub type RescuerAccount = ::subxt::ext::subxt_core::utils::AccountId32;
16923			}
16924			impl ::subxt::ext::subxt_core::events::StaticEvent for RecoveryClosed {
16925				const PALLET: &'static str = "Recovery";
16926				const EVENT: &'static str = "RecoveryClosed";
16927			}
16928			#[derive(
16929				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16930				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16931				Debug,
16932			)]
16933			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
16934			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
16935			#[doc = "Lost account has been successfully recovered by rescuer account."]
16936			pub struct AccountRecovered {
16937				pub lost_account: account_recovered::LostAccount,
16938				pub rescuer_account: account_recovered::RescuerAccount,
16939			}
16940			pub mod account_recovered {
16941				use super::runtime_types;
16942				pub type LostAccount = ::subxt::ext::subxt_core::utils::AccountId32;
16943				pub type RescuerAccount = ::subxt::ext::subxt_core::utils::AccountId32;
16944			}
16945			impl ::subxt::ext::subxt_core::events::StaticEvent for AccountRecovered {
16946				const PALLET: &'static str = "Recovery";
16947				const EVENT: &'static str = "AccountRecovered";
16948			}
16949			#[derive(
16950				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16951				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16952				Debug,
16953			)]
16954			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
16955			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
16956			#[doc = "A recovery process has been removed for an account."]
16957			pub struct RecoveryRemoved {
16958				pub lost_account: recovery_removed::LostAccount,
16959			}
16960			pub mod recovery_removed {
16961				use super::runtime_types;
16962				pub type LostAccount = ::subxt::ext::subxt_core::utils::AccountId32;
16963			}
16964			impl ::subxt::ext::subxt_core::events::StaticEvent for RecoveryRemoved {
16965				const PALLET: &'static str = "Recovery";
16966				const EVENT: &'static str = "RecoveryRemoved";
16967			}
16968			#[derive(
16969				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16970				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16971				Debug,
16972			)]
16973			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
16974			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
16975			#[doc = "A deposit has been updated."]
16976			pub struct DepositPoked {
16977				pub who: deposit_poked::Who,
16978				pub kind: deposit_poked::Kind,
16979				pub old_deposit: deposit_poked::OldDeposit,
16980				pub new_deposit: deposit_poked::NewDeposit,
16981			}
16982			pub mod deposit_poked {
16983				use super::runtime_types;
16984				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
16985				pub type Kind = runtime_types::pallet_recovery::DepositKind<
16986					runtime_types::quantus_runtime::Runtime,
16987				>;
16988				pub type OldDeposit = ::core::primitive::u128;
16989				pub type NewDeposit = ::core::primitive::u128;
16990			}
16991			impl ::subxt::ext::subxt_core::events::StaticEvent for DepositPoked {
16992				const PALLET: &'static str = "Recovery";
16993				const EVENT: &'static str = "DepositPoked";
16994			}
16995		}
16996		pub mod storage {
16997			use super::runtime_types;
16998			pub mod types {
16999				use super::runtime_types;
17000				pub mod recoverable {
17001					use super::runtime_types;
17002					pub type Recoverable = runtime_types::pallet_recovery::RecoveryConfig<
17003						::core::primitive::u32,
17004						::core::primitive::u128,
17005						runtime_types::bounded_collections::bounded_vec::BoundedVec<
17006							::subxt::ext::subxt_core::utils::AccountId32,
17007						>,
17008					>;
17009					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
17010				}
17011				pub mod active_recoveries {
17012					use super::runtime_types;
17013					pub type ActiveRecoveries = runtime_types::pallet_recovery::ActiveRecovery<
17014						::core::primitive::u32,
17015						::core::primitive::u128,
17016						runtime_types::bounded_collections::bounded_vec::BoundedVec<
17017							::subxt::ext::subxt_core::utils::AccountId32,
17018						>,
17019					>;
17020					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
17021					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
17022				}
17023				pub mod proxy {
17024					use super::runtime_types;
17025					pub type Proxy = ::subxt::ext::subxt_core::utils::AccountId32;
17026					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
17027				}
17028			}
17029			pub struct StorageApi;
17030			impl StorageApi {
17031				#[doc = " The set of recoverable accounts and their recovery configuration."]
17032				pub fn recoverable_iter(
17033					&self,
17034				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
17035					(),
17036					types::recoverable::Recoverable,
17037					(),
17038					(),
17039					::subxt::ext::subxt_core::utils::Yes,
17040				> {
17041					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
17042						"Recovery",
17043						"Recoverable",
17044						(),
17045						[
17046							112u8, 7u8, 56u8, 46u8, 138u8, 197u8, 63u8, 234u8, 140u8, 123u8, 145u8,
17047							106u8, 189u8, 190u8, 247u8, 61u8, 250u8, 67u8, 107u8, 42u8, 170u8,
17048							79u8, 54u8, 168u8, 33u8, 214u8, 91u8, 227u8, 5u8, 107u8, 38u8, 26u8,
17049						],
17050					)
17051				}
17052				#[doc = " The set of recoverable accounts and their recovery configuration."]
17053				pub fn recoverable(
17054					&self,
17055					_0: types::recoverable::Param0,
17056				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
17057					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
17058						types::recoverable::Param0,
17059					>,
17060					types::recoverable::Recoverable,
17061					::subxt::ext::subxt_core::utils::Yes,
17062					(),
17063					(),
17064				> {
17065					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
17066						"Recovery",
17067						"Recoverable",
17068						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
17069						[
17070							112u8, 7u8, 56u8, 46u8, 138u8, 197u8, 63u8, 234u8, 140u8, 123u8, 145u8,
17071							106u8, 189u8, 190u8, 247u8, 61u8, 250u8, 67u8, 107u8, 42u8, 170u8,
17072							79u8, 54u8, 168u8, 33u8, 214u8, 91u8, 227u8, 5u8, 107u8, 38u8, 26u8,
17073						],
17074					)
17075				}
17076				#[doc = " Active recovery attempts."]
17077				#[doc = ""]
17078				#[doc = " First account is the account to be recovered, and the second account"]
17079				#[doc = " is the user trying to recover the account."]
17080				pub fn active_recoveries_iter(
17081					&self,
17082				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
17083					(),
17084					types::active_recoveries::ActiveRecoveries,
17085					(),
17086					(),
17087					::subxt::ext::subxt_core::utils::Yes,
17088				> {
17089					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
17090						"Recovery",
17091						"ActiveRecoveries",
17092						(),
17093						[
17094							104u8, 252u8, 28u8, 142u8, 48u8, 26u8, 91u8, 201u8, 184u8, 163u8,
17095							180u8, 197u8, 189u8, 71u8, 144u8, 88u8, 225u8, 13u8, 183u8, 84u8,
17096							244u8, 41u8, 164u8, 212u8, 153u8, 247u8, 191u8, 25u8, 162u8, 25u8,
17097							91u8, 123u8,
17098						],
17099					)
17100				}
17101				#[doc = " Active recovery attempts."]
17102				#[doc = ""]
17103				#[doc = " First account is the account to be recovered, and the second account"]
17104				#[doc = " is the user trying to recover the account."]
17105				pub fn active_recoveries_iter1(
17106					&self,
17107					_0: types::active_recoveries::Param0,
17108				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
17109					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
17110						types::active_recoveries::Param0,
17111					>,
17112					types::active_recoveries::ActiveRecoveries,
17113					(),
17114					(),
17115					::subxt::ext::subxt_core::utils::Yes,
17116				> {
17117					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
17118						"Recovery",
17119						"ActiveRecoveries",
17120						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
17121						[
17122							104u8, 252u8, 28u8, 142u8, 48u8, 26u8, 91u8, 201u8, 184u8, 163u8,
17123							180u8, 197u8, 189u8, 71u8, 144u8, 88u8, 225u8, 13u8, 183u8, 84u8,
17124							244u8, 41u8, 164u8, 212u8, 153u8, 247u8, 191u8, 25u8, 162u8, 25u8,
17125							91u8, 123u8,
17126						],
17127					)
17128				}
17129				#[doc = " Active recovery attempts."]
17130				#[doc = ""]
17131				#[doc = " First account is the account to be recovered, and the second account"]
17132				#[doc = " is the user trying to recover the account."]
17133				pub fn active_recoveries(
17134					&self,
17135					_0: types::active_recoveries::Param0,
17136					_1: types::active_recoveries::Param1,
17137				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
17138					(
17139						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
17140							types::active_recoveries::Param0,
17141						>,
17142						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
17143							types::active_recoveries::Param1,
17144						>,
17145					),
17146					types::active_recoveries::ActiveRecoveries,
17147					::subxt::ext::subxt_core::utils::Yes,
17148					(),
17149					(),
17150				> {
17151					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
17152						"Recovery",
17153						"ActiveRecoveries",
17154						(
17155							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
17156							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
17157						),
17158						[
17159							104u8, 252u8, 28u8, 142u8, 48u8, 26u8, 91u8, 201u8, 184u8, 163u8,
17160							180u8, 197u8, 189u8, 71u8, 144u8, 88u8, 225u8, 13u8, 183u8, 84u8,
17161							244u8, 41u8, 164u8, 212u8, 153u8, 247u8, 191u8, 25u8, 162u8, 25u8,
17162							91u8, 123u8,
17163						],
17164					)
17165				}
17166				#[doc = " The list of allowed proxy accounts."]
17167				#[doc = ""]
17168				#[doc = " Map from the user who can access it to the recovered account."]
17169				pub fn proxy_iter(
17170					&self,
17171				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
17172					(),
17173					types::proxy::Proxy,
17174					(),
17175					(),
17176					::subxt::ext::subxt_core::utils::Yes,
17177				> {
17178					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
17179						"Recovery",
17180						"Proxy",
17181						(),
17182						[
17183							161u8, 242u8, 17u8, 183u8, 161u8, 47u8, 87u8, 110u8, 201u8, 177u8,
17184							199u8, 157u8, 30u8, 131u8, 49u8, 89u8, 182u8, 86u8, 152u8, 19u8, 199u8,
17185							33u8, 12u8, 138u8, 51u8, 215u8, 130u8, 5u8, 251u8, 115u8, 69u8, 159u8,
17186						],
17187					)
17188				}
17189				#[doc = " The list of allowed proxy accounts."]
17190				#[doc = ""]
17191				#[doc = " Map from the user who can access it to the recovered account."]
17192				pub fn proxy(
17193					&self,
17194					_0: types::proxy::Param0,
17195				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
17196					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
17197						types::proxy::Param0,
17198					>,
17199					types::proxy::Proxy,
17200					::subxt::ext::subxt_core::utils::Yes,
17201					(),
17202					(),
17203				> {
17204					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
17205						"Recovery",
17206						"Proxy",
17207						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
17208						[
17209							161u8, 242u8, 17u8, 183u8, 161u8, 47u8, 87u8, 110u8, 201u8, 177u8,
17210							199u8, 157u8, 30u8, 131u8, 49u8, 89u8, 182u8, 86u8, 152u8, 19u8, 199u8,
17211							33u8, 12u8, 138u8, 51u8, 215u8, 130u8, 5u8, 251u8, 115u8, 69u8, 159u8,
17212						],
17213					)
17214				}
17215			}
17216		}
17217		pub mod constants {
17218			use super::runtime_types;
17219			pub struct ConstantsApi;
17220			impl ConstantsApi {
17221				#[doc = " The base amount of currency needed to reserve for creating a recovery configuration."]
17222				#[doc = ""]
17223				#[doc = " This is held for an additional storage item whose value size is"]
17224				#[doc = " `2 + sizeof(BlockNumber, Balance)` bytes."]
17225				pub fn config_deposit_base(
17226					&self,
17227				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
17228					::core::primitive::u128,
17229				> {
17230					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
17231						"Recovery",
17232						"ConfigDepositBase",
17233						[
17234							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
17235							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
17236							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
17237						],
17238					)
17239				}
17240				#[doc = " The amount of currency needed per additional user when creating a recovery"]
17241				#[doc = " configuration."]
17242				#[doc = ""]
17243				#[doc = " This is held for adding `sizeof(AccountId)` bytes more into a pre-existing storage"]
17244				#[doc = " value."]
17245				pub fn friend_deposit_factor(
17246					&self,
17247				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
17248					::core::primitive::u128,
17249				> {
17250					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
17251						"Recovery",
17252						"FriendDepositFactor",
17253						[
17254							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
17255							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
17256							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
17257						],
17258					)
17259				}
17260				#[doc = " The maximum amount of friends allowed in a recovery configuration."]
17261				#[doc = ""]
17262				#[doc = " NOTE: The threshold programmed in this Pallet uses u16, so it does"]
17263				#[doc = " not really make sense to have a limit here greater than u16::MAX."]
17264				#[doc = " But also, that is a lot more than you should probably set this value"]
17265				#[doc = " to anyway..."]
17266				pub fn max_friends(
17267					&self,
17268				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
17269					::core::primitive::u32,
17270				> {
17271					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
17272						"Recovery",
17273						"MaxFriends",
17274						[
17275							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
17276							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
17277							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
17278							145u8,
17279						],
17280					)
17281				}
17282				#[doc = " The base amount of currency needed to reserve for starting a recovery."]
17283				#[doc = ""]
17284				#[doc = " This is primarily held for deterring malicious recovery attempts, and should"]
17285				#[doc = " have a value large enough that a bad actor would choose not to place this"]
17286				#[doc = " deposit. It also acts to fund additional storage item whose value size is"]
17287				#[doc = " `sizeof(BlockNumber, Balance + T * AccountId)` bytes. Where T is a configurable"]
17288				#[doc = " threshold."]
17289				pub fn recovery_deposit(
17290					&self,
17291				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
17292					::core::primitive::u128,
17293				> {
17294					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
17295						"Recovery",
17296						"RecoveryDeposit",
17297						[
17298							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
17299							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
17300							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
17301						],
17302					)
17303				}
17304			}
17305		}
17306	}
17307	pub mod assets {
17308		use super::{root_mod, runtime_types};
17309		#[doc = "The `Error` enum of this pallet."]
17310		pub type Error = runtime_types::pallet_assets::pallet::Error;
17311		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
17312		pub type Call = runtime_types::pallet_assets::pallet::Call;
17313		pub mod calls {
17314			use super::{root_mod, runtime_types};
17315			type DispatchError = runtime_types::sp_runtime::DispatchError;
17316			pub mod types {
17317				use super::runtime_types;
17318				#[derive(
17319					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17320					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17321					Debug,
17322				)]
17323				#[decode_as_type(
17324					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17325				)]
17326				#[encode_as_type(
17327					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17328				)]
17329				#[doc = "Issue a new class of fungible assets from a public origin."]
17330				#[doc = ""]
17331				#[doc = "This new asset class has no assets initially and its owner is the origin."]
17332				#[doc = ""]
17333				#[doc = "The origin must conform to the configured `CreateOrigin` and have sufficient funds free."]
17334				#[doc = ""]
17335				#[doc = "Funds of sender are reserved by `AssetDeposit`."]
17336				#[doc = ""]
17337				#[doc = "Parameters:"]
17338				#[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"]
17339				#[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."]
17340				#[doc = "- `admin`: The admin of this class of assets. The admin is the initial address of each"]
17341				#[doc = "member of the asset class's admin team."]
17342				#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
17343				#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
17344				#[doc = ""]
17345				#[doc = "Emits `Created` event when successful."]
17346				#[doc = ""]
17347				#[doc = "Weight: `O(1)`"]
17348				pub struct Create {
17349					#[codec(compact)]
17350					pub id: create::Id,
17351					pub admin: create::Admin,
17352					pub min_balance: create::MinBalance,
17353				}
17354				pub mod create {
17355					use super::runtime_types;
17356					pub type Id = ::core::primitive::u32;
17357					pub type Admin = ::subxt::ext::subxt_core::utils::MultiAddress<
17358						::subxt::ext::subxt_core::utils::AccountId32,
17359						(),
17360					>;
17361					pub type MinBalance = ::core::primitive::u128;
17362				}
17363				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Create {
17364					const PALLET: &'static str = "Assets";
17365					const CALL: &'static str = "create";
17366				}
17367				#[derive(
17368					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17369					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17370					Debug,
17371				)]
17372				#[decode_as_type(
17373					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17374				)]
17375				#[encode_as_type(
17376					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17377				)]
17378				#[doc = "Issue a new class of fungible assets from a privileged origin."]
17379				#[doc = ""]
17380				#[doc = "This new asset class has no assets initially."]
17381				#[doc = ""]
17382				#[doc = "The origin must conform to `ForceOrigin`."]
17383				#[doc = ""]
17384				#[doc = "Unlike `create`, no funds are reserved."]
17385				#[doc = ""]
17386				#[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"]
17387				#[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."]
17388				#[doc = "- `owner`: The owner of this class of assets. The owner has full superuser permissions"]
17389				#[doc = "over this asset, but may later change and configure the permissions using"]
17390				#[doc = "`transfer_ownership` and `set_team`."]
17391				#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
17392				#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
17393				#[doc = ""]
17394				#[doc = "Emits `ForceCreated` event when successful."]
17395				#[doc = ""]
17396				#[doc = "Weight: `O(1)`"]
17397				pub struct ForceCreate {
17398					#[codec(compact)]
17399					pub id: force_create::Id,
17400					pub owner: force_create::Owner,
17401					pub is_sufficient: force_create::IsSufficient,
17402					#[codec(compact)]
17403					pub min_balance: force_create::MinBalance,
17404				}
17405				pub mod force_create {
17406					use super::runtime_types;
17407					pub type Id = ::core::primitive::u32;
17408					pub type Owner = ::subxt::ext::subxt_core::utils::MultiAddress<
17409						::subxt::ext::subxt_core::utils::AccountId32,
17410						(),
17411					>;
17412					pub type IsSufficient = ::core::primitive::bool;
17413					pub type MinBalance = ::core::primitive::u128;
17414				}
17415				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceCreate {
17416					const PALLET: &'static str = "Assets";
17417					const CALL: &'static str = "force_create";
17418				}
17419				#[derive(
17420					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17421					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17422					Debug,
17423				)]
17424				#[decode_as_type(
17425					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17426				)]
17427				#[encode_as_type(
17428					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17429				)]
17430				#[doc = "Start the process of destroying a fungible asset class."]
17431				#[doc = ""]
17432				#[doc = "`start_destroy` is the first in a series of extrinsics that should be called, to allow"]
17433				#[doc = "destruction of an asset class."]
17434				#[doc = ""]
17435				#[doc = "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`."]
17436				#[doc = ""]
17437				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
17438				#[doc = "  asset."]
17439				#[doc = ""]
17440				#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
17441				#[doc = "an account contains holds or freezes in place."]
17442				pub struct StartDestroy {
17443					#[codec(compact)]
17444					pub id: start_destroy::Id,
17445				}
17446				pub mod start_destroy {
17447					use super::runtime_types;
17448					pub type Id = ::core::primitive::u32;
17449				}
17450				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for StartDestroy {
17451					const PALLET: &'static str = "Assets";
17452					const CALL: &'static str = "start_destroy";
17453				}
17454				#[derive(
17455					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17456					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17457					Debug,
17458				)]
17459				#[decode_as_type(
17460					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17461				)]
17462				#[encode_as_type(
17463					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17464				)]
17465				#[doc = "Destroy all accounts associated with a given asset."]
17466				#[doc = ""]
17467				#[doc = "`destroy_accounts` should only be called after `start_destroy` has been called, and the"]
17468				#[doc = "asset is in a `Destroying` state."]
17469				#[doc = ""]
17470				#[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"]
17471				#[doc = "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time."]
17472				#[doc = ""]
17473				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
17474				#[doc = "  asset."]
17475				#[doc = ""]
17476				#[doc = "Each call emits the `Event::DestroyedAccounts` event."]
17477				pub struct DestroyAccounts {
17478					#[codec(compact)]
17479					pub id: destroy_accounts::Id,
17480				}
17481				pub mod destroy_accounts {
17482					use super::runtime_types;
17483					pub type Id = ::core::primitive::u32;
17484				}
17485				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for DestroyAccounts {
17486					const PALLET: &'static str = "Assets";
17487					const CALL: &'static str = "destroy_accounts";
17488				}
17489				#[derive(
17490					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17491					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17492					Debug,
17493				)]
17494				#[decode_as_type(
17495					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17496				)]
17497				#[encode_as_type(
17498					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17499				)]
17500				#[doc = "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit)."]
17501				#[doc = ""]
17502				#[doc = "`destroy_approvals` should only be called after `start_destroy` has been called, and the"]
17503				#[doc = "asset is in a `Destroying` state."]
17504				#[doc = ""]
17505				#[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"]
17506				#[doc = "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time."]
17507				#[doc = ""]
17508				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
17509				#[doc = "  asset."]
17510				#[doc = ""]
17511				#[doc = "Each call emits the `Event::DestroyedApprovals` event."]
17512				pub struct DestroyApprovals {
17513					#[codec(compact)]
17514					pub id: destroy_approvals::Id,
17515				}
17516				pub mod destroy_approvals {
17517					use super::runtime_types;
17518					pub type Id = ::core::primitive::u32;
17519				}
17520				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for DestroyApprovals {
17521					const PALLET: &'static str = "Assets";
17522					const CALL: &'static str = "destroy_approvals";
17523				}
17524				#[derive(
17525					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17526					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17527					Debug,
17528				)]
17529				#[decode_as_type(
17530					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17531				)]
17532				#[encode_as_type(
17533					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17534				)]
17535				#[doc = "Complete destroying asset and unreserve currency."]
17536				#[doc = ""]
17537				#[doc = "`finish_destroy` should only be called after `start_destroy` has been called, and the"]
17538				#[doc = "asset is in a `Destroying` state. All accounts or approvals should be destroyed before"]
17539				#[doc = "hand."]
17540				#[doc = ""]
17541				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
17542				#[doc = "  asset."]
17543				#[doc = ""]
17544				#[doc = "Each successful call emits the `Event::Destroyed` event."]
17545				pub struct FinishDestroy {
17546					#[codec(compact)]
17547					pub id: finish_destroy::Id,
17548				}
17549				pub mod finish_destroy {
17550					use super::runtime_types;
17551					pub type Id = ::core::primitive::u32;
17552				}
17553				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for FinishDestroy {
17554					const PALLET: &'static str = "Assets";
17555					const CALL: &'static str = "finish_destroy";
17556				}
17557				#[derive(
17558					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17559					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17560					Debug,
17561				)]
17562				#[decode_as_type(
17563					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17564				)]
17565				#[encode_as_type(
17566					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17567				)]
17568				#[doc = "Mint assets of a particular class."]
17569				#[doc = ""]
17570				#[doc = "The origin must be Signed and the sender must be the Issuer of the asset `id`."]
17571				#[doc = ""]
17572				#[doc = "- `id`: The identifier of the asset to have some amount minted."]
17573				#[doc = "- `beneficiary`: The account to be credited with the minted assets."]
17574				#[doc = "- `amount`: The amount of the asset to be minted."]
17575				#[doc = ""]
17576				#[doc = "Emits `Issued` event when successful."]
17577				#[doc = ""]
17578				#[doc = "Weight: `O(1)`"]
17579				#[doc = "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`."]
17580				pub struct Mint {
17581					#[codec(compact)]
17582					pub id: mint::Id,
17583					pub beneficiary: mint::Beneficiary,
17584					#[codec(compact)]
17585					pub amount: mint::Amount,
17586				}
17587				pub mod mint {
17588					use super::runtime_types;
17589					pub type Id = ::core::primitive::u32;
17590					pub type Beneficiary = ::subxt::ext::subxt_core::utils::MultiAddress<
17591						::subxt::ext::subxt_core::utils::AccountId32,
17592						(),
17593					>;
17594					pub type Amount = ::core::primitive::u128;
17595				}
17596				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Mint {
17597					const PALLET: &'static str = "Assets";
17598					const CALL: &'static str = "mint";
17599				}
17600				#[derive(
17601					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17602					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17603					Debug,
17604				)]
17605				#[decode_as_type(
17606					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17607				)]
17608				#[encode_as_type(
17609					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17610				)]
17611				#[doc = "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`."]
17612				#[doc = ""]
17613				#[doc = "Origin must be Signed and the sender should be the Manager of the asset `id`."]
17614				#[doc = ""]
17615				#[doc = "Bails with `NoAccount` if the `who` is already dead."]
17616				#[doc = ""]
17617				#[doc = "- `id`: The identifier of the asset to have some amount burned."]
17618				#[doc = "- `who`: The account to be debited from."]
17619				#[doc = "- `amount`: The maximum amount by which `who`'s balance should be reduced."]
17620				#[doc = ""]
17621				#[doc = "Emits `Burned` with the actual amount burned. If this takes the balance to below the"]
17622				#[doc = "minimum for the asset, then the amount burned is increased to take it to zero."]
17623				#[doc = ""]
17624				#[doc = "Weight: `O(1)`"]
17625				#[doc = "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`."]
17626				pub struct Burn {
17627					#[codec(compact)]
17628					pub id: burn::Id,
17629					pub who: burn::Who,
17630					#[codec(compact)]
17631					pub amount: burn::Amount,
17632				}
17633				pub mod burn {
17634					use super::runtime_types;
17635					pub type Id = ::core::primitive::u32;
17636					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
17637						::subxt::ext::subxt_core::utils::AccountId32,
17638						(),
17639					>;
17640					pub type Amount = ::core::primitive::u128;
17641				}
17642				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Burn {
17643					const PALLET: &'static str = "Assets";
17644					const CALL: &'static str = "burn";
17645				}
17646				#[derive(
17647					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17648					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17649					Debug,
17650				)]
17651				#[decode_as_type(
17652					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17653				)]
17654				#[encode_as_type(
17655					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17656				)]
17657				#[doc = "Move some assets from the sender account to another."]
17658				#[doc = ""]
17659				#[doc = "Origin must be Signed."]
17660				#[doc = ""]
17661				#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
17662				#[doc = "- `target`: The account to be credited."]
17663				#[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"]
17664				#[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"]
17665				#[doc = "the case that the transfer would otherwise take the sender balance above zero but below"]
17666				#[doc = "the minimum balance. Must be greater than zero."]
17667				#[doc = ""]
17668				#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
17669				#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
17670				#[doc = "to zero."]
17671				#[doc = ""]
17672				#[doc = "Weight: `O(1)`"]
17673				#[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"]
17674				#[doc = "`target`."]
17675				pub struct Transfer {
17676					#[codec(compact)]
17677					pub id: transfer::Id,
17678					pub target: transfer::Target,
17679					#[codec(compact)]
17680					pub amount: transfer::Amount,
17681				}
17682				pub mod transfer {
17683					use super::runtime_types;
17684					pub type Id = ::core::primitive::u32;
17685					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
17686						::subxt::ext::subxt_core::utils::AccountId32,
17687						(),
17688					>;
17689					pub type Amount = ::core::primitive::u128;
17690				}
17691				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Transfer {
17692					const PALLET: &'static str = "Assets";
17693					const CALL: &'static str = "transfer";
17694				}
17695				#[derive(
17696					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17697					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17698					Debug,
17699				)]
17700				#[decode_as_type(
17701					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17702				)]
17703				#[encode_as_type(
17704					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17705				)]
17706				#[doc = "Move some assets from the sender account to another, keeping the sender account alive."]
17707				#[doc = ""]
17708				#[doc = "Origin must be Signed."]
17709				#[doc = ""]
17710				#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
17711				#[doc = "- `target`: The account to be credited."]
17712				#[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"]
17713				#[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"]
17714				#[doc = "the case that the transfer would otherwise take the sender balance above zero but below"]
17715				#[doc = "the minimum balance. Must be greater than zero."]
17716				#[doc = ""]
17717				#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
17718				#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
17719				#[doc = "to zero."]
17720				#[doc = ""]
17721				#[doc = "Weight: `O(1)`"]
17722				#[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"]
17723				#[doc = "`target`."]
17724				pub struct TransferKeepAlive {
17725					#[codec(compact)]
17726					pub id: transfer_keep_alive::Id,
17727					pub target: transfer_keep_alive::Target,
17728					#[codec(compact)]
17729					pub amount: transfer_keep_alive::Amount,
17730				}
17731				pub mod transfer_keep_alive {
17732					use super::runtime_types;
17733					pub type Id = ::core::primitive::u32;
17734					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
17735						::subxt::ext::subxt_core::utils::AccountId32,
17736						(),
17737					>;
17738					pub type Amount = ::core::primitive::u128;
17739				}
17740				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferKeepAlive {
17741					const PALLET: &'static str = "Assets";
17742					const CALL: &'static str = "transfer_keep_alive";
17743				}
17744				#[derive(
17745					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17746					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17747					Debug,
17748				)]
17749				#[decode_as_type(
17750					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17751				)]
17752				#[encode_as_type(
17753					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17754				)]
17755				#[doc = "Move some assets from one account to another."]
17756				#[doc = ""]
17757				#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
17758				#[doc = ""]
17759				#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
17760				#[doc = "- `source`: The account to be debited."]
17761				#[doc = "- `dest`: The account to be credited."]
17762				#[doc = "- `amount`: The amount by which the `source`'s balance of assets should be reduced and"]
17763				#[doc = "`dest`'s balance increased. The amount actually transferred may be slightly greater in"]
17764				#[doc = "the case that the transfer would otherwise take the `source` balance above zero but"]
17765				#[doc = "below the minimum balance. Must be greater than zero."]
17766				#[doc = ""]
17767				#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
17768				#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
17769				#[doc = "to zero."]
17770				#[doc = ""]
17771				#[doc = "Weight: `O(1)`"]
17772				#[doc = "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of"]
17773				#[doc = "`dest`."]
17774				pub struct ForceTransfer {
17775					#[codec(compact)]
17776					pub id: force_transfer::Id,
17777					pub source: force_transfer::Source,
17778					pub dest: force_transfer::Dest,
17779					#[codec(compact)]
17780					pub amount: force_transfer::Amount,
17781				}
17782				pub mod force_transfer {
17783					use super::runtime_types;
17784					pub type Id = ::core::primitive::u32;
17785					pub type Source = ::subxt::ext::subxt_core::utils::MultiAddress<
17786						::subxt::ext::subxt_core::utils::AccountId32,
17787						(),
17788					>;
17789					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
17790						::subxt::ext::subxt_core::utils::AccountId32,
17791						(),
17792					>;
17793					pub type Amount = ::core::primitive::u128;
17794				}
17795				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceTransfer {
17796					const PALLET: &'static str = "Assets";
17797					const CALL: &'static str = "force_transfer";
17798				}
17799				#[derive(
17800					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17801					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17802					Debug,
17803				)]
17804				#[decode_as_type(
17805					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17806				)]
17807				#[encode_as_type(
17808					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17809				)]
17810				#[doc = "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`"]
17811				#[doc = "must already exist as an entry in `Account`s of the asset. If you want to freeze an"]
17812				#[doc = "account that does not have an entry, use `touch_other` first."]
17813				#[doc = ""]
17814				#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
17815				#[doc = ""]
17816				#[doc = "- `id`: The identifier of the asset to be frozen."]
17817				#[doc = "- `who`: The account to be frozen."]
17818				#[doc = ""]
17819				#[doc = "Emits `Frozen`."]
17820				#[doc = ""]
17821				#[doc = "Weight: `O(1)`"]
17822				pub struct Freeze {
17823					#[codec(compact)]
17824					pub id: freeze::Id,
17825					pub who: freeze::Who,
17826				}
17827				pub mod freeze {
17828					use super::runtime_types;
17829					pub type Id = ::core::primitive::u32;
17830					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
17831						::subxt::ext::subxt_core::utils::AccountId32,
17832						(),
17833					>;
17834				}
17835				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Freeze {
17836					const PALLET: &'static str = "Assets";
17837					const CALL: &'static str = "freeze";
17838				}
17839				#[derive(
17840					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17841					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17842					Debug,
17843				)]
17844				#[decode_as_type(
17845					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17846				)]
17847				#[encode_as_type(
17848					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17849				)]
17850				#[doc = "Allow unprivileged transfers to and from an account again."]
17851				#[doc = ""]
17852				#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
17853				#[doc = ""]
17854				#[doc = "- `id`: The identifier of the asset to be frozen."]
17855				#[doc = "- `who`: The account to be unfrozen."]
17856				#[doc = ""]
17857				#[doc = "Emits `Thawed`."]
17858				#[doc = ""]
17859				#[doc = "Weight: `O(1)`"]
17860				pub struct Thaw {
17861					#[codec(compact)]
17862					pub id: thaw::Id,
17863					pub who: thaw::Who,
17864				}
17865				pub mod thaw {
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				}
17873				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Thaw {
17874					const PALLET: &'static str = "Assets";
17875					const CALL: &'static str = "thaw";
17876				}
17877				#[derive(
17878					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17879					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17880					Debug,
17881				)]
17882				#[decode_as_type(
17883					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17884				)]
17885				#[encode_as_type(
17886					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17887				)]
17888				#[doc = "Disallow further unprivileged transfers for the asset class."]
17889				#[doc = ""]
17890				#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
17891				#[doc = ""]
17892				#[doc = "- `id`: The identifier of the asset to be frozen."]
17893				#[doc = ""]
17894				#[doc = "Emits `Frozen`."]
17895				#[doc = ""]
17896				#[doc = "Weight: `O(1)`"]
17897				pub struct FreezeAsset {
17898					#[codec(compact)]
17899					pub id: freeze_asset::Id,
17900				}
17901				pub mod freeze_asset {
17902					use super::runtime_types;
17903					pub type Id = ::core::primitive::u32;
17904				}
17905				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for FreezeAsset {
17906					const PALLET: &'static str = "Assets";
17907					const CALL: &'static str = "freeze_asset";
17908				}
17909				#[derive(
17910					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17911					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17912					Debug,
17913				)]
17914				#[decode_as_type(
17915					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17916				)]
17917				#[encode_as_type(
17918					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17919				)]
17920				#[doc = "Allow unprivileged transfers for the asset again."]
17921				#[doc = ""]
17922				#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
17923				#[doc = ""]
17924				#[doc = "- `id`: The identifier of the asset to be thawed."]
17925				#[doc = ""]
17926				#[doc = "Emits `Thawed`."]
17927				#[doc = ""]
17928				#[doc = "Weight: `O(1)`"]
17929				pub struct ThawAsset {
17930					#[codec(compact)]
17931					pub id: thaw_asset::Id,
17932				}
17933				pub mod thaw_asset {
17934					use super::runtime_types;
17935					pub type Id = ::core::primitive::u32;
17936				}
17937				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ThawAsset {
17938					const PALLET: &'static str = "Assets";
17939					const CALL: &'static str = "thaw_asset";
17940				}
17941				#[derive(
17942					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17943					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17944					Debug,
17945				)]
17946				#[decode_as_type(
17947					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17948				)]
17949				#[encode_as_type(
17950					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17951				)]
17952				#[doc = "Change the Owner of an asset."]
17953				#[doc = ""]
17954				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
17955				#[doc = ""]
17956				#[doc = "- `id`: The identifier of the asset."]
17957				#[doc = "- `owner`: The new Owner of this asset."]
17958				#[doc = ""]
17959				#[doc = "Emits `OwnerChanged`."]
17960				#[doc = ""]
17961				#[doc = "Weight: `O(1)`"]
17962				pub struct TransferOwnership {
17963					#[codec(compact)]
17964					pub id: transfer_ownership::Id,
17965					pub owner: transfer_ownership::Owner,
17966				}
17967				pub mod transfer_ownership {
17968					use super::runtime_types;
17969					pub type Id = ::core::primitive::u32;
17970					pub type Owner = ::subxt::ext::subxt_core::utils::MultiAddress<
17971						::subxt::ext::subxt_core::utils::AccountId32,
17972						(),
17973					>;
17974				}
17975				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferOwnership {
17976					const PALLET: &'static str = "Assets";
17977					const CALL: &'static str = "transfer_ownership";
17978				}
17979				#[derive(
17980					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17981					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17982					Debug,
17983				)]
17984				#[decode_as_type(
17985					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17986				)]
17987				#[encode_as_type(
17988					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17989				)]
17990				#[doc = "Change the Issuer, Admin and Freezer of an asset."]
17991				#[doc = ""]
17992				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
17993				#[doc = ""]
17994				#[doc = "- `id`: The identifier of the asset to be frozen."]
17995				#[doc = "- `issuer`: The new Issuer of this asset."]
17996				#[doc = "- `admin`: The new Admin of this asset."]
17997				#[doc = "- `freezer`: The new Freezer of this asset."]
17998				#[doc = ""]
17999				#[doc = "Emits `TeamChanged`."]
18000				#[doc = ""]
18001				#[doc = "Weight: `O(1)`"]
18002				pub struct SetTeam {
18003					#[codec(compact)]
18004					pub id: set_team::Id,
18005					pub issuer: set_team::Issuer,
18006					pub admin: set_team::Admin,
18007					pub freezer: set_team::Freezer,
18008				}
18009				pub mod set_team {
18010					use super::runtime_types;
18011					pub type Id = ::core::primitive::u32;
18012					pub type Issuer = ::subxt::ext::subxt_core::utils::MultiAddress<
18013						::subxt::ext::subxt_core::utils::AccountId32,
18014						(),
18015					>;
18016					pub type Admin = ::subxt::ext::subxt_core::utils::MultiAddress<
18017						::subxt::ext::subxt_core::utils::AccountId32,
18018						(),
18019					>;
18020					pub type Freezer = ::subxt::ext::subxt_core::utils::MultiAddress<
18021						::subxt::ext::subxt_core::utils::AccountId32,
18022						(),
18023					>;
18024				}
18025				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetTeam {
18026					const PALLET: &'static str = "Assets";
18027					const CALL: &'static str = "set_team";
18028				}
18029				#[derive(
18030					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18031					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18032					Debug,
18033				)]
18034				#[decode_as_type(
18035					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18036				)]
18037				#[encode_as_type(
18038					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18039				)]
18040				#[doc = "Set the metadata for an asset."]
18041				#[doc = ""]
18042				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
18043				#[doc = ""]
18044				#[doc = "Funds of sender are reserved according to the formula:"]
18045				#[doc = "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into"]
18046				#[doc = "account any already reserved funds."]
18047				#[doc = ""]
18048				#[doc = "- `id`: The identifier of the asset to update."]
18049				#[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."]
18050				#[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."]
18051				#[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."]
18052				#[doc = ""]
18053				#[doc = "Emits `MetadataSet`."]
18054				#[doc = ""]
18055				#[doc = "Weight: `O(1)`"]
18056				pub struct SetMetadata {
18057					#[codec(compact)]
18058					pub id: set_metadata::Id,
18059					pub name: set_metadata::Name,
18060					pub symbol: set_metadata::Symbol,
18061					pub decimals: set_metadata::Decimals,
18062				}
18063				pub mod set_metadata {
18064					use super::runtime_types;
18065					pub type Id = ::core::primitive::u32;
18066					pub type Name =
18067						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
18068					pub type Symbol =
18069						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
18070					pub type Decimals = ::core::primitive::u8;
18071				}
18072				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetMetadata {
18073					const PALLET: &'static str = "Assets";
18074					const CALL: &'static str = "set_metadata";
18075				}
18076				#[derive(
18077					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18078					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18079					Debug,
18080				)]
18081				#[decode_as_type(
18082					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18083				)]
18084				#[encode_as_type(
18085					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18086				)]
18087				#[doc = "Clear the metadata for an asset."]
18088				#[doc = ""]
18089				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
18090				#[doc = ""]
18091				#[doc = "Any deposit is freed for the asset owner."]
18092				#[doc = ""]
18093				#[doc = "- `id`: The identifier of the asset to clear."]
18094				#[doc = ""]
18095				#[doc = "Emits `MetadataCleared`."]
18096				#[doc = ""]
18097				#[doc = "Weight: `O(1)`"]
18098				pub struct ClearMetadata {
18099					#[codec(compact)]
18100					pub id: clear_metadata::Id,
18101				}
18102				pub mod clear_metadata {
18103					use super::runtime_types;
18104					pub type Id = ::core::primitive::u32;
18105				}
18106				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ClearMetadata {
18107					const PALLET: &'static str = "Assets";
18108					const CALL: &'static str = "clear_metadata";
18109				}
18110				#[derive(
18111					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18112					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18113					Debug,
18114				)]
18115				#[decode_as_type(
18116					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18117				)]
18118				#[encode_as_type(
18119					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18120				)]
18121				#[doc = "Force the metadata for an asset to some value."]
18122				#[doc = ""]
18123				#[doc = "Origin must be ForceOrigin."]
18124				#[doc = ""]
18125				#[doc = "Any deposit is left alone."]
18126				#[doc = ""]
18127				#[doc = "- `id`: The identifier of the asset to update."]
18128				#[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."]
18129				#[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."]
18130				#[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."]
18131				#[doc = ""]
18132				#[doc = "Emits `MetadataSet`."]
18133				#[doc = ""]
18134				#[doc = "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively."]
18135				pub struct ForceSetMetadata {
18136					#[codec(compact)]
18137					pub id: force_set_metadata::Id,
18138					pub name: force_set_metadata::Name,
18139					pub symbol: force_set_metadata::Symbol,
18140					pub decimals: force_set_metadata::Decimals,
18141					pub is_frozen: force_set_metadata::IsFrozen,
18142				}
18143				pub mod force_set_metadata {
18144					use super::runtime_types;
18145					pub type Id = ::core::primitive::u32;
18146					pub type Name =
18147						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
18148					pub type Symbol =
18149						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
18150					pub type Decimals = ::core::primitive::u8;
18151					pub type IsFrozen = ::core::primitive::bool;
18152				}
18153				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceSetMetadata {
18154					const PALLET: &'static str = "Assets";
18155					const CALL: &'static str = "force_set_metadata";
18156				}
18157				#[derive(
18158					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18159					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18160					Debug,
18161				)]
18162				#[decode_as_type(
18163					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18164				)]
18165				#[encode_as_type(
18166					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18167				)]
18168				#[doc = "Clear the metadata for an asset."]
18169				#[doc = ""]
18170				#[doc = "Origin must be ForceOrigin."]
18171				#[doc = ""]
18172				#[doc = "Any deposit is returned."]
18173				#[doc = ""]
18174				#[doc = "- `id`: The identifier of the asset to clear."]
18175				#[doc = ""]
18176				#[doc = "Emits `MetadataCleared`."]
18177				#[doc = ""]
18178				#[doc = "Weight: `O(1)`"]
18179				pub struct ForceClearMetadata {
18180					#[codec(compact)]
18181					pub id: force_clear_metadata::Id,
18182				}
18183				pub mod force_clear_metadata {
18184					use super::runtime_types;
18185					pub type Id = ::core::primitive::u32;
18186				}
18187				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceClearMetadata {
18188					const PALLET: &'static str = "Assets";
18189					const CALL: &'static str = "force_clear_metadata";
18190				}
18191				#[derive(
18192					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18193					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18194					Debug,
18195				)]
18196				#[decode_as_type(
18197					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18198				)]
18199				#[encode_as_type(
18200					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18201				)]
18202				#[doc = "Alter the attributes of a given asset."]
18203				#[doc = ""]
18204				#[doc = "Origin must be `ForceOrigin`."]
18205				#[doc = ""]
18206				#[doc = "- `id`: The identifier of the asset."]
18207				#[doc = "- `owner`: The new Owner of this asset."]
18208				#[doc = "- `issuer`: The new Issuer of this asset."]
18209				#[doc = "- `admin`: The new Admin of this asset."]
18210				#[doc = "- `freezer`: The new Freezer of this asset."]
18211				#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
18212				#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
18213				#[doc = "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient"]
18214				#[doc = "value to account for the state bloat associated with its balance storage. If set to"]
18215				#[doc = "`true`, then non-zero balances may be stored without a `consumer` reference (and thus"]
18216				#[doc = "an ED in the Balances pallet or whatever else is used to control user-account state"]
18217				#[doc = "growth)."]
18218				#[doc = "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin"]
18219				#[doc = "instructions."]
18220				#[doc = ""]
18221				#[doc = "Emits `AssetStatusChanged` with the identity of the asset."]
18222				#[doc = ""]
18223				#[doc = "Weight: `O(1)`"]
18224				pub struct ForceAssetStatus {
18225					#[codec(compact)]
18226					pub id: force_asset_status::Id,
18227					pub owner: force_asset_status::Owner,
18228					pub issuer: force_asset_status::Issuer,
18229					pub admin: force_asset_status::Admin,
18230					pub freezer: force_asset_status::Freezer,
18231					#[codec(compact)]
18232					pub min_balance: force_asset_status::MinBalance,
18233					pub is_sufficient: force_asset_status::IsSufficient,
18234					pub is_frozen: force_asset_status::IsFrozen,
18235				}
18236				pub mod force_asset_status {
18237					use super::runtime_types;
18238					pub type Id = ::core::primitive::u32;
18239					pub type Owner = ::subxt::ext::subxt_core::utils::MultiAddress<
18240						::subxt::ext::subxt_core::utils::AccountId32,
18241						(),
18242					>;
18243					pub type Issuer = ::subxt::ext::subxt_core::utils::MultiAddress<
18244						::subxt::ext::subxt_core::utils::AccountId32,
18245						(),
18246					>;
18247					pub type Admin = ::subxt::ext::subxt_core::utils::MultiAddress<
18248						::subxt::ext::subxt_core::utils::AccountId32,
18249						(),
18250					>;
18251					pub type Freezer = ::subxt::ext::subxt_core::utils::MultiAddress<
18252						::subxt::ext::subxt_core::utils::AccountId32,
18253						(),
18254					>;
18255					pub type MinBalance = ::core::primitive::u128;
18256					pub type IsSufficient = ::core::primitive::bool;
18257					pub type IsFrozen = ::core::primitive::bool;
18258				}
18259				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceAssetStatus {
18260					const PALLET: &'static str = "Assets";
18261					const CALL: &'static str = "force_asset_status";
18262				}
18263				#[derive(
18264					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18265					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18266					Debug,
18267				)]
18268				#[decode_as_type(
18269					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18270				)]
18271				#[encode_as_type(
18272					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18273				)]
18274				#[doc = "Approve an amount of asset for transfer by a delegated third-party account."]
18275				#[doc = ""]
18276				#[doc = "Origin must be Signed."]
18277				#[doc = ""]
18278				#[doc = "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account"]
18279				#[doc = "for the purpose of holding the approval. If some non-zero amount of assets is already"]
18280				#[doc = "approved from signing account to `delegate`, then it is topped up or unreserved to"]
18281				#[doc = "meet the right value."]
18282				#[doc = ""]
18283				#[doc = "NOTE: The signing account does not need to own `amount` of assets at the point of"]
18284				#[doc = "making this call."]
18285				#[doc = ""]
18286				#[doc = "- `id`: The identifier of the asset."]
18287				#[doc = "- `delegate`: The account to delegate permission to transfer asset."]
18288				#[doc = "- `amount`: The amount of asset that may be transferred by `delegate`. If there is"]
18289				#[doc = "already an approval in place, then this acts additively."]
18290				#[doc = ""]
18291				#[doc = "Emits `ApprovedTransfer` on success."]
18292				#[doc = ""]
18293				#[doc = "Weight: `O(1)`"]
18294				pub struct ApproveTransfer {
18295					#[codec(compact)]
18296					pub id: approve_transfer::Id,
18297					pub delegate: approve_transfer::Delegate,
18298					#[codec(compact)]
18299					pub amount: approve_transfer::Amount,
18300				}
18301				pub mod approve_transfer {
18302					use super::runtime_types;
18303					pub type Id = ::core::primitive::u32;
18304					pub type Delegate = ::subxt::ext::subxt_core::utils::MultiAddress<
18305						::subxt::ext::subxt_core::utils::AccountId32,
18306						(),
18307					>;
18308					pub type Amount = ::core::primitive::u128;
18309				}
18310				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ApproveTransfer {
18311					const PALLET: &'static str = "Assets";
18312					const CALL: &'static str = "approve_transfer";
18313				}
18314				#[derive(
18315					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18316					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18317					Debug,
18318				)]
18319				#[decode_as_type(
18320					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18321				)]
18322				#[encode_as_type(
18323					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18324				)]
18325				#[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."]
18326				#[doc = ""]
18327				#[doc = "Origin must be Signed and there must be an approval in place between signer and"]
18328				#[doc = "`delegate`."]
18329				#[doc = ""]
18330				#[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."]
18331				#[doc = ""]
18332				#[doc = "- `id`: The identifier of the asset."]
18333				#[doc = "- `delegate`: The account delegated permission to transfer asset."]
18334				#[doc = ""]
18335				#[doc = "Emits `ApprovalCancelled` on success."]
18336				#[doc = ""]
18337				#[doc = "Weight: `O(1)`"]
18338				pub struct CancelApproval {
18339					#[codec(compact)]
18340					pub id: cancel_approval::Id,
18341					pub delegate: cancel_approval::Delegate,
18342				}
18343				pub mod cancel_approval {
18344					use super::runtime_types;
18345					pub type Id = ::core::primitive::u32;
18346					pub type Delegate = ::subxt::ext::subxt_core::utils::MultiAddress<
18347						::subxt::ext::subxt_core::utils::AccountId32,
18348						(),
18349					>;
18350				}
18351				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CancelApproval {
18352					const PALLET: &'static str = "Assets";
18353					const CALL: &'static str = "cancel_approval";
18354				}
18355				#[derive(
18356					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18357					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18358					Debug,
18359				)]
18360				#[decode_as_type(
18361					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18362				)]
18363				#[encode_as_type(
18364					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18365				)]
18366				#[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."]
18367				#[doc = ""]
18368				#[doc = "Origin must be either ForceOrigin or Signed origin with the signer being the Admin"]
18369				#[doc = "account of the asset `id`."]
18370				#[doc = ""]
18371				#[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."]
18372				#[doc = ""]
18373				#[doc = "- `id`: The identifier of the asset."]
18374				#[doc = "- `delegate`: The account delegated permission to transfer asset."]
18375				#[doc = ""]
18376				#[doc = "Emits `ApprovalCancelled` on success."]
18377				#[doc = ""]
18378				#[doc = "Weight: `O(1)`"]
18379				pub struct ForceCancelApproval {
18380					#[codec(compact)]
18381					pub id: force_cancel_approval::Id,
18382					pub owner: force_cancel_approval::Owner,
18383					pub delegate: force_cancel_approval::Delegate,
18384				}
18385				pub mod force_cancel_approval {
18386					use super::runtime_types;
18387					pub type Id = ::core::primitive::u32;
18388					pub type Owner = ::subxt::ext::subxt_core::utils::MultiAddress<
18389						::subxt::ext::subxt_core::utils::AccountId32,
18390						(),
18391					>;
18392					pub type Delegate = ::subxt::ext::subxt_core::utils::MultiAddress<
18393						::subxt::ext::subxt_core::utils::AccountId32,
18394						(),
18395					>;
18396				}
18397				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceCancelApproval {
18398					const PALLET: &'static str = "Assets";
18399					const CALL: &'static str = "force_cancel_approval";
18400				}
18401				#[derive(
18402					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18403					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18404					Debug,
18405				)]
18406				#[decode_as_type(
18407					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18408				)]
18409				#[encode_as_type(
18410					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18411				)]
18412				#[doc = "Transfer some asset balance from a previously delegated account to some third-party"]
18413				#[doc = "account."]
18414				#[doc = ""]
18415				#[doc = "Origin must be Signed and there must be an approval in place by the `owner` to the"]
18416				#[doc = "signer."]
18417				#[doc = ""]
18418				#[doc = "If the entire amount approved for transfer is transferred, then any deposit previously"]
18419				#[doc = "reserved by `approve_transfer` is unreserved."]
18420				#[doc = ""]
18421				#[doc = "- `id`: The identifier of the asset."]
18422				#[doc = "- `owner`: The account which previously approved for a transfer of at least `amount` and"]
18423				#[doc = "from which the asset balance will be withdrawn."]
18424				#[doc = "- `destination`: The account to which the asset balance of `amount` will be transferred."]
18425				#[doc = "- `amount`: The amount of assets to transfer."]
18426				#[doc = ""]
18427				#[doc = "Emits `TransferredApproved` on success."]
18428				#[doc = ""]
18429				#[doc = "Weight: `O(1)`"]
18430				pub struct TransferApproved {
18431					#[codec(compact)]
18432					pub id: transfer_approved::Id,
18433					pub owner: transfer_approved::Owner,
18434					pub destination: transfer_approved::Destination,
18435					#[codec(compact)]
18436					pub amount: transfer_approved::Amount,
18437				}
18438				pub mod transfer_approved {
18439					use super::runtime_types;
18440					pub type Id = ::core::primitive::u32;
18441					pub type Owner = ::subxt::ext::subxt_core::utils::MultiAddress<
18442						::subxt::ext::subxt_core::utils::AccountId32,
18443						(),
18444					>;
18445					pub type Destination = ::subxt::ext::subxt_core::utils::MultiAddress<
18446						::subxt::ext::subxt_core::utils::AccountId32,
18447						(),
18448					>;
18449					pub type Amount = ::core::primitive::u128;
18450				}
18451				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferApproved {
18452					const PALLET: &'static str = "Assets";
18453					const CALL: &'static str = "transfer_approved";
18454				}
18455				#[derive(
18456					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18457					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18458					Debug,
18459				)]
18460				#[decode_as_type(
18461					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18462				)]
18463				#[encode_as_type(
18464					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18465				)]
18466				#[doc = "Create an asset account for non-provider assets."]
18467				#[doc = ""]
18468				#[doc = "A deposit will be taken from the signer account."]
18469				#[doc = ""]
18470				#[doc = "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit"]
18471				#[doc = "  to be taken."]
18472				#[doc = "- `id`: The identifier of the asset for the account to be created."]
18473				#[doc = ""]
18474				#[doc = "Emits `Touched` event when successful."]
18475				pub struct Touch {
18476					#[codec(compact)]
18477					pub id: touch::Id,
18478				}
18479				pub mod touch {
18480					use super::runtime_types;
18481					pub type Id = ::core::primitive::u32;
18482				}
18483				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Touch {
18484					const PALLET: &'static str = "Assets";
18485					const CALL: &'static str = "touch";
18486				}
18487				#[derive(
18488					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18489					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18490					Debug,
18491				)]
18492				#[decode_as_type(
18493					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18494				)]
18495				#[encode_as_type(
18496					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18497				)]
18498				#[doc = "Return the deposit (if any) of an asset account or a consumer reference (if any) of an"]
18499				#[doc = "account."]
18500				#[doc = ""]
18501				#[doc = "The origin must be Signed."]
18502				#[doc = ""]
18503				#[doc = "- `id`: The identifier of the asset for which the caller would like the deposit"]
18504				#[doc = "  refunded."]
18505				#[doc = "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund."]
18506				#[doc = ""]
18507				#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
18508				#[doc = "the asset account contains holds or freezes in place."]
18509				#[doc = ""]
18510				#[doc = "Emits `Refunded` event when successful."]
18511				pub struct Refund {
18512					#[codec(compact)]
18513					pub id: refund::Id,
18514					pub allow_burn: refund::AllowBurn,
18515				}
18516				pub mod refund {
18517					use super::runtime_types;
18518					pub type Id = ::core::primitive::u32;
18519					pub type AllowBurn = ::core::primitive::bool;
18520				}
18521				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Refund {
18522					const PALLET: &'static str = "Assets";
18523					const CALL: &'static str = "refund";
18524				}
18525				#[derive(
18526					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18527					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18528					Debug,
18529				)]
18530				#[decode_as_type(
18531					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18532				)]
18533				#[encode_as_type(
18534					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18535				)]
18536				#[doc = "Sets the minimum balance of an asset."]
18537				#[doc = ""]
18538				#[doc = "Only works if there aren't any accounts that are holding the asset or if"]
18539				#[doc = "the new value of `min_balance` is less than the old one."]
18540				#[doc = ""]
18541				#[doc = "Origin must be Signed and the sender has to be the Owner of the"]
18542				#[doc = "asset `id`."]
18543				#[doc = ""]
18544				#[doc = "- `id`: The identifier of the asset."]
18545				#[doc = "- `min_balance`: The new value of `min_balance`."]
18546				#[doc = ""]
18547				#[doc = "Emits `AssetMinBalanceChanged` event when successful."]
18548				pub struct SetMinBalance {
18549					#[codec(compact)]
18550					pub id: set_min_balance::Id,
18551					pub min_balance: set_min_balance::MinBalance,
18552				}
18553				pub mod set_min_balance {
18554					use super::runtime_types;
18555					pub type Id = ::core::primitive::u32;
18556					pub type MinBalance = ::core::primitive::u128;
18557				}
18558				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetMinBalance {
18559					const PALLET: &'static str = "Assets";
18560					const CALL: &'static str = "set_min_balance";
18561				}
18562				#[derive(
18563					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18564					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18565					Debug,
18566				)]
18567				#[decode_as_type(
18568					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18569				)]
18570				#[encode_as_type(
18571					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18572				)]
18573				#[doc = "Create an asset account for `who`."]
18574				#[doc = ""]
18575				#[doc = "A deposit will be taken from the signer account."]
18576				#[doc = ""]
18577				#[doc = "- `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account"]
18578				#[doc = "  must have sufficient funds for a deposit to be taken."]
18579				#[doc = "- `id`: The identifier of the asset for the account to be created."]
18580				#[doc = "- `who`: The account to be created."]
18581				#[doc = ""]
18582				#[doc = "Emits `Touched` event when successful."]
18583				pub struct TouchOther {
18584					#[codec(compact)]
18585					pub id: touch_other::Id,
18586					pub who: touch_other::Who,
18587				}
18588				pub mod touch_other {
18589					use super::runtime_types;
18590					pub type Id = ::core::primitive::u32;
18591					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
18592						::subxt::ext::subxt_core::utils::AccountId32,
18593						(),
18594					>;
18595				}
18596				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TouchOther {
18597					const PALLET: &'static str = "Assets";
18598					const CALL: &'static str = "touch_other";
18599				}
18600				#[derive(
18601					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18602					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18603					Debug,
18604				)]
18605				#[decode_as_type(
18606					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18607				)]
18608				#[encode_as_type(
18609					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18610				)]
18611				#[doc = "Return the deposit (if any) of a target asset account. Useful if you are the depositor."]
18612				#[doc = ""]
18613				#[doc = "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In"]
18614				#[doc = "order to burn a non-zero balance of the asset, the caller must be the account and should"]
18615				#[doc = "use `refund`."]
18616				#[doc = ""]
18617				#[doc = "- `id`: The identifier of the asset for the account holding a deposit."]
18618				#[doc = "- `who`: The account to refund."]
18619				#[doc = ""]
18620				#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
18621				#[doc = "the asset account contains holds or freezes in place."]
18622				#[doc = ""]
18623				#[doc = "Emits `Refunded` event when successful."]
18624				pub struct RefundOther {
18625					#[codec(compact)]
18626					pub id: refund_other::Id,
18627					pub who: refund_other::Who,
18628				}
18629				pub mod refund_other {
18630					use super::runtime_types;
18631					pub type Id = ::core::primitive::u32;
18632					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
18633						::subxt::ext::subxt_core::utils::AccountId32,
18634						(),
18635					>;
18636				}
18637				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RefundOther {
18638					const PALLET: &'static str = "Assets";
18639					const CALL: &'static str = "refund_other";
18640				}
18641				#[derive(
18642					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18643					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18644					Debug,
18645				)]
18646				#[decode_as_type(
18647					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18648				)]
18649				#[encode_as_type(
18650					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18651				)]
18652				#[doc = "Disallow further unprivileged transfers of an asset `id` to and from an account `who`."]
18653				#[doc = ""]
18654				#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
18655				#[doc = ""]
18656				#[doc = "- `id`: The identifier of the account's asset."]
18657				#[doc = "- `who`: The account to be unblocked."]
18658				#[doc = ""]
18659				#[doc = "Emits `Blocked`."]
18660				#[doc = ""]
18661				#[doc = "Weight: `O(1)`"]
18662				pub struct Block {
18663					#[codec(compact)]
18664					pub id: block::Id,
18665					pub who: block::Who,
18666				}
18667				pub mod block {
18668					use super::runtime_types;
18669					pub type Id = ::core::primitive::u32;
18670					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
18671						::subxt::ext::subxt_core::utils::AccountId32,
18672						(),
18673					>;
18674				}
18675				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Block {
18676					const PALLET: &'static str = "Assets";
18677					const CALL: &'static str = "block";
18678				}
18679				#[derive(
18680					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18681					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18682					Debug,
18683				)]
18684				#[decode_as_type(
18685					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
18686				)]
18687				#[encode_as_type(
18688					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
18689				)]
18690				#[doc = "Transfer the entire transferable balance from the caller asset account."]
18691				#[doc = ""]
18692				#[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"]
18693				#[doc = "any held, frozen, or minimum balance (when `keep_alive` is `true`), will not be"]
18694				#[doc = "transferred by this function. To ensure that this function results in a killed account,"]
18695				#[doc = "you might need to prepare the account by removing any reference counters, storage"]
18696				#[doc = "deposits, etc..."]
18697				#[doc = ""]
18698				#[doc = "The dispatch origin of this call must be Signed."]
18699				#[doc = ""]
18700				#[doc = "- `id`: The identifier of the asset for the account holding a deposit."]
18701				#[doc = "- `dest`: The recipient of the transfer."]
18702				#[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"]
18703				#[doc = "  of the funds the asset account has, causing the sender asset account to be killed"]
18704				#[doc = "  (false), or transfer everything except at least the minimum balance, which will"]
18705				#[doc = "  guarantee to keep the sender asset account alive (true)."]
18706				pub struct TransferAll {
18707					#[codec(compact)]
18708					pub id: transfer_all::Id,
18709					pub dest: transfer_all::Dest,
18710					pub keep_alive: transfer_all::KeepAlive,
18711				}
18712				pub mod transfer_all {
18713					use super::runtime_types;
18714					pub type Id = ::core::primitive::u32;
18715					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
18716						::subxt::ext::subxt_core::utils::AccountId32,
18717						(),
18718					>;
18719					pub type KeepAlive = ::core::primitive::bool;
18720				}
18721				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferAll {
18722					const PALLET: &'static str = "Assets";
18723					const CALL: &'static str = "transfer_all";
18724				}
18725			}
18726			pub struct TransactionApi;
18727			impl TransactionApi {
18728				#[doc = "Issue a new class of fungible assets from a public origin."]
18729				#[doc = ""]
18730				#[doc = "This new asset class has no assets initially and its owner is the origin."]
18731				#[doc = ""]
18732				#[doc = "The origin must conform to the configured `CreateOrigin` and have sufficient funds free."]
18733				#[doc = ""]
18734				#[doc = "Funds of sender are reserved by `AssetDeposit`."]
18735				#[doc = ""]
18736				#[doc = "Parameters:"]
18737				#[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"]
18738				#[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."]
18739				#[doc = "- `admin`: The admin of this class of assets. The admin is the initial address of each"]
18740				#[doc = "member of the asset class's admin team."]
18741				#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
18742				#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
18743				#[doc = ""]
18744				#[doc = "Emits `Created` event when successful."]
18745				#[doc = ""]
18746				#[doc = "Weight: `O(1)`"]
18747				pub fn create(
18748					&self,
18749					id: types::create::Id,
18750					admin: types::create::Admin,
18751					min_balance: types::create::MinBalance,
18752				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Create> {
18753					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
18754						"Assets",
18755						"create",
18756						types::Create { id, admin, min_balance },
18757						[
18758							120u8, 25u8, 99u8, 39u8, 102u8, 201u8, 14u8, 2u8, 32u8, 139u8, 206u8,
18759							218u8, 223u8, 161u8, 25u8, 98u8, 159u8, 133u8, 65u8, 105u8, 45u8, 4u8,
18760							28u8, 49u8, 248u8, 147u8, 2u8, 179u8, 11u8, 195u8, 177u8, 250u8,
18761						],
18762					)
18763				}
18764				#[doc = "Issue a new class of fungible assets from a privileged origin."]
18765				#[doc = ""]
18766				#[doc = "This new asset class has no assets initially."]
18767				#[doc = ""]
18768				#[doc = "The origin must conform to `ForceOrigin`."]
18769				#[doc = ""]
18770				#[doc = "Unlike `create`, no funds are reserved."]
18771				#[doc = ""]
18772				#[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"]
18773				#[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."]
18774				#[doc = "- `owner`: The owner of this class of assets. The owner has full superuser permissions"]
18775				#[doc = "over this asset, but may later change and configure the permissions using"]
18776				#[doc = "`transfer_ownership` and `set_team`."]
18777				#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
18778				#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
18779				#[doc = ""]
18780				#[doc = "Emits `ForceCreated` event when successful."]
18781				#[doc = ""]
18782				#[doc = "Weight: `O(1)`"]
18783				pub fn force_create(
18784					&self,
18785					id: types::force_create::Id,
18786					owner: types::force_create::Owner,
18787					is_sufficient: types::force_create::IsSufficient,
18788					min_balance: types::force_create::MinBalance,
18789				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceCreate> {
18790					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
18791						"Assets",
18792						"force_create",
18793						types::ForceCreate { id, owner, is_sufficient, min_balance },
18794						[
18795							149u8, 41u8, 54u8, 146u8, 18u8, 248u8, 84u8, 52u8, 202u8, 88u8, 192u8,
18796							208u8, 247u8, 227u8, 254u8, 98u8, 92u8, 46u8, 164u8, 152u8, 143u8,
18797							20u8, 179u8, 227u8, 197u8, 247u8, 242u8, 153u8, 142u8, 148u8, 40u8,
18798							184u8,
18799						],
18800					)
18801				}
18802				#[doc = "Start the process of destroying a fungible asset class."]
18803				#[doc = ""]
18804				#[doc = "`start_destroy` is the first in a series of extrinsics that should be called, to allow"]
18805				#[doc = "destruction of an asset class."]
18806				#[doc = ""]
18807				#[doc = "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`."]
18808				#[doc = ""]
18809				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
18810				#[doc = "  asset."]
18811				#[doc = ""]
18812				#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
18813				#[doc = "an account contains holds or freezes in place."]
18814				pub fn start_destroy(
18815					&self,
18816					id: types::start_destroy::Id,
18817				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::StartDestroy> {
18818					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
18819						"Assets",
18820						"start_destroy",
18821						types::StartDestroy { id },
18822						[
18823							125u8, 82u8, 151u8, 106u8, 25u8, 49u8, 68u8, 203u8, 247u8, 175u8,
18824							117u8, 230u8, 84u8, 98u8, 172u8, 73u8, 233u8, 218u8, 212u8, 198u8,
18825							69u8, 35u8, 15u8, 179u8, 161u8, 205u8, 190u8, 109u8, 198u8, 214u8,
18826							65u8, 164u8,
18827						],
18828					)
18829				}
18830				#[doc = "Destroy all accounts associated with a given asset."]
18831				#[doc = ""]
18832				#[doc = "`destroy_accounts` should only be called after `start_destroy` has been called, and the"]
18833				#[doc = "asset is in a `Destroying` state."]
18834				#[doc = ""]
18835				#[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"]
18836				#[doc = "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time."]
18837				#[doc = ""]
18838				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
18839				#[doc = "  asset."]
18840				#[doc = ""]
18841				#[doc = "Each call emits the `Event::DestroyedAccounts` event."]
18842				pub fn destroy_accounts(
18843					&self,
18844					id: types::destroy_accounts::Id,
18845				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::DestroyAccounts>
18846				{
18847					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
18848						"Assets",
18849						"destroy_accounts",
18850						types::DestroyAccounts { id },
18851						[
18852							236u8, 102u8, 233u8, 170u8, 179u8, 46u8, 42u8, 29u8, 200u8, 116u8,
18853							62u8, 114u8, 233u8, 59u8, 217u8, 215u8, 109u8, 232u8, 147u8, 95u8,
18854							255u8, 248u8, 119u8, 222u8, 216u8, 165u8, 138u8, 47u8, 28u8, 56u8,
18855							204u8, 93u8,
18856						],
18857					)
18858				}
18859				#[doc = "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit)."]
18860				#[doc = ""]
18861				#[doc = "`destroy_approvals` should only be called after `start_destroy` has been called, and the"]
18862				#[doc = "asset is in a `Destroying` state."]
18863				#[doc = ""]
18864				#[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"]
18865				#[doc = "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time."]
18866				#[doc = ""]
18867				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
18868				#[doc = "  asset."]
18869				#[doc = ""]
18870				#[doc = "Each call emits the `Event::DestroyedApprovals` event."]
18871				pub fn destroy_approvals(
18872					&self,
18873					id: types::destroy_approvals::Id,
18874				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::DestroyApprovals>
18875				{
18876					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
18877						"Assets",
18878						"destroy_approvals",
18879						types::DestroyApprovals { id },
18880						[
18881							34u8, 35u8, 15u8, 44u8, 239u8, 232u8, 88u8, 130u8, 130u8, 87u8, 171u8,
18882							255u8, 247u8, 179u8, 14u8, 35u8, 47u8, 223u8, 32u8, 232u8, 41u8, 105u8,
18883							207u8, 199u8, 90u8, 136u8, 144u8, 139u8, 252u8, 76u8, 177u8, 106u8,
18884						],
18885					)
18886				}
18887				#[doc = "Complete destroying asset and unreserve currency."]
18888				#[doc = ""]
18889				#[doc = "`finish_destroy` should only be called after `start_destroy` has been called, and the"]
18890				#[doc = "asset is in a `Destroying` state. All accounts or approvals should be destroyed before"]
18891				#[doc = "hand."]
18892				#[doc = ""]
18893				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
18894				#[doc = "  asset."]
18895				#[doc = ""]
18896				#[doc = "Each successful call emits the `Event::Destroyed` event."]
18897				pub fn finish_destroy(
18898					&self,
18899					id: types::finish_destroy::Id,
18900				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::FinishDestroy>
18901				{
18902					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
18903						"Assets",
18904						"finish_destroy",
18905						types::FinishDestroy { id },
18906						[
18907							132u8, 67u8, 78u8, 84u8, 240u8, 51u8, 176u8, 119u8, 48u8, 34u8, 153u8,
18908							37u8, 25u8, 171u8, 21u8, 164u8, 53u8, 214u8, 36u8, 149u8, 20u8, 240u8,
18909							123u8, 195u8, 170u8, 162u8, 118u8, 81u8, 176u8, 218u8, 114u8, 113u8,
18910						],
18911					)
18912				}
18913				#[doc = "Mint assets of a particular class."]
18914				#[doc = ""]
18915				#[doc = "The origin must be Signed and the sender must be the Issuer of the asset `id`."]
18916				#[doc = ""]
18917				#[doc = "- `id`: The identifier of the asset to have some amount minted."]
18918				#[doc = "- `beneficiary`: The account to be credited with the minted assets."]
18919				#[doc = "- `amount`: The amount of the asset to be minted."]
18920				#[doc = ""]
18921				#[doc = "Emits `Issued` event when successful."]
18922				#[doc = ""]
18923				#[doc = "Weight: `O(1)`"]
18924				#[doc = "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`."]
18925				pub fn mint(
18926					&self,
18927					id: types::mint::Id,
18928					beneficiary: types::mint::Beneficiary,
18929					amount: types::mint::Amount,
18930				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Mint> {
18931					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
18932						"Assets",
18933						"mint",
18934						types::Mint { id, beneficiary, amount },
18935						[
18936							172u8, 131u8, 103u8, 81u8, 206u8, 2u8, 143u8, 114u8, 137u8, 60u8,
18937							147u8, 67u8, 226u8, 64u8, 71u8, 11u8, 36u8, 145u8, 51u8, 8u8, 0u8,
18938							110u8, 8u8, 195u8, 103u8, 205u8, 156u8, 43u8, 215u8, 12u8, 150u8,
18939							135u8,
18940						],
18941					)
18942				}
18943				#[doc = "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`."]
18944				#[doc = ""]
18945				#[doc = "Origin must be Signed and the sender should be the Manager of the asset `id`."]
18946				#[doc = ""]
18947				#[doc = "Bails with `NoAccount` if the `who` is already dead."]
18948				#[doc = ""]
18949				#[doc = "- `id`: The identifier of the asset to have some amount burned."]
18950				#[doc = "- `who`: The account to be debited from."]
18951				#[doc = "- `amount`: The maximum amount by which `who`'s balance should be reduced."]
18952				#[doc = ""]
18953				#[doc = "Emits `Burned` with the actual amount burned. If this takes the balance to below the"]
18954				#[doc = "minimum for the asset, then the amount burned is increased to take it to zero."]
18955				#[doc = ""]
18956				#[doc = "Weight: `O(1)`"]
18957				#[doc = "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`."]
18958				pub fn burn(
18959					&self,
18960					id: types::burn::Id,
18961					who: types::burn::Who,
18962					amount: types::burn::Amount,
18963				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Burn> {
18964					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
18965						"Assets",
18966						"burn",
18967						types::Burn { id, who, amount },
18968						[
18969							105u8, 133u8, 82u8, 100u8, 124u8, 65u8, 174u8, 31u8, 152u8, 45u8, 23u8,
18970							200u8, 23u8, 199u8, 239u8, 8u8, 187u8, 142u8, 21u8, 192u8, 35u8, 211u8,
18971							172u8, 130u8, 169u8, 74u8, 167u8, 36u8, 149u8, 7u8, 19u8, 37u8,
18972						],
18973					)
18974				}
18975				#[doc = "Move some assets from the sender account to another."]
18976				#[doc = ""]
18977				#[doc = "Origin must be Signed."]
18978				#[doc = ""]
18979				#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
18980				#[doc = "- `target`: The account to be credited."]
18981				#[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"]
18982				#[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"]
18983				#[doc = "the case that the transfer would otherwise take the sender balance above zero but below"]
18984				#[doc = "the minimum balance. Must be greater than zero."]
18985				#[doc = ""]
18986				#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
18987				#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
18988				#[doc = "to zero."]
18989				#[doc = ""]
18990				#[doc = "Weight: `O(1)`"]
18991				#[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"]
18992				#[doc = "`target`."]
18993				pub fn transfer(
18994					&self,
18995					id: types::transfer::Id,
18996					target: types::transfer::Target,
18997					amount: types::transfer::Amount,
18998				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Transfer> {
18999					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19000						"Assets",
19001						"transfer",
19002						types::Transfer { id, target, amount },
19003						[
19004							126u8, 31u8, 70u8, 179u8, 222u8, 190u8, 12u8, 19u8, 94u8, 225u8, 217u8,
19005							109u8, 54u8, 69u8, 124u8, 61u8, 97u8, 199u8, 193u8, 166u8, 39u8, 143u8,
19006							125u8, 251u8, 87u8, 173u8, 149u8, 91u8, 182u8, 18u8, 184u8, 65u8,
19007						],
19008					)
19009				}
19010				#[doc = "Move some assets from the sender account to another, keeping the sender account alive."]
19011				#[doc = ""]
19012				#[doc = "Origin must be Signed."]
19013				#[doc = ""]
19014				#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
19015				#[doc = "- `target`: The account to be credited."]
19016				#[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"]
19017				#[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"]
19018				#[doc = "the case that the transfer would otherwise take the sender balance above zero but below"]
19019				#[doc = "the minimum balance. Must be greater than zero."]
19020				#[doc = ""]
19021				#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
19022				#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
19023				#[doc = "to zero."]
19024				#[doc = ""]
19025				#[doc = "Weight: `O(1)`"]
19026				#[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"]
19027				#[doc = "`target`."]
19028				pub fn transfer_keep_alive(
19029					&self,
19030					id: types::transfer_keep_alive::Id,
19031					target: types::transfer_keep_alive::Target,
19032					amount: types::transfer_keep_alive::Amount,
19033				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferKeepAlive>
19034				{
19035					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19036						"Assets",
19037						"transfer_keep_alive",
19038						types::TransferKeepAlive { id, target, amount },
19039						[
19040							99u8, 101u8, 219u8, 188u8, 238u8, 230u8, 141u8, 43u8, 38u8, 175u8,
19041							46u8, 89u8, 33u8, 23u8, 223u8, 115u8, 108u8, 18u8, 190u8, 213u8, 157u8,
19042							12u8, 139u8, 97u8, 7u8, 75u8, 196u8, 159u8, 122u8, 32u8, 164u8, 154u8,
19043						],
19044					)
19045				}
19046				#[doc = "Move some assets from one account to another."]
19047				#[doc = ""]
19048				#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
19049				#[doc = ""]
19050				#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
19051				#[doc = "- `source`: The account to be debited."]
19052				#[doc = "- `dest`: The account to be credited."]
19053				#[doc = "- `amount`: The amount by which the `source`'s balance of assets should be reduced and"]
19054				#[doc = "`dest`'s balance increased. The amount actually transferred may be slightly greater in"]
19055				#[doc = "the case that the transfer would otherwise take the `source` balance above zero but"]
19056				#[doc = "below the minimum balance. Must be greater than zero."]
19057				#[doc = ""]
19058				#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
19059				#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
19060				#[doc = "to zero."]
19061				#[doc = ""]
19062				#[doc = "Weight: `O(1)`"]
19063				#[doc = "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of"]
19064				#[doc = "`dest`."]
19065				pub fn force_transfer(
19066					&self,
19067					id: types::force_transfer::Id,
19068					source: types::force_transfer::Source,
19069					dest: types::force_transfer::Dest,
19070					amount: types::force_transfer::Amount,
19071				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceTransfer>
19072				{
19073					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19074						"Assets",
19075						"force_transfer",
19076						types::ForceTransfer { id, source, dest, amount },
19077						[
19078							10u8, 210u8, 8u8, 209u8, 8u8, 78u8, 40u8, 213u8, 235u8, 176u8, 144u8,
19079							145u8, 70u8, 13u8, 75u8, 72u8, 166u8, 137u8, 22u8, 191u8, 226u8, 244u8,
19080							92u8, 183u8, 129u8, 212u8, 158u8, 179u8, 169u8, 232u8, 177u8, 225u8,
19081						],
19082					)
19083				}
19084				#[doc = "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`"]
19085				#[doc = "must already exist as an entry in `Account`s of the asset. If you want to freeze an"]
19086				#[doc = "account that does not have an entry, use `touch_other` first."]
19087				#[doc = ""]
19088				#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
19089				#[doc = ""]
19090				#[doc = "- `id`: The identifier of the asset to be frozen."]
19091				#[doc = "- `who`: The account to be frozen."]
19092				#[doc = ""]
19093				#[doc = "Emits `Frozen`."]
19094				#[doc = ""]
19095				#[doc = "Weight: `O(1)`"]
19096				pub fn freeze(
19097					&self,
19098					id: types::freeze::Id,
19099					who: types::freeze::Who,
19100				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Freeze> {
19101					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19102						"Assets",
19103						"freeze",
19104						types::Freeze { id, who },
19105						[
19106							180u8, 124u8, 252u8, 66u8, 205u8, 23u8, 32u8, 217u8, 173u8, 10u8, 91u8,
19107							57u8, 44u8, 215u8, 234u8, 152u8, 115u8, 38u8, 141u8, 212u8, 57u8,
19108							217u8, 169u8, 61u8, 215u8, 130u8, 172u8, 58u8, 90u8, 193u8, 25u8,
19109							249u8,
19110						],
19111					)
19112				}
19113				#[doc = "Allow unprivileged transfers to and from an account again."]
19114				#[doc = ""]
19115				#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
19116				#[doc = ""]
19117				#[doc = "- `id`: The identifier of the asset to be frozen."]
19118				#[doc = "- `who`: The account to be unfrozen."]
19119				#[doc = ""]
19120				#[doc = "Emits `Thawed`."]
19121				#[doc = ""]
19122				#[doc = "Weight: `O(1)`"]
19123				pub fn thaw(
19124					&self,
19125					id: types::thaw::Id,
19126					who: types::thaw::Who,
19127				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Thaw> {
19128					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19129						"Assets",
19130						"thaw",
19131						types::Thaw { id, who },
19132						[
19133							187u8, 130u8, 9u8, 152u8, 231u8, 9u8, 245u8, 162u8, 115u8, 19u8, 73u8,
19134							176u8, 16u8, 230u8, 30u8, 60u8, 180u8, 183u8, 154u8, 160u8, 72u8,
19135							219u8, 116u8, 57u8, 140u8, 6u8, 105u8, 38u8, 98u8, 90u8, 250u8, 135u8,
19136						],
19137					)
19138				}
19139				#[doc = "Disallow further unprivileged transfers for the asset class."]
19140				#[doc = ""]
19141				#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
19142				#[doc = ""]
19143				#[doc = "- `id`: The identifier of the asset to be frozen."]
19144				#[doc = ""]
19145				#[doc = "Emits `Frozen`."]
19146				#[doc = ""]
19147				#[doc = "Weight: `O(1)`"]
19148				pub fn freeze_asset(
19149					&self,
19150					id: types::freeze_asset::Id,
19151				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::FreezeAsset> {
19152					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19153						"Assets",
19154						"freeze_asset",
19155						types::FreezeAsset { id },
19156						[
19157							75u8, 237u8, 183u8, 112u8, 112u8, 123u8, 250u8, 203u8, 169u8, 51u8,
19158							218u8, 35u8, 159u8, 23u8, 21u8, 10u8, 167u8, 84u8, 161u8, 212u8, 124u8,
19159							236u8, 88u8, 175u8, 48u8, 195u8, 33u8, 145u8, 141u8, 156u8, 31u8,
19160							250u8,
19161						],
19162					)
19163				}
19164				#[doc = "Allow unprivileged transfers for the asset again."]
19165				#[doc = ""]
19166				#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
19167				#[doc = ""]
19168				#[doc = "- `id`: The identifier of the asset to be thawed."]
19169				#[doc = ""]
19170				#[doc = "Emits `Thawed`."]
19171				#[doc = ""]
19172				#[doc = "Weight: `O(1)`"]
19173				pub fn thaw_asset(
19174					&self,
19175					id: types::thaw_asset::Id,
19176				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ThawAsset> {
19177					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19178						"Assets",
19179						"thaw_asset",
19180						types::ThawAsset { id },
19181						[
19182							151u8, 6u8, 170u8, 114u8, 55u8, 8u8, 5u8, 194u8, 251u8, 78u8, 232u8,
19183							181u8, 157u8, 62u8, 16u8, 39u8, 79u8, 119u8, 205u8, 198u8, 199u8, 26u8,
19184							92u8, 162u8, 169u8, 173u8, 93u8, 51u8, 7u8, 79u8, 198u8, 77u8,
19185						],
19186					)
19187				}
19188				#[doc = "Change the Owner of an asset."]
19189				#[doc = ""]
19190				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
19191				#[doc = ""]
19192				#[doc = "- `id`: The identifier of the asset."]
19193				#[doc = "- `owner`: The new Owner of this asset."]
19194				#[doc = ""]
19195				#[doc = "Emits `OwnerChanged`."]
19196				#[doc = ""]
19197				#[doc = "Weight: `O(1)`"]
19198				pub fn transfer_ownership(
19199					&self,
19200					id: types::transfer_ownership::Id,
19201					owner: types::transfer_ownership::Owner,
19202				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferOwnership>
19203				{
19204					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19205						"Assets",
19206						"transfer_ownership",
19207						types::TransferOwnership { id, owner },
19208						[
19209							65u8, 85u8, 40u8, 202u8, 212u8, 170u8, 130u8, 132u8, 140u8, 90u8, 68u8,
19210							28u8, 101u8, 154u8, 222u8, 150u8, 244u8, 165u8, 44u8, 22u8, 225u8,
19211							152u8, 7u8, 162u8, 110u8, 54u8, 173u8, 181u8, 54u8, 215u8, 105u8,
19212							239u8,
19213						],
19214					)
19215				}
19216				#[doc = "Change the Issuer, Admin and Freezer of an asset."]
19217				#[doc = ""]
19218				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
19219				#[doc = ""]
19220				#[doc = "- `id`: The identifier of the asset to be frozen."]
19221				#[doc = "- `issuer`: The new Issuer of this asset."]
19222				#[doc = "- `admin`: The new Admin of this asset."]
19223				#[doc = "- `freezer`: The new Freezer of this asset."]
19224				#[doc = ""]
19225				#[doc = "Emits `TeamChanged`."]
19226				#[doc = ""]
19227				#[doc = "Weight: `O(1)`"]
19228				pub fn set_team(
19229					&self,
19230					id: types::set_team::Id,
19231					issuer: types::set_team::Issuer,
19232					admin: types::set_team::Admin,
19233					freezer: types::set_team::Freezer,
19234				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetTeam> {
19235					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19236						"Assets",
19237						"set_team",
19238						types::SetTeam { id, issuer, admin, freezer },
19239						[
19240							52u8, 75u8, 50u8, 30u8, 164u8, 161u8, 121u8, 25u8, 135u8, 83u8, 115u8,
19241							25u8, 103u8, 1u8, 124u8, 206u8, 83u8, 182u8, 41u8, 116u8, 44u8, 37u8,
19242							75u8, 70u8, 252u8, 225u8, 240u8, 144u8, 96u8, 160u8, 151u8, 4u8,
19243						],
19244					)
19245				}
19246				#[doc = "Set the metadata for an asset."]
19247				#[doc = ""]
19248				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
19249				#[doc = ""]
19250				#[doc = "Funds of sender are reserved according to the formula:"]
19251				#[doc = "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into"]
19252				#[doc = "account any already reserved funds."]
19253				#[doc = ""]
19254				#[doc = "- `id`: The identifier of the asset to update."]
19255				#[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."]
19256				#[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."]
19257				#[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."]
19258				#[doc = ""]
19259				#[doc = "Emits `MetadataSet`."]
19260				#[doc = ""]
19261				#[doc = "Weight: `O(1)`"]
19262				pub fn set_metadata(
19263					&self,
19264					id: types::set_metadata::Id,
19265					name: types::set_metadata::Name,
19266					symbol: types::set_metadata::Symbol,
19267					decimals: types::set_metadata::Decimals,
19268				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetMetadata> {
19269					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19270						"Assets",
19271						"set_metadata",
19272						types::SetMetadata { id, name, symbol, decimals },
19273						[
19274							215u8, 66u8, 15u8, 17u8, 88u8, 174u8, 77u8, 75u8, 229u8, 155u8, 160u8,
19275							34u8, 108u8, 194u8, 88u8, 238u8, 131u8, 97u8, 234u8, 102u8, 71u8, 56u8,
19276							70u8, 248u8, 211u8, 85u8, 72u8, 92u8, 71u8, 222u8, 190u8, 91u8,
19277						],
19278					)
19279				}
19280				#[doc = "Clear the metadata for an asset."]
19281				#[doc = ""]
19282				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
19283				#[doc = ""]
19284				#[doc = "Any deposit is freed for the asset owner."]
19285				#[doc = ""]
19286				#[doc = "- `id`: The identifier of the asset to clear."]
19287				#[doc = ""]
19288				#[doc = "Emits `MetadataCleared`."]
19289				#[doc = ""]
19290				#[doc = "Weight: `O(1)`"]
19291				pub fn clear_metadata(
19292					&self,
19293					id: types::clear_metadata::Id,
19294				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ClearMetadata>
19295				{
19296					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19297						"Assets",
19298						"clear_metadata",
19299						types::ClearMetadata { id },
19300						[
19301							68u8, 172u8, 6u8, 158u8, 237u8, 254u8, 22u8, 4u8, 254u8, 157u8, 179u8,
19302							168u8, 105u8, 114u8, 56u8, 166u8, 213u8, 38u8, 188u8, 195u8, 99u8,
19303							43u8, 142u8, 220u8, 94u8, 248u8, 51u8, 226u8, 233u8, 114u8, 86u8, 93u8,
19304						],
19305					)
19306				}
19307				#[doc = "Force the metadata for an asset to some value."]
19308				#[doc = ""]
19309				#[doc = "Origin must be ForceOrigin."]
19310				#[doc = ""]
19311				#[doc = "Any deposit is left alone."]
19312				#[doc = ""]
19313				#[doc = "- `id`: The identifier of the asset to update."]
19314				#[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."]
19315				#[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."]
19316				#[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."]
19317				#[doc = ""]
19318				#[doc = "Emits `MetadataSet`."]
19319				#[doc = ""]
19320				#[doc = "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively."]
19321				pub fn force_set_metadata(
19322					&self,
19323					id: types::force_set_metadata::Id,
19324					name: types::force_set_metadata::Name,
19325					symbol: types::force_set_metadata::Symbol,
19326					decimals: types::force_set_metadata::Decimals,
19327					is_frozen: types::force_set_metadata::IsFrozen,
19328				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceSetMetadata>
19329				{
19330					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19331						"Assets",
19332						"force_set_metadata",
19333						types::ForceSetMetadata { id, name, symbol, decimals, is_frozen },
19334						[
19335							76u8, 90u8, 182u8, 13u8, 133u8, 248u8, 94u8, 136u8, 169u8, 114u8,
19336							151u8, 20u8, 106u8, 89u8, 78u8, 228u8, 22u8, 29u8, 68u8, 8u8, 54u8,
19337							47u8, 1u8, 186u8, 45u8, 167u8, 14u8, 112u8, 34u8, 43u8, 91u8, 140u8,
19338						],
19339					)
19340				}
19341				#[doc = "Clear the metadata for an asset."]
19342				#[doc = ""]
19343				#[doc = "Origin must be ForceOrigin."]
19344				#[doc = ""]
19345				#[doc = "Any deposit is returned."]
19346				#[doc = ""]
19347				#[doc = "- `id`: The identifier of the asset to clear."]
19348				#[doc = ""]
19349				#[doc = "Emits `MetadataCleared`."]
19350				#[doc = ""]
19351				#[doc = "Weight: `O(1)`"]
19352				pub fn force_clear_metadata(
19353					&self,
19354					id: types::force_clear_metadata::Id,
19355				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceClearMetadata>
19356				{
19357					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19358						"Assets",
19359						"force_clear_metadata",
19360						types::ForceClearMetadata { id },
19361						[
19362							2u8, 224u8, 84u8, 48u8, 130u8, 132u8, 79u8, 38u8, 217u8, 17u8, 165u8,
19363							139u8, 89u8, 53u8, 116u8, 184u8, 32u8, 91u8, 122u8, 39u8, 85u8, 40u8,
19364							213u8, 216u8, 135u8, 171u8, 50u8, 69u8, 202u8, 28u8, 166u8, 147u8,
19365						],
19366					)
19367				}
19368				#[doc = "Alter the attributes of a given asset."]
19369				#[doc = ""]
19370				#[doc = "Origin must be `ForceOrigin`."]
19371				#[doc = ""]
19372				#[doc = "- `id`: The identifier of the asset."]
19373				#[doc = "- `owner`: The new Owner of this asset."]
19374				#[doc = "- `issuer`: The new Issuer of this asset."]
19375				#[doc = "- `admin`: The new Admin of this asset."]
19376				#[doc = "- `freezer`: The new Freezer of this asset."]
19377				#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
19378				#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
19379				#[doc = "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient"]
19380				#[doc = "value to account for the state bloat associated with its balance storage. If set to"]
19381				#[doc = "`true`, then non-zero balances may be stored without a `consumer` reference (and thus"]
19382				#[doc = "an ED in the Balances pallet or whatever else is used to control user-account state"]
19383				#[doc = "growth)."]
19384				#[doc = "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin"]
19385				#[doc = "instructions."]
19386				#[doc = ""]
19387				#[doc = "Emits `AssetStatusChanged` with the identity of the asset."]
19388				#[doc = ""]
19389				#[doc = "Weight: `O(1)`"]
19390				pub fn force_asset_status(
19391					&self,
19392					id: types::force_asset_status::Id,
19393					owner: types::force_asset_status::Owner,
19394					issuer: types::force_asset_status::Issuer,
19395					admin: types::force_asset_status::Admin,
19396					freezer: types::force_asset_status::Freezer,
19397					min_balance: types::force_asset_status::MinBalance,
19398					is_sufficient: types::force_asset_status::IsSufficient,
19399					is_frozen: types::force_asset_status::IsFrozen,
19400				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceAssetStatus>
19401				{
19402					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19403						"Assets",
19404						"force_asset_status",
19405						types::ForceAssetStatus {
19406							id,
19407							owner,
19408							issuer,
19409							admin,
19410							freezer,
19411							min_balance,
19412							is_sufficient,
19413							is_frozen,
19414						},
19415						[
19416							149u8, 136u8, 250u8, 33u8, 53u8, 220u8, 207u8, 187u8, 42u8, 118u8,
19417							93u8, 173u8, 100u8, 243u8, 234u8, 207u8, 88u8, 45u8, 79u8, 221u8,
19418							113u8, 166u8, 229u8, 171u8, 223u8, 126u8, 20u8, 67u8, 19u8, 77u8, 44u8,
19419							19u8,
19420						],
19421					)
19422				}
19423				#[doc = "Approve an amount of asset for transfer by a delegated third-party account."]
19424				#[doc = ""]
19425				#[doc = "Origin must be Signed."]
19426				#[doc = ""]
19427				#[doc = "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account"]
19428				#[doc = "for the purpose of holding the approval. If some non-zero amount of assets is already"]
19429				#[doc = "approved from signing account to `delegate`, then it is topped up or unreserved to"]
19430				#[doc = "meet the right value."]
19431				#[doc = ""]
19432				#[doc = "NOTE: The signing account does not need to own `amount` of assets at the point of"]
19433				#[doc = "making this call."]
19434				#[doc = ""]
19435				#[doc = "- `id`: The identifier of the asset."]
19436				#[doc = "- `delegate`: The account to delegate permission to transfer asset."]
19437				#[doc = "- `amount`: The amount of asset that may be transferred by `delegate`. If there is"]
19438				#[doc = "already an approval in place, then this acts additively."]
19439				#[doc = ""]
19440				#[doc = "Emits `ApprovedTransfer` on success."]
19441				#[doc = ""]
19442				#[doc = "Weight: `O(1)`"]
19443				pub fn approve_transfer(
19444					&self,
19445					id: types::approve_transfer::Id,
19446					delegate: types::approve_transfer::Delegate,
19447					amount: types::approve_transfer::Amount,
19448				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ApproveTransfer>
19449				{
19450					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19451						"Assets",
19452						"approve_transfer",
19453						types::ApproveTransfer { id, delegate, amount },
19454						[
19455							39u8, 227u8, 23u8, 143u8, 10u8, 120u8, 227u8, 1u8, 223u8, 78u8, 40u8,
19456							213u8, 249u8, 175u8, 170u8, 183u8, 10u8, 244u8, 117u8, 111u8, 140u8,
19457							157u8, 153u8, 212u8, 94u8, 119u8, 213u8, 44u8, 41u8, 8u8, 114u8, 200u8,
19458						],
19459					)
19460				}
19461				#[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."]
19462				#[doc = ""]
19463				#[doc = "Origin must be Signed and there must be an approval in place between signer and"]
19464				#[doc = "`delegate`."]
19465				#[doc = ""]
19466				#[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."]
19467				#[doc = ""]
19468				#[doc = "- `id`: The identifier of the asset."]
19469				#[doc = "- `delegate`: The account delegated permission to transfer asset."]
19470				#[doc = ""]
19471				#[doc = "Emits `ApprovalCancelled` on success."]
19472				#[doc = ""]
19473				#[doc = "Weight: `O(1)`"]
19474				pub fn cancel_approval(
19475					&self,
19476					id: types::cancel_approval::Id,
19477					delegate: types::cancel_approval::Delegate,
19478				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CancelApproval>
19479				{
19480					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19481						"Assets",
19482						"cancel_approval",
19483						types::CancelApproval { id, delegate },
19484						[
19485							74u8, 117u8, 101u8, 78u8, 152u8, 208u8, 16u8, 102u8, 34u8, 195u8, 61u8,
19486							36u8, 85u8, 91u8, 253u8, 182u8, 61u8, 199u8, 12u8, 102u8, 149u8, 20u8,
19487							238u8, 207u8, 236u8, 50u8, 63u8, 249u8, 34u8, 85u8, 88u8, 229u8,
19488						],
19489					)
19490				}
19491				#[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."]
19492				#[doc = ""]
19493				#[doc = "Origin must be either ForceOrigin or Signed origin with the signer being the Admin"]
19494				#[doc = "account of the asset `id`."]
19495				#[doc = ""]
19496				#[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."]
19497				#[doc = ""]
19498				#[doc = "- `id`: The identifier of the asset."]
19499				#[doc = "- `delegate`: The account delegated permission to transfer asset."]
19500				#[doc = ""]
19501				#[doc = "Emits `ApprovalCancelled` on success."]
19502				#[doc = ""]
19503				#[doc = "Weight: `O(1)`"]
19504				pub fn force_cancel_approval(
19505					&self,
19506					id: types::force_cancel_approval::Id,
19507					owner: types::force_cancel_approval::Owner,
19508					delegate: types::force_cancel_approval::Delegate,
19509				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceCancelApproval>
19510				{
19511					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19512						"Assets",
19513						"force_cancel_approval",
19514						types::ForceCancelApproval { id, owner, delegate },
19515						[
19516							27u8, 231u8, 85u8, 241u8, 18u8, 151u8, 64u8, 234u8, 11u8, 84u8, 252u8,
19517							128u8, 44u8, 247u8, 132u8, 82u8, 34u8, 210u8, 202u8, 50u8, 158u8, 45u8,
19518							239u8, 192u8, 7u8, 24u8, 39u8, 95u8, 57u8, 21u8, 178u8, 113u8,
19519						],
19520					)
19521				}
19522				#[doc = "Transfer some asset balance from a previously delegated account to some third-party"]
19523				#[doc = "account."]
19524				#[doc = ""]
19525				#[doc = "Origin must be Signed and there must be an approval in place by the `owner` to the"]
19526				#[doc = "signer."]
19527				#[doc = ""]
19528				#[doc = "If the entire amount approved for transfer is transferred, then any deposit previously"]
19529				#[doc = "reserved by `approve_transfer` is unreserved."]
19530				#[doc = ""]
19531				#[doc = "- `id`: The identifier of the asset."]
19532				#[doc = "- `owner`: The account which previously approved for a transfer of at least `amount` and"]
19533				#[doc = "from which the asset balance will be withdrawn."]
19534				#[doc = "- `destination`: The account to which the asset balance of `amount` will be transferred."]
19535				#[doc = "- `amount`: The amount of assets to transfer."]
19536				#[doc = ""]
19537				#[doc = "Emits `TransferredApproved` on success."]
19538				#[doc = ""]
19539				#[doc = "Weight: `O(1)`"]
19540				pub fn transfer_approved(
19541					&self,
19542					id: types::transfer_approved::Id,
19543					owner: types::transfer_approved::Owner,
19544					destination: types::transfer_approved::Destination,
19545					amount: types::transfer_approved::Amount,
19546				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferApproved>
19547				{
19548					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19549						"Assets",
19550						"transfer_approved",
19551						types::TransferApproved { id, owner, destination, amount },
19552						[
19553							214u8, 51u8, 243u8, 129u8, 116u8, 233u8, 199u8, 183u8, 25u8, 5u8,
19554							109u8, 85u8, 255u8, 68u8, 36u8, 99u8, 99u8, 179u8, 34u8, 66u8, 65u8,
19555							82u8, 189u8, 174u8, 22u8, 100u8, 211u8, 13u8, 178u8, 19u8, 128u8,
19556							177u8,
19557						],
19558					)
19559				}
19560				#[doc = "Create an asset account for non-provider assets."]
19561				#[doc = ""]
19562				#[doc = "A deposit will be taken from the signer account."]
19563				#[doc = ""]
19564				#[doc = "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit"]
19565				#[doc = "  to be taken."]
19566				#[doc = "- `id`: The identifier of the asset for the account to be created."]
19567				#[doc = ""]
19568				#[doc = "Emits `Touched` event when successful."]
19569				pub fn touch(
19570					&self,
19571					id: types::touch::Id,
19572				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Touch> {
19573					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19574						"Assets",
19575						"touch",
19576						types::Touch { id },
19577						[
19578							50u8, 185u8, 46u8, 134u8, 136u8, 31u8, 191u8, 34u8, 215u8, 150u8, 73u8,
19579							103u8, 140u8, 36u8, 95u8, 156u8, 201u8, 152u8, 32u8, 165u8, 47u8, 86u8,
19580							163u8, 255u8, 8u8, 251u8, 176u8, 138u8, 165u8, 48u8, 12u8, 27u8,
19581						],
19582					)
19583				}
19584				#[doc = "Return the deposit (if any) of an asset account or a consumer reference (if any) of an"]
19585				#[doc = "account."]
19586				#[doc = ""]
19587				#[doc = "The origin must be Signed."]
19588				#[doc = ""]
19589				#[doc = "- `id`: The identifier of the asset for which the caller would like the deposit"]
19590				#[doc = "  refunded."]
19591				#[doc = "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund."]
19592				#[doc = ""]
19593				#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
19594				#[doc = "the asset account contains holds or freezes in place."]
19595				#[doc = ""]
19596				#[doc = "Emits `Refunded` event when successful."]
19597				pub fn refund(
19598					&self,
19599					id: types::refund::Id,
19600					allow_burn: types::refund::AllowBurn,
19601				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Refund> {
19602					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19603						"Assets",
19604						"refund",
19605						types::Refund { id, allow_burn },
19606						[
19607							218u8, 207u8, 8u8, 41u8, 154u8, 250u8, 117u8, 174u8, 143u8, 133u8,
19608							34u8, 113u8, 171u8, 18u8, 177u8, 227u8, 146u8, 92u8, 12u8, 226u8,
19609							101u8, 230u8, 246u8, 162u8, 32u8, 73u8, 138u8, 158u8, 95u8, 226u8,
19610							75u8, 95u8,
19611						],
19612					)
19613				}
19614				#[doc = "Sets the minimum balance of an asset."]
19615				#[doc = ""]
19616				#[doc = "Only works if there aren't any accounts that are holding the asset or if"]
19617				#[doc = "the new value of `min_balance` is less than the old one."]
19618				#[doc = ""]
19619				#[doc = "Origin must be Signed and the sender has to be the Owner of the"]
19620				#[doc = "asset `id`."]
19621				#[doc = ""]
19622				#[doc = "- `id`: The identifier of the asset."]
19623				#[doc = "- `min_balance`: The new value of `min_balance`."]
19624				#[doc = ""]
19625				#[doc = "Emits `AssetMinBalanceChanged` event when successful."]
19626				pub fn set_min_balance(
19627					&self,
19628					id: types::set_min_balance::Id,
19629					min_balance: types::set_min_balance::MinBalance,
19630				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetMinBalance>
19631				{
19632					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19633						"Assets",
19634						"set_min_balance",
19635						types::SetMinBalance { id, min_balance },
19636						[
19637							141u8, 241u8, 137u8, 50u8, 232u8, 122u8, 252u8, 104u8, 185u8, 170u8,
19638							246u8, 0u8, 20u8, 128u8, 136u8, 155u8, 62u8, 243u8, 4u8, 221u8, 42u8,
19639							225u8, 16u8, 245u8, 58u8, 127u8, 84u8, 193u8, 175u8, 165u8, 35u8, 49u8,
19640						],
19641					)
19642				}
19643				#[doc = "Create an asset account for `who`."]
19644				#[doc = ""]
19645				#[doc = "A deposit will be taken from the signer account."]
19646				#[doc = ""]
19647				#[doc = "- `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account"]
19648				#[doc = "  must have sufficient funds for a deposit to be taken."]
19649				#[doc = "- `id`: The identifier of the asset for the account to be created."]
19650				#[doc = "- `who`: The account to be created."]
19651				#[doc = ""]
19652				#[doc = "Emits `Touched` event when successful."]
19653				pub fn touch_other(
19654					&self,
19655					id: types::touch_other::Id,
19656					who: types::touch_other::Who,
19657				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TouchOther> {
19658					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19659						"Assets",
19660						"touch_other",
19661						types::TouchOther { id, who },
19662						[
19663							104u8, 85u8, 80u8, 68u8, 135u8, 149u8, 102u8, 104u8, 188u8, 79u8, 42u8,
19664							34u8, 241u8, 84u8, 183u8, 176u8, 215u8, 172u8, 78u8, 196u8, 206u8,
19665							214u8, 138u8, 240u8, 92u8, 65u8, 117u8, 170u8, 140u8, 120u8, 50u8,
19666							166u8,
19667						],
19668					)
19669				}
19670				#[doc = "Return the deposit (if any) of a target asset account. Useful if you are the depositor."]
19671				#[doc = ""]
19672				#[doc = "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In"]
19673				#[doc = "order to burn a non-zero balance of the asset, the caller must be the account and should"]
19674				#[doc = "use `refund`."]
19675				#[doc = ""]
19676				#[doc = "- `id`: The identifier of the asset for the account holding a deposit."]
19677				#[doc = "- `who`: The account to refund."]
19678				#[doc = ""]
19679				#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
19680				#[doc = "the asset account contains holds or freezes in place."]
19681				#[doc = ""]
19682				#[doc = "Emits `Refunded` event when successful."]
19683				pub fn refund_other(
19684					&self,
19685					id: types::refund_other::Id,
19686					who: types::refund_other::Who,
19687				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RefundOther> {
19688					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19689						"Assets",
19690						"refund_other",
19691						types::RefundOther { id, who },
19692						[
19693							113u8, 58u8, 33u8, 109u8, 233u8, 229u8, 210u8, 40u8, 176u8, 252u8,
19694							131u8, 80u8, 33u8, 132u8, 19u8, 170u8, 145u8, 146u8, 246u8, 31u8,
19695							222u8, 120u8, 167u8, 187u8, 8u8, 144u8, 164u8, 251u8, 52u8, 249u8,
19696							91u8, 136u8,
19697						],
19698					)
19699				}
19700				#[doc = "Disallow further unprivileged transfers of an asset `id` to and from an account `who`."]
19701				#[doc = ""]
19702				#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
19703				#[doc = ""]
19704				#[doc = "- `id`: The identifier of the account's asset."]
19705				#[doc = "- `who`: The account to be unblocked."]
19706				#[doc = ""]
19707				#[doc = "Emits `Blocked`."]
19708				#[doc = ""]
19709				#[doc = "Weight: `O(1)`"]
19710				pub fn block(
19711					&self,
19712					id: types::block::Id,
19713					who: types::block::Who,
19714				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Block> {
19715					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19716						"Assets",
19717						"block",
19718						types::Block { id, who },
19719						[
19720							224u8, 63u8, 26u8, 229u8, 23u8, 164u8, 212u8, 170u8, 156u8, 104u8,
19721							63u8, 158u8, 53u8, 162u8, 157u8, 127u8, 183u8, 94u8, 211u8, 123u8,
19722							228u8, 198u8, 47u8, 80u8, 53u8, 122u8, 46u8, 69u8, 67u8, 170u8, 193u8,
19723							33u8,
19724						],
19725					)
19726				}
19727				#[doc = "Transfer the entire transferable balance from the caller asset account."]
19728				#[doc = ""]
19729				#[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"]
19730				#[doc = "any held, frozen, or minimum balance (when `keep_alive` is `true`), will not be"]
19731				#[doc = "transferred by this function. To ensure that this function results in a killed account,"]
19732				#[doc = "you might need to prepare the account by removing any reference counters, storage"]
19733				#[doc = "deposits, etc..."]
19734				#[doc = ""]
19735				#[doc = "The dispatch origin of this call must be Signed."]
19736				#[doc = ""]
19737				#[doc = "- `id`: The identifier of the asset for the account holding a deposit."]
19738				#[doc = "- `dest`: The recipient of the transfer."]
19739				#[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"]
19740				#[doc = "  of the funds the asset account has, causing the sender asset account to be killed"]
19741				#[doc = "  (false), or transfer everything except at least the minimum balance, which will"]
19742				#[doc = "  guarantee to keep the sender asset account alive (true)."]
19743				pub fn transfer_all(
19744					&self,
19745					id: types::transfer_all::Id,
19746					dest: types::transfer_all::Dest,
19747					keep_alive: types::transfer_all::KeepAlive,
19748				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferAll> {
19749					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19750						"Assets",
19751						"transfer_all",
19752						types::TransferAll { id, dest, keep_alive },
19753						[
19754							180u8, 161u8, 252u8, 127u8, 200u8, 117u8, 245u8, 213u8, 170u8, 169u8,
19755							178u8, 115u8, 156u8, 8u8, 79u8, 50u8, 168u8, 229u8, 87u8, 33u8, 238u8,
19756							124u8, 13u8, 210u8, 81u8, 132u8, 236u8, 46u8, 101u8, 18u8, 22u8, 61u8,
19757						],
19758					)
19759				}
19760			}
19761		}
19762		#[doc = "The `Event` enum of this pallet"]
19763		pub type Event = runtime_types::pallet_assets::pallet::Event;
19764		pub mod events {
19765			use super::runtime_types;
19766			#[derive(
19767				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19768				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19769				Debug,
19770			)]
19771			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19772			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19773			#[doc = "Some asset class was created."]
19774			pub struct Created {
19775				pub asset_id: created::AssetId,
19776				pub creator: created::Creator,
19777				pub owner: created::Owner,
19778			}
19779			pub mod created {
19780				use super::runtime_types;
19781				pub type AssetId = ::core::primitive::u32;
19782				pub type Creator = ::subxt::ext::subxt_core::utils::AccountId32;
19783				pub type Owner = ::subxt::ext::subxt_core::utils::AccountId32;
19784			}
19785			impl ::subxt::ext::subxt_core::events::StaticEvent for Created {
19786				const PALLET: &'static str = "Assets";
19787				const EVENT: &'static str = "Created";
19788			}
19789			#[derive(
19790				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19791				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19792				Debug,
19793			)]
19794			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19795			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19796			#[doc = "Some assets were issued."]
19797			pub struct Issued {
19798				pub asset_id: issued::AssetId,
19799				pub owner: issued::Owner,
19800				pub amount: issued::Amount,
19801			}
19802			pub mod issued {
19803				use super::runtime_types;
19804				pub type AssetId = ::core::primitive::u32;
19805				pub type Owner = ::subxt::ext::subxt_core::utils::AccountId32;
19806				pub type Amount = ::core::primitive::u128;
19807			}
19808			impl ::subxt::ext::subxt_core::events::StaticEvent for Issued {
19809				const PALLET: &'static str = "Assets";
19810				const EVENT: &'static str = "Issued";
19811			}
19812			#[derive(
19813				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19814				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19815				Debug,
19816			)]
19817			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19818			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19819			#[doc = "Some assets were transferred."]
19820			pub struct Transferred {
19821				pub asset_id: transferred::AssetId,
19822				pub from: transferred::From,
19823				pub to: transferred::To,
19824				pub amount: transferred::Amount,
19825			}
19826			pub mod transferred {
19827				use super::runtime_types;
19828				pub type AssetId = ::core::primitive::u32;
19829				pub type From = ::subxt::ext::subxt_core::utils::AccountId32;
19830				pub type To = ::subxt::ext::subxt_core::utils::AccountId32;
19831				pub type Amount = ::core::primitive::u128;
19832			}
19833			impl ::subxt::ext::subxt_core::events::StaticEvent for Transferred {
19834				const PALLET: &'static str = "Assets";
19835				const EVENT: &'static str = "Transferred";
19836			}
19837			#[derive(
19838				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19839				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19840				Debug,
19841			)]
19842			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19843			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19844			#[doc = "Some assets were destroyed."]
19845			pub struct Burned {
19846				pub asset_id: burned::AssetId,
19847				pub owner: burned::Owner,
19848				pub balance: burned::Balance,
19849			}
19850			pub mod burned {
19851				use super::runtime_types;
19852				pub type AssetId = ::core::primitive::u32;
19853				pub type Owner = ::subxt::ext::subxt_core::utils::AccountId32;
19854				pub type Balance = ::core::primitive::u128;
19855			}
19856			impl ::subxt::ext::subxt_core::events::StaticEvent for Burned {
19857				const PALLET: &'static str = "Assets";
19858				const EVENT: &'static str = "Burned";
19859			}
19860			#[derive(
19861				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19862				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19863				Debug,
19864			)]
19865			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19866			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19867			#[doc = "The management team changed."]
19868			pub struct TeamChanged {
19869				pub asset_id: team_changed::AssetId,
19870				pub issuer: team_changed::Issuer,
19871				pub admin: team_changed::Admin,
19872				pub freezer: team_changed::Freezer,
19873			}
19874			pub mod team_changed {
19875				use super::runtime_types;
19876				pub type AssetId = ::core::primitive::u32;
19877				pub type Issuer = ::subxt::ext::subxt_core::utils::AccountId32;
19878				pub type Admin = ::subxt::ext::subxt_core::utils::AccountId32;
19879				pub type Freezer = ::subxt::ext::subxt_core::utils::AccountId32;
19880			}
19881			impl ::subxt::ext::subxt_core::events::StaticEvent for TeamChanged {
19882				const PALLET: &'static str = "Assets";
19883				const EVENT: &'static str = "TeamChanged";
19884			}
19885			#[derive(
19886				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19887				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19888				Debug,
19889			)]
19890			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19891			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19892			#[doc = "The owner changed."]
19893			pub struct OwnerChanged {
19894				pub asset_id: owner_changed::AssetId,
19895				pub owner: owner_changed::Owner,
19896			}
19897			pub mod owner_changed {
19898				use super::runtime_types;
19899				pub type AssetId = ::core::primitive::u32;
19900				pub type Owner = ::subxt::ext::subxt_core::utils::AccountId32;
19901			}
19902			impl ::subxt::ext::subxt_core::events::StaticEvent for OwnerChanged {
19903				const PALLET: &'static str = "Assets";
19904				const EVENT: &'static str = "OwnerChanged";
19905			}
19906			#[derive(
19907				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19908				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19909				Debug,
19910			)]
19911			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19912			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19913			#[doc = "Some account `who` was frozen."]
19914			pub struct Frozen {
19915				pub asset_id: frozen::AssetId,
19916				pub who: frozen::Who,
19917			}
19918			pub mod frozen {
19919				use super::runtime_types;
19920				pub type AssetId = ::core::primitive::u32;
19921				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
19922			}
19923			impl ::subxt::ext::subxt_core::events::StaticEvent for Frozen {
19924				const PALLET: &'static str = "Assets";
19925				const EVENT: &'static str = "Frozen";
19926			}
19927			#[derive(
19928				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19929				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19930				Debug,
19931			)]
19932			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19933			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19934			#[doc = "Some account `who` was thawed."]
19935			pub struct Thawed {
19936				pub asset_id: thawed::AssetId,
19937				pub who: thawed::Who,
19938			}
19939			pub mod thawed {
19940				use super::runtime_types;
19941				pub type AssetId = ::core::primitive::u32;
19942				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
19943			}
19944			impl ::subxt::ext::subxt_core::events::StaticEvent for Thawed {
19945				const PALLET: &'static str = "Assets";
19946				const EVENT: &'static str = "Thawed";
19947			}
19948			#[derive(
19949				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19950				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19951				Debug,
19952			)]
19953			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19954			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19955			#[doc = "Some asset `asset_id` was frozen."]
19956			pub struct AssetFrozen {
19957				pub asset_id: asset_frozen::AssetId,
19958			}
19959			pub mod asset_frozen {
19960				use super::runtime_types;
19961				pub type AssetId = ::core::primitive::u32;
19962			}
19963			impl ::subxt::ext::subxt_core::events::StaticEvent for AssetFrozen {
19964				const PALLET: &'static str = "Assets";
19965				const EVENT: &'static str = "AssetFrozen";
19966			}
19967			#[derive(
19968				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19969				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19970				Debug,
19971			)]
19972			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19973			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19974			#[doc = "Some asset `asset_id` was thawed."]
19975			pub struct AssetThawed {
19976				pub asset_id: asset_thawed::AssetId,
19977			}
19978			pub mod asset_thawed {
19979				use super::runtime_types;
19980				pub type AssetId = ::core::primitive::u32;
19981			}
19982			impl ::subxt::ext::subxt_core::events::StaticEvent for AssetThawed {
19983				const PALLET: &'static str = "Assets";
19984				const EVENT: &'static str = "AssetThawed";
19985			}
19986			#[derive(
19987				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19988				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19989				Debug,
19990			)]
19991			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19992			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19993			#[doc = "Accounts were destroyed for given asset."]
19994			pub struct AccountsDestroyed {
19995				pub asset_id: accounts_destroyed::AssetId,
19996				pub accounts_destroyed: accounts_destroyed::AccountsDestroyed,
19997				pub accounts_remaining: accounts_destroyed::AccountsRemaining,
19998			}
19999			pub mod accounts_destroyed {
20000				use super::runtime_types;
20001				pub type AssetId = ::core::primitive::u32;
20002				pub type AccountsDestroyed = ::core::primitive::u32;
20003				pub type AccountsRemaining = ::core::primitive::u32;
20004			}
20005			impl ::subxt::ext::subxt_core::events::StaticEvent for AccountsDestroyed {
20006				const PALLET: &'static str = "Assets";
20007				const EVENT: &'static str = "AccountsDestroyed";
20008			}
20009			#[derive(
20010				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20011				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20012				Debug,
20013			)]
20014			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20015			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20016			#[doc = "Approvals were destroyed for given asset."]
20017			pub struct ApprovalsDestroyed {
20018				pub asset_id: approvals_destroyed::AssetId,
20019				pub approvals_destroyed: approvals_destroyed::ApprovalsDestroyed,
20020				pub approvals_remaining: approvals_destroyed::ApprovalsRemaining,
20021			}
20022			pub mod approvals_destroyed {
20023				use super::runtime_types;
20024				pub type AssetId = ::core::primitive::u32;
20025				pub type ApprovalsDestroyed = ::core::primitive::u32;
20026				pub type ApprovalsRemaining = ::core::primitive::u32;
20027			}
20028			impl ::subxt::ext::subxt_core::events::StaticEvent for ApprovalsDestroyed {
20029				const PALLET: &'static str = "Assets";
20030				const EVENT: &'static str = "ApprovalsDestroyed";
20031			}
20032			#[derive(
20033				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20034				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20035				Debug,
20036			)]
20037			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20038			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20039			#[doc = "An asset class is in the process of being destroyed."]
20040			pub struct DestructionStarted {
20041				pub asset_id: destruction_started::AssetId,
20042			}
20043			pub mod destruction_started {
20044				use super::runtime_types;
20045				pub type AssetId = ::core::primitive::u32;
20046			}
20047			impl ::subxt::ext::subxt_core::events::StaticEvent for DestructionStarted {
20048				const PALLET: &'static str = "Assets";
20049				const EVENT: &'static str = "DestructionStarted";
20050			}
20051			#[derive(
20052				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20053				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20054				Debug,
20055			)]
20056			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20057			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20058			#[doc = "An asset class was destroyed."]
20059			pub struct Destroyed {
20060				pub asset_id: destroyed::AssetId,
20061			}
20062			pub mod destroyed {
20063				use super::runtime_types;
20064				pub type AssetId = ::core::primitive::u32;
20065			}
20066			impl ::subxt::ext::subxt_core::events::StaticEvent for Destroyed {
20067				const PALLET: &'static str = "Assets";
20068				const EVENT: &'static str = "Destroyed";
20069			}
20070			#[derive(
20071				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20072				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20073				Debug,
20074			)]
20075			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20076			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20077			#[doc = "Some asset class was force-created."]
20078			pub struct ForceCreated {
20079				pub asset_id: force_created::AssetId,
20080				pub owner: force_created::Owner,
20081			}
20082			pub mod force_created {
20083				use super::runtime_types;
20084				pub type AssetId = ::core::primitive::u32;
20085				pub type Owner = ::subxt::ext::subxt_core::utils::AccountId32;
20086			}
20087			impl ::subxt::ext::subxt_core::events::StaticEvent for ForceCreated {
20088				const PALLET: &'static str = "Assets";
20089				const EVENT: &'static str = "ForceCreated";
20090			}
20091			#[derive(
20092				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20093				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20094				Debug,
20095			)]
20096			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20097			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20098			#[doc = "New metadata has been set for an asset."]
20099			pub struct MetadataSet {
20100				pub asset_id: metadata_set::AssetId,
20101				pub name: metadata_set::Name,
20102				pub symbol: metadata_set::Symbol,
20103				pub decimals: metadata_set::Decimals,
20104				pub is_frozen: metadata_set::IsFrozen,
20105			}
20106			pub mod metadata_set {
20107				use super::runtime_types;
20108				pub type AssetId = ::core::primitive::u32;
20109				pub type Name = ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
20110				pub type Symbol = ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
20111				pub type Decimals = ::core::primitive::u8;
20112				pub type IsFrozen = ::core::primitive::bool;
20113			}
20114			impl ::subxt::ext::subxt_core::events::StaticEvent for MetadataSet {
20115				const PALLET: &'static str = "Assets";
20116				const EVENT: &'static str = "MetadataSet";
20117			}
20118			#[derive(
20119				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20120				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20121				Debug,
20122			)]
20123			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20124			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20125			#[doc = "Metadata has been cleared for an asset."]
20126			pub struct MetadataCleared {
20127				pub asset_id: metadata_cleared::AssetId,
20128			}
20129			pub mod metadata_cleared {
20130				use super::runtime_types;
20131				pub type AssetId = ::core::primitive::u32;
20132			}
20133			impl ::subxt::ext::subxt_core::events::StaticEvent for MetadataCleared {
20134				const PALLET: &'static str = "Assets";
20135				const EVENT: &'static str = "MetadataCleared";
20136			}
20137			#[derive(
20138				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20139				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20140				Debug,
20141			)]
20142			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20143			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20144			#[doc = "(Additional) funds have been approved for transfer to a destination account."]
20145			pub struct ApprovedTransfer {
20146				pub asset_id: approved_transfer::AssetId,
20147				pub source: approved_transfer::Source,
20148				pub delegate: approved_transfer::Delegate,
20149				pub amount: approved_transfer::Amount,
20150			}
20151			pub mod approved_transfer {
20152				use super::runtime_types;
20153				pub type AssetId = ::core::primitive::u32;
20154				pub type Source = ::subxt::ext::subxt_core::utils::AccountId32;
20155				pub type Delegate = ::subxt::ext::subxt_core::utils::AccountId32;
20156				pub type Amount = ::core::primitive::u128;
20157			}
20158			impl ::subxt::ext::subxt_core::events::StaticEvent for ApprovedTransfer {
20159				const PALLET: &'static str = "Assets";
20160				const EVENT: &'static str = "ApprovedTransfer";
20161			}
20162			#[derive(
20163				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20164				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20165				Debug,
20166			)]
20167			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20168			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20169			#[doc = "An approval for account `delegate` was cancelled by `owner`."]
20170			pub struct ApprovalCancelled {
20171				pub asset_id: approval_cancelled::AssetId,
20172				pub owner: approval_cancelled::Owner,
20173				pub delegate: approval_cancelled::Delegate,
20174			}
20175			pub mod approval_cancelled {
20176				use super::runtime_types;
20177				pub type AssetId = ::core::primitive::u32;
20178				pub type Owner = ::subxt::ext::subxt_core::utils::AccountId32;
20179				pub type Delegate = ::subxt::ext::subxt_core::utils::AccountId32;
20180			}
20181			impl ::subxt::ext::subxt_core::events::StaticEvent for ApprovalCancelled {
20182				const PALLET: &'static str = "Assets";
20183				const EVENT: &'static str = "ApprovalCancelled";
20184			}
20185			#[derive(
20186				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20187				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20188				Debug,
20189			)]
20190			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20191			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20192			#[doc = "An `amount` was transferred in its entirety from `owner` to `destination` by"]
20193			#[doc = "the approved `delegate`."]
20194			pub struct TransferredApproved {
20195				pub asset_id: transferred_approved::AssetId,
20196				pub owner: transferred_approved::Owner,
20197				pub delegate: transferred_approved::Delegate,
20198				pub destination: transferred_approved::Destination,
20199				pub amount: transferred_approved::Amount,
20200			}
20201			pub mod transferred_approved {
20202				use super::runtime_types;
20203				pub type AssetId = ::core::primitive::u32;
20204				pub type Owner = ::subxt::ext::subxt_core::utils::AccountId32;
20205				pub type Delegate = ::subxt::ext::subxt_core::utils::AccountId32;
20206				pub type Destination = ::subxt::ext::subxt_core::utils::AccountId32;
20207				pub type Amount = ::core::primitive::u128;
20208			}
20209			impl ::subxt::ext::subxt_core::events::StaticEvent for TransferredApproved {
20210				const PALLET: &'static str = "Assets";
20211				const EVENT: &'static str = "TransferredApproved";
20212			}
20213			#[derive(
20214				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20215				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20216				Debug,
20217			)]
20218			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20219			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20220			#[doc = "An asset has had its attributes changed by the `Force` origin."]
20221			pub struct AssetStatusChanged {
20222				pub asset_id: asset_status_changed::AssetId,
20223			}
20224			pub mod asset_status_changed {
20225				use super::runtime_types;
20226				pub type AssetId = ::core::primitive::u32;
20227			}
20228			impl ::subxt::ext::subxt_core::events::StaticEvent for AssetStatusChanged {
20229				const PALLET: &'static str = "Assets";
20230				const EVENT: &'static str = "AssetStatusChanged";
20231			}
20232			#[derive(
20233				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20234				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20235				Debug,
20236			)]
20237			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20238			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20239			#[doc = "The min_balance of an asset has been updated by the asset owner."]
20240			pub struct AssetMinBalanceChanged {
20241				pub asset_id: asset_min_balance_changed::AssetId,
20242				pub new_min_balance: asset_min_balance_changed::NewMinBalance,
20243			}
20244			pub mod asset_min_balance_changed {
20245				use super::runtime_types;
20246				pub type AssetId = ::core::primitive::u32;
20247				pub type NewMinBalance = ::core::primitive::u128;
20248			}
20249			impl ::subxt::ext::subxt_core::events::StaticEvent for AssetMinBalanceChanged {
20250				const PALLET: &'static str = "Assets";
20251				const EVENT: &'static str = "AssetMinBalanceChanged";
20252			}
20253			#[derive(
20254				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20255				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20256				Debug,
20257			)]
20258			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20259			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20260			#[doc = "Some account `who` was created with a deposit from `depositor`."]
20261			pub struct Touched {
20262				pub asset_id: touched::AssetId,
20263				pub who: touched::Who,
20264				pub depositor: touched::Depositor,
20265			}
20266			pub mod touched {
20267				use super::runtime_types;
20268				pub type AssetId = ::core::primitive::u32;
20269				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
20270				pub type Depositor = ::subxt::ext::subxt_core::utils::AccountId32;
20271			}
20272			impl ::subxt::ext::subxt_core::events::StaticEvent for Touched {
20273				const PALLET: &'static str = "Assets";
20274				const EVENT: &'static str = "Touched";
20275			}
20276			#[derive(
20277				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20278				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20279				Debug,
20280			)]
20281			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20282			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20283			#[doc = "Some account `who` was blocked."]
20284			pub struct Blocked {
20285				pub asset_id: blocked::AssetId,
20286				pub who: blocked::Who,
20287			}
20288			pub mod blocked {
20289				use super::runtime_types;
20290				pub type AssetId = ::core::primitive::u32;
20291				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
20292			}
20293			impl ::subxt::ext::subxt_core::events::StaticEvent for Blocked {
20294				const PALLET: &'static str = "Assets";
20295				const EVENT: &'static str = "Blocked";
20296			}
20297			#[derive(
20298				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20299				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20300				Debug,
20301			)]
20302			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20303			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20304			#[doc = "Some assets were deposited (e.g. for transaction fees)."]
20305			pub struct Deposited {
20306				pub asset_id: deposited::AssetId,
20307				pub who: deposited::Who,
20308				pub amount: deposited::Amount,
20309			}
20310			pub mod deposited {
20311				use super::runtime_types;
20312				pub type AssetId = ::core::primitive::u32;
20313				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
20314				pub type Amount = ::core::primitive::u128;
20315			}
20316			impl ::subxt::ext::subxt_core::events::StaticEvent for Deposited {
20317				const PALLET: &'static str = "Assets";
20318				const EVENT: &'static str = "Deposited";
20319			}
20320			#[derive(
20321				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20322				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20323				Debug,
20324			)]
20325			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20326			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20327			#[doc = "Some assets were withdrawn from the account (e.g. for transaction fees)."]
20328			pub struct Withdrawn {
20329				pub asset_id: withdrawn::AssetId,
20330				pub who: withdrawn::Who,
20331				pub amount: withdrawn::Amount,
20332			}
20333			pub mod withdrawn {
20334				use super::runtime_types;
20335				pub type AssetId = ::core::primitive::u32;
20336				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
20337				pub type Amount = ::core::primitive::u128;
20338			}
20339			impl ::subxt::ext::subxt_core::events::StaticEvent for Withdrawn {
20340				const PALLET: &'static str = "Assets";
20341				const EVENT: &'static str = "Withdrawn";
20342			}
20343		}
20344		pub mod storage {
20345			use super::runtime_types;
20346			pub mod types {
20347				use super::runtime_types;
20348				pub mod asset {
20349					use super::runtime_types;
20350					pub type Asset = runtime_types::pallet_assets::types::AssetDetails<
20351						::core::primitive::u128,
20352						::subxt::ext::subxt_core::utils::AccountId32,
20353						::core::primitive::u128,
20354					>;
20355					pub type Param0 = ::core::primitive::u32;
20356				}
20357				pub mod account {
20358					use super::runtime_types;
20359					pub type Account = runtime_types::pallet_assets::types::AssetAccount<
20360						::core::primitive::u128,
20361						::core::primitive::u128,
20362						(),
20363						::subxt::ext::subxt_core::utils::AccountId32,
20364					>;
20365					pub type Param0 = ::core::primitive::u32;
20366					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
20367				}
20368				pub mod approvals {
20369					use super::runtime_types;
20370					pub type Approvals = runtime_types::pallet_assets::types::Approval<
20371						::core::primitive::u128,
20372						::core::primitive::u128,
20373					>;
20374					pub type Param0 = ::core::primitive::u32;
20375					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
20376					pub type Param2 = ::subxt::ext::subxt_core::utils::AccountId32;
20377				}
20378				pub mod metadata {
20379					use super::runtime_types;
20380					pub type Metadata = runtime_types::pallet_assets::types::AssetMetadata<
20381						::core::primitive::u128,
20382						runtime_types::bounded_collections::bounded_vec::BoundedVec<
20383							::core::primitive::u8,
20384						>,
20385					>;
20386					pub type Param0 = ::core::primitive::u32;
20387				}
20388				pub mod next_asset_id {
20389					use super::runtime_types;
20390					pub type NextAssetId = ::core::primitive::u32;
20391				}
20392			}
20393			pub struct StorageApi;
20394			impl StorageApi {
20395				#[doc = " Details of an asset."]
20396				pub fn asset_iter(
20397					&self,
20398				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20399					(),
20400					types::asset::Asset,
20401					(),
20402					(),
20403					::subxt::ext::subxt_core::utils::Yes,
20404				> {
20405					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20406						"Assets",
20407						"Asset",
20408						(),
20409						[
20410							159u8, 234u8, 177u8, 31u8, 58u8, 51u8, 173u8, 184u8, 250u8, 169u8,
20411							246u8, 122u8, 54u8, 19u8, 232u8, 60u8, 0u8, 165u8, 12u8, 101u8, 93u8,
20412							169u8, 23u8, 34u8, 154u8, 44u8, 134u8, 128u8, 97u8, 71u8, 167u8, 224u8,
20413						],
20414					)
20415				}
20416				#[doc = " Details of an asset."]
20417				pub fn asset(
20418					&self,
20419					_0: types::asset::Param0,
20420				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20421					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20422						types::asset::Param0,
20423					>,
20424					types::asset::Asset,
20425					::subxt::ext::subxt_core::utils::Yes,
20426					(),
20427					(),
20428				> {
20429					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20430						"Assets",
20431						"Asset",
20432						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
20433						[
20434							159u8, 234u8, 177u8, 31u8, 58u8, 51u8, 173u8, 184u8, 250u8, 169u8,
20435							246u8, 122u8, 54u8, 19u8, 232u8, 60u8, 0u8, 165u8, 12u8, 101u8, 93u8,
20436							169u8, 23u8, 34u8, 154u8, 44u8, 134u8, 128u8, 97u8, 71u8, 167u8, 224u8,
20437						],
20438					)
20439				}
20440				#[doc = " The holdings of a specific account for a specific asset."]
20441				pub fn account_iter(
20442					&self,
20443				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20444					(),
20445					types::account::Account,
20446					(),
20447					(),
20448					::subxt::ext::subxt_core::utils::Yes,
20449				> {
20450					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20451						"Assets",
20452						"Account",
20453						(),
20454						[
20455							188u8, 242u8, 133u8, 64u8, 0u8, 11u8, 57u8, 146u8, 60u8, 137u8, 35u8,
20456							23u8, 183u8, 200u8, 242u8, 8u8, 94u8, 158u8, 218u8, 13u8, 104u8, 215u8,
20457							87u8, 86u8, 69u8, 200u8, 11u8, 51u8, 6u8, 65u8, 216u8, 102u8,
20458						],
20459					)
20460				}
20461				#[doc = " The holdings of a specific account for a specific asset."]
20462				pub fn account_iter1(
20463					&self,
20464					_0: types::account::Param0,
20465				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20466					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20467						types::account::Param0,
20468					>,
20469					types::account::Account,
20470					(),
20471					(),
20472					::subxt::ext::subxt_core::utils::Yes,
20473				> {
20474					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20475						"Assets",
20476						"Account",
20477						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
20478						[
20479							188u8, 242u8, 133u8, 64u8, 0u8, 11u8, 57u8, 146u8, 60u8, 137u8, 35u8,
20480							23u8, 183u8, 200u8, 242u8, 8u8, 94u8, 158u8, 218u8, 13u8, 104u8, 215u8,
20481							87u8, 86u8, 69u8, 200u8, 11u8, 51u8, 6u8, 65u8, 216u8, 102u8,
20482						],
20483					)
20484				}
20485				#[doc = " The holdings of a specific account for a specific asset."]
20486				pub fn account(
20487					&self,
20488					_0: types::account::Param0,
20489					_1: types::account::Param1,
20490				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20491					(
20492						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20493							types::account::Param0,
20494						>,
20495						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20496							types::account::Param1,
20497						>,
20498					),
20499					types::account::Account,
20500					::subxt::ext::subxt_core::utils::Yes,
20501					(),
20502					(),
20503				> {
20504					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20505						"Assets",
20506						"Account",
20507						(
20508							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
20509							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
20510						),
20511						[
20512							188u8, 242u8, 133u8, 64u8, 0u8, 11u8, 57u8, 146u8, 60u8, 137u8, 35u8,
20513							23u8, 183u8, 200u8, 242u8, 8u8, 94u8, 158u8, 218u8, 13u8, 104u8, 215u8,
20514							87u8, 86u8, 69u8, 200u8, 11u8, 51u8, 6u8, 65u8, 216u8, 102u8,
20515						],
20516					)
20517				}
20518				#[doc = " Approved balance transfers. First balance is the amount approved for transfer. Second"]
20519				#[doc = " is the amount of `T::Currency` reserved for storing this."]
20520				#[doc = " First key is the asset ID, second key is the owner and third key is the delegate."]
20521				pub fn approvals_iter(
20522					&self,
20523				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20524					(),
20525					types::approvals::Approvals,
20526					(),
20527					(),
20528					::subxt::ext::subxt_core::utils::Yes,
20529				> {
20530					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20531						"Assets",
20532						"Approvals",
20533						(),
20534						[
20535							122u8, 92u8, 51u8, 45u8, 200u8, 200u8, 182u8, 208u8, 18u8, 47u8, 139u8,
20536							68u8, 254u8, 15u8, 152u8, 110u8, 3u8, 138u8, 13u8, 183u8, 5u8, 185u8,
20537							218u8, 44u8, 93u8, 28u8, 56u8, 189u8, 125u8, 127u8, 123u8, 8u8,
20538						],
20539					)
20540				}
20541				#[doc = " Approved balance transfers. First balance is the amount approved for transfer. Second"]
20542				#[doc = " is the amount of `T::Currency` reserved for storing this."]
20543				#[doc = " First key is the asset ID, second key is the owner and third key is the delegate."]
20544				pub fn approvals_iter1(
20545					&self,
20546					_0: types::approvals::Param0,
20547				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20548					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20549						types::approvals::Param0,
20550					>,
20551					types::approvals::Approvals,
20552					(),
20553					(),
20554					::subxt::ext::subxt_core::utils::Yes,
20555				> {
20556					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20557						"Assets",
20558						"Approvals",
20559						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
20560						[
20561							122u8, 92u8, 51u8, 45u8, 200u8, 200u8, 182u8, 208u8, 18u8, 47u8, 139u8,
20562							68u8, 254u8, 15u8, 152u8, 110u8, 3u8, 138u8, 13u8, 183u8, 5u8, 185u8,
20563							218u8, 44u8, 93u8, 28u8, 56u8, 189u8, 125u8, 127u8, 123u8, 8u8,
20564						],
20565					)
20566				}
20567				#[doc = " Approved balance transfers. First balance is the amount approved for transfer. Second"]
20568				#[doc = " is the amount of `T::Currency` reserved for storing this."]
20569				#[doc = " First key is the asset ID, second key is the owner and third key is the delegate."]
20570				pub fn approvals_iter2(
20571					&self,
20572					_0: types::approvals::Param0,
20573					_1: types::approvals::Param1,
20574				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20575					(
20576						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20577							types::approvals::Param0,
20578						>,
20579						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20580							types::approvals::Param1,
20581						>,
20582					),
20583					types::approvals::Approvals,
20584					(),
20585					(),
20586					::subxt::ext::subxt_core::utils::Yes,
20587				> {
20588					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20589						"Assets",
20590						"Approvals",
20591						(
20592							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
20593							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
20594						),
20595						[
20596							122u8, 92u8, 51u8, 45u8, 200u8, 200u8, 182u8, 208u8, 18u8, 47u8, 139u8,
20597							68u8, 254u8, 15u8, 152u8, 110u8, 3u8, 138u8, 13u8, 183u8, 5u8, 185u8,
20598							218u8, 44u8, 93u8, 28u8, 56u8, 189u8, 125u8, 127u8, 123u8, 8u8,
20599						],
20600					)
20601				}
20602				#[doc = " Approved balance transfers. First balance is the amount approved for transfer. Second"]
20603				#[doc = " is the amount of `T::Currency` reserved for storing this."]
20604				#[doc = " First key is the asset ID, second key is the owner and third key is the delegate."]
20605				pub fn approvals(
20606					&self,
20607					_0: types::approvals::Param0,
20608					_1: types::approvals::Param1,
20609					_2: types::approvals::Param2,
20610				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20611					(
20612						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20613							types::approvals::Param0,
20614						>,
20615						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20616							types::approvals::Param1,
20617						>,
20618						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20619							types::approvals::Param2,
20620						>,
20621					),
20622					types::approvals::Approvals,
20623					::subxt::ext::subxt_core::utils::Yes,
20624					(),
20625					(),
20626				> {
20627					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20628						"Assets",
20629						"Approvals",
20630						(
20631							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
20632							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
20633							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_2),
20634						),
20635						[
20636							122u8, 92u8, 51u8, 45u8, 200u8, 200u8, 182u8, 208u8, 18u8, 47u8, 139u8,
20637							68u8, 254u8, 15u8, 152u8, 110u8, 3u8, 138u8, 13u8, 183u8, 5u8, 185u8,
20638							218u8, 44u8, 93u8, 28u8, 56u8, 189u8, 125u8, 127u8, 123u8, 8u8,
20639						],
20640					)
20641				}
20642				#[doc = " Metadata of an asset."]
20643				pub fn metadata_iter(
20644					&self,
20645				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20646					(),
20647					types::metadata::Metadata,
20648					(),
20649					::subxt::ext::subxt_core::utils::Yes,
20650					::subxt::ext::subxt_core::utils::Yes,
20651				> {
20652					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20653						"Assets",
20654						"Metadata",
20655						(),
20656						[
20657							129u8, 202u8, 244u8, 77u8, 55u8, 81u8, 86u8, 106u8, 20u8, 153u8, 209u8,
20658							69u8, 199u8, 107u8, 111u8, 49u8, 88u8, 157u8, 84u8, 41u8, 198u8, 190u8,
20659							234u8, 218u8, 68u8, 207u8, 87u8, 217u8, 73u8, 66u8, 211u8, 163u8,
20660						],
20661					)
20662				}
20663				#[doc = " Metadata of an asset."]
20664				pub fn metadata(
20665					&self,
20666					_0: types::metadata::Param0,
20667				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20668					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20669						types::metadata::Param0,
20670					>,
20671					types::metadata::Metadata,
20672					::subxt::ext::subxt_core::utils::Yes,
20673					::subxt::ext::subxt_core::utils::Yes,
20674					(),
20675				> {
20676					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20677						"Assets",
20678						"Metadata",
20679						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
20680						[
20681							129u8, 202u8, 244u8, 77u8, 55u8, 81u8, 86u8, 106u8, 20u8, 153u8, 209u8,
20682							69u8, 199u8, 107u8, 111u8, 49u8, 88u8, 157u8, 84u8, 41u8, 198u8, 190u8,
20683							234u8, 218u8, 68u8, 207u8, 87u8, 217u8, 73u8, 66u8, 211u8, 163u8,
20684						],
20685					)
20686				}
20687				#[doc = " The asset ID enforced for the next asset creation, if any present. Otherwise, this storage"]
20688				#[doc = " item has no effect."]
20689				#[doc = ""]
20690				#[doc = " This can be useful for setting up constraints for IDs of the new assets. For example, by"]
20691				#[doc = " providing an initial [`NextAssetId`] and using the [`crate::AutoIncAssetId`] callback, an"]
20692				#[doc = " auto-increment model can be applied to all new asset IDs."]
20693				#[doc = ""]
20694				#[doc = " The initial next asset ID can be set using the [`GenesisConfig`] or the"]
20695				#[doc = " [SetNextAssetId](`migration::next_asset_id::SetNextAssetId`) migration."]
20696				pub fn next_asset_id(
20697					&self,
20698				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20699					(),
20700					types::next_asset_id::NextAssetId,
20701					::subxt::ext::subxt_core::utils::Yes,
20702					(),
20703					(),
20704				> {
20705					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20706						"Assets",
20707						"NextAssetId",
20708						(),
20709						[
20710							15u8, 61u8, 40u8, 217u8, 236u8, 34u8, 95u8, 53u8, 159u8, 182u8, 70u8,
20711							251u8, 234u8, 188u8, 115u8, 23u8, 199u8, 118u8, 220u8, 40u8, 147u8,
20712							174u8, 247u8, 129u8, 246u8, 107u8, 178u8, 43u8, 8u8, 19u8, 74u8, 116u8,
20713						],
20714					)
20715				}
20716			}
20717		}
20718		pub mod constants {
20719			use super::runtime_types;
20720			pub struct ConstantsApi;
20721			impl ConstantsApi {
20722				#[doc = " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call."]
20723				#[doc = ""]
20724				#[doc = " Must be configured to result in a weight that makes each call fit in a block."]
20725				pub fn remove_items_limit(
20726					&self,
20727				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20728					::core::primitive::u32,
20729				> {
20730					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20731						"Assets",
20732						"RemoveItemsLimit",
20733						[
20734							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
20735							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
20736							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
20737							145u8,
20738						],
20739					)
20740				}
20741				#[doc = " The basic amount of funds that must be reserved for an asset."]
20742				pub fn asset_deposit(
20743					&self,
20744				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20745					::core::primitive::u128,
20746				> {
20747					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20748						"Assets",
20749						"AssetDeposit",
20750						[
20751							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
20752							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
20753							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
20754						],
20755					)
20756				}
20757				#[doc = " The amount of funds that must be reserved for a non-provider asset account to be"]
20758				#[doc = " maintained."]
20759				pub fn asset_account_deposit(
20760					&self,
20761				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20762					::core::primitive::u128,
20763				> {
20764					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20765						"Assets",
20766						"AssetAccountDeposit",
20767						[
20768							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
20769							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
20770							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
20771						],
20772					)
20773				}
20774				#[doc = " The basic amount of funds that must be reserved when adding metadata to your asset."]
20775				pub fn metadata_deposit_base(
20776					&self,
20777				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20778					::core::primitive::u128,
20779				> {
20780					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20781						"Assets",
20782						"MetadataDepositBase",
20783						[
20784							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
20785							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
20786							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
20787						],
20788					)
20789				}
20790				#[doc = " The additional funds that must be reserved for the number of bytes you store in your"]
20791				#[doc = " metadata."]
20792				pub fn metadata_deposit_per_byte(
20793					&self,
20794				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20795					::core::primitive::u128,
20796				> {
20797					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20798						"Assets",
20799						"MetadataDepositPerByte",
20800						[
20801							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
20802							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
20803							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
20804						],
20805					)
20806				}
20807				#[doc = " The amount of funds that must be reserved when creating a new approval."]
20808				pub fn approval_deposit(
20809					&self,
20810				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20811					::core::primitive::u128,
20812				> {
20813					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20814						"Assets",
20815						"ApprovalDeposit",
20816						[
20817							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
20818							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
20819							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
20820						],
20821					)
20822				}
20823				#[doc = " The maximum length of a name or symbol stored on-chain."]
20824				pub fn string_limit(
20825					&self,
20826				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20827					::core::primitive::u32,
20828				> {
20829					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20830						"Assets",
20831						"StringLimit",
20832						[
20833							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
20834							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
20835							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
20836							145u8,
20837						],
20838					)
20839				}
20840			}
20841		}
20842	}
20843	pub mod assets_holder {
20844		use super::{root_mod, runtime_types};
20845		#[doc = "The `Error` enum of this pallet."]
20846		pub type Error = runtime_types::pallet_assets_holder::pallet::Error;
20847		#[doc = "The `Event` enum of this pallet"]
20848		pub type Event = runtime_types::pallet_assets_holder::pallet::Event;
20849		pub mod events {
20850			use super::runtime_types;
20851			#[derive(
20852				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20853				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20854				Debug,
20855			)]
20856			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20857			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20858			#[doc = "`who`s balance on hold was increased by `amount`."]
20859			pub struct Held {
20860				pub who: held::Who,
20861				pub asset_id: held::AssetId,
20862				pub reason: held::Reason,
20863				pub amount: held::Amount,
20864			}
20865			pub mod held {
20866				use super::runtime_types;
20867				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
20868				pub type AssetId = ::core::primitive::u32;
20869				pub type Reason = runtime_types::quantus_runtime::RuntimeHoldReason;
20870				pub type Amount = ::core::primitive::u128;
20871			}
20872			impl ::subxt::ext::subxt_core::events::StaticEvent for Held {
20873				const PALLET: &'static str = "AssetsHolder";
20874				const EVENT: &'static str = "Held";
20875			}
20876			#[derive(
20877				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20878				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20879				Debug,
20880			)]
20881			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20882			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20883			#[doc = "`who`s balance on hold was decreased by `amount`."]
20884			pub struct Released {
20885				pub who: released::Who,
20886				pub asset_id: released::AssetId,
20887				pub reason: released::Reason,
20888				pub amount: released::Amount,
20889			}
20890			pub mod released {
20891				use super::runtime_types;
20892				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
20893				pub type AssetId = ::core::primitive::u32;
20894				pub type Reason = runtime_types::quantus_runtime::RuntimeHoldReason;
20895				pub type Amount = ::core::primitive::u128;
20896			}
20897			impl ::subxt::ext::subxt_core::events::StaticEvent for Released {
20898				const PALLET: &'static str = "AssetsHolder";
20899				const EVENT: &'static str = "Released";
20900			}
20901			#[derive(
20902				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20903				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20904				Debug,
20905			)]
20906			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20907			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20908			#[doc = "`who`s balance on hold was burned by `amount`."]
20909			pub struct Burned {
20910				pub who: burned::Who,
20911				pub asset_id: burned::AssetId,
20912				pub reason: burned::Reason,
20913				pub amount: burned::Amount,
20914			}
20915			pub mod burned {
20916				use super::runtime_types;
20917				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
20918				pub type AssetId = ::core::primitive::u32;
20919				pub type Reason = runtime_types::quantus_runtime::RuntimeHoldReason;
20920				pub type Amount = ::core::primitive::u128;
20921			}
20922			impl ::subxt::ext::subxt_core::events::StaticEvent for Burned {
20923				const PALLET: &'static str = "AssetsHolder";
20924				const EVENT: &'static str = "Burned";
20925			}
20926		}
20927		pub mod storage {
20928			use super::runtime_types;
20929			pub mod types {
20930				use super::runtime_types;
20931				pub mod holds {
20932					use super::runtime_types;
20933					pub type Holds = runtime_types::bounded_collections::bounded_vec::BoundedVec<
20934						runtime_types::frame_support::traits::tokens::misc::IdAmount<
20935							runtime_types::quantus_runtime::RuntimeHoldReason,
20936							::core::primitive::u128,
20937						>,
20938					>;
20939					pub type Param0 = ::core::primitive::u32;
20940					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
20941				}
20942				pub mod balances_on_hold {
20943					use super::runtime_types;
20944					pub type BalancesOnHold = ::core::primitive::u128;
20945					pub type Param0 = ::core::primitive::u32;
20946					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
20947				}
20948			}
20949			pub struct StorageApi;
20950			impl StorageApi {
20951				#[doc = " A map that stores holds applied on an account for a given AssetId."]
20952				pub fn holds_iter(
20953					&self,
20954				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20955					(),
20956					types::holds::Holds,
20957					(),
20958					::subxt::ext::subxt_core::utils::Yes,
20959					::subxt::ext::subxt_core::utils::Yes,
20960				> {
20961					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20962						"AssetsHolder",
20963						"Holds",
20964						(),
20965						[
20966							131u8, 85u8, 98u8, 45u8, 101u8, 28u8, 94u8, 4u8, 1u8, 137u8, 126u8,
20967							129u8, 241u8, 99u8, 206u8, 145u8, 177u8, 135u8, 27u8, 52u8, 122u8,
20968							94u8, 241u8, 29u8, 253u8, 154u8, 158u8, 229u8, 208u8, 129u8, 29u8,
20969							41u8,
20970						],
20971					)
20972				}
20973				#[doc = " A map that stores holds applied on an account for a given AssetId."]
20974				pub fn holds_iter1(
20975					&self,
20976					_0: types::holds::Param0,
20977				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20978					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20979						types::holds::Param0,
20980					>,
20981					types::holds::Holds,
20982					(),
20983					::subxt::ext::subxt_core::utils::Yes,
20984					::subxt::ext::subxt_core::utils::Yes,
20985				> {
20986					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20987						"AssetsHolder",
20988						"Holds",
20989						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
20990						[
20991							131u8, 85u8, 98u8, 45u8, 101u8, 28u8, 94u8, 4u8, 1u8, 137u8, 126u8,
20992							129u8, 241u8, 99u8, 206u8, 145u8, 177u8, 135u8, 27u8, 52u8, 122u8,
20993							94u8, 241u8, 29u8, 253u8, 154u8, 158u8, 229u8, 208u8, 129u8, 29u8,
20994							41u8,
20995						],
20996					)
20997				}
20998				#[doc = " A map that stores holds applied on an account for a given AssetId."]
20999				pub fn holds(
21000					&self,
21001					_0: types::holds::Param0,
21002					_1: types::holds::Param1,
21003				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
21004					(
21005						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
21006							types::holds::Param0,
21007						>,
21008						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
21009							types::holds::Param1,
21010						>,
21011					),
21012					types::holds::Holds,
21013					::subxt::ext::subxt_core::utils::Yes,
21014					::subxt::ext::subxt_core::utils::Yes,
21015					(),
21016				> {
21017					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
21018						"AssetsHolder",
21019						"Holds",
21020						(
21021							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
21022							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
21023						),
21024						[
21025							131u8, 85u8, 98u8, 45u8, 101u8, 28u8, 94u8, 4u8, 1u8, 137u8, 126u8,
21026							129u8, 241u8, 99u8, 206u8, 145u8, 177u8, 135u8, 27u8, 52u8, 122u8,
21027							94u8, 241u8, 29u8, 253u8, 154u8, 158u8, 229u8, 208u8, 129u8, 29u8,
21028							41u8,
21029						],
21030					)
21031				}
21032				#[doc = " A map that stores the current total balance on hold for every account on a given AssetId."]
21033				pub fn balances_on_hold_iter(
21034					&self,
21035				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
21036					(),
21037					types::balances_on_hold::BalancesOnHold,
21038					(),
21039					(),
21040					::subxt::ext::subxt_core::utils::Yes,
21041				> {
21042					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
21043						"AssetsHolder",
21044						"BalancesOnHold",
21045						(),
21046						[
21047							39u8, 48u8, 137u8, 178u8, 85u8, 119u8, 90u8, 207u8, 72u8, 232u8, 81u8,
21048							190u8, 234u8, 32u8, 246u8, 199u8, 37u8, 220u8, 0u8, 216u8, 47u8, 241u8,
21049							9u8, 107u8, 9u8, 130u8, 13u8, 232u8, 142u8, 226u8, 77u8, 179u8,
21050						],
21051					)
21052				}
21053				#[doc = " A map that stores the current total balance on hold for every account on a given AssetId."]
21054				pub fn balances_on_hold_iter1(
21055					&self,
21056					_0: types::balances_on_hold::Param0,
21057				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
21058					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
21059						types::balances_on_hold::Param0,
21060					>,
21061					types::balances_on_hold::BalancesOnHold,
21062					(),
21063					(),
21064					::subxt::ext::subxt_core::utils::Yes,
21065				> {
21066					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
21067						"AssetsHolder",
21068						"BalancesOnHold",
21069						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
21070						[
21071							39u8, 48u8, 137u8, 178u8, 85u8, 119u8, 90u8, 207u8, 72u8, 232u8, 81u8,
21072							190u8, 234u8, 32u8, 246u8, 199u8, 37u8, 220u8, 0u8, 216u8, 47u8, 241u8,
21073							9u8, 107u8, 9u8, 130u8, 13u8, 232u8, 142u8, 226u8, 77u8, 179u8,
21074						],
21075					)
21076				}
21077				#[doc = " A map that stores the current total balance on hold for every account on a given AssetId."]
21078				pub fn balances_on_hold(
21079					&self,
21080					_0: types::balances_on_hold::Param0,
21081					_1: types::balances_on_hold::Param1,
21082				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
21083					(
21084						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
21085							types::balances_on_hold::Param0,
21086						>,
21087						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
21088							types::balances_on_hold::Param1,
21089						>,
21090					),
21091					types::balances_on_hold::BalancesOnHold,
21092					::subxt::ext::subxt_core::utils::Yes,
21093					(),
21094					(),
21095				> {
21096					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
21097						"AssetsHolder",
21098						"BalancesOnHold",
21099						(
21100							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
21101							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
21102						),
21103						[
21104							39u8, 48u8, 137u8, 178u8, 85u8, 119u8, 90u8, 207u8, 72u8, 232u8, 81u8,
21105							190u8, 234u8, 32u8, 246u8, 199u8, 37u8, 220u8, 0u8, 216u8, 47u8, 241u8,
21106							9u8, 107u8, 9u8, 130u8, 13u8, 232u8, 142u8, 226u8, 77u8, 179u8,
21107						],
21108					)
21109				}
21110			}
21111		}
21112	}
21113	pub mod runtime_types {
21114		use super::runtime_types;
21115		pub mod bounded_collections {
21116			use super::runtime_types;
21117			pub mod bounded_vec {
21118				use super::runtime_types;
21119				#[derive(
21120					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21121					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21122					Debug,
21123				)]
21124				#[decode_as_type(
21125					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21126				)]
21127				#[encode_as_type(
21128					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21129				)]
21130				pub struct BoundedVec<_0>(pub ::subxt::ext::subxt_core::alloc::vec::Vec<_0>);
21131			}
21132			pub mod weak_bounded_vec {
21133				use super::runtime_types;
21134				#[derive(
21135					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21136					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21137					Debug,
21138				)]
21139				#[decode_as_type(
21140					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21141				)]
21142				#[encode_as_type(
21143					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21144				)]
21145				pub struct WeakBoundedVec<_0>(pub ::subxt::ext::subxt_core::alloc::vec::Vec<_0>);
21146			}
21147		}
21148		pub mod frame_metadata_hash_extension {
21149			use super::runtime_types;
21150			#[derive(
21151				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21152				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21153				Debug,
21154			)]
21155			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21156			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21157			pub struct CheckMetadataHash {
21158				pub mode: runtime_types::frame_metadata_hash_extension::Mode,
21159			}
21160			#[derive(
21161				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21162				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21163				Debug,
21164			)]
21165			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21166			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21167			pub enum Mode {
21168				#[codec(index = 0)]
21169				Disabled,
21170				#[codec(index = 1)]
21171				Enabled,
21172			}
21173		}
21174		pub mod frame_support {
21175			use super::runtime_types;
21176			pub mod dispatch {
21177				use super::runtime_types;
21178				#[derive(
21179					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21180					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21181					Debug,
21182				)]
21183				#[decode_as_type(
21184					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21185				)]
21186				#[encode_as_type(
21187					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21188				)]
21189				pub enum DispatchClass {
21190					#[codec(index = 0)]
21191					Normal,
21192					#[codec(index = 1)]
21193					Operational,
21194					#[codec(index = 2)]
21195					Mandatory,
21196				}
21197				#[derive(
21198					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21199					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21200					Debug,
21201				)]
21202				#[decode_as_type(
21203					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21204				)]
21205				#[encode_as_type(
21206					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21207				)]
21208				pub enum Pays {
21209					#[codec(index = 0)]
21210					Yes,
21211					#[codec(index = 1)]
21212					No,
21213				}
21214				#[derive(
21215					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21216					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21217					Debug,
21218				)]
21219				#[decode_as_type(
21220					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21221				)]
21222				#[encode_as_type(
21223					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21224				)]
21225				pub struct PerDispatchClass<_0> {
21226					pub normal: _0,
21227					pub operational: _0,
21228					pub mandatory: _0,
21229				}
21230				#[derive(
21231					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21232					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21233					Debug,
21234				)]
21235				#[decode_as_type(
21236					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21237				)]
21238				#[encode_as_type(
21239					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21240				)]
21241				pub struct PostDispatchInfo {
21242					pub actual_weight:
21243						::core::option::Option<runtime_types::sp_weights::weight_v2::Weight>,
21244					pub pays_fee: runtime_types::frame_support::dispatch::Pays,
21245				}
21246				#[derive(
21247					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21248					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21249					Debug,
21250				)]
21251				#[decode_as_type(
21252					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21253				)]
21254				#[encode_as_type(
21255					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21256				)]
21257				pub enum RawOrigin<_0> {
21258					#[codec(index = 0)]
21259					Root,
21260					#[codec(index = 1)]
21261					Signed(_0),
21262					#[codec(index = 2)]
21263					None,
21264					#[codec(index = 3)]
21265					Authorized,
21266				}
21267			}
21268			pub mod traits {
21269				use super::runtime_types;
21270				pub mod preimages {
21271					use super::runtime_types;
21272					#[derive(
21273						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21274						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21275						Debug,
21276					)]
21277					#[decode_as_type(
21278						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21279					)]
21280					#[encode_as_type(
21281						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21282					)]
21283					pub enum Bounded<_0, _1> {
21284						#[codec(index = 0)]
21285						Legacy {
21286							hash: ::subxt::ext::subxt_core::utils::H256,
21287						},
21288						#[codec(index = 1)]
21289						Inline(
21290							runtime_types::bounded_collections::bounded_vec::BoundedVec<
21291								::core::primitive::u8,
21292							>,
21293						),
21294						#[codec(index = 2)]
21295						Lookup {
21296							hash: ::subxt::ext::subxt_core::utils::H256,
21297							len: ::core::primitive::u32,
21298						},
21299						__Ignore(::core::marker::PhantomData<(_0, _1)>),
21300					}
21301				}
21302				pub mod schedule {
21303					use super::runtime_types;
21304					#[derive(
21305						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21306						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21307						Debug,
21308					)]
21309					#[decode_as_type(
21310						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21311					)]
21312					#[encode_as_type(
21313						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21314					)]
21315					pub enum DispatchTime<_0> {
21316						#[codec(index = 0)]
21317						At(_0),
21318						#[codec(index = 1)]
21319						After(_0),
21320					}
21321				}
21322				pub mod tokens {
21323					use super::runtime_types;
21324					pub mod misc {
21325						use super::runtime_types;
21326						#[derive(
21327							:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21328							:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21329							Debug,
21330						)]
21331						#[decode_as_type(
21332							crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21333						)]
21334						#[encode_as_type(
21335							crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21336						)]
21337						pub enum BalanceStatus {
21338							#[codec(index = 0)]
21339							Free,
21340							#[codec(index = 1)]
21341							Reserved,
21342						}
21343						#[derive(
21344							:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21345							:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21346							Debug,
21347						)]
21348						#[decode_as_type(
21349							crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21350						)]
21351						#[encode_as_type(
21352							crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21353						)]
21354						pub struct IdAmount<_0, _1> {
21355							pub id: _0,
21356							pub amount: _1,
21357						}
21358					}
21359				}
21360			}
21361			#[derive(
21362				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21363				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21364				Debug,
21365			)]
21366			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21367			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21368			pub struct PalletId(pub [::core::primitive::u8; 8usize]);
21369		}
21370		pub mod frame_system {
21371			use super::runtime_types;
21372			pub mod extensions {
21373				use super::runtime_types;
21374				pub mod check_genesis {
21375					use super::runtime_types;
21376					#[derive(
21377						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21378						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21379						Debug,
21380					)]
21381					#[decode_as_type(
21382						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21383					)]
21384					#[encode_as_type(
21385						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21386					)]
21387					pub struct CheckGenesis;
21388				}
21389				pub mod check_mortality {
21390					use super::runtime_types;
21391					#[derive(
21392						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21393						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21394						Debug,
21395					)]
21396					#[decode_as_type(
21397						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21398					)]
21399					#[encode_as_type(
21400						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21401					)]
21402					pub struct CheckMortality(pub runtime_types::sp_runtime::generic::era::Era);
21403				}
21404				pub mod check_non_zero_sender {
21405					use super::runtime_types;
21406					#[derive(
21407						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21408						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21409						Debug,
21410					)]
21411					#[decode_as_type(
21412						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21413					)]
21414					#[encode_as_type(
21415						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21416					)]
21417					pub struct CheckNonZeroSender;
21418				}
21419				pub mod check_nonce {
21420					use super::runtime_types;
21421					#[derive(
21422						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21423						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21424						Debug,
21425					)]
21426					#[decode_as_type(
21427						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21428					)]
21429					#[encode_as_type(
21430						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21431					)]
21432					pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32);
21433				}
21434				pub mod check_spec_version {
21435					use super::runtime_types;
21436					#[derive(
21437						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21438						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21439						Debug,
21440					)]
21441					#[decode_as_type(
21442						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21443					)]
21444					#[encode_as_type(
21445						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21446					)]
21447					pub struct CheckSpecVersion;
21448				}
21449				pub mod check_tx_version {
21450					use super::runtime_types;
21451					#[derive(
21452						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21453						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21454						Debug,
21455					)]
21456					#[decode_as_type(
21457						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21458					)]
21459					#[encode_as_type(
21460						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21461					)]
21462					pub struct CheckTxVersion;
21463				}
21464				pub mod check_weight {
21465					use super::runtime_types;
21466					#[derive(
21467						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21468						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21469						Debug,
21470					)]
21471					#[decode_as_type(
21472						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21473					)]
21474					#[encode_as_type(
21475						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21476					)]
21477					pub struct CheckWeight;
21478				}
21479			}
21480			pub mod limits {
21481				use super::runtime_types;
21482				#[derive(
21483					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21484					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21485					Debug,
21486				)]
21487				#[decode_as_type(
21488					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21489				)]
21490				#[encode_as_type(
21491					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21492				)]
21493				pub struct BlockLength {
21494					pub max: runtime_types::frame_support::dispatch::PerDispatchClass<
21495						::core::primitive::u32,
21496					>,
21497				}
21498				#[derive(
21499					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21500					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21501					Debug,
21502				)]
21503				#[decode_as_type(
21504					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21505				)]
21506				#[encode_as_type(
21507					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21508				)]
21509				pub struct BlockWeights {
21510					pub base_block: runtime_types::sp_weights::weight_v2::Weight,
21511					pub max_block: runtime_types::sp_weights::weight_v2::Weight,
21512					pub per_class: runtime_types::frame_support::dispatch::PerDispatchClass<
21513						runtime_types::frame_system::limits::WeightsPerClass,
21514					>,
21515				}
21516				#[derive(
21517					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21518					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21519					Debug,
21520				)]
21521				#[decode_as_type(
21522					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21523				)]
21524				#[encode_as_type(
21525					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21526				)]
21527				pub struct WeightsPerClass {
21528					pub base_extrinsic: runtime_types::sp_weights::weight_v2::Weight,
21529					pub max_extrinsic:
21530						::core::option::Option<runtime_types::sp_weights::weight_v2::Weight>,
21531					pub max_total:
21532						::core::option::Option<runtime_types::sp_weights::weight_v2::Weight>,
21533					pub reserved:
21534						::core::option::Option<runtime_types::sp_weights::weight_v2::Weight>,
21535				}
21536			}
21537			pub mod pallet {
21538				use super::runtime_types;
21539				#[derive(
21540					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21541					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21542					Debug,
21543				)]
21544				#[decode_as_type(
21545					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21546				)]
21547				#[encode_as_type(
21548					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21549				)]
21550				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
21551				pub enum Call {
21552					#[codec(index = 0)]
21553					#[doc = "Make some on-chain remark."]
21554					#[doc = ""]
21555					#[doc = "Can be executed by every `origin`."]
21556					remark {
21557						remark: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21558					},
21559					#[codec(index = 1)]
21560					#[doc = "Set the number of pages in the WebAssembly environment's heap."]
21561					set_heap_pages { pages: ::core::primitive::u64 },
21562					#[codec(index = 2)]
21563					#[doc = "Set the new runtime code."]
21564					set_code {
21565						code: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21566					},
21567					#[codec(index = 3)]
21568					#[doc = "Set the new runtime code without doing any checks of the given `code`."]
21569					#[doc = ""]
21570					#[doc = "Note that runtime upgrades will not run if this is called with a not-increasing spec"]
21571					#[doc = "version!"]
21572					set_code_without_checks {
21573						code: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21574					},
21575					#[codec(index = 4)]
21576					#[doc = "Set some items of storage."]
21577					set_storage {
21578						items: ::subxt::ext::subxt_core::alloc::vec::Vec<(
21579							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21580							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21581						)>,
21582					},
21583					#[codec(index = 5)]
21584					#[doc = "Kill some items from storage."]
21585					kill_storage {
21586						keys: ::subxt::ext::subxt_core::alloc::vec::Vec<
21587							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21588						>,
21589					},
21590					#[codec(index = 6)]
21591					#[doc = "Kill all storage items with a key that starts with the given prefix."]
21592					#[doc = ""]
21593					#[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"]
21594					#[doc = "the prefix we are removing to accurately calculate the weight of this function."]
21595					kill_prefix {
21596						prefix: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21597						subkeys: ::core::primitive::u32,
21598					},
21599					#[codec(index = 7)]
21600					#[doc = "Make some on-chain remark and emit event."]
21601					remark_with_event {
21602						remark: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21603					},
21604					#[codec(index = 9)]
21605					#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
21606					#[doc = "later."]
21607					#[doc = ""]
21608					#[doc = "This call requires Root origin."]
21609					authorize_upgrade { code_hash: ::subxt::ext::subxt_core::utils::H256 },
21610					#[codec(index = 10)]
21611					#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
21612					#[doc = "later."]
21613					#[doc = ""]
21614					#[doc = "WARNING: This authorizes an upgrade that will take place without any safety checks, for"]
21615					#[doc = "example that the spec name remains the same and that the version number increases. Not"]
21616					#[doc = "recommended for normal use. Use `authorize_upgrade` instead."]
21617					#[doc = ""]
21618					#[doc = "This call requires Root origin."]
21619					authorize_upgrade_without_checks {
21620						code_hash: ::subxt::ext::subxt_core::utils::H256,
21621					},
21622					#[codec(index = 11)]
21623					#[doc = "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized."]
21624					#[doc = ""]
21625					#[doc = "If the authorization required a version check, this call will ensure the spec name"]
21626					#[doc = "remains unchanged and that the spec version has increased."]
21627					#[doc = ""]
21628					#[doc = "Depending on the runtime's `OnSetCode` configuration, this function may directly apply"]
21629					#[doc = "the new `code` in the same block or attempt to schedule the upgrade."]
21630					#[doc = ""]
21631					#[doc = "All origins are allowed."]
21632					apply_authorized_upgrade {
21633						code: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21634					},
21635				}
21636				#[derive(
21637					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21638					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21639					Debug,
21640				)]
21641				#[decode_as_type(
21642					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21643				)]
21644				#[encode_as_type(
21645					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21646				)]
21647				#[doc = "Error for the System pallet"]
21648				pub enum Error {
21649					#[codec(index = 0)]
21650					#[doc = "The name of specification does not match between the current runtime"]
21651					#[doc = "and the new runtime."]
21652					InvalidSpecName,
21653					#[codec(index = 1)]
21654					#[doc = "The specification version is not allowed to decrease between the current runtime"]
21655					#[doc = "and the new runtime."]
21656					SpecVersionNeedsToIncrease,
21657					#[codec(index = 2)]
21658					#[doc = "Failed to extract the runtime version from the new runtime."]
21659					#[doc = ""]
21660					#[doc = "Either calling `Core_version` or decoding `RuntimeVersion` failed."]
21661					FailedToExtractRuntimeVersion,
21662					#[codec(index = 3)]
21663					#[doc = "Suicide called when the account has non-default composite data."]
21664					NonDefaultComposite,
21665					#[codec(index = 4)]
21666					#[doc = "There is a non-zero reference count preventing the account from being purged."]
21667					NonZeroRefCount,
21668					#[codec(index = 5)]
21669					#[doc = "The origin filter prevent the call to be dispatched."]
21670					CallFiltered,
21671					#[codec(index = 6)]
21672					#[doc = "A multi-block migration is ongoing and prevents the current code from being replaced."]
21673					MultiBlockMigrationsOngoing,
21674					#[codec(index = 7)]
21675					#[doc = "No upgrade authorized."]
21676					NothingAuthorized,
21677					#[codec(index = 8)]
21678					#[doc = "The submitted code is not authorized."]
21679					Unauthorized,
21680				}
21681				#[derive(
21682					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21683					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21684					Debug,
21685				)]
21686				#[decode_as_type(
21687					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21688				)]
21689				#[encode_as_type(
21690					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21691				)]
21692				#[doc = "Event for the System pallet."]
21693				pub enum Event {
21694					#[codec(index = 0)]
21695					#[doc = "An extrinsic completed successfully."]
21696					ExtrinsicSuccess {
21697						dispatch_info: runtime_types::frame_system::DispatchEventInfo,
21698					},
21699					#[codec(index = 1)]
21700					#[doc = "An extrinsic failed."]
21701					ExtrinsicFailed {
21702						dispatch_error: runtime_types::sp_runtime::DispatchError,
21703						dispatch_info: runtime_types::frame_system::DispatchEventInfo,
21704					},
21705					#[codec(index = 2)]
21706					#[doc = "`:code` was updated."]
21707					CodeUpdated,
21708					#[codec(index = 3)]
21709					#[doc = "A new account was created."]
21710					NewAccount { account: ::subxt::ext::subxt_core::utils::AccountId32 },
21711					#[codec(index = 4)]
21712					#[doc = "An account was reaped."]
21713					KilledAccount { account: ::subxt::ext::subxt_core::utils::AccountId32 },
21714					#[codec(index = 5)]
21715					#[doc = "On on-chain remark happened."]
21716					Remarked {
21717						sender: ::subxt::ext::subxt_core::utils::AccountId32,
21718						hash: ::subxt::ext::subxt_core::utils::H256,
21719					},
21720					#[codec(index = 6)]
21721					#[doc = "An upgrade was authorized."]
21722					UpgradeAuthorized {
21723						code_hash: ::subxt::ext::subxt_core::utils::H256,
21724						check_version: ::core::primitive::bool,
21725					},
21726					#[codec(index = 7)]
21727					#[doc = "An invalid authorized upgrade was rejected while trying to apply it."]
21728					RejectedInvalidAuthorizedUpgrade {
21729						code_hash: ::subxt::ext::subxt_core::utils::H256,
21730						error: runtime_types::sp_runtime::DispatchError,
21731					},
21732				}
21733			}
21734			#[derive(
21735				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21736				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21737				Debug,
21738			)]
21739			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21740			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21741			pub struct AccountInfo<_0, _1> {
21742				pub nonce: _0,
21743				pub consumers: ::core::primitive::u32,
21744				pub providers: ::core::primitive::u32,
21745				pub sufficients: ::core::primitive::u32,
21746				pub data: _1,
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(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21754			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21755			pub struct CodeUpgradeAuthorization {
21756				pub code_hash: ::subxt::ext::subxt_core::utils::H256,
21757				pub check_version: ::core::primitive::bool,
21758			}
21759			#[derive(
21760				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21761				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21762				Debug,
21763			)]
21764			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21765			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21766			pub struct DispatchEventInfo {
21767				pub weight: runtime_types::sp_weights::weight_v2::Weight,
21768				pub class: runtime_types::frame_support::dispatch::DispatchClass,
21769				pub pays_fee: runtime_types::frame_support::dispatch::Pays,
21770			}
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(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21777			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21778			pub struct EventRecord<_0, _1> {
21779				pub phase: runtime_types::frame_system::Phase,
21780				pub event: _0,
21781				pub topics: ::subxt::ext::subxt_core::alloc::vec::Vec<_1>,
21782			}
21783			#[derive(
21784				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21785				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21786				Debug,
21787			)]
21788			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21789			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21790			pub struct LastRuntimeUpgradeInfo {
21791				#[codec(compact)]
21792				pub spec_version: ::core::primitive::u32,
21793				pub spec_name: ::subxt::ext::subxt_core::alloc::string::String,
21794			}
21795			#[derive(
21796				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21797				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21798				Debug,
21799			)]
21800			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21801			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21802			pub enum Phase {
21803				#[codec(index = 0)]
21804				ApplyExtrinsic(::core::primitive::u32),
21805				#[codec(index = 1)]
21806				Finalization,
21807				#[codec(index = 2)]
21808				Initialization,
21809			}
21810		}
21811		pub mod pallet_assets {
21812			use super::runtime_types;
21813			pub mod pallet {
21814				use super::runtime_types;
21815				#[derive(
21816					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21817					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21818					Debug,
21819				)]
21820				#[decode_as_type(
21821					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21822				)]
21823				#[encode_as_type(
21824					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21825				)]
21826				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
21827				pub enum Call {
21828					#[codec(index = 0)]
21829					#[doc = "Issue a new class of fungible assets from a public origin."]
21830					#[doc = ""]
21831					#[doc = "This new asset class has no assets initially and its owner is the origin."]
21832					#[doc = ""]
21833					#[doc = "The origin must conform to the configured `CreateOrigin` and have sufficient funds free."]
21834					#[doc = ""]
21835					#[doc = "Funds of sender are reserved by `AssetDeposit`."]
21836					#[doc = ""]
21837					#[doc = "Parameters:"]
21838					#[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"]
21839					#[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."]
21840					#[doc = "- `admin`: The admin of this class of assets. The admin is the initial address of each"]
21841					#[doc = "member of the asset class's admin team."]
21842					#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
21843					#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
21844					#[doc = ""]
21845					#[doc = "Emits `Created` event when successful."]
21846					#[doc = ""]
21847					#[doc = "Weight: `O(1)`"]
21848					create {
21849						#[codec(compact)]
21850						id: ::core::primitive::u32,
21851						admin: ::subxt::ext::subxt_core::utils::MultiAddress<
21852							::subxt::ext::subxt_core::utils::AccountId32,
21853							(),
21854						>,
21855						min_balance: ::core::primitive::u128,
21856					},
21857					#[codec(index = 1)]
21858					#[doc = "Issue a new class of fungible assets from a privileged origin."]
21859					#[doc = ""]
21860					#[doc = "This new asset class has no assets initially."]
21861					#[doc = ""]
21862					#[doc = "The origin must conform to `ForceOrigin`."]
21863					#[doc = ""]
21864					#[doc = "Unlike `create`, no funds are reserved."]
21865					#[doc = ""]
21866					#[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"]
21867					#[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."]
21868					#[doc = "- `owner`: The owner of this class of assets. The owner has full superuser permissions"]
21869					#[doc = "over this asset, but may later change and configure the permissions using"]
21870					#[doc = "`transfer_ownership` and `set_team`."]
21871					#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
21872					#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
21873					#[doc = ""]
21874					#[doc = "Emits `ForceCreated` event when successful."]
21875					#[doc = ""]
21876					#[doc = "Weight: `O(1)`"]
21877					force_create {
21878						#[codec(compact)]
21879						id: ::core::primitive::u32,
21880						owner: ::subxt::ext::subxt_core::utils::MultiAddress<
21881							::subxt::ext::subxt_core::utils::AccountId32,
21882							(),
21883						>,
21884						is_sufficient: ::core::primitive::bool,
21885						#[codec(compact)]
21886						min_balance: ::core::primitive::u128,
21887					},
21888					#[codec(index = 2)]
21889					#[doc = "Start the process of destroying a fungible asset class."]
21890					#[doc = ""]
21891					#[doc = "`start_destroy` is the first in a series of extrinsics that should be called, to allow"]
21892					#[doc = "destruction of an asset class."]
21893					#[doc = ""]
21894					#[doc = "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`."]
21895					#[doc = ""]
21896					#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
21897					#[doc = "  asset."]
21898					#[doc = ""]
21899					#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
21900					#[doc = "an account contains holds or freezes in place."]
21901					start_destroy {
21902						#[codec(compact)]
21903						id: ::core::primitive::u32,
21904					},
21905					#[codec(index = 3)]
21906					#[doc = "Destroy all accounts associated with a given asset."]
21907					#[doc = ""]
21908					#[doc = "`destroy_accounts` should only be called after `start_destroy` has been called, and the"]
21909					#[doc = "asset is in a `Destroying` state."]
21910					#[doc = ""]
21911					#[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"]
21912					#[doc = "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time."]
21913					#[doc = ""]
21914					#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
21915					#[doc = "  asset."]
21916					#[doc = ""]
21917					#[doc = "Each call emits the `Event::DestroyedAccounts` event."]
21918					destroy_accounts {
21919						#[codec(compact)]
21920						id: ::core::primitive::u32,
21921					},
21922					#[codec(index = 4)]
21923					#[doc = "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit)."]
21924					#[doc = ""]
21925					#[doc = "`destroy_approvals` should only be called after `start_destroy` has been called, and the"]
21926					#[doc = "asset is in a `Destroying` state."]
21927					#[doc = ""]
21928					#[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"]
21929					#[doc = "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time."]
21930					#[doc = ""]
21931					#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
21932					#[doc = "  asset."]
21933					#[doc = ""]
21934					#[doc = "Each call emits the `Event::DestroyedApprovals` event."]
21935					destroy_approvals {
21936						#[codec(compact)]
21937						id: ::core::primitive::u32,
21938					},
21939					#[codec(index = 5)]
21940					#[doc = "Complete destroying asset and unreserve currency."]
21941					#[doc = ""]
21942					#[doc = "`finish_destroy` should only be called after `start_destroy` has been called, and the"]
21943					#[doc = "asset is in a `Destroying` state. All accounts or approvals should be destroyed before"]
21944					#[doc = "hand."]
21945					#[doc = ""]
21946					#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
21947					#[doc = "  asset."]
21948					#[doc = ""]
21949					#[doc = "Each successful call emits the `Event::Destroyed` event."]
21950					finish_destroy {
21951						#[codec(compact)]
21952						id: ::core::primitive::u32,
21953					},
21954					#[codec(index = 6)]
21955					#[doc = "Mint assets of a particular class."]
21956					#[doc = ""]
21957					#[doc = "The origin must be Signed and the sender must be the Issuer of the asset `id`."]
21958					#[doc = ""]
21959					#[doc = "- `id`: The identifier of the asset to have some amount minted."]
21960					#[doc = "- `beneficiary`: The account to be credited with the minted assets."]
21961					#[doc = "- `amount`: The amount of the asset to be minted."]
21962					#[doc = ""]
21963					#[doc = "Emits `Issued` event when successful."]
21964					#[doc = ""]
21965					#[doc = "Weight: `O(1)`"]
21966					#[doc = "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`."]
21967					mint {
21968						#[codec(compact)]
21969						id: ::core::primitive::u32,
21970						beneficiary: ::subxt::ext::subxt_core::utils::MultiAddress<
21971							::subxt::ext::subxt_core::utils::AccountId32,
21972							(),
21973						>,
21974						#[codec(compact)]
21975						amount: ::core::primitive::u128,
21976					},
21977					#[codec(index = 7)]
21978					#[doc = "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`."]
21979					#[doc = ""]
21980					#[doc = "Origin must be Signed and the sender should be the Manager of the asset `id`."]
21981					#[doc = ""]
21982					#[doc = "Bails with `NoAccount` if the `who` is already dead."]
21983					#[doc = ""]
21984					#[doc = "- `id`: The identifier of the asset to have some amount burned."]
21985					#[doc = "- `who`: The account to be debited from."]
21986					#[doc = "- `amount`: The maximum amount by which `who`'s balance should be reduced."]
21987					#[doc = ""]
21988					#[doc = "Emits `Burned` with the actual amount burned. If this takes the balance to below the"]
21989					#[doc = "minimum for the asset, then the amount burned is increased to take it to zero."]
21990					#[doc = ""]
21991					#[doc = "Weight: `O(1)`"]
21992					#[doc = "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`."]
21993					burn {
21994						#[codec(compact)]
21995						id: ::core::primitive::u32,
21996						who: ::subxt::ext::subxt_core::utils::MultiAddress<
21997							::subxt::ext::subxt_core::utils::AccountId32,
21998							(),
21999						>,
22000						#[codec(compact)]
22001						amount: ::core::primitive::u128,
22002					},
22003					#[codec(index = 8)]
22004					#[doc = "Move some assets from the sender account to another."]
22005					#[doc = ""]
22006					#[doc = "Origin must be Signed."]
22007					#[doc = ""]
22008					#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
22009					#[doc = "- `target`: The account to be credited."]
22010					#[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"]
22011					#[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"]
22012					#[doc = "the case that the transfer would otherwise take the sender balance above zero but below"]
22013					#[doc = "the minimum balance. Must be greater than zero."]
22014					#[doc = ""]
22015					#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
22016					#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
22017					#[doc = "to zero."]
22018					#[doc = ""]
22019					#[doc = "Weight: `O(1)`"]
22020					#[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"]
22021					#[doc = "`target`."]
22022					transfer {
22023						#[codec(compact)]
22024						id: ::core::primitive::u32,
22025						target: ::subxt::ext::subxt_core::utils::MultiAddress<
22026							::subxt::ext::subxt_core::utils::AccountId32,
22027							(),
22028						>,
22029						#[codec(compact)]
22030						amount: ::core::primitive::u128,
22031					},
22032					#[codec(index = 9)]
22033					#[doc = "Move some assets from the sender account to another, keeping the sender account alive."]
22034					#[doc = ""]
22035					#[doc = "Origin must be Signed."]
22036					#[doc = ""]
22037					#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
22038					#[doc = "- `target`: The account to be credited."]
22039					#[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"]
22040					#[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"]
22041					#[doc = "the case that the transfer would otherwise take the sender balance above zero but below"]
22042					#[doc = "the minimum balance. Must be greater than zero."]
22043					#[doc = ""]
22044					#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
22045					#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
22046					#[doc = "to zero."]
22047					#[doc = ""]
22048					#[doc = "Weight: `O(1)`"]
22049					#[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"]
22050					#[doc = "`target`."]
22051					transfer_keep_alive {
22052						#[codec(compact)]
22053						id: ::core::primitive::u32,
22054						target: ::subxt::ext::subxt_core::utils::MultiAddress<
22055							::subxt::ext::subxt_core::utils::AccountId32,
22056							(),
22057						>,
22058						#[codec(compact)]
22059						amount: ::core::primitive::u128,
22060					},
22061					#[codec(index = 10)]
22062					#[doc = "Move some assets from one account to another."]
22063					#[doc = ""]
22064					#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
22065					#[doc = ""]
22066					#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
22067					#[doc = "- `source`: The account to be debited."]
22068					#[doc = "- `dest`: The account to be credited."]
22069					#[doc = "- `amount`: The amount by which the `source`'s balance of assets should be reduced and"]
22070					#[doc = "`dest`'s balance increased. The amount actually transferred may be slightly greater in"]
22071					#[doc = "the case that the transfer would otherwise take the `source` balance above zero but"]
22072					#[doc = "below the minimum balance. Must be greater than zero."]
22073					#[doc = ""]
22074					#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
22075					#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
22076					#[doc = "to zero."]
22077					#[doc = ""]
22078					#[doc = "Weight: `O(1)`"]
22079					#[doc = "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of"]
22080					#[doc = "`dest`."]
22081					force_transfer {
22082						#[codec(compact)]
22083						id: ::core::primitive::u32,
22084						source: ::subxt::ext::subxt_core::utils::MultiAddress<
22085							::subxt::ext::subxt_core::utils::AccountId32,
22086							(),
22087						>,
22088						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
22089							::subxt::ext::subxt_core::utils::AccountId32,
22090							(),
22091						>,
22092						#[codec(compact)]
22093						amount: ::core::primitive::u128,
22094					},
22095					#[codec(index = 11)]
22096					#[doc = "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`"]
22097					#[doc = "must already exist as an entry in `Account`s of the asset. If you want to freeze an"]
22098					#[doc = "account that does not have an entry, use `touch_other` first."]
22099					#[doc = ""]
22100					#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
22101					#[doc = ""]
22102					#[doc = "- `id`: The identifier of the asset to be frozen."]
22103					#[doc = "- `who`: The account to be frozen."]
22104					#[doc = ""]
22105					#[doc = "Emits `Frozen`."]
22106					#[doc = ""]
22107					#[doc = "Weight: `O(1)`"]
22108					freeze {
22109						#[codec(compact)]
22110						id: ::core::primitive::u32,
22111						who: ::subxt::ext::subxt_core::utils::MultiAddress<
22112							::subxt::ext::subxt_core::utils::AccountId32,
22113							(),
22114						>,
22115					},
22116					#[codec(index = 12)]
22117					#[doc = "Allow unprivileged transfers to and from an account again."]
22118					#[doc = ""]
22119					#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
22120					#[doc = ""]
22121					#[doc = "- `id`: The identifier of the asset to be frozen."]
22122					#[doc = "- `who`: The account to be unfrozen."]
22123					#[doc = ""]
22124					#[doc = "Emits `Thawed`."]
22125					#[doc = ""]
22126					#[doc = "Weight: `O(1)`"]
22127					thaw {
22128						#[codec(compact)]
22129						id: ::core::primitive::u32,
22130						who: ::subxt::ext::subxt_core::utils::MultiAddress<
22131							::subxt::ext::subxt_core::utils::AccountId32,
22132							(),
22133						>,
22134					},
22135					#[codec(index = 13)]
22136					#[doc = "Disallow further unprivileged transfers for the asset class."]
22137					#[doc = ""]
22138					#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
22139					#[doc = ""]
22140					#[doc = "- `id`: The identifier of the asset to be frozen."]
22141					#[doc = ""]
22142					#[doc = "Emits `Frozen`."]
22143					#[doc = ""]
22144					#[doc = "Weight: `O(1)`"]
22145					freeze_asset {
22146						#[codec(compact)]
22147						id: ::core::primitive::u32,
22148					},
22149					#[codec(index = 14)]
22150					#[doc = "Allow unprivileged transfers for the asset again."]
22151					#[doc = ""]
22152					#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
22153					#[doc = ""]
22154					#[doc = "- `id`: The identifier of the asset to be thawed."]
22155					#[doc = ""]
22156					#[doc = "Emits `Thawed`."]
22157					#[doc = ""]
22158					#[doc = "Weight: `O(1)`"]
22159					thaw_asset {
22160						#[codec(compact)]
22161						id: ::core::primitive::u32,
22162					},
22163					#[codec(index = 15)]
22164					#[doc = "Change the Owner of an asset."]
22165					#[doc = ""]
22166					#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
22167					#[doc = ""]
22168					#[doc = "- `id`: The identifier of the asset."]
22169					#[doc = "- `owner`: The new Owner of this asset."]
22170					#[doc = ""]
22171					#[doc = "Emits `OwnerChanged`."]
22172					#[doc = ""]
22173					#[doc = "Weight: `O(1)`"]
22174					transfer_ownership {
22175						#[codec(compact)]
22176						id: ::core::primitive::u32,
22177						owner: ::subxt::ext::subxt_core::utils::MultiAddress<
22178							::subxt::ext::subxt_core::utils::AccountId32,
22179							(),
22180						>,
22181					},
22182					#[codec(index = 16)]
22183					#[doc = "Change the Issuer, Admin and Freezer of an asset."]
22184					#[doc = ""]
22185					#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
22186					#[doc = ""]
22187					#[doc = "- `id`: The identifier of the asset to be frozen."]
22188					#[doc = "- `issuer`: The new Issuer of this asset."]
22189					#[doc = "- `admin`: The new Admin of this asset."]
22190					#[doc = "- `freezer`: The new Freezer of this asset."]
22191					#[doc = ""]
22192					#[doc = "Emits `TeamChanged`."]
22193					#[doc = ""]
22194					#[doc = "Weight: `O(1)`"]
22195					set_team {
22196						#[codec(compact)]
22197						id: ::core::primitive::u32,
22198						issuer: ::subxt::ext::subxt_core::utils::MultiAddress<
22199							::subxt::ext::subxt_core::utils::AccountId32,
22200							(),
22201						>,
22202						admin: ::subxt::ext::subxt_core::utils::MultiAddress<
22203							::subxt::ext::subxt_core::utils::AccountId32,
22204							(),
22205						>,
22206						freezer: ::subxt::ext::subxt_core::utils::MultiAddress<
22207							::subxt::ext::subxt_core::utils::AccountId32,
22208							(),
22209						>,
22210					},
22211					#[codec(index = 17)]
22212					#[doc = "Set the metadata for an asset."]
22213					#[doc = ""]
22214					#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
22215					#[doc = ""]
22216					#[doc = "Funds of sender are reserved according to the formula:"]
22217					#[doc = "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into"]
22218					#[doc = "account any already reserved funds."]
22219					#[doc = ""]
22220					#[doc = "- `id`: The identifier of the asset to update."]
22221					#[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."]
22222					#[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."]
22223					#[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."]
22224					#[doc = ""]
22225					#[doc = "Emits `MetadataSet`."]
22226					#[doc = ""]
22227					#[doc = "Weight: `O(1)`"]
22228					set_metadata {
22229						#[codec(compact)]
22230						id: ::core::primitive::u32,
22231						name: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
22232						symbol: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
22233						decimals: ::core::primitive::u8,
22234					},
22235					#[codec(index = 18)]
22236					#[doc = "Clear the metadata for an asset."]
22237					#[doc = ""]
22238					#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
22239					#[doc = ""]
22240					#[doc = "Any deposit is freed for the asset owner."]
22241					#[doc = ""]
22242					#[doc = "- `id`: The identifier of the asset to clear."]
22243					#[doc = ""]
22244					#[doc = "Emits `MetadataCleared`."]
22245					#[doc = ""]
22246					#[doc = "Weight: `O(1)`"]
22247					clear_metadata {
22248						#[codec(compact)]
22249						id: ::core::primitive::u32,
22250					},
22251					#[codec(index = 19)]
22252					#[doc = "Force the metadata for an asset to some value."]
22253					#[doc = ""]
22254					#[doc = "Origin must be ForceOrigin."]
22255					#[doc = ""]
22256					#[doc = "Any deposit is left alone."]
22257					#[doc = ""]
22258					#[doc = "- `id`: The identifier of the asset to update."]
22259					#[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."]
22260					#[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."]
22261					#[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."]
22262					#[doc = ""]
22263					#[doc = "Emits `MetadataSet`."]
22264					#[doc = ""]
22265					#[doc = "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively."]
22266					force_set_metadata {
22267						#[codec(compact)]
22268						id: ::core::primitive::u32,
22269						name: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
22270						symbol: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
22271						decimals: ::core::primitive::u8,
22272						is_frozen: ::core::primitive::bool,
22273					},
22274					#[codec(index = 20)]
22275					#[doc = "Clear the metadata for an asset."]
22276					#[doc = ""]
22277					#[doc = "Origin must be ForceOrigin."]
22278					#[doc = ""]
22279					#[doc = "Any deposit is returned."]
22280					#[doc = ""]
22281					#[doc = "- `id`: The identifier of the asset to clear."]
22282					#[doc = ""]
22283					#[doc = "Emits `MetadataCleared`."]
22284					#[doc = ""]
22285					#[doc = "Weight: `O(1)`"]
22286					force_clear_metadata {
22287						#[codec(compact)]
22288						id: ::core::primitive::u32,
22289					},
22290					#[codec(index = 21)]
22291					#[doc = "Alter the attributes of a given asset."]
22292					#[doc = ""]
22293					#[doc = "Origin must be `ForceOrigin`."]
22294					#[doc = ""]
22295					#[doc = "- `id`: The identifier of the asset."]
22296					#[doc = "- `owner`: The new Owner of this asset."]
22297					#[doc = "- `issuer`: The new Issuer of this asset."]
22298					#[doc = "- `admin`: The new Admin of this asset."]
22299					#[doc = "- `freezer`: The new Freezer of this asset."]
22300					#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
22301					#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
22302					#[doc = "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient"]
22303					#[doc = "value to account for the state bloat associated with its balance storage. If set to"]
22304					#[doc = "`true`, then non-zero balances may be stored without a `consumer` reference (and thus"]
22305					#[doc = "an ED in the Balances pallet or whatever else is used to control user-account state"]
22306					#[doc = "growth)."]
22307					#[doc = "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin"]
22308					#[doc = "instructions."]
22309					#[doc = ""]
22310					#[doc = "Emits `AssetStatusChanged` with the identity of the asset."]
22311					#[doc = ""]
22312					#[doc = "Weight: `O(1)`"]
22313					force_asset_status {
22314						#[codec(compact)]
22315						id: ::core::primitive::u32,
22316						owner: ::subxt::ext::subxt_core::utils::MultiAddress<
22317							::subxt::ext::subxt_core::utils::AccountId32,
22318							(),
22319						>,
22320						issuer: ::subxt::ext::subxt_core::utils::MultiAddress<
22321							::subxt::ext::subxt_core::utils::AccountId32,
22322							(),
22323						>,
22324						admin: ::subxt::ext::subxt_core::utils::MultiAddress<
22325							::subxt::ext::subxt_core::utils::AccountId32,
22326							(),
22327						>,
22328						freezer: ::subxt::ext::subxt_core::utils::MultiAddress<
22329							::subxt::ext::subxt_core::utils::AccountId32,
22330							(),
22331						>,
22332						#[codec(compact)]
22333						min_balance: ::core::primitive::u128,
22334						is_sufficient: ::core::primitive::bool,
22335						is_frozen: ::core::primitive::bool,
22336					},
22337					#[codec(index = 22)]
22338					#[doc = "Approve an amount of asset for transfer by a delegated third-party account."]
22339					#[doc = ""]
22340					#[doc = "Origin must be Signed."]
22341					#[doc = ""]
22342					#[doc = "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account"]
22343					#[doc = "for the purpose of holding the approval. If some non-zero amount of assets is already"]
22344					#[doc = "approved from signing account to `delegate`, then it is topped up or unreserved to"]
22345					#[doc = "meet the right value."]
22346					#[doc = ""]
22347					#[doc = "NOTE: The signing account does not need to own `amount` of assets at the point of"]
22348					#[doc = "making this call."]
22349					#[doc = ""]
22350					#[doc = "- `id`: The identifier of the asset."]
22351					#[doc = "- `delegate`: The account to delegate permission to transfer asset."]
22352					#[doc = "- `amount`: The amount of asset that may be transferred by `delegate`. If there is"]
22353					#[doc = "already an approval in place, then this acts additively."]
22354					#[doc = ""]
22355					#[doc = "Emits `ApprovedTransfer` on success."]
22356					#[doc = ""]
22357					#[doc = "Weight: `O(1)`"]
22358					approve_transfer {
22359						#[codec(compact)]
22360						id: ::core::primitive::u32,
22361						delegate: ::subxt::ext::subxt_core::utils::MultiAddress<
22362							::subxt::ext::subxt_core::utils::AccountId32,
22363							(),
22364						>,
22365						#[codec(compact)]
22366						amount: ::core::primitive::u128,
22367					},
22368					#[codec(index = 23)]
22369					#[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."]
22370					#[doc = ""]
22371					#[doc = "Origin must be Signed and there must be an approval in place between signer and"]
22372					#[doc = "`delegate`."]
22373					#[doc = ""]
22374					#[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."]
22375					#[doc = ""]
22376					#[doc = "- `id`: The identifier of the asset."]
22377					#[doc = "- `delegate`: The account delegated permission to transfer asset."]
22378					#[doc = ""]
22379					#[doc = "Emits `ApprovalCancelled` on success."]
22380					#[doc = ""]
22381					#[doc = "Weight: `O(1)`"]
22382					cancel_approval {
22383						#[codec(compact)]
22384						id: ::core::primitive::u32,
22385						delegate: ::subxt::ext::subxt_core::utils::MultiAddress<
22386							::subxt::ext::subxt_core::utils::AccountId32,
22387							(),
22388						>,
22389					},
22390					#[codec(index = 24)]
22391					#[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."]
22392					#[doc = ""]
22393					#[doc = "Origin must be either ForceOrigin or Signed origin with the signer being the Admin"]
22394					#[doc = "account of the asset `id`."]
22395					#[doc = ""]
22396					#[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."]
22397					#[doc = ""]
22398					#[doc = "- `id`: The identifier of the asset."]
22399					#[doc = "- `delegate`: The account delegated permission to transfer asset."]
22400					#[doc = ""]
22401					#[doc = "Emits `ApprovalCancelled` on success."]
22402					#[doc = ""]
22403					#[doc = "Weight: `O(1)`"]
22404					force_cancel_approval {
22405						#[codec(compact)]
22406						id: ::core::primitive::u32,
22407						owner: ::subxt::ext::subxt_core::utils::MultiAddress<
22408							::subxt::ext::subxt_core::utils::AccountId32,
22409							(),
22410						>,
22411						delegate: ::subxt::ext::subxt_core::utils::MultiAddress<
22412							::subxt::ext::subxt_core::utils::AccountId32,
22413							(),
22414						>,
22415					},
22416					#[codec(index = 25)]
22417					#[doc = "Transfer some asset balance from a previously delegated account to some third-party"]
22418					#[doc = "account."]
22419					#[doc = ""]
22420					#[doc = "Origin must be Signed and there must be an approval in place by the `owner` to the"]
22421					#[doc = "signer."]
22422					#[doc = ""]
22423					#[doc = "If the entire amount approved for transfer is transferred, then any deposit previously"]
22424					#[doc = "reserved by `approve_transfer` is unreserved."]
22425					#[doc = ""]
22426					#[doc = "- `id`: The identifier of the asset."]
22427					#[doc = "- `owner`: The account which previously approved for a transfer of at least `amount` and"]
22428					#[doc = "from which the asset balance will be withdrawn."]
22429					#[doc = "- `destination`: The account to which the asset balance of `amount` will be transferred."]
22430					#[doc = "- `amount`: The amount of assets to transfer."]
22431					#[doc = ""]
22432					#[doc = "Emits `TransferredApproved` on success."]
22433					#[doc = ""]
22434					#[doc = "Weight: `O(1)`"]
22435					transfer_approved {
22436						#[codec(compact)]
22437						id: ::core::primitive::u32,
22438						owner: ::subxt::ext::subxt_core::utils::MultiAddress<
22439							::subxt::ext::subxt_core::utils::AccountId32,
22440							(),
22441						>,
22442						destination: ::subxt::ext::subxt_core::utils::MultiAddress<
22443							::subxt::ext::subxt_core::utils::AccountId32,
22444							(),
22445						>,
22446						#[codec(compact)]
22447						amount: ::core::primitive::u128,
22448					},
22449					#[codec(index = 26)]
22450					#[doc = "Create an asset account for non-provider assets."]
22451					#[doc = ""]
22452					#[doc = "A deposit will be taken from the signer account."]
22453					#[doc = ""]
22454					#[doc = "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit"]
22455					#[doc = "  to be taken."]
22456					#[doc = "- `id`: The identifier of the asset for the account to be created."]
22457					#[doc = ""]
22458					#[doc = "Emits `Touched` event when successful."]
22459					touch {
22460						#[codec(compact)]
22461						id: ::core::primitive::u32,
22462					},
22463					#[codec(index = 27)]
22464					#[doc = "Return the deposit (if any) of an asset account or a consumer reference (if any) of an"]
22465					#[doc = "account."]
22466					#[doc = ""]
22467					#[doc = "The origin must be Signed."]
22468					#[doc = ""]
22469					#[doc = "- `id`: The identifier of the asset for which the caller would like the deposit"]
22470					#[doc = "  refunded."]
22471					#[doc = "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund."]
22472					#[doc = ""]
22473					#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
22474					#[doc = "the asset account contains holds or freezes in place."]
22475					#[doc = ""]
22476					#[doc = "Emits `Refunded` event when successful."]
22477					refund {
22478						#[codec(compact)]
22479						id: ::core::primitive::u32,
22480						allow_burn: ::core::primitive::bool,
22481					},
22482					#[codec(index = 28)]
22483					#[doc = "Sets the minimum balance of an asset."]
22484					#[doc = ""]
22485					#[doc = "Only works if there aren't any accounts that are holding the asset or if"]
22486					#[doc = "the new value of `min_balance` is less than the old one."]
22487					#[doc = ""]
22488					#[doc = "Origin must be Signed and the sender has to be the Owner of the"]
22489					#[doc = "asset `id`."]
22490					#[doc = ""]
22491					#[doc = "- `id`: The identifier of the asset."]
22492					#[doc = "- `min_balance`: The new value of `min_balance`."]
22493					#[doc = ""]
22494					#[doc = "Emits `AssetMinBalanceChanged` event when successful."]
22495					set_min_balance {
22496						#[codec(compact)]
22497						id: ::core::primitive::u32,
22498						min_balance: ::core::primitive::u128,
22499					},
22500					#[codec(index = 29)]
22501					#[doc = "Create an asset account for `who`."]
22502					#[doc = ""]
22503					#[doc = "A deposit will be taken from the signer account."]
22504					#[doc = ""]
22505					#[doc = "- `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account"]
22506					#[doc = "  must have sufficient funds for a deposit to be taken."]
22507					#[doc = "- `id`: The identifier of the asset for the account to be created."]
22508					#[doc = "- `who`: The account to be created."]
22509					#[doc = ""]
22510					#[doc = "Emits `Touched` event when successful."]
22511					touch_other {
22512						#[codec(compact)]
22513						id: ::core::primitive::u32,
22514						who: ::subxt::ext::subxt_core::utils::MultiAddress<
22515							::subxt::ext::subxt_core::utils::AccountId32,
22516							(),
22517						>,
22518					},
22519					#[codec(index = 30)]
22520					#[doc = "Return the deposit (if any) of a target asset account. Useful if you are the depositor."]
22521					#[doc = ""]
22522					#[doc = "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In"]
22523					#[doc = "order to burn a non-zero balance of the asset, the caller must be the account and should"]
22524					#[doc = "use `refund`."]
22525					#[doc = ""]
22526					#[doc = "- `id`: The identifier of the asset for the account holding a deposit."]
22527					#[doc = "- `who`: The account to refund."]
22528					#[doc = ""]
22529					#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
22530					#[doc = "the asset account contains holds or freezes in place."]
22531					#[doc = ""]
22532					#[doc = "Emits `Refunded` event when successful."]
22533					refund_other {
22534						#[codec(compact)]
22535						id: ::core::primitive::u32,
22536						who: ::subxt::ext::subxt_core::utils::MultiAddress<
22537							::subxt::ext::subxt_core::utils::AccountId32,
22538							(),
22539						>,
22540					},
22541					#[codec(index = 31)]
22542					#[doc = "Disallow further unprivileged transfers of an asset `id` to and from an account `who`."]
22543					#[doc = ""]
22544					#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
22545					#[doc = ""]
22546					#[doc = "- `id`: The identifier of the account's asset."]
22547					#[doc = "- `who`: The account to be unblocked."]
22548					#[doc = ""]
22549					#[doc = "Emits `Blocked`."]
22550					#[doc = ""]
22551					#[doc = "Weight: `O(1)`"]
22552					block {
22553						#[codec(compact)]
22554						id: ::core::primitive::u32,
22555						who: ::subxt::ext::subxt_core::utils::MultiAddress<
22556							::subxt::ext::subxt_core::utils::AccountId32,
22557							(),
22558						>,
22559					},
22560					#[codec(index = 32)]
22561					#[doc = "Transfer the entire transferable balance from the caller asset account."]
22562					#[doc = ""]
22563					#[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"]
22564					#[doc = "any held, frozen, or minimum balance (when `keep_alive` is `true`), will not be"]
22565					#[doc = "transferred by this function. To ensure that this function results in a killed account,"]
22566					#[doc = "you might need to prepare the account by removing any reference counters, storage"]
22567					#[doc = "deposits, etc..."]
22568					#[doc = ""]
22569					#[doc = "The dispatch origin of this call must be Signed."]
22570					#[doc = ""]
22571					#[doc = "- `id`: The identifier of the asset for the account holding a deposit."]
22572					#[doc = "- `dest`: The recipient of the transfer."]
22573					#[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"]
22574					#[doc = "  of the funds the asset account has, causing the sender asset account to be killed"]
22575					#[doc = "  (false), or transfer everything except at least the minimum balance, which will"]
22576					#[doc = "  guarantee to keep the sender asset account alive (true)."]
22577					transfer_all {
22578						#[codec(compact)]
22579						id: ::core::primitive::u32,
22580						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
22581							::subxt::ext::subxt_core::utils::AccountId32,
22582							(),
22583						>,
22584						keep_alive: ::core::primitive::bool,
22585					},
22586				}
22587				#[derive(
22588					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22589					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22590					Debug,
22591				)]
22592				#[decode_as_type(
22593					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22594				)]
22595				#[encode_as_type(
22596					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22597				)]
22598				#[doc = "The `Error` enum of this pallet."]
22599				pub enum Error {
22600					#[codec(index = 0)]
22601					#[doc = "Account balance must be greater than or equal to the transfer amount."]
22602					BalanceLow,
22603					#[codec(index = 1)]
22604					#[doc = "The account to alter does not exist."]
22605					NoAccount,
22606					#[codec(index = 2)]
22607					#[doc = "The signing account has no permission to do the operation."]
22608					NoPermission,
22609					#[codec(index = 3)]
22610					#[doc = "The given asset ID is unknown."]
22611					Unknown,
22612					#[codec(index = 4)]
22613					#[doc = "The origin account is frozen."]
22614					Frozen,
22615					#[codec(index = 5)]
22616					#[doc = "The asset ID is already taken."]
22617					InUse,
22618					#[codec(index = 6)]
22619					#[doc = "Invalid witness data given."]
22620					BadWitness,
22621					#[codec(index = 7)]
22622					#[doc = "Minimum balance should be non-zero."]
22623					MinBalanceZero,
22624					#[codec(index = 8)]
22625					#[doc = "Unable to increment the consumer reference counters on the account. Either no provider"]
22626					#[doc = "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one"]
22627					#[doc = "fewer then the maximum number of consumers has been reached."]
22628					UnavailableConsumer,
22629					#[codec(index = 9)]
22630					#[doc = "Invalid metadata given."]
22631					BadMetadata,
22632					#[codec(index = 10)]
22633					#[doc = "No approval exists that would allow the transfer."]
22634					Unapproved,
22635					#[codec(index = 11)]
22636					#[doc = "The source account would not survive the transfer and it needs to stay alive."]
22637					WouldDie,
22638					#[codec(index = 12)]
22639					#[doc = "The asset-account already exists."]
22640					AlreadyExists,
22641					#[codec(index = 13)]
22642					#[doc = "The asset-account doesn't have an associated deposit."]
22643					NoDeposit,
22644					#[codec(index = 14)]
22645					#[doc = "The operation would result in funds being burned."]
22646					WouldBurn,
22647					#[codec(index = 15)]
22648					#[doc = "The asset is a live asset and is actively being used. Usually emit for operations such"]
22649					#[doc = "as `start_destroy` which require the asset to be in a destroying state."]
22650					LiveAsset,
22651					#[codec(index = 16)]
22652					#[doc = "The asset is not live, and likely being destroyed."]
22653					AssetNotLive,
22654					#[codec(index = 17)]
22655					#[doc = "The asset status is not the expected status."]
22656					IncorrectStatus,
22657					#[codec(index = 18)]
22658					#[doc = "The asset should be frozen before the given operation."]
22659					NotFrozen,
22660					#[codec(index = 19)]
22661					#[doc = "Callback action resulted in error"]
22662					CallbackFailed,
22663					#[codec(index = 20)]
22664					#[doc = "The asset ID must be equal to the [`NextAssetId`]."]
22665					BadAssetId,
22666					#[codec(index = 21)]
22667					#[doc = "The asset cannot be destroyed because some accounts for this asset contain freezes."]
22668					ContainsFreezes,
22669					#[codec(index = 22)]
22670					#[doc = "The asset cannot be destroyed because some accounts for this asset contain holds."]
22671					ContainsHolds,
22672				}
22673				#[derive(
22674					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22675					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22676					Debug,
22677				)]
22678				#[decode_as_type(
22679					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22680				)]
22681				#[encode_as_type(
22682					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22683				)]
22684				#[doc = "The `Event` enum of this pallet"]
22685				pub enum Event {
22686					#[codec(index = 0)]
22687					#[doc = "Some asset class was created."]
22688					Created {
22689						asset_id: ::core::primitive::u32,
22690						creator: ::subxt::ext::subxt_core::utils::AccountId32,
22691						owner: ::subxt::ext::subxt_core::utils::AccountId32,
22692					},
22693					#[codec(index = 1)]
22694					#[doc = "Some assets were issued."]
22695					Issued {
22696						asset_id: ::core::primitive::u32,
22697						owner: ::subxt::ext::subxt_core::utils::AccountId32,
22698						amount: ::core::primitive::u128,
22699					},
22700					#[codec(index = 2)]
22701					#[doc = "Some assets were transferred."]
22702					Transferred {
22703						asset_id: ::core::primitive::u32,
22704						from: ::subxt::ext::subxt_core::utils::AccountId32,
22705						to: ::subxt::ext::subxt_core::utils::AccountId32,
22706						amount: ::core::primitive::u128,
22707					},
22708					#[codec(index = 3)]
22709					#[doc = "Some assets were destroyed."]
22710					Burned {
22711						asset_id: ::core::primitive::u32,
22712						owner: ::subxt::ext::subxt_core::utils::AccountId32,
22713						balance: ::core::primitive::u128,
22714					},
22715					#[codec(index = 4)]
22716					#[doc = "The management team changed."]
22717					TeamChanged {
22718						asset_id: ::core::primitive::u32,
22719						issuer: ::subxt::ext::subxt_core::utils::AccountId32,
22720						admin: ::subxt::ext::subxt_core::utils::AccountId32,
22721						freezer: ::subxt::ext::subxt_core::utils::AccountId32,
22722					},
22723					#[codec(index = 5)]
22724					#[doc = "The owner changed."]
22725					OwnerChanged {
22726						asset_id: ::core::primitive::u32,
22727						owner: ::subxt::ext::subxt_core::utils::AccountId32,
22728					},
22729					#[codec(index = 6)]
22730					#[doc = "Some account `who` was frozen."]
22731					Frozen {
22732						asset_id: ::core::primitive::u32,
22733						who: ::subxt::ext::subxt_core::utils::AccountId32,
22734					},
22735					#[codec(index = 7)]
22736					#[doc = "Some account `who` was thawed."]
22737					Thawed {
22738						asset_id: ::core::primitive::u32,
22739						who: ::subxt::ext::subxt_core::utils::AccountId32,
22740					},
22741					#[codec(index = 8)]
22742					#[doc = "Some asset `asset_id` was frozen."]
22743					AssetFrozen { asset_id: ::core::primitive::u32 },
22744					#[codec(index = 9)]
22745					#[doc = "Some asset `asset_id` was thawed."]
22746					AssetThawed { asset_id: ::core::primitive::u32 },
22747					#[codec(index = 10)]
22748					#[doc = "Accounts were destroyed for given asset."]
22749					AccountsDestroyed {
22750						asset_id: ::core::primitive::u32,
22751						accounts_destroyed: ::core::primitive::u32,
22752						accounts_remaining: ::core::primitive::u32,
22753					},
22754					#[codec(index = 11)]
22755					#[doc = "Approvals were destroyed for given asset."]
22756					ApprovalsDestroyed {
22757						asset_id: ::core::primitive::u32,
22758						approvals_destroyed: ::core::primitive::u32,
22759						approvals_remaining: ::core::primitive::u32,
22760					},
22761					#[codec(index = 12)]
22762					#[doc = "An asset class is in the process of being destroyed."]
22763					DestructionStarted { asset_id: ::core::primitive::u32 },
22764					#[codec(index = 13)]
22765					#[doc = "An asset class was destroyed."]
22766					Destroyed { asset_id: ::core::primitive::u32 },
22767					#[codec(index = 14)]
22768					#[doc = "Some asset class was force-created."]
22769					ForceCreated {
22770						asset_id: ::core::primitive::u32,
22771						owner: ::subxt::ext::subxt_core::utils::AccountId32,
22772					},
22773					#[codec(index = 15)]
22774					#[doc = "New metadata has been set for an asset."]
22775					MetadataSet {
22776						asset_id: ::core::primitive::u32,
22777						name: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
22778						symbol: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
22779						decimals: ::core::primitive::u8,
22780						is_frozen: ::core::primitive::bool,
22781					},
22782					#[codec(index = 16)]
22783					#[doc = "Metadata has been cleared for an asset."]
22784					MetadataCleared { asset_id: ::core::primitive::u32 },
22785					#[codec(index = 17)]
22786					#[doc = "(Additional) funds have been approved for transfer to a destination account."]
22787					ApprovedTransfer {
22788						asset_id: ::core::primitive::u32,
22789						source: ::subxt::ext::subxt_core::utils::AccountId32,
22790						delegate: ::subxt::ext::subxt_core::utils::AccountId32,
22791						amount: ::core::primitive::u128,
22792					},
22793					#[codec(index = 18)]
22794					#[doc = "An approval for account `delegate` was cancelled by `owner`."]
22795					ApprovalCancelled {
22796						asset_id: ::core::primitive::u32,
22797						owner: ::subxt::ext::subxt_core::utils::AccountId32,
22798						delegate: ::subxt::ext::subxt_core::utils::AccountId32,
22799					},
22800					#[codec(index = 19)]
22801					#[doc = "An `amount` was transferred in its entirety from `owner` to `destination` by"]
22802					#[doc = "the approved `delegate`."]
22803					TransferredApproved {
22804						asset_id: ::core::primitive::u32,
22805						owner: ::subxt::ext::subxt_core::utils::AccountId32,
22806						delegate: ::subxt::ext::subxt_core::utils::AccountId32,
22807						destination: ::subxt::ext::subxt_core::utils::AccountId32,
22808						amount: ::core::primitive::u128,
22809					},
22810					#[codec(index = 20)]
22811					#[doc = "An asset has had its attributes changed by the `Force` origin."]
22812					AssetStatusChanged { asset_id: ::core::primitive::u32 },
22813					#[codec(index = 21)]
22814					#[doc = "The min_balance of an asset has been updated by the asset owner."]
22815					AssetMinBalanceChanged {
22816						asset_id: ::core::primitive::u32,
22817						new_min_balance: ::core::primitive::u128,
22818					},
22819					#[codec(index = 22)]
22820					#[doc = "Some account `who` was created with a deposit from `depositor`."]
22821					Touched {
22822						asset_id: ::core::primitive::u32,
22823						who: ::subxt::ext::subxt_core::utils::AccountId32,
22824						depositor: ::subxt::ext::subxt_core::utils::AccountId32,
22825					},
22826					#[codec(index = 23)]
22827					#[doc = "Some account `who` was blocked."]
22828					Blocked {
22829						asset_id: ::core::primitive::u32,
22830						who: ::subxt::ext::subxt_core::utils::AccountId32,
22831					},
22832					#[codec(index = 24)]
22833					#[doc = "Some assets were deposited (e.g. for transaction fees)."]
22834					Deposited {
22835						asset_id: ::core::primitive::u32,
22836						who: ::subxt::ext::subxt_core::utils::AccountId32,
22837						amount: ::core::primitive::u128,
22838					},
22839					#[codec(index = 25)]
22840					#[doc = "Some assets were withdrawn from the account (e.g. for transaction fees)."]
22841					Withdrawn {
22842						asset_id: ::core::primitive::u32,
22843						who: ::subxt::ext::subxt_core::utils::AccountId32,
22844						amount: ::core::primitive::u128,
22845					},
22846				}
22847			}
22848			pub mod types {
22849				use super::runtime_types;
22850				#[derive(
22851					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22852					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22853					Debug,
22854				)]
22855				#[decode_as_type(
22856					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22857				)]
22858				#[encode_as_type(
22859					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22860				)]
22861				pub enum AccountStatus {
22862					#[codec(index = 0)]
22863					Liquid,
22864					#[codec(index = 1)]
22865					Frozen,
22866					#[codec(index = 2)]
22867					Blocked,
22868				}
22869				#[derive(
22870					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22871					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22872					Debug,
22873				)]
22874				#[decode_as_type(
22875					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22876				)]
22877				#[encode_as_type(
22878					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22879				)]
22880				pub struct Approval<_0, _1> {
22881					pub amount: _0,
22882					pub deposit: _1,
22883				}
22884				#[derive(
22885					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22886					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22887					Debug,
22888				)]
22889				#[decode_as_type(
22890					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22891				)]
22892				#[encode_as_type(
22893					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22894				)]
22895				pub struct AssetAccount<_0, _1, _2, _3> {
22896					pub balance: _0,
22897					pub status: runtime_types::pallet_assets::types::AccountStatus,
22898					pub reason: runtime_types::pallet_assets::types::ExistenceReason<_0, _3>,
22899					pub extra: _2,
22900					#[codec(skip)]
22901					pub __ignore: ::core::marker::PhantomData<_1>,
22902				}
22903				#[derive(
22904					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22905					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22906					Debug,
22907				)]
22908				#[decode_as_type(
22909					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22910				)]
22911				#[encode_as_type(
22912					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22913				)]
22914				pub struct AssetDetails<_0, _1, _2> {
22915					pub owner: _1,
22916					pub issuer: _1,
22917					pub admin: _1,
22918					pub freezer: _1,
22919					pub supply: _0,
22920					pub deposit: _2,
22921					pub min_balance: _0,
22922					pub is_sufficient: ::core::primitive::bool,
22923					pub accounts: ::core::primitive::u32,
22924					pub sufficients: ::core::primitive::u32,
22925					pub approvals: ::core::primitive::u32,
22926					pub status: runtime_types::pallet_assets::types::AssetStatus,
22927				}
22928				#[derive(
22929					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22930					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22931					Debug,
22932				)]
22933				#[decode_as_type(
22934					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22935				)]
22936				#[encode_as_type(
22937					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22938				)]
22939				pub struct AssetMetadata<_0, _1> {
22940					pub deposit: _0,
22941					pub name: _1,
22942					pub symbol: _1,
22943					pub decimals: ::core::primitive::u8,
22944					pub is_frozen: ::core::primitive::bool,
22945				}
22946				#[derive(
22947					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22948					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22949					Debug,
22950				)]
22951				#[decode_as_type(
22952					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22953				)]
22954				#[encode_as_type(
22955					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22956				)]
22957				pub enum AssetStatus {
22958					#[codec(index = 0)]
22959					Live,
22960					#[codec(index = 1)]
22961					Frozen,
22962					#[codec(index = 2)]
22963					Destroying,
22964				}
22965				#[derive(
22966					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22967					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22968					Debug,
22969				)]
22970				#[decode_as_type(
22971					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22972				)]
22973				#[encode_as_type(
22974					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22975				)]
22976				pub enum ExistenceReason<_0, _1> {
22977					#[codec(index = 0)]
22978					Consumer,
22979					#[codec(index = 1)]
22980					Sufficient,
22981					#[codec(index = 2)]
22982					DepositHeld(_0),
22983					#[codec(index = 3)]
22984					DepositRefunded,
22985					#[codec(index = 4)]
22986					DepositFrom(_1, _0),
22987				}
22988			}
22989		}
22990		pub mod pallet_assets_holder {
22991			use super::runtime_types;
22992			pub mod pallet {
22993				use super::runtime_types;
22994				#[derive(
22995					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22996					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22997					Debug,
22998				)]
22999				#[decode_as_type(
23000					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23001				)]
23002				#[encode_as_type(
23003					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23004				)]
23005				#[doc = "The `Error` enum of this pallet."]
23006				pub enum Error {
23007					#[codec(index = 0)]
23008					#[doc = "Number of holds on an account would exceed the count of `RuntimeHoldReason`."]
23009					TooManyHolds,
23010				}
23011				#[derive(
23012					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23013					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23014					Debug,
23015				)]
23016				#[decode_as_type(
23017					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23018				)]
23019				#[encode_as_type(
23020					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23021				)]
23022				#[doc = "The `Event` enum of this pallet"]
23023				pub enum Event {
23024					#[codec(index = 0)]
23025					#[doc = "`who`s balance on hold was increased by `amount`."]
23026					Held {
23027						who: ::subxt::ext::subxt_core::utils::AccountId32,
23028						asset_id: ::core::primitive::u32,
23029						reason: runtime_types::quantus_runtime::RuntimeHoldReason,
23030						amount: ::core::primitive::u128,
23031					},
23032					#[codec(index = 1)]
23033					#[doc = "`who`s balance on hold was decreased by `amount`."]
23034					Released {
23035						who: ::subxt::ext::subxt_core::utils::AccountId32,
23036						asset_id: ::core::primitive::u32,
23037						reason: runtime_types::quantus_runtime::RuntimeHoldReason,
23038						amount: ::core::primitive::u128,
23039					},
23040					#[codec(index = 2)]
23041					#[doc = "`who`s balance on hold was burned by `amount`."]
23042					Burned {
23043						who: ::subxt::ext::subxt_core::utils::AccountId32,
23044						asset_id: ::core::primitive::u32,
23045						reason: runtime_types::quantus_runtime::RuntimeHoldReason,
23046						amount: ::core::primitive::u128,
23047					},
23048				}
23049			}
23050		}
23051		pub mod pallet_balances {
23052			use super::runtime_types;
23053			pub mod pallet {
23054				use super::runtime_types;
23055				#[derive(
23056					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23057					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23058					Debug,
23059				)]
23060				#[decode_as_type(
23061					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23062				)]
23063				#[encode_as_type(
23064					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23065				)]
23066				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
23067				pub enum Call {
23068					#[codec(index = 0)]
23069					#[doc = "Transfer some liquid free balance to another account."]
23070					#[doc = ""]
23071					#[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."]
23072					#[doc = "If the sender's account is below the existential deposit as a result"]
23073					#[doc = "of the transfer, the account will be reaped."]
23074					#[doc = ""]
23075					#[doc = "The dispatch origin for this call must be `Signed` by the transactor."]
23076					transfer_allow_death {
23077						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
23078							::subxt::ext::subxt_core::utils::AccountId32,
23079							(),
23080						>,
23081						#[codec(compact)]
23082						value: ::core::primitive::u128,
23083					},
23084					#[codec(index = 2)]
23085					#[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"]
23086					#[doc = "may be specified."]
23087					force_transfer {
23088						source: ::subxt::ext::subxt_core::utils::MultiAddress<
23089							::subxt::ext::subxt_core::utils::AccountId32,
23090							(),
23091						>,
23092						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
23093							::subxt::ext::subxt_core::utils::AccountId32,
23094							(),
23095						>,
23096						#[codec(compact)]
23097						value: ::core::primitive::u128,
23098					},
23099					#[codec(index = 3)]
23100					#[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"]
23101					#[doc = "kill the origin account."]
23102					#[doc = ""]
23103					#[doc = "99% of the time you want [`transfer_allow_death`] instead."]
23104					#[doc = ""]
23105					#[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"]
23106					transfer_keep_alive {
23107						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
23108							::subxt::ext::subxt_core::utils::AccountId32,
23109							(),
23110						>,
23111						#[codec(compact)]
23112						value: ::core::primitive::u128,
23113					},
23114					#[codec(index = 4)]
23115					#[doc = "Transfer the entire transferable balance from the caller account."]
23116					#[doc = ""]
23117					#[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"]
23118					#[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"]
23119					#[doc = "transferred by this function. To ensure that this function results in a killed account,"]
23120					#[doc = "you might need to prepare the account by removing any reference counters, storage"]
23121					#[doc = "deposits, etc..."]
23122					#[doc = ""]
23123					#[doc = "The dispatch origin of this call must be Signed."]
23124					#[doc = ""]
23125					#[doc = "- `dest`: The recipient of the transfer."]
23126					#[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"]
23127					#[doc = "  of the funds the account has, causing the sender account to be killed (false), or"]
23128					#[doc = "  transfer everything except at least the existential deposit, which will guarantee to"]
23129					#[doc = "  keep the sender account alive (true)."]
23130					transfer_all {
23131						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
23132							::subxt::ext::subxt_core::utils::AccountId32,
23133							(),
23134						>,
23135						keep_alive: ::core::primitive::bool,
23136					},
23137					#[codec(index = 5)]
23138					#[doc = "Unreserve some balance from a user by force."]
23139					#[doc = ""]
23140					#[doc = "Can only be called by ROOT."]
23141					force_unreserve {
23142						who: ::subxt::ext::subxt_core::utils::MultiAddress<
23143							::subxt::ext::subxt_core::utils::AccountId32,
23144							(),
23145						>,
23146						amount: ::core::primitive::u128,
23147					},
23148					#[codec(index = 6)]
23149					#[doc = "Upgrade a specified account."]
23150					#[doc = ""]
23151					#[doc = "- `origin`: Must be `Signed`."]
23152					#[doc = "- `who`: The account to be upgraded."]
23153					#[doc = ""]
23154					#[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"]
23155					#[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"]
23156					#[doc = "possibility of churn)."]
23157					upgrade_accounts {
23158						who: ::subxt::ext::subxt_core::alloc::vec::Vec<
23159							::subxt::ext::subxt_core::utils::AccountId32,
23160						>,
23161					},
23162					#[codec(index = 8)]
23163					#[doc = "Set the regular balance of a given account."]
23164					#[doc = ""]
23165					#[doc = "The dispatch origin for this call is `root`."]
23166					force_set_balance {
23167						who: ::subxt::ext::subxt_core::utils::MultiAddress<
23168							::subxt::ext::subxt_core::utils::AccountId32,
23169							(),
23170						>,
23171						#[codec(compact)]
23172						new_free: ::core::primitive::u128,
23173					},
23174					#[codec(index = 9)]
23175					#[doc = "Adjust the total issuance in a saturating way."]
23176					#[doc = ""]
23177					#[doc = "Can only be called by root and always needs a positive `delta`."]
23178					#[doc = ""]
23179					#[doc = "# Example"]
23180					force_adjust_total_issuance {
23181						direction: runtime_types::pallet_balances::types::AdjustmentDirection,
23182						#[codec(compact)]
23183						delta: ::core::primitive::u128,
23184					},
23185					#[codec(index = 10)]
23186					#[doc = "Burn the specified liquid free balance from the origin account."]
23187					#[doc = ""]
23188					#[doc = "If the origin's account ends up below the existential deposit as a result"]
23189					#[doc = "of the burn and `keep_alive` is false, the account will be reaped."]
23190					#[doc = ""]
23191					#[doc = "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,"]
23192					#[doc = "this `burn` operation will reduce total issuance by the amount _burned_."]
23193					burn {
23194						#[codec(compact)]
23195						value: ::core::primitive::u128,
23196						keep_alive: ::core::primitive::bool,
23197					},
23198				}
23199				#[derive(
23200					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23201					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23202					Debug,
23203				)]
23204				#[decode_as_type(
23205					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23206				)]
23207				#[encode_as_type(
23208					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23209				)]
23210				#[doc = "The `Error` enum of this pallet."]
23211				pub enum Error {
23212					#[codec(index = 0)]
23213					#[doc = "Vesting balance too high to send value."]
23214					VestingBalance,
23215					#[codec(index = 1)]
23216					#[doc = "Account liquidity restrictions prevent withdrawal."]
23217					LiquidityRestrictions,
23218					#[codec(index = 2)]
23219					#[doc = "Balance too low to send value."]
23220					InsufficientBalance,
23221					#[codec(index = 3)]
23222					#[doc = "Value too low to create account due to existential deposit."]
23223					ExistentialDeposit,
23224					#[codec(index = 4)]
23225					#[doc = "Transfer/payment would kill account."]
23226					Expendability,
23227					#[codec(index = 5)]
23228					#[doc = "A vesting schedule already exists for this account."]
23229					ExistingVestingSchedule,
23230					#[codec(index = 6)]
23231					#[doc = "Beneficiary account must pre-exist."]
23232					DeadAccount,
23233					#[codec(index = 7)]
23234					#[doc = "Number of named reserves exceed `MaxReserves`."]
23235					TooManyReserves,
23236					#[codec(index = 8)]
23237					#[doc = "Number of holds exceed `VariantCountOf<T::RuntimeHoldReason>`."]
23238					TooManyHolds,
23239					#[codec(index = 9)]
23240					#[doc = "Number of freezes exceed `MaxFreezes`."]
23241					TooManyFreezes,
23242					#[codec(index = 10)]
23243					#[doc = "The issuance cannot be modified since it is already deactivated."]
23244					IssuanceDeactivated,
23245					#[codec(index = 11)]
23246					#[doc = "The delta cannot be zero."]
23247					DeltaZero,
23248				}
23249				#[derive(
23250					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23251					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23252					Debug,
23253				)]
23254				#[decode_as_type(
23255					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23256				)]
23257				#[encode_as_type(
23258					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23259				)]
23260				#[doc = "The `Event` enum of this pallet"]
23261				pub enum Event {
23262					#[codec(index = 0)]
23263					#[doc = "An account was created with some free balance."]
23264					Endowed {
23265						account: ::subxt::ext::subxt_core::utils::AccountId32,
23266						free_balance: ::core::primitive::u128,
23267					},
23268					#[codec(index = 1)]
23269					#[doc = "An account was removed whose balance was non-zero but below ExistentialDeposit,"]
23270					#[doc = "resulting in an outright loss."]
23271					DustLost {
23272						account: ::subxt::ext::subxt_core::utils::AccountId32,
23273						amount: ::core::primitive::u128,
23274					},
23275					#[codec(index = 2)]
23276					#[doc = "Transfer succeeded."]
23277					Transfer {
23278						from: ::subxt::ext::subxt_core::utils::AccountId32,
23279						to: ::subxt::ext::subxt_core::utils::AccountId32,
23280						amount: ::core::primitive::u128,
23281					},
23282					#[codec(index = 3)]
23283					#[doc = "A balance was set by root."]
23284					BalanceSet {
23285						who: ::subxt::ext::subxt_core::utils::AccountId32,
23286						free: ::core::primitive::u128,
23287					},
23288					#[codec(index = 4)]
23289					#[doc = "Some balance was reserved (moved from free to reserved)."]
23290					Reserved {
23291						who: ::subxt::ext::subxt_core::utils::AccountId32,
23292						amount: ::core::primitive::u128,
23293					},
23294					#[codec(index = 5)]
23295					#[doc = "Some balance was unreserved (moved from reserved to free)."]
23296					Unreserved {
23297						who: ::subxt::ext::subxt_core::utils::AccountId32,
23298						amount: ::core::primitive::u128,
23299					},
23300					#[codec(index = 6)]
23301					#[doc = "Some balance was moved from the reserve of the first account to the second account."]
23302					#[doc = "Final argument indicates the destination balance type."]
23303					ReserveRepatriated {
23304						from: ::subxt::ext::subxt_core::utils::AccountId32,
23305						to: ::subxt::ext::subxt_core::utils::AccountId32,
23306						amount: ::core::primitive::u128,
23307						destination_status:
23308							runtime_types::frame_support::traits::tokens::misc::BalanceStatus,
23309					},
23310					#[codec(index = 7)]
23311					#[doc = "Some amount was deposited (e.g. for transaction fees)."]
23312					Deposit {
23313						who: ::subxt::ext::subxt_core::utils::AccountId32,
23314						amount: ::core::primitive::u128,
23315					},
23316					#[codec(index = 8)]
23317					#[doc = "Some amount was withdrawn from the account (e.g. for transaction fees)."]
23318					Withdraw {
23319						who: ::subxt::ext::subxt_core::utils::AccountId32,
23320						amount: ::core::primitive::u128,
23321					},
23322					#[codec(index = 9)]
23323					#[doc = "Some amount was removed from the account (e.g. for misbehavior)."]
23324					Slashed {
23325						who: ::subxt::ext::subxt_core::utils::AccountId32,
23326						amount: ::core::primitive::u128,
23327					},
23328					#[codec(index = 10)]
23329					#[doc = "Some amount was minted into an account."]
23330					Minted {
23331						who: ::subxt::ext::subxt_core::utils::AccountId32,
23332						amount: ::core::primitive::u128,
23333					},
23334					#[codec(index = 11)]
23335					#[doc = "Some amount was burned from an account."]
23336					Burned {
23337						who: ::subxt::ext::subxt_core::utils::AccountId32,
23338						amount: ::core::primitive::u128,
23339					},
23340					#[codec(index = 12)]
23341					#[doc = "Some amount was suspended from an account (it can be restored later)."]
23342					Suspended {
23343						who: ::subxt::ext::subxt_core::utils::AccountId32,
23344						amount: ::core::primitive::u128,
23345					},
23346					#[codec(index = 13)]
23347					#[doc = "Some amount was restored into an account."]
23348					Restored {
23349						who: ::subxt::ext::subxt_core::utils::AccountId32,
23350						amount: ::core::primitive::u128,
23351					},
23352					#[codec(index = 14)]
23353					#[doc = "An account was upgraded."]
23354					Upgraded { who: ::subxt::ext::subxt_core::utils::AccountId32 },
23355					#[codec(index = 15)]
23356					#[doc = "Total issuance was increased by `amount`, creating a credit to be balanced."]
23357					Issued { amount: ::core::primitive::u128 },
23358					#[codec(index = 16)]
23359					#[doc = "Total issuance was decreased by `amount`, creating a debt to be balanced."]
23360					Rescinded { amount: ::core::primitive::u128 },
23361					#[codec(index = 17)]
23362					#[doc = "Some balance was locked."]
23363					Locked {
23364						who: ::subxt::ext::subxt_core::utils::AccountId32,
23365						amount: ::core::primitive::u128,
23366					},
23367					#[codec(index = 18)]
23368					#[doc = "Some balance was unlocked."]
23369					Unlocked {
23370						who: ::subxt::ext::subxt_core::utils::AccountId32,
23371						amount: ::core::primitive::u128,
23372					},
23373					#[codec(index = 19)]
23374					#[doc = "Some balance was frozen."]
23375					Frozen {
23376						who: ::subxt::ext::subxt_core::utils::AccountId32,
23377						amount: ::core::primitive::u128,
23378					},
23379					#[codec(index = 20)]
23380					#[doc = "Some balance was thawed."]
23381					Thawed {
23382						who: ::subxt::ext::subxt_core::utils::AccountId32,
23383						amount: ::core::primitive::u128,
23384					},
23385					#[codec(index = 21)]
23386					#[doc = "The `TotalIssuance` was forcefully changed."]
23387					TotalIssuanceForced {
23388						old: ::core::primitive::u128,
23389						new: ::core::primitive::u128,
23390					},
23391				}
23392			}
23393			pub mod types {
23394				use super::runtime_types;
23395				#[derive(
23396					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23397					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23398					Debug,
23399				)]
23400				#[decode_as_type(
23401					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23402				)]
23403				#[encode_as_type(
23404					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23405				)]
23406				pub struct AccountData<_0> {
23407					pub free: _0,
23408					pub reserved: _0,
23409					pub frozen: _0,
23410					pub flags: runtime_types::pallet_balances::types::ExtraFlags,
23411				}
23412				#[derive(
23413					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23414					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23415					Debug,
23416				)]
23417				#[decode_as_type(
23418					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23419				)]
23420				#[encode_as_type(
23421					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23422				)]
23423				pub enum AdjustmentDirection {
23424					#[codec(index = 0)]
23425					Increase,
23426					#[codec(index = 1)]
23427					Decrease,
23428				}
23429				#[derive(
23430					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23431					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23432					Debug,
23433				)]
23434				#[decode_as_type(
23435					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23436				)]
23437				#[encode_as_type(
23438					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23439				)]
23440				pub struct BalanceLock<_0> {
23441					pub id: [::core::primitive::u8; 8usize],
23442					pub amount: _0,
23443					pub reasons: runtime_types::pallet_balances::types::Reasons,
23444				}
23445				#[derive(
23446					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23447					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23448					Debug,
23449				)]
23450				#[decode_as_type(
23451					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23452				)]
23453				#[encode_as_type(
23454					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23455				)]
23456				pub struct ExtraFlags(pub ::core::primitive::u128);
23457				#[derive(
23458					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23459					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23460					Debug,
23461				)]
23462				#[decode_as_type(
23463					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23464				)]
23465				#[encode_as_type(
23466					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23467				)]
23468				pub enum Reasons {
23469					#[codec(index = 0)]
23470					Fee,
23471					#[codec(index = 1)]
23472					Misc,
23473					#[codec(index = 2)]
23474					All,
23475				}
23476				#[derive(
23477					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23478					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23479					Debug,
23480				)]
23481				#[decode_as_type(
23482					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23483				)]
23484				#[encode_as_type(
23485					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23486				)]
23487				pub struct ReserveData<_0, _1> {
23488					pub id: _0,
23489					pub amount: _1,
23490				}
23491			}
23492		}
23493		pub mod pallet_conviction_voting {
23494			use super::runtime_types;
23495			pub mod conviction {
23496				use super::runtime_types;
23497				#[derive(
23498					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23499					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23500					Debug,
23501				)]
23502				#[decode_as_type(
23503					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23504				)]
23505				#[encode_as_type(
23506					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23507				)]
23508				pub enum Conviction {
23509					#[codec(index = 0)]
23510					None,
23511					#[codec(index = 1)]
23512					Locked1x,
23513					#[codec(index = 2)]
23514					Locked2x,
23515					#[codec(index = 3)]
23516					Locked3x,
23517					#[codec(index = 4)]
23518					Locked4x,
23519					#[codec(index = 5)]
23520					Locked5x,
23521					#[codec(index = 6)]
23522					Locked6x,
23523				}
23524			}
23525			pub mod pallet {
23526				use super::runtime_types;
23527				#[derive(
23528					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23529					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23530					Debug,
23531				)]
23532				#[decode_as_type(
23533					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23534				)]
23535				#[encode_as_type(
23536					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23537				)]
23538				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
23539				pub enum Call {
23540					#[codec(index = 0)]
23541					#[doc = "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;"]
23542					#[doc = "otherwise it is a vote to keep the status quo."]
23543					#[doc = ""]
23544					#[doc = "The dispatch origin of this call must be _Signed_."]
23545					#[doc = ""]
23546					#[doc = "- `poll_index`: The index of the poll to vote for."]
23547					#[doc = "- `vote`: The vote configuration."]
23548					#[doc = ""]
23549					#[doc = "Weight: `O(R)` where R is the number of polls the voter has voted on."]
23550					vote {
23551						#[codec(compact)]
23552						poll_index: ::core::primitive::u32,
23553						vote: runtime_types::pallet_conviction_voting::vote::AccountVote<
23554							::core::primitive::u128,
23555						>,
23556					},
23557					#[codec(index = 1)]
23558					#[doc = "Delegate the voting power (with some given conviction) of the sending account for a"]
23559					#[doc = "particular class of polls."]
23560					#[doc = ""]
23561					#[doc = "The balance delegated is locked for as long as it's delegated, and thereafter for the"]
23562					#[doc = "time appropriate for the conviction's lock period."]
23563					#[doc = ""]
23564					#[doc = "The dispatch origin of this call must be _Signed_, and the signing account must either:"]
23565					#[doc = "  - be delegating already; or"]
23566					#[doc = "  - have no voting activity (if there is, then it will need to be removed through"]
23567					#[doc = "    `remove_vote`)."]
23568					#[doc = ""]
23569					#[doc = "- `to`: The account whose voting the `target` account's voting power will follow."]
23570					#[doc = "- `class`: The class of polls to delegate. To delegate multiple classes, multiple calls"]
23571					#[doc = "  to this function are required."]
23572					#[doc = "- `conviction`: The conviction that will be attached to the delegated votes. When the"]
23573					#[doc = "  account is undelegated, the funds will be locked for the corresponding period."]
23574					#[doc = "- `balance`: The amount of the account's balance to be used in delegating. This must not"]
23575					#[doc = "  be more than the account's current balance."]
23576					#[doc = ""]
23577					#[doc = "Emits `Delegated`."]
23578					#[doc = ""]
23579					#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
23580					#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
23581					delegate {
23582						class: ::core::primitive::u16,
23583						to: ::subxt::ext::subxt_core::utils::MultiAddress<
23584							::subxt::ext::subxt_core::utils::AccountId32,
23585							(),
23586						>,
23587						conviction: runtime_types::pallet_conviction_voting::conviction::Conviction,
23588						balance: ::core::primitive::u128,
23589					},
23590					#[codec(index = 2)]
23591					#[doc = "Undelegate the voting power of the sending account for a particular class of polls."]
23592					#[doc = ""]
23593					#[doc = "Tokens may be unlocked following once an amount of time consistent with the lock period"]
23594					#[doc = "of the conviction with which the delegation was issued has passed."]
23595					#[doc = ""]
23596					#[doc = "The dispatch origin of this call must be _Signed_ and the signing account must be"]
23597					#[doc = "currently delegating."]
23598					#[doc = ""]
23599					#[doc = "- `class`: The class of polls to remove the delegation from."]
23600					#[doc = ""]
23601					#[doc = "Emits `Undelegated`."]
23602					#[doc = ""]
23603					#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
23604					#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
23605					undelegate { class: ::core::primitive::u16 },
23606					#[codec(index = 3)]
23607					#[doc = "Remove the lock caused by prior voting/delegating which has expired within a particular"]
23608					#[doc = "class."]
23609					#[doc = ""]
23610					#[doc = "The dispatch origin of this call must be _Signed_."]
23611					#[doc = ""]
23612					#[doc = "- `class`: The class of polls to unlock."]
23613					#[doc = "- `target`: The account to remove the lock on."]
23614					#[doc = ""]
23615					#[doc = "Weight: `O(R)` with R number of vote of target."]
23616					unlock {
23617						class: ::core::primitive::u16,
23618						target: ::subxt::ext::subxt_core::utils::MultiAddress<
23619							::subxt::ext::subxt_core::utils::AccountId32,
23620							(),
23621						>,
23622					},
23623					#[codec(index = 4)]
23624					#[doc = "Remove a vote for a poll."]
23625					#[doc = ""]
23626					#[doc = "If:"]
23627					#[doc = "- the poll was cancelled, or"]
23628					#[doc = "- the poll is ongoing, or"]
23629					#[doc = "- the poll has ended such that"]
23630					#[doc = "  - the vote of the account was in opposition to the result; or"]
23631					#[doc = "  - there was no conviction to the account's vote; or"]
23632					#[doc = "  - the account made a split vote"]
23633					#[doc = "...then the vote is removed cleanly and a following call to `unlock` may result in more"]
23634					#[doc = "funds being available."]
23635					#[doc = ""]
23636					#[doc = "If, however, the poll has ended and:"]
23637					#[doc = "- it finished corresponding to the vote of the account, and"]
23638					#[doc = "- the account made a standard vote with conviction, and"]
23639					#[doc = "- the lock period of the conviction is not over"]
23640					#[doc = "...then the lock will be aggregated into the overall account's lock, which may involve"]
23641					#[doc = "*overlocking* (where the two locks are combined into a single lock that is the maximum"]
23642					#[doc = "of both the amount locked and the time is it locked for)."]
23643					#[doc = ""]
23644					#[doc = "The dispatch origin of this call must be _Signed_, and the signer must have a vote"]
23645					#[doc = "registered for poll `index`."]
23646					#[doc = ""]
23647					#[doc = "- `index`: The index of poll of the vote to be removed."]
23648					#[doc = "- `class`: Optional parameter, if given it indicates the class of the poll. For polls"]
23649					#[doc = "  which have finished or are cancelled, this must be `Some`."]
23650					#[doc = ""]
23651					#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
23652					#[doc = "  Weight is calculated for the maximum number of vote."]
23653					remove_vote {
23654						class: ::core::option::Option<::core::primitive::u16>,
23655						index: ::core::primitive::u32,
23656					},
23657					#[codec(index = 5)]
23658					#[doc = "Remove a vote for a poll."]
23659					#[doc = ""]
23660					#[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"]
23661					#[doc = "`remove_vote`. If not equal to the signer, then the vote must have expired,"]
23662					#[doc = "either because the poll was cancelled, because the voter lost the poll or"]
23663					#[doc = "because the conviction period is over."]
23664					#[doc = ""]
23665					#[doc = "The dispatch origin of this call must be _Signed_."]
23666					#[doc = ""]
23667					#[doc = "- `target`: The account of the vote to be removed; this account must have voted for poll"]
23668					#[doc = "  `index`."]
23669					#[doc = "- `index`: The index of poll of the vote to be removed."]
23670					#[doc = "- `class`: The class of the poll."]
23671					#[doc = ""]
23672					#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
23673					#[doc = "  Weight is calculated for the maximum number of vote."]
23674					remove_other_vote {
23675						target: ::subxt::ext::subxt_core::utils::MultiAddress<
23676							::subxt::ext::subxt_core::utils::AccountId32,
23677							(),
23678						>,
23679						class: ::core::primitive::u16,
23680						index: ::core::primitive::u32,
23681					},
23682				}
23683				#[derive(
23684					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23685					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23686					Debug,
23687				)]
23688				#[decode_as_type(
23689					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23690				)]
23691				#[encode_as_type(
23692					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23693				)]
23694				#[doc = "The `Error` enum of this pallet."]
23695				pub enum Error {
23696					#[codec(index = 0)]
23697					#[doc = "Poll is not ongoing."]
23698					NotOngoing,
23699					#[codec(index = 1)]
23700					#[doc = "The given account did not vote on the poll."]
23701					NotVoter,
23702					#[codec(index = 2)]
23703					#[doc = "The actor has no permission to conduct the action."]
23704					NoPermission,
23705					#[codec(index = 3)]
23706					#[doc = "The actor has no permission to conduct the action right now but will do in the future."]
23707					NoPermissionYet,
23708					#[codec(index = 4)]
23709					#[doc = "The account is already delegating."]
23710					AlreadyDelegating,
23711					#[codec(index = 5)]
23712					#[doc = "The account currently has votes attached to it and the operation cannot succeed until"]
23713					#[doc = "these are removed through `remove_vote`."]
23714					AlreadyVoting,
23715					#[codec(index = 6)]
23716					#[doc = "Too high a balance was provided that the account cannot afford."]
23717					InsufficientFunds,
23718					#[codec(index = 7)]
23719					#[doc = "The account is not currently delegating."]
23720					NotDelegating,
23721					#[codec(index = 8)]
23722					#[doc = "Delegation to oneself makes no sense."]
23723					Nonsense,
23724					#[codec(index = 9)]
23725					#[doc = "Maximum number of votes reached."]
23726					MaxVotesReached,
23727					#[codec(index = 10)]
23728					#[doc = "The class must be supplied since it is not easily determinable from the state."]
23729					ClassNeeded,
23730					#[codec(index = 11)]
23731					#[doc = "The class ID supplied is invalid."]
23732					BadClass,
23733				}
23734				#[derive(
23735					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23736					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23737					Debug,
23738				)]
23739				#[decode_as_type(
23740					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23741				)]
23742				#[encode_as_type(
23743					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23744				)]
23745				#[doc = "The `Event` enum of this pallet"]
23746				pub enum Event {
23747					#[codec(index = 0)]
23748					#[doc = "An account has delegated their vote to another account. \\[who, target\\]"]
23749					Delegated(
23750						::subxt::ext::subxt_core::utils::AccountId32,
23751						::subxt::ext::subxt_core::utils::AccountId32,
23752					),
23753					#[codec(index = 1)]
23754					#[doc = "An \\[account\\] has cancelled a previous delegation operation."]
23755					Undelegated(::subxt::ext::subxt_core::utils::AccountId32),
23756					#[codec(index = 2)]
23757					#[doc = "An account has voted"]
23758					Voted {
23759						who: ::subxt::ext::subxt_core::utils::AccountId32,
23760						vote: runtime_types::pallet_conviction_voting::vote::AccountVote<
23761							::core::primitive::u128,
23762						>,
23763					},
23764					#[codec(index = 3)]
23765					#[doc = "A vote has been removed"]
23766					VoteRemoved {
23767						who: ::subxt::ext::subxt_core::utils::AccountId32,
23768						vote: runtime_types::pallet_conviction_voting::vote::AccountVote<
23769							::core::primitive::u128,
23770						>,
23771					},
23772					#[codec(index = 4)]
23773					#[doc = "The lockup period of a conviction vote expired, and the funds have been unlocked."]
23774					VoteUnlocked {
23775						who: ::subxt::ext::subxt_core::utils::AccountId32,
23776						class: ::core::primitive::u16,
23777					},
23778				}
23779			}
23780			pub mod types {
23781				use super::runtime_types;
23782				#[derive(
23783					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23784					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23785					Debug,
23786				)]
23787				#[decode_as_type(
23788					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23789				)]
23790				#[encode_as_type(
23791					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23792				)]
23793				pub struct Delegations<_0> {
23794					pub votes: _0,
23795					pub capital: _0,
23796				}
23797				#[derive(
23798					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23799					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23800					Debug,
23801				)]
23802				#[decode_as_type(
23803					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23804				)]
23805				#[encode_as_type(
23806					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23807				)]
23808				pub struct Tally<_0> {
23809					pub ayes: _0,
23810					pub nays: _0,
23811					pub support: _0,
23812				}
23813			}
23814			pub mod vote {
23815				use super::runtime_types;
23816				#[derive(
23817					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23818					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23819					Debug,
23820				)]
23821				#[decode_as_type(
23822					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23823				)]
23824				#[encode_as_type(
23825					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23826				)]
23827				pub enum AccountVote<_0> {
23828					#[codec(index = 0)]
23829					Standard {
23830						vote: runtime_types::pallet_conviction_voting::vote::Vote,
23831						balance: _0,
23832					},
23833					#[codec(index = 1)]
23834					Split { aye: _0, nay: _0 },
23835					#[codec(index = 2)]
23836					SplitAbstain { aye: _0, nay: _0, abstain: _0 },
23837				}
23838				#[derive(
23839					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23840					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23841					Debug,
23842				)]
23843				#[decode_as_type(
23844					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23845				)]
23846				#[encode_as_type(
23847					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23848				)]
23849				pub struct Casting<_0, _1, _2> {
23850					pub votes: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
23851						_1,
23852						runtime_types::pallet_conviction_voting::vote::AccountVote<_0>,
23853					)>,
23854					pub delegations:
23855						runtime_types::pallet_conviction_voting::types::Delegations<_0>,
23856					pub prior: runtime_types::pallet_conviction_voting::vote::PriorLock<_1, _0>,
23857					#[codec(skip)]
23858					pub __ignore: ::core::marker::PhantomData<_2>,
23859				}
23860				#[derive(
23861					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23862					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23863					Debug,
23864				)]
23865				#[decode_as_type(
23866					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23867				)]
23868				#[encode_as_type(
23869					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23870				)]
23871				pub struct Delegating<_0, _1, _2> {
23872					pub balance: _0,
23873					pub target: _1,
23874					pub conviction: runtime_types::pallet_conviction_voting::conviction::Conviction,
23875					pub delegations:
23876						runtime_types::pallet_conviction_voting::types::Delegations<_0>,
23877					pub prior: runtime_types::pallet_conviction_voting::vote::PriorLock<_2, _0>,
23878				}
23879				#[derive(
23880					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23881					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23882					Debug,
23883				)]
23884				#[decode_as_type(
23885					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23886				)]
23887				#[encode_as_type(
23888					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23889				)]
23890				pub struct PriorLock<_0, _1>(pub _0, pub _1);
23891				#[derive(
23892					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23893					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23894					Debug,
23895				)]
23896				#[decode_as_type(
23897					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23898				)]
23899				#[encode_as_type(
23900					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23901				)]
23902				pub struct Vote(pub ::core::primitive::u8);
23903				#[derive(
23904					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23905					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23906					Debug,
23907				)]
23908				#[decode_as_type(
23909					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23910				)]
23911				#[encode_as_type(
23912					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23913				)]
23914				pub enum Voting<_0, _1, _2, _3> {
23915					#[codec(index = 0)]
23916					Casting(runtime_types::pallet_conviction_voting::vote::Casting<_0, _2, _2>),
23917					#[codec(index = 1)]
23918					Delegating(
23919						runtime_types::pallet_conviction_voting::vote::Delegating<_0, _1, _2>,
23920					),
23921					__Ignore(::core::marker::PhantomData<_3>),
23922				}
23923			}
23924		}
23925		pub mod pallet_merkle_airdrop {
23926			use super::runtime_types;
23927			pub mod pallet {
23928				use super::runtime_types;
23929				#[derive(
23930					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23931					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23932					Debug,
23933				)]
23934				#[decode_as_type(
23935					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23936				)]
23937				#[encode_as_type(
23938					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23939				)]
23940				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
23941				pub enum Call {
23942					#[codec(index = 0)]
23943					#[doc = "Create a new airdrop with a Merkle root."]
23944					#[doc = ""]
23945					#[doc = "The Merkle root is a cryptographic hash that represents all valid claims"]
23946					#[doc = "for this airdrop. Users will later provide Merkle proofs to verify their"]
23947					#[doc = "eligibility to claim tokens."]
23948					#[doc = ""]
23949					#[doc = "# Parameters"]
23950					#[doc = ""]
23951					#[doc = "* `origin` - The origin of the call (must be signed)"]
23952					#[doc = "* `merkle_root` - The Merkle root hash representing all valid claims"]
23953					#[doc = "* `vesting_period` - Optional vesting period for the airdrop"]
23954					#[doc = "* `vesting_delay` - Optional delay before vesting starts"]
23955					create_airdrop {
23956						merkle_root: [::core::primitive::u8; 32usize],
23957						vesting_period: ::core::option::Option<::core::primitive::u32>,
23958						vesting_delay: ::core::option::Option<::core::primitive::u32>,
23959					},
23960					#[codec(index = 1)]
23961					#[doc = "Fund an existing airdrop with tokens."]
23962					#[doc = ""]
23963					#[doc = "This function transfers tokens from the caller to the airdrop's account,"]
23964					#[doc = "making them available for users to claim."]
23965					#[doc = ""]
23966					#[doc = "# Parameters"]
23967					#[doc = ""]
23968					#[doc = "* `origin` - The origin of the call (must be signed)"]
23969					#[doc = "* `airdrop_id` - The ID of the airdrop to fund"]
23970					#[doc = "* `amount` - The amount of tokens to add to the airdrop"]
23971					#[doc = ""]
23972					#[doc = "# Errors"]
23973					#[doc = ""]
23974					#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
23975					fund_airdrop {
23976						airdrop_id: ::core::primitive::u32,
23977						amount: ::core::primitive::u128,
23978					},
23979					#[codec(index = 2)]
23980					#[doc = "Claim tokens from an airdrop by providing a Merkle proof."]
23981					#[doc = ""]
23982					#[doc = "Users can claim their tokens by providing a proof of their eligibility."]
23983					#[doc = "The proof is verified against the airdrop's Merkle root."]
23984					#[doc = "Anyone can trigger a claim for any eligible recipient."]
23985					#[doc = ""]
23986					#[doc = "# Parameters"]
23987					#[doc = ""]
23988					#[doc = "* `origin` - The origin of the call"]
23989					#[doc = "* `airdrop_id` - The ID of the airdrop to claim from"]
23990					#[doc = "* `amount` - The amount of tokens to claim"]
23991					#[doc = "* `merkle_proof` - The Merkle proof verifying eligibility"]
23992					#[doc = ""]
23993					#[doc = "# Errors"]
23994					#[doc = ""]
23995					#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
23996					#[doc = "* `AlreadyClaimed` - If the recipient has already claimed from this airdrop"]
23997					#[doc = "* `InvalidProof` - If the provided Merkle proof is invalid"]
23998					#[doc = "* `InsufficientAirdropBalance` - If the airdrop doesn't have enough tokens"]
23999					claim {
24000						airdrop_id: ::core::primitive::u32,
24001						recipient: ::subxt::ext::subxt_core::utils::AccountId32,
24002						amount: ::core::primitive::u128,
24003						merkle_proof: runtime_types::bounded_collections::bounded_vec::BoundedVec<
24004							[::core::primitive::u8; 32usize],
24005						>,
24006					},
24007					#[codec(index = 3)]
24008					#[doc = "Delete an airdrop and reclaim any remaining funds."]
24009					#[doc = ""]
24010					#[doc = "This function allows the creator of an airdrop to delete it and reclaim"]
24011					#[doc = "any remaining tokens that haven't been claimed."]
24012					#[doc = ""]
24013					#[doc = "# Parameters"]
24014					#[doc = ""]
24015					#[doc = "* `origin` - The origin of the call (must be the airdrop creator)"]
24016					#[doc = "* `airdrop_id` - The ID of the airdrop to delete"]
24017					#[doc = ""]
24018					#[doc = "# Errors"]
24019					#[doc = ""]
24020					#[doc = "* `AirdropNotFound` - If the specified airdrop does not exist"]
24021					#[doc = "* `NotAirdropCreator` - If the caller is not the creator of the airdrop"]
24022					delete_airdrop { airdrop_id: ::core::primitive::u32 },
24023				}
24024				#[derive(
24025					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24026					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24027					Debug,
24028				)]
24029				#[decode_as_type(
24030					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24031				)]
24032				#[encode_as_type(
24033					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24034				)]
24035				#[doc = "The `Error` enum of this pallet."]
24036				pub enum Error {
24037					#[codec(index = 0)]
24038					#[doc = "The specified airdrop does not exist."]
24039					AirdropNotFound,
24040					#[codec(index = 1)]
24041					#[doc = "The airdrop does not have sufficient balance for this operation."]
24042					InsufficientAirdropBalance,
24043					#[codec(index = 2)]
24044					#[doc = "The user has already claimed from this airdrop."]
24045					AlreadyClaimed,
24046					#[codec(index = 3)]
24047					#[doc = "The provided Merkle proof is invalid."]
24048					InvalidProof,
24049					#[codec(index = 4)]
24050					#[doc = "Only the creator of an airdrop can delete it."]
24051					NotAirdropCreator,
24052				}
24053				#[derive(
24054					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24055					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24056					Debug,
24057				)]
24058				#[decode_as_type(
24059					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24060				)]
24061				#[encode_as_type(
24062					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24063				)]
24064				#[doc = "The `Event` enum of this pallet"]
24065				pub enum Event {
24066					#[codec(index = 0)]
24067					#[doc = "A new airdrop has been created."]
24068					#[doc = ""]
24069					#[doc = "Parameters: [airdrop_id, merkle_root]"]
24070					AirdropCreated {
24071						airdrop_id: ::core::primitive::u32,
24072						airdrop_metadata: runtime_types::pallet_merkle_airdrop::AirdropMetadata<
24073							::core::primitive::u32,
24074							::core::primitive::u128,
24075							::subxt::ext::subxt_core::utils::AccountId32,
24076						>,
24077					},
24078					#[codec(index = 1)]
24079					#[doc = "An airdrop has been funded with tokens."]
24080					#[doc = ""]
24081					#[doc = "Parameters: [airdrop_id, amount]"]
24082					AirdropFunded {
24083						airdrop_id: ::core::primitive::u32,
24084						amount: ::core::primitive::u128,
24085					},
24086					#[codec(index = 2)]
24087					#[doc = "A user has claimed tokens from an airdrop."]
24088					#[doc = ""]
24089					#[doc = "Parameters: [airdrop_id, account, amount]"]
24090					Claimed {
24091						airdrop_id: ::core::primitive::u32,
24092						account: ::subxt::ext::subxt_core::utils::AccountId32,
24093						amount: ::core::primitive::u128,
24094					},
24095					#[codec(index = 3)]
24096					#[doc = "An airdrop has been deleted."]
24097					#[doc = ""]
24098					#[doc = "Parameters: [airdrop_id]"]
24099					AirdropDeleted { airdrop_id: ::core::primitive::u32 },
24100				}
24101			}
24102			#[derive(
24103				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24104				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24105				Debug,
24106			)]
24107			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24108			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24109			pub struct AirdropMetadata<_0, _1, _2> {
24110				pub merkle_root: [::core::primitive::u8; 32usize],
24111				pub creator: _2,
24112				pub balance: _1,
24113				pub vesting_period: ::core::option::Option<_0>,
24114				pub vesting_delay: ::core::option::Option<_0>,
24115			}
24116		}
24117		pub mod pallet_mining_rewards {
24118			use super::runtime_types;
24119			pub mod pallet {
24120				use super::runtime_types;
24121				#[derive(
24122					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24123					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24124					Debug,
24125				)]
24126				#[decode_as_type(
24127					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24128				)]
24129				#[encode_as_type(
24130					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24131				)]
24132				#[doc = "The `Event` enum of this pallet"]
24133				pub enum Event {
24134					#[codec(index = 0)]
24135					#[doc = "A miner has been identified for a block"]
24136					MinerRewarded {
24137						miner: ::subxt::ext::subxt_core::utils::AccountId32,
24138						reward: ::core::primitive::u128,
24139					},
24140					#[codec(index = 1)]
24141					#[doc = "Transaction fees were collected for later distribution"]
24142					FeesCollected {
24143						amount: ::core::primitive::u128,
24144						total: ::core::primitive::u128,
24145					},
24146					#[codec(index = 2)]
24147					#[doc = "Rewards were sent to Treasury when no miner was specified"]
24148					TreasuryRewarded { reward: ::core::primitive::u128 },
24149				}
24150			}
24151		}
24152		pub mod pallet_preimage {
24153			use super::runtime_types;
24154			pub mod pallet {
24155				use super::runtime_types;
24156				#[derive(
24157					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24158					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24159					Debug,
24160				)]
24161				#[decode_as_type(
24162					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24163				)]
24164				#[encode_as_type(
24165					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24166				)]
24167				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
24168				pub enum Call {
24169					#[codec(index = 0)]
24170					#[doc = "Register a preimage on-chain."]
24171					#[doc = ""]
24172					#[doc = "If the preimage was previously requested, no fees or deposits are taken for providing"]
24173					#[doc = "the preimage. Otherwise, a deposit is taken proportional to the size of the preimage."]
24174					note_preimage {
24175						bytes: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
24176					},
24177					#[codec(index = 1)]
24178					#[doc = "Clear an unrequested preimage from the runtime storage."]
24179					#[doc = ""]
24180					#[doc = "If `len` is provided, then it will be a much cheaper operation."]
24181					#[doc = ""]
24182					#[doc = "- `hash`: The hash of the preimage to be removed from the store."]
24183					#[doc = "- `len`: The length of the preimage of `hash`."]
24184					unnote_preimage { hash: ::subxt::ext::subxt_core::utils::H256 },
24185					#[codec(index = 2)]
24186					#[doc = "Request a preimage be uploaded to the chain without paying any fees or deposits."]
24187					#[doc = ""]
24188					#[doc = "If the preimage requests has already been provided on-chain, we unreserve any deposit"]
24189					#[doc = "a user may have paid, and take the control of the preimage out of their hands."]
24190					request_preimage { hash: ::subxt::ext::subxt_core::utils::H256 },
24191					#[codec(index = 3)]
24192					#[doc = "Clear a previously made request for a preimage."]
24193					#[doc = ""]
24194					#[doc = "NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`."]
24195					unrequest_preimage { hash: ::subxt::ext::subxt_core::utils::H256 },
24196					#[codec(index = 4)]
24197					#[doc = "Ensure that the bulk of pre-images is upgraded."]
24198					#[doc = ""]
24199					#[doc = "The caller pays no fee if at least 90% of pre-images were successfully updated."]
24200					ensure_updated {
24201						hashes: ::subxt::ext::subxt_core::alloc::vec::Vec<
24202							::subxt::ext::subxt_core::utils::H256,
24203						>,
24204					},
24205				}
24206				#[derive(
24207					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24208					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24209					Debug,
24210				)]
24211				#[decode_as_type(
24212					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24213				)]
24214				#[encode_as_type(
24215					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24216				)]
24217				#[doc = "The `Error` enum of this pallet."]
24218				pub enum Error {
24219					#[codec(index = 0)]
24220					#[doc = "Preimage is too large to store on-chain."]
24221					TooBig,
24222					#[codec(index = 1)]
24223					#[doc = "Preimage has already been noted on-chain."]
24224					AlreadyNoted,
24225					#[codec(index = 2)]
24226					#[doc = "The user is not authorized to perform this action."]
24227					NotAuthorized,
24228					#[codec(index = 3)]
24229					#[doc = "The preimage cannot be removed since it has not yet been noted."]
24230					NotNoted,
24231					#[codec(index = 4)]
24232					#[doc = "A preimage may not be removed when there are outstanding requests."]
24233					Requested,
24234					#[codec(index = 5)]
24235					#[doc = "The preimage request cannot be removed since no outstanding requests exist."]
24236					NotRequested,
24237					#[codec(index = 6)]
24238					#[doc = "More than `MAX_HASH_UPGRADE_BULK_COUNT` hashes were requested to be upgraded at once."]
24239					TooMany,
24240					#[codec(index = 7)]
24241					#[doc = "Too few hashes were requested to be upgraded (i.e. zero)."]
24242					TooFew,
24243				}
24244				#[derive(
24245					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24246					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24247					Debug,
24248				)]
24249				#[decode_as_type(
24250					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24251				)]
24252				#[encode_as_type(
24253					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24254				)]
24255				#[doc = "The `Event` enum of this pallet"]
24256				pub enum Event {
24257					#[codec(index = 0)]
24258					#[doc = "A preimage has been noted."]
24259					Noted { hash: ::subxt::ext::subxt_core::utils::H256 },
24260					#[codec(index = 1)]
24261					#[doc = "A preimage has been requested."]
24262					Requested { hash: ::subxt::ext::subxt_core::utils::H256 },
24263					#[codec(index = 2)]
24264					#[doc = "A preimage has ben cleared."]
24265					Cleared { hash: ::subxt::ext::subxt_core::utils::H256 },
24266				}
24267				#[derive(
24268					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24269					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24270					Debug,
24271				)]
24272				#[decode_as_type(
24273					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24274				)]
24275				#[encode_as_type(
24276					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24277				)]
24278				pub enum HoldReason {
24279					#[codec(index = 0)]
24280					Preimage,
24281				}
24282			}
24283			#[derive(
24284				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24285				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24286				Debug,
24287			)]
24288			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24289			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24290			pub enum OldRequestStatus<_0, _1> {
24291				#[codec(index = 0)]
24292				Unrequested { deposit: (_0, _1), len: ::core::primitive::u32 },
24293				#[codec(index = 1)]
24294				Requested {
24295					deposit: ::core::option::Option<(_0, _1)>,
24296					count: ::core::primitive::u32,
24297					len: ::core::option::Option<::core::primitive::u32>,
24298				},
24299			}
24300			#[derive(
24301				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24302				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24303				Debug,
24304			)]
24305			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24306			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24307			pub enum RequestStatus<_0, _1> {
24308				#[codec(index = 0)]
24309				Unrequested { ticket: (_0, _1), len: ::core::primitive::u32 },
24310				#[codec(index = 1)]
24311				Requested {
24312					maybe_ticket: ::core::option::Option<(_0, _1)>,
24313					count: ::core::primitive::u32,
24314					maybe_len: ::core::option::Option<::core::primitive::u32>,
24315				},
24316			}
24317		}
24318		pub mod pallet_qpow {
24319			use super::runtime_types;
24320			pub mod pallet {
24321				use super::runtime_types;
24322				#[derive(
24323					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24324					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24325					Debug,
24326				)]
24327				#[decode_as_type(
24328					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24329				)]
24330				#[encode_as_type(
24331					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24332				)]
24333				#[doc = "The `Event` enum of this pallet"]
24334				pub enum Event {
24335					#[codec(index = 0)]
24336					ProofSubmitted {
24337						nonce: [::core::primitive::u8; 64usize],
24338						difficulty: runtime_types::primitive_types::U512,
24339						hash_achieved: runtime_types::primitive_types::U512,
24340					},
24341					#[codec(index = 1)]
24342					DifficultyAdjusted {
24343						old_difficulty: runtime_types::primitive_types::U512,
24344						new_difficulty: runtime_types::primitive_types::U512,
24345						observed_block_time: ::core::primitive::u64,
24346					},
24347				}
24348			}
24349		}
24350		pub mod pallet_ranked_collective {
24351			use super::runtime_types;
24352			pub mod pallet {
24353				use super::runtime_types;
24354				#[derive(
24355					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24356					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24357					Debug,
24358				)]
24359				#[decode_as_type(
24360					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24361				)]
24362				#[encode_as_type(
24363					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24364				)]
24365				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
24366				pub enum Call {
24367					#[codec(index = 0)]
24368					#[doc = "Introduce a new member."]
24369					#[doc = ""]
24370					#[doc = "- `origin`: Must be the `AddOrigin`."]
24371					#[doc = "- `who`: Account of non-member which will become a member."]
24372					#[doc = ""]
24373					#[doc = "Weight: `O(1)`"]
24374					add_member {
24375						who: ::subxt::ext::subxt_core::utils::MultiAddress<
24376							::subxt::ext::subxt_core::utils::AccountId32,
24377							(),
24378						>,
24379					},
24380					#[codec(index = 1)]
24381					#[doc = "Increment the rank of an existing member by one."]
24382					#[doc = ""]
24383					#[doc = "- `origin`: Must be the `PromoteOrigin`."]
24384					#[doc = "- `who`: Account of existing member."]
24385					#[doc = ""]
24386					#[doc = "Weight: `O(1)`"]
24387					promote_member {
24388						who: ::subxt::ext::subxt_core::utils::MultiAddress<
24389							::subxt::ext::subxt_core::utils::AccountId32,
24390							(),
24391						>,
24392					},
24393					#[codec(index = 2)]
24394					#[doc = "Decrement the rank of an existing member by one. If the member is already at rank zero,"]
24395					#[doc = "then they are removed entirely."]
24396					#[doc = ""]
24397					#[doc = "- `origin`: Must be the `DemoteOrigin`."]
24398					#[doc = "- `who`: Account of existing member of rank greater than zero."]
24399					#[doc = ""]
24400					#[doc = "Weight: `O(1)`, less if the member's index is highest in its rank."]
24401					demote_member {
24402						who: ::subxt::ext::subxt_core::utils::MultiAddress<
24403							::subxt::ext::subxt_core::utils::AccountId32,
24404							(),
24405						>,
24406					},
24407					#[codec(index = 3)]
24408					#[doc = "Remove the member entirely."]
24409					#[doc = ""]
24410					#[doc = "- `origin`: Must be the `RemoveOrigin`."]
24411					#[doc = "- `who`: Account of existing member of rank greater than zero."]
24412					#[doc = "- `min_rank`: The rank of the member or greater."]
24413					#[doc = ""]
24414					#[doc = "Weight: `O(min_rank)`."]
24415					remove_member {
24416						who: ::subxt::ext::subxt_core::utils::MultiAddress<
24417							::subxt::ext::subxt_core::utils::AccountId32,
24418							(),
24419						>,
24420						min_rank: ::core::primitive::u16,
24421					},
24422					#[codec(index = 4)]
24423					#[doc = "Add an aye or nay vote for the sender to the given proposal."]
24424					#[doc = ""]
24425					#[doc = "- `origin`: Must be `Signed` by a member account."]
24426					#[doc = "- `poll`: Index of a poll which is ongoing."]
24427					#[doc = "- `aye`: `true` if the vote is to approve the proposal, `false` otherwise."]
24428					#[doc = ""]
24429					#[doc = "Transaction fees are be waived if the member is voting on any particular proposal"]
24430					#[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"]
24431					#[doc = "fee."]
24432					#[doc = ""]
24433					#[doc = "Weight: `O(1)`, less if there was no previous vote on the poll by the member."]
24434					vote { poll: ::core::primitive::u32, aye: ::core::primitive::bool },
24435					#[codec(index = 5)]
24436					#[doc = "Remove votes from the given poll. It must have ended."]
24437					#[doc = ""]
24438					#[doc = "- `origin`: Must be `Signed` by any account."]
24439					#[doc = "- `poll_index`: Index of a poll which is completed and for which votes continue to"]
24440					#[doc = "  exist."]
24441					#[doc = "- `max`: Maximum number of vote items from remove in this call."]
24442					#[doc = ""]
24443					#[doc = "Transaction fees are waived if the operation is successful."]
24444					#[doc = ""]
24445					#[doc = "Weight `O(max)` (less if there are fewer items to remove than `max`)."]
24446					cleanup_poll { poll_index: ::core::primitive::u32, max: ::core::primitive::u32 },
24447					#[codec(index = 6)]
24448					#[doc = "Exchanges a member with a new account and the same existing rank."]
24449					#[doc = ""]
24450					#[doc = "- `origin`: Must be the `ExchangeOrigin`."]
24451					#[doc = "- `who`: Account of existing member of rank greater than zero to be exchanged."]
24452					#[doc = "- `new_who`: New Account of existing member of rank greater than zero to exchanged to."]
24453					exchange_member {
24454						who: ::subxt::ext::subxt_core::utils::MultiAddress<
24455							::subxt::ext::subxt_core::utils::AccountId32,
24456							(),
24457						>,
24458						new_who: ::subxt::ext::subxt_core::utils::MultiAddress<
24459							::subxt::ext::subxt_core::utils::AccountId32,
24460							(),
24461						>,
24462					},
24463				}
24464				#[derive(
24465					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24466					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24467					Debug,
24468				)]
24469				#[decode_as_type(
24470					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24471				)]
24472				#[encode_as_type(
24473					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24474				)]
24475				#[doc = "The `Error` enum of this pallet."]
24476				pub enum Error {
24477					#[codec(index = 0)]
24478					#[doc = "Account is already a member."]
24479					AlreadyMember,
24480					#[codec(index = 1)]
24481					#[doc = "Account is not a member."]
24482					NotMember,
24483					#[codec(index = 2)]
24484					#[doc = "The given poll index is unknown or has closed."]
24485					NotPolling,
24486					#[codec(index = 3)]
24487					#[doc = "The given poll is still ongoing."]
24488					Ongoing,
24489					#[codec(index = 4)]
24490					#[doc = "There are no further records to be removed."]
24491					NoneRemaining,
24492					#[codec(index = 5)]
24493					#[doc = "Unexpected error in state."]
24494					Corruption,
24495					#[codec(index = 6)]
24496					#[doc = "The member's rank is too low to vote."]
24497					RankTooLow,
24498					#[codec(index = 7)]
24499					#[doc = "The information provided is incorrect."]
24500					InvalidWitness,
24501					#[codec(index = 8)]
24502					#[doc = "The origin is not sufficiently privileged to do the operation."]
24503					NoPermission,
24504					#[codec(index = 9)]
24505					#[doc = "The new member to exchange is the same as the old member"]
24506					SameMember,
24507					#[codec(index = 10)]
24508					#[doc = "The max member count for the rank has been reached."]
24509					TooManyMembers,
24510				}
24511				#[derive(
24512					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24513					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24514					Debug,
24515				)]
24516				#[decode_as_type(
24517					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24518				)]
24519				#[encode_as_type(
24520					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24521				)]
24522				#[doc = "The `Event` enum of this pallet"]
24523				pub enum Event {
24524					#[codec(index = 0)]
24525					#[doc = "A member `who` has been added."]
24526					MemberAdded { who: ::subxt::ext::subxt_core::utils::AccountId32 },
24527					#[codec(index = 1)]
24528					#[doc = "The member `who`se rank has been changed to the given `rank`."]
24529					RankChanged {
24530						who: ::subxt::ext::subxt_core::utils::AccountId32,
24531						rank: ::core::primitive::u16,
24532					},
24533					#[codec(index = 2)]
24534					#[doc = "The member `who` of given `rank` has been removed from the collective."]
24535					MemberRemoved {
24536						who: ::subxt::ext::subxt_core::utils::AccountId32,
24537						rank: ::core::primitive::u16,
24538					},
24539					#[codec(index = 3)]
24540					#[doc = "The member `who` has voted for the `poll` with the given `vote` leading to an updated"]
24541					#[doc = "`tally`."]
24542					Voted {
24543						who: ::subxt::ext::subxt_core::utils::AccountId32,
24544						poll: ::core::primitive::u32,
24545						vote: runtime_types::pallet_ranked_collective::VoteRecord,
24546						tally: runtime_types::pallet_ranked_collective::Tally,
24547					},
24548					#[codec(index = 4)]
24549					#[doc = "The member `who` had their `AccountId` changed to `new_who`."]
24550					MemberExchanged {
24551						who: ::subxt::ext::subxt_core::utils::AccountId32,
24552						new_who: ::subxt::ext::subxt_core::utils::AccountId32,
24553					},
24554				}
24555			}
24556			#[derive(
24557				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24558				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24559				Debug,
24560			)]
24561			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24562			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24563			pub struct MemberRecord {
24564				pub rank: ::core::primitive::u16,
24565			}
24566			#[derive(
24567				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24568				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24569				Debug,
24570			)]
24571			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24572			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24573			pub struct Tally {
24574				pub bare_ayes: ::core::primitive::u32,
24575				pub ayes: ::core::primitive::u32,
24576				pub nays: ::core::primitive::u32,
24577			}
24578			#[derive(
24579				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24580				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24581				Debug,
24582			)]
24583			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24584			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24585			pub enum VoteRecord {
24586				#[codec(index = 0)]
24587				Aye(::core::primitive::u32),
24588				#[codec(index = 1)]
24589				Nay(::core::primitive::u32),
24590			}
24591		}
24592		pub mod pallet_recovery {
24593			use super::runtime_types;
24594			pub mod pallet {
24595				use super::runtime_types;
24596				#[derive(
24597					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24598					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24599					Debug,
24600				)]
24601				#[decode_as_type(
24602					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24603				)]
24604				#[encode_as_type(
24605					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24606				)]
24607				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
24608				pub enum Call {
24609					#[codec(index = 0)]
24610					#[doc = "Send a call through a recovered account."]
24611					#[doc = ""]
24612					#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
24613					#[doc = "be able to make calls on behalf of the recovered account."]
24614					#[doc = ""]
24615					#[doc = "Parameters:"]
24616					#[doc = "- `account`: The recovered account you want to make a call on-behalf-of."]
24617					#[doc = "- `call`: The call you want to make with the recovered account."]
24618					as_recovered {
24619						account: ::subxt::ext::subxt_core::utils::MultiAddress<
24620							::subxt::ext::subxt_core::utils::AccountId32,
24621							(),
24622						>,
24623						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
24624							runtime_types::quantus_runtime::RuntimeCall,
24625						>,
24626					},
24627					#[codec(index = 1)]
24628					#[doc = "Allow ROOT to bypass the recovery process and set a rescuer account"]
24629					#[doc = "for a lost account directly."]
24630					#[doc = ""]
24631					#[doc = "The dispatch origin for this call must be _ROOT_."]
24632					#[doc = ""]
24633					#[doc = "Parameters:"]
24634					#[doc = "- `lost`: The \"lost account\" to be recovered."]
24635					#[doc = "- `rescuer`: The \"rescuer account\" which can call as the lost account."]
24636					set_recovered {
24637						lost: ::subxt::ext::subxt_core::utils::MultiAddress<
24638							::subxt::ext::subxt_core::utils::AccountId32,
24639							(),
24640						>,
24641						rescuer: ::subxt::ext::subxt_core::utils::MultiAddress<
24642							::subxt::ext::subxt_core::utils::AccountId32,
24643							(),
24644						>,
24645					},
24646					#[codec(index = 2)]
24647					#[doc = "Create a recovery configuration for your account. This makes your account recoverable."]
24648					#[doc = ""]
24649					#[doc = "Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance"]
24650					#[doc = "will be reserved for storing the recovery configuration. This deposit is returned"]
24651					#[doc = "in full when the user calls `remove_recovery`."]
24652					#[doc = ""]
24653					#[doc = "The dispatch origin for this call must be _Signed_."]
24654					#[doc = ""]
24655					#[doc = "Parameters:"]
24656					#[doc = "- `friends`: A list of friends you trust to vouch for recovery attempts. Should be"]
24657					#[doc = "  ordered and contain no duplicate values."]
24658					#[doc = "- `threshold`: The number of friends that must vouch for a recovery attempt before the"]
24659					#[doc = "  account can be recovered. Should be less than or equal to the length of the list of"]
24660					#[doc = "  friends."]
24661					#[doc = "- `delay_period`: The number of blocks after a recovery attempt is initialized that"]
24662					#[doc = "  needs to pass before the account can be recovered."]
24663					create_recovery {
24664						friends: ::subxt::ext::subxt_core::alloc::vec::Vec<
24665							::subxt::ext::subxt_core::utils::AccountId32,
24666						>,
24667						threshold: ::core::primitive::u16,
24668						delay_period: ::core::primitive::u32,
24669					},
24670					#[codec(index = 3)]
24671					#[doc = "Initiate the process for recovering a recoverable account."]
24672					#[doc = ""]
24673					#[doc = "Payment: `RecoveryDeposit` balance will be reserved for initiating the"]
24674					#[doc = "recovery process. This deposit will always be repatriated to the account"]
24675					#[doc = "trying to be recovered. See `close_recovery`."]
24676					#[doc = ""]
24677					#[doc = "The dispatch origin for this call must be _Signed_."]
24678					#[doc = ""]
24679					#[doc = "Parameters:"]
24680					#[doc = "- `account`: The lost account that you want to recover. This account needs to be"]
24681					#[doc = "  recoverable (i.e. have a recovery configuration)."]
24682					initiate_recovery {
24683						account: ::subxt::ext::subxt_core::utils::MultiAddress<
24684							::subxt::ext::subxt_core::utils::AccountId32,
24685							(),
24686						>,
24687					},
24688					#[codec(index = 4)]
24689					#[doc = "Allow a \"friend\" of a recoverable account to vouch for an active recovery"]
24690					#[doc = "process for that account."]
24691					#[doc = ""]
24692					#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"friend\""]
24693					#[doc = "for the recoverable account."]
24694					#[doc = ""]
24695					#[doc = "Parameters:"]
24696					#[doc = "- `lost`: The lost account that you want to recover."]
24697					#[doc = "- `rescuer`: The account trying to rescue the lost account that you want to vouch for."]
24698					#[doc = ""]
24699					#[doc = "The combination of these two parameters must point to an active recovery"]
24700					#[doc = "process."]
24701					vouch_recovery {
24702						lost: ::subxt::ext::subxt_core::utils::MultiAddress<
24703							::subxt::ext::subxt_core::utils::AccountId32,
24704							(),
24705						>,
24706						rescuer: ::subxt::ext::subxt_core::utils::MultiAddress<
24707							::subxt::ext::subxt_core::utils::AccountId32,
24708							(),
24709						>,
24710					},
24711					#[codec(index = 5)]
24712					#[doc = "Allow a successful rescuer to claim their recovered account."]
24713					#[doc = ""]
24714					#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"rescuer\""]
24715					#[doc = "who has successfully completed the account recovery process: collected"]
24716					#[doc = "`threshold` or more vouches, waited `delay_period` blocks since initiation."]
24717					#[doc = ""]
24718					#[doc = "Parameters:"]
24719					#[doc = "- `account`: The lost account that you want to claim has been successfully recovered by"]
24720					#[doc = "  you."]
24721					claim_recovery {
24722						account: ::subxt::ext::subxt_core::utils::MultiAddress<
24723							::subxt::ext::subxt_core::utils::AccountId32,
24724							(),
24725						>,
24726					},
24727					#[codec(index = 6)]
24728					#[doc = "As the controller of a recoverable account, close an active recovery"]
24729					#[doc = "process for your account."]
24730					#[doc = ""]
24731					#[doc = "Payment: By calling this function, the recoverable account will receive"]
24732					#[doc = "the recovery deposit `RecoveryDeposit` placed by the rescuer."]
24733					#[doc = ""]
24734					#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
24735					#[doc = "recoverable account with an active recovery process for it."]
24736					#[doc = ""]
24737					#[doc = "Parameters:"]
24738					#[doc = "- `rescuer`: The account trying to rescue this recoverable account."]
24739					close_recovery {
24740						rescuer: ::subxt::ext::subxt_core::utils::MultiAddress<
24741							::subxt::ext::subxt_core::utils::AccountId32,
24742							(),
24743						>,
24744					},
24745					#[codec(index = 7)]
24746					#[doc = "Remove the recovery process for your account. Recovered accounts are still accessible."]
24747					#[doc = ""]
24748					#[doc = "NOTE: The user must make sure to call `close_recovery` on all active"]
24749					#[doc = "recovery attempts before calling this function else it will fail."]
24750					#[doc = ""]
24751					#[doc = "Payment: By calling this function the recoverable account will unreserve"]
24752					#[doc = "their recovery configuration deposit."]
24753					#[doc = "(`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)"]
24754					#[doc = ""]
24755					#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
24756					#[doc = "recoverable account (i.e. has a recovery configuration)."]
24757					remove_recovery,
24758					#[codec(index = 8)]
24759					#[doc = "Cancel the ability to use `as_recovered` for `account`."]
24760					#[doc = ""]
24761					#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
24762					#[doc = "be able to make calls on behalf of the recovered account."]
24763					#[doc = ""]
24764					#[doc = "Parameters:"]
24765					#[doc = "- `account`: The recovered account you are able to call on-behalf-of."]
24766					cancel_recovered {
24767						account: ::subxt::ext::subxt_core::utils::MultiAddress<
24768							::subxt::ext::subxt_core::utils::AccountId32,
24769							(),
24770						>,
24771					},
24772					#[codec(index = 9)]
24773					#[doc = "Poke deposits for recovery configurations and / or active recoveries."]
24774					#[doc = ""]
24775					#[doc = "This can be used by accounts to possibly lower their locked amount."]
24776					#[doc = ""]
24777					#[doc = "The dispatch origin for this call must be _Signed_."]
24778					#[doc = ""]
24779					#[doc = "Parameters:"]
24780					#[doc = "- `maybe_account`: Optional recoverable account for which you have an active recovery"]
24781					#[doc = "and want to adjust the deposit for the active recovery."]
24782					#[doc = ""]
24783					#[doc = "This function checks both recovery configuration deposit and active recovery deposits"]
24784					#[doc = "of the caller:"]
24785					#[doc = "- If the caller has created a recovery configuration, checks and adjusts its deposit"]
24786					#[doc = "- If the caller has initiated any active recoveries, and provides the account in"]
24787					#[doc = "`maybe_account`, checks and adjusts those deposits"]
24788					#[doc = ""]
24789					#[doc = "If any deposit is updated, the difference will be reserved/unreserved from the caller's"]
24790					#[doc = "account."]
24791					#[doc = ""]
24792					#[doc = "The transaction is made free if any deposit is updated and paid otherwise."]
24793					#[doc = ""]
24794					#[doc = "Emits `DepositPoked` if any deposit is updated."]
24795					#[doc = "Multiple events may be emitted in case both types of deposits are updated."]
24796					poke_deposit {
24797						maybe_account: ::core::option::Option<
24798							::subxt::ext::subxt_core::utils::MultiAddress<
24799								::subxt::ext::subxt_core::utils::AccountId32,
24800								(),
24801							>,
24802						>,
24803					},
24804				}
24805				#[derive(
24806					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24807					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24808					Debug,
24809				)]
24810				#[decode_as_type(
24811					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24812				)]
24813				#[encode_as_type(
24814					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24815				)]
24816				#[doc = "The `Error` enum of this pallet."]
24817				pub enum Error {
24818					#[codec(index = 0)]
24819					#[doc = "User is not allowed to make a call on behalf of this account"]
24820					NotAllowed,
24821					#[codec(index = 1)]
24822					#[doc = "Threshold must be greater than zero"]
24823					ZeroThreshold,
24824					#[codec(index = 2)]
24825					#[doc = "Friends list must be greater than zero and threshold"]
24826					NotEnoughFriends,
24827					#[codec(index = 3)]
24828					#[doc = "Friends list must be less than max friends"]
24829					MaxFriends,
24830					#[codec(index = 4)]
24831					#[doc = "Friends list must be sorted and free of duplicates"]
24832					NotSorted,
24833					#[codec(index = 5)]
24834					#[doc = "This account is not set up for recovery"]
24835					NotRecoverable,
24836					#[codec(index = 6)]
24837					#[doc = "This account is already set up for recovery"]
24838					AlreadyRecoverable,
24839					#[codec(index = 7)]
24840					#[doc = "A recovery process has already started for this account"]
24841					AlreadyStarted,
24842					#[codec(index = 8)]
24843					#[doc = "A recovery process has not started for this rescuer"]
24844					NotStarted,
24845					#[codec(index = 9)]
24846					#[doc = "This account is not a friend who can vouch"]
24847					NotFriend,
24848					#[codec(index = 10)]
24849					#[doc = "The friend must wait until the delay period to vouch for this recovery"]
24850					DelayPeriod,
24851					#[codec(index = 11)]
24852					#[doc = "This user has already vouched for this recovery"]
24853					AlreadyVouched,
24854					#[codec(index = 12)]
24855					#[doc = "The threshold for recovering this account has not been met"]
24856					Threshold,
24857					#[codec(index = 13)]
24858					#[doc = "There are still active recovery attempts that need to be closed"]
24859					StillActive,
24860					#[codec(index = 14)]
24861					#[doc = "This account is already set up for recovery"]
24862					AlreadyProxy,
24863					#[codec(index = 15)]
24864					#[doc = "Some internal state is broken."]
24865					BadState,
24866				}
24867				#[derive(
24868					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24869					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24870					Debug,
24871				)]
24872				#[decode_as_type(
24873					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24874				)]
24875				#[encode_as_type(
24876					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24877				)]
24878				#[doc = "Events type."]
24879				pub enum Event {
24880					#[codec(index = 0)]
24881					#[doc = "A recovery process has been set up for an account."]
24882					RecoveryCreated { account: ::subxt::ext::subxt_core::utils::AccountId32 },
24883					#[codec(index = 1)]
24884					#[doc = "A recovery process has been initiated for lost account by rescuer account."]
24885					RecoveryInitiated {
24886						lost_account: ::subxt::ext::subxt_core::utils::AccountId32,
24887						rescuer_account: ::subxt::ext::subxt_core::utils::AccountId32,
24888					},
24889					#[codec(index = 2)]
24890					#[doc = "A recovery process for lost account by rescuer account has been vouched for by sender."]
24891					RecoveryVouched {
24892						lost_account: ::subxt::ext::subxt_core::utils::AccountId32,
24893						rescuer_account: ::subxt::ext::subxt_core::utils::AccountId32,
24894						sender: ::subxt::ext::subxt_core::utils::AccountId32,
24895					},
24896					#[codec(index = 3)]
24897					#[doc = "A recovery process for lost account by rescuer account has been closed."]
24898					RecoveryClosed {
24899						lost_account: ::subxt::ext::subxt_core::utils::AccountId32,
24900						rescuer_account: ::subxt::ext::subxt_core::utils::AccountId32,
24901					},
24902					#[codec(index = 4)]
24903					#[doc = "Lost account has been successfully recovered by rescuer account."]
24904					AccountRecovered {
24905						lost_account: ::subxt::ext::subxt_core::utils::AccountId32,
24906						rescuer_account: ::subxt::ext::subxt_core::utils::AccountId32,
24907					},
24908					#[codec(index = 5)]
24909					#[doc = "A recovery process has been removed for an account."]
24910					RecoveryRemoved { lost_account: ::subxt::ext::subxt_core::utils::AccountId32 },
24911					#[codec(index = 6)]
24912					#[doc = "A deposit has been updated."]
24913					DepositPoked {
24914						who: ::subxt::ext::subxt_core::utils::AccountId32,
24915						kind: runtime_types::pallet_recovery::DepositKind<
24916							runtime_types::quantus_runtime::Runtime,
24917						>,
24918						old_deposit: ::core::primitive::u128,
24919						new_deposit: ::core::primitive::u128,
24920					},
24921				}
24922			}
24923			#[derive(
24924				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24925				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24926				Debug,
24927			)]
24928			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24929			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24930			pub struct ActiveRecovery<_0, _1, _2> {
24931				pub created: _0,
24932				pub deposit: _1,
24933				pub friends: _2,
24934			}
24935			#[derive(
24936				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24937				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24938				Debug,
24939			)]
24940			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24941			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24942			pub enum DepositKind<_0> {
24943				#[codec(index = 0)]
24944				RecoveryConfig,
24945				#[codec(index = 1)]
24946				ActiveRecoveryFor(::subxt::ext::subxt_core::utils::AccountId32),
24947				__Ignore(::core::marker::PhantomData<_0>),
24948			}
24949			#[derive(
24950				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24951				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24952				Debug,
24953			)]
24954			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24955			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24956			pub struct RecoveryConfig<_0, _1, _2> {
24957				pub delay_period: _0,
24958				pub deposit: _1,
24959				pub friends: _2,
24960				pub threshold: ::core::primitive::u16,
24961			}
24962		}
24963		pub mod pallet_referenda {
24964			use super::runtime_types;
24965			pub mod pallet {
24966				use super::runtime_types;
24967				#[derive(
24968					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24969					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24970					Debug,
24971				)]
24972				#[decode_as_type(
24973					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24974				)]
24975				#[encode_as_type(
24976					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24977				)]
24978				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
24979				pub enum Call {
24980					#[codec(index = 0)]
24981					#[doc = "Propose a referendum on a privileged action."]
24982					#[doc = ""]
24983					#[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"]
24984					#[doc = "  available."]
24985					#[doc = "- `proposal_origin`: The origin from which the proposal should be executed."]
24986					#[doc = "- `proposal`: The proposal."]
24987					#[doc = "- `enactment_moment`: The moment that the proposal should be enacted."]
24988					#[doc = ""]
24989					#[doc = "Emits `Submitted`."]
24990					submit {
24991						proposal_origin: ::subxt::ext::subxt_core::alloc::boxed::Box<
24992							runtime_types::quantus_runtime::OriginCaller,
24993						>,
24994						proposal: runtime_types::frame_support::traits::preimages::Bounded<
24995							runtime_types::quantus_runtime::RuntimeCall,
24996							runtime_types::qp_poseidon::PoseidonHasher,
24997						>,
24998						enactment_moment:
24999							runtime_types::frame_support::traits::schedule::DispatchTime<
25000								::core::primitive::u32,
25001							>,
25002					},
25003					#[codec(index = 1)]
25004					#[doc = "Post the Decision Deposit for a referendum."]
25005					#[doc = ""]
25006					#[doc = "- `origin`: must be `Signed` and the account must have funds available for the"]
25007					#[doc = "  referendum's track's Decision Deposit."]
25008					#[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"]
25009					#[doc = "  posted."]
25010					#[doc = ""]
25011					#[doc = "Emits `DecisionDepositPlaced`."]
25012					place_decision_deposit { index: ::core::primitive::u32 },
25013					#[codec(index = 2)]
25014					#[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."]
25015					#[doc = ""]
25016					#[doc = "- `origin`: must be `Signed` or `Root`."]
25017					#[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"]
25018					#[doc = "  refunded."]
25019					#[doc = ""]
25020					#[doc = "Emits `DecisionDepositRefunded`."]
25021					refund_decision_deposit { index: ::core::primitive::u32 },
25022					#[codec(index = 3)]
25023					#[doc = "Cancel an ongoing referendum."]
25024					#[doc = ""]
25025					#[doc = "- `origin`: must be the `CancelOrigin`."]
25026					#[doc = "- `index`: The index of the referendum to be cancelled."]
25027					#[doc = ""]
25028					#[doc = "Emits `Cancelled`."]
25029					cancel { index: ::core::primitive::u32 },
25030					#[codec(index = 4)]
25031					#[doc = "Cancel an ongoing referendum and slash the deposits."]
25032					#[doc = ""]
25033					#[doc = "- `origin`: must be the `KillOrigin`."]
25034					#[doc = "- `index`: The index of the referendum to be cancelled."]
25035					#[doc = ""]
25036					#[doc = "Emits `Killed` and `DepositSlashed`."]
25037					kill { index: ::core::primitive::u32 },
25038					#[codec(index = 5)]
25039					#[doc = "Advance a referendum onto its next logical state. Only used internally."]
25040					#[doc = ""]
25041					#[doc = "- `origin`: must be `Root`."]
25042					#[doc = "- `index`: the referendum to be advanced."]
25043					nudge_referendum { index: ::core::primitive::u32 },
25044					#[codec(index = 6)]
25045					#[doc = "Advance a track onto its next logical state. Only used internally."]
25046					#[doc = ""]
25047					#[doc = "- `origin`: must be `Root`."]
25048					#[doc = "- `track`: the track to be advanced."]
25049					#[doc = ""]
25050					#[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"]
25051					#[doc = "`DecidingCount` is not yet updated. This means that we should either:"]
25052					#[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"]
25053					#[doc = "- decrement `DecidingCount`."]
25054					one_fewer_deciding { track: ::core::primitive::u16 },
25055					#[codec(index = 7)]
25056					#[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."]
25057					#[doc = ""]
25058					#[doc = "- `origin`: must be `Signed` or `Root`."]
25059					#[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"]
25060					#[doc = "  refunded."]
25061					#[doc = ""]
25062					#[doc = "Emits `SubmissionDepositRefunded`."]
25063					refund_submission_deposit { index: ::core::primitive::u32 },
25064					#[codec(index = 8)]
25065					#[doc = "Set or clear metadata of a referendum."]
25066					#[doc = ""]
25067					#[doc = "Parameters:"]
25068					#[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"]
25069					#[doc = "  metadata of a finished referendum."]
25070					#[doc = "- `index`:  The index of a referendum to set or clear metadata for."]
25071					#[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."]
25072					set_metadata {
25073						index: ::core::primitive::u32,
25074						maybe_hash: ::core::option::Option<::subxt::ext::subxt_core::utils::H256>,
25075					},
25076				}
25077				#[derive(
25078					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25079					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25080					Debug,
25081				)]
25082				#[decode_as_type(
25083					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25084				)]
25085				#[encode_as_type(
25086					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25087				)]
25088				#[doc = "The `Error` enum of this pallet."]
25089				pub enum Error {
25090					#[codec(index = 0)]
25091					#[doc = "Referendum is not ongoing."]
25092					NotOngoing,
25093					#[codec(index = 1)]
25094					#[doc = "Referendum's decision deposit is already paid."]
25095					HasDeposit,
25096					#[codec(index = 2)]
25097					#[doc = "The track identifier given was invalid."]
25098					BadTrack,
25099					#[codec(index = 3)]
25100					#[doc = "There are already a full complement of referenda in progress for this track."]
25101					Full,
25102					#[codec(index = 4)]
25103					#[doc = "The queue of the track is empty."]
25104					QueueEmpty,
25105					#[codec(index = 5)]
25106					#[doc = "The referendum index provided is invalid in this context."]
25107					BadReferendum,
25108					#[codec(index = 6)]
25109					#[doc = "There was nothing to do in the advancement."]
25110					NothingToDo,
25111					#[codec(index = 7)]
25112					#[doc = "No track exists for the proposal origin."]
25113					NoTrack,
25114					#[codec(index = 8)]
25115					#[doc = "Any deposit cannot be refunded until after the decision is over."]
25116					Unfinished,
25117					#[codec(index = 9)]
25118					#[doc = "The deposit refunder is not the depositor."]
25119					NoPermission,
25120					#[codec(index = 10)]
25121					#[doc = "The deposit cannot be refunded since none was made."]
25122					NoDeposit,
25123					#[codec(index = 11)]
25124					#[doc = "The referendum status is invalid for this operation."]
25125					BadStatus,
25126					#[codec(index = 12)]
25127					#[doc = "The preimage does not exist."]
25128					PreimageNotExist,
25129					#[codec(index = 13)]
25130					#[doc = "The preimage is stored with a different length than the one provided."]
25131					PreimageStoredWithDifferentLength,
25132				}
25133				#[derive(
25134					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25135					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25136					Debug,
25137				)]
25138				#[decode_as_type(
25139					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25140				)]
25141				#[encode_as_type(
25142					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25143				)]
25144				#[doc = "The `Event` enum of this pallet"]
25145				pub enum Event1 {
25146					#[codec(index = 0)]
25147					#[doc = "A referendum has been submitted."]
25148					Submitted {
25149						index: ::core::primitive::u32,
25150						track: ::core::primitive::u16,
25151						proposal: runtime_types::frame_support::traits::preimages::Bounded<
25152							runtime_types::quantus_runtime::RuntimeCall,
25153							runtime_types::qp_poseidon::PoseidonHasher,
25154						>,
25155					},
25156					#[codec(index = 1)]
25157					#[doc = "The decision deposit has been placed."]
25158					DecisionDepositPlaced {
25159						index: ::core::primitive::u32,
25160						who: ::subxt::ext::subxt_core::utils::AccountId32,
25161						amount: ::core::primitive::u128,
25162					},
25163					#[codec(index = 2)]
25164					#[doc = "The decision deposit has been refunded."]
25165					DecisionDepositRefunded {
25166						index: ::core::primitive::u32,
25167						who: ::subxt::ext::subxt_core::utils::AccountId32,
25168						amount: ::core::primitive::u128,
25169					},
25170					#[codec(index = 3)]
25171					#[doc = "A deposit has been slashed."]
25172					DepositSlashed {
25173						who: ::subxt::ext::subxt_core::utils::AccountId32,
25174						amount: ::core::primitive::u128,
25175					},
25176					#[codec(index = 4)]
25177					#[doc = "A referendum has moved into the deciding phase."]
25178					DecisionStarted {
25179						index: ::core::primitive::u32,
25180						track: ::core::primitive::u16,
25181						proposal: runtime_types::frame_support::traits::preimages::Bounded<
25182							runtime_types::quantus_runtime::RuntimeCall,
25183							runtime_types::qp_poseidon::PoseidonHasher,
25184						>,
25185						tally: runtime_types::pallet_conviction_voting::types::Tally<
25186							::core::primitive::u128,
25187						>,
25188					},
25189					#[codec(index = 5)]
25190					ConfirmStarted { index: ::core::primitive::u32 },
25191					#[codec(index = 6)]
25192					ConfirmAborted { index: ::core::primitive::u32 },
25193					#[codec(index = 7)]
25194					#[doc = "A referendum has ended its confirmation phase and is ready for approval."]
25195					Confirmed {
25196						index: ::core::primitive::u32,
25197						tally: runtime_types::pallet_conviction_voting::types::Tally<
25198							::core::primitive::u128,
25199						>,
25200					},
25201					#[codec(index = 8)]
25202					#[doc = "A referendum has been approved and its proposal has been scheduled."]
25203					Approved { index: ::core::primitive::u32 },
25204					#[codec(index = 9)]
25205					#[doc = "A proposal has been rejected by referendum."]
25206					Rejected {
25207						index: ::core::primitive::u32,
25208						tally: runtime_types::pallet_conviction_voting::types::Tally<
25209							::core::primitive::u128,
25210						>,
25211					},
25212					#[codec(index = 10)]
25213					#[doc = "A referendum has been timed out without being decided."]
25214					TimedOut {
25215						index: ::core::primitive::u32,
25216						tally: runtime_types::pallet_conviction_voting::types::Tally<
25217							::core::primitive::u128,
25218						>,
25219					},
25220					#[codec(index = 11)]
25221					#[doc = "A referendum has been cancelled."]
25222					Cancelled {
25223						index: ::core::primitive::u32,
25224						tally: runtime_types::pallet_conviction_voting::types::Tally<
25225							::core::primitive::u128,
25226						>,
25227					},
25228					#[codec(index = 12)]
25229					#[doc = "A referendum has been killed."]
25230					Killed {
25231						index: ::core::primitive::u32,
25232						tally: runtime_types::pallet_conviction_voting::types::Tally<
25233							::core::primitive::u128,
25234						>,
25235					},
25236					#[codec(index = 13)]
25237					#[doc = "The submission deposit has been refunded."]
25238					SubmissionDepositRefunded {
25239						index: ::core::primitive::u32,
25240						who: ::subxt::ext::subxt_core::utils::AccountId32,
25241						amount: ::core::primitive::u128,
25242					},
25243					#[codec(index = 14)]
25244					#[doc = "Metadata for a referendum has been set."]
25245					MetadataSet {
25246						index: ::core::primitive::u32,
25247						hash: ::subxt::ext::subxt_core::utils::H256,
25248					},
25249					#[codec(index = 15)]
25250					#[doc = "Metadata for a referendum has been cleared."]
25251					MetadataCleared {
25252						index: ::core::primitive::u32,
25253						hash: ::subxt::ext::subxt_core::utils::H256,
25254					},
25255				}
25256				#[derive(
25257					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25258					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25259					Debug,
25260				)]
25261				#[decode_as_type(
25262					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25263				)]
25264				#[encode_as_type(
25265					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25266				)]
25267				#[doc = "The `Event` enum of this pallet"]
25268				pub enum Event2 {
25269					#[codec(index = 0)]
25270					#[doc = "A referendum has been submitted."]
25271					Submitted {
25272						index: ::core::primitive::u32,
25273						track: ::core::primitive::u16,
25274						proposal: runtime_types::frame_support::traits::preimages::Bounded<
25275							runtime_types::quantus_runtime::RuntimeCall,
25276							runtime_types::qp_poseidon::PoseidonHasher,
25277						>,
25278					},
25279					#[codec(index = 1)]
25280					#[doc = "The decision deposit has been placed."]
25281					DecisionDepositPlaced {
25282						index: ::core::primitive::u32,
25283						who: ::subxt::ext::subxt_core::utils::AccountId32,
25284						amount: ::core::primitive::u128,
25285					},
25286					#[codec(index = 2)]
25287					#[doc = "The decision deposit has been refunded."]
25288					DecisionDepositRefunded {
25289						index: ::core::primitive::u32,
25290						who: ::subxt::ext::subxt_core::utils::AccountId32,
25291						amount: ::core::primitive::u128,
25292					},
25293					#[codec(index = 3)]
25294					#[doc = "A deposit has been slashed."]
25295					DepositSlashed {
25296						who: ::subxt::ext::subxt_core::utils::AccountId32,
25297						amount: ::core::primitive::u128,
25298					},
25299					#[codec(index = 4)]
25300					#[doc = "A referendum has moved into the deciding phase."]
25301					DecisionStarted {
25302						index: ::core::primitive::u32,
25303						track: ::core::primitive::u16,
25304						proposal: runtime_types::frame_support::traits::preimages::Bounded<
25305							runtime_types::quantus_runtime::RuntimeCall,
25306							runtime_types::qp_poseidon::PoseidonHasher,
25307						>,
25308						tally: runtime_types::pallet_ranked_collective::Tally,
25309					},
25310					#[codec(index = 5)]
25311					ConfirmStarted { index: ::core::primitive::u32 },
25312					#[codec(index = 6)]
25313					ConfirmAborted { index: ::core::primitive::u32 },
25314					#[codec(index = 7)]
25315					#[doc = "A referendum has ended its confirmation phase and is ready for approval."]
25316					Confirmed {
25317						index: ::core::primitive::u32,
25318						tally: runtime_types::pallet_ranked_collective::Tally,
25319					},
25320					#[codec(index = 8)]
25321					#[doc = "A referendum has been approved and its proposal has been scheduled."]
25322					Approved { index: ::core::primitive::u32 },
25323					#[codec(index = 9)]
25324					#[doc = "A proposal has been rejected by referendum."]
25325					Rejected {
25326						index: ::core::primitive::u32,
25327						tally: runtime_types::pallet_ranked_collective::Tally,
25328					},
25329					#[codec(index = 10)]
25330					#[doc = "A referendum has been timed out without being decided."]
25331					TimedOut {
25332						index: ::core::primitive::u32,
25333						tally: runtime_types::pallet_ranked_collective::Tally,
25334					},
25335					#[codec(index = 11)]
25336					#[doc = "A referendum has been cancelled."]
25337					Cancelled {
25338						index: ::core::primitive::u32,
25339						tally: runtime_types::pallet_ranked_collective::Tally,
25340					},
25341					#[codec(index = 12)]
25342					#[doc = "A referendum has been killed."]
25343					Killed {
25344						index: ::core::primitive::u32,
25345						tally: runtime_types::pallet_ranked_collective::Tally,
25346					},
25347					#[codec(index = 13)]
25348					#[doc = "The submission deposit has been refunded."]
25349					SubmissionDepositRefunded {
25350						index: ::core::primitive::u32,
25351						who: ::subxt::ext::subxt_core::utils::AccountId32,
25352						amount: ::core::primitive::u128,
25353					},
25354					#[codec(index = 14)]
25355					#[doc = "Metadata for a referendum has been set."]
25356					MetadataSet {
25357						index: ::core::primitive::u32,
25358						hash: ::subxt::ext::subxt_core::utils::H256,
25359					},
25360					#[codec(index = 15)]
25361					#[doc = "Metadata for a referendum has been cleared."]
25362					MetadataCleared {
25363						index: ::core::primitive::u32,
25364						hash: ::subxt::ext::subxt_core::utils::H256,
25365					},
25366				}
25367			}
25368			pub mod types {
25369				use super::runtime_types;
25370				#[derive(
25371					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25372					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25373					Debug,
25374				)]
25375				#[decode_as_type(
25376					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25377				)]
25378				#[encode_as_type(
25379					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25380				)]
25381				pub enum Curve {
25382					#[codec(index = 0)]
25383					LinearDecreasing {
25384						length: runtime_types::sp_arithmetic::per_things::Perbill,
25385						floor: runtime_types::sp_arithmetic::per_things::Perbill,
25386						ceil: runtime_types::sp_arithmetic::per_things::Perbill,
25387					},
25388					#[codec(index = 1)]
25389					SteppedDecreasing {
25390						begin: runtime_types::sp_arithmetic::per_things::Perbill,
25391						end: runtime_types::sp_arithmetic::per_things::Perbill,
25392						step: runtime_types::sp_arithmetic::per_things::Perbill,
25393						period: runtime_types::sp_arithmetic::per_things::Perbill,
25394					},
25395					#[codec(index = 2)]
25396					Reciprocal {
25397						factor: runtime_types::sp_arithmetic::fixed_point::FixedI64,
25398						x_offset: runtime_types::sp_arithmetic::fixed_point::FixedI64,
25399						y_offset: runtime_types::sp_arithmetic::fixed_point::FixedI64,
25400					},
25401				}
25402				#[derive(
25403					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25404					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25405					Debug,
25406				)]
25407				#[decode_as_type(
25408					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25409				)]
25410				#[encode_as_type(
25411					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25412				)]
25413				pub struct DecidingStatus<_0> {
25414					pub since: _0,
25415					pub confirming: ::core::option::Option<_0>,
25416				}
25417				#[derive(
25418					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25419					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25420					Debug,
25421				)]
25422				#[decode_as_type(
25423					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25424				)]
25425				#[encode_as_type(
25426					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25427				)]
25428				pub struct Deposit<_0, _1> {
25429					pub who: _0,
25430					pub amount: _1,
25431				}
25432				#[derive(
25433					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25434					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25435					Debug,
25436				)]
25437				#[decode_as_type(
25438					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25439				)]
25440				#[encode_as_type(
25441					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25442				)]
25443				pub enum ReferendumInfo<_0, _1, _2, _3, _4, _5, _6, _7> {
25444					#[codec(index = 0)]
25445					Ongoing(
25446						runtime_types::pallet_referenda::types::ReferendumStatus<
25447							_0,
25448							_1,
25449							_2,
25450							_3,
25451							_4,
25452							_5,
25453							_6,
25454							_7,
25455						>,
25456					),
25457					#[codec(index = 1)]
25458					Approved(
25459						_2,
25460						::core::option::Option<
25461							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25462						>,
25463						::core::option::Option<
25464							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25465						>,
25466					),
25467					#[codec(index = 2)]
25468					Rejected(
25469						_2,
25470						::core::option::Option<
25471							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25472						>,
25473						::core::option::Option<
25474							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25475						>,
25476					),
25477					#[codec(index = 3)]
25478					Cancelled(
25479						_2,
25480						::core::option::Option<
25481							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25482						>,
25483						::core::option::Option<
25484							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25485						>,
25486					),
25487					#[codec(index = 4)]
25488					TimedOut(
25489						_2,
25490						::core::option::Option<
25491							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25492						>,
25493						::core::option::Option<
25494							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25495						>,
25496					),
25497					#[codec(index = 5)]
25498					Killed(_2),
25499				}
25500				#[derive(
25501					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25502					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25503					Debug,
25504				)]
25505				#[decode_as_type(
25506					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25507				)]
25508				#[encode_as_type(
25509					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25510				)]
25511				pub struct ReferendumStatus<_0, _1, _2, _3, _4, _5, _6, _7> {
25512					pub track: _0,
25513					pub origin: _1,
25514					pub proposal: _3,
25515					pub enactment: runtime_types::frame_support::traits::schedule::DispatchTime<_2>,
25516					pub submitted: _2,
25517					pub submission_deposit: runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25518					pub decision_deposit: ::core::option::Option<
25519						runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25520					>,
25521					pub deciding: ::core::option::Option<
25522						runtime_types::pallet_referenda::types::DecidingStatus<_2>,
25523					>,
25524					pub tally: _5,
25525					pub in_queue: ::core::primitive::bool,
25526					pub alarm: ::core::option::Option<(_2, _7)>,
25527				}
25528				#[derive(
25529					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25530					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25531					Debug,
25532				)]
25533				#[decode_as_type(
25534					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25535				)]
25536				#[encode_as_type(
25537					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25538				)]
25539				pub struct TrackDetails<_0, _1, _2> {
25540					pub name: _2,
25541					pub max_deciding: ::core::primitive::u32,
25542					pub decision_deposit: _0,
25543					pub prepare_period: _1,
25544					pub decision_period: _1,
25545					pub confirm_period: _1,
25546					pub min_enactment_period: _1,
25547					pub min_approval: runtime_types::pallet_referenda::types::Curve,
25548					pub min_support: runtime_types::pallet_referenda::types::Curve,
25549				}
25550			}
25551		}
25552		pub mod pallet_reversible_transfers {
25553			use super::runtime_types;
25554			pub mod pallet {
25555				use super::runtime_types;
25556				#[derive(
25557					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25558					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25559					Debug,
25560				)]
25561				#[decode_as_type(
25562					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25563				)]
25564				#[encode_as_type(
25565					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25566				)]
25567				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
25568				pub enum Call {
25569					#[codec(index = 0)]
25570					#[doc = "Enable high-security for the calling account with a specified"]
25571					#[doc = "reversibility delay."]
25572					#[doc = ""]
25573					#[doc = "Recoverer and interceptor (aka guardian) could be the same account or"]
25574					#[doc = "different accounts."]
25575					#[doc = ""]
25576					#[doc = "Once an account is set as high security it can only make reversible"]
25577					#[doc = "transfers. It is not allowed any other calls."]
25578					#[doc = ""]
25579					#[doc = "- `delay`: The reversibility time for any transfer made by the high"]
25580					#[doc = "security account."]
25581					#[doc = "- interceptor: The account that can intercept transctions from the"]
25582					#[doc = "high security account."]
25583					set_high_security {
25584						delay: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25585							::core::primitive::u32,
25586							::core::primitive::u64,
25587						>,
25588						interceptor: ::subxt::ext::subxt_core::utils::AccountId32,
25589					},
25590					#[codec(index = 1)]
25591					#[doc = "Cancel a pending reversible transaction scheduled by the caller."]
25592					#[doc = ""]
25593					#[doc = "- `tx_id`: The unique identifier of the transaction to cancel."]
25594					cancel { tx_id: ::subxt::ext::subxt_core::utils::H256 },
25595					#[codec(index = 2)]
25596					#[doc = "Called by the Scheduler to finalize the scheduled task/call"]
25597					#[doc = ""]
25598					#[doc = "- `tx_id`: The unique id of the transaction to finalize and dispatch."]
25599					execute_transfer { tx_id: ::subxt::ext::subxt_core::utils::H256 },
25600					#[codec(index = 3)]
25601					#[doc = "Schedule a transaction for delayed execution."]
25602					schedule_transfer {
25603						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
25604							::subxt::ext::subxt_core::utils::AccountId32,
25605							(),
25606						>,
25607						amount: ::core::primitive::u128,
25608					},
25609					#[codec(index = 4)]
25610					#[doc = "Schedule a transaction for delayed execution with a custom, one-time delay."]
25611					#[doc = ""]
25612					#[doc = "This can only be used by accounts that have *not* set up a persistent"]
25613					#[doc = "reversibility configuration with `set_high_security`."]
25614					#[doc = ""]
25615					#[doc = "- `delay`: The time (in blocks or milliseconds) before the transaction executes."]
25616					schedule_transfer_with_delay {
25617						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
25618							::subxt::ext::subxt_core::utils::AccountId32,
25619							(),
25620						>,
25621						amount: ::core::primitive::u128,
25622						delay: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25623							::core::primitive::u32,
25624							::core::primitive::u64,
25625						>,
25626					},
25627					#[codec(index = 5)]
25628					#[doc = "Schedule an asset transfer (pallet-assets) for delayed execution using the configured"]
25629					#[doc = "delay."]
25630					schedule_asset_transfer {
25631						asset_id: ::core::primitive::u32,
25632						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
25633							::subxt::ext::subxt_core::utils::AccountId32,
25634							(),
25635						>,
25636						amount: ::core::primitive::u128,
25637					},
25638					#[codec(index = 6)]
25639					#[doc = "Schedule an asset transfer (pallet-assets) with a custom one-time delay."]
25640					schedule_asset_transfer_with_delay {
25641						asset_id: ::core::primitive::u32,
25642						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
25643							::subxt::ext::subxt_core::utils::AccountId32,
25644							(),
25645						>,
25646						amount: ::core::primitive::u128,
25647						delay: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25648							::core::primitive::u32,
25649							::core::primitive::u64,
25650						>,
25651					},
25652				}
25653				#[derive(
25654					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25655					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25656					Debug,
25657				)]
25658				#[decode_as_type(
25659					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25660				)]
25661				#[encode_as_type(
25662					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25663				)]
25664				#[doc = "The `Error` enum of this pallet."]
25665				pub enum Error {
25666					#[codec(index = 0)]
25667					#[doc = "The account attempting to enable reversibility is already marked as reversible."]
25668					AccountAlreadyHighSecurity,
25669					#[codec(index = 1)]
25670					#[doc = "The account attempting the action is not marked as high security."]
25671					AccountNotHighSecurity,
25672					#[codec(index = 2)]
25673					#[doc = "Interceptor can not be the account itself, because it is redundant."]
25674					InterceptorCannotBeSelf,
25675					#[codec(index = 3)]
25676					#[doc = "Recoverer cannot be the account itself, because it is redundant."]
25677					RecovererCannotBeSelf,
25678					#[codec(index = 4)]
25679					#[doc = "The specified pending transaction ID was not found."]
25680					PendingTxNotFound,
25681					#[codec(index = 5)]
25682					#[doc = "The caller is not the original submitter of the transaction they are trying to cancel."]
25683					NotOwner,
25684					#[codec(index = 6)]
25685					#[doc = "The account has reached the maximum number of pending reversible transactions."]
25686					TooManyPendingTransactions,
25687					#[codec(index = 7)]
25688					#[doc = "The specified delay period is below the configured minimum."]
25689					DelayTooShort,
25690					#[codec(index = 8)]
25691					#[doc = "Failed to schedule the transaction execution with the scheduler pallet."]
25692					SchedulingFailed,
25693					#[codec(index = 9)]
25694					#[doc = "Failed to cancel the scheduled task with the scheduler pallet."]
25695					CancellationFailed,
25696					#[codec(index = 10)]
25697					#[doc = "Failed to decode the OpaqueCall back into a RuntimeCall."]
25698					CallDecodingFailed,
25699					#[codec(index = 11)]
25700					#[doc = "Call is invalid."]
25701					InvalidCall,
25702					#[codec(index = 12)]
25703					#[doc = "Invalid scheduler origin"]
25704					InvalidSchedulerOrigin,
25705					#[codec(index = 13)]
25706					#[doc = "Reverser is invalid"]
25707					InvalidReverser,
25708					#[codec(index = 14)]
25709					#[doc = "Cannot schedule one time reversible transaction when account is reversible (theft"]
25710					#[doc = "deterrence)"]
25711					AccountAlreadyReversibleCannotScheduleOneTime,
25712					#[codec(index = 15)]
25713					#[doc = "The interceptor has reached the maximum number of accounts they can intercept for."]
25714					TooManyInterceptorAccounts,
25715				}
25716				#[derive(
25717					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25718					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25719					Debug,
25720				)]
25721				#[decode_as_type(
25722					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25723				)]
25724				#[encode_as_type(
25725					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25726				)]
25727				#[doc = "The `Event` enum of this pallet"]
25728				pub enum Event {
25729					#[codec(index = 0)]
25730					#[doc = "A user has enabled their high-security settings."]
25731					#[doc = "[who, interceptor, recoverer, delay]"]
25732					HighSecuritySet {
25733						who: ::subxt::ext::subxt_core::utils::AccountId32,
25734						interceptor: ::subxt::ext::subxt_core::utils::AccountId32,
25735						delay: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25736							::core::primitive::u32,
25737							::core::primitive::u64,
25738						>,
25739					},
25740					#[codec(index = 1)]
25741					#[doc = "A transaction has been intercepted and scheduled for delayed execution."]
25742					#[doc = "[from, to, interceptor, amount, tx_id, execute_at_moment]"]
25743					TransactionScheduled {
25744						from: ::subxt::ext::subxt_core::utils::AccountId32,
25745						to: ::subxt::ext::subxt_core::utils::AccountId32,
25746						interceptor: ::subxt::ext::subxt_core::utils::AccountId32,
25747						asset_id: ::core::option::Option<::core::primitive::u32>,
25748						amount: ::core::primitive::u128,
25749						tx_id: ::subxt::ext::subxt_core::utils::H256,
25750						execute_at: runtime_types::qp_scheduler::DispatchTime<
25751							::core::primitive::u32,
25752							::core::primitive::u64,
25753						>,
25754					},
25755					#[codec(index = 2)]
25756					#[doc = "A scheduled transaction has been successfully cancelled by the owner."]
25757					#[doc = "[who, tx_id]"]
25758					TransactionCancelled {
25759						who: ::subxt::ext::subxt_core::utils::AccountId32,
25760						tx_id: ::subxt::ext::subxt_core::utils::H256,
25761					},
25762					#[codec(index = 3)]
25763					#[doc = "A scheduled transaction was executed by the scheduler."]
25764					#[doc = "[tx_id, dispatch_result]"]
25765					TransactionExecuted {
25766						tx_id: ::subxt::ext::subxt_core::utils::H256,
25767						result: ::core::result::Result<
25768							runtime_types::frame_support::dispatch::PostDispatchInfo,
25769							runtime_types::sp_runtime::DispatchErrorWithPostInfo<
25770								runtime_types::frame_support::dispatch::PostDispatchInfo,
25771							>,
25772						>,
25773					},
25774				}
25775				#[derive(
25776					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25777					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25778					Debug,
25779				)]
25780				#[decode_as_type(
25781					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25782				)]
25783				#[encode_as_type(
25784					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25785				)]
25786				pub enum HoldReason {
25787					#[codec(index = 0)]
25788					ScheduledTransfer,
25789				}
25790			}
25791			#[derive(
25792				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25793				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25794				Debug,
25795			)]
25796			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
25797			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
25798			pub struct HighSecurityAccountData<_0, _1> {
25799				pub interceptor: _0,
25800				pub delay: _1,
25801			}
25802			#[derive(
25803				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25804				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25805				Debug,
25806			)]
25807			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
25808			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
25809			pub struct PendingTransfer<_0, _1, _2> {
25810				pub from: _0,
25811				pub to: _0,
25812				pub interceptor: _0,
25813				pub call: _2,
25814				pub amount: _1,
25815			}
25816		}
25817		pub mod pallet_scheduler {
25818			use super::runtime_types;
25819			pub mod pallet {
25820				use super::runtime_types;
25821				#[derive(
25822					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25823					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25824					Debug,
25825				)]
25826				#[decode_as_type(
25827					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25828				)]
25829				#[encode_as_type(
25830					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25831				)]
25832				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
25833				pub enum Call {
25834					#[codec(index = 0)]
25835					#[doc = "Anonymously schedule a task."]
25836					schedule {
25837						when: ::core::primitive::u32,
25838						maybe_periodic: ::core::option::Option<(
25839							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25840								::core::primitive::u32,
25841								::core::primitive::u64,
25842							>,
25843							::core::primitive::u32,
25844						)>,
25845						priority: ::core::primitive::u8,
25846						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
25847							runtime_types::quantus_runtime::RuntimeCall,
25848						>,
25849					},
25850					#[codec(index = 1)]
25851					#[doc = "Cancel an anonymously scheduled task."]
25852					cancel {
25853						when: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25854							::core::primitive::u32,
25855							::core::primitive::u64,
25856						>,
25857						index: ::core::primitive::u32,
25858					},
25859					#[codec(index = 2)]
25860					#[doc = "Schedule a named task."]
25861					schedule_named {
25862						id: [::core::primitive::u8; 32usize],
25863						when: ::core::primitive::u32,
25864						maybe_periodic: ::core::option::Option<(
25865							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25866								::core::primitive::u32,
25867								::core::primitive::u64,
25868							>,
25869							::core::primitive::u32,
25870						)>,
25871						priority: ::core::primitive::u8,
25872						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
25873							runtime_types::quantus_runtime::RuntimeCall,
25874						>,
25875					},
25876					#[codec(index = 3)]
25877					#[doc = "Cancel a named scheduled task."]
25878					cancel_named { id: [::core::primitive::u8; 32usize] },
25879					#[codec(index = 4)]
25880					#[doc = "Anonymously schedule a task after a delay."]
25881					schedule_after {
25882						after: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25883							::core::primitive::u32,
25884							::core::primitive::u64,
25885						>,
25886						maybe_periodic: ::core::option::Option<(
25887							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25888								::core::primitive::u32,
25889								::core::primitive::u64,
25890							>,
25891							::core::primitive::u32,
25892						)>,
25893						priority: ::core::primitive::u8,
25894						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
25895							runtime_types::quantus_runtime::RuntimeCall,
25896						>,
25897					},
25898					#[codec(index = 5)]
25899					#[doc = "Schedule a named task after a delay."]
25900					schedule_named_after {
25901						id: [::core::primitive::u8; 32usize],
25902						after: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25903							::core::primitive::u32,
25904							::core::primitive::u64,
25905						>,
25906						maybe_periodic: ::core::option::Option<(
25907							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25908								::core::primitive::u32,
25909								::core::primitive::u64,
25910							>,
25911							::core::primitive::u32,
25912						)>,
25913						priority: ::core::primitive::u8,
25914						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
25915							runtime_types::quantus_runtime::RuntimeCall,
25916						>,
25917					},
25918					#[codec(index = 6)]
25919					#[doc = "Set a retry configuration for a task so that, in case its scheduled run fails, it will"]
25920					#[doc = "be retried after `period` blocks, for a total amount of `retries` retries or until it"]
25921					#[doc = "succeeds."]
25922					#[doc = ""]
25923					#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
25924					#[doc = "agenda space, same as a regular task. If a periodic task fails, it will be scheduled"]
25925					#[doc = "normally while the task is retrying."]
25926					#[doc = ""]
25927					#[doc = "Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic"]
25928					#[doc = "clones of the original task. Their retry configuration will be derived from the"]
25929					#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
25930					#[doc = "original `total_retries`."]
25931					set_retry {
25932						task: (
25933							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25934								::core::primitive::u32,
25935								::core::primitive::u64,
25936							>,
25937							::core::primitive::u32,
25938						),
25939						retries: ::core::primitive::u8,
25940						period: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25941							::core::primitive::u32,
25942							::core::primitive::u64,
25943						>,
25944					},
25945					#[codec(index = 7)]
25946					#[doc = "Set a retry configuration for a named task so that, in case its scheduled run fails, it"]
25947					#[doc = "will be retried after `period` blocks, for a total amount of `retries` retries or until"]
25948					#[doc = "it succeeds."]
25949					#[doc = ""]
25950					#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
25951					#[doc = "agenda space, same as a regular task. If a periodic task fails, it will be scheduled"]
25952					#[doc = "normally while the task is retrying."]
25953					#[doc = ""]
25954					#[doc = "Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic"]
25955					#[doc = "clones of the original task. Their retry configuration will be derived from the"]
25956					#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
25957					#[doc = "original `total_retries`."]
25958					set_retry_named {
25959						id: [::core::primitive::u8; 32usize],
25960						retries: ::core::primitive::u8,
25961						period: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25962							::core::primitive::u32,
25963							::core::primitive::u64,
25964						>,
25965					},
25966					#[codec(index = 8)]
25967					#[doc = "Removes the retry configuration of a task."]
25968					cancel_retry {
25969						task: (
25970							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25971								::core::primitive::u32,
25972								::core::primitive::u64,
25973							>,
25974							::core::primitive::u32,
25975						),
25976					},
25977					#[codec(index = 9)]
25978					#[doc = "Cancel the retry configuration of a named task."]
25979					cancel_retry_named { id: [::core::primitive::u8; 32usize] },
25980				}
25981				#[derive(
25982					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25983					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25984					Debug,
25985				)]
25986				#[decode_as_type(
25987					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25988				)]
25989				#[encode_as_type(
25990					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25991				)]
25992				#[doc = "The `Error` enum of this pallet."]
25993				pub enum Error {
25994					#[codec(index = 0)]
25995					#[doc = "Failed to schedule a call"]
25996					FailedToSchedule,
25997					#[codec(index = 1)]
25998					#[doc = "Cannot find the scheduled call."]
25999					NotFound,
26000					#[codec(index = 2)]
26001					#[doc = "Given target block number is in the past."]
26002					TargetBlockNumberInPast,
26003					#[codec(index = 3)]
26004					#[doc = "Given target timestamp is in the past."]
26005					TargetTimestampInPast,
26006					#[codec(index = 4)]
26007					#[doc = "Reschedule failed because it does not change scheduled time."]
26008					RescheduleNoChange,
26009					#[codec(index = 5)]
26010					#[doc = "Attempt to use a non-named function on a named task."]
26011					Named,
26012				}
26013				#[derive(
26014					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26015					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26016					Debug,
26017				)]
26018				#[decode_as_type(
26019					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26020				)]
26021				#[encode_as_type(
26022					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26023				)]
26024				#[doc = "Events type."]
26025				pub enum Event {
26026					#[codec(index = 0)]
26027					#[doc = "Scheduled some task."]
26028					Scheduled {
26029						when: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26030							::core::primitive::u32,
26031							::core::primitive::u64,
26032						>,
26033						index: ::core::primitive::u32,
26034					},
26035					#[codec(index = 1)]
26036					#[doc = "Canceled some task."]
26037					Canceled {
26038						when: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26039							::core::primitive::u32,
26040							::core::primitive::u64,
26041						>,
26042						index: ::core::primitive::u32,
26043					},
26044					#[codec(index = 2)]
26045					#[doc = "Dispatched some task."]
26046					Dispatched {
26047						task: (
26048							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26049								::core::primitive::u32,
26050								::core::primitive::u64,
26051							>,
26052							::core::primitive::u32,
26053						),
26054						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
26055						result:
26056							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
26057					},
26058					#[codec(index = 3)]
26059					#[doc = "Set a retry configuration for some task."]
26060					RetrySet {
26061						task: (
26062							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26063								::core::primitive::u32,
26064								::core::primitive::u64,
26065							>,
26066							::core::primitive::u32,
26067						),
26068						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
26069						period: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26070							::core::primitive::u32,
26071							::core::primitive::u64,
26072						>,
26073						retries: ::core::primitive::u8,
26074					},
26075					#[codec(index = 4)]
26076					#[doc = "Cancel a retry configuration for some task."]
26077					RetryCancelled {
26078						task: (
26079							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26080								::core::primitive::u32,
26081								::core::primitive::u64,
26082							>,
26083							::core::primitive::u32,
26084						),
26085						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
26086					},
26087					#[codec(index = 5)]
26088					#[doc = "The call for the provided hash was not found so the task has been aborted."]
26089					CallUnavailable {
26090						task: (
26091							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26092								::core::primitive::u32,
26093								::core::primitive::u64,
26094							>,
26095							::core::primitive::u32,
26096						),
26097						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
26098					},
26099					#[codec(index = 6)]
26100					#[doc = "The given task was unable to be renewed since the agenda is full at that block."]
26101					PeriodicFailed {
26102						task: (
26103							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26104								::core::primitive::u32,
26105								::core::primitive::u64,
26106							>,
26107							::core::primitive::u32,
26108						),
26109						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
26110					},
26111					#[codec(index = 7)]
26112					#[doc = "The given task was unable to be retried since the agenda is full at that block or there"]
26113					#[doc = "was not enough weight to reschedule it."]
26114					RetryFailed {
26115						task: (
26116							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26117								::core::primitive::u32,
26118								::core::primitive::u64,
26119							>,
26120							::core::primitive::u32,
26121						),
26122						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
26123					},
26124					#[codec(index = 8)]
26125					#[doc = "The given task can never be executed since it is overweight."]
26126					PermanentlyOverweight {
26127						task: (
26128							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26129								::core::primitive::u32,
26130								::core::primitive::u64,
26131							>,
26132							::core::primitive::u32,
26133						),
26134						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
26135					},
26136				}
26137			}
26138			#[derive(
26139				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26140				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26141				Debug,
26142			)]
26143			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26144			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26145			pub struct RetryConfig<_0> {
26146				pub total_retries: ::core::primitive::u8,
26147				pub remaining: ::core::primitive::u8,
26148				pub period: _0,
26149			}
26150			#[derive(
26151				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26152				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26153				Debug,
26154			)]
26155			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26156			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26157			pub struct Scheduled<_0, _1, _2, _3, _4, _5> {
26158				pub maybe_id: ::core::option::Option<_0>,
26159				pub priority: ::core::primitive::u8,
26160				pub call: _1,
26161				pub maybe_periodic: ::core::option::Option<(
26162					runtime_types::qp_scheduler::BlockNumberOrTimestamp<_2, _5>,
26163					_2,
26164				)>,
26165				pub origin: _3,
26166				#[codec(skip)]
26167				pub __ignore: ::core::marker::PhantomData<_4>,
26168			}
26169		}
26170		pub mod pallet_sudo {
26171			use super::runtime_types;
26172			pub mod pallet {
26173				use super::runtime_types;
26174				#[derive(
26175					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26176					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26177					Debug,
26178				)]
26179				#[decode_as_type(
26180					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26181				)]
26182				#[encode_as_type(
26183					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26184				)]
26185				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
26186				pub enum Call {
26187					#[codec(index = 0)]
26188					#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
26189					sudo {
26190						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
26191							runtime_types::quantus_runtime::RuntimeCall,
26192						>,
26193					},
26194					#[codec(index = 1)]
26195					#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
26196					#[doc = "This function does not check the weight of the call, and instead allows the"]
26197					#[doc = "Sudo user to specify the weight of the call."]
26198					#[doc = ""]
26199					#[doc = "The dispatch origin for this call must be _Signed_."]
26200					sudo_unchecked_weight {
26201						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
26202							runtime_types::quantus_runtime::RuntimeCall,
26203						>,
26204						weight: runtime_types::sp_weights::weight_v2::Weight,
26205					},
26206					#[codec(index = 2)]
26207					#[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"]
26208					#[doc = "key."]
26209					set_key {
26210						new: ::subxt::ext::subxt_core::utils::MultiAddress<
26211							::subxt::ext::subxt_core::utils::AccountId32,
26212							(),
26213						>,
26214					},
26215					#[codec(index = 3)]
26216					#[doc = "Authenticates the sudo key and dispatches a function call with `Signed` origin from"]
26217					#[doc = "a given account."]
26218					#[doc = ""]
26219					#[doc = "The dispatch origin for this call must be _Signed_."]
26220					sudo_as {
26221						who: ::subxt::ext::subxt_core::utils::MultiAddress<
26222							::subxt::ext::subxt_core::utils::AccountId32,
26223							(),
26224						>,
26225						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
26226							runtime_types::quantus_runtime::RuntimeCall,
26227						>,
26228					},
26229					#[codec(index = 4)]
26230					#[doc = "Permanently removes the sudo key."]
26231					#[doc = ""]
26232					#[doc = "**This cannot be un-done.**"]
26233					remove_key,
26234				}
26235				#[derive(
26236					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26237					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26238					Debug,
26239				)]
26240				#[decode_as_type(
26241					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26242				)]
26243				#[encode_as_type(
26244					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26245				)]
26246				#[doc = "Error for the Sudo pallet."]
26247				pub enum Error {
26248					#[codec(index = 0)]
26249					#[doc = "Sender must be the Sudo account."]
26250					RequireSudo,
26251				}
26252				#[derive(
26253					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26254					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26255					Debug,
26256				)]
26257				#[decode_as_type(
26258					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26259				)]
26260				#[encode_as_type(
26261					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26262				)]
26263				#[doc = "The `Event` enum of this pallet"]
26264				pub enum Event {
26265					#[codec(index = 0)]
26266					#[doc = "A sudo call just took place."]
26267					Sudid {
26268						sudo_result:
26269							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
26270					},
26271					#[codec(index = 1)]
26272					#[doc = "The sudo key has been updated."]
26273					KeyChanged {
26274						old: ::core::option::Option<::subxt::ext::subxt_core::utils::AccountId32>,
26275						new: ::subxt::ext::subxt_core::utils::AccountId32,
26276					},
26277					#[codec(index = 2)]
26278					#[doc = "The key was permanently removed."]
26279					KeyRemoved,
26280					#[codec(index = 3)]
26281					#[doc = "A [sudo_as](Pallet::sudo_as) call just took place."]
26282					SudoAsDone {
26283						sudo_result:
26284							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
26285					},
26286				}
26287			}
26288		}
26289		pub mod pallet_timestamp {
26290			use super::runtime_types;
26291			pub mod pallet {
26292				use super::runtime_types;
26293				#[derive(
26294					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26295					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26296					Debug,
26297				)]
26298				#[decode_as_type(
26299					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26300				)]
26301				#[encode_as_type(
26302					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26303				)]
26304				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
26305				pub enum Call {
26306					#[codec(index = 0)]
26307					#[doc = "Set the current time."]
26308					#[doc = ""]
26309					#[doc = "This call should be invoked exactly once per block. It will panic at the finalization"]
26310					#[doc = "phase, if this call hasn't been invoked by that time."]
26311					#[doc = ""]
26312					#[doc = "The timestamp should be greater than the previous one by the amount specified by"]
26313					#[doc = "[`Config::MinimumPeriod`]."]
26314					#[doc = ""]
26315					#[doc = "The dispatch origin for this call must be _None_."]
26316					#[doc = ""]
26317					#[doc = "This dispatch class is _Mandatory_ to ensure it gets executed in the block. Be aware"]
26318					#[doc = "that changing the complexity of this call could result exhausting the resources in a"]
26319					#[doc = "block to execute any other calls."]
26320					#[doc = ""]
26321					#[doc = "## Complexity"]
26322					#[doc = "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)"]
26323					#[doc = "- 1 storage read and 1 storage mutation (codec `O(1)` because of `DidUpdate::take` in"]
26324					#[doc = "  `on_finalize`)"]
26325					#[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."]
26326					set {
26327						#[codec(compact)]
26328						now: ::core::primitive::u64,
26329					},
26330				}
26331			}
26332		}
26333		pub mod pallet_transaction_payment {
26334			use super::runtime_types;
26335			pub mod pallet {
26336				use super::runtime_types;
26337				#[derive(
26338					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26339					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26340					Debug,
26341				)]
26342				#[decode_as_type(
26343					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26344				)]
26345				#[encode_as_type(
26346					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26347				)]
26348				#[doc = "The `Event` enum of this pallet"]
26349				pub enum Event {
26350					#[codec(index = 0)]
26351					#[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"]
26352					#[doc = "has been paid by `who`."]
26353					TransactionFeePaid {
26354						who: ::subxt::ext::subxt_core::utils::AccountId32,
26355						actual_fee: ::core::primitive::u128,
26356						tip: ::core::primitive::u128,
26357					},
26358				}
26359			}
26360			pub mod types {
26361				use super::runtime_types;
26362				#[derive(
26363					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26364					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26365					Debug,
26366				)]
26367				#[decode_as_type(
26368					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26369				)]
26370				#[encode_as_type(
26371					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26372				)]
26373				pub struct FeeDetails<_0> {
26374					pub inclusion_fee: ::core::option::Option<
26375						runtime_types::pallet_transaction_payment::types::InclusionFee<_0>,
26376					>,
26377					pub tip: _0,
26378				}
26379				#[derive(
26380					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26381					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26382					Debug,
26383				)]
26384				#[decode_as_type(
26385					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26386				)]
26387				#[encode_as_type(
26388					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26389				)]
26390				pub struct InclusionFee<_0> {
26391					pub base_fee: _0,
26392					pub len_fee: _0,
26393					pub adjusted_weight_fee: _0,
26394				}
26395				#[derive(
26396					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26397					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26398					Debug,
26399				)]
26400				#[decode_as_type(
26401					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26402				)]
26403				#[encode_as_type(
26404					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26405				)]
26406				pub struct RuntimeDispatchInfo<_0, _1> {
26407					pub weight: _1,
26408					pub class: runtime_types::frame_support::dispatch::DispatchClass,
26409					pub partial_fee: _0,
26410				}
26411			}
26412			#[derive(
26413				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26414				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26415				Debug,
26416			)]
26417			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26418			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26419			pub struct ChargeTransactionPayment(#[codec(compact)] pub ::core::primitive::u128);
26420			#[derive(
26421				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26422				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26423				Debug,
26424			)]
26425			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26426			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26427			pub enum Releases {
26428				#[codec(index = 0)]
26429				V1Ancient,
26430				#[codec(index = 1)]
26431				V2,
26432			}
26433		}
26434		pub mod pallet_treasury {
26435			use super::runtime_types;
26436			pub mod pallet {
26437				use super::runtime_types;
26438				#[derive(
26439					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26440					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26441					Debug,
26442				)]
26443				#[decode_as_type(
26444					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26445				)]
26446				#[encode_as_type(
26447					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26448				)]
26449				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
26450				pub enum Call {
26451					#[codec(index = 3)]
26452					#[doc = "Propose and approve a spend of treasury funds."]
26453					#[doc = ""]
26454					#[doc = "## Dispatch Origin"]
26455					#[doc = ""]
26456					#[doc = "Must be [`Config::SpendOrigin`] with the `Success` value being at least `amount`."]
26457					#[doc = ""]
26458					#[doc = "### Details"]
26459					#[doc = "NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the"]
26460					#[doc = "beneficiary."]
26461					#[doc = ""]
26462					#[doc = "### Parameters"]
26463					#[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."]
26464					#[doc = "- `beneficiary`: The destination account for the transfer."]
26465					#[doc = ""]
26466					#[doc = "## Events"]
26467					#[doc = ""]
26468					#[doc = "Emits [`Event::SpendApproved`] if successful."]
26469					spend_local {
26470						#[codec(compact)]
26471						amount: ::core::primitive::u128,
26472						beneficiary: ::subxt::ext::subxt_core::utils::MultiAddress<
26473							::subxt::ext::subxt_core::utils::AccountId32,
26474							(),
26475						>,
26476					},
26477					#[codec(index = 4)]
26478					#[doc = "Force a previously approved proposal to be removed from the approval queue."]
26479					#[doc = ""]
26480					#[doc = "## Dispatch Origin"]
26481					#[doc = ""]
26482					#[doc = "Must be [`Config::RejectOrigin`]."]
26483					#[doc = ""]
26484					#[doc = "## Details"]
26485					#[doc = ""]
26486					#[doc = "The original deposit will no longer be returned."]
26487					#[doc = ""]
26488					#[doc = "### Parameters"]
26489					#[doc = "- `proposal_id`: The index of a proposal"]
26490					#[doc = ""]
26491					#[doc = "### Complexity"]
26492					#[doc = "- O(A) where `A` is the number of approvals"]
26493					#[doc = ""]
26494					#[doc = "### Errors"]
26495					#[doc = "- [`Error::ProposalNotApproved`]: The `proposal_id` supplied was not found in the"]
26496					#[doc = "  approval queue, i.e., the proposal has not been approved. This could also mean the"]
26497					#[doc = "  proposal does not exist altogether, thus there is no way it would have been approved"]
26498					#[doc = "  in the first place."]
26499					remove_approval {
26500						#[codec(compact)]
26501						proposal_id: ::core::primitive::u32,
26502					},
26503					#[codec(index = 5)]
26504					#[doc = "Propose and approve a spend of treasury funds."]
26505					#[doc = ""]
26506					#[doc = "## Dispatch Origin"]
26507					#[doc = ""]
26508					#[doc = "Must be [`Config::SpendOrigin`] with the `Success` value being at least"]
26509					#[doc = "`amount` of `asset_kind` in the native asset. The amount of `asset_kind` is converted"]
26510					#[doc = "for assertion using the [`Config::BalanceConverter`]."]
26511					#[doc = ""]
26512					#[doc = "## Details"]
26513					#[doc = ""]
26514					#[doc = "Create an approved spend for transferring a specific `amount` of `asset_kind` to a"]
26515					#[doc = "designated beneficiary. The spend must be claimed using the `payout` dispatchable within"]
26516					#[doc = "the [`Config::PayoutPeriod`]."]
26517					#[doc = ""]
26518					#[doc = "### Parameters"]
26519					#[doc = "- `asset_kind`: An indicator of the specific asset class to be spent."]
26520					#[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."]
26521					#[doc = "- `beneficiary`: The beneficiary of the spend."]
26522					#[doc = "- `valid_from`: The block number from which the spend can be claimed. It can refer to"]
26523					#[doc = "  the past if the resulting spend has not yet expired according to the"]
26524					#[doc = "  [`Config::PayoutPeriod`]. If `None`, the spend can be claimed immediately after"]
26525					#[doc = "  approval."]
26526					#[doc = ""]
26527					#[doc = "## Events"]
26528					#[doc = ""]
26529					#[doc = "Emits [`Event::AssetSpendApproved`] if successful."]
26530					spend {
26531						asset_kind: ::subxt::ext::subxt_core::alloc::boxed::Box<()>,
26532						#[codec(compact)]
26533						amount: ::core::primitive::u128,
26534						beneficiary: ::subxt::ext::subxt_core::alloc::boxed::Box<
26535							::subxt::ext::subxt_core::utils::MultiAddress<
26536								::subxt::ext::subxt_core::utils::AccountId32,
26537								(),
26538							>,
26539						>,
26540						valid_from: ::core::option::Option<::core::primitive::u32>,
26541					},
26542					#[codec(index = 6)]
26543					#[doc = "Claim a spend."]
26544					#[doc = ""]
26545					#[doc = "## Dispatch Origin"]
26546					#[doc = ""]
26547					#[doc = "Must be signed"]
26548					#[doc = ""]
26549					#[doc = "## Details"]
26550					#[doc = ""]
26551					#[doc = "Spends must be claimed within some temporal bounds. A spend may be claimed within one"]
26552					#[doc = "[`Config::PayoutPeriod`] from the `valid_from` block."]
26553					#[doc = "In case of a payout failure, the spend status must be updated with the `check_status`"]
26554					#[doc = "dispatchable before retrying with the current function."]
26555					#[doc = ""]
26556					#[doc = "### Parameters"]
26557					#[doc = "- `index`: The spend index."]
26558					#[doc = ""]
26559					#[doc = "## Events"]
26560					#[doc = ""]
26561					#[doc = "Emits [`Event::Paid`] if successful."]
26562					payout { index: ::core::primitive::u32 },
26563					#[codec(index = 7)]
26564					#[doc = "Check the status of the spend and remove it from the storage if processed."]
26565					#[doc = ""]
26566					#[doc = "## Dispatch Origin"]
26567					#[doc = ""]
26568					#[doc = "Must be signed."]
26569					#[doc = ""]
26570					#[doc = "## Details"]
26571					#[doc = ""]
26572					#[doc = "The status check is a prerequisite for retrying a failed payout."]
26573					#[doc = "If a spend has either succeeded or expired, it is removed from the storage by this"]
26574					#[doc = "function. In such instances, transaction fees are refunded."]
26575					#[doc = ""]
26576					#[doc = "### Parameters"]
26577					#[doc = "- `index`: The spend index."]
26578					#[doc = ""]
26579					#[doc = "## Events"]
26580					#[doc = ""]
26581					#[doc = "Emits [`Event::PaymentFailed`] if the spend payout has failed."]
26582					#[doc = "Emits [`Event::SpendProcessed`] if the spend payout has succeed."]
26583					check_status { index: ::core::primitive::u32 },
26584					#[codec(index = 8)]
26585					#[doc = "Void previously approved spend."]
26586					#[doc = ""]
26587					#[doc = "## Dispatch Origin"]
26588					#[doc = ""]
26589					#[doc = "Must be [`Config::RejectOrigin`]."]
26590					#[doc = ""]
26591					#[doc = "## Details"]
26592					#[doc = ""]
26593					#[doc = "A spend void is only possible if the payout has not been attempted yet."]
26594					#[doc = ""]
26595					#[doc = "### Parameters"]
26596					#[doc = "- `index`: The spend index."]
26597					#[doc = ""]
26598					#[doc = "## Events"]
26599					#[doc = ""]
26600					#[doc = "Emits [`Event::AssetSpendVoided`] if successful."]
26601					void_spend { index: ::core::primitive::u32 },
26602				}
26603				#[derive(
26604					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26605					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26606					Debug,
26607				)]
26608				#[decode_as_type(
26609					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26610				)]
26611				#[encode_as_type(
26612					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26613				)]
26614				#[doc = "Error for the treasury pallet."]
26615				pub enum Error {
26616					#[codec(index = 0)]
26617					#[doc = "No proposal, bounty or spend at that index."]
26618					InvalidIndex,
26619					#[codec(index = 1)]
26620					#[doc = "Too many approvals in the queue."]
26621					TooManyApprovals,
26622					#[codec(index = 2)]
26623					#[doc = "The spend origin is valid but the amount it is allowed to spend is lower than the"]
26624					#[doc = "amount to be spent."]
26625					InsufficientPermission,
26626					#[codec(index = 3)]
26627					#[doc = "Proposal has not been approved."]
26628					ProposalNotApproved,
26629					#[codec(index = 4)]
26630					#[doc = "The balance of the asset kind is not convertible to the balance of the native asset."]
26631					FailedToConvertBalance,
26632					#[codec(index = 5)]
26633					#[doc = "The spend has expired and cannot be claimed."]
26634					SpendExpired,
26635					#[codec(index = 6)]
26636					#[doc = "The spend is not yet eligible for payout."]
26637					EarlyPayout,
26638					#[codec(index = 7)]
26639					#[doc = "The payment has already been attempted."]
26640					AlreadyAttempted,
26641					#[codec(index = 8)]
26642					#[doc = "There was some issue with the mechanism of payment."]
26643					PayoutError,
26644					#[codec(index = 9)]
26645					#[doc = "The payout was not yet attempted/claimed."]
26646					NotAttempted,
26647					#[codec(index = 10)]
26648					#[doc = "The payment has neither failed nor succeeded yet."]
26649					Inconclusive,
26650				}
26651				#[derive(
26652					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26653					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26654					Debug,
26655				)]
26656				#[decode_as_type(
26657					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26658				)]
26659				#[encode_as_type(
26660					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26661				)]
26662				#[doc = "The `Event` enum of this pallet"]
26663				pub enum Event {
26664					#[codec(index = 0)]
26665					#[doc = "We have ended a spend period and will now allocate funds."]
26666					Spending { budget_remaining: ::core::primitive::u128 },
26667					#[codec(index = 1)]
26668					#[doc = "Some funds have been allocated."]
26669					Awarded {
26670						proposal_index: ::core::primitive::u32,
26671						award: ::core::primitive::u128,
26672						account: ::subxt::ext::subxt_core::utils::AccountId32,
26673					},
26674					#[codec(index = 2)]
26675					#[doc = "Some of our funds have been burnt."]
26676					Burnt { burnt_funds: ::core::primitive::u128 },
26677					#[codec(index = 3)]
26678					#[doc = "Spending has finished; this is the amount that rolls over until next spend."]
26679					Rollover { rollover_balance: ::core::primitive::u128 },
26680					#[codec(index = 4)]
26681					#[doc = "Some funds have been deposited."]
26682					Deposit { value: ::core::primitive::u128 },
26683					#[codec(index = 5)]
26684					#[doc = "A new spend proposal has been approved."]
26685					SpendApproved {
26686						proposal_index: ::core::primitive::u32,
26687						amount: ::core::primitive::u128,
26688						beneficiary: ::subxt::ext::subxt_core::utils::AccountId32,
26689					},
26690					#[codec(index = 6)]
26691					#[doc = "The inactive funds of the pallet have been updated."]
26692					UpdatedInactive {
26693						reactivated: ::core::primitive::u128,
26694						deactivated: ::core::primitive::u128,
26695					},
26696					#[codec(index = 7)]
26697					#[doc = "A new asset spend proposal has been approved."]
26698					AssetSpendApproved {
26699						index: ::core::primitive::u32,
26700						asset_kind: (),
26701						amount: ::core::primitive::u128,
26702						beneficiary: ::subxt::ext::subxt_core::utils::AccountId32,
26703						valid_from: ::core::primitive::u32,
26704						expire_at: ::core::primitive::u32,
26705					},
26706					#[codec(index = 8)]
26707					#[doc = "An approved spend was voided."]
26708					AssetSpendVoided { index: ::core::primitive::u32 },
26709					#[codec(index = 9)]
26710					#[doc = "A payment happened."]
26711					Paid { index: ::core::primitive::u32, payment_id: ::core::primitive::u32 },
26712					#[codec(index = 10)]
26713					#[doc = "A payment failed and can be retried."]
26714					PaymentFailed {
26715						index: ::core::primitive::u32,
26716						payment_id: ::core::primitive::u32,
26717					},
26718					#[codec(index = 11)]
26719					#[doc = "A spend was processed and removed from the storage. It might have been successfully"]
26720					#[doc = "paid or it may have expired."]
26721					SpendProcessed { index: ::core::primitive::u32 },
26722				}
26723			}
26724			#[derive(
26725				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26726				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26727				Debug,
26728			)]
26729			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26730			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26731			pub enum PaymentState<_0> {
26732				#[codec(index = 0)]
26733				Pending,
26734				#[codec(index = 1)]
26735				Attempted { id: _0 },
26736				#[codec(index = 2)]
26737				Failed,
26738			}
26739			#[derive(
26740				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26741				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26742				Debug,
26743			)]
26744			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26745			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26746			pub struct Proposal<_0, _1> {
26747				pub proposer: _0,
26748				pub value: _1,
26749				pub beneficiary: _0,
26750				pub bond: _1,
26751			}
26752			#[derive(
26753				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26754				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26755				Debug,
26756			)]
26757			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26758			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26759			pub struct SpendStatus<_0, _1, _2, _3, _4> {
26760				pub asset_kind: _0,
26761				pub amount: _1,
26762				pub beneficiary: _2,
26763				pub valid_from: _3,
26764				pub expire_at: _3,
26765				pub status: runtime_types::pallet_treasury::PaymentState<_3>,
26766				#[codec(skip)]
26767				pub __ignore: ::core::marker::PhantomData<_4>,
26768			}
26769		}
26770		pub mod pallet_utility {
26771			use super::runtime_types;
26772			pub mod pallet {
26773				use super::runtime_types;
26774				#[derive(
26775					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26776					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26777					Debug,
26778				)]
26779				#[decode_as_type(
26780					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26781				)]
26782				#[encode_as_type(
26783					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26784				)]
26785				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
26786				pub enum Call {
26787					#[codec(index = 0)]
26788					#[doc = "Send a batch of dispatch calls."]
26789					#[doc = ""]
26790					#[doc = "May be called from any origin except `None`."]
26791					#[doc = ""]
26792					#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
26793					#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
26794					#[doc = ""]
26795					#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
26796					#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
26797					#[doc = ""]
26798					#[doc = "## Complexity"]
26799					#[doc = "- O(C) where C is the number of calls to be batched."]
26800					#[doc = ""]
26801					#[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"]
26802					#[doc = "event is deposited. If a call failed and the batch was interrupted, then the"]
26803					#[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"]
26804					#[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"]
26805					#[doc = "event is deposited."]
26806					batch {
26807						calls: ::subxt::ext::subxt_core::alloc::vec::Vec<
26808							runtime_types::quantus_runtime::RuntimeCall,
26809						>,
26810					},
26811					#[codec(index = 1)]
26812					#[doc = "Send a call through an indexed pseudonym of the sender."]
26813					#[doc = ""]
26814					#[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"]
26815					#[doc = "use the same filter as the origin of this call."]
26816					#[doc = ""]
26817					#[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."]
26818					#[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"]
26819					#[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"]
26820					#[doc = "in the Multisig pallet instead."]
26821					#[doc = ""]
26822					#[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."]
26823					#[doc = ""]
26824					#[doc = "The dispatch origin for this call must be _Signed_."]
26825					as_derivative {
26826						index: ::core::primitive::u16,
26827						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
26828							runtime_types::quantus_runtime::RuntimeCall,
26829						>,
26830					},
26831					#[codec(index = 2)]
26832					#[doc = "Send a batch of dispatch calls and atomically execute them."]
26833					#[doc = "The whole transaction will rollback and fail if any of the calls failed."]
26834					#[doc = ""]
26835					#[doc = "May be called from any origin except `None`."]
26836					#[doc = ""]
26837					#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
26838					#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
26839					#[doc = ""]
26840					#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
26841					#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
26842					#[doc = ""]
26843					#[doc = "## Complexity"]
26844					#[doc = "- O(C) where C is the number of calls to be batched."]
26845					batch_all {
26846						calls: ::subxt::ext::subxt_core::alloc::vec::Vec<
26847							runtime_types::quantus_runtime::RuntimeCall,
26848						>,
26849					},
26850					#[codec(index = 3)]
26851					#[doc = "Dispatches a function call with a provided origin."]
26852					#[doc = ""]
26853					#[doc = "The dispatch origin for this call must be _Root_."]
26854					#[doc = ""]
26855					#[doc = "## Complexity"]
26856					#[doc = "- O(1)."]
26857					dispatch_as {
26858						as_origin: ::subxt::ext::subxt_core::alloc::boxed::Box<
26859							runtime_types::quantus_runtime::OriginCaller,
26860						>,
26861						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
26862							runtime_types::quantus_runtime::RuntimeCall,
26863						>,
26864					},
26865					#[codec(index = 4)]
26866					#[doc = "Send a batch of dispatch calls."]
26867					#[doc = "Unlike `batch`, it allows errors and won't interrupt."]
26868					#[doc = ""]
26869					#[doc = "May be called from any origin except `None`."]
26870					#[doc = ""]
26871					#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
26872					#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
26873					#[doc = ""]
26874					#[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"]
26875					#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
26876					#[doc = ""]
26877					#[doc = "## Complexity"]
26878					#[doc = "- O(C) where C is the number of calls to be batched."]
26879					force_batch {
26880						calls: ::subxt::ext::subxt_core::alloc::vec::Vec<
26881							runtime_types::quantus_runtime::RuntimeCall,
26882						>,
26883					},
26884					#[codec(index = 5)]
26885					#[doc = "Dispatch a function call with a specified weight."]
26886					#[doc = ""]
26887					#[doc = "This function does not check the weight of the call, and instead allows the"]
26888					#[doc = "Root origin to specify the weight of the call."]
26889					#[doc = ""]
26890					#[doc = "The dispatch origin for this call must be _Root_."]
26891					with_weight {
26892						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
26893							runtime_types::quantus_runtime::RuntimeCall,
26894						>,
26895						weight: runtime_types::sp_weights::weight_v2::Weight,
26896					},
26897					#[codec(index = 6)]
26898					#[doc = "Dispatch a fallback call in the event the main call fails to execute."]
26899					#[doc = "May be called from any origin except `None`."]
26900					#[doc = ""]
26901					#[doc = "This function first attempts to dispatch the `main` call."]
26902					#[doc = "If the `main` call fails, the `fallback` is attemted."]
26903					#[doc = "if the fallback is successfully dispatched, the weights of both calls"]
26904					#[doc = "are accumulated and an event containing the main call error is deposited."]
26905					#[doc = ""]
26906					#[doc = "In the event of a fallback failure the whole call fails"]
26907					#[doc = "with the weights returned."]
26908					#[doc = ""]
26909					#[doc = "- `main`: The main call to be dispatched. This is the primary action to execute."]
26910					#[doc = "- `fallback`: The fallback call to be dispatched in case the `main` call fails."]
26911					#[doc = ""]
26912					#[doc = "## Dispatch Logic"]
26913					#[doc = "- If the origin is `root`, both the main and fallback calls are executed without"]
26914					#[doc = "  applying any origin filters."]
26915					#[doc = "- If the origin is not `root`, the origin filter is applied to both the `main` and"]
26916					#[doc = "  `fallback` calls."]
26917					#[doc = ""]
26918					#[doc = "## Use Case"]
26919					#[doc = "- Some use cases might involve submitting a `batch` type call in either main, fallback"]
26920					#[doc = "  or both."]
26921					if_else {
26922						main: ::subxt::ext::subxt_core::alloc::boxed::Box<
26923							runtime_types::quantus_runtime::RuntimeCall,
26924						>,
26925						fallback: ::subxt::ext::subxt_core::alloc::boxed::Box<
26926							runtime_types::quantus_runtime::RuntimeCall,
26927						>,
26928					},
26929					#[codec(index = 7)]
26930					#[doc = "Dispatches a function call with a provided origin."]
26931					#[doc = ""]
26932					#[doc = "Almost the same as [`Pallet::dispatch_as`] but forwards any error of the inner call."]
26933					#[doc = ""]
26934					#[doc = "The dispatch origin for this call must be _Root_."]
26935					dispatch_as_fallible {
26936						as_origin: ::subxt::ext::subxt_core::alloc::boxed::Box<
26937							runtime_types::quantus_runtime::OriginCaller,
26938						>,
26939						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
26940							runtime_types::quantus_runtime::RuntimeCall,
26941						>,
26942					},
26943				}
26944				#[derive(
26945					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26946					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26947					Debug,
26948				)]
26949				#[decode_as_type(
26950					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26951				)]
26952				#[encode_as_type(
26953					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26954				)]
26955				#[doc = "The `Error` enum of this pallet."]
26956				pub enum Error {
26957					#[codec(index = 0)]
26958					#[doc = "Too many calls batched."]
26959					TooManyCalls,
26960				}
26961				#[derive(
26962					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26963					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26964					Debug,
26965				)]
26966				#[decode_as_type(
26967					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26968				)]
26969				#[encode_as_type(
26970					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26971				)]
26972				#[doc = "The `Event` enum of this pallet"]
26973				pub enum Event {
26974					#[codec(index = 0)]
26975					#[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"]
26976					#[doc = "well as the error."]
26977					BatchInterrupted {
26978						index: ::core::primitive::u32,
26979						error: runtime_types::sp_runtime::DispatchError,
26980					},
26981					#[codec(index = 1)]
26982					#[doc = "Batch of dispatches completed fully with no error."]
26983					BatchCompleted,
26984					#[codec(index = 2)]
26985					#[doc = "Batch of dispatches completed but has errors."]
26986					BatchCompletedWithErrors,
26987					#[codec(index = 3)]
26988					#[doc = "A single item within a Batch of dispatches has completed with no error."]
26989					ItemCompleted,
26990					#[codec(index = 4)]
26991					#[doc = "A single item within a Batch of dispatches has completed with error."]
26992					ItemFailed { error: runtime_types::sp_runtime::DispatchError },
26993					#[codec(index = 5)]
26994					#[doc = "A call was dispatched."]
26995					DispatchedAs {
26996						result:
26997							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
26998					},
26999					#[codec(index = 6)]
27000					#[doc = "Main call was dispatched."]
27001					IfElseMainSuccess,
27002					#[codec(index = 7)]
27003					#[doc = "The fallback call was dispatched."]
27004					IfElseFallbackCalled { main_error: runtime_types::sp_runtime::DispatchError },
27005				}
27006			}
27007		}
27008		pub mod pallet_vesting {
27009			use super::runtime_types;
27010			pub mod pallet {
27011				use super::runtime_types;
27012				#[derive(
27013					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27014					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27015					Debug,
27016				)]
27017				#[decode_as_type(
27018					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27019				)]
27020				#[encode_as_type(
27021					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27022				)]
27023				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
27024				pub enum Call {
27025					#[codec(index = 0)]
27026					#[doc = "Unlock any vested funds of the sender account."]
27027					#[doc = ""]
27028					#[doc = "The dispatch origin for this call must be _Signed_ and the sender must have funds still"]
27029					#[doc = "locked under this pallet."]
27030					#[doc = ""]
27031					#[doc = "Emits either `VestingCompleted` or `VestingUpdated`."]
27032					#[doc = ""]
27033					#[doc = "## Complexity"]
27034					#[doc = "- `O(1)`."]
27035					vest,
27036					#[codec(index = 1)]
27037					#[doc = "Unlock any vested funds of a `target` account."]
27038					#[doc = ""]
27039					#[doc = "The dispatch origin for this call must be _Signed_."]
27040					#[doc = ""]
27041					#[doc = "- `target`: The account whose vested funds should be unlocked. Must have funds still"]
27042					#[doc = "locked under this pallet."]
27043					#[doc = ""]
27044					#[doc = "Emits either `VestingCompleted` or `VestingUpdated`."]
27045					#[doc = ""]
27046					#[doc = "## Complexity"]
27047					#[doc = "- `O(1)`."]
27048					vest_other {
27049						target: ::subxt::ext::subxt_core::utils::MultiAddress<
27050							::subxt::ext::subxt_core::utils::AccountId32,
27051							(),
27052						>,
27053					},
27054					#[codec(index = 2)]
27055					#[doc = "Create a vested transfer."]
27056					#[doc = ""]
27057					#[doc = "The dispatch origin for this call must be _Signed_."]
27058					#[doc = ""]
27059					#[doc = "- `target`: The account receiving the vested funds."]
27060					#[doc = "- `schedule`: The vesting schedule attached to the transfer."]
27061					#[doc = ""]
27062					#[doc = "Emits `VestingCreated`."]
27063					#[doc = ""]
27064					#[doc = "NOTE: This will unlock all schedules through the current block."]
27065					#[doc = ""]
27066					#[doc = "## Complexity"]
27067					#[doc = "- `O(1)`."]
27068					vested_transfer {
27069						target: ::subxt::ext::subxt_core::utils::MultiAddress<
27070							::subxt::ext::subxt_core::utils::AccountId32,
27071							(),
27072						>,
27073						schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo<
27074							::core::primitive::u128,
27075							::core::primitive::u32,
27076						>,
27077					},
27078					#[codec(index = 3)]
27079					#[doc = "Force a vested transfer."]
27080					#[doc = ""]
27081					#[doc = "The dispatch origin for this call must be _Root_."]
27082					#[doc = ""]
27083					#[doc = "- `source`: The account whose funds should be transferred."]
27084					#[doc = "- `target`: The account that should be transferred the vested funds."]
27085					#[doc = "- `schedule`: The vesting schedule attached to the transfer."]
27086					#[doc = ""]
27087					#[doc = "Emits `VestingCreated`."]
27088					#[doc = ""]
27089					#[doc = "NOTE: This will unlock all schedules through the current block."]
27090					#[doc = ""]
27091					#[doc = "## Complexity"]
27092					#[doc = "- `O(1)`."]
27093					force_vested_transfer {
27094						source: ::subxt::ext::subxt_core::utils::MultiAddress<
27095							::subxt::ext::subxt_core::utils::AccountId32,
27096							(),
27097						>,
27098						target: ::subxt::ext::subxt_core::utils::MultiAddress<
27099							::subxt::ext::subxt_core::utils::AccountId32,
27100							(),
27101						>,
27102						schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo<
27103							::core::primitive::u128,
27104							::core::primitive::u32,
27105						>,
27106					},
27107					#[codec(index = 4)]
27108					#[doc = "Merge two vesting schedules together, creating a new vesting schedule that unlocks over"]
27109					#[doc = "the highest possible start and end blocks. If both schedules have already started the"]
27110					#[doc = "current block will be used as the schedule start; with the caveat that if one schedule"]
27111					#[doc = "is finished by the current block, the other will be treated as the new merged schedule,"]
27112					#[doc = "unmodified."]
27113					#[doc = ""]
27114					#[doc = "NOTE: If `schedule1_index == schedule2_index` this is a no-op."]
27115					#[doc = "NOTE: This will unlock all schedules through the current block prior to merging."]
27116					#[doc = "NOTE: If both schedules have ended by the current block, no new schedule will be created"]
27117					#[doc = "and both will be removed."]
27118					#[doc = ""]
27119					#[doc = "Merged schedule attributes:"]
27120					#[doc = "- `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block,"]
27121					#[doc = "  current_block)`."]
27122					#[doc = "- `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`."]
27123					#[doc = "- `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`."]
27124					#[doc = ""]
27125					#[doc = "The dispatch origin for this call must be _Signed_."]
27126					#[doc = ""]
27127					#[doc = "- `schedule1_index`: index of the first schedule to merge."]
27128					#[doc = "- `schedule2_index`: index of the second schedule to merge."]
27129					merge_schedules {
27130						schedule1_index: ::core::primitive::u32,
27131						schedule2_index: ::core::primitive::u32,
27132					},
27133					#[codec(index = 5)]
27134					#[doc = "Force remove a vesting schedule"]
27135					#[doc = ""]
27136					#[doc = "The dispatch origin for this call must be _Root_."]
27137					#[doc = ""]
27138					#[doc = "- `target`: An account that has a vesting schedule"]
27139					#[doc = "- `schedule_index`: The vesting schedule index that should be removed"]
27140					force_remove_vesting_schedule {
27141						target: ::subxt::ext::subxt_core::utils::MultiAddress<
27142							::subxt::ext::subxt_core::utils::AccountId32,
27143							(),
27144						>,
27145						schedule_index: ::core::primitive::u32,
27146					},
27147				}
27148				#[derive(
27149					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27150					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27151					Debug,
27152				)]
27153				#[decode_as_type(
27154					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27155				)]
27156				#[encode_as_type(
27157					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27158				)]
27159				#[doc = "Error for the vesting pallet."]
27160				pub enum Error {
27161					#[codec(index = 0)]
27162					#[doc = "The account given is not vesting."]
27163					NotVesting,
27164					#[codec(index = 1)]
27165					#[doc = "The account already has `MaxVestingSchedules` count of schedules and thus"]
27166					#[doc = "cannot add another one. Consider merging existing schedules in order to add another."]
27167					AtMaxVestingSchedules,
27168					#[codec(index = 2)]
27169					#[doc = "Amount being transferred is too low to create a vesting schedule."]
27170					AmountLow,
27171					#[codec(index = 3)]
27172					#[doc = "An index was out of bounds of the vesting schedules."]
27173					ScheduleIndexOutOfBounds,
27174					#[codec(index = 4)]
27175					#[doc = "Failed to create a new schedule because some parameter was invalid."]
27176					InvalidScheduleParams,
27177				}
27178				#[derive(
27179					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27180					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27181					Debug,
27182				)]
27183				#[decode_as_type(
27184					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27185				)]
27186				#[encode_as_type(
27187					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27188				)]
27189				#[doc = "The `Event` enum of this pallet"]
27190				pub enum Event {
27191					#[codec(index = 0)]
27192					#[doc = "A vesting schedule has been created."]
27193					VestingCreated {
27194						account: ::subxt::ext::subxt_core::utils::AccountId32,
27195						schedule_index: ::core::primitive::u32,
27196					},
27197					#[codec(index = 1)]
27198					#[doc = "The amount vested has been updated. This could indicate a change in funds available."]
27199					#[doc = "The balance given is the amount which is left unvested (and thus locked)."]
27200					VestingUpdated {
27201						account: ::subxt::ext::subxt_core::utils::AccountId32,
27202						unvested: ::core::primitive::u128,
27203					},
27204					#[codec(index = 2)]
27205					#[doc = "An \\[account\\] has become fully vested."]
27206					VestingCompleted { account: ::subxt::ext::subxt_core::utils::AccountId32 },
27207				}
27208			}
27209			pub mod vesting_info {
27210				use super::runtime_types;
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				pub struct VestingInfo<_0, _1> {
27223					pub locked: _0,
27224					pub per_block: _0,
27225					pub starting_block: _1,
27226				}
27227			}
27228			#[derive(
27229				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27230				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27231				Debug,
27232			)]
27233			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27234			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27235			pub enum Releases {
27236				#[codec(index = 0)]
27237				V0,
27238				#[codec(index = 1)]
27239				V1,
27240			}
27241		}
27242		pub mod primitive_types {
27243			use super::runtime_types;
27244			#[derive(
27245				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27246				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27247				Debug,
27248			)]
27249			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27250			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27251			pub struct U512(pub [::core::primitive::u64; 8usize]);
27252		}
27253		pub mod qp_dilithium_crypto {
27254			use super::runtime_types;
27255			pub mod types {
27256				use super::runtime_types;
27257				#[derive(
27258					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27259					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27260					Debug,
27261				)]
27262				#[decode_as_type(
27263					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27264				)]
27265				#[encode_as_type(
27266					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27267				)]
27268				pub enum DilithiumSignatureScheme {
27269					#[codec(index = 0)]
27270					Dilithium(
27271						runtime_types::qp_dilithium_crypto::types::DilithiumSignatureWithPublic,
27272					),
27273				}
27274				#[derive(
27275					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27276					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27277					Debug,
27278				)]
27279				#[decode_as_type(
27280					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27281				)]
27282				#[encode_as_type(
27283					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27284				)]
27285				pub struct DilithiumSignatureWithPublic {
27286					pub bytes: [::core::primitive::u8; 7219usize],
27287				}
27288			}
27289		}
27290		pub mod qp_poseidon {
27291			use super::runtime_types;
27292			#[derive(
27293				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27294				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27295				Debug,
27296			)]
27297			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27298			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27299			pub struct PoseidonHasher;
27300		}
27301		pub mod qp_scheduler {
27302			use super::runtime_types;
27303			#[derive(
27304				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27305				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27306				Debug,
27307			)]
27308			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27309			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27310			pub enum BlockNumberOrTimestamp<_0, _1> {
27311				#[codec(index = 0)]
27312				BlockNumber(_0),
27313				#[codec(index = 1)]
27314				Timestamp(_1),
27315			}
27316			#[derive(
27317				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27318				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27319				Debug,
27320			)]
27321			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27322			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27323			pub enum DispatchTime<_0, _1> {
27324				#[codec(index = 0)]
27325				At(_0),
27326				#[codec(index = 1)]
27327				After(runtime_types::qp_scheduler::BlockNumberOrTimestamp<_0, _1>),
27328			}
27329		}
27330		pub mod quantus_runtime {
27331			use super::runtime_types;
27332			pub mod governance {
27333				use super::runtime_types;
27334				pub mod definitions {
27335					use super::runtime_types;
27336					#[derive(
27337						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27338						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27339						Debug,
27340					)]
27341					#[decode_as_type(
27342						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27343					)]
27344					#[encode_as_type(
27345						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27346					)]
27347					pub struct PreimageDeposit {
27348						pub amount: ::core::primitive::u128,
27349					}
27350				}
27351				pub mod origins {
27352					use super::runtime_types;
27353					pub mod pallet_custom_origins {
27354						use super::runtime_types;
27355						#[derive(
27356							:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27357							:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27358							Debug,
27359						)]
27360						#[decode_as_type(
27361							crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27362						)]
27363						#[encode_as_type(
27364							crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27365						)]
27366						pub enum Origin {
27367							#[codec(index = 0)]
27368							Treasurer,
27369							#[codec(index = 1)]
27370							SmallSpender,
27371							#[codec(index = 2)]
27372							MediumSpender,
27373							#[codec(index = 3)]
27374							BigSpender,
27375						}
27376					}
27377				}
27378			}
27379			pub mod transaction_extensions {
27380				use super::runtime_types;
27381				#[derive(
27382					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27383					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27384					Debug,
27385				)]
27386				#[decode_as_type(
27387					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27388				)]
27389				#[encode_as_type(
27390					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27391				)]
27392				pub struct ReversibleTransactionExtension;
27393			}
27394			#[derive(
27395				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27396				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27397				Debug,
27398			)]
27399			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27400			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27401			pub enum OriginCaller {
27402				# [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 ,) , }
27403			#[derive(
27404				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27405				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27406				Debug,
27407			)]
27408			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27409			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27410			pub struct Runtime;
27411			#[derive(
27412				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27413				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27414				Debug,
27415			)]
27416			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27417			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27418			pub enum RuntimeCall {
27419				#[codec(index = 0)]
27420				System(runtime_types::frame_system::pallet::Call),
27421				#[codec(index = 1)]
27422				Timestamp(runtime_types::pallet_timestamp::pallet::Call),
27423				#[codec(index = 2)]
27424				Balances(runtime_types::pallet_balances::pallet::Call),
27425				#[codec(index = 4)]
27426				Sudo(runtime_types::pallet_sudo::pallet::Call),
27427				#[codec(index = 8)]
27428				Vesting(runtime_types::pallet_vesting::pallet::Call),
27429				#[codec(index = 9)]
27430				Preimage(runtime_types::pallet_preimage::pallet::Call),
27431				#[codec(index = 10)]
27432				Scheduler(runtime_types::pallet_scheduler::pallet::Call),
27433				#[codec(index = 11)]
27434				Utility(runtime_types::pallet_utility::pallet::Call),
27435				#[codec(index = 12)]
27436				Referenda(runtime_types::pallet_referenda::pallet::Call),
27437				#[codec(index = 13)]
27438				ReversibleTransfers(runtime_types::pallet_reversible_transfers::pallet::Call),
27439				#[codec(index = 14)]
27440				ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Call),
27441				#[codec(index = 15)]
27442				TechCollective(runtime_types::pallet_ranked_collective::pallet::Call),
27443				#[codec(index = 16)]
27444				TechReferenda(runtime_types::pallet_referenda::pallet::Call),
27445				#[codec(index = 17)]
27446				MerkleAirdrop(runtime_types::pallet_merkle_airdrop::pallet::Call),
27447				#[codec(index = 18)]
27448				TreasuryPallet(runtime_types::pallet_treasury::pallet::Call),
27449				#[codec(index = 20)]
27450				Recovery(runtime_types::pallet_recovery::pallet::Call),
27451				#[codec(index = 21)]
27452				Assets(runtime_types::pallet_assets::pallet::Call),
27453			}
27454			#[derive(
27455				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27456				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27457				Debug,
27458			)]
27459			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27460			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27461			pub enum RuntimeError {
27462				#[codec(index = 0)]
27463				System(runtime_types::frame_system::pallet::Error),
27464				#[codec(index = 2)]
27465				Balances(runtime_types::pallet_balances::pallet::Error),
27466				#[codec(index = 4)]
27467				Sudo(runtime_types::pallet_sudo::pallet::Error),
27468				#[codec(index = 8)]
27469				Vesting(runtime_types::pallet_vesting::pallet::Error),
27470				#[codec(index = 9)]
27471				Preimage(runtime_types::pallet_preimage::pallet::Error),
27472				#[codec(index = 10)]
27473				Scheduler(runtime_types::pallet_scheduler::pallet::Error),
27474				#[codec(index = 11)]
27475				Utility(runtime_types::pallet_utility::pallet::Error),
27476				#[codec(index = 12)]
27477				Referenda(runtime_types::pallet_referenda::pallet::Error),
27478				#[codec(index = 13)]
27479				ReversibleTransfers(runtime_types::pallet_reversible_transfers::pallet::Error),
27480				#[codec(index = 14)]
27481				ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Error),
27482				#[codec(index = 15)]
27483				TechCollective(runtime_types::pallet_ranked_collective::pallet::Error),
27484				#[codec(index = 16)]
27485				TechReferenda(runtime_types::pallet_referenda::pallet::Error),
27486				#[codec(index = 17)]
27487				MerkleAirdrop(runtime_types::pallet_merkle_airdrop::pallet::Error),
27488				#[codec(index = 18)]
27489				TreasuryPallet(runtime_types::pallet_treasury::pallet::Error),
27490				#[codec(index = 20)]
27491				Recovery(runtime_types::pallet_recovery::pallet::Error),
27492				#[codec(index = 21)]
27493				Assets(runtime_types::pallet_assets::pallet::Error),
27494				#[codec(index = 22)]
27495				AssetsHolder(runtime_types::pallet_assets_holder::pallet::Error),
27496			}
27497			#[derive(
27498				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27499				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27500				Debug,
27501			)]
27502			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27503			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27504			pub enum RuntimeEvent {
27505				#[codec(index = 0)]
27506				System(runtime_types::frame_system::pallet::Event),
27507				#[codec(index = 2)]
27508				Balances(runtime_types::pallet_balances::pallet::Event),
27509				#[codec(index = 3)]
27510				TransactionPayment(runtime_types::pallet_transaction_payment::pallet::Event),
27511				#[codec(index = 4)]
27512				Sudo(runtime_types::pallet_sudo::pallet::Event),
27513				#[codec(index = 5)]
27514				QPoW(runtime_types::pallet_qpow::pallet::Event),
27515				#[codec(index = 7)]
27516				MiningRewards(runtime_types::pallet_mining_rewards::pallet::Event),
27517				#[codec(index = 8)]
27518				Vesting(runtime_types::pallet_vesting::pallet::Event),
27519				#[codec(index = 9)]
27520				Preimage(runtime_types::pallet_preimage::pallet::Event),
27521				#[codec(index = 10)]
27522				Scheduler(runtime_types::pallet_scheduler::pallet::Event),
27523				#[codec(index = 11)]
27524				Utility(runtime_types::pallet_utility::pallet::Event),
27525				#[codec(index = 12)]
27526				Referenda(runtime_types::pallet_referenda::pallet::Event1),
27527				#[codec(index = 13)]
27528				ReversibleTransfers(runtime_types::pallet_reversible_transfers::pallet::Event),
27529				#[codec(index = 14)]
27530				ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Event),
27531				#[codec(index = 15)]
27532				TechCollective(runtime_types::pallet_ranked_collective::pallet::Event),
27533				#[codec(index = 16)]
27534				TechReferenda(runtime_types::pallet_referenda::pallet::Event2),
27535				#[codec(index = 17)]
27536				MerkleAirdrop(runtime_types::pallet_merkle_airdrop::pallet::Event),
27537				#[codec(index = 18)]
27538				TreasuryPallet(runtime_types::pallet_treasury::pallet::Event),
27539				#[codec(index = 20)]
27540				Recovery(runtime_types::pallet_recovery::pallet::Event),
27541				#[codec(index = 21)]
27542				Assets(runtime_types::pallet_assets::pallet::Event),
27543				#[codec(index = 22)]
27544				AssetsHolder(runtime_types::pallet_assets_holder::pallet::Event),
27545			}
27546			#[derive(
27547				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27548				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27549				Debug,
27550			)]
27551			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27552			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27553			pub enum RuntimeFreezeReason {}
27554			#[derive(
27555				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27556				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27557				Debug,
27558			)]
27559			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27560			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27561			pub enum RuntimeHoldReason {
27562				#[codec(index = 9)]
27563				Preimage(runtime_types::pallet_preimage::pallet::HoldReason),
27564				#[codec(index = 13)]
27565				ReversibleTransfers(runtime_types::pallet_reversible_transfers::pallet::HoldReason),
27566			}
27567		}
27568		pub mod sp_arithmetic {
27569			use super::runtime_types;
27570			pub mod fixed_point {
27571				use super::runtime_types;
27572				#[derive(
27573					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27574					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27575					Debug,
27576				)]
27577				#[decode_as_type(
27578					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27579				)]
27580				#[encode_as_type(
27581					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27582				)]
27583				pub struct FixedI64(pub ::core::primitive::i64);
27584				#[derive(
27585					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27586					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27587					Debug,
27588				)]
27589				#[decode_as_type(
27590					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27591				)]
27592				#[encode_as_type(
27593					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27594				)]
27595				pub struct FixedU128(pub ::core::primitive::u128);
27596			}
27597			pub mod per_things {
27598				use super::runtime_types;
27599				#[derive(
27600					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27601					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27602					Debug,
27603				)]
27604				#[decode_as_type(
27605					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27606				)]
27607				#[encode_as_type(
27608					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27609				)]
27610				pub struct Perbill(pub ::core::primitive::u32);
27611				#[derive(
27612					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27613					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27614					Debug,
27615				)]
27616				#[decode_as_type(
27617					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27618				)]
27619				#[encode_as_type(
27620					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27621				)]
27622				pub struct Permill(pub ::core::primitive::u32);
27623			}
27624			#[derive(
27625				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27626				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27627				Debug,
27628			)]
27629			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27630			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27631			pub enum ArithmeticError {
27632				#[codec(index = 0)]
27633				Underflow,
27634				#[codec(index = 1)]
27635				Overflow,
27636				#[codec(index = 2)]
27637				DivisionByZero,
27638			}
27639		}
27640		pub mod sp_core {
27641			use super::runtime_types;
27642			pub mod crypto {
27643				use super::runtime_types;
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(
27650					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27651				)]
27652				#[encode_as_type(
27653					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27654				)]
27655				pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]);
27656			}
27657			#[derive(
27658				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27659				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27660				Debug,
27661			)]
27662			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27663			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27664			pub struct OpaqueMetadata(
27665				pub ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
27666			);
27667		}
27668		pub mod sp_inherents {
27669			use super::runtime_types;
27670			#[derive(
27671				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27672				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27673				Debug,
27674			)]
27675			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27676			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27677			pub struct CheckInherentsResult {
27678				pub okay: ::core::primitive::bool,
27679				pub fatal_error: ::core::primitive::bool,
27680				pub errors: runtime_types::sp_inherents::InherentData,
27681			}
27682			#[derive(
27683				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27684				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27685				Debug,
27686			)]
27687			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27688			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27689			pub struct InherentData {
27690				pub data: ::subxt::ext::subxt_core::utils::KeyedVec<
27691					[::core::primitive::u8; 8usize],
27692					::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
27693				>,
27694			}
27695		}
27696		pub mod sp_runtime {
27697			use super::runtime_types;
27698			pub mod generic {
27699				use super::runtime_types;
27700				pub mod block {
27701					use super::runtime_types;
27702					#[derive(
27703						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27704						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27705						Debug,
27706					)]
27707					#[decode_as_type(
27708						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27709					)]
27710					#[encode_as_type(
27711						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27712					)]
27713					pub struct Block<_0, _1> {
27714						pub header: _0,
27715						pub extrinsics: ::subxt::ext::subxt_core::alloc::vec::Vec<_1>,
27716					}
27717				}
27718				pub mod digest {
27719					use super::runtime_types;
27720					#[derive(
27721						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27722						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27723						Debug,
27724					)]
27725					#[decode_as_type(
27726						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27727					)]
27728					#[encode_as_type(
27729						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27730					)]
27731					pub struct Digest {
27732						pub logs: ::subxt::ext::subxt_core::alloc::vec::Vec<
27733							runtime_types::sp_runtime::generic::digest::DigestItem,
27734						>,
27735					}
27736					#[derive(
27737						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27738						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27739						Debug,
27740					)]
27741					#[decode_as_type(
27742						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27743					)]
27744					#[encode_as_type(
27745						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27746					)]
27747					pub enum DigestItem {
27748						#[codec(index = 6)]
27749						PreRuntime(
27750							[::core::primitive::u8; 4usize],
27751							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
27752						),
27753						#[codec(index = 4)]
27754						Consensus(
27755							[::core::primitive::u8; 4usize],
27756							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
27757						),
27758						#[codec(index = 5)]
27759						Seal(
27760							[::core::primitive::u8; 4usize],
27761							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
27762						),
27763						#[codec(index = 0)]
27764						Other(::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>),
27765						#[codec(index = 8)]
27766						RuntimeEnvironmentUpdated,
27767					}
27768				}
27769				pub mod era {
27770					use super::runtime_types;
27771					#[derive(
27772						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27773						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27774						Debug,
27775					)]
27776					#[decode_as_type(
27777						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27778					)]
27779					#[encode_as_type(
27780						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27781					)]
27782					pub enum Era {
27783						#[codec(index = 0)]
27784						Immortal,
27785						#[codec(index = 1)]
27786						Mortal1(::core::primitive::u8),
27787						#[codec(index = 2)]
27788						Mortal2(::core::primitive::u8),
27789						#[codec(index = 3)]
27790						Mortal3(::core::primitive::u8),
27791						#[codec(index = 4)]
27792						Mortal4(::core::primitive::u8),
27793						#[codec(index = 5)]
27794						Mortal5(::core::primitive::u8),
27795						#[codec(index = 6)]
27796						Mortal6(::core::primitive::u8),
27797						#[codec(index = 7)]
27798						Mortal7(::core::primitive::u8),
27799						#[codec(index = 8)]
27800						Mortal8(::core::primitive::u8),
27801						#[codec(index = 9)]
27802						Mortal9(::core::primitive::u8),
27803						#[codec(index = 10)]
27804						Mortal10(::core::primitive::u8),
27805						#[codec(index = 11)]
27806						Mortal11(::core::primitive::u8),
27807						#[codec(index = 12)]
27808						Mortal12(::core::primitive::u8),
27809						#[codec(index = 13)]
27810						Mortal13(::core::primitive::u8),
27811						#[codec(index = 14)]
27812						Mortal14(::core::primitive::u8),
27813						#[codec(index = 15)]
27814						Mortal15(::core::primitive::u8),
27815						#[codec(index = 16)]
27816						Mortal16(::core::primitive::u8),
27817						#[codec(index = 17)]
27818						Mortal17(::core::primitive::u8),
27819						#[codec(index = 18)]
27820						Mortal18(::core::primitive::u8),
27821						#[codec(index = 19)]
27822						Mortal19(::core::primitive::u8),
27823						#[codec(index = 20)]
27824						Mortal20(::core::primitive::u8),
27825						#[codec(index = 21)]
27826						Mortal21(::core::primitive::u8),
27827						#[codec(index = 22)]
27828						Mortal22(::core::primitive::u8),
27829						#[codec(index = 23)]
27830						Mortal23(::core::primitive::u8),
27831						#[codec(index = 24)]
27832						Mortal24(::core::primitive::u8),
27833						#[codec(index = 25)]
27834						Mortal25(::core::primitive::u8),
27835						#[codec(index = 26)]
27836						Mortal26(::core::primitive::u8),
27837						#[codec(index = 27)]
27838						Mortal27(::core::primitive::u8),
27839						#[codec(index = 28)]
27840						Mortal28(::core::primitive::u8),
27841						#[codec(index = 29)]
27842						Mortal29(::core::primitive::u8),
27843						#[codec(index = 30)]
27844						Mortal30(::core::primitive::u8),
27845						#[codec(index = 31)]
27846						Mortal31(::core::primitive::u8),
27847						#[codec(index = 32)]
27848						Mortal32(::core::primitive::u8),
27849						#[codec(index = 33)]
27850						Mortal33(::core::primitive::u8),
27851						#[codec(index = 34)]
27852						Mortal34(::core::primitive::u8),
27853						#[codec(index = 35)]
27854						Mortal35(::core::primitive::u8),
27855						#[codec(index = 36)]
27856						Mortal36(::core::primitive::u8),
27857						#[codec(index = 37)]
27858						Mortal37(::core::primitive::u8),
27859						#[codec(index = 38)]
27860						Mortal38(::core::primitive::u8),
27861						#[codec(index = 39)]
27862						Mortal39(::core::primitive::u8),
27863						#[codec(index = 40)]
27864						Mortal40(::core::primitive::u8),
27865						#[codec(index = 41)]
27866						Mortal41(::core::primitive::u8),
27867						#[codec(index = 42)]
27868						Mortal42(::core::primitive::u8),
27869						#[codec(index = 43)]
27870						Mortal43(::core::primitive::u8),
27871						#[codec(index = 44)]
27872						Mortal44(::core::primitive::u8),
27873						#[codec(index = 45)]
27874						Mortal45(::core::primitive::u8),
27875						#[codec(index = 46)]
27876						Mortal46(::core::primitive::u8),
27877						#[codec(index = 47)]
27878						Mortal47(::core::primitive::u8),
27879						#[codec(index = 48)]
27880						Mortal48(::core::primitive::u8),
27881						#[codec(index = 49)]
27882						Mortal49(::core::primitive::u8),
27883						#[codec(index = 50)]
27884						Mortal50(::core::primitive::u8),
27885						#[codec(index = 51)]
27886						Mortal51(::core::primitive::u8),
27887						#[codec(index = 52)]
27888						Mortal52(::core::primitive::u8),
27889						#[codec(index = 53)]
27890						Mortal53(::core::primitive::u8),
27891						#[codec(index = 54)]
27892						Mortal54(::core::primitive::u8),
27893						#[codec(index = 55)]
27894						Mortal55(::core::primitive::u8),
27895						#[codec(index = 56)]
27896						Mortal56(::core::primitive::u8),
27897						#[codec(index = 57)]
27898						Mortal57(::core::primitive::u8),
27899						#[codec(index = 58)]
27900						Mortal58(::core::primitive::u8),
27901						#[codec(index = 59)]
27902						Mortal59(::core::primitive::u8),
27903						#[codec(index = 60)]
27904						Mortal60(::core::primitive::u8),
27905						#[codec(index = 61)]
27906						Mortal61(::core::primitive::u8),
27907						#[codec(index = 62)]
27908						Mortal62(::core::primitive::u8),
27909						#[codec(index = 63)]
27910						Mortal63(::core::primitive::u8),
27911						#[codec(index = 64)]
27912						Mortal64(::core::primitive::u8),
27913						#[codec(index = 65)]
27914						Mortal65(::core::primitive::u8),
27915						#[codec(index = 66)]
27916						Mortal66(::core::primitive::u8),
27917						#[codec(index = 67)]
27918						Mortal67(::core::primitive::u8),
27919						#[codec(index = 68)]
27920						Mortal68(::core::primitive::u8),
27921						#[codec(index = 69)]
27922						Mortal69(::core::primitive::u8),
27923						#[codec(index = 70)]
27924						Mortal70(::core::primitive::u8),
27925						#[codec(index = 71)]
27926						Mortal71(::core::primitive::u8),
27927						#[codec(index = 72)]
27928						Mortal72(::core::primitive::u8),
27929						#[codec(index = 73)]
27930						Mortal73(::core::primitive::u8),
27931						#[codec(index = 74)]
27932						Mortal74(::core::primitive::u8),
27933						#[codec(index = 75)]
27934						Mortal75(::core::primitive::u8),
27935						#[codec(index = 76)]
27936						Mortal76(::core::primitive::u8),
27937						#[codec(index = 77)]
27938						Mortal77(::core::primitive::u8),
27939						#[codec(index = 78)]
27940						Mortal78(::core::primitive::u8),
27941						#[codec(index = 79)]
27942						Mortal79(::core::primitive::u8),
27943						#[codec(index = 80)]
27944						Mortal80(::core::primitive::u8),
27945						#[codec(index = 81)]
27946						Mortal81(::core::primitive::u8),
27947						#[codec(index = 82)]
27948						Mortal82(::core::primitive::u8),
27949						#[codec(index = 83)]
27950						Mortal83(::core::primitive::u8),
27951						#[codec(index = 84)]
27952						Mortal84(::core::primitive::u8),
27953						#[codec(index = 85)]
27954						Mortal85(::core::primitive::u8),
27955						#[codec(index = 86)]
27956						Mortal86(::core::primitive::u8),
27957						#[codec(index = 87)]
27958						Mortal87(::core::primitive::u8),
27959						#[codec(index = 88)]
27960						Mortal88(::core::primitive::u8),
27961						#[codec(index = 89)]
27962						Mortal89(::core::primitive::u8),
27963						#[codec(index = 90)]
27964						Mortal90(::core::primitive::u8),
27965						#[codec(index = 91)]
27966						Mortal91(::core::primitive::u8),
27967						#[codec(index = 92)]
27968						Mortal92(::core::primitive::u8),
27969						#[codec(index = 93)]
27970						Mortal93(::core::primitive::u8),
27971						#[codec(index = 94)]
27972						Mortal94(::core::primitive::u8),
27973						#[codec(index = 95)]
27974						Mortal95(::core::primitive::u8),
27975						#[codec(index = 96)]
27976						Mortal96(::core::primitive::u8),
27977						#[codec(index = 97)]
27978						Mortal97(::core::primitive::u8),
27979						#[codec(index = 98)]
27980						Mortal98(::core::primitive::u8),
27981						#[codec(index = 99)]
27982						Mortal99(::core::primitive::u8),
27983						#[codec(index = 100)]
27984						Mortal100(::core::primitive::u8),
27985						#[codec(index = 101)]
27986						Mortal101(::core::primitive::u8),
27987						#[codec(index = 102)]
27988						Mortal102(::core::primitive::u8),
27989						#[codec(index = 103)]
27990						Mortal103(::core::primitive::u8),
27991						#[codec(index = 104)]
27992						Mortal104(::core::primitive::u8),
27993						#[codec(index = 105)]
27994						Mortal105(::core::primitive::u8),
27995						#[codec(index = 106)]
27996						Mortal106(::core::primitive::u8),
27997						#[codec(index = 107)]
27998						Mortal107(::core::primitive::u8),
27999						#[codec(index = 108)]
28000						Mortal108(::core::primitive::u8),
28001						#[codec(index = 109)]
28002						Mortal109(::core::primitive::u8),
28003						#[codec(index = 110)]
28004						Mortal110(::core::primitive::u8),
28005						#[codec(index = 111)]
28006						Mortal111(::core::primitive::u8),
28007						#[codec(index = 112)]
28008						Mortal112(::core::primitive::u8),
28009						#[codec(index = 113)]
28010						Mortal113(::core::primitive::u8),
28011						#[codec(index = 114)]
28012						Mortal114(::core::primitive::u8),
28013						#[codec(index = 115)]
28014						Mortal115(::core::primitive::u8),
28015						#[codec(index = 116)]
28016						Mortal116(::core::primitive::u8),
28017						#[codec(index = 117)]
28018						Mortal117(::core::primitive::u8),
28019						#[codec(index = 118)]
28020						Mortal118(::core::primitive::u8),
28021						#[codec(index = 119)]
28022						Mortal119(::core::primitive::u8),
28023						#[codec(index = 120)]
28024						Mortal120(::core::primitive::u8),
28025						#[codec(index = 121)]
28026						Mortal121(::core::primitive::u8),
28027						#[codec(index = 122)]
28028						Mortal122(::core::primitive::u8),
28029						#[codec(index = 123)]
28030						Mortal123(::core::primitive::u8),
28031						#[codec(index = 124)]
28032						Mortal124(::core::primitive::u8),
28033						#[codec(index = 125)]
28034						Mortal125(::core::primitive::u8),
28035						#[codec(index = 126)]
28036						Mortal126(::core::primitive::u8),
28037						#[codec(index = 127)]
28038						Mortal127(::core::primitive::u8),
28039						#[codec(index = 128)]
28040						Mortal128(::core::primitive::u8),
28041						#[codec(index = 129)]
28042						Mortal129(::core::primitive::u8),
28043						#[codec(index = 130)]
28044						Mortal130(::core::primitive::u8),
28045						#[codec(index = 131)]
28046						Mortal131(::core::primitive::u8),
28047						#[codec(index = 132)]
28048						Mortal132(::core::primitive::u8),
28049						#[codec(index = 133)]
28050						Mortal133(::core::primitive::u8),
28051						#[codec(index = 134)]
28052						Mortal134(::core::primitive::u8),
28053						#[codec(index = 135)]
28054						Mortal135(::core::primitive::u8),
28055						#[codec(index = 136)]
28056						Mortal136(::core::primitive::u8),
28057						#[codec(index = 137)]
28058						Mortal137(::core::primitive::u8),
28059						#[codec(index = 138)]
28060						Mortal138(::core::primitive::u8),
28061						#[codec(index = 139)]
28062						Mortal139(::core::primitive::u8),
28063						#[codec(index = 140)]
28064						Mortal140(::core::primitive::u8),
28065						#[codec(index = 141)]
28066						Mortal141(::core::primitive::u8),
28067						#[codec(index = 142)]
28068						Mortal142(::core::primitive::u8),
28069						#[codec(index = 143)]
28070						Mortal143(::core::primitive::u8),
28071						#[codec(index = 144)]
28072						Mortal144(::core::primitive::u8),
28073						#[codec(index = 145)]
28074						Mortal145(::core::primitive::u8),
28075						#[codec(index = 146)]
28076						Mortal146(::core::primitive::u8),
28077						#[codec(index = 147)]
28078						Mortal147(::core::primitive::u8),
28079						#[codec(index = 148)]
28080						Mortal148(::core::primitive::u8),
28081						#[codec(index = 149)]
28082						Mortal149(::core::primitive::u8),
28083						#[codec(index = 150)]
28084						Mortal150(::core::primitive::u8),
28085						#[codec(index = 151)]
28086						Mortal151(::core::primitive::u8),
28087						#[codec(index = 152)]
28088						Mortal152(::core::primitive::u8),
28089						#[codec(index = 153)]
28090						Mortal153(::core::primitive::u8),
28091						#[codec(index = 154)]
28092						Mortal154(::core::primitive::u8),
28093						#[codec(index = 155)]
28094						Mortal155(::core::primitive::u8),
28095						#[codec(index = 156)]
28096						Mortal156(::core::primitive::u8),
28097						#[codec(index = 157)]
28098						Mortal157(::core::primitive::u8),
28099						#[codec(index = 158)]
28100						Mortal158(::core::primitive::u8),
28101						#[codec(index = 159)]
28102						Mortal159(::core::primitive::u8),
28103						#[codec(index = 160)]
28104						Mortal160(::core::primitive::u8),
28105						#[codec(index = 161)]
28106						Mortal161(::core::primitive::u8),
28107						#[codec(index = 162)]
28108						Mortal162(::core::primitive::u8),
28109						#[codec(index = 163)]
28110						Mortal163(::core::primitive::u8),
28111						#[codec(index = 164)]
28112						Mortal164(::core::primitive::u8),
28113						#[codec(index = 165)]
28114						Mortal165(::core::primitive::u8),
28115						#[codec(index = 166)]
28116						Mortal166(::core::primitive::u8),
28117						#[codec(index = 167)]
28118						Mortal167(::core::primitive::u8),
28119						#[codec(index = 168)]
28120						Mortal168(::core::primitive::u8),
28121						#[codec(index = 169)]
28122						Mortal169(::core::primitive::u8),
28123						#[codec(index = 170)]
28124						Mortal170(::core::primitive::u8),
28125						#[codec(index = 171)]
28126						Mortal171(::core::primitive::u8),
28127						#[codec(index = 172)]
28128						Mortal172(::core::primitive::u8),
28129						#[codec(index = 173)]
28130						Mortal173(::core::primitive::u8),
28131						#[codec(index = 174)]
28132						Mortal174(::core::primitive::u8),
28133						#[codec(index = 175)]
28134						Mortal175(::core::primitive::u8),
28135						#[codec(index = 176)]
28136						Mortal176(::core::primitive::u8),
28137						#[codec(index = 177)]
28138						Mortal177(::core::primitive::u8),
28139						#[codec(index = 178)]
28140						Mortal178(::core::primitive::u8),
28141						#[codec(index = 179)]
28142						Mortal179(::core::primitive::u8),
28143						#[codec(index = 180)]
28144						Mortal180(::core::primitive::u8),
28145						#[codec(index = 181)]
28146						Mortal181(::core::primitive::u8),
28147						#[codec(index = 182)]
28148						Mortal182(::core::primitive::u8),
28149						#[codec(index = 183)]
28150						Mortal183(::core::primitive::u8),
28151						#[codec(index = 184)]
28152						Mortal184(::core::primitive::u8),
28153						#[codec(index = 185)]
28154						Mortal185(::core::primitive::u8),
28155						#[codec(index = 186)]
28156						Mortal186(::core::primitive::u8),
28157						#[codec(index = 187)]
28158						Mortal187(::core::primitive::u8),
28159						#[codec(index = 188)]
28160						Mortal188(::core::primitive::u8),
28161						#[codec(index = 189)]
28162						Mortal189(::core::primitive::u8),
28163						#[codec(index = 190)]
28164						Mortal190(::core::primitive::u8),
28165						#[codec(index = 191)]
28166						Mortal191(::core::primitive::u8),
28167						#[codec(index = 192)]
28168						Mortal192(::core::primitive::u8),
28169						#[codec(index = 193)]
28170						Mortal193(::core::primitive::u8),
28171						#[codec(index = 194)]
28172						Mortal194(::core::primitive::u8),
28173						#[codec(index = 195)]
28174						Mortal195(::core::primitive::u8),
28175						#[codec(index = 196)]
28176						Mortal196(::core::primitive::u8),
28177						#[codec(index = 197)]
28178						Mortal197(::core::primitive::u8),
28179						#[codec(index = 198)]
28180						Mortal198(::core::primitive::u8),
28181						#[codec(index = 199)]
28182						Mortal199(::core::primitive::u8),
28183						#[codec(index = 200)]
28184						Mortal200(::core::primitive::u8),
28185						#[codec(index = 201)]
28186						Mortal201(::core::primitive::u8),
28187						#[codec(index = 202)]
28188						Mortal202(::core::primitive::u8),
28189						#[codec(index = 203)]
28190						Mortal203(::core::primitive::u8),
28191						#[codec(index = 204)]
28192						Mortal204(::core::primitive::u8),
28193						#[codec(index = 205)]
28194						Mortal205(::core::primitive::u8),
28195						#[codec(index = 206)]
28196						Mortal206(::core::primitive::u8),
28197						#[codec(index = 207)]
28198						Mortal207(::core::primitive::u8),
28199						#[codec(index = 208)]
28200						Mortal208(::core::primitive::u8),
28201						#[codec(index = 209)]
28202						Mortal209(::core::primitive::u8),
28203						#[codec(index = 210)]
28204						Mortal210(::core::primitive::u8),
28205						#[codec(index = 211)]
28206						Mortal211(::core::primitive::u8),
28207						#[codec(index = 212)]
28208						Mortal212(::core::primitive::u8),
28209						#[codec(index = 213)]
28210						Mortal213(::core::primitive::u8),
28211						#[codec(index = 214)]
28212						Mortal214(::core::primitive::u8),
28213						#[codec(index = 215)]
28214						Mortal215(::core::primitive::u8),
28215						#[codec(index = 216)]
28216						Mortal216(::core::primitive::u8),
28217						#[codec(index = 217)]
28218						Mortal217(::core::primitive::u8),
28219						#[codec(index = 218)]
28220						Mortal218(::core::primitive::u8),
28221						#[codec(index = 219)]
28222						Mortal219(::core::primitive::u8),
28223						#[codec(index = 220)]
28224						Mortal220(::core::primitive::u8),
28225						#[codec(index = 221)]
28226						Mortal221(::core::primitive::u8),
28227						#[codec(index = 222)]
28228						Mortal222(::core::primitive::u8),
28229						#[codec(index = 223)]
28230						Mortal223(::core::primitive::u8),
28231						#[codec(index = 224)]
28232						Mortal224(::core::primitive::u8),
28233						#[codec(index = 225)]
28234						Mortal225(::core::primitive::u8),
28235						#[codec(index = 226)]
28236						Mortal226(::core::primitive::u8),
28237						#[codec(index = 227)]
28238						Mortal227(::core::primitive::u8),
28239						#[codec(index = 228)]
28240						Mortal228(::core::primitive::u8),
28241						#[codec(index = 229)]
28242						Mortal229(::core::primitive::u8),
28243						#[codec(index = 230)]
28244						Mortal230(::core::primitive::u8),
28245						#[codec(index = 231)]
28246						Mortal231(::core::primitive::u8),
28247						#[codec(index = 232)]
28248						Mortal232(::core::primitive::u8),
28249						#[codec(index = 233)]
28250						Mortal233(::core::primitive::u8),
28251						#[codec(index = 234)]
28252						Mortal234(::core::primitive::u8),
28253						#[codec(index = 235)]
28254						Mortal235(::core::primitive::u8),
28255						#[codec(index = 236)]
28256						Mortal236(::core::primitive::u8),
28257						#[codec(index = 237)]
28258						Mortal237(::core::primitive::u8),
28259						#[codec(index = 238)]
28260						Mortal238(::core::primitive::u8),
28261						#[codec(index = 239)]
28262						Mortal239(::core::primitive::u8),
28263						#[codec(index = 240)]
28264						Mortal240(::core::primitive::u8),
28265						#[codec(index = 241)]
28266						Mortal241(::core::primitive::u8),
28267						#[codec(index = 242)]
28268						Mortal242(::core::primitive::u8),
28269						#[codec(index = 243)]
28270						Mortal243(::core::primitive::u8),
28271						#[codec(index = 244)]
28272						Mortal244(::core::primitive::u8),
28273						#[codec(index = 245)]
28274						Mortal245(::core::primitive::u8),
28275						#[codec(index = 246)]
28276						Mortal246(::core::primitive::u8),
28277						#[codec(index = 247)]
28278						Mortal247(::core::primitive::u8),
28279						#[codec(index = 248)]
28280						Mortal248(::core::primitive::u8),
28281						#[codec(index = 249)]
28282						Mortal249(::core::primitive::u8),
28283						#[codec(index = 250)]
28284						Mortal250(::core::primitive::u8),
28285						#[codec(index = 251)]
28286						Mortal251(::core::primitive::u8),
28287						#[codec(index = 252)]
28288						Mortal252(::core::primitive::u8),
28289						#[codec(index = 253)]
28290						Mortal253(::core::primitive::u8),
28291						#[codec(index = 254)]
28292						Mortal254(::core::primitive::u8),
28293						#[codec(index = 255)]
28294						Mortal255(::core::primitive::u8),
28295					}
28296				}
28297				pub mod header {
28298					use super::runtime_types;
28299					#[derive(
28300						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28301						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28302						Debug,
28303					)]
28304					#[decode_as_type(
28305						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
28306					)]
28307					#[encode_as_type(
28308						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
28309					)]
28310					pub struct Header<_0> {
28311						pub parent_hash: ::subxt::ext::subxt_core::utils::H256,
28312						#[codec(compact)]
28313						pub number: _0,
28314						pub state_root: ::subxt::ext::subxt_core::utils::H256,
28315						pub extrinsics_root: ::subxt::ext::subxt_core::utils::H256,
28316						pub digest: runtime_types::sp_runtime::generic::digest::Digest,
28317					}
28318				}
28319			}
28320			pub mod proving_trie {
28321				use super::runtime_types;
28322				#[derive(
28323					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28324					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28325					Debug,
28326				)]
28327				#[decode_as_type(
28328					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
28329				)]
28330				#[encode_as_type(
28331					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
28332				)]
28333				pub enum TrieError {
28334					#[codec(index = 0)]
28335					InvalidStateRoot,
28336					#[codec(index = 1)]
28337					IncompleteDatabase,
28338					#[codec(index = 2)]
28339					ValueAtIncompleteKey,
28340					#[codec(index = 3)]
28341					DecoderError,
28342					#[codec(index = 4)]
28343					InvalidHash,
28344					#[codec(index = 5)]
28345					DuplicateKey,
28346					#[codec(index = 6)]
28347					ExtraneousNode,
28348					#[codec(index = 7)]
28349					ExtraneousValue,
28350					#[codec(index = 8)]
28351					ExtraneousHashReference,
28352					#[codec(index = 9)]
28353					InvalidChildReference,
28354					#[codec(index = 10)]
28355					ValueMismatch,
28356					#[codec(index = 11)]
28357					IncompleteProof,
28358					#[codec(index = 12)]
28359					RootMismatch,
28360					#[codec(index = 13)]
28361					DecodeError,
28362				}
28363			}
28364			pub mod transaction_validity {
28365				use super::runtime_types;
28366				#[derive(
28367					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28368					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28369					Debug,
28370				)]
28371				#[decode_as_type(
28372					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
28373				)]
28374				#[encode_as_type(
28375					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
28376				)]
28377				pub enum InvalidTransaction {
28378					#[codec(index = 0)]
28379					Call,
28380					#[codec(index = 1)]
28381					Payment,
28382					#[codec(index = 2)]
28383					Future,
28384					#[codec(index = 3)]
28385					Stale,
28386					#[codec(index = 4)]
28387					BadProof,
28388					#[codec(index = 5)]
28389					AncientBirthBlock,
28390					#[codec(index = 6)]
28391					ExhaustsResources,
28392					#[codec(index = 7)]
28393					Custom(::core::primitive::u8),
28394					#[codec(index = 8)]
28395					BadMandatory,
28396					#[codec(index = 9)]
28397					MandatoryValidation,
28398					#[codec(index = 10)]
28399					BadSigner,
28400					#[codec(index = 11)]
28401					IndeterminateImplicit,
28402					#[codec(index = 12)]
28403					UnknownOrigin,
28404				}
28405				#[derive(
28406					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28407					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28408					Debug,
28409				)]
28410				#[decode_as_type(
28411					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
28412				)]
28413				#[encode_as_type(
28414					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
28415				)]
28416				pub enum TransactionSource {
28417					#[codec(index = 0)]
28418					InBlock,
28419					#[codec(index = 1)]
28420					Local,
28421					#[codec(index = 2)]
28422					External,
28423				}
28424				#[derive(
28425					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28426					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28427					Debug,
28428				)]
28429				#[decode_as_type(
28430					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
28431				)]
28432				#[encode_as_type(
28433					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
28434				)]
28435				pub enum TransactionValidityError {
28436					#[codec(index = 0)]
28437					Invalid(runtime_types::sp_runtime::transaction_validity::InvalidTransaction),
28438					#[codec(index = 1)]
28439					Unknown(runtime_types::sp_runtime::transaction_validity::UnknownTransaction),
28440				}
28441				#[derive(
28442					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28443					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28444					Debug,
28445				)]
28446				#[decode_as_type(
28447					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
28448				)]
28449				#[encode_as_type(
28450					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
28451				)]
28452				pub enum UnknownTransaction {
28453					#[codec(index = 0)]
28454					CannotLookup,
28455					#[codec(index = 1)]
28456					NoUnsignedValidator,
28457					#[codec(index = 2)]
28458					Custom(::core::primitive::u8),
28459				}
28460				#[derive(
28461					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28462					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28463					Debug,
28464				)]
28465				#[decode_as_type(
28466					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
28467				)]
28468				#[encode_as_type(
28469					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
28470				)]
28471				pub struct ValidTransaction {
28472					pub priority: ::core::primitive::u64,
28473					pub requires: ::subxt::ext::subxt_core::alloc::vec::Vec<
28474						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
28475					>,
28476					pub provides: ::subxt::ext::subxt_core::alloc::vec::Vec<
28477						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
28478					>,
28479					pub longevity: ::core::primitive::u64,
28480					pub propagate: ::core::primitive::bool,
28481				}
28482			}
28483			#[derive(
28484				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28485				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28486				Debug,
28487			)]
28488			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28489			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28490			pub enum DispatchError {
28491				#[codec(index = 0)]
28492				Other,
28493				#[codec(index = 1)]
28494				CannotLookup,
28495				#[codec(index = 2)]
28496				BadOrigin,
28497				#[codec(index = 3)]
28498				Module(runtime_types::sp_runtime::ModuleError),
28499				#[codec(index = 4)]
28500				ConsumerRemaining,
28501				#[codec(index = 5)]
28502				NoProviders,
28503				#[codec(index = 6)]
28504				TooManyConsumers,
28505				#[codec(index = 7)]
28506				Token(runtime_types::sp_runtime::TokenError),
28507				#[codec(index = 8)]
28508				Arithmetic(runtime_types::sp_arithmetic::ArithmeticError),
28509				#[codec(index = 9)]
28510				Transactional(runtime_types::sp_runtime::TransactionalError),
28511				#[codec(index = 10)]
28512				Exhausted,
28513				#[codec(index = 11)]
28514				Corruption,
28515				#[codec(index = 12)]
28516				Unavailable,
28517				#[codec(index = 13)]
28518				RootNotAllowed,
28519				#[codec(index = 14)]
28520				Trie(runtime_types::sp_runtime::proving_trie::TrieError),
28521			}
28522			#[derive(
28523				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28524				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28525				Debug,
28526			)]
28527			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28528			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28529			pub struct DispatchErrorWithPostInfo<_0> {
28530				pub post_info: _0,
28531				pub error: runtime_types::sp_runtime::DispatchError,
28532			}
28533			#[derive(
28534				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28535				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28536				Debug,
28537			)]
28538			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28539			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28540			pub enum ExtrinsicInclusionMode {
28541				#[codec(index = 0)]
28542				AllExtrinsics,
28543				#[codec(index = 1)]
28544				OnlyInherents,
28545			}
28546			#[derive(
28547				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28548				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28549				Debug,
28550			)]
28551			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28552			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28553			pub struct ModuleError {
28554				pub index: ::core::primitive::u8,
28555				pub error: [::core::primitive::u8; 4usize],
28556			}
28557			#[derive(
28558				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28559				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28560				Debug,
28561			)]
28562			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28563			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28564			pub enum TokenError {
28565				#[codec(index = 0)]
28566				FundsUnavailable,
28567				#[codec(index = 1)]
28568				OnlyProvider,
28569				#[codec(index = 2)]
28570				BelowMinimum,
28571				#[codec(index = 3)]
28572				CannotCreate,
28573				#[codec(index = 4)]
28574				UnknownAsset,
28575				#[codec(index = 5)]
28576				Frozen,
28577				#[codec(index = 6)]
28578				Unsupported,
28579				#[codec(index = 7)]
28580				CannotCreateHold,
28581				#[codec(index = 8)]
28582				NotExpendable,
28583				#[codec(index = 9)]
28584				Blocked,
28585			}
28586			#[derive(
28587				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28588				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28589				Debug,
28590			)]
28591			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28592			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28593			pub enum TransactionalError {
28594				#[codec(index = 0)]
28595				LimitReached,
28596				#[codec(index = 1)]
28597				NoLayer,
28598			}
28599		}
28600		pub mod sp_version {
28601			use super::runtime_types;
28602			#[derive(
28603				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28604				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28605				Debug,
28606			)]
28607			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28608			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28609			pub struct RuntimeVersion {
28610				pub spec_name: ::subxt::ext::subxt_core::alloc::string::String,
28611				pub impl_name: ::subxt::ext::subxt_core::alloc::string::String,
28612				pub authoring_version: ::core::primitive::u32,
28613				pub spec_version: ::core::primitive::u32,
28614				pub impl_version: ::core::primitive::u32,
28615				pub apis: ::subxt::ext::subxt_core::alloc::vec::Vec<(
28616					[::core::primitive::u8; 8usize],
28617					::core::primitive::u32,
28618				)>,
28619				pub transaction_version: ::core::primitive::u32,
28620				pub system_version: ::core::primitive::u8,
28621			}
28622		}
28623		pub mod sp_weights {
28624			use super::runtime_types;
28625			pub mod weight_v2 {
28626				use super::runtime_types;
28627				#[derive(
28628					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28629					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28630					Debug,
28631				)]
28632				#[decode_as_type(
28633					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
28634				)]
28635				#[encode_as_type(
28636					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
28637				)]
28638				pub struct Weight {
28639					#[codec(compact)]
28640					pub ref_time: ::core::primitive::u64,
28641					#[codec(compact)]
28642					pub proof_size: ::core::primitive::u64,
28643				}
28644			}
28645			#[derive(
28646				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28647				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28648				Debug,
28649			)]
28650			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28651			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28652			pub struct RuntimeDbWeight {
28653				pub read: ::core::primitive::u64,
28654				pub write: ::core::primitive::u64,
28655			}
28656		}
28657	}
28658}