Skip to main content

quantus_cli/chain/
quantus_subxt.rs

1#[allow(dead_code, unused_imports, non_camel_case_types, unreachable_patterns)]
2#[allow(clippy::all)]
3#[allow(rustdoc::broken_intra_doc_links)]
4pub mod api {
5	#[allow(unused_imports)]
6	mod root_mod {
7		pub use super::*;
8	}
9	pub static PALLETS: [&str; 21usize] = [
10		"System",
11		"Timestamp",
12		"Balances",
13		"TransactionPayment",
14		"Sudo",
15		"QPoW",
16		"MiningRewards",
17		"Preimage",
18		"Scheduler",
19		"Utility",
20		"Referenda",
21		"ReversibleTransfers",
22		"ConvictionVoting",
23		"TechCollective",
24		"TechReferenda",
25		"TreasuryPallet",
26		"Recovery",
27		"Assets",
28		"AssetsHolder",
29		"Multisig",
30		"Wormhole",
31	];
32	pub static RUNTIME_APIS: [&str; 11usize] = [
33		"Core",
34		"Metadata",
35		"BlockBuilder",
36		"TaggedTransactionQueue",
37		"OffchainWorkerApi",
38		"SessionKeys",
39		"QPoWApi",
40		"AccountNonceApi",
41		"TransactionPaymentApi",
42		"TransactionPaymentCallApi",
43		"GenesisBuilder",
44	];
45	#[doc = r" The error type that is returned when there is a runtime issue."]
46	pub type DispatchError = runtime_types::sp_runtime::DispatchError;
47	#[doc = r" The outer event enum."]
48	pub type Event = runtime_types::quantus_runtime::RuntimeEvent;
49	#[doc = r" The outer extrinsic enum."]
50	pub type Call = runtime_types::quantus_runtime::RuntimeCall;
51	#[doc = r" The outer error enum represents the DispatchError's Module variant."]
52	pub type Error = runtime_types::quantus_runtime::RuntimeError;
53	pub fn constants() -> ConstantsApi {
54		ConstantsApi
55	}
56	pub fn storage() -> StorageApi {
57		StorageApi
58	}
59	pub fn tx() -> TransactionApi {
60		TransactionApi
61	}
62	pub fn apis() -> runtime_apis::RuntimeApi {
63		runtime_apis::RuntimeApi
64	}
65	pub mod runtime_apis {
66		use super::{root_mod, runtime_types};
67		use ::subxt::ext::subxt_core::ext::codec::Encode;
68		pub struct RuntimeApi;
69		impl RuntimeApi {
70			pub fn core(&self) -> core::Core {
71				core::Core
72			}
73			pub fn metadata(&self) -> metadata::Metadata {
74				metadata::Metadata
75			}
76			pub fn block_builder(&self) -> block_builder::BlockBuilder {
77				block_builder::BlockBuilder
78			}
79			pub fn tagged_transaction_queue(
80				&self,
81			) -> tagged_transaction_queue::TaggedTransactionQueue {
82				tagged_transaction_queue::TaggedTransactionQueue
83			}
84			pub fn offchain_worker_api(&self) -> offchain_worker_api::OffchainWorkerApi {
85				offchain_worker_api::OffchainWorkerApi
86			}
87			pub fn session_keys(&self) -> session_keys::SessionKeys {
88				session_keys::SessionKeys
89			}
90			pub fn q_po_w_api(&self) -> q_po_w_api::QPoWApi {
91				q_po_w_api::QPoWApi
92			}
93			pub fn account_nonce_api(&self) -> account_nonce_api::AccountNonceApi {
94				account_nonce_api::AccountNonceApi
95			}
96			pub fn transaction_payment_api(
97				&self,
98			) -> transaction_payment_api::TransactionPaymentApi {
99				transaction_payment_api::TransactionPaymentApi
100			}
101			pub fn transaction_payment_call_api(
102				&self,
103			) -> transaction_payment_call_api::TransactionPaymentCallApi {
104				transaction_payment_call_api::TransactionPaymentCallApi
105			}
106			pub fn genesis_builder(&self) -> genesis_builder::GenesisBuilder {
107				genesis_builder::GenesisBuilder
108			}
109		}
110		pub mod core {
111			use super::{root_mod, runtime_types};
112			#[doc = " The `Core` runtime api that every Substrate runtime needs to implement."]
113			pub struct Core;
114			impl Core {
115				#[doc = " Returns the version of the runtime."]
116				pub fn version(
117					&self,
118				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
119					types::Version,
120					types::version::output::Output,
121				> {
122					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
123						"Core",
124						"version",
125						types::Version {},
126						[
127							79u8, 22u8, 137u8, 4u8, 40u8, 64u8, 30u8, 180u8, 49u8, 222u8, 114u8,
128							125u8, 44u8, 25u8, 33u8, 152u8, 98u8, 42u8, 72u8, 178u8, 240u8, 103u8,
129							34u8, 187u8, 81u8, 161u8, 183u8, 6u8, 120u8, 2u8, 146u8, 0u8,
130						],
131					)
132				}
133				#[doc = " Execute the given block."]
134				pub fn execute_block(
135					&self,
136					block: types::execute_block::Block,
137				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
138					types::ExecuteBlock,
139					types::execute_block::output::Output,
140				> {
141					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
142						"Core",
143						"execute_block",
144						types::ExecuteBlock { block },
145						[
146							81u8, 130u8, 143u8, 72u8, 156u8, 15u8, 28u8, 87u8, 117u8, 10u8, 192u8,
147							249u8, 117u8, 214u8, 184u8, 13u8, 148u8, 224u8, 167u8, 170u8, 101u8,
148							194u8, 229u8, 140u8, 199u8, 115u8, 73u8, 99u8, 183u8, 205u8, 98u8,
149							33u8,
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							112u8, 139u8, 92u8, 30u8, 37u8, 99u8, 47u8, 83u8, 221u8, 31u8, 204u8,
167							129u8, 102u8, 92u8, 144u8, 80u8, 3u8, 98u8, 157u8, 5u8, 20u8, 31u8,
168							110u8, 105u8, 86u8, 91u8, 173u8, 19u8, 140u8, 246u8, 60u8, 223u8,
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 :: LazyBlock < runtime_types :: qp_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 , runtime_types :: quantus_runtime :: transaction_extensions :: WormholeProofRecorderExtension ,) > > ;
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 = runtime_types::qp_header::Header<::core::primitive::u32>;
219					pub mod output {
220						use super::runtime_types;
221						pub type Output = runtime_types::sp_runtime::ExtrinsicInclusionMode;
222					}
223				}
224				#[derive(
225					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
226					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
227					Debug,
228				)]
229				#[decode_as_type(
230					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
231				)]
232				#[encode_as_type(
233					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
234				)]
235				pub struct InitializeBlock {
236					pub header: initialize_block::Header,
237				}
238			}
239		}
240		pub mod metadata {
241			use super::{root_mod, runtime_types};
242			#[doc = " The `Metadata` api trait that returns metadata for the runtime."]
243			pub struct Metadata;
244			impl Metadata {
245				#[doc = " Returns the metadata of a runtime."]
246				pub fn metadata(
247					&self,
248				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
249					types::Metadata,
250					types::metadata::output::Output,
251				> {
252					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
253						"Metadata",
254						"metadata",
255						types::Metadata {},
256						[
257							231u8, 24u8, 67u8, 152u8, 23u8, 26u8, 188u8, 82u8, 229u8, 6u8, 185u8,
258							27u8, 175u8, 68u8, 83u8, 122u8, 69u8, 89u8, 185u8, 74u8, 248u8, 87u8,
259							217u8, 124u8, 193u8, 252u8, 199u8, 186u8, 196u8, 179u8, 179u8, 96u8,
260						],
261					)
262				}
263				#[doc = " Returns the metadata at a given version."]
264				#[doc = ""]
265				#[doc = " If the given `version` isn't supported, this will return `None`."]
266				#[doc = " Use [`Self::metadata_versions`] to find out about supported metadata version of the runtime."]
267				pub fn metadata_at_version(
268					&self,
269					version: types::metadata_at_version::Version,
270				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
271					types::MetadataAtVersion,
272					types::metadata_at_version::output::Output,
273				> {
274					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
275						"Metadata",
276						"metadata_at_version",
277						types::MetadataAtVersion { version },
278						[
279							131u8, 53u8, 212u8, 234u8, 16u8, 25u8, 120u8, 252u8, 153u8, 153u8,
280							216u8, 28u8, 54u8, 113u8, 52u8, 236u8, 146u8, 68u8, 142u8, 8u8, 10u8,
281							169u8, 131u8, 142u8, 204u8, 38u8, 48u8, 108u8, 134u8, 86u8, 226u8,
282							61u8,
283						],
284					)
285				}
286				#[doc = " Returns the supported metadata versions."]
287				#[doc = ""]
288				#[doc = " This can be used to call `metadata_at_version`."]
289				pub fn metadata_versions(
290					&self,
291				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
292					types::MetadataVersions,
293					types::metadata_versions::output::Output,
294				> {
295					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
296						"Metadata",
297						"metadata_versions",
298						types::MetadataVersions {},
299						[
300							23u8, 144u8, 137u8, 91u8, 188u8, 39u8, 231u8, 208u8, 252u8, 218u8,
301							224u8, 176u8, 77u8, 32u8, 130u8, 212u8, 223u8, 76u8, 100u8, 190u8,
302							82u8, 94u8, 190u8, 8u8, 82u8, 244u8, 225u8, 179u8, 85u8, 176u8, 56u8,
303							16u8,
304						],
305					)
306				}
307			}
308			pub mod types {
309				use super::runtime_types;
310				pub mod metadata {
311					use super::runtime_types;
312					pub mod output {
313						use super::runtime_types;
314						pub type Output = runtime_types::sp_core::OpaqueMetadata;
315					}
316				}
317				#[derive(
318					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
319					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
320					Debug,
321				)]
322				#[decode_as_type(
323					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
324				)]
325				#[encode_as_type(
326					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
327				)]
328				pub struct Metadata {}
329				pub mod metadata_at_version {
330					use super::runtime_types;
331					pub type Version = ::core::primitive::u32;
332					pub mod output {
333						use super::runtime_types;
334						pub type Output =
335							::core::option::Option<runtime_types::sp_core::OpaqueMetadata>;
336					}
337				}
338				#[derive(
339					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
340					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
341					Debug,
342				)]
343				#[decode_as_type(
344					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
345				)]
346				#[encode_as_type(
347					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
348				)]
349				pub struct MetadataAtVersion {
350					pub version: metadata_at_version::Version,
351				}
352				pub mod metadata_versions {
353					use super::runtime_types;
354					pub mod output {
355						use super::runtime_types;
356						pub type Output =
357							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u32>;
358					}
359				}
360				#[derive(
361					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
362					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
363					Debug,
364				)]
365				#[decode_as_type(
366					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
367				)]
368				#[encode_as_type(
369					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
370				)]
371				pub struct MetadataVersions {}
372			}
373		}
374		pub mod block_builder {
375			use super::{root_mod, runtime_types};
376			#[doc = " The `BlockBuilder` api trait that provides the required functionality for building a block."]
377			pub struct BlockBuilder;
378			impl BlockBuilder {
379				#[doc = " Apply the given extrinsic."]
380				#[doc = ""]
381				#[doc = " Returns an inclusion outcome which specifies if this extrinsic is included in"]
382				#[doc = " this block or not."]
383				pub fn apply_extrinsic(
384					&self,
385					extrinsic: types::apply_extrinsic::Extrinsic,
386				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
387					types::ApplyExtrinsic,
388					types::apply_extrinsic::output::Output,
389				> {
390					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
391						"BlockBuilder",
392						"apply_extrinsic",
393						types::ApplyExtrinsic { extrinsic },
394						[
395							192u8, 184u8, 199u8, 4u8, 85u8, 136u8, 214u8, 205u8, 29u8, 29u8, 98u8,
396							145u8, 172u8, 92u8, 168u8, 161u8, 150u8, 133u8, 100u8, 243u8, 100u8,
397							100u8, 118u8, 28u8, 104u8, 82u8, 93u8, 63u8, 79u8, 36u8, 149u8, 144u8,
398						],
399					)
400				}
401				#[doc = " Finish the current block."]
402				pub fn finalize_block(
403					&self,
404				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
405					types::FinalizeBlock,
406					types::finalize_block::output::Output,
407				> {
408					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
409						"BlockBuilder",
410						"finalize_block",
411						types::FinalizeBlock {},
412						[
413							135u8, 81u8, 28u8, 123u8, 19u8, 171u8, 129u8, 82u8, 85u8, 96u8, 238u8,
414							155u8, 211u8, 153u8, 243u8, 31u8, 189u8, 82u8, 91u8, 225u8, 78u8, 48u8,
415							241u8, 236u8, 143u8, 65u8, 91u8, 167u8, 114u8, 146u8, 31u8, 197u8,
416						],
417					)
418				}
419				#[doc = " Generate inherent extrinsics. The inherent data will vary from chain to chain."]
420				pub fn inherent_extrinsics(
421					&self,
422					inherent: types::inherent_extrinsics::Inherent,
423				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
424					types::InherentExtrinsics,
425					types::inherent_extrinsics::output::Output,
426				> {
427					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
428						"BlockBuilder",
429						"inherent_extrinsics",
430						types::InherentExtrinsics { inherent },
431						[
432							254u8, 110u8, 245u8, 201u8, 250u8, 192u8, 27u8, 228u8, 151u8, 213u8,
433							166u8, 89u8, 94u8, 81u8, 189u8, 234u8, 64u8, 18u8, 245u8, 80u8, 29u8,
434							18u8, 140u8, 129u8, 113u8, 236u8, 135u8, 55u8, 79u8, 159u8, 175u8,
435							183u8,
436						],
437					)
438				}
439				#[doc = " Check that the inherents are valid. The inherent data will vary from chain to chain."]
440				pub fn check_inherents(
441					&self,
442					block: types::check_inherents::Block,
443					data: types::check_inherents::Data,
444				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
445					types::CheckInherents,
446					types::check_inherents::output::Output,
447				> {
448					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
449						"BlockBuilder",
450						"check_inherents",
451						types::CheckInherents { block, data },
452						[
453							44u8, 230u8, 134u8, 154u8, 73u8, 173u8, 160u8, 231u8, 223u8, 148u8,
454							247u8, 104u8, 214u8, 168u8, 43u8, 202u8, 204u8, 14u8, 148u8, 154u8,
455							9u8, 103u8, 239u8, 45u8, 186u8, 21u8, 97u8, 136u8, 200u8, 108u8, 205u8,
456							167u8,
457						],
458					)
459				}
460			}
461			pub mod types {
462				use super::runtime_types;
463				pub mod apply_extrinsic {
464					use super::runtime_types;
465					pub type Extrinsic = :: subxt :: ext :: subxt_core :: utils :: UncheckedExtrinsic < :: subxt :: ext :: subxt_core :: utils :: MultiAddress < :: subxt :: ext :: subxt_core :: utils :: AccountId32 , () > , runtime_types :: quantus_runtime :: RuntimeCall , runtime_types :: 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 , runtime_types :: quantus_runtime :: transaction_extensions :: WormholeProofRecorderExtension ,) > ;
466					pub mod output {
467						use super::runtime_types;
468						pub type Output = :: core :: result :: Result < :: core :: result :: Result < () , runtime_types :: sp_runtime :: DispatchError > , runtime_types :: sp_runtime :: transaction_validity :: TransactionValidityError > ;
469					}
470				}
471				#[derive(
472					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
473					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
474					Debug,
475				)]
476				#[decode_as_type(
477					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
478				)]
479				#[encode_as_type(
480					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
481				)]
482				pub struct ApplyExtrinsic {
483					pub extrinsic: apply_extrinsic::Extrinsic,
484				}
485				pub mod finalize_block {
486					use super::runtime_types;
487					pub mod output {
488						use super::runtime_types;
489						pub type Output = runtime_types::qp_header::Header<::core::primitive::u32>;
490					}
491				}
492				#[derive(
493					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
494					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
495					Debug,
496				)]
497				#[decode_as_type(
498					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
499				)]
500				#[encode_as_type(
501					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
502				)]
503				pub struct FinalizeBlock {}
504				pub mod inherent_extrinsics {
505					use super::runtime_types;
506					pub type Inherent = runtime_types::sp_inherents::InherentData;
507					pub mod output {
508						use super::runtime_types;
509						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 , runtime_types :: quantus_runtime :: transaction_extensions :: WormholeProofRecorderExtension ,) > > ;
510					}
511				}
512				#[derive(
513					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
514					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
515					Debug,
516				)]
517				#[decode_as_type(
518					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
519				)]
520				#[encode_as_type(
521					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
522				)]
523				pub struct InherentExtrinsics {
524					pub inherent: inherent_extrinsics::Inherent,
525				}
526				pub mod check_inherents {
527					use super::runtime_types;
528					pub type Block = runtime_types :: sp_runtime :: generic :: block :: LazyBlock < runtime_types :: qp_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 , runtime_types :: quantus_runtime :: transaction_extensions :: WormholeProofRecorderExtension ,) > > ;
529					pub type Data = runtime_types::sp_inherents::InherentData;
530					pub mod output {
531						use super::runtime_types;
532						pub type Output = runtime_types::sp_inherents::CheckInherentsResult;
533					}
534				}
535				#[derive(
536					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
537					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
538					Debug,
539				)]
540				#[decode_as_type(
541					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
542				)]
543				#[encode_as_type(
544					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
545				)]
546				pub struct CheckInherents {
547					pub block: check_inherents::Block,
548					pub data: check_inherents::Data,
549				}
550			}
551		}
552		pub mod tagged_transaction_queue {
553			use super::{root_mod, runtime_types};
554			#[doc = " The `TaggedTransactionQueue` api trait for interfering with the transaction queue."]
555			pub struct TaggedTransactionQueue;
556			impl TaggedTransactionQueue {
557				#[doc = " Validate the transaction."]
558				#[doc = ""]
559				#[doc = " This method is invoked by the transaction pool to learn details about given transaction."]
560				#[doc = " The implementation should make sure to verify the correctness of the transaction"]
561				#[doc = " against current state. The given `block_hash` corresponds to the hash of the block"]
562				#[doc = " that is used as current state."]
563				#[doc = ""]
564				#[doc = " Note that this call may be performed by the pool multiple times and transactions"]
565				#[doc = " might be verified in any possible order."]
566				pub fn validate_transaction(
567					&self,
568					source: types::validate_transaction::Source,
569					tx: types::validate_transaction::Tx,
570					block_hash: types::validate_transaction::BlockHash,
571				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
572					types::ValidateTransaction,
573					types::validate_transaction::output::Output,
574				> {
575					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
576						"TaggedTransactionQueue",
577						"validate_transaction",
578						types::ValidateTransaction { source, tx, block_hash },
579						[
580							19u8, 53u8, 170u8, 115u8, 75u8, 121u8, 231u8, 50u8, 199u8, 181u8,
581							243u8, 170u8, 163u8, 224u8, 213u8, 134u8, 206u8, 207u8, 88u8, 242u8,
582							80u8, 139u8, 233u8, 87u8, 175u8, 249u8, 178u8, 169u8, 255u8, 171u8,
583							4u8, 125u8,
584						],
585					)
586				}
587			}
588			pub mod types {
589				use super::runtime_types;
590				pub mod validate_transaction {
591					use super::runtime_types;
592					pub type Source =
593						runtime_types::sp_runtime::transaction_validity::TransactionSource;
594					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 , runtime_types :: quantus_runtime :: transaction_extensions :: WormholeProofRecorderExtension ,) > ;
595					pub type BlockHash = ::subxt::ext::subxt_core::utils::H256;
596					pub mod output {
597						use super::runtime_types;
598						pub type Output = :: core :: result :: Result < runtime_types :: sp_runtime :: transaction_validity :: ValidTransaction , runtime_types :: sp_runtime :: transaction_validity :: TransactionValidityError > ;
599					}
600				}
601				#[derive(
602					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
603					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
604					Debug,
605				)]
606				#[decode_as_type(
607					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
608				)]
609				#[encode_as_type(
610					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
611				)]
612				pub struct ValidateTransaction {
613					pub source: validate_transaction::Source,
614					pub tx: validate_transaction::Tx,
615					pub block_hash: validate_transaction::BlockHash,
616				}
617			}
618		}
619		pub mod offchain_worker_api {
620			use super::{root_mod, runtime_types};
621			#[doc = " The offchain worker api."]
622			pub struct OffchainWorkerApi;
623			impl OffchainWorkerApi {
624				#[doc = " Starts the off-chain task for given block header."]
625				pub fn offchain_worker(
626					&self,
627					header: types::offchain_worker::Header,
628				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
629					types::OffchainWorker,
630					types::offchain_worker::output::Output,
631				> {
632					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
633						"OffchainWorkerApi",
634						"offchain_worker",
635						types::OffchainWorker { header },
636						[
637							131u8, 199u8, 206u8, 86u8, 209u8, 109u8, 229u8, 152u8, 235u8, 155u8,
638							35u8, 252u8, 70u8, 180u8, 47u8, 173u8, 84u8, 182u8, 176u8, 164u8,
639							107u8, 88u8, 249u8, 181u8, 85u8, 174u8, 240u8, 226u8, 254u8, 189u8,
640							167u8, 155u8,
641						],
642					)
643				}
644			}
645			pub mod types {
646				use super::runtime_types;
647				pub mod offchain_worker {
648					use super::runtime_types;
649					pub type Header = runtime_types::qp_header::Header<::core::primitive::u32>;
650					pub mod output {
651						use super::runtime_types;
652						pub type Output = ();
653					}
654				}
655				#[derive(
656					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
657					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
658					Debug,
659				)]
660				#[decode_as_type(
661					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
662				)]
663				#[encode_as_type(
664					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
665				)]
666				pub struct OffchainWorker {
667					pub header: offchain_worker::Header,
668				}
669			}
670		}
671		pub mod session_keys {
672			use super::{root_mod, runtime_types};
673			#[doc = " Session keys runtime api."]
674			pub struct SessionKeys;
675			impl SessionKeys {
676				#[doc = " Generate a set of session keys with optionally using the given seed."]
677				#[doc = " The keys should be stored within the keystore exposed via runtime"]
678				#[doc = " externalities."]
679				#[doc = ""]
680				#[doc = " The seed needs to be a valid `utf8` string."]
681				#[doc = ""]
682				#[doc = " Returns the concatenated SCALE encoded public keys."]
683				pub fn generate_session_keys(
684					&self,
685					seed: types::generate_session_keys::Seed,
686				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
687					types::GenerateSessionKeys,
688					types::generate_session_keys::output::Output,
689				> {
690					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
691						"SessionKeys",
692						"generate_session_keys",
693						types::GenerateSessionKeys { seed },
694						[
695							96u8, 171u8, 164u8, 166u8, 175u8, 102u8, 101u8, 47u8, 133u8, 95u8,
696							102u8, 202u8, 83u8, 26u8, 238u8, 47u8, 126u8, 132u8, 22u8, 11u8, 33u8,
697							190u8, 175u8, 94u8, 58u8, 245u8, 46u8, 80u8, 195u8, 184u8, 107u8, 65u8,
698						],
699					)
700				}
701				#[doc = " Decode the given public session keys."]
702				#[doc = ""]
703				#[doc = " Returns the list of public raw public keys + key type."]
704				pub fn decode_session_keys(
705					&self,
706					encoded: types::decode_session_keys::Encoded,
707				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
708					types::DecodeSessionKeys,
709					types::decode_session_keys::output::Output,
710				> {
711					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
712						"SessionKeys",
713						"decode_session_keys",
714						types::DecodeSessionKeys { encoded },
715						[
716							57u8, 242u8, 18u8, 51u8, 132u8, 110u8, 238u8, 255u8, 39u8, 194u8, 8u8,
717							54u8, 198u8, 178u8, 75u8, 151u8, 148u8, 176u8, 144u8, 197u8, 87u8,
718							29u8, 179u8, 235u8, 176u8, 78u8, 252u8, 103u8, 72u8, 203u8, 151u8,
719							248u8,
720						],
721					)
722				}
723			}
724			pub mod types {
725				use super::runtime_types;
726				pub mod generate_session_keys {
727					use super::runtime_types;
728					pub type Seed = ::core::option::Option<
729						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
730					>;
731					pub mod output {
732						use super::runtime_types;
733						pub type Output =
734							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
735					}
736				}
737				#[derive(
738					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
739					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
740					Debug,
741				)]
742				#[decode_as_type(
743					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
744				)]
745				#[encode_as_type(
746					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
747				)]
748				pub struct GenerateSessionKeys {
749					pub seed: generate_session_keys::Seed,
750				}
751				pub mod decode_session_keys {
752					use super::runtime_types;
753					pub type Encoded =
754						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
755					pub mod output {
756						use super::runtime_types;
757						pub type Output = ::core::option::Option<
758							::subxt::ext::subxt_core::alloc::vec::Vec<(
759								::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
760								runtime_types::sp_core::crypto::KeyTypeId,
761							)>,
762						>;
763					}
764				}
765				#[derive(
766					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
767					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
768					Debug,
769				)]
770				#[decode_as_type(
771					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
772				)]
773				#[encode_as_type(
774					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
775				)]
776				pub struct DecodeSessionKeys {
777					pub encoded: decode_session_keys::Encoded,
778				}
779			}
780		}
781		pub mod q_po_w_api {
782			use super::{root_mod, runtime_types};
783			pub struct QPoWApi;
784			impl QPoWApi {
785				#[doc = " Get the max possible reorg depth"]
786				pub fn get_max_reorg_depth(
787					&self,
788				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
789					types::GetMaxReorgDepth,
790					types::get_max_reorg_depth::output::Output,
791				> {
792					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
793						"QPoWApi",
794						"get_max_reorg_depth",
795						types::GetMaxReorgDepth {},
796						[
797							95u8, 253u8, 190u8, 31u8, 75u8, 182u8, 224u8, 166u8, 3u8, 9u8, 29u8,
798							200u8, 89u8, 143u8, 104u8, 126u8, 178u8, 83u8, 156u8, 109u8, 140u8,
799							177u8, 70u8, 113u8, 23u8, 182u8, 236u8, 236u8, 111u8, 145u8, 237u8,
800							148u8,
801						],
802					)
803				}
804				#[doc = " Get the max possible difficulty for work calculation"]
805				pub fn get_max_difficulty(
806					&self,
807				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
808					types::GetMaxDifficulty,
809					types::get_max_difficulty::output::Output,
810				> {
811					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
812						"QPoWApi",
813						"get_max_difficulty",
814						types::GetMaxDifficulty {},
815						[
816							80u8, 167u8, 109u8, 28u8, 239u8, 113u8, 166u8, 222u8, 53u8, 68u8,
817							129u8, 222u8, 208u8, 165u8, 8u8, 147u8, 243u8, 80u8, 207u8, 207u8,
818							108u8, 203u8, 208u8, 95u8, 34u8, 193u8, 15u8, 61u8, 116u8, 109u8,
819							144u8, 217u8,
820						],
821					)
822				}
823				#[doc = " Get the current difficulty (max_distance / distance_threshold)"]
824				pub fn get_difficulty(
825					&self,
826				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
827					types::GetDifficulty,
828					types::get_difficulty::output::Output,
829				> {
830					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
831						"QPoWApi",
832						"get_difficulty",
833						types::GetDifficulty {},
834						[
835							180u8, 101u8, 92u8, 73u8, 15u8, 146u8, 167u8, 45u8, 127u8, 230u8,
836							148u8, 6u8, 174u8, 121u8, 38u8, 103u8, 46u8, 5u8, 235u8, 20u8, 133u8,
837							207u8, 67u8, 211u8, 25u8, 112u8, 83u8, 196u8, 118u8, 66u8, 118u8,
838							179u8,
839						],
840					)
841				}
842				#[doc = " Get block ema"]
843				pub fn get_block_time_ema(
844					&self,
845				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
846					types::GetBlockTimeEma,
847					types::get_block_time_ema::output::Output,
848				> {
849					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
850						"QPoWApi",
851						"get_block_time_ema",
852						types::GetBlockTimeEma {},
853						[
854							250u8, 101u8, 7u8, 92u8, 2u8, 209u8, 35u8, 184u8, 188u8, 152u8, 196u8,
855							182u8, 14u8, 245u8, 245u8, 243u8, 55u8, 180u8, 6u8, 36u8, 123u8, 95u8,
856							19u8, 102u8, 37u8, 142u8, 238u8, 97u8, 63u8, 133u8, 233u8, 6u8,
857						],
858					)
859				}
860				#[doc = " Get last block timestamp"]
861				pub fn get_last_block_time(
862					&self,
863				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
864					types::GetLastBlockTime,
865					types::get_last_block_time::output::Output,
866				> {
867					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
868						"QPoWApi",
869						"get_last_block_time",
870						types::GetLastBlockTime {},
871						[
872							207u8, 192u8, 227u8, 7u8, 154u8, 92u8, 133u8, 111u8, 21u8, 9u8, 21u8,
873							171u8, 235u8, 117u8, 143u8, 199u8, 19u8, 67u8, 76u8, 35u8, 220u8, 32u8,
874							221u8, 166u8, 0u8, 234u8, 107u8, 217u8, 122u8, 89u8, 91u8, 144u8,
875						],
876					)
877				}
878				pub fn get_last_block_duration(
879					&self,
880				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
881					types::GetLastBlockDuration,
882					types::get_last_block_duration::output::Output,
883				> {
884					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
885						"QPoWApi",
886						"get_last_block_duration",
887						types::GetLastBlockDuration {},
888						[
889							103u8, 98u8, 123u8, 21u8, 125u8, 171u8, 88u8, 46u8, 187u8, 94u8, 96u8,
890							238u8, 16u8, 122u8, 81u8, 108u8, 157u8, 204u8, 79u8, 43u8, 170u8,
891							235u8, 176u8, 238u8, 174u8, 235u8, 47u8, 152u8, 167u8, 245u8, 243u8,
892							157u8,
893						],
894					)
895				}
896				pub fn get_chain_height(
897					&self,
898				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
899					types::GetChainHeight,
900					types::get_chain_height::output::Output,
901				> {
902					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
903						"QPoWApi",
904						"get_chain_height",
905						types::GetChainHeight {},
906						[
907							249u8, 203u8, 37u8, 234u8, 170u8, 203u8, 200u8, 147u8, 30u8, 193u8,
908							91u8, 97u8, 96u8, 104u8, 39u8, 96u8, 171u8, 69u8, 119u8, 30u8, 112u8,
909							81u8, 132u8, 33u8, 69u8, 168u8, 70u8, 33u8, 196u8, 16u8, 215u8, 113u8,
910						],
911					)
912				}
913				pub fn verify_nonce_on_import_block(
914					&self,
915					block_hash: types::verify_nonce_on_import_block::BlockHash,
916					nonce: types::verify_nonce_on_import_block::Nonce,
917				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
918					types::VerifyNonceOnImportBlock,
919					types::verify_nonce_on_import_block::output::Output,
920				> {
921					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
922						"QPoWApi",
923						"verify_nonce_on_import_block",
924						types::VerifyNonceOnImportBlock { block_hash, nonce },
925						[
926							178u8, 216u8, 20u8, 254u8, 253u8, 202u8, 63u8, 238u8, 164u8, 135u8,
927							163u8, 28u8, 170u8, 44u8, 183u8, 157u8, 211u8, 62u8, 4u8, 77u8, 30u8,
928							32u8, 68u8, 166u8, 42u8, 161u8, 111u8, 79u8, 54u8, 54u8, 40u8, 15u8,
929						],
930					)
931				}
932				pub fn verify_nonce_local_mining(
933					&self,
934					block_hash: types::verify_nonce_local_mining::BlockHash,
935					nonce: types::verify_nonce_local_mining::Nonce,
936				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
937					types::VerifyNonceLocalMining,
938					types::verify_nonce_local_mining::output::Output,
939				> {
940					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
941						"QPoWApi",
942						"verify_nonce_local_mining",
943						types::VerifyNonceLocalMining { block_hash, nonce },
944						[
945							10u8, 191u8, 243u8, 4u8, 31u8, 132u8, 202u8, 157u8, 183u8, 189u8, 49u8,
946							76u8, 201u8, 182u8, 52u8, 197u8, 34u8, 248u8, 253u8, 226u8, 64u8,
947							100u8, 108u8, 2u8, 119u8, 85u8, 184u8, 96u8, 25u8, 156u8, 108u8, 240u8,
948						],
949					)
950				}
951				pub fn verify_and_get_achieved_difficulty(
952					&self,
953					block_hash: types::verify_and_get_achieved_difficulty::BlockHash,
954					nonce: types::verify_and_get_achieved_difficulty::Nonce,
955				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
956					types::VerifyAndGetAchievedDifficulty,
957					types::verify_and_get_achieved_difficulty::output::Output,
958				> {
959					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
960						"QPoWApi",
961						"verify_and_get_achieved_difficulty",
962						types::VerifyAndGetAchievedDifficulty { block_hash, nonce },
963						[
964							200u8, 115u8, 180u8, 31u8, 14u8, 76u8, 235u8, 83u8, 133u8, 52u8, 192u8,
965							59u8, 52u8, 48u8, 224u8, 34u8, 33u8, 53u8, 218u8, 132u8, 191u8, 10u8,
966							17u8, 243u8, 227u8, 162u8, 171u8, 240u8, 49u8, 217u8, 172u8, 240u8,
967						],
968					)
969				}
970			}
971			pub mod types {
972				use super::runtime_types;
973				pub mod get_max_reorg_depth {
974					use super::runtime_types;
975					pub mod output {
976						use super::runtime_types;
977						pub type Output = ::core::primitive::u32;
978					}
979				}
980				#[derive(
981					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
982					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
983					Debug,
984				)]
985				#[decode_as_type(
986					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
987				)]
988				#[encode_as_type(
989					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
990				)]
991				pub struct GetMaxReorgDepth {}
992				pub mod get_max_difficulty {
993					use super::runtime_types;
994					pub mod output {
995						use super::runtime_types;
996						pub type Output = runtime_types::primitive_types::U512;
997					}
998				}
999				#[derive(
1000					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1001					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1002					Debug,
1003				)]
1004				#[decode_as_type(
1005					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1006				)]
1007				#[encode_as_type(
1008					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1009				)]
1010				pub struct GetMaxDifficulty {}
1011				pub mod get_difficulty {
1012					use super::runtime_types;
1013					pub mod output {
1014						use super::runtime_types;
1015						pub type Output = runtime_types::primitive_types::U512;
1016					}
1017				}
1018				#[derive(
1019					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1020					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1021					Debug,
1022				)]
1023				#[decode_as_type(
1024					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1025				)]
1026				#[encode_as_type(
1027					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1028				)]
1029				pub struct GetDifficulty {}
1030				pub mod get_block_time_ema {
1031					use super::runtime_types;
1032					pub mod output {
1033						use super::runtime_types;
1034						pub type Output = ::core::primitive::u64;
1035					}
1036				}
1037				#[derive(
1038					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1039					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1040					Debug,
1041				)]
1042				#[decode_as_type(
1043					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1044				)]
1045				#[encode_as_type(
1046					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1047				)]
1048				pub struct GetBlockTimeEma {}
1049				pub mod get_last_block_time {
1050					use super::runtime_types;
1051					pub mod output {
1052						use super::runtime_types;
1053						pub type Output = ::core::primitive::u64;
1054					}
1055				}
1056				#[derive(
1057					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1058					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1059					Debug,
1060				)]
1061				#[decode_as_type(
1062					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1063				)]
1064				#[encode_as_type(
1065					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1066				)]
1067				pub struct GetLastBlockTime {}
1068				pub mod get_last_block_duration {
1069					use super::runtime_types;
1070					pub mod output {
1071						use super::runtime_types;
1072						pub type Output = ::core::primitive::u64;
1073					}
1074				}
1075				#[derive(
1076					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1077					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1078					Debug,
1079				)]
1080				#[decode_as_type(
1081					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1082				)]
1083				#[encode_as_type(
1084					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1085				)]
1086				pub struct GetLastBlockDuration {}
1087				pub mod get_chain_height {
1088					use super::runtime_types;
1089					pub mod output {
1090						use super::runtime_types;
1091						pub type Output = ::core::primitive::u32;
1092					}
1093				}
1094				#[derive(
1095					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1096					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1097					Debug,
1098				)]
1099				#[decode_as_type(
1100					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1101				)]
1102				#[encode_as_type(
1103					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1104				)]
1105				pub struct GetChainHeight {}
1106				pub mod verify_nonce_on_import_block {
1107					use super::runtime_types;
1108					pub type BlockHash = [::core::primitive::u8; 32usize];
1109					pub type Nonce = [::core::primitive::u8; 64usize];
1110					pub mod output {
1111						use super::runtime_types;
1112						pub type Output = ::core::primitive::bool;
1113					}
1114				}
1115				#[derive(
1116					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1117					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1118					Debug,
1119				)]
1120				#[decode_as_type(
1121					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1122				)]
1123				#[encode_as_type(
1124					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1125				)]
1126				pub struct VerifyNonceOnImportBlock {
1127					pub block_hash: verify_nonce_on_import_block::BlockHash,
1128					pub nonce: verify_nonce_on_import_block::Nonce,
1129				}
1130				pub mod verify_nonce_local_mining {
1131					use super::runtime_types;
1132					pub type BlockHash = [::core::primitive::u8; 32usize];
1133					pub type Nonce = [::core::primitive::u8; 64usize];
1134					pub mod output {
1135						use super::runtime_types;
1136						pub type Output = ::core::primitive::bool;
1137					}
1138				}
1139				#[derive(
1140					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1141					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1142					Debug,
1143				)]
1144				#[decode_as_type(
1145					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1146				)]
1147				#[encode_as_type(
1148					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1149				)]
1150				pub struct VerifyNonceLocalMining {
1151					pub block_hash: verify_nonce_local_mining::BlockHash,
1152					pub nonce: verify_nonce_local_mining::Nonce,
1153				}
1154				pub mod verify_and_get_achieved_difficulty {
1155					use super::runtime_types;
1156					pub type BlockHash = [::core::primitive::u8; 32usize];
1157					pub type Nonce = [::core::primitive::u8; 64usize];
1158					pub mod output {
1159						use super::runtime_types;
1160						pub type Output =
1161							(::core::primitive::bool, runtime_types::primitive_types::U512);
1162					}
1163				}
1164				#[derive(
1165					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1166					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1167					Debug,
1168				)]
1169				#[decode_as_type(
1170					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1171				)]
1172				#[encode_as_type(
1173					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1174				)]
1175				pub struct VerifyAndGetAchievedDifficulty {
1176					pub block_hash: verify_and_get_achieved_difficulty::BlockHash,
1177					pub nonce: verify_and_get_achieved_difficulty::Nonce,
1178				}
1179			}
1180		}
1181		pub mod account_nonce_api {
1182			use super::{root_mod, runtime_types};
1183			#[doc = " The API to query account nonce."]
1184			pub struct AccountNonceApi;
1185			impl AccountNonceApi {
1186				#[doc = " Get current account nonce of given `AccountId`."]
1187				pub fn account_nonce(
1188					&self,
1189					account: types::account_nonce::Account,
1190				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1191					types::AccountNonce,
1192					types::account_nonce::output::Output,
1193				> {
1194					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1195						"AccountNonceApi",
1196						"account_nonce",
1197						types::AccountNonce { account },
1198						[
1199							231u8, 82u8, 7u8, 227u8, 131u8, 2u8, 215u8, 252u8, 173u8, 82u8, 11u8,
1200							103u8, 200u8, 25u8, 114u8, 116u8, 79u8, 229u8, 152u8, 150u8, 236u8,
1201							37u8, 101u8, 26u8, 220u8, 146u8, 182u8, 101u8, 73u8, 55u8, 191u8,
1202							171u8,
1203						],
1204					)
1205				}
1206			}
1207			pub mod types {
1208				use super::runtime_types;
1209				pub mod account_nonce {
1210					use super::runtime_types;
1211					pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
1212					pub mod output {
1213						use super::runtime_types;
1214						pub type Output = ::core::primitive::u32;
1215					}
1216				}
1217				#[derive(
1218					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1219					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1220					Debug,
1221				)]
1222				#[decode_as_type(
1223					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1224				)]
1225				#[encode_as_type(
1226					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1227				)]
1228				pub struct AccountNonce {
1229					pub account: account_nonce::Account,
1230				}
1231			}
1232		}
1233		pub mod transaction_payment_api {
1234			use super::{root_mod, runtime_types};
1235			pub struct TransactionPaymentApi;
1236			impl TransactionPaymentApi {
1237				pub fn query_info(
1238					&self,
1239					uxt: types::query_info::Uxt,
1240					len: types::query_info::Len,
1241				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1242					types::QueryInfo,
1243					types::query_info::output::Output,
1244				> {
1245					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1246						"TransactionPaymentApi",
1247						"query_info",
1248						types::QueryInfo { uxt, len },
1249						[
1250							56u8, 30u8, 174u8, 34u8, 202u8, 24u8, 177u8, 189u8, 145u8, 36u8, 1u8,
1251							156u8, 98u8, 209u8, 178u8, 49u8, 198u8, 23u8, 150u8, 173u8, 35u8,
1252							205u8, 147u8, 129u8, 42u8, 22u8, 69u8, 3u8, 129u8, 8u8, 196u8, 139u8,
1253						],
1254					)
1255				}
1256				pub fn query_fee_details(
1257					&self,
1258					uxt: types::query_fee_details::Uxt,
1259					len: types::query_fee_details::Len,
1260				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1261					types::QueryFeeDetails,
1262					types::query_fee_details::output::Output,
1263				> {
1264					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1265						"TransactionPaymentApi",
1266						"query_fee_details",
1267						types::QueryFeeDetails { uxt, len },
1268						[
1269							117u8, 60u8, 137u8, 159u8, 237u8, 252u8, 216u8, 238u8, 232u8, 1u8,
1270							100u8, 152u8, 26u8, 185u8, 145u8, 125u8, 68u8, 189u8, 4u8, 30u8, 125u8,
1271							7u8, 196u8, 153u8, 235u8, 51u8, 219u8, 108u8, 185u8, 254u8, 100u8,
1272							201u8,
1273						],
1274					)
1275				}
1276				pub fn query_weight_to_fee(
1277					&self,
1278					weight: types::query_weight_to_fee::Weight,
1279				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1280					types::QueryWeightToFee,
1281					types::query_weight_to_fee::output::Output,
1282				> {
1283					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1284						"TransactionPaymentApi",
1285						"query_weight_to_fee",
1286						types::QueryWeightToFee { weight },
1287						[
1288							206u8, 243u8, 189u8, 83u8, 231u8, 244u8, 247u8, 52u8, 126u8, 208u8,
1289							224u8, 5u8, 163u8, 108u8, 254u8, 114u8, 214u8, 156u8, 227u8, 217u8,
1290							211u8, 198u8, 121u8, 164u8, 110u8, 54u8, 181u8, 146u8, 50u8, 146u8,
1291							146u8, 23u8,
1292						],
1293					)
1294				}
1295				pub fn query_length_to_fee(
1296					&self,
1297					length: types::query_length_to_fee::Length,
1298				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1299					types::QueryLengthToFee,
1300					types::query_length_to_fee::output::Output,
1301				> {
1302					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1303						"TransactionPaymentApi",
1304						"query_length_to_fee",
1305						types::QueryLengthToFee { length },
1306						[
1307							92u8, 132u8, 29u8, 119u8, 66u8, 11u8, 196u8, 224u8, 129u8, 23u8, 249u8,
1308							12u8, 32u8, 28u8, 92u8, 50u8, 188u8, 101u8, 203u8, 229u8, 248u8, 216u8,
1309							130u8, 150u8, 212u8, 161u8, 81u8, 254u8, 116u8, 89u8, 162u8, 48u8,
1310						],
1311					)
1312				}
1313			}
1314			pub mod types {
1315				use super::runtime_types;
1316				pub mod query_info {
1317					use super::runtime_types;
1318					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 , runtime_types :: quantus_runtime :: transaction_extensions :: WormholeProofRecorderExtension ,) > ;
1319					pub type Len = ::core::primitive::u32;
1320					pub mod output {
1321						use super::runtime_types;
1322						pub type Output =
1323							runtime_types::pallet_transaction_payment::types::RuntimeDispatchInfo<
1324								::core::primitive::u128,
1325								runtime_types::sp_weights::weight_v2::Weight,
1326							>;
1327					}
1328				}
1329				#[derive(
1330					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1331					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1332					Debug,
1333				)]
1334				#[decode_as_type(
1335					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1336				)]
1337				#[encode_as_type(
1338					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1339				)]
1340				pub struct QueryInfo {
1341					pub uxt: query_info::Uxt,
1342					pub len: query_info::Len,
1343				}
1344				pub mod query_fee_details {
1345					use super::runtime_types;
1346					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 , runtime_types :: quantus_runtime :: transaction_extensions :: WormholeProofRecorderExtension ,) > ;
1347					pub type Len = ::core::primitive::u32;
1348					pub mod output {
1349						use super::runtime_types;
1350						pub type Output =
1351							runtime_types::pallet_transaction_payment::types::FeeDetails<
1352								::core::primitive::u128,
1353							>;
1354					}
1355				}
1356				#[derive(
1357					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1358					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1359					Debug,
1360				)]
1361				#[decode_as_type(
1362					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1363				)]
1364				#[encode_as_type(
1365					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1366				)]
1367				pub struct QueryFeeDetails {
1368					pub uxt: query_fee_details::Uxt,
1369					pub len: query_fee_details::Len,
1370				}
1371				pub mod query_weight_to_fee {
1372					use super::runtime_types;
1373					pub type Weight = runtime_types::sp_weights::weight_v2::Weight;
1374					pub mod output {
1375						use super::runtime_types;
1376						pub type Output = ::core::primitive::u128;
1377					}
1378				}
1379				#[derive(
1380					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1381					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1382					Debug,
1383				)]
1384				#[decode_as_type(
1385					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1386				)]
1387				#[encode_as_type(
1388					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1389				)]
1390				pub struct QueryWeightToFee {
1391					pub weight: query_weight_to_fee::Weight,
1392				}
1393				pub mod query_length_to_fee {
1394					use super::runtime_types;
1395					pub type Length = ::core::primitive::u32;
1396					pub mod output {
1397						use super::runtime_types;
1398						pub type Output = ::core::primitive::u128;
1399					}
1400				}
1401				#[derive(
1402					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1403					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1404					Debug,
1405				)]
1406				#[decode_as_type(
1407					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1408				)]
1409				#[encode_as_type(
1410					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1411				)]
1412				pub struct QueryLengthToFee {
1413					pub length: query_length_to_fee::Length,
1414				}
1415			}
1416		}
1417		pub mod transaction_payment_call_api {
1418			use super::{root_mod, runtime_types};
1419			pub struct TransactionPaymentCallApi;
1420			impl TransactionPaymentCallApi {
1421				#[doc = " Query information of a dispatch class, weight, and fee of a given encoded `Call`."]
1422				pub fn query_call_info(
1423					&self,
1424					call: types::query_call_info::Call,
1425					len: types::query_call_info::Len,
1426				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1427					types::QueryCallInfo,
1428					types::query_call_info::output::Output,
1429				> {
1430					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1431						"TransactionPaymentCallApi",
1432						"query_call_info",
1433						types::QueryCallInfo { call, len },
1434						[
1435							218u8, 133u8, 148u8, 251u8, 115u8, 98u8, 41u8, 181u8, 220u8, 98u8,
1436							96u8, 5u8, 83u8, 71u8, 198u8, 107u8, 19u8, 120u8, 188u8, 127u8, 50u8,
1437							201u8, 132u8, 73u8, 13u8, 118u8, 124u8, 200u8, 48u8, 103u8, 188u8,
1438							219u8,
1439						],
1440					)
1441				}
1442				#[doc = " Query fee details of a given encoded `Call`."]
1443				pub fn query_call_fee_details(
1444					&self,
1445					call: types::query_call_fee_details::Call,
1446					len: types::query_call_fee_details::Len,
1447				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1448					types::QueryCallFeeDetails,
1449					types::query_call_fee_details::output::Output,
1450				> {
1451					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1452						"TransactionPaymentCallApi",
1453						"query_call_fee_details",
1454						types::QueryCallFeeDetails { call, len },
1455						[
1456							222u8, 82u8, 209u8, 219u8, 210u8, 175u8, 13u8, 207u8, 13u8, 17u8,
1457							234u8, 166u8, 55u8, 25u8, 194u8, 92u8, 155u8, 69u8, 143u8, 95u8, 18u8,
1458							181u8, 70u8, 191u8, 64u8, 119u8, 244u8, 116u8, 44u8, 172u8, 251u8,
1459							66u8,
1460						],
1461					)
1462				}
1463				#[doc = " Query the output of the current `WeightToFee` given some input."]
1464				pub fn query_weight_to_fee(
1465					&self,
1466					weight: types::query_weight_to_fee::Weight,
1467				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1468					types::QueryWeightToFee,
1469					types::query_weight_to_fee::output::Output,
1470				> {
1471					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1472						"TransactionPaymentCallApi",
1473						"query_weight_to_fee",
1474						types::QueryWeightToFee { weight },
1475						[
1476							117u8, 91u8, 94u8, 22u8, 248u8, 212u8, 15u8, 23u8, 97u8, 116u8, 64u8,
1477							228u8, 83u8, 123u8, 87u8, 77u8, 97u8, 7u8, 98u8, 181u8, 6u8, 165u8,
1478							114u8, 141u8, 164u8, 113u8, 126u8, 88u8, 174u8, 171u8, 224u8, 35u8,
1479						],
1480					)
1481				}
1482				#[doc = " Query the output of the current `LengthToFee` given some input."]
1483				pub fn query_length_to_fee(
1484					&self,
1485					length: types::query_length_to_fee::Length,
1486				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1487					types::QueryLengthToFee,
1488					types::query_length_to_fee::output::Output,
1489				> {
1490					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1491						"TransactionPaymentCallApi",
1492						"query_length_to_fee",
1493						types::QueryLengthToFee { length },
1494						[
1495							246u8, 40u8, 4u8, 160u8, 152u8, 94u8, 170u8, 53u8, 205u8, 122u8, 5u8,
1496							69u8, 70u8, 25u8, 128u8, 156u8, 119u8, 134u8, 116u8, 147u8, 14u8,
1497							164u8, 65u8, 140u8, 86u8, 13u8, 250u8, 218u8, 89u8, 95u8, 234u8, 228u8,
1498						],
1499					)
1500				}
1501			}
1502			pub mod types {
1503				use super::runtime_types;
1504				pub mod query_call_info {
1505					use super::runtime_types;
1506					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
1507					pub type Len = ::core::primitive::u32;
1508					pub mod output {
1509						use super::runtime_types;
1510						pub type Output =
1511							runtime_types::pallet_transaction_payment::types::RuntimeDispatchInfo<
1512								::core::primitive::u128,
1513								runtime_types::sp_weights::weight_v2::Weight,
1514							>;
1515					}
1516				}
1517				#[derive(
1518					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1519					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1520					Debug,
1521				)]
1522				#[decode_as_type(
1523					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1524				)]
1525				#[encode_as_type(
1526					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1527				)]
1528				pub struct QueryCallInfo {
1529					pub call: query_call_info::Call,
1530					pub len: query_call_info::Len,
1531				}
1532				pub mod query_call_fee_details {
1533					use super::runtime_types;
1534					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
1535					pub type Len = ::core::primitive::u32;
1536					pub mod output {
1537						use super::runtime_types;
1538						pub type Output =
1539							runtime_types::pallet_transaction_payment::types::FeeDetails<
1540								::core::primitive::u128,
1541							>;
1542					}
1543				}
1544				#[derive(
1545					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1546					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1547					Debug,
1548				)]
1549				#[decode_as_type(
1550					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1551				)]
1552				#[encode_as_type(
1553					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1554				)]
1555				pub struct QueryCallFeeDetails {
1556					pub call: query_call_fee_details::Call,
1557					pub len: query_call_fee_details::Len,
1558				}
1559				pub mod query_weight_to_fee {
1560					use super::runtime_types;
1561					pub type Weight = runtime_types::sp_weights::weight_v2::Weight;
1562					pub mod output {
1563						use super::runtime_types;
1564						pub type Output = ::core::primitive::u128;
1565					}
1566				}
1567				#[derive(
1568					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1569					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1570					Debug,
1571				)]
1572				#[decode_as_type(
1573					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1574				)]
1575				#[encode_as_type(
1576					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1577				)]
1578				pub struct QueryWeightToFee {
1579					pub weight: query_weight_to_fee::Weight,
1580				}
1581				pub mod query_length_to_fee {
1582					use super::runtime_types;
1583					pub type Length = ::core::primitive::u32;
1584					pub mod output {
1585						use super::runtime_types;
1586						pub type Output = ::core::primitive::u128;
1587					}
1588				}
1589				#[derive(
1590					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1591					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1592					Debug,
1593				)]
1594				#[decode_as_type(
1595					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1596				)]
1597				#[encode_as_type(
1598					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1599				)]
1600				pub struct QueryLengthToFee {
1601					pub length: query_length_to_fee::Length,
1602				}
1603			}
1604		}
1605		pub mod genesis_builder {
1606			use super::{root_mod, runtime_types};
1607			#[doc = " API to interact with `RuntimeGenesisConfig` for the runtime"]
1608			pub struct GenesisBuilder;
1609			impl GenesisBuilder {
1610				#[doc = " Build `RuntimeGenesisConfig` from a JSON blob not using any defaults and store it in the"]
1611				#[doc = " storage."]
1612				#[doc = ""]
1613				#[doc = " In the case of a FRAME-based runtime, this function deserializes the full"]
1614				#[doc = " `RuntimeGenesisConfig` from the given JSON blob and puts it into the storage. If the"]
1615				#[doc = " provided JSON blob is incorrect or incomplete or the deserialization fails, an error"]
1616				#[doc = " is returned."]
1617				#[doc = ""]
1618				#[doc = " Please note that provided JSON blob must contain all `RuntimeGenesisConfig` fields, no"]
1619				#[doc = " defaults will be used."]
1620				pub fn build_state(
1621					&self,
1622					json: types::build_state::Json,
1623				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1624					types::BuildState,
1625					types::build_state::output::Output,
1626				> {
1627					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1628						"GenesisBuilder",
1629						"build_state",
1630						types::BuildState { json },
1631						[
1632							203u8, 233u8, 104u8, 116u8, 111u8, 131u8, 201u8, 235u8, 117u8, 116u8,
1633							140u8, 185u8, 93u8, 25u8, 155u8, 210u8, 56u8, 49u8, 23u8, 32u8, 253u8,
1634							92u8, 149u8, 241u8, 85u8, 245u8, 137u8, 45u8, 209u8, 189u8, 81u8, 2u8,
1635						],
1636					)
1637				}
1638				#[doc = " Returns a JSON blob representation of the built-in `RuntimeGenesisConfig` identified by"]
1639				#[doc = " `id`."]
1640				#[doc = ""]
1641				#[doc = " If `id` is `None` the function should return JSON blob representation of the default"]
1642				#[doc = " `RuntimeGenesisConfig` struct of the runtime. Implementation must provide default"]
1643				#[doc = " `RuntimeGenesisConfig`."]
1644				#[doc = ""]
1645				#[doc = " Otherwise function returns a JSON representation of the built-in, named"]
1646				#[doc = " `RuntimeGenesisConfig` preset identified by `id`, or `None` if such preset does not"]
1647				#[doc = " exist. Returned `Vec<u8>` contains bytes of JSON blob (patch) which comprises a list of"]
1648				#[doc = " (potentially nested) key-value pairs that are intended for customizing the default"]
1649				#[doc = " runtime genesis config. The patch shall be merged (rfc7386) with the JSON representation"]
1650				#[doc = " of the default `RuntimeGenesisConfig` to create a comprehensive genesis config that can"]
1651				#[doc = " be used in `build_state` method."]
1652				pub fn get_preset(
1653					&self,
1654					id: types::get_preset::Id,
1655				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1656					types::GetPreset,
1657					types::get_preset::output::Output,
1658				> {
1659					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1660						"GenesisBuilder",
1661						"get_preset",
1662						types::GetPreset { id },
1663						[
1664							43u8, 153u8, 23u8, 52u8, 113u8, 161u8, 227u8, 122u8, 169u8, 135u8,
1665							119u8, 8u8, 128u8, 33u8, 143u8, 235u8, 13u8, 173u8, 58u8, 121u8, 178u8,
1666							223u8, 66u8, 217u8, 22u8, 244u8, 168u8, 113u8, 202u8, 186u8, 241u8,
1667							124u8,
1668						],
1669					)
1670				}
1671				#[doc = " Returns a list of identifiers for available builtin `RuntimeGenesisConfig` presets."]
1672				#[doc = ""]
1673				#[doc = " The presets from the list can be queried with [`GenesisBuilder::get_preset`] method. If"]
1674				#[doc = " no named presets are provided by the runtime the list is empty."]
1675				pub fn preset_names(
1676					&self,
1677				) -> ::subxt::ext::subxt_core::runtime_api::payload::StaticPayload<
1678					types::PresetNames,
1679					types::preset_names::output::Output,
1680				> {
1681					::subxt::ext::subxt_core::runtime_api::payload::StaticPayload::new_static(
1682						"GenesisBuilder",
1683						"preset_names",
1684						types::PresetNames {},
1685						[
1686							150u8, 117u8, 54u8, 129u8, 221u8, 130u8, 186u8, 71u8, 13u8, 140u8,
1687							77u8, 180u8, 141u8, 37u8, 22u8, 219u8, 149u8, 218u8, 186u8, 206u8,
1688							80u8, 42u8, 165u8, 41u8, 99u8, 184u8, 73u8, 37u8, 125u8, 188u8, 167u8,
1689							122u8,
1690						],
1691					)
1692				}
1693			}
1694			pub mod types {
1695				use super::runtime_types;
1696				pub mod build_state {
1697					use super::runtime_types;
1698					pub type Json =
1699						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
1700					pub mod output {
1701						use super::runtime_types;
1702						pub type Output = ::core::result::Result<
1703							(),
1704							::subxt::ext::subxt_core::alloc::string::String,
1705						>;
1706					}
1707				}
1708				#[derive(
1709					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1710					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1711					Debug,
1712				)]
1713				#[decode_as_type(
1714					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1715				)]
1716				#[encode_as_type(
1717					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1718				)]
1719				pub struct BuildState {
1720					pub json: build_state::Json,
1721				}
1722				pub mod get_preset {
1723					use super::runtime_types;
1724					pub type Id =
1725						::core::option::Option<::subxt::ext::subxt_core::alloc::string::String>;
1726					pub mod output {
1727						use super::runtime_types;
1728						pub type Output = ::core::option::Option<
1729							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
1730						>;
1731					}
1732				}
1733				#[derive(
1734					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1735					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1736					Debug,
1737				)]
1738				#[decode_as_type(
1739					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1740				)]
1741				#[encode_as_type(
1742					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1743				)]
1744				pub struct GetPreset {
1745					pub id: get_preset::Id,
1746				}
1747				pub mod preset_names {
1748					use super::runtime_types;
1749					pub mod output {
1750						use super::runtime_types;
1751						pub type Output = ::subxt::ext::subxt_core::alloc::vec::Vec<
1752							::subxt::ext::subxt_core::alloc::string::String,
1753						>;
1754					}
1755				}
1756				#[derive(
1757					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1758					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1759					Debug,
1760				)]
1761				#[decode_as_type(
1762					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1763				)]
1764				#[encode_as_type(
1765					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1766				)]
1767				pub struct PresetNames {}
1768			}
1769		}
1770	}
1771	pub fn view_functions() -> ViewFunctionsApi {
1772		ViewFunctionsApi
1773	}
1774	pub fn custom() -> CustomValuesApi {
1775		CustomValuesApi
1776	}
1777	pub struct CustomValuesApi;
1778	impl CustomValuesApi {}
1779	pub struct ConstantsApi;
1780	impl ConstantsApi {
1781		pub fn system(&self) -> system::constants::ConstantsApi {
1782			system::constants::ConstantsApi
1783		}
1784		pub fn timestamp(&self) -> timestamp::constants::ConstantsApi {
1785			timestamp::constants::ConstantsApi
1786		}
1787		pub fn balances(&self) -> balances::constants::ConstantsApi {
1788			balances::constants::ConstantsApi
1789		}
1790		pub fn transaction_payment(&self) -> transaction_payment::constants::ConstantsApi {
1791			transaction_payment::constants::ConstantsApi
1792		}
1793		pub fn q_po_w(&self) -> q_po_w::constants::ConstantsApi {
1794			q_po_w::constants::ConstantsApi
1795		}
1796		pub fn mining_rewards(&self) -> mining_rewards::constants::ConstantsApi {
1797			mining_rewards::constants::ConstantsApi
1798		}
1799		pub fn scheduler(&self) -> scheduler::constants::ConstantsApi {
1800			scheduler::constants::ConstantsApi
1801		}
1802		pub fn utility(&self) -> utility::constants::ConstantsApi {
1803			utility::constants::ConstantsApi
1804		}
1805		pub fn referenda(&self) -> referenda::constants::ConstantsApi {
1806			referenda::constants::ConstantsApi
1807		}
1808		pub fn reversible_transfers(&self) -> reversible_transfers::constants::ConstantsApi {
1809			reversible_transfers::constants::ConstantsApi
1810		}
1811		pub fn conviction_voting(&self) -> conviction_voting::constants::ConstantsApi {
1812			conviction_voting::constants::ConstantsApi
1813		}
1814		pub fn tech_referenda(&self) -> tech_referenda::constants::ConstantsApi {
1815			tech_referenda::constants::ConstantsApi
1816		}
1817		pub fn recovery(&self) -> recovery::constants::ConstantsApi {
1818			recovery::constants::ConstantsApi
1819		}
1820		pub fn assets(&self) -> assets::constants::ConstantsApi {
1821			assets::constants::ConstantsApi
1822		}
1823		pub fn multisig(&self) -> multisig::constants::ConstantsApi {
1824			multisig::constants::ConstantsApi
1825		}
1826		pub fn wormhole(&self) -> wormhole::constants::ConstantsApi {
1827			wormhole::constants::ConstantsApi
1828		}
1829	}
1830	pub struct StorageApi;
1831	impl StorageApi {
1832		pub fn system(&self) -> system::storage::StorageApi {
1833			system::storage::StorageApi
1834		}
1835		pub fn timestamp(&self) -> timestamp::storage::StorageApi {
1836			timestamp::storage::StorageApi
1837		}
1838		pub fn balances(&self) -> balances::storage::StorageApi {
1839			balances::storage::StorageApi
1840		}
1841		pub fn transaction_payment(&self) -> transaction_payment::storage::StorageApi {
1842			transaction_payment::storage::StorageApi
1843		}
1844		pub fn sudo(&self) -> sudo::storage::StorageApi {
1845			sudo::storage::StorageApi
1846		}
1847		pub fn q_po_w(&self) -> q_po_w::storage::StorageApi {
1848			q_po_w::storage::StorageApi
1849		}
1850		pub fn mining_rewards(&self) -> mining_rewards::storage::StorageApi {
1851			mining_rewards::storage::StorageApi
1852		}
1853		pub fn preimage(&self) -> preimage::storage::StorageApi {
1854			preimage::storage::StorageApi
1855		}
1856		pub fn scheduler(&self) -> scheduler::storage::StorageApi {
1857			scheduler::storage::StorageApi
1858		}
1859		pub fn referenda(&self) -> referenda::storage::StorageApi {
1860			referenda::storage::StorageApi
1861		}
1862		pub fn reversible_transfers(&self) -> reversible_transfers::storage::StorageApi {
1863			reversible_transfers::storage::StorageApi
1864		}
1865		pub fn conviction_voting(&self) -> conviction_voting::storage::StorageApi {
1866			conviction_voting::storage::StorageApi
1867		}
1868		pub fn tech_collective(&self) -> tech_collective::storage::StorageApi {
1869			tech_collective::storage::StorageApi
1870		}
1871		pub fn tech_referenda(&self) -> tech_referenda::storage::StorageApi {
1872			tech_referenda::storage::StorageApi
1873		}
1874		pub fn treasury_pallet(&self) -> treasury_pallet::storage::StorageApi {
1875			treasury_pallet::storage::StorageApi
1876		}
1877		pub fn recovery(&self) -> recovery::storage::StorageApi {
1878			recovery::storage::StorageApi
1879		}
1880		pub fn assets(&self) -> assets::storage::StorageApi {
1881			assets::storage::StorageApi
1882		}
1883		pub fn assets_holder(&self) -> assets_holder::storage::StorageApi {
1884			assets_holder::storage::StorageApi
1885		}
1886		pub fn multisig(&self) -> multisig::storage::StorageApi {
1887			multisig::storage::StorageApi
1888		}
1889		pub fn wormhole(&self) -> wormhole::storage::StorageApi {
1890			wormhole::storage::StorageApi
1891		}
1892	}
1893	pub struct TransactionApi;
1894	impl TransactionApi {
1895		pub fn system(&self) -> system::calls::TransactionApi {
1896			system::calls::TransactionApi
1897		}
1898		pub fn timestamp(&self) -> timestamp::calls::TransactionApi {
1899			timestamp::calls::TransactionApi
1900		}
1901		pub fn balances(&self) -> balances::calls::TransactionApi {
1902			balances::calls::TransactionApi
1903		}
1904		pub fn sudo(&self) -> sudo::calls::TransactionApi {
1905			sudo::calls::TransactionApi
1906		}
1907		pub fn preimage(&self) -> preimage::calls::TransactionApi {
1908			preimage::calls::TransactionApi
1909		}
1910		pub fn scheduler(&self) -> scheduler::calls::TransactionApi {
1911			scheduler::calls::TransactionApi
1912		}
1913		pub fn utility(&self) -> utility::calls::TransactionApi {
1914			utility::calls::TransactionApi
1915		}
1916		pub fn referenda(&self) -> referenda::calls::TransactionApi {
1917			referenda::calls::TransactionApi
1918		}
1919		pub fn reversible_transfers(&self) -> reversible_transfers::calls::TransactionApi {
1920			reversible_transfers::calls::TransactionApi
1921		}
1922		pub fn conviction_voting(&self) -> conviction_voting::calls::TransactionApi {
1923			conviction_voting::calls::TransactionApi
1924		}
1925		pub fn tech_collective(&self) -> tech_collective::calls::TransactionApi {
1926			tech_collective::calls::TransactionApi
1927		}
1928		pub fn tech_referenda(&self) -> tech_referenda::calls::TransactionApi {
1929			tech_referenda::calls::TransactionApi
1930		}
1931		pub fn treasury_pallet(&self) -> treasury_pallet::calls::TransactionApi {
1932			treasury_pallet::calls::TransactionApi
1933		}
1934		pub fn recovery(&self) -> recovery::calls::TransactionApi {
1935			recovery::calls::TransactionApi
1936		}
1937		pub fn assets(&self) -> assets::calls::TransactionApi {
1938			assets::calls::TransactionApi
1939		}
1940		pub fn multisig(&self) -> multisig::calls::TransactionApi {
1941			multisig::calls::TransactionApi
1942		}
1943		pub fn wormhole(&self) -> wormhole::calls::TransactionApi {
1944			wormhole::calls::TransactionApi
1945		}
1946	}
1947	pub struct ViewFunctionsApi;
1948	impl ViewFunctionsApi {
1949		pub fn assets(&self) -> assets::view_functions::ViewFunctionsApi {
1950			assets::view_functions::ViewFunctionsApi
1951		}
1952	}
1953	#[doc = r" check whether the metadata provided is aligned with this statically generated code."]
1954	pub fn is_codegen_valid_for(metadata: &::subxt::ext::subxt_core::Metadata) -> bool {
1955		let runtime_metadata_hash = metadata
1956			.hasher()
1957			.only_these_pallets(&PALLETS)
1958			.only_these_runtime_apis(&RUNTIME_APIS)
1959			.hash();
1960		runtime_metadata_hash ==
1961			[
1962				9u8, 252u8, 101u8, 200u8, 161u8, 142u8, 241u8, 130u8, 224u8, 189u8, 72u8, 23u8,
1963				15u8, 35u8, 16u8, 38u8, 233u8, 12u8, 177u8, 101u8, 41u8, 225u8, 185u8, 137u8,
1964				187u8, 153u8, 77u8, 45u8, 214u8, 214u8, 215u8, 198u8,
1965			]
1966	}
1967	pub mod system {
1968		use super::{root_mod, runtime_types};
1969		#[doc = "Error for the System pallet"]
1970		pub type Error = runtime_types::frame_system::pallet::Error;
1971		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
1972		pub type Call = runtime_types::frame_system::pallet::Call;
1973		pub mod calls {
1974			use super::{root_mod, runtime_types};
1975			type DispatchError = runtime_types::sp_runtime::DispatchError;
1976			pub mod types {
1977				use super::runtime_types;
1978				#[derive(
1979					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
1980					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
1981					Debug,
1982				)]
1983				#[decode_as_type(
1984					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
1985				)]
1986				#[encode_as_type(
1987					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
1988				)]
1989				#[doc = "Make some on-chain remark."]
1990				#[doc = ""]
1991				#[doc = "Can be executed by every `origin`."]
1992				pub struct Remark {
1993					pub remark: remark::Remark,
1994				}
1995				pub mod remark {
1996					use super::runtime_types;
1997					pub type Remark =
1998						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
1999				}
2000				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Remark {
2001					const PALLET: &'static str = "System";
2002					const CALL: &'static str = "remark";
2003				}
2004				#[derive(
2005					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2006					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2007					Debug,
2008				)]
2009				#[decode_as_type(
2010					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2011				)]
2012				#[encode_as_type(
2013					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2014				)]
2015				#[doc = "Set the number of pages in the WebAssembly environment's heap."]
2016				pub struct SetHeapPages {
2017					pub pages: set_heap_pages::Pages,
2018				}
2019				pub mod set_heap_pages {
2020					use super::runtime_types;
2021					pub type Pages = ::core::primitive::u64;
2022				}
2023				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetHeapPages {
2024					const PALLET: &'static str = "System";
2025					const CALL: &'static str = "set_heap_pages";
2026				}
2027				#[derive(
2028					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2029					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2030					Debug,
2031				)]
2032				#[decode_as_type(
2033					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2034				)]
2035				#[encode_as_type(
2036					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2037				)]
2038				#[doc = "Set the new runtime code."]
2039				pub struct SetCode {
2040					pub code: set_code::Code,
2041				}
2042				pub mod set_code {
2043					use super::runtime_types;
2044					pub type Code =
2045						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2046				}
2047				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetCode {
2048					const PALLET: &'static str = "System";
2049					const CALL: &'static str = "set_code";
2050				}
2051				#[derive(
2052					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2053					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2054					Debug,
2055				)]
2056				#[decode_as_type(
2057					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2058				)]
2059				#[encode_as_type(
2060					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2061				)]
2062				#[doc = "Set the new runtime code without doing any checks of the given `code`."]
2063				#[doc = ""]
2064				#[doc = "Note that runtime upgrades will not run if this is called with a not-increasing spec"]
2065				#[doc = "version!"]
2066				pub struct SetCodeWithoutChecks {
2067					pub code: set_code_without_checks::Code,
2068				}
2069				pub mod set_code_without_checks {
2070					use super::runtime_types;
2071					pub type Code =
2072						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2073				}
2074				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetCodeWithoutChecks {
2075					const PALLET: &'static str = "System";
2076					const CALL: &'static str = "set_code_without_checks";
2077				}
2078				#[derive(
2079					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2080					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2081					Debug,
2082				)]
2083				#[decode_as_type(
2084					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2085				)]
2086				#[encode_as_type(
2087					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2088				)]
2089				#[doc = "Set some items of storage."]
2090				pub struct SetStorage {
2091					pub items: set_storage::Items,
2092				}
2093				pub mod set_storage {
2094					use super::runtime_types;
2095					pub type Items = ::subxt::ext::subxt_core::alloc::vec::Vec<(
2096						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
2097						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
2098					)>;
2099				}
2100				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetStorage {
2101					const PALLET: &'static str = "System";
2102					const CALL: &'static str = "set_storage";
2103				}
2104				#[derive(
2105					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2106					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2107					Debug,
2108				)]
2109				#[decode_as_type(
2110					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2111				)]
2112				#[encode_as_type(
2113					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2114				)]
2115				#[doc = "Kill some items from storage."]
2116				pub struct KillStorage {
2117					pub keys: kill_storage::Keys,
2118				}
2119				pub mod kill_storage {
2120					use super::runtime_types;
2121					pub type Keys = ::subxt::ext::subxt_core::alloc::vec::Vec<
2122						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
2123					>;
2124				}
2125				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for KillStorage {
2126					const PALLET: &'static str = "System";
2127					const CALL: &'static str = "kill_storage";
2128				}
2129				#[derive(
2130					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2131					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2132					Debug,
2133				)]
2134				#[decode_as_type(
2135					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2136				)]
2137				#[encode_as_type(
2138					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2139				)]
2140				#[doc = "Kill all storage items with a key that starts with the given prefix."]
2141				#[doc = ""]
2142				#[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"]
2143				#[doc = "the prefix we are removing to accurately calculate the weight of this function."]
2144				pub struct KillPrefix {
2145					pub prefix: kill_prefix::Prefix,
2146					pub subkeys: kill_prefix::Subkeys,
2147				}
2148				pub mod kill_prefix {
2149					use super::runtime_types;
2150					pub type Prefix =
2151						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2152					pub type Subkeys = ::core::primitive::u32;
2153				}
2154				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for KillPrefix {
2155					const PALLET: &'static str = "System";
2156					const CALL: &'static str = "kill_prefix";
2157				}
2158				#[derive(
2159					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2160					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2161					Debug,
2162				)]
2163				#[decode_as_type(
2164					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2165				)]
2166				#[encode_as_type(
2167					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2168				)]
2169				#[doc = "Make some on-chain remark and emit event."]
2170				pub struct RemarkWithEvent {
2171					pub remark: remark_with_event::Remark,
2172				}
2173				pub mod remark_with_event {
2174					use super::runtime_types;
2175					pub type Remark =
2176						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2177				}
2178				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemarkWithEvent {
2179					const PALLET: &'static str = "System";
2180					const CALL: &'static str = "remark_with_event";
2181				}
2182				#[derive(
2183					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2184					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2185					Debug,
2186				)]
2187				#[decode_as_type(
2188					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2189				)]
2190				#[encode_as_type(
2191					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2192				)]
2193				#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
2194				#[doc = "later."]
2195				#[doc = ""]
2196				#[doc = "This call requires Root origin."]
2197				pub struct AuthorizeUpgrade {
2198					pub code_hash: authorize_upgrade::CodeHash,
2199				}
2200				pub mod authorize_upgrade {
2201					use super::runtime_types;
2202					pub type CodeHash = ::subxt::ext::subxt_core::utils::H256;
2203				}
2204				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for AuthorizeUpgrade {
2205					const PALLET: &'static str = "System";
2206					const CALL: &'static str = "authorize_upgrade";
2207				}
2208				#[derive(
2209					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2210					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2211					Debug,
2212				)]
2213				#[decode_as_type(
2214					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2215				)]
2216				#[encode_as_type(
2217					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2218				)]
2219				#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
2220				#[doc = "later."]
2221				#[doc = ""]
2222				#[doc = "WARNING: This authorizes an upgrade that will take place without any safety checks, for"]
2223				#[doc = "example that the spec name remains the same and that the version number increases. Not"]
2224				#[doc = "recommended for normal use. Use `authorize_upgrade` instead."]
2225				#[doc = ""]
2226				#[doc = "This call requires Root origin."]
2227				pub struct AuthorizeUpgradeWithoutChecks {
2228					pub code_hash: authorize_upgrade_without_checks::CodeHash,
2229				}
2230				pub mod authorize_upgrade_without_checks {
2231					use super::runtime_types;
2232					pub type CodeHash = ::subxt::ext::subxt_core::utils::H256;
2233				}
2234				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for AuthorizeUpgradeWithoutChecks {
2235					const PALLET: &'static str = "System";
2236					const CALL: &'static str = "authorize_upgrade_without_checks";
2237				}
2238				#[derive(
2239					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2240					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2241					Debug,
2242				)]
2243				#[decode_as_type(
2244					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
2245				)]
2246				#[encode_as_type(
2247					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
2248				)]
2249				#[doc = "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized."]
2250				#[doc = ""]
2251				#[doc = "If the authorization required a version check, this call will ensure the spec name"]
2252				#[doc = "remains unchanged and that the spec version has increased."]
2253				#[doc = ""]
2254				#[doc = "Depending on the runtime's `OnSetCode` configuration, this function may directly apply"]
2255				#[doc = "the new `code` in the same block or attempt to schedule the upgrade."]
2256				#[doc = ""]
2257				#[doc = "All origins are allowed."]
2258				pub struct ApplyAuthorizedUpgrade {
2259					pub code: apply_authorized_upgrade::Code,
2260				}
2261				pub mod apply_authorized_upgrade {
2262					use super::runtime_types;
2263					pub type Code =
2264						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2265				}
2266				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ApplyAuthorizedUpgrade {
2267					const PALLET: &'static str = "System";
2268					const CALL: &'static str = "apply_authorized_upgrade";
2269				}
2270			}
2271			pub struct TransactionApi;
2272			impl TransactionApi {
2273				#[doc = "Make some on-chain remark."]
2274				#[doc = ""]
2275				#[doc = "Can be executed by every `origin`."]
2276				pub fn remark(
2277					&self,
2278					remark: types::remark::Remark,
2279				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Remark> {
2280					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2281						"System",
2282						"remark",
2283						types::Remark { remark },
2284						[
2285							43u8, 126u8, 180u8, 174u8, 141u8, 48u8, 52u8, 125u8, 166u8, 212u8,
2286							216u8, 98u8, 100u8, 24u8, 132u8, 71u8, 101u8, 64u8, 246u8, 169u8, 33u8,
2287							250u8, 147u8, 208u8, 2u8, 40u8, 129u8, 209u8, 232u8, 207u8, 207u8,
2288							13u8,
2289						],
2290					)
2291				}
2292				#[doc = "Set the number of pages in the WebAssembly environment's heap."]
2293				pub fn set_heap_pages(
2294					&self,
2295					pages: types::set_heap_pages::Pages,
2296				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetHeapPages> {
2297					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2298						"System",
2299						"set_heap_pages",
2300						types::SetHeapPages { pages },
2301						[
2302							188u8, 191u8, 99u8, 216u8, 219u8, 109u8, 141u8, 50u8, 78u8, 235u8,
2303							215u8, 242u8, 195u8, 24u8, 111u8, 76u8, 229u8, 64u8, 99u8, 225u8,
2304							134u8, 121u8, 81u8, 209u8, 127u8, 223u8, 98u8, 215u8, 150u8, 70u8,
2305							57u8, 147u8,
2306						],
2307					)
2308				}
2309				#[doc = "Set the new runtime code."]
2310				pub fn set_code(
2311					&self,
2312					code: types::set_code::Code,
2313				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetCode> {
2314					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2315						"System",
2316						"set_code",
2317						types::SetCode { code },
2318						[
2319							233u8, 248u8, 88u8, 245u8, 28u8, 65u8, 25u8, 169u8, 35u8, 237u8, 19u8,
2320							203u8, 136u8, 160u8, 18u8, 3u8, 20u8, 197u8, 81u8, 169u8, 244u8, 188u8,
2321							27u8, 147u8, 147u8, 236u8, 65u8, 25u8, 3u8, 143u8, 182u8, 22u8,
2322						],
2323					)
2324				}
2325				#[doc = "Set the new runtime code without doing any checks of the given `code`."]
2326				#[doc = ""]
2327				#[doc = "Note that runtime upgrades will not run if this is called with a not-increasing spec"]
2328				#[doc = "version!"]
2329				pub fn set_code_without_checks(
2330					&self,
2331					code: types::set_code_without_checks::Code,
2332				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetCodeWithoutChecks>
2333				{
2334					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2335						"System",
2336						"set_code_without_checks",
2337						types::SetCodeWithoutChecks { code },
2338						[
2339							82u8, 212u8, 157u8, 44u8, 70u8, 0u8, 143u8, 15u8, 109u8, 109u8, 107u8,
2340							157u8, 141u8, 42u8, 169u8, 11u8, 15u8, 186u8, 252u8, 138u8, 10u8,
2341							147u8, 15u8, 178u8, 247u8, 229u8, 213u8, 98u8, 207u8, 231u8, 119u8,
2342							115u8,
2343						],
2344					)
2345				}
2346				#[doc = "Set some items of storage."]
2347				pub fn set_storage(
2348					&self,
2349					items: types::set_storage::Items,
2350				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetStorage> {
2351					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2352						"System",
2353						"set_storage",
2354						types::SetStorage { items },
2355						[
2356							141u8, 216u8, 52u8, 222u8, 223u8, 136u8, 123u8, 181u8, 19u8, 75u8,
2357							163u8, 102u8, 229u8, 189u8, 158u8, 142u8, 95u8, 235u8, 240u8, 49u8,
2358							150u8, 76u8, 78u8, 137u8, 126u8, 88u8, 183u8, 88u8, 231u8, 146u8,
2359							234u8, 43u8,
2360						],
2361					)
2362				}
2363				#[doc = "Kill some items from storage."]
2364				pub fn kill_storage(
2365					&self,
2366					keys: types::kill_storage::Keys,
2367				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::KillStorage> {
2368					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2369						"System",
2370						"kill_storage",
2371						types::KillStorage { keys },
2372						[
2373							73u8, 63u8, 196u8, 36u8, 144u8, 114u8, 34u8, 213u8, 108u8, 93u8, 209u8,
2374							234u8, 153u8, 185u8, 33u8, 91u8, 187u8, 195u8, 223u8, 130u8, 58u8,
2375							156u8, 63u8, 47u8, 228u8, 249u8, 216u8, 139u8, 143u8, 177u8, 41u8,
2376							35u8,
2377						],
2378					)
2379				}
2380				#[doc = "Kill all storage items with a key that starts with the given prefix."]
2381				#[doc = ""]
2382				#[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"]
2383				#[doc = "the prefix we are removing to accurately calculate the weight of this function."]
2384				pub fn kill_prefix(
2385					&self,
2386					prefix: types::kill_prefix::Prefix,
2387					subkeys: types::kill_prefix::Subkeys,
2388				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::KillPrefix> {
2389					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2390						"System",
2391						"kill_prefix",
2392						types::KillPrefix { prefix, subkeys },
2393						[
2394							184u8, 57u8, 139u8, 24u8, 208u8, 87u8, 108u8, 215u8, 198u8, 189u8,
2395							175u8, 242u8, 167u8, 215u8, 97u8, 63u8, 110u8, 166u8, 238u8, 98u8,
2396							67u8, 236u8, 111u8, 110u8, 234u8, 81u8, 102u8, 5u8, 182u8, 5u8, 214u8,
2397							85u8,
2398						],
2399					)
2400				}
2401				#[doc = "Make some on-chain remark and emit event."]
2402				pub fn remark_with_event(
2403					&self,
2404					remark: types::remark_with_event::Remark,
2405				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemarkWithEvent>
2406				{
2407					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2408						"System",
2409						"remark_with_event",
2410						types::RemarkWithEvent { remark },
2411						[
2412							120u8, 120u8, 153u8, 92u8, 184u8, 85u8, 34u8, 2u8, 174u8, 206u8, 105u8,
2413							228u8, 233u8, 130u8, 80u8, 246u8, 228u8, 59u8, 234u8, 240u8, 4u8, 49u8,
2414							147u8, 170u8, 115u8, 91u8, 149u8, 200u8, 228u8, 181u8, 8u8, 154u8,
2415						],
2416					)
2417				}
2418				#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
2419				#[doc = "later."]
2420				#[doc = ""]
2421				#[doc = "This call requires Root origin."]
2422				pub fn authorize_upgrade(
2423					&self,
2424					code_hash: types::authorize_upgrade::CodeHash,
2425				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::AuthorizeUpgrade>
2426				{
2427					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2428						"System",
2429						"authorize_upgrade",
2430						types::AuthorizeUpgrade { code_hash },
2431						[
2432							4u8, 14u8, 76u8, 107u8, 209u8, 129u8, 9u8, 39u8, 193u8, 17u8, 84u8,
2433							254u8, 170u8, 214u8, 24u8, 155u8, 29u8, 184u8, 249u8, 241u8, 109u8,
2434							58u8, 145u8, 131u8, 109u8, 63u8, 38u8, 165u8, 107u8, 215u8, 217u8,
2435							172u8,
2436						],
2437					)
2438				}
2439				#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
2440				#[doc = "later."]
2441				#[doc = ""]
2442				#[doc = "WARNING: This authorizes an upgrade that will take place without any safety checks, for"]
2443				#[doc = "example that the spec name remains the same and that the version number increases. Not"]
2444				#[doc = "recommended for normal use. Use `authorize_upgrade` instead."]
2445				#[doc = ""]
2446				#[doc = "This call requires Root origin."]
2447				pub fn authorize_upgrade_without_checks(
2448					&self,
2449					code_hash: types::authorize_upgrade_without_checks::CodeHash,
2450				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
2451					types::AuthorizeUpgradeWithoutChecks,
2452				> {
2453					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2454						"System",
2455						"authorize_upgrade_without_checks",
2456						types::AuthorizeUpgradeWithoutChecks { code_hash },
2457						[
2458							126u8, 126u8, 55u8, 26u8, 47u8, 55u8, 66u8, 8u8, 167u8, 18u8, 29u8,
2459							136u8, 146u8, 14u8, 189u8, 117u8, 16u8, 227u8, 162u8, 61u8, 149u8,
2460							197u8, 104u8, 184u8, 185u8, 161u8, 99u8, 154u8, 80u8, 125u8, 181u8,
2461							233u8,
2462						],
2463					)
2464				}
2465				#[doc = "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized."]
2466				#[doc = ""]
2467				#[doc = "If the authorization required a version check, this call will ensure the spec name"]
2468				#[doc = "remains unchanged and that the spec version has increased."]
2469				#[doc = ""]
2470				#[doc = "Depending on the runtime's `OnSetCode` configuration, this function may directly apply"]
2471				#[doc = "the new `code` in the same block or attempt to schedule the upgrade."]
2472				#[doc = ""]
2473				#[doc = "All origins are allowed."]
2474				pub fn apply_authorized_upgrade(
2475					&self,
2476					code: types::apply_authorized_upgrade::Code,
2477				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
2478					types::ApplyAuthorizedUpgrade,
2479				> {
2480					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
2481						"System",
2482						"apply_authorized_upgrade",
2483						types::ApplyAuthorizedUpgrade { code },
2484						[
2485							232u8, 107u8, 127u8, 38u8, 230u8, 29u8, 97u8, 4u8, 160u8, 191u8, 222u8,
2486							156u8, 245u8, 102u8, 196u8, 141u8, 44u8, 163u8, 98u8, 68u8, 125u8,
2487							32u8, 124u8, 101u8, 108u8, 93u8, 211u8, 52u8, 0u8, 231u8, 33u8, 227u8,
2488						],
2489					)
2490				}
2491			}
2492		}
2493		#[doc = "Event for the System pallet."]
2494		pub type Event = runtime_types::frame_system::pallet::Event;
2495		pub mod events {
2496			use super::runtime_types;
2497			#[derive(
2498				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2499				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2500				Debug,
2501			)]
2502			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2503			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2504			#[doc = "An extrinsic completed successfully."]
2505			pub struct ExtrinsicSuccess {
2506				pub dispatch_info: extrinsic_success::DispatchInfo,
2507			}
2508			pub mod extrinsic_success {
2509				use super::runtime_types;
2510				pub type DispatchInfo = runtime_types::frame_system::DispatchEventInfo;
2511			}
2512			impl ::subxt::ext::subxt_core::events::StaticEvent for ExtrinsicSuccess {
2513				const PALLET: &'static str = "System";
2514				const EVENT: &'static str = "ExtrinsicSuccess";
2515			}
2516			#[derive(
2517				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2518				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2519				Debug,
2520			)]
2521			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2522			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2523			#[doc = "An extrinsic failed."]
2524			pub struct ExtrinsicFailed {
2525				pub dispatch_error: extrinsic_failed::DispatchError,
2526				pub dispatch_info: extrinsic_failed::DispatchInfo,
2527			}
2528			pub mod extrinsic_failed {
2529				use super::runtime_types;
2530				pub type DispatchError = runtime_types::sp_runtime::DispatchError;
2531				pub type DispatchInfo = runtime_types::frame_system::DispatchEventInfo;
2532			}
2533			impl ::subxt::ext::subxt_core::events::StaticEvent for ExtrinsicFailed {
2534				const PALLET: &'static str = "System";
2535				const EVENT: &'static str = "ExtrinsicFailed";
2536			}
2537			#[derive(
2538				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2539				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2540				Debug,
2541			)]
2542			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2543			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2544			#[doc = "`:code` was updated."]
2545			pub struct CodeUpdated;
2546			impl ::subxt::ext::subxt_core::events::StaticEvent for CodeUpdated {
2547				const PALLET: &'static str = "System";
2548				const EVENT: &'static str = "CodeUpdated";
2549			}
2550			#[derive(
2551				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2552				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2553				Debug,
2554			)]
2555			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2556			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2557			#[doc = "A new account was created."]
2558			pub struct NewAccount {
2559				pub account: new_account::Account,
2560			}
2561			pub mod new_account {
2562				use super::runtime_types;
2563				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
2564			}
2565			impl ::subxt::ext::subxt_core::events::StaticEvent for NewAccount {
2566				const PALLET: &'static str = "System";
2567				const EVENT: &'static str = "NewAccount";
2568			}
2569			#[derive(
2570				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2571				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2572				Debug,
2573			)]
2574			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2575			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2576			#[doc = "An account was reaped."]
2577			pub struct KilledAccount {
2578				pub account: killed_account::Account,
2579			}
2580			pub mod killed_account {
2581				use super::runtime_types;
2582				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
2583			}
2584			impl ::subxt::ext::subxt_core::events::StaticEvent for KilledAccount {
2585				const PALLET: &'static str = "System";
2586				const EVENT: &'static str = "KilledAccount";
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 = "On on-chain remark happened."]
2596			pub struct Remarked {
2597				pub sender: remarked::Sender,
2598				pub hash: remarked::Hash,
2599			}
2600			pub mod remarked {
2601				use super::runtime_types;
2602				pub type Sender = ::subxt::ext::subxt_core::utils::AccountId32;
2603				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
2604			}
2605			impl ::subxt::ext::subxt_core::events::StaticEvent for Remarked {
2606				const PALLET: &'static str = "System";
2607				const EVENT: &'static str = "Remarked";
2608			}
2609			#[derive(
2610				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2611				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2612				Debug,
2613			)]
2614			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2615			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2616			#[doc = "An upgrade was authorized."]
2617			pub struct UpgradeAuthorized {
2618				pub code_hash: upgrade_authorized::CodeHash,
2619				pub check_version: upgrade_authorized::CheckVersion,
2620			}
2621			pub mod upgrade_authorized {
2622				use super::runtime_types;
2623				pub type CodeHash = ::subxt::ext::subxt_core::utils::H256;
2624				pub type CheckVersion = ::core::primitive::bool;
2625			}
2626			impl ::subxt::ext::subxt_core::events::StaticEvent for UpgradeAuthorized {
2627				const PALLET: &'static str = "System";
2628				const EVENT: &'static str = "UpgradeAuthorized";
2629			}
2630			#[derive(
2631				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
2632				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
2633				Debug,
2634			)]
2635			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
2636			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
2637			#[doc = "An invalid authorized upgrade was rejected while trying to apply it."]
2638			pub struct RejectedInvalidAuthorizedUpgrade {
2639				pub code_hash: rejected_invalid_authorized_upgrade::CodeHash,
2640				pub error: rejected_invalid_authorized_upgrade::Error,
2641			}
2642			pub mod rejected_invalid_authorized_upgrade {
2643				use super::runtime_types;
2644				pub type CodeHash = ::subxt::ext::subxt_core::utils::H256;
2645				pub type Error = runtime_types::sp_runtime::DispatchError;
2646			}
2647			impl ::subxt::ext::subxt_core::events::StaticEvent for RejectedInvalidAuthorizedUpgrade {
2648				const PALLET: &'static str = "System";
2649				const EVENT: &'static str = "RejectedInvalidAuthorizedUpgrade";
2650			}
2651		}
2652		pub mod storage {
2653			use super::runtime_types;
2654			pub mod types {
2655				use super::runtime_types;
2656				pub mod account {
2657					use super::runtime_types;
2658					pub type Account = runtime_types::frame_system::AccountInfo<
2659						::core::primitive::u32,
2660						runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>,
2661					>;
2662					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
2663				}
2664				pub mod extrinsic_count {
2665					use super::runtime_types;
2666					pub type ExtrinsicCount = ::core::primitive::u32;
2667				}
2668				pub mod inherents_applied {
2669					use super::runtime_types;
2670					pub type InherentsApplied = ::core::primitive::bool;
2671				}
2672				pub mod block_weight {
2673					use super::runtime_types;
2674					pub type BlockWeight = runtime_types::frame_support::dispatch::PerDispatchClass<
2675						runtime_types::sp_weights::weight_v2::Weight,
2676					>;
2677				}
2678				pub mod all_extrinsics_len {
2679					use super::runtime_types;
2680					pub type AllExtrinsicsLen = ::core::primitive::u32;
2681				}
2682				pub mod block_hash {
2683					use super::runtime_types;
2684					pub type BlockHash = ::subxt::ext::subxt_core::utils::H256;
2685					pub type Param0 = ::core::primitive::u32;
2686				}
2687				pub mod extrinsic_data {
2688					use super::runtime_types;
2689					pub type ExtrinsicData =
2690						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
2691					pub type Param0 = ::core::primitive::u32;
2692				}
2693				pub mod number {
2694					use super::runtime_types;
2695					pub type Number = ::core::primitive::u32;
2696				}
2697				pub mod parent_hash {
2698					use super::runtime_types;
2699					pub type ParentHash = ::subxt::ext::subxt_core::utils::H256;
2700				}
2701				pub mod digest {
2702					use super::runtime_types;
2703					pub type Digest = runtime_types::sp_runtime::generic::digest::Digest;
2704				}
2705				pub mod events {
2706					use super::runtime_types;
2707					pub type Events = ::subxt::ext::subxt_core::alloc::vec::Vec<
2708						runtime_types::frame_system::EventRecord<
2709							runtime_types::quantus_runtime::RuntimeEvent,
2710							::subxt::ext::subxt_core::utils::H256,
2711						>,
2712					>;
2713				}
2714				pub mod event_count {
2715					use super::runtime_types;
2716					pub type EventCount = ::core::primitive::u32;
2717				}
2718				pub mod event_topics {
2719					use super::runtime_types;
2720					pub type EventTopics = ::subxt::ext::subxt_core::alloc::vec::Vec<(
2721						::core::primitive::u32,
2722						::core::primitive::u32,
2723					)>;
2724					pub type Param0 = ::subxt::ext::subxt_core::utils::H256;
2725				}
2726				pub mod last_runtime_upgrade {
2727					use super::runtime_types;
2728					pub type LastRuntimeUpgrade =
2729						runtime_types::frame_system::LastRuntimeUpgradeInfo;
2730				}
2731				pub mod upgraded_to_u32_ref_count {
2732					use super::runtime_types;
2733					pub type UpgradedToU32RefCount = ::core::primitive::bool;
2734				}
2735				pub mod upgraded_to_triple_ref_count {
2736					use super::runtime_types;
2737					pub type UpgradedToTripleRefCount = ::core::primitive::bool;
2738				}
2739				pub mod execution_phase {
2740					use super::runtime_types;
2741					pub type ExecutionPhase = runtime_types::frame_system::Phase;
2742				}
2743				pub mod authorized_upgrade {
2744					use super::runtime_types;
2745					pub type AuthorizedUpgrade =
2746						runtime_types::frame_system::CodeUpgradeAuthorization;
2747				}
2748				pub mod extrinsic_weight_reclaimed {
2749					use super::runtime_types;
2750					pub type ExtrinsicWeightReclaimed =
2751						runtime_types::sp_weights::weight_v2::Weight;
2752				}
2753			}
2754			pub struct StorageApi;
2755			impl StorageApi {
2756				#[doc = " The full account information for a particular account ID."]
2757				pub fn account_iter(
2758					&self,
2759				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2760					(),
2761					types::account::Account,
2762					(),
2763					::subxt::ext::subxt_core::utils::Yes,
2764					::subxt::ext::subxt_core::utils::Yes,
2765				> {
2766					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2767						"System",
2768						"Account",
2769						(),
2770						[
2771							14u8, 233u8, 115u8, 214u8, 0u8, 109u8, 222u8, 121u8, 162u8, 65u8, 60u8,
2772							175u8, 209u8, 79u8, 222u8, 124u8, 22u8, 235u8, 138u8, 176u8, 133u8,
2773							124u8, 90u8, 158u8, 85u8, 45u8, 37u8, 174u8, 47u8, 79u8, 47u8, 166u8,
2774						],
2775					)
2776				}
2777				#[doc = " The full account information for a particular account ID."]
2778				pub fn account(
2779					&self,
2780					_0: types::account::Param0,
2781				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2782					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
2783						types::account::Param0,
2784					>,
2785					types::account::Account,
2786					::subxt::ext::subxt_core::utils::Yes,
2787					::subxt::ext::subxt_core::utils::Yes,
2788					(),
2789				> {
2790					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2791						"System",
2792						"Account",
2793						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
2794						[
2795							14u8, 233u8, 115u8, 214u8, 0u8, 109u8, 222u8, 121u8, 162u8, 65u8, 60u8,
2796							175u8, 209u8, 79u8, 222u8, 124u8, 22u8, 235u8, 138u8, 176u8, 133u8,
2797							124u8, 90u8, 158u8, 85u8, 45u8, 37u8, 174u8, 47u8, 79u8, 47u8, 166u8,
2798						],
2799					)
2800				}
2801				#[doc = " Total extrinsics count for the current block."]
2802				pub fn extrinsic_count(
2803					&self,
2804				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2805					(),
2806					types::extrinsic_count::ExtrinsicCount,
2807					::subxt::ext::subxt_core::utils::Yes,
2808					(),
2809					(),
2810				> {
2811					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2812						"System",
2813						"ExtrinsicCount",
2814						(),
2815						[
2816							102u8, 76u8, 236u8, 42u8, 40u8, 231u8, 33u8, 222u8, 123u8, 147u8,
2817							153u8, 148u8, 234u8, 203u8, 181u8, 119u8, 6u8, 187u8, 177u8, 199u8,
2818							120u8, 47u8, 137u8, 254u8, 96u8, 100u8, 165u8, 182u8, 249u8, 230u8,
2819							159u8, 79u8,
2820						],
2821					)
2822				}
2823				#[doc = " Whether all inherents have been applied."]
2824				pub fn inherents_applied(
2825					&self,
2826				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2827					(),
2828					types::inherents_applied::InherentsApplied,
2829					::subxt::ext::subxt_core::utils::Yes,
2830					::subxt::ext::subxt_core::utils::Yes,
2831					(),
2832				> {
2833					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2834						"System",
2835						"InherentsApplied",
2836						(),
2837						[
2838							132u8, 249u8, 142u8, 252u8, 8u8, 103u8, 80u8, 120u8, 50u8, 6u8, 188u8,
2839							223u8, 101u8, 55u8, 165u8, 189u8, 172u8, 249u8, 165u8, 230u8, 183u8,
2840							109u8, 34u8, 65u8, 185u8, 150u8, 29u8, 8u8, 186u8, 129u8, 135u8, 239u8,
2841						],
2842					)
2843				}
2844				#[doc = " The current weight for the block."]
2845				pub fn block_weight(
2846					&self,
2847				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2848					(),
2849					types::block_weight::BlockWeight,
2850					::subxt::ext::subxt_core::utils::Yes,
2851					::subxt::ext::subxt_core::utils::Yes,
2852					(),
2853				> {
2854					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2855						"System",
2856						"BlockWeight",
2857						(),
2858						[
2859							158u8, 46u8, 228u8, 89u8, 210u8, 214u8, 84u8, 154u8, 50u8, 68u8, 63u8,
2860							62u8, 43u8, 42u8, 99u8, 27u8, 54u8, 42u8, 146u8, 44u8, 241u8, 216u8,
2861							229u8, 30u8, 216u8, 255u8, 165u8, 238u8, 181u8, 130u8, 36u8, 102u8,
2862						],
2863					)
2864				}
2865				#[doc = " Total length (in bytes) for all extrinsics put together, for the current block."]
2866				pub fn all_extrinsics_len(
2867					&self,
2868				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2869					(),
2870					types::all_extrinsics_len::AllExtrinsicsLen,
2871					::subxt::ext::subxt_core::utils::Yes,
2872					(),
2873					(),
2874				> {
2875					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2876						"System",
2877						"AllExtrinsicsLen",
2878						(),
2879						[
2880							117u8, 86u8, 61u8, 243u8, 41u8, 51u8, 102u8, 214u8, 137u8, 100u8,
2881							243u8, 185u8, 122u8, 174u8, 187u8, 117u8, 86u8, 189u8, 63u8, 135u8,
2882							101u8, 218u8, 203u8, 201u8, 237u8, 254u8, 128u8, 183u8, 169u8, 221u8,
2883							242u8, 65u8,
2884						],
2885					)
2886				}
2887				#[doc = " Map of block numbers to block hashes."]
2888				pub fn block_hash_iter(
2889					&self,
2890				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2891					(),
2892					types::block_hash::BlockHash,
2893					(),
2894					::subxt::ext::subxt_core::utils::Yes,
2895					::subxt::ext::subxt_core::utils::Yes,
2896				> {
2897					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2898						"System",
2899						"BlockHash",
2900						(),
2901						[
2902							217u8, 32u8, 215u8, 253u8, 24u8, 182u8, 207u8, 178u8, 157u8, 24u8,
2903							103u8, 100u8, 195u8, 165u8, 69u8, 152u8, 112u8, 181u8, 56u8, 192u8,
2904							164u8, 16u8, 20u8, 222u8, 28u8, 214u8, 144u8, 142u8, 146u8, 69u8,
2905							202u8, 118u8,
2906						],
2907					)
2908				}
2909				#[doc = " Map of block numbers to block hashes."]
2910				pub fn block_hash(
2911					&self,
2912					_0: types::block_hash::Param0,
2913				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2914					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
2915						types::block_hash::Param0,
2916					>,
2917					types::block_hash::BlockHash,
2918					::subxt::ext::subxt_core::utils::Yes,
2919					::subxt::ext::subxt_core::utils::Yes,
2920					(),
2921				> {
2922					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2923						"System",
2924						"BlockHash",
2925						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
2926						[
2927							217u8, 32u8, 215u8, 253u8, 24u8, 182u8, 207u8, 178u8, 157u8, 24u8,
2928							103u8, 100u8, 195u8, 165u8, 69u8, 152u8, 112u8, 181u8, 56u8, 192u8,
2929							164u8, 16u8, 20u8, 222u8, 28u8, 214u8, 144u8, 142u8, 146u8, 69u8,
2930							202u8, 118u8,
2931						],
2932					)
2933				}
2934				#[doc = " Extrinsics data for the current block (maps an extrinsic's index to its data)."]
2935				pub fn extrinsic_data_iter(
2936					&self,
2937				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2938					(),
2939					types::extrinsic_data::ExtrinsicData,
2940					(),
2941					::subxt::ext::subxt_core::utils::Yes,
2942					::subxt::ext::subxt_core::utils::Yes,
2943				> {
2944					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2945						"System",
2946						"ExtrinsicData",
2947						(),
2948						[
2949							160u8, 180u8, 122u8, 18u8, 196u8, 26u8, 2u8, 37u8, 115u8, 232u8, 133u8,
2950							220u8, 106u8, 245u8, 4u8, 129u8, 42u8, 84u8, 241u8, 45u8, 199u8, 179u8,
2951							128u8, 61u8, 170u8, 137u8, 231u8, 156u8, 247u8, 57u8, 47u8, 38u8,
2952						],
2953					)
2954				}
2955				#[doc = " Extrinsics data for the current block (maps an extrinsic's index to its data)."]
2956				pub fn extrinsic_data(
2957					&self,
2958					_0: types::extrinsic_data::Param0,
2959				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2960					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
2961						types::extrinsic_data::Param0,
2962					>,
2963					types::extrinsic_data::ExtrinsicData,
2964					::subxt::ext::subxt_core::utils::Yes,
2965					::subxt::ext::subxt_core::utils::Yes,
2966					(),
2967				> {
2968					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2969						"System",
2970						"ExtrinsicData",
2971						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
2972						[
2973							160u8, 180u8, 122u8, 18u8, 196u8, 26u8, 2u8, 37u8, 115u8, 232u8, 133u8,
2974							220u8, 106u8, 245u8, 4u8, 129u8, 42u8, 84u8, 241u8, 45u8, 199u8, 179u8,
2975							128u8, 61u8, 170u8, 137u8, 231u8, 156u8, 247u8, 57u8, 47u8, 38u8,
2976						],
2977					)
2978				}
2979				#[doc = " The current block number being processed. Set by `execute_block`."]
2980				pub fn number(
2981					&self,
2982				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
2983					(),
2984					types::number::Number,
2985					::subxt::ext::subxt_core::utils::Yes,
2986					::subxt::ext::subxt_core::utils::Yes,
2987					(),
2988				> {
2989					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
2990						"System",
2991						"Number",
2992						(),
2993						[
2994							30u8, 194u8, 177u8, 90u8, 194u8, 232u8, 46u8, 180u8, 85u8, 129u8, 14u8,
2995							9u8, 8u8, 8u8, 23u8, 95u8, 230u8, 5u8, 13u8, 105u8, 125u8, 2u8, 22u8,
2996							200u8, 78u8, 93u8, 115u8, 28u8, 150u8, 113u8, 48u8, 53u8,
2997						],
2998					)
2999				}
3000				#[doc = " Hash of the previous block."]
3001				pub fn parent_hash(
3002					&self,
3003				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3004					(),
3005					types::parent_hash::ParentHash,
3006					::subxt::ext::subxt_core::utils::Yes,
3007					::subxt::ext::subxt_core::utils::Yes,
3008					(),
3009				> {
3010					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3011						"System",
3012						"ParentHash",
3013						(),
3014						[
3015							26u8, 130u8, 11u8, 216u8, 155u8, 71u8, 128u8, 170u8, 30u8, 153u8, 21u8,
3016							192u8, 62u8, 93u8, 137u8, 80u8, 120u8, 81u8, 202u8, 94u8, 248u8, 125u8,
3017							71u8, 82u8, 141u8, 229u8, 32u8, 56u8, 73u8, 50u8, 101u8, 78u8,
3018						],
3019					)
3020				}
3021				#[doc = " Digest of the current block, also part of the block header."]
3022				pub fn digest(
3023					&self,
3024				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3025					(),
3026					types::digest::Digest,
3027					::subxt::ext::subxt_core::utils::Yes,
3028					::subxt::ext::subxt_core::utils::Yes,
3029					(),
3030				> {
3031					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3032						"System",
3033						"Digest",
3034						(),
3035						[
3036							61u8, 64u8, 237u8, 91u8, 145u8, 232u8, 17u8, 254u8, 181u8, 16u8, 234u8,
3037							91u8, 51u8, 140u8, 254u8, 131u8, 98u8, 135u8, 21u8, 37u8, 251u8, 20u8,
3038							58u8, 92u8, 123u8, 141u8, 14u8, 227u8, 146u8, 46u8, 222u8, 117u8,
3039						],
3040					)
3041				}
3042				#[doc = " Events deposited for the current block."]
3043				#[doc = ""]
3044				#[doc = " NOTE: The item is unbound and should therefore never be read on chain."]
3045				#[doc = " It could otherwise inflate the PoV size of a block."]
3046				#[doc = ""]
3047				#[doc = " Events have a large in-memory size. Box the events to not go out-of-memory"]
3048				#[doc = " just in case someone still reads them from within the runtime."]
3049				pub fn events(
3050					&self,
3051				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3052					(),
3053					types::events::Events,
3054					::subxt::ext::subxt_core::utils::Yes,
3055					::subxt::ext::subxt_core::utils::Yes,
3056					(),
3057				> {
3058					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3059						"System",
3060						"Events",
3061						(),
3062						[
3063							219u8, 135u8, 2u8, 5u8, 35u8, 85u8, 207u8, 98u8, 136u8, 150u8, 109u8,
3064							92u8, 64u8, 218u8, 201u8, 111u8, 25u8, 157u8, 42u8, 17u8, 112u8, 204u8,
3065							180u8, 241u8, 138u8, 97u8, 146u8, 96u8, 223u8, 24u8, 107u8, 44u8,
3066						],
3067					)
3068				}
3069				#[doc = " The number of events in the `Events<T>` list."]
3070				pub fn event_count(
3071					&self,
3072				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3073					(),
3074					types::event_count::EventCount,
3075					::subxt::ext::subxt_core::utils::Yes,
3076					::subxt::ext::subxt_core::utils::Yes,
3077					(),
3078				> {
3079					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3080						"System",
3081						"EventCount",
3082						(),
3083						[
3084							175u8, 24u8, 252u8, 184u8, 210u8, 167u8, 146u8, 143u8, 164u8, 80u8,
3085							151u8, 205u8, 189u8, 189u8, 55u8, 220u8, 47u8, 101u8, 181u8, 33u8,
3086							254u8, 131u8, 13u8, 143u8, 3u8, 244u8, 245u8, 45u8, 2u8, 210u8, 79u8,
3087							133u8,
3088						],
3089					)
3090				}
3091				#[doc = " Mapping between a topic (represented by T::Hash) and a vector of indexes"]
3092				#[doc = " of events in the `<Events<T>>` list."]
3093				#[doc = ""]
3094				#[doc = " All topic vectors have deterministic storage locations depending on the topic. This"]
3095				#[doc = " allows light-clients to leverage the changes trie storage tracking mechanism and"]
3096				#[doc = " in case of changes fetch the list of events of interest."]
3097				#[doc = ""]
3098				#[doc = " The value has the type `(BlockNumberFor<T>, EventIndex)` because if we used only just"]
3099				#[doc = " the `EventIndex` then in case if the topic has the same contents on the next block"]
3100				#[doc = " no notification will be triggered thus the event might be lost."]
3101				pub fn event_topics_iter(
3102					&self,
3103				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3104					(),
3105					types::event_topics::EventTopics,
3106					(),
3107					::subxt::ext::subxt_core::utils::Yes,
3108					::subxt::ext::subxt_core::utils::Yes,
3109				> {
3110					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3111						"System",
3112						"EventTopics",
3113						(),
3114						[
3115							40u8, 225u8, 14u8, 75u8, 44u8, 176u8, 76u8, 34u8, 143u8, 107u8, 69u8,
3116							133u8, 114u8, 13u8, 172u8, 250u8, 141u8, 73u8, 12u8, 65u8, 217u8, 63u8,
3117							120u8, 241u8, 48u8, 106u8, 143u8, 161u8, 128u8, 100u8, 166u8, 59u8,
3118						],
3119					)
3120				}
3121				#[doc = " Mapping between a topic (represented by T::Hash) and a vector of indexes"]
3122				#[doc = " of events in the `<Events<T>>` list."]
3123				#[doc = ""]
3124				#[doc = " All topic vectors have deterministic storage locations depending on the topic. This"]
3125				#[doc = " allows light-clients to leverage the changes trie storage tracking mechanism and"]
3126				#[doc = " in case of changes fetch the list of events of interest."]
3127				#[doc = ""]
3128				#[doc = " The value has the type `(BlockNumberFor<T>, EventIndex)` because if we used only just"]
3129				#[doc = " the `EventIndex` then in case if the topic has the same contents on the next block"]
3130				#[doc = " no notification will be triggered thus the event might be lost."]
3131				pub fn event_topics(
3132					&self,
3133					_0: types::event_topics::Param0,
3134				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3135					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
3136						types::event_topics::Param0,
3137					>,
3138					types::event_topics::EventTopics,
3139					::subxt::ext::subxt_core::utils::Yes,
3140					::subxt::ext::subxt_core::utils::Yes,
3141					(),
3142				> {
3143					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3144						"System",
3145						"EventTopics",
3146						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
3147						[
3148							40u8, 225u8, 14u8, 75u8, 44u8, 176u8, 76u8, 34u8, 143u8, 107u8, 69u8,
3149							133u8, 114u8, 13u8, 172u8, 250u8, 141u8, 73u8, 12u8, 65u8, 217u8, 63u8,
3150							120u8, 241u8, 48u8, 106u8, 143u8, 161u8, 128u8, 100u8, 166u8, 59u8,
3151						],
3152					)
3153				}
3154				#[doc = " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened."]
3155				pub fn last_runtime_upgrade(
3156					&self,
3157				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3158					(),
3159					types::last_runtime_upgrade::LastRuntimeUpgrade,
3160					::subxt::ext::subxt_core::utils::Yes,
3161					(),
3162					(),
3163				> {
3164					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3165						"System",
3166						"LastRuntimeUpgrade",
3167						(),
3168						[
3169							197u8, 212u8, 249u8, 209u8, 79u8, 34u8, 55u8, 203u8, 31u8, 42u8, 199u8,
3170							242u8, 188u8, 74u8, 234u8, 250u8, 245u8, 44u8, 139u8, 162u8, 45u8,
3171							150u8, 230u8, 249u8, 135u8, 100u8, 158u8, 167u8, 118u8, 219u8, 28u8,
3172							98u8,
3173						],
3174					)
3175				}
3176				#[doc = " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not."]
3177				pub fn upgraded_to_u32_ref_count(
3178					&self,
3179				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3180					(),
3181					types::upgraded_to_u32_ref_count::UpgradedToU32RefCount,
3182					::subxt::ext::subxt_core::utils::Yes,
3183					::subxt::ext::subxt_core::utils::Yes,
3184					(),
3185				> {
3186					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3187						"System",
3188						"UpgradedToU32RefCount",
3189						(),
3190						[
3191							229u8, 73u8, 9u8, 132u8, 186u8, 116u8, 151u8, 171u8, 145u8, 29u8, 34u8,
3192							130u8, 52u8, 146u8, 124u8, 175u8, 79u8, 189u8, 147u8, 230u8, 234u8,
3193							107u8, 124u8, 31u8, 2u8, 22u8, 86u8, 190u8, 4u8, 147u8, 50u8, 245u8,
3194						],
3195					)
3196				}
3197				#[doc = " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False"]
3198				#[doc = " (default) if not."]
3199				pub fn upgraded_to_triple_ref_count(
3200					&self,
3201				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3202					(),
3203					types::upgraded_to_triple_ref_count::UpgradedToTripleRefCount,
3204					::subxt::ext::subxt_core::utils::Yes,
3205					::subxt::ext::subxt_core::utils::Yes,
3206					(),
3207				> {
3208					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3209						"System",
3210						"UpgradedToTripleRefCount",
3211						(),
3212						[
3213							97u8, 66u8, 124u8, 243u8, 27u8, 167u8, 147u8, 81u8, 254u8, 201u8,
3214							101u8, 24u8, 40u8, 231u8, 14u8, 179u8, 154u8, 163u8, 71u8, 81u8, 185u8,
3215							167u8, 82u8, 254u8, 189u8, 3u8, 101u8, 207u8, 206u8, 194u8, 155u8,
3216							151u8,
3217						],
3218					)
3219				}
3220				#[doc = " The execution phase of the block."]
3221				pub fn execution_phase(
3222					&self,
3223				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3224					(),
3225					types::execution_phase::ExecutionPhase,
3226					::subxt::ext::subxt_core::utils::Yes,
3227					(),
3228					(),
3229				> {
3230					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3231						"System",
3232						"ExecutionPhase",
3233						(),
3234						[
3235							191u8, 129u8, 100u8, 134u8, 126u8, 116u8, 154u8, 203u8, 220u8, 200u8,
3236							0u8, 26u8, 161u8, 250u8, 133u8, 205u8, 146u8, 24u8, 5u8, 156u8, 158u8,
3237							35u8, 36u8, 253u8, 52u8, 235u8, 86u8, 167u8, 35u8, 100u8, 119u8, 27u8,
3238						],
3239					)
3240				}
3241				#[doc = " `Some` if a code upgrade has been authorized."]
3242				pub fn authorized_upgrade(
3243					&self,
3244				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3245					(),
3246					types::authorized_upgrade::AuthorizedUpgrade,
3247					::subxt::ext::subxt_core::utils::Yes,
3248					(),
3249					(),
3250				> {
3251					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3252						"System",
3253						"AuthorizedUpgrade",
3254						(),
3255						[
3256							165u8, 97u8, 27u8, 138u8, 2u8, 28u8, 55u8, 92u8, 96u8, 96u8, 168u8,
3257							169u8, 55u8, 178u8, 44u8, 127u8, 58u8, 140u8, 206u8, 178u8, 1u8, 37u8,
3258							214u8, 213u8, 251u8, 123u8, 5u8, 111u8, 90u8, 148u8, 217u8, 135u8,
3259						],
3260					)
3261				}
3262				#[doc = " The weight reclaimed for the extrinsic."]
3263				#[doc = ""]
3264				#[doc = " This information is available until the end of the extrinsic execution."]
3265				#[doc = " More precisely this information is removed in `note_applied_extrinsic`."]
3266				#[doc = ""]
3267				#[doc = " Logic doing some post dispatch weight reduction must update this storage to avoid duplicate"]
3268				#[doc = " reduction."]
3269				pub fn extrinsic_weight_reclaimed(
3270					&self,
3271				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3272					(),
3273					types::extrinsic_weight_reclaimed::ExtrinsicWeightReclaimed,
3274					::subxt::ext::subxt_core::utils::Yes,
3275					::subxt::ext::subxt_core::utils::Yes,
3276					(),
3277				> {
3278					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3279						"System",
3280						"ExtrinsicWeightReclaimed",
3281						(),
3282						[
3283							195u8, 143u8, 164u8, 84u8, 225u8, 194u8, 227u8, 128u8, 196u8, 241u8,
3284							188u8, 159u8, 59u8, 197u8, 11u8, 12u8, 119u8, 164u8, 46u8, 229u8, 92u8,
3285							212u8, 236u8, 255u8, 238u8, 54u8, 105u8, 200u8, 229u8, 191u8, 221u8,
3286							202u8,
3287						],
3288					)
3289				}
3290			}
3291		}
3292		pub mod constants {
3293			use super::runtime_types;
3294			pub struct ConstantsApi;
3295			impl ConstantsApi {
3296				#[doc = " Block & extrinsics weights: base values and limits."]
3297				pub fn block_weights(
3298					&self,
3299				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3300					runtime_types::frame_system::limits::BlockWeights,
3301				> {
3302					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3303						"System",
3304						"BlockWeights",
3305						[
3306							176u8, 124u8, 225u8, 136u8, 25u8, 73u8, 247u8, 33u8, 82u8, 206u8, 85u8,
3307							190u8, 127u8, 102u8, 71u8, 11u8, 185u8, 8u8, 58u8, 0u8, 94u8, 55u8,
3308							163u8, 177u8, 104u8, 59u8, 60u8, 136u8, 246u8, 116u8, 0u8, 239u8,
3309						],
3310					)
3311				}
3312				#[doc = " The maximum length of a block (in bytes)."]
3313				pub fn block_length(
3314					&self,
3315				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3316					runtime_types::frame_system::limits::BlockLength,
3317				> {
3318					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3319						"System",
3320						"BlockLength",
3321						[
3322							23u8, 242u8, 225u8, 39u8, 225u8, 67u8, 152u8, 41u8, 155u8, 104u8, 68u8,
3323							229u8, 185u8, 133u8, 10u8, 143u8, 184u8, 152u8, 234u8, 44u8, 140u8,
3324							96u8, 166u8, 235u8, 162u8, 160u8, 72u8, 7u8, 35u8, 194u8, 3u8, 37u8,
3325						],
3326					)
3327				}
3328				#[doc = " Maximum number of block number to block hash mappings to keep (oldest pruned first)."]
3329				pub fn block_hash_count(
3330					&self,
3331				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3332					::core::primitive::u32,
3333				> {
3334					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3335						"System",
3336						"BlockHashCount",
3337						[
3338							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
3339							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
3340							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
3341							145u8,
3342						],
3343					)
3344				}
3345				#[doc = " The weight of runtime database operations the runtime can invoke."]
3346				pub fn db_weight(
3347					&self,
3348				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3349					runtime_types::sp_weights::RuntimeDbWeight,
3350				> {
3351					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3352						"System",
3353						"DbWeight",
3354						[
3355							42u8, 43u8, 178u8, 142u8, 243u8, 203u8, 60u8, 173u8, 118u8, 111u8,
3356							200u8, 170u8, 102u8, 70u8, 237u8, 187u8, 198u8, 120u8, 153u8, 232u8,
3357							183u8, 76u8, 74u8, 10u8, 70u8, 243u8, 14u8, 218u8, 213u8, 126u8, 29u8,
3358							177u8,
3359						],
3360					)
3361				}
3362				#[doc = " Get the chain's in-code version."]
3363				pub fn version(
3364					&self,
3365				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3366					runtime_types::sp_version::RuntimeVersion,
3367				> {
3368					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3369						"System",
3370						"Version",
3371						[
3372							214u8, 43u8, 96u8, 193u8, 96u8, 213u8, 63u8, 124u8, 22u8, 111u8, 41u8,
3373							78u8, 146u8, 77u8, 34u8, 163u8, 117u8, 100u8, 6u8, 216u8, 238u8, 54u8,
3374							80u8, 185u8, 219u8, 11u8, 192u8, 200u8, 129u8, 88u8, 161u8, 250u8,
3375						],
3376					)
3377				}
3378				#[doc = " The designated SS58 prefix of this chain."]
3379				#[doc = ""]
3380				#[doc = " This replaces the \"ss58Format\" property declared in the chain spec. Reason is"]
3381				#[doc = " that the runtime should know about the prefix in order to make use of it as"]
3382				#[doc = " an identifier of the chain."]
3383				pub fn ss58_prefix(
3384					&self,
3385				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3386					::core::primitive::u16,
3387				> {
3388					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3389						"System",
3390						"SS58Prefix",
3391						[
3392							116u8, 33u8, 2u8, 170u8, 181u8, 147u8, 171u8, 169u8, 167u8, 227u8,
3393							41u8, 144u8, 11u8, 236u8, 82u8, 100u8, 74u8, 60u8, 184u8, 72u8, 169u8,
3394							90u8, 208u8, 135u8, 15u8, 117u8, 10u8, 123u8, 128u8, 193u8, 29u8, 70u8,
3395						],
3396					)
3397				}
3398			}
3399		}
3400	}
3401	pub mod timestamp {
3402		use super::{root_mod, runtime_types};
3403		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
3404		pub type Call = runtime_types::pallet_timestamp::pallet::Call;
3405		pub mod calls {
3406			use super::{root_mod, runtime_types};
3407			type DispatchError = runtime_types::sp_runtime::DispatchError;
3408			pub mod types {
3409				use super::runtime_types;
3410				#[derive(
3411					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3412					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3413					Debug,
3414				)]
3415				#[decode_as_type(
3416					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3417				)]
3418				#[encode_as_type(
3419					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3420				)]
3421				#[doc = "Set the current time."]
3422				#[doc = ""]
3423				#[doc = "This call should be invoked exactly once per block. It will panic at the finalization"]
3424				#[doc = "phase, if this call hasn't been invoked by that time."]
3425				#[doc = ""]
3426				#[doc = "The timestamp should be greater than the previous one by the amount specified by"]
3427				#[doc = "[`Config::MinimumPeriod`]."]
3428				#[doc = ""]
3429				#[doc = "The dispatch origin for this call must be _None_."]
3430				#[doc = ""]
3431				#[doc = "This dispatch class is _Mandatory_ to ensure it gets executed in the block. Be aware"]
3432				#[doc = "that changing the complexity of this call could result exhausting the resources in a"]
3433				#[doc = "block to execute any other calls."]
3434				#[doc = ""]
3435				#[doc = "## Complexity"]
3436				#[doc = "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)"]
3437				#[doc = "- 1 storage read and 1 storage mutation (codec `O(1)` because of `DidUpdate::take` in"]
3438				#[doc = "  `on_finalize`)"]
3439				#[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."]
3440				pub struct Set {
3441					#[codec(compact)]
3442					pub now: set::Now,
3443				}
3444				pub mod set {
3445					use super::runtime_types;
3446					pub type Now = ::core::primitive::u64;
3447				}
3448				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Set {
3449					const PALLET: &'static str = "Timestamp";
3450					const CALL: &'static str = "set";
3451				}
3452			}
3453			pub struct TransactionApi;
3454			impl TransactionApi {
3455				#[doc = "Set the current time."]
3456				#[doc = ""]
3457				#[doc = "This call should be invoked exactly once per block. It will panic at the finalization"]
3458				#[doc = "phase, if this call hasn't been invoked by that time."]
3459				#[doc = ""]
3460				#[doc = "The timestamp should be greater than the previous one by the amount specified by"]
3461				#[doc = "[`Config::MinimumPeriod`]."]
3462				#[doc = ""]
3463				#[doc = "The dispatch origin for this call must be _None_."]
3464				#[doc = ""]
3465				#[doc = "This dispatch class is _Mandatory_ to ensure it gets executed in the block. Be aware"]
3466				#[doc = "that changing the complexity of this call could result exhausting the resources in a"]
3467				#[doc = "block to execute any other calls."]
3468				#[doc = ""]
3469				#[doc = "## Complexity"]
3470				#[doc = "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)"]
3471				#[doc = "- 1 storage read and 1 storage mutation (codec `O(1)` because of `DidUpdate::take` in"]
3472				#[doc = "  `on_finalize`)"]
3473				#[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."]
3474				pub fn set(
3475					&self,
3476					now: types::set::Now,
3477				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Set> {
3478					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
3479						"Timestamp",
3480						"set",
3481						types::Set { now },
3482						[
3483							37u8, 95u8, 49u8, 218u8, 24u8, 22u8, 0u8, 95u8, 72u8, 35u8, 155u8,
3484							199u8, 213u8, 54u8, 207u8, 22u8, 185u8, 193u8, 221u8, 70u8, 18u8,
3485							200u8, 4u8, 231u8, 195u8, 173u8, 6u8, 122u8, 11u8, 203u8, 231u8, 227u8,
3486						],
3487					)
3488				}
3489			}
3490		}
3491		pub mod storage {
3492			use super::runtime_types;
3493			pub mod types {
3494				use super::runtime_types;
3495				pub mod now {
3496					use super::runtime_types;
3497					pub type Now = ::core::primitive::u64;
3498				}
3499				pub mod did_update {
3500					use super::runtime_types;
3501					pub type DidUpdate = ::core::primitive::bool;
3502				}
3503			}
3504			pub struct StorageApi;
3505			impl StorageApi {
3506				#[doc = " The current time for the current block."]
3507				pub fn now(
3508					&self,
3509				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3510					(),
3511					types::now::Now,
3512					::subxt::ext::subxt_core::utils::Yes,
3513					::subxt::ext::subxt_core::utils::Yes,
3514					(),
3515				> {
3516					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3517						"Timestamp",
3518						"Now",
3519						(),
3520						[
3521							44u8, 50u8, 80u8, 30u8, 195u8, 146u8, 123u8, 238u8, 8u8, 163u8, 187u8,
3522							92u8, 61u8, 39u8, 51u8, 29u8, 173u8, 169u8, 217u8, 158u8, 85u8, 187u8,
3523							141u8, 26u8, 12u8, 115u8, 51u8, 11u8, 200u8, 244u8, 138u8, 152u8,
3524						],
3525					)
3526				}
3527				#[doc = " Whether the timestamp has been updated in this block."]
3528				#[doc = ""]
3529				#[doc = " This value is updated to `true` upon successful submission of a timestamp by a node."]
3530				#[doc = " It is then checked at the end of each block execution in the `on_finalize` hook."]
3531				pub fn did_update(
3532					&self,
3533				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
3534					(),
3535					types::did_update::DidUpdate,
3536					::subxt::ext::subxt_core::utils::Yes,
3537					::subxt::ext::subxt_core::utils::Yes,
3538					(),
3539				> {
3540					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
3541						"Timestamp",
3542						"DidUpdate",
3543						(),
3544						[
3545							229u8, 175u8, 246u8, 102u8, 237u8, 158u8, 212u8, 229u8, 238u8, 214u8,
3546							205u8, 160u8, 164u8, 252u8, 195u8, 75u8, 139u8, 110u8, 22u8, 34u8,
3547							248u8, 204u8, 107u8, 46u8, 20u8, 200u8, 238u8, 167u8, 71u8, 41u8,
3548							214u8, 140u8,
3549						],
3550					)
3551				}
3552			}
3553		}
3554		pub mod constants {
3555			use super::runtime_types;
3556			pub struct ConstantsApi;
3557			impl ConstantsApi {
3558				#[doc = " The minimum period between blocks."]
3559				#[doc = ""]
3560				#[doc = " Be aware that this is different to the *expected* period that the block production"]
3561				#[doc = " apparatus provides. Your chosen consensus system will generally work with this to"]
3562				#[doc = " determine a sensible block time. For example, in the Aura pallet it will be double this"]
3563				#[doc = " period on default settings."]
3564				pub fn minimum_period(
3565					&self,
3566				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
3567					::core::primitive::u64,
3568				> {
3569					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
3570						"Timestamp",
3571						"MinimumPeriod",
3572						[
3573							128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8,
3574							59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8,
3575							103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8,
3576							246u8,
3577						],
3578					)
3579				}
3580			}
3581		}
3582	}
3583	pub mod balances {
3584		use super::{root_mod, runtime_types};
3585		#[doc = "The `Error` enum of this pallet."]
3586		pub type Error = runtime_types::pallet_balances::pallet::Error;
3587		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
3588		pub type Call = runtime_types::pallet_balances::pallet::Call;
3589		pub mod calls {
3590			use super::{root_mod, runtime_types};
3591			type DispatchError = runtime_types::sp_runtime::DispatchError;
3592			pub mod types {
3593				use super::runtime_types;
3594				#[derive(
3595					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3596					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3597					Debug,
3598				)]
3599				#[decode_as_type(
3600					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3601				)]
3602				#[encode_as_type(
3603					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3604				)]
3605				#[doc = "Transfer some liquid free balance to another account."]
3606				#[doc = ""]
3607				#[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."]
3608				#[doc = "If the sender's account is below the existential deposit as a result"]
3609				#[doc = "of the transfer, the account will be reaped."]
3610				#[doc = ""]
3611				#[doc = "The dispatch origin for this call must be `Signed` by the transactor."]
3612				pub struct TransferAllowDeath {
3613					pub dest: transfer_allow_death::Dest,
3614					#[codec(compact)]
3615					pub value: transfer_allow_death::Value,
3616				}
3617				pub mod transfer_allow_death {
3618					use super::runtime_types;
3619					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
3620						::subxt::ext::subxt_core::utils::AccountId32,
3621						(),
3622					>;
3623					pub type Value = ::core::primitive::u128;
3624				}
3625				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferAllowDeath {
3626					const PALLET: &'static str = "Balances";
3627					const CALL: &'static str = "transfer_allow_death";
3628				}
3629				#[derive(
3630					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3631					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3632					Debug,
3633				)]
3634				#[decode_as_type(
3635					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3636				)]
3637				#[encode_as_type(
3638					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3639				)]
3640				#[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"]
3641				#[doc = "may be specified."]
3642				pub struct ForceTransfer {
3643					pub source: force_transfer::Source,
3644					pub dest: force_transfer::Dest,
3645					#[codec(compact)]
3646					pub value: force_transfer::Value,
3647				}
3648				pub mod force_transfer {
3649					use super::runtime_types;
3650					pub type Source = ::subxt::ext::subxt_core::utils::MultiAddress<
3651						::subxt::ext::subxt_core::utils::AccountId32,
3652						(),
3653					>;
3654					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
3655						::subxt::ext::subxt_core::utils::AccountId32,
3656						(),
3657					>;
3658					pub type Value = ::core::primitive::u128;
3659				}
3660				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceTransfer {
3661					const PALLET: &'static str = "Balances";
3662					const CALL: &'static str = "force_transfer";
3663				}
3664				#[derive(
3665					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3666					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3667					Debug,
3668				)]
3669				#[decode_as_type(
3670					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3671				)]
3672				#[encode_as_type(
3673					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3674				)]
3675				#[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"]
3676				#[doc = "kill the origin account."]
3677				#[doc = ""]
3678				#[doc = "99% of the time you want [`transfer_allow_death`] instead."]
3679				#[doc = ""]
3680				#[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"]
3681				pub struct TransferKeepAlive {
3682					pub dest: transfer_keep_alive::Dest,
3683					#[codec(compact)]
3684					pub value: transfer_keep_alive::Value,
3685				}
3686				pub mod transfer_keep_alive {
3687					use super::runtime_types;
3688					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
3689						::subxt::ext::subxt_core::utils::AccountId32,
3690						(),
3691					>;
3692					pub type Value = ::core::primitive::u128;
3693				}
3694				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferKeepAlive {
3695					const PALLET: &'static str = "Balances";
3696					const CALL: &'static str = "transfer_keep_alive";
3697				}
3698				#[derive(
3699					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3700					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3701					Debug,
3702				)]
3703				#[decode_as_type(
3704					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3705				)]
3706				#[encode_as_type(
3707					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3708				)]
3709				#[doc = "Transfer the entire transferable balance from the caller account."]
3710				#[doc = ""]
3711				#[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"]
3712				#[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"]
3713				#[doc = "transferred by this function. To ensure that this function results in a killed account,"]
3714				#[doc = "you might need to prepare the account by removing any reference counters, storage"]
3715				#[doc = "deposits, etc..."]
3716				#[doc = ""]
3717				#[doc = "The dispatch origin of this call must be Signed."]
3718				#[doc = ""]
3719				#[doc = "- `dest`: The recipient of the transfer."]
3720				#[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"]
3721				#[doc = "  of the funds the account has, causing the sender account to be killed (false), or"]
3722				#[doc = "  transfer everything except at least the existential deposit, which will guarantee to"]
3723				#[doc = "  keep the sender account alive (true)."]
3724				pub struct TransferAll {
3725					pub dest: transfer_all::Dest,
3726					pub keep_alive: transfer_all::KeepAlive,
3727				}
3728				pub mod transfer_all {
3729					use super::runtime_types;
3730					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
3731						::subxt::ext::subxt_core::utils::AccountId32,
3732						(),
3733					>;
3734					pub type KeepAlive = ::core::primitive::bool;
3735				}
3736				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferAll {
3737					const PALLET: &'static str = "Balances";
3738					const CALL: &'static str = "transfer_all";
3739				}
3740				#[derive(
3741					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3742					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3743					Debug,
3744				)]
3745				#[decode_as_type(
3746					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3747				)]
3748				#[encode_as_type(
3749					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3750				)]
3751				#[doc = "Unreserve some balance from a user by force."]
3752				#[doc = ""]
3753				#[doc = "Can only be called by ROOT."]
3754				pub struct ForceUnreserve {
3755					pub who: force_unreserve::Who,
3756					pub amount: force_unreserve::Amount,
3757				}
3758				pub mod force_unreserve {
3759					use super::runtime_types;
3760					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
3761						::subxt::ext::subxt_core::utils::AccountId32,
3762						(),
3763					>;
3764					pub type Amount = ::core::primitive::u128;
3765				}
3766				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceUnreserve {
3767					const PALLET: &'static str = "Balances";
3768					const CALL: &'static str = "force_unreserve";
3769				}
3770				#[derive(
3771					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3772					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3773					Debug,
3774				)]
3775				#[decode_as_type(
3776					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3777				)]
3778				#[encode_as_type(
3779					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3780				)]
3781				#[doc = "Upgrade a specified account."]
3782				#[doc = ""]
3783				#[doc = "- `origin`: Must be `Signed`."]
3784				#[doc = "- `who`: The account to be upgraded."]
3785				#[doc = ""]
3786				#[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"]
3787				#[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"]
3788				#[doc = "possibility of churn)."]
3789				pub struct UpgradeAccounts {
3790					pub who: upgrade_accounts::Who,
3791				}
3792				pub mod upgrade_accounts {
3793					use super::runtime_types;
3794					pub type Who = ::subxt::ext::subxt_core::alloc::vec::Vec<
3795						::subxt::ext::subxt_core::utils::AccountId32,
3796					>;
3797				}
3798				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for UpgradeAccounts {
3799					const PALLET: &'static str = "Balances";
3800					const CALL: &'static str = "upgrade_accounts";
3801				}
3802				#[derive(
3803					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3804					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3805					Debug,
3806				)]
3807				#[decode_as_type(
3808					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3809				)]
3810				#[encode_as_type(
3811					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3812				)]
3813				#[doc = "Set the regular balance of a given account."]
3814				#[doc = ""]
3815				#[doc = "The dispatch origin for this call is `root`."]
3816				pub struct ForceSetBalance {
3817					pub who: force_set_balance::Who,
3818					#[codec(compact)]
3819					pub new_free: force_set_balance::NewFree,
3820				}
3821				pub mod force_set_balance {
3822					use super::runtime_types;
3823					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
3824						::subxt::ext::subxt_core::utils::AccountId32,
3825						(),
3826					>;
3827					pub type NewFree = ::core::primitive::u128;
3828				}
3829				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceSetBalance {
3830					const PALLET: &'static str = "Balances";
3831					const CALL: &'static str = "force_set_balance";
3832				}
3833				#[derive(
3834					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3835					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3836					Debug,
3837				)]
3838				#[decode_as_type(
3839					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3840				)]
3841				#[encode_as_type(
3842					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3843				)]
3844				#[doc = "Adjust the total issuance in a saturating way."]
3845				#[doc = ""]
3846				#[doc = "Can only be called by root and always needs a positive `delta`."]
3847				#[doc = ""]
3848				#[doc = "# Example"]
3849				pub struct ForceAdjustTotalIssuance {
3850					pub direction: force_adjust_total_issuance::Direction,
3851					#[codec(compact)]
3852					pub delta: force_adjust_total_issuance::Delta,
3853				}
3854				pub mod force_adjust_total_issuance {
3855					use super::runtime_types;
3856					pub type Direction = runtime_types::pallet_balances::types::AdjustmentDirection;
3857					pub type Delta = ::core::primitive::u128;
3858				}
3859				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceAdjustTotalIssuance {
3860					const PALLET: &'static str = "Balances";
3861					const CALL: &'static str = "force_adjust_total_issuance";
3862				}
3863				#[derive(
3864					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
3865					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
3866					Debug,
3867				)]
3868				#[decode_as_type(
3869					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
3870				)]
3871				#[encode_as_type(
3872					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
3873				)]
3874				#[doc = "Burn the specified liquid free balance from the origin account."]
3875				#[doc = ""]
3876				#[doc = "If the origin's account ends up below the existential deposit as a result"]
3877				#[doc = "of the burn and `keep_alive` is false, the account will be reaped."]
3878				#[doc = ""]
3879				#[doc = "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,"]
3880				#[doc = "this `burn` operation will reduce total issuance by the amount _burned_."]
3881				pub struct Burn {
3882					#[codec(compact)]
3883					pub value: burn::Value,
3884					pub keep_alive: burn::KeepAlive,
3885				}
3886				pub mod burn {
3887					use super::runtime_types;
3888					pub type Value = ::core::primitive::u128;
3889					pub type KeepAlive = ::core::primitive::bool;
3890				}
3891				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Burn {
3892					const PALLET: &'static str = "Balances";
3893					const CALL: &'static str = "burn";
3894				}
3895			}
3896			pub struct TransactionApi;
3897			impl TransactionApi {
3898				#[doc = "Transfer some liquid free balance to another account."]
3899				#[doc = ""]
3900				#[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."]
3901				#[doc = "If the sender's account is below the existential deposit as a result"]
3902				#[doc = "of the transfer, the account will be reaped."]
3903				#[doc = ""]
3904				#[doc = "The dispatch origin for this call must be `Signed` by the transactor."]
3905				pub fn transfer_allow_death(
3906					&self,
3907					dest: types::transfer_allow_death::Dest,
3908					value: types::transfer_allow_death::Value,
3909				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferAllowDeath>
3910				{
3911					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
3912						"Balances",
3913						"transfer_allow_death",
3914						types::TransferAllowDeath { dest, value },
3915						[
3916							51u8, 166u8, 195u8, 10u8, 139u8, 218u8, 55u8, 130u8, 6u8, 194u8, 35u8,
3917							140u8, 27u8, 205u8, 214u8, 222u8, 102u8, 43u8, 143u8, 145u8, 86u8,
3918							219u8, 210u8, 147u8, 13u8, 39u8, 51u8, 21u8, 237u8, 179u8, 132u8,
3919							130u8,
3920						],
3921					)
3922				}
3923				#[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"]
3924				#[doc = "may be specified."]
3925				pub fn force_transfer(
3926					&self,
3927					source: types::force_transfer::Source,
3928					dest: types::force_transfer::Dest,
3929					value: types::force_transfer::Value,
3930				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceTransfer>
3931				{
3932					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
3933						"Balances",
3934						"force_transfer",
3935						types::ForceTransfer { source, dest, value },
3936						[
3937							154u8, 93u8, 222u8, 27u8, 12u8, 248u8, 63u8, 213u8, 224u8, 86u8, 250u8,
3938							153u8, 249u8, 102u8, 83u8, 160u8, 79u8, 125u8, 105u8, 222u8, 77u8,
3939							180u8, 90u8, 105u8, 81u8, 217u8, 60u8, 25u8, 213u8, 51u8, 185u8, 96u8,
3940						],
3941					)
3942				}
3943				#[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"]
3944				#[doc = "kill the origin account."]
3945				#[doc = ""]
3946				#[doc = "99% of the time you want [`transfer_allow_death`] instead."]
3947				#[doc = ""]
3948				#[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"]
3949				pub fn transfer_keep_alive(
3950					&self,
3951					dest: types::transfer_keep_alive::Dest,
3952					value: types::transfer_keep_alive::Value,
3953				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferKeepAlive>
3954				{
3955					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
3956						"Balances",
3957						"transfer_keep_alive",
3958						types::TransferKeepAlive { dest, value },
3959						[
3960							245u8, 14u8, 190u8, 193u8, 32u8, 210u8, 74u8, 92u8, 25u8, 182u8, 76u8,
3961							55u8, 247u8, 83u8, 114u8, 75u8, 143u8, 236u8, 117u8, 25u8, 54u8, 157u8,
3962							208u8, 207u8, 233u8, 89u8, 70u8, 161u8, 235u8, 242u8, 222u8, 59u8,
3963						],
3964					)
3965				}
3966				#[doc = "Transfer the entire transferable balance from the caller account."]
3967				#[doc = ""]
3968				#[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"]
3969				#[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"]
3970				#[doc = "transferred by this function. To ensure that this function results in a killed account,"]
3971				#[doc = "you might need to prepare the account by removing any reference counters, storage"]
3972				#[doc = "deposits, etc..."]
3973				#[doc = ""]
3974				#[doc = "The dispatch origin of this call must be Signed."]
3975				#[doc = ""]
3976				#[doc = "- `dest`: The recipient of the transfer."]
3977				#[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"]
3978				#[doc = "  of the funds the account has, causing the sender account to be killed (false), or"]
3979				#[doc = "  transfer everything except at least the existential deposit, which will guarantee to"]
3980				#[doc = "  keep the sender account alive (true)."]
3981				pub fn transfer_all(
3982					&self,
3983					dest: types::transfer_all::Dest,
3984					keep_alive: types::transfer_all::KeepAlive,
3985				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferAll> {
3986					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
3987						"Balances",
3988						"transfer_all",
3989						types::TransferAll { dest, keep_alive },
3990						[
3991							105u8, 132u8, 49u8, 144u8, 195u8, 250u8, 34u8, 46u8, 213u8, 248u8,
3992							112u8, 188u8, 81u8, 228u8, 136u8, 18u8, 67u8, 172u8, 37u8, 38u8, 238u8,
3993							9u8, 34u8, 15u8, 67u8, 34u8, 148u8, 195u8, 223u8, 29u8, 154u8, 6u8,
3994						],
3995					)
3996				}
3997				#[doc = "Unreserve some balance from a user by force."]
3998				#[doc = ""]
3999				#[doc = "Can only be called by ROOT."]
4000				pub fn force_unreserve(
4001					&self,
4002					who: types::force_unreserve::Who,
4003					amount: types::force_unreserve::Amount,
4004				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceUnreserve>
4005				{
4006					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4007						"Balances",
4008						"force_unreserve",
4009						types::ForceUnreserve { who, amount },
4010						[
4011							142u8, 151u8, 64u8, 205u8, 46u8, 64u8, 62u8, 122u8, 108u8, 49u8, 223u8,
4012							140u8, 120u8, 153u8, 35u8, 165u8, 187u8, 38u8, 157u8, 200u8, 123u8,
4013							199u8, 198u8, 168u8, 208u8, 159u8, 39u8, 134u8, 92u8, 103u8, 84u8,
4014							171u8,
4015						],
4016					)
4017				}
4018				#[doc = "Upgrade a specified account."]
4019				#[doc = ""]
4020				#[doc = "- `origin`: Must be `Signed`."]
4021				#[doc = "- `who`: The account to be upgraded."]
4022				#[doc = ""]
4023				#[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"]
4024				#[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"]
4025				#[doc = "possibility of churn)."]
4026				pub fn upgrade_accounts(
4027					&self,
4028					who: types::upgrade_accounts::Who,
4029				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::UpgradeAccounts>
4030				{
4031					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4032						"Balances",
4033						"upgrade_accounts",
4034						types::UpgradeAccounts { who },
4035						[
4036							66u8, 200u8, 179u8, 104u8, 65u8, 2u8, 101u8, 56u8, 130u8, 161u8, 224u8,
4037							233u8, 255u8, 124u8, 70u8, 122u8, 8u8, 49u8, 103u8, 178u8, 68u8, 47u8,
4038							214u8, 166u8, 217u8, 116u8, 178u8, 50u8, 212u8, 164u8, 98u8, 226u8,
4039						],
4040					)
4041				}
4042				#[doc = "Set the regular balance of a given account."]
4043				#[doc = ""]
4044				#[doc = "The dispatch origin for this call is `root`."]
4045				pub fn force_set_balance(
4046					&self,
4047					who: types::force_set_balance::Who,
4048					new_free: types::force_set_balance::NewFree,
4049				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceSetBalance>
4050				{
4051					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4052						"Balances",
4053						"force_set_balance",
4054						types::ForceSetBalance { who, new_free },
4055						[
4056							114u8, 229u8, 59u8, 204u8, 180u8, 83u8, 17u8, 4u8, 59u8, 4u8, 55u8,
4057							39u8, 151u8, 196u8, 124u8, 60u8, 209u8, 65u8, 193u8, 11u8, 44u8, 164u8,
4058							116u8, 93u8, 169u8, 30u8, 199u8, 165u8, 55u8, 231u8, 223u8, 43u8,
4059						],
4060					)
4061				}
4062				#[doc = "Adjust the total issuance in a saturating way."]
4063				#[doc = ""]
4064				#[doc = "Can only be called by root and always needs a positive `delta`."]
4065				#[doc = ""]
4066				#[doc = "# Example"]
4067				pub fn force_adjust_total_issuance(
4068					&self,
4069					direction: types::force_adjust_total_issuance::Direction,
4070					delta: types::force_adjust_total_issuance::Delta,
4071				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
4072					types::ForceAdjustTotalIssuance,
4073				> {
4074					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4075						"Balances",
4076						"force_adjust_total_issuance",
4077						types::ForceAdjustTotalIssuance { direction, delta },
4078						[
4079							208u8, 134u8, 56u8, 133u8, 232u8, 164u8, 10u8, 213u8, 53u8, 193u8,
4080							190u8, 63u8, 236u8, 186u8, 96u8, 122u8, 104u8, 87u8, 173u8, 38u8, 58u8,
4081							176u8, 21u8, 78u8, 42u8, 106u8, 46u8, 248u8, 251u8, 190u8, 150u8,
4082							202u8,
4083						],
4084					)
4085				}
4086				#[doc = "Burn the specified liquid free balance from the origin account."]
4087				#[doc = ""]
4088				#[doc = "If the origin's account ends up below the existential deposit as a result"]
4089				#[doc = "of the burn and `keep_alive` is false, the account will be reaped."]
4090				#[doc = ""]
4091				#[doc = "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,"]
4092				#[doc = "this `burn` operation will reduce total issuance by the amount _burned_."]
4093				pub fn burn(
4094					&self,
4095					value: types::burn::Value,
4096					keep_alive: types::burn::KeepAlive,
4097				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Burn> {
4098					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
4099						"Balances",
4100						"burn",
4101						types::Burn { value, keep_alive },
4102						[
4103							176u8, 64u8, 7u8, 109u8, 16u8, 44u8, 145u8, 125u8, 147u8, 152u8, 130u8,
4104							114u8, 221u8, 201u8, 150u8, 162u8, 118u8, 71u8, 52u8, 92u8, 240u8,
4105							116u8, 203u8, 98u8, 5u8, 22u8, 43u8, 102u8, 94u8, 208u8, 101u8, 57u8,
4106						],
4107					)
4108				}
4109			}
4110		}
4111		#[doc = "The `Event` enum of this pallet"]
4112		pub type Event = runtime_types::pallet_balances::pallet::Event;
4113		pub mod events {
4114			use super::runtime_types;
4115			#[derive(
4116				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4117				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4118				Debug,
4119			)]
4120			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4121			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4122			#[doc = "An account was created with some free balance."]
4123			pub struct Endowed {
4124				pub account: endowed::Account,
4125				pub free_balance: endowed::FreeBalance,
4126			}
4127			pub mod endowed {
4128				use super::runtime_types;
4129				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
4130				pub type FreeBalance = ::core::primitive::u128;
4131			}
4132			impl ::subxt::ext::subxt_core::events::StaticEvent for Endowed {
4133				const PALLET: &'static str = "Balances";
4134				const EVENT: &'static str = "Endowed";
4135			}
4136			#[derive(
4137				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4138				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4139				Debug,
4140			)]
4141			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4142			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4143			#[doc = "An account was removed whose balance was non-zero but below ExistentialDeposit,"]
4144			#[doc = "resulting in an outright loss."]
4145			pub struct DustLost {
4146				pub account: dust_lost::Account,
4147				pub amount: dust_lost::Amount,
4148			}
4149			pub mod dust_lost {
4150				use super::runtime_types;
4151				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
4152				pub type Amount = ::core::primitive::u128;
4153			}
4154			impl ::subxt::ext::subxt_core::events::StaticEvent for DustLost {
4155				const PALLET: &'static str = "Balances";
4156				const EVENT: &'static str = "DustLost";
4157			}
4158			#[derive(
4159				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4160				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4161				Debug,
4162			)]
4163			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4164			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4165			#[doc = "Transfer succeeded."]
4166			pub struct Transfer {
4167				pub from: transfer::From,
4168				pub to: transfer::To,
4169				pub amount: transfer::Amount,
4170			}
4171			pub mod transfer {
4172				use super::runtime_types;
4173				pub type From = ::subxt::ext::subxt_core::utils::AccountId32;
4174				pub type To = ::subxt::ext::subxt_core::utils::AccountId32;
4175				pub type Amount = ::core::primitive::u128;
4176			}
4177			impl ::subxt::ext::subxt_core::events::StaticEvent for Transfer {
4178				const PALLET: &'static str = "Balances";
4179				const EVENT: &'static str = "Transfer";
4180			}
4181			#[derive(
4182				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4183				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4184				Debug,
4185			)]
4186			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4187			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4188			#[doc = "A balance was set by root."]
4189			pub struct BalanceSet {
4190				pub who: balance_set::Who,
4191				pub free: balance_set::Free,
4192			}
4193			pub mod balance_set {
4194				use super::runtime_types;
4195				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4196				pub type Free = ::core::primitive::u128;
4197			}
4198			impl ::subxt::ext::subxt_core::events::StaticEvent for BalanceSet {
4199				const PALLET: &'static str = "Balances";
4200				const EVENT: &'static str = "BalanceSet";
4201			}
4202			#[derive(
4203				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4204				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4205				Debug,
4206			)]
4207			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4208			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4209			#[doc = "Some balance was reserved (moved from free to reserved)."]
4210			pub struct Reserved {
4211				pub who: reserved::Who,
4212				pub amount: reserved::Amount,
4213			}
4214			pub mod reserved {
4215				use super::runtime_types;
4216				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4217				pub type Amount = ::core::primitive::u128;
4218			}
4219			impl ::subxt::ext::subxt_core::events::StaticEvent for Reserved {
4220				const PALLET: &'static str = "Balances";
4221				const EVENT: &'static str = "Reserved";
4222			}
4223			#[derive(
4224				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4225				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4226				Debug,
4227			)]
4228			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4229			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4230			#[doc = "Some balance was unreserved (moved from reserved to free)."]
4231			pub struct Unreserved {
4232				pub who: unreserved::Who,
4233				pub amount: unreserved::Amount,
4234			}
4235			pub mod unreserved {
4236				use super::runtime_types;
4237				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4238				pub type Amount = ::core::primitive::u128;
4239			}
4240			impl ::subxt::ext::subxt_core::events::StaticEvent for Unreserved {
4241				const PALLET: &'static str = "Balances";
4242				const EVENT: &'static str = "Unreserved";
4243			}
4244			#[derive(
4245				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4246				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4247				Debug,
4248			)]
4249			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4250			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4251			#[doc = "Some balance was moved from the reserve of the first account to the second account."]
4252			#[doc = "Final argument indicates the destination balance type."]
4253			pub struct ReserveRepatriated {
4254				pub from: reserve_repatriated::From,
4255				pub to: reserve_repatriated::To,
4256				pub amount: reserve_repatriated::Amount,
4257				pub destination_status: reserve_repatriated::DestinationStatus,
4258			}
4259			pub mod reserve_repatriated {
4260				use super::runtime_types;
4261				pub type From = ::subxt::ext::subxt_core::utils::AccountId32;
4262				pub type To = ::subxt::ext::subxt_core::utils::AccountId32;
4263				pub type Amount = ::core::primitive::u128;
4264				pub type DestinationStatus =
4265					runtime_types::frame_support::traits::tokens::misc::BalanceStatus;
4266			}
4267			impl ::subxt::ext::subxt_core::events::StaticEvent for ReserveRepatriated {
4268				const PALLET: &'static str = "Balances";
4269				const EVENT: &'static str = "ReserveRepatriated";
4270			}
4271			#[derive(
4272				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4273				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4274				Debug,
4275			)]
4276			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4277			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4278			#[doc = "Some amount was deposited (e.g. for transaction fees)."]
4279			pub struct Deposit {
4280				pub who: deposit::Who,
4281				pub amount: deposit::Amount,
4282			}
4283			pub mod deposit {
4284				use super::runtime_types;
4285				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4286				pub type Amount = ::core::primitive::u128;
4287			}
4288			impl ::subxt::ext::subxt_core::events::StaticEvent for Deposit {
4289				const PALLET: &'static str = "Balances";
4290				const EVENT: &'static str = "Deposit";
4291			}
4292			#[derive(
4293				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4294				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4295				Debug,
4296			)]
4297			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4298			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4299			#[doc = "Some amount was withdrawn from the account (e.g. for transaction fees)."]
4300			pub struct Withdraw {
4301				pub who: withdraw::Who,
4302				pub amount: withdraw::Amount,
4303			}
4304			pub mod withdraw {
4305				use super::runtime_types;
4306				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4307				pub type Amount = ::core::primitive::u128;
4308			}
4309			impl ::subxt::ext::subxt_core::events::StaticEvent for Withdraw {
4310				const PALLET: &'static str = "Balances";
4311				const EVENT: &'static str = "Withdraw";
4312			}
4313			#[derive(
4314				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4315				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4316				Debug,
4317			)]
4318			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4319			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4320			#[doc = "Some amount was removed from the account (e.g. for misbehavior)."]
4321			pub struct Slashed {
4322				pub who: slashed::Who,
4323				pub amount: slashed::Amount,
4324			}
4325			pub mod slashed {
4326				use super::runtime_types;
4327				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4328				pub type Amount = ::core::primitive::u128;
4329			}
4330			impl ::subxt::ext::subxt_core::events::StaticEvent for Slashed {
4331				const PALLET: &'static str = "Balances";
4332				const EVENT: &'static str = "Slashed";
4333			}
4334			#[derive(
4335				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4336				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4337				Debug,
4338			)]
4339			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4340			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4341			#[doc = "Some amount was minted into an account."]
4342			pub struct Minted {
4343				pub who: minted::Who,
4344				pub amount: minted::Amount,
4345			}
4346			pub mod minted {
4347				use super::runtime_types;
4348				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4349				pub type Amount = ::core::primitive::u128;
4350			}
4351			impl ::subxt::ext::subxt_core::events::StaticEvent for Minted {
4352				const PALLET: &'static str = "Balances";
4353				const EVENT: &'static str = "Minted";
4354			}
4355			#[derive(
4356				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4357				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4358				Debug,
4359			)]
4360			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4361			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4362			#[doc = "Some credit was balanced and added to the TotalIssuance."]
4363			pub struct MintedCredit {
4364				pub amount: minted_credit::Amount,
4365			}
4366			pub mod minted_credit {
4367				use super::runtime_types;
4368				pub type Amount = ::core::primitive::u128;
4369			}
4370			impl ::subxt::ext::subxt_core::events::StaticEvent for MintedCredit {
4371				const PALLET: &'static str = "Balances";
4372				const EVENT: &'static str = "MintedCredit";
4373			}
4374			#[derive(
4375				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4376				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4377				Debug,
4378			)]
4379			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4380			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4381			#[doc = "Some amount was burned from an account."]
4382			pub struct Burned {
4383				pub who: burned::Who,
4384				pub amount: burned::Amount,
4385			}
4386			pub mod burned {
4387				use super::runtime_types;
4388				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4389				pub type Amount = ::core::primitive::u128;
4390			}
4391			impl ::subxt::ext::subxt_core::events::StaticEvent for Burned {
4392				const PALLET: &'static str = "Balances";
4393				const EVENT: &'static str = "Burned";
4394			}
4395			#[derive(
4396				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4397				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4398				Debug,
4399			)]
4400			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4401			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4402			#[doc = "Some debt has been dropped from the Total Issuance."]
4403			pub struct BurnedDebt {
4404				pub amount: burned_debt::Amount,
4405			}
4406			pub mod burned_debt {
4407				use super::runtime_types;
4408				pub type Amount = ::core::primitive::u128;
4409			}
4410			impl ::subxt::ext::subxt_core::events::StaticEvent for BurnedDebt {
4411				const PALLET: &'static str = "Balances";
4412				const EVENT: &'static str = "BurnedDebt";
4413			}
4414			#[derive(
4415				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4416				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4417				Debug,
4418			)]
4419			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4420			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4421			#[doc = "Some amount was suspended from an account (it can be restored later)."]
4422			pub struct Suspended {
4423				pub who: suspended::Who,
4424				pub amount: suspended::Amount,
4425			}
4426			pub mod suspended {
4427				use super::runtime_types;
4428				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4429				pub type Amount = ::core::primitive::u128;
4430			}
4431			impl ::subxt::ext::subxt_core::events::StaticEvent for Suspended {
4432				const PALLET: &'static str = "Balances";
4433				const EVENT: &'static str = "Suspended";
4434			}
4435			#[derive(
4436				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4437				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4438				Debug,
4439			)]
4440			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4441			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4442			#[doc = "Some amount was restored into an account."]
4443			pub struct Restored {
4444				pub who: restored::Who,
4445				pub amount: restored::Amount,
4446			}
4447			pub mod restored {
4448				use super::runtime_types;
4449				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4450				pub type Amount = ::core::primitive::u128;
4451			}
4452			impl ::subxt::ext::subxt_core::events::StaticEvent for Restored {
4453				const PALLET: &'static str = "Balances";
4454				const EVENT: &'static str = "Restored";
4455			}
4456			#[derive(
4457				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4458				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4459				Debug,
4460			)]
4461			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4462			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4463			#[doc = "An account was upgraded."]
4464			pub struct Upgraded {
4465				pub who: upgraded::Who,
4466			}
4467			pub mod upgraded {
4468				use super::runtime_types;
4469				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4470			}
4471			impl ::subxt::ext::subxt_core::events::StaticEvent for Upgraded {
4472				const PALLET: &'static str = "Balances";
4473				const EVENT: &'static str = "Upgraded";
4474			}
4475			#[derive(
4476				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4477				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4478				Debug,
4479			)]
4480			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4481			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4482			#[doc = "Total issuance was increased by `amount`, creating a credit to be balanced."]
4483			pub struct Issued {
4484				pub amount: issued::Amount,
4485			}
4486			pub mod issued {
4487				use super::runtime_types;
4488				pub type Amount = ::core::primitive::u128;
4489			}
4490			impl ::subxt::ext::subxt_core::events::StaticEvent for Issued {
4491				const PALLET: &'static str = "Balances";
4492				const EVENT: &'static str = "Issued";
4493			}
4494			#[derive(
4495				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4496				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4497				Debug,
4498			)]
4499			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4500			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4501			#[doc = "Total issuance was decreased by `amount`, creating a debt to be balanced."]
4502			pub struct Rescinded {
4503				pub amount: rescinded::Amount,
4504			}
4505			pub mod rescinded {
4506				use super::runtime_types;
4507				pub type Amount = ::core::primitive::u128;
4508			}
4509			impl ::subxt::ext::subxt_core::events::StaticEvent for Rescinded {
4510				const PALLET: &'static str = "Balances";
4511				const EVENT: &'static str = "Rescinded";
4512			}
4513			#[derive(
4514				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4515				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4516				Debug,
4517			)]
4518			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4519			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4520			#[doc = "Some balance was locked."]
4521			pub struct Locked {
4522				pub who: locked::Who,
4523				pub amount: locked::Amount,
4524			}
4525			pub mod locked {
4526				use super::runtime_types;
4527				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4528				pub type Amount = ::core::primitive::u128;
4529			}
4530			impl ::subxt::ext::subxt_core::events::StaticEvent for Locked {
4531				const PALLET: &'static str = "Balances";
4532				const EVENT: &'static str = "Locked";
4533			}
4534			#[derive(
4535				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4536				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4537				Debug,
4538			)]
4539			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4540			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4541			#[doc = "Some balance was unlocked."]
4542			pub struct Unlocked {
4543				pub who: unlocked::Who,
4544				pub amount: unlocked::Amount,
4545			}
4546			pub mod unlocked {
4547				use super::runtime_types;
4548				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4549				pub type Amount = ::core::primitive::u128;
4550			}
4551			impl ::subxt::ext::subxt_core::events::StaticEvent for Unlocked {
4552				const PALLET: &'static str = "Balances";
4553				const EVENT: &'static str = "Unlocked";
4554			}
4555			#[derive(
4556				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4557				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4558				Debug,
4559			)]
4560			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4561			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4562			#[doc = "Some balance was frozen."]
4563			pub struct Frozen {
4564				pub who: frozen::Who,
4565				pub amount: frozen::Amount,
4566			}
4567			pub mod frozen {
4568				use super::runtime_types;
4569				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4570				pub type Amount = ::core::primitive::u128;
4571			}
4572			impl ::subxt::ext::subxt_core::events::StaticEvent for Frozen {
4573				const PALLET: &'static str = "Balances";
4574				const EVENT: &'static str = "Frozen";
4575			}
4576			#[derive(
4577				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4578				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4579				Debug,
4580			)]
4581			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4582			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4583			#[doc = "Some balance was thawed."]
4584			pub struct Thawed {
4585				pub who: thawed::Who,
4586				pub amount: thawed::Amount,
4587			}
4588			pub mod thawed {
4589				use super::runtime_types;
4590				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4591				pub type Amount = ::core::primitive::u128;
4592			}
4593			impl ::subxt::ext::subxt_core::events::StaticEvent for Thawed {
4594				const PALLET: &'static str = "Balances";
4595				const EVENT: &'static str = "Thawed";
4596			}
4597			#[derive(
4598				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4599				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4600				Debug,
4601			)]
4602			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4603			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4604			#[doc = "The `TotalIssuance` was forcefully changed."]
4605			pub struct TotalIssuanceForced {
4606				pub old: total_issuance_forced::Old,
4607				pub new: total_issuance_forced::New,
4608			}
4609			pub mod total_issuance_forced {
4610				use super::runtime_types;
4611				pub type Old = ::core::primitive::u128;
4612				pub type New = ::core::primitive::u128;
4613			}
4614			impl ::subxt::ext::subxt_core::events::StaticEvent for TotalIssuanceForced {
4615				const PALLET: &'static str = "Balances";
4616				const EVENT: &'static str = "TotalIssuanceForced";
4617			}
4618			#[derive(
4619				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4620				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4621				Debug,
4622			)]
4623			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4624			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4625			#[doc = "Some balance was placed on hold."]
4626			pub struct Held {
4627				pub reason: held::Reason,
4628				pub who: held::Who,
4629				pub amount: held::Amount,
4630			}
4631			pub mod held {
4632				use super::runtime_types;
4633				pub type Reason = runtime_types::quantus_runtime::RuntimeHoldReason;
4634				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4635				pub type Amount = ::core::primitive::u128;
4636			}
4637			impl ::subxt::ext::subxt_core::events::StaticEvent for Held {
4638				const PALLET: &'static str = "Balances";
4639				const EVENT: &'static str = "Held";
4640			}
4641			#[derive(
4642				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4643				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4644				Debug,
4645			)]
4646			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4647			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4648			#[doc = "Held balance was burned from an account."]
4649			pub struct BurnedHeld {
4650				pub reason: burned_held::Reason,
4651				pub who: burned_held::Who,
4652				pub amount: burned_held::Amount,
4653			}
4654			pub mod burned_held {
4655				use super::runtime_types;
4656				pub type Reason = runtime_types::quantus_runtime::RuntimeHoldReason;
4657				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4658				pub type Amount = ::core::primitive::u128;
4659			}
4660			impl ::subxt::ext::subxt_core::events::StaticEvent for BurnedHeld {
4661				const PALLET: &'static str = "Balances";
4662				const EVENT: &'static str = "BurnedHeld";
4663			}
4664			#[derive(
4665				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4666				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4667				Debug,
4668			)]
4669			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4670			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4671			#[doc = "A transfer of `amount` on hold from `source` to `dest` was initiated."]
4672			pub struct TransferOnHold {
4673				pub reason: transfer_on_hold::Reason,
4674				pub source: transfer_on_hold::Source,
4675				pub dest: transfer_on_hold::Dest,
4676				pub amount: transfer_on_hold::Amount,
4677			}
4678			pub mod transfer_on_hold {
4679				use super::runtime_types;
4680				pub type Reason = runtime_types::quantus_runtime::RuntimeHoldReason;
4681				pub type Source = ::subxt::ext::subxt_core::utils::AccountId32;
4682				pub type Dest = ::subxt::ext::subxt_core::utils::AccountId32;
4683				pub type Amount = ::core::primitive::u128;
4684			}
4685			impl ::subxt::ext::subxt_core::events::StaticEvent for TransferOnHold {
4686				const PALLET: &'static str = "Balances";
4687				const EVENT: &'static str = "TransferOnHold";
4688			}
4689			#[derive(
4690				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4691				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4692				Debug,
4693			)]
4694			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4695			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4696			#[doc = "The `transferred` balance is placed on hold at the `dest` account."]
4697			pub struct TransferAndHold {
4698				pub reason: transfer_and_hold::Reason,
4699				pub source: transfer_and_hold::Source,
4700				pub dest: transfer_and_hold::Dest,
4701				pub transferred: transfer_and_hold::Transferred,
4702			}
4703			pub mod transfer_and_hold {
4704				use super::runtime_types;
4705				pub type Reason = runtime_types::quantus_runtime::RuntimeHoldReason;
4706				pub type Source = ::subxt::ext::subxt_core::utils::AccountId32;
4707				pub type Dest = ::subxt::ext::subxt_core::utils::AccountId32;
4708				pub type Transferred = ::core::primitive::u128;
4709			}
4710			impl ::subxt::ext::subxt_core::events::StaticEvent for TransferAndHold {
4711				const PALLET: &'static str = "Balances";
4712				const EVENT: &'static str = "TransferAndHold";
4713			}
4714			#[derive(
4715				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4716				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4717				Debug,
4718			)]
4719			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4720			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4721			#[doc = "Some balance was released from hold."]
4722			pub struct Released {
4723				pub reason: released::Reason,
4724				pub who: released::Who,
4725				pub amount: released::Amount,
4726			}
4727			pub mod released {
4728				use super::runtime_types;
4729				pub type Reason = runtime_types::quantus_runtime::RuntimeHoldReason;
4730				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
4731				pub type Amount = ::core::primitive::u128;
4732			}
4733			impl ::subxt::ext::subxt_core::events::StaticEvent for Released {
4734				const PALLET: &'static str = "Balances";
4735				const EVENT: &'static str = "Released";
4736			}
4737			#[derive(
4738				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
4739				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
4740				Debug,
4741			)]
4742			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
4743			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
4744			#[doc = "An unexpected/defensive event was triggered."]
4745			pub struct Unexpected(pub unexpected::Field0);
4746			pub mod unexpected {
4747				use super::runtime_types;
4748				pub type Field0 = runtime_types::pallet_balances::pallet::UnexpectedKind;
4749			}
4750			impl ::subxt::ext::subxt_core::events::StaticEvent for Unexpected {
4751				const PALLET: &'static str = "Balances";
4752				const EVENT: &'static str = "Unexpected";
4753			}
4754		}
4755		pub mod storage {
4756			use super::runtime_types;
4757			pub mod types {
4758				use super::runtime_types;
4759				pub mod total_issuance {
4760					use super::runtime_types;
4761					pub type TotalIssuance = ::core::primitive::u128;
4762				}
4763				pub mod inactive_issuance {
4764					use super::runtime_types;
4765					pub type InactiveIssuance = ::core::primitive::u128;
4766				}
4767				pub mod account {
4768					use super::runtime_types;
4769					pub type Account =
4770						runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>;
4771					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
4772				}
4773				pub mod locks {
4774					use super::runtime_types;
4775					pub type Locks =
4776						runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<
4777							runtime_types::pallet_balances::types::BalanceLock<
4778								::core::primitive::u128,
4779							>,
4780						>;
4781					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
4782				}
4783				pub mod reserves {
4784					use super::runtime_types;
4785					pub type Reserves = runtime_types::bounded_collections::bounded_vec::BoundedVec<
4786						runtime_types::pallet_balances::types::ReserveData<
4787							[::core::primitive::u8; 8usize],
4788							::core::primitive::u128,
4789						>,
4790					>;
4791					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
4792				}
4793				pub mod holds {
4794					use super::runtime_types;
4795					pub type Holds = runtime_types::bounded_collections::bounded_vec::BoundedVec<
4796						runtime_types::frame_support::traits::tokens::misc::IdAmount<
4797							runtime_types::quantus_runtime::RuntimeHoldReason,
4798							::core::primitive::u128,
4799						>,
4800					>;
4801					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
4802				}
4803				pub mod freezes {
4804					use super::runtime_types;
4805					pub type Freezes = runtime_types::bounded_collections::bounded_vec::BoundedVec<
4806						runtime_types::frame_support::traits::tokens::misc::IdAmount<
4807							runtime_types::quantus_runtime::RuntimeFreezeReason,
4808							::core::primitive::u128,
4809						>,
4810					>;
4811					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
4812				}
4813			}
4814			pub struct StorageApi;
4815			impl StorageApi {
4816				#[doc = " The total units issued in the system."]
4817				pub fn total_issuance(
4818					&self,
4819				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4820					(),
4821					types::total_issuance::TotalIssuance,
4822					::subxt::ext::subxt_core::utils::Yes,
4823					::subxt::ext::subxt_core::utils::Yes,
4824					(),
4825				> {
4826					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4827						"Balances",
4828						"TotalIssuance",
4829						(),
4830						[
4831							116u8, 70u8, 119u8, 194u8, 69u8, 37u8, 116u8, 206u8, 171u8, 70u8,
4832							171u8, 210u8, 226u8, 111u8, 184u8, 204u8, 206u8, 11u8, 68u8, 72u8,
4833							255u8, 19u8, 194u8, 11u8, 27u8, 194u8, 81u8, 204u8, 59u8, 224u8, 202u8,
4834							185u8,
4835						],
4836					)
4837				}
4838				#[doc = " The total units of outstanding deactivated balance in the system."]
4839				pub fn inactive_issuance(
4840					&self,
4841				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4842					(),
4843					types::inactive_issuance::InactiveIssuance,
4844					::subxt::ext::subxt_core::utils::Yes,
4845					::subxt::ext::subxt_core::utils::Yes,
4846					(),
4847				> {
4848					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4849						"Balances",
4850						"InactiveIssuance",
4851						(),
4852						[
4853							212u8, 185u8, 19u8, 50u8, 250u8, 72u8, 173u8, 50u8, 4u8, 104u8, 161u8,
4854							249u8, 77u8, 247u8, 204u8, 248u8, 11u8, 18u8, 57u8, 4u8, 82u8, 110u8,
4855							30u8, 216u8, 16u8, 37u8, 87u8, 67u8, 189u8, 235u8, 214u8, 155u8,
4856						],
4857					)
4858				}
4859				#[doc = " The Balances pallet example of storing the balance of an account."]
4860				#[doc = ""]
4861				#[doc = " # Example"]
4862				#[doc = ""]
4863				#[doc = " ```nocompile"]
4864				#[doc = "  impl pallet_balances::Config for Runtime {"]
4865				#[doc = "    type AccountStore = StorageMapShim<Self::Account<Runtime>, frame_system::Provider<Runtime>, AccountId, Self::AccountData<Balance>>"]
4866				#[doc = "  }"]
4867				#[doc = " ```"]
4868				#[doc = ""]
4869				#[doc = " You can also store the balance of an account in the `System` pallet."]
4870				#[doc = ""]
4871				#[doc = " # Example"]
4872				#[doc = ""]
4873				#[doc = " ```nocompile"]
4874				#[doc = "  impl pallet_balances::Config for Runtime {"]
4875				#[doc = "   type AccountStore = System"]
4876				#[doc = "  }"]
4877				#[doc = " ```"]
4878				#[doc = ""]
4879				#[doc = " But this comes with tradeoffs, storing account balances in the system pallet stores"]
4880				#[doc = " `frame_system` data alongside the account data contrary to storing account balances in the"]
4881				#[doc = " `Balances` pallet, which uses a `StorageMap` to store balances data only."]
4882				#[doc = " NOTE: This is only used in the case that this pallet is used to store balances."]
4883				pub fn account_iter(
4884					&self,
4885				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4886					(),
4887					types::account::Account,
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						"Account",
4895						(),
4896						[
4897							213u8, 38u8, 200u8, 69u8, 218u8, 0u8, 112u8, 181u8, 160u8, 23u8, 96u8,
4898							90u8, 3u8, 88u8, 126u8, 22u8, 103u8, 74u8, 64u8, 69u8, 29u8, 247u8,
4899							18u8, 17u8, 234u8, 143u8, 189u8, 22u8, 247u8, 194u8, 154u8, 249u8,
4900						],
4901					)
4902				}
4903				#[doc = " The Balances pallet example of storing the balance of an account."]
4904				#[doc = ""]
4905				#[doc = " # Example"]
4906				#[doc = ""]
4907				#[doc = " ```nocompile"]
4908				#[doc = "  impl pallet_balances::Config for Runtime {"]
4909				#[doc = "    type AccountStore = StorageMapShim<Self::Account<Runtime>, frame_system::Provider<Runtime>, AccountId, Self::AccountData<Balance>>"]
4910				#[doc = "  }"]
4911				#[doc = " ```"]
4912				#[doc = ""]
4913				#[doc = " You can also store the balance of an account in the `System` pallet."]
4914				#[doc = ""]
4915				#[doc = " # Example"]
4916				#[doc = ""]
4917				#[doc = " ```nocompile"]
4918				#[doc = "  impl pallet_balances::Config for Runtime {"]
4919				#[doc = "   type AccountStore = System"]
4920				#[doc = "  }"]
4921				#[doc = " ```"]
4922				#[doc = ""]
4923				#[doc = " But this comes with tradeoffs, storing account balances in the system pallet stores"]
4924				#[doc = " `frame_system` data alongside the account data contrary to storing account balances in the"]
4925				#[doc = " `Balances` pallet, which uses a `StorageMap` to store balances data only."]
4926				#[doc = " NOTE: This is only used in the case that this pallet is used to store balances."]
4927				pub fn account(
4928					&self,
4929					_0: types::account::Param0,
4930				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4931					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
4932						types::account::Param0,
4933					>,
4934					types::account::Account,
4935					::subxt::ext::subxt_core::utils::Yes,
4936					::subxt::ext::subxt_core::utils::Yes,
4937					(),
4938				> {
4939					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4940						"Balances",
4941						"Account",
4942						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
4943						[
4944							213u8, 38u8, 200u8, 69u8, 218u8, 0u8, 112u8, 181u8, 160u8, 23u8, 96u8,
4945							90u8, 3u8, 88u8, 126u8, 22u8, 103u8, 74u8, 64u8, 69u8, 29u8, 247u8,
4946							18u8, 17u8, 234u8, 143u8, 189u8, 22u8, 247u8, 194u8, 154u8, 249u8,
4947						],
4948					)
4949				}
4950				#[doc = " Any liquidity locks on some account balances."]
4951				#[doc = " NOTE: Should only be accessed when setting, changing and freeing a lock."]
4952				#[doc = ""]
4953				#[doc = " Use of locks is deprecated in favour of freezes. See `https://github.com/paritytech/substrate/pull/12951/`"]
4954				pub fn locks_iter(
4955					&self,
4956				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4957					(),
4958					types::locks::Locks,
4959					(),
4960					::subxt::ext::subxt_core::utils::Yes,
4961					::subxt::ext::subxt_core::utils::Yes,
4962				> {
4963					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4964						"Balances",
4965						"Locks",
4966						(),
4967						[
4968							10u8, 223u8, 55u8, 0u8, 249u8, 69u8, 168u8, 41u8, 75u8, 35u8, 120u8,
4969							167u8, 18u8, 132u8, 9u8, 20u8, 91u8, 51u8, 27u8, 69u8, 136u8, 187u8,
4970							13u8, 220u8, 163u8, 122u8, 26u8, 141u8, 174u8, 249u8, 85u8, 37u8,
4971						],
4972					)
4973				}
4974				#[doc = " Any liquidity locks on some account balances."]
4975				#[doc = " NOTE: Should only be accessed when setting, changing and freeing a lock."]
4976				#[doc = ""]
4977				#[doc = " Use of locks is deprecated in favour of freezes. See `https://github.com/paritytech/substrate/pull/12951/`"]
4978				pub fn locks(
4979					&self,
4980					_0: types::locks::Param0,
4981				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
4982					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
4983						types::locks::Param0,
4984					>,
4985					types::locks::Locks,
4986					::subxt::ext::subxt_core::utils::Yes,
4987					::subxt::ext::subxt_core::utils::Yes,
4988					(),
4989				> {
4990					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
4991						"Balances",
4992						"Locks",
4993						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
4994						[
4995							10u8, 223u8, 55u8, 0u8, 249u8, 69u8, 168u8, 41u8, 75u8, 35u8, 120u8,
4996							167u8, 18u8, 132u8, 9u8, 20u8, 91u8, 51u8, 27u8, 69u8, 136u8, 187u8,
4997							13u8, 220u8, 163u8, 122u8, 26u8, 141u8, 174u8, 249u8, 85u8, 37u8,
4998						],
4999					)
5000				}
5001				#[doc = " Named reserves on some account balances."]
5002				#[doc = ""]
5003				#[doc = " Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/`"]
5004				pub fn reserves_iter(
5005					&self,
5006				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5007					(),
5008					types::reserves::Reserves,
5009					(),
5010					::subxt::ext::subxt_core::utils::Yes,
5011					::subxt::ext::subxt_core::utils::Yes,
5012				> {
5013					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5014						"Balances",
5015						"Reserves",
5016						(),
5017						[
5018							112u8, 10u8, 241u8, 77u8, 64u8, 187u8, 106u8, 159u8, 13u8, 153u8,
5019							140u8, 178u8, 182u8, 50u8, 1u8, 55u8, 149u8, 92u8, 196u8, 229u8, 170u8,
5020							106u8, 193u8, 88u8, 255u8, 244u8, 2u8, 193u8, 62u8, 235u8, 204u8, 91u8,
5021						],
5022					)
5023				}
5024				#[doc = " Named reserves on some account balances."]
5025				#[doc = ""]
5026				#[doc = " Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/`"]
5027				pub fn reserves(
5028					&self,
5029					_0: types::reserves::Param0,
5030				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5031					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
5032						types::reserves::Param0,
5033					>,
5034					types::reserves::Reserves,
5035					::subxt::ext::subxt_core::utils::Yes,
5036					::subxt::ext::subxt_core::utils::Yes,
5037					(),
5038				> {
5039					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5040						"Balances",
5041						"Reserves",
5042						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
5043						[
5044							112u8, 10u8, 241u8, 77u8, 64u8, 187u8, 106u8, 159u8, 13u8, 153u8,
5045							140u8, 178u8, 182u8, 50u8, 1u8, 55u8, 149u8, 92u8, 196u8, 229u8, 170u8,
5046							106u8, 193u8, 88u8, 255u8, 244u8, 2u8, 193u8, 62u8, 235u8, 204u8, 91u8,
5047						],
5048					)
5049				}
5050				#[doc = " Holds on account balances."]
5051				pub fn holds_iter(
5052					&self,
5053				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5054					(),
5055					types::holds::Holds,
5056					(),
5057					::subxt::ext::subxt_core::utils::Yes,
5058					::subxt::ext::subxt_core::utils::Yes,
5059				> {
5060					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5061						"Balances",
5062						"Holds",
5063						(),
5064						[
5065							108u8, 118u8, 163u8, 86u8, 4u8, 174u8, 42u8, 210u8, 139u8, 171u8, 15u8,
5066							242u8, 10u8, 4u8, 255u8, 205u8, 247u8, 61u8, 236u8, 127u8, 54u8, 175u8,
5067							182u8, 131u8, 84u8, 129u8, 78u8, 242u8, 92u8, 143u8, 219u8, 35u8,
5068						],
5069					)
5070				}
5071				#[doc = " Holds on account balances."]
5072				pub fn holds(
5073					&self,
5074					_0: types::holds::Param0,
5075				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5076					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
5077						types::holds::Param0,
5078					>,
5079					types::holds::Holds,
5080					::subxt::ext::subxt_core::utils::Yes,
5081					::subxt::ext::subxt_core::utils::Yes,
5082					(),
5083				> {
5084					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5085						"Balances",
5086						"Holds",
5087						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
5088						[
5089							108u8, 118u8, 163u8, 86u8, 4u8, 174u8, 42u8, 210u8, 139u8, 171u8, 15u8,
5090							242u8, 10u8, 4u8, 255u8, 205u8, 247u8, 61u8, 236u8, 127u8, 54u8, 175u8,
5091							182u8, 131u8, 84u8, 129u8, 78u8, 242u8, 92u8, 143u8, 219u8, 35u8,
5092						],
5093					)
5094				}
5095				#[doc = " Freeze locks on account balances."]
5096				pub fn freezes_iter(
5097					&self,
5098				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5099					(),
5100					types::freezes::Freezes,
5101					(),
5102					::subxt::ext::subxt_core::utils::Yes,
5103					::subxt::ext::subxt_core::utils::Yes,
5104				> {
5105					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5106						"Balances",
5107						"Freezes",
5108						(),
5109						[
5110							170u8, 69u8, 116u8, 92u8, 165u8, 14u8, 129u8, 179u8, 165u8, 6u8, 123u8,
5111							156u8, 4u8, 30u8, 25u8, 181u8, 191u8, 29u8, 3u8, 92u8, 96u8, 167u8,
5112							102u8, 38u8, 128u8, 140u8, 85u8, 248u8, 114u8, 127u8, 128u8, 40u8,
5113						],
5114					)
5115				}
5116				#[doc = " Freeze locks on account balances."]
5117				pub fn freezes(
5118					&self,
5119					_0: types::freezes::Param0,
5120				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5121					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
5122						types::freezes::Param0,
5123					>,
5124					types::freezes::Freezes,
5125					::subxt::ext::subxt_core::utils::Yes,
5126					::subxt::ext::subxt_core::utils::Yes,
5127					(),
5128				> {
5129					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5130						"Balances",
5131						"Freezes",
5132						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
5133						[
5134							170u8, 69u8, 116u8, 92u8, 165u8, 14u8, 129u8, 179u8, 165u8, 6u8, 123u8,
5135							156u8, 4u8, 30u8, 25u8, 181u8, 191u8, 29u8, 3u8, 92u8, 96u8, 167u8,
5136							102u8, 38u8, 128u8, 140u8, 85u8, 248u8, 114u8, 127u8, 128u8, 40u8,
5137						],
5138					)
5139				}
5140			}
5141		}
5142		pub mod constants {
5143			use super::runtime_types;
5144			pub struct ConstantsApi;
5145			impl ConstantsApi {
5146				#[doc = " The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!"]
5147				#[doc = ""]
5148				#[doc = " If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for"]
5149				#[doc = " this pallet. However, you do so at your own risk: this will open up a major DoS vector."]
5150				#[doc = " In case you have multiple sources of provider references, you may also get unexpected"]
5151				#[doc = " behaviour if you set this to zero."]
5152				#[doc = ""]
5153				#[doc = " Bottom line: Do yourself a favour and make it at least one!"]
5154				pub fn existential_deposit(
5155					&self,
5156				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5157					::core::primitive::u128,
5158				> {
5159					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5160						"Balances",
5161						"ExistentialDeposit",
5162						[
5163							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
5164							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
5165							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
5166						],
5167					)
5168				}
5169				#[doc = " The maximum number of locks that should exist on an account."]
5170				#[doc = " Not strictly enforced, but used for weight estimation."]
5171				#[doc = ""]
5172				#[doc = " Use of locks is deprecated in favour of freezes. See `https://github.com/paritytech/substrate/pull/12951/`"]
5173				pub fn max_locks(
5174					&self,
5175				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5176					::core::primitive::u32,
5177				> {
5178					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5179						"Balances",
5180						"MaxLocks",
5181						[
5182							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
5183							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
5184							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
5185							145u8,
5186						],
5187					)
5188				}
5189				#[doc = " The maximum number of named reserves that can exist on an account."]
5190				#[doc = ""]
5191				#[doc = " Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/`"]
5192				pub fn max_reserves(
5193					&self,
5194				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5195					::core::primitive::u32,
5196				> {
5197					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5198						"Balances",
5199						"MaxReserves",
5200						[
5201							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
5202							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
5203							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
5204							145u8,
5205						],
5206					)
5207				}
5208				#[doc = " The maximum number of individual freeze locks that can exist on an account at any time."]
5209				pub fn max_freezes(
5210					&self,
5211				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5212					::core::primitive::u32,
5213				> {
5214					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5215						"Balances",
5216						"MaxFreezes",
5217						[
5218							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
5219							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
5220							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
5221							145u8,
5222						],
5223					)
5224				}
5225			}
5226		}
5227	}
5228	pub mod transaction_payment {
5229		use super::{root_mod, runtime_types};
5230		#[doc = "The `Event` enum of this pallet"]
5231		pub type Event = runtime_types::pallet_transaction_payment::pallet::Event;
5232		pub mod events {
5233			use super::runtime_types;
5234			#[derive(
5235				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5236				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5237				Debug,
5238			)]
5239			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5240			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5241			#[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"]
5242			#[doc = "has been paid by `who`."]
5243			pub struct TransactionFeePaid {
5244				pub who: transaction_fee_paid::Who,
5245				pub actual_fee: transaction_fee_paid::ActualFee,
5246				pub tip: transaction_fee_paid::Tip,
5247			}
5248			pub mod transaction_fee_paid {
5249				use super::runtime_types;
5250				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
5251				pub type ActualFee = ::core::primitive::u128;
5252				pub type Tip = ::core::primitive::u128;
5253			}
5254			impl ::subxt::ext::subxt_core::events::StaticEvent for TransactionFeePaid {
5255				const PALLET: &'static str = "TransactionPayment";
5256				const EVENT: &'static str = "TransactionFeePaid";
5257			}
5258		}
5259		pub mod storage {
5260			use super::runtime_types;
5261			pub mod types {
5262				use super::runtime_types;
5263				pub mod next_fee_multiplier {
5264					use super::runtime_types;
5265					pub type NextFeeMultiplier =
5266						runtime_types::sp_arithmetic::fixed_point::FixedU128;
5267				}
5268				pub mod storage_version {
5269					use super::runtime_types;
5270					pub type StorageVersion = runtime_types::pallet_transaction_payment::Releases;
5271				}
5272				pub mod tx_payment_credit {
5273					use super::runtime_types;
5274					pub type TxPaymentCredit = runtime_types :: frame_support :: traits :: storage :: NoDrop < runtime_types :: frame_support :: traits :: tokens :: fungible :: imbalance :: Imbalance < :: core :: primitive :: u128 > > ;
5275				}
5276			}
5277			pub struct StorageApi;
5278			impl StorageApi {
5279				pub fn next_fee_multiplier(
5280					&self,
5281				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5282					(),
5283					types::next_fee_multiplier::NextFeeMultiplier,
5284					::subxt::ext::subxt_core::utils::Yes,
5285					::subxt::ext::subxt_core::utils::Yes,
5286					(),
5287				> {
5288					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5289						"TransactionPayment",
5290						"NextFeeMultiplier",
5291						(),
5292						[
5293							247u8, 39u8, 81u8, 170u8, 225u8, 226u8, 82u8, 147u8, 34u8, 113u8,
5294							147u8, 213u8, 59u8, 80u8, 139u8, 35u8, 36u8, 196u8, 152u8, 19u8, 9u8,
5295							159u8, 176u8, 79u8, 249u8, 201u8, 170u8, 1u8, 129u8, 79u8, 146u8,
5296							197u8,
5297						],
5298					)
5299				}
5300				pub fn storage_version(
5301					&self,
5302				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5303					(),
5304					types::storage_version::StorageVersion,
5305					::subxt::ext::subxt_core::utils::Yes,
5306					::subxt::ext::subxt_core::utils::Yes,
5307					(),
5308				> {
5309					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5310						"TransactionPayment",
5311						"StorageVersion",
5312						(),
5313						[
5314							105u8, 243u8, 158u8, 241u8, 159u8, 231u8, 253u8, 6u8, 4u8, 32u8, 85u8,
5315							178u8, 126u8, 31u8, 203u8, 134u8, 154u8, 38u8, 122u8, 155u8, 150u8,
5316							251u8, 174u8, 15u8, 74u8, 134u8, 216u8, 244u8, 168u8, 175u8, 158u8,
5317							144u8,
5318						],
5319					)
5320				}
5321				#[doc = " The `OnChargeTransaction` stores the withdrawn tx fee here."]
5322				#[doc = ""]
5323				#[doc = " Use `withdraw_txfee` and `remaining_txfee` to access from outside the crate."]
5324				pub fn tx_payment_credit(
5325					&self,
5326				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5327					(),
5328					types::tx_payment_credit::TxPaymentCredit,
5329					::subxt::ext::subxt_core::utils::Yes,
5330					(),
5331					(),
5332				> {
5333					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5334						"TransactionPayment",
5335						"TxPaymentCredit",
5336						(),
5337						[
5338							39u8, 127u8, 132u8, 77u8, 25u8, 10u8, 195u8, 64u8, 255u8, 212u8, 183u8,
5339							177u8, 238u8, 24u8, 81u8, 65u8, 93u8, 177u8, 209u8, 134u8, 245u8,
5340							241u8, 252u8, 87u8, 179u8, 61u8, 168u8, 77u8, 65u8, 13u8, 72u8, 205u8,
5341						],
5342					)
5343				}
5344			}
5345		}
5346		pub mod constants {
5347			use super::runtime_types;
5348			pub struct ConstantsApi;
5349			impl ConstantsApi {
5350				#[doc = " A fee multiplier for `Operational` extrinsics to compute \"virtual tip\" to boost their"]
5351				#[doc = " `priority`"]
5352				#[doc = ""]
5353				#[doc = " This value is multiplied by the `final_fee` to obtain a \"virtual tip\" that is later"]
5354				#[doc = " added to a tip component in regular `priority` calculations."]
5355				#[doc = " It means that a `Normal` transaction can front-run a similarly-sized `Operational`"]
5356				#[doc = " extrinsic (with no tip), by including a tip value greater than the virtual tip."]
5357				#[doc = ""]
5358				#[doc = " ```rust,ignore"]
5359				#[doc = " // For `Normal`"]
5360				#[doc = " let priority = priority_calc(tip);"]
5361				#[doc = ""]
5362				#[doc = " // For `Operational`"]
5363				#[doc = " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;"]
5364				#[doc = " let priority = priority_calc(tip + virtual_tip);"]
5365				#[doc = " ```"]
5366				#[doc = ""]
5367				#[doc = " Note that since we use `final_fee` the multiplier applies also to the regular `tip`"]
5368				#[doc = " sent with the transaction. So, not only does the transaction get a priority bump based"]
5369				#[doc = " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`"]
5370				#[doc = " transactions."]
5371				pub fn operational_fee_multiplier(
5372					&self,
5373				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5374					::core::primitive::u8,
5375				> {
5376					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5377						"TransactionPayment",
5378						"OperationalFeeMultiplier",
5379						[
5380							141u8, 130u8, 11u8, 35u8, 226u8, 114u8, 92u8, 179u8, 168u8, 110u8,
5381							28u8, 91u8, 221u8, 64u8, 4u8, 148u8, 201u8, 193u8, 185u8, 66u8, 226u8,
5382							114u8, 97u8, 79u8, 62u8, 212u8, 202u8, 114u8, 237u8, 228u8, 183u8,
5383							165u8,
5384						],
5385					)
5386				}
5387			}
5388		}
5389	}
5390	pub mod sudo {
5391		use super::{root_mod, runtime_types};
5392		#[doc = "Error for the Sudo pallet."]
5393		pub type Error = runtime_types::pallet_sudo::pallet::Error;
5394		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
5395		pub type Call = runtime_types::pallet_sudo::pallet::Call;
5396		pub mod calls {
5397			use super::{root_mod, runtime_types};
5398			type DispatchError = runtime_types::sp_runtime::DispatchError;
5399			pub mod types {
5400				use super::runtime_types;
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 `Root` origin."]
5413				pub struct Sudo {
5414					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<sudo::Call>,
5415				}
5416				pub mod sudo {
5417					use super::runtime_types;
5418					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
5419				}
5420				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Sudo {
5421					const PALLET: &'static str = "Sudo";
5422					const CALL: &'static str = "sudo";
5423				}
5424				#[derive(
5425					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5426					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5427					Debug,
5428				)]
5429				#[decode_as_type(
5430					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
5431				)]
5432				#[encode_as_type(
5433					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
5434				)]
5435				#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
5436				#[doc = "This function does not check the weight of the call, and instead allows the"]
5437				#[doc = "Sudo user to specify the weight of the call."]
5438				#[doc = ""]
5439				#[doc = "The dispatch origin for this call must be _Signed_."]
5440				pub struct SudoUncheckedWeight {
5441					pub call:
5442						::subxt::ext::subxt_core::alloc::boxed::Box<sudo_unchecked_weight::Call>,
5443					pub weight: sudo_unchecked_weight::Weight,
5444				}
5445				pub mod sudo_unchecked_weight {
5446					use super::runtime_types;
5447					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
5448					pub type Weight = runtime_types::sp_weights::weight_v2::Weight;
5449				}
5450				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SudoUncheckedWeight {
5451					const PALLET: &'static str = "Sudo";
5452					const CALL: &'static str = "sudo_unchecked_weight";
5453				}
5454				#[derive(
5455					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5456					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5457					Debug,
5458				)]
5459				#[decode_as_type(
5460					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
5461				)]
5462				#[encode_as_type(
5463					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
5464				)]
5465				#[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"]
5466				#[doc = "key."]
5467				pub struct SetKey {
5468					pub new: set_key::New,
5469				}
5470				pub mod set_key {
5471					use super::runtime_types;
5472					pub type New = ::subxt::ext::subxt_core::utils::MultiAddress<
5473						::subxt::ext::subxt_core::utils::AccountId32,
5474						(),
5475					>;
5476				}
5477				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetKey {
5478					const PALLET: &'static str = "Sudo";
5479					const CALL: &'static str = "set_key";
5480				}
5481				#[derive(
5482					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5483					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5484					Debug,
5485				)]
5486				#[decode_as_type(
5487					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
5488				)]
5489				#[encode_as_type(
5490					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
5491				)]
5492				#[doc = "Authenticates the sudo key and dispatches a function call with `Signed` origin from"]
5493				#[doc = "a given account."]
5494				#[doc = ""]
5495				#[doc = "The dispatch origin for this call must be _Signed_."]
5496				pub struct SudoAs {
5497					pub who: sudo_as::Who,
5498					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<sudo_as::Call>,
5499				}
5500				pub mod sudo_as {
5501					use super::runtime_types;
5502					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
5503						::subxt::ext::subxt_core::utils::AccountId32,
5504						(),
5505					>;
5506					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
5507				}
5508				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SudoAs {
5509					const PALLET: &'static str = "Sudo";
5510					const CALL: &'static str = "sudo_as";
5511				}
5512				#[derive(
5513					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5514					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5515					Debug,
5516				)]
5517				#[decode_as_type(
5518					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
5519				)]
5520				#[encode_as_type(
5521					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
5522				)]
5523				#[doc = "Permanently removes the sudo key."]
5524				#[doc = ""]
5525				#[doc = "**This cannot be un-done.**"]
5526				pub struct RemoveKey;
5527				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveKey {
5528					const PALLET: &'static str = "Sudo";
5529					const CALL: &'static str = "remove_key";
5530				}
5531			}
5532			pub struct TransactionApi;
5533			impl TransactionApi {
5534				#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
5535				pub fn sudo(
5536					&self,
5537					call: types::sudo::Call,
5538				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Sudo> {
5539					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
5540						"Sudo",
5541						"sudo",
5542						types::Sudo {
5543							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
5544						},
5545						[
5546							92u8, 222u8, 38u8, 218u8, 220u8, 120u8, 153u8, 82u8, 131u8, 21u8,
5547							133u8, 192u8, 226u8, 24u8, 106u8, 70u8, 156u8, 171u8, 231u8, 175u8,
5548							152u8, 51u8, 118u8, 15u8, 247u8, 6u8, 137u8, 153u8, 189u8, 181u8,
5549							207u8, 118u8,
5550						],
5551					)
5552				}
5553				#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
5554				#[doc = "This function does not check the weight of the call, and instead allows the"]
5555				#[doc = "Sudo user to specify the weight of the call."]
5556				#[doc = ""]
5557				#[doc = "The dispatch origin for this call must be _Signed_."]
5558				pub fn sudo_unchecked_weight(
5559					&self,
5560					call: types::sudo_unchecked_weight::Call,
5561					weight: types::sudo_unchecked_weight::Weight,
5562				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SudoUncheckedWeight>
5563				{
5564					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
5565						"Sudo",
5566						"sudo_unchecked_weight",
5567						types::SudoUncheckedWeight {
5568							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
5569							weight,
5570						},
5571						[
5572							18u8, 172u8, 114u8, 181u8, 239u8, 91u8, 227u8, 49u8, 11u8, 101u8, 81u8,
5573							116u8, 159u8, 79u8, 57u8, 170u8, 121u8, 12u8, 231u8, 89u8, 163u8, 95u8,
5574							8u8, 144u8, 157u8, 93u8, 162u8, 156u8, 198u8, 99u8, 4u8, 123u8,
5575						],
5576					)
5577				}
5578				#[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"]
5579				#[doc = "key."]
5580				pub fn set_key(
5581					&self,
5582					new: types::set_key::New,
5583				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetKey> {
5584					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
5585						"Sudo",
5586						"set_key",
5587						types::SetKey { new },
5588						[
5589							9u8, 73u8, 39u8, 205u8, 188u8, 127u8, 143u8, 54u8, 128u8, 94u8, 8u8,
5590							227u8, 197u8, 44u8, 70u8, 93u8, 228u8, 196u8, 64u8, 165u8, 226u8,
5591							158u8, 101u8, 192u8, 22u8, 193u8, 102u8, 84u8, 21u8, 35u8, 92u8, 198u8,
5592						],
5593					)
5594				}
5595				#[doc = "Authenticates the sudo key and dispatches a function call with `Signed` origin from"]
5596				#[doc = "a given account."]
5597				#[doc = ""]
5598				#[doc = "The dispatch origin for this call must be _Signed_."]
5599				pub fn sudo_as(
5600					&self,
5601					who: types::sudo_as::Who,
5602					call: types::sudo_as::Call,
5603				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SudoAs> {
5604					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
5605						"Sudo",
5606						"sudo_as",
5607						types::SudoAs {
5608							who,
5609							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
5610						},
5611						[
5612							25u8, 155u8, 115u8, 44u8, 183u8, 108u8, 169u8, 74u8, 11u8, 123u8,
5613							235u8, 102u8, 23u8, 199u8, 181u8, 104u8, 66u8, 183u8, 147u8, 133u8,
5614							155u8, 30u8, 203u8, 92u8, 78u8, 234u8, 38u8, 168u8, 178u8, 73u8, 108u8,
5615							50u8,
5616						],
5617					)
5618				}
5619				#[doc = "Permanently removes the sudo key."]
5620				#[doc = ""]
5621				#[doc = "**This cannot be un-done.**"]
5622				pub fn remove_key(
5623					&self,
5624				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveKey> {
5625					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
5626						"Sudo",
5627						"remove_key",
5628						types::RemoveKey {},
5629						[
5630							133u8, 253u8, 54u8, 175u8, 202u8, 239u8, 5u8, 198u8, 180u8, 138u8,
5631							25u8, 28u8, 109u8, 40u8, 30u8, 56u8, 126u8, 100u8, 52u8, 205u8, 250u8,
5632							191u8, 61u8, 195u8, 172u8, 142u8, 184u8, 239u8, 247u8, 10u8, 211u8,
5633							79u8,
5634						],
5635					)
5636				}
5637			}
5638		}
5639		#[doc = "The `Event` enum of this pallet"]
5640		pub type Event = runtime_types::pallet_sudo::pallet::Event;
5641		pub mod events {
5642			use super::runtime_types;
5643			#[derive(
5644				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5645				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5646				Debug,
5647			)]
5648			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5649			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5650			#[doc = "A sudo call just took place."]
5651			pub struct Sudid {
5652				pub sudo_result: sudid::SudoResult,
5653			}
5654			pub mod sudid {
5655				use super::runtime_types;
5656				pub type SudoResult =
5657					::core::result::Result<(), runtime_types::sp_runtime::DispatchError>;
5658			}
5659			impl ::subxt::ext::subxt_core::events::StaticEvent for Sudid {
5660				const PALLET: &'static str = "Sudo";
5661				const EVENT: &'static str = "Sudid";
5662			}
5663			#[derive(
5664				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5665				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5666				Debug,
5667			)]
5668			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5669			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5670			#[doc = "The sudo key has been updated."]
5671			pub struct KeyChanged {
5672				pub old: key_changed::Old,
5673				pub new: key_changed::New,
5674			}
5675			pub mod key_changed {
5676				use super::runtime_types;
5677				pub type Old = ::core::option::Option<::subxt::ext::subxt_core::utils::AccountId32>;
5678				pub type New = ::subxt::ext::subxt_core::utils::AccountId32;
5679			}
5680			impl ::subxt::ext::subxt_core::events::StaticEvent for KeyChanged {
5681				const PALLET: &'static str = "Sudo";
5682				const EVENT: &'static str = "KeyChanged";
5683			}
5684			#[derive(
5685				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5686				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5687				Debug,
5688			)]
5689			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5690			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5691			#[doc = "The key was permanently removed."]
5692			pub struct KeyRemoved;
5693			impl ::subxt::ext::subxt_core::events::StaticEvent for KeyRemoved {
5694				const PALLET: &'static str = "Sudo";
5695				const EVENT: &'static str = "KeyRemoved";
5696			}
5697			#[derive(
5698				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5699				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5700				Debug,
5701			)]
5702			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5703			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5704			#[doc = "A [sudo_as](Pallet::sudo_as) call just took place."]
5705			pub struct SudoAsDone {
5706				pub sudo_result: sudo_as_done::SudoResult,
5707			}
5708			pub mod sudo_as_done {
5709				use super::runtime_types;
5710				pub type SudoResult =
5711					::core::result::Result<(), runtime_types::sp_runtime::DispatchError>;
5712			}
5713			impl ::subxt::ext::subxt_core::events::StaticEvent for SudoAsDone {
5714				const PALLET: &'static str = "Sudo";
5715				const EVENT: &'static str = "SudoAsDone";
5716			}
5717		}
5718		pub mod storage {
5719			use super::runtime_types;
5720			pub mod types {
5721				use super::runtime_types;
5722				pub mod key {
5723					use super::runtime_types;
5724					pub type Key = ::subxt::ext::subxt_core::utils::AccountId32;
5725				}
5726			}
5727			pub struct StorageApi;
5728			impl StorageApi {
5729				#[doc = " The `AccountId` of the sudo key."]
5730				pub fn key(
5731					&self,
5732				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5733					(),
5734					types::key::Key,
5735					::subxt::ext::subxt_core::utils::Yes,
5736					(),
5737					(),
5738				> {
5739					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5740						"Sudo",
5741						"Key",
5742						(),
5743						[
5744							72u8, 14u8, 225u8, 162u8, 205u8, 247u8, 227u8, 105u8, 116u8, 57u8, 4u8,
5745							31u8, 84u8, 137u8, 227u8, 228u8, 133u8, 245u8, 206u8, 227u8, 117u8,
5746							36u8, 252u8, 151u8, 107u8, 15u8, 180u8, 4u8, 4u8, 152u8, 195u8, 144u8,
5747						],
5748					)
5749				}
5750			}
5751		}
5752	}
5753	pub mod q_po_w {
5754		use super::{root_mod, runtime_types};
5755		#[doc = "The `Event` enum of this pallet"]
5756		pub type Event = runtime_types::pallet_qpow::pallet::Event;
5757		pub mod events {
5758			use super::runtime_types;
5759			#[derive(
5760				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5761				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5762				Debug,
5763			)]
5764			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5765			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5766			pub struct ProofSubmitted {
5767				pub nonce: proof_submitted::Nonce,
5768				pub difficulty: proof_submitted::Difficulty,
5769				pub hash_achieved: proof_submitted::HashAchieved,
5770			}
5771			pub mod proof_submitted {
5772				use super::runtime_types;
5773				pub type Nonce = [::core::primitive::u8; 64usize];
5774				pub type Difficulty = runtime_types::primitive_types::U512;
5775				pub type HashAchieved = runtime_types::primitive_types::U512;
5776			}
5777			impl ::subxt::ext::subxt_core::events::StaticEvent for ProofSubmitted {
5778				const PALLET: &'static str = "QPoW";
5779				const EVENT: &'static str = "ProofSubmitted";
5780			}
5781			#[derive(
5782				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
5783				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
5784				Debug,
5785			)]
5786			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
5787			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
5788			pub struct DifficultyAdjusted {
5789				pub old_difficulty: difficulty_adjusted::OldDifficulty,
5790				pub new_difficulty: difficulty_adjusted::NewDifficulty,
5791				pub observed_block_time: difficulty_adjusted::ObservedBlockTime,
5792			}
5793			pub mod difficulty_adjusted {
5794				use super::runtime_types;
5795				pub type OldDifficulty = runtime_types::primitive_types::U512;
5796				pub type NewDifficulty = runtime_types::primitive_types::U512;
5797				pub type ObservedBlockTime = ::core::primitive::u64;
5798			}
5799			impl ::subxt::ext::subxt_core::events::StaticEvent for DifficultyAdjusted {
5800				const PALLET: &'static str = "QPoW";
5801				const EVENT: &'static str = "DifficultyAdjusted";
5802			}
5803		}
5804		pub mod storage {
5805			use super::runtime_types;
5806			pub mod types {
5807				use super::runtime_types;
5808				pub mod last_block_time {
5809					use super::runtime_types;
5810					pub type LastBlockTime = ::core::primitive::u64;
5811				}
5812				pub mod last_block_duration {
5813					use super::runtime_types;
5814					pub type LastBlockDuration = ::core::primitive::u64;
5815				}
5816				pub mod current_difficulty {
5817					use super::runtime_types;
5818					pub type CurrentDifficulty = runtime_types::primitive_types::U512;
5819				}
5820				pub mod block_time_ema {
5821					use super::runtime_types;
5822					pub type BlockTimeEma = ::core::primitive::u64;
5823				}
5824			}
5825			pub struct StorageApi;
5826			impl StorageApi {
5827				pub fn last_block_time(
5828					&self,
5829				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5830					(),
5831					types::last_block_time::LastBlockTime,
5832					::subxt::ext::subxt_core::utils::Yes,
5833					::subxt::ext::subxt_core::utils::Yes,
5834					(),
5835				> {
5836					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5837						"QPoW",
5838						"LastBlockTime",
5839						(),
5840						[
5841							239u8, 229u8, 252u8, 169u8, 178u8, 1u8, 146u8, 236u8, 50u8, 59u8,
5842							221u8, 169u8, 107u8, 168u8, 203u8, 103u8, 252u8, 189u8, 52u8, 64u8,
5843							235u8, 110u8, 164u8, 100u8, 85u8, 66u8, 202u8, 71u8, 189u8, 18u8, 4u8,
5844							217u8,
5845						],
5846					)
5847				}
5848				pub fn last_block_duration(
5849					&self,
5850				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5851					(),
5852					types::last_block_duration::LastBlockDuration,
5853					::subxt::ext::subxt_core::utils::Yes,
5854					::subxt::ext::subxt_core::utils::Yes,
5855					(),
5856				> {
5857					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5858						"QPoW",
5859						"LastBlockDuration",
5860						(),
5861						[
5862							44u8, 139u8, 180u8, 95u8, 43u8, 58u8, 255u8, 71u8, 201u8, 240u8, 61u8,
5863							131u8, 214u8, 202u8, 118u8, 157u8, 21u8, 52u8, 154u8, 123u8, 253u8,
5864							160u8, 68u8, 100u8, 91u8, 196u8, 168u8, 14u8, 84u8, 60u8, 160u8, 229u8,
5865						],
5866					)
5867				}
5868				pub fn current_difficulty(
5869					&self,
5870				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5871					(),
5872					types::current_difficulty::CurrentDifficulty,
5873					::subxt::ext::subxt_core::utils::Yes,
5874					::subxt::ext::subxt_core::utils::Yes,
5875					(),
5876				> {
5877					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5878						"QPoW",
5879						"CurrentDifficulty",
5880						(),
5881						[
5882							130u8, 252u8, 118u8, 64u8, 64u8, 105u8, 70u8, 33u8, 78u8, 161u8, 9u8,
5883							26u8, 68u8, 38u8, 223u8, 64u8, 19u8, 4u8, 249u8, 112u8, 193u8, 122u8,
5884							16u8, 149u8, 46u8, 50u8, 227u8, 225u8, 5u8, 47u8, 227u8, 169u8,
5885						],
5886					)
5887				}
5888				pub fn block_time_ema(
5889					&self,
5890				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
5891					(),
5892					types::block_time_ema::BlockTimeEma,
5893					::subxt::ext::subxt_core::utils::Yes,
5894					::subxt::ext::subxt_core::utils::Yes,
5895					(),
5896				> {
5897					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
5898						"QPoW",
5899						"BlockTimeEma",
5900						(),
5901						[
5902							43u8, 90u8, 42u8, 54u8, 219u8, 225u8, 181u8, 63u8, 6u8, 66u8, 120u8,
5903							166u8, 146u8, 52u8, 10u8, 83u8, 54u8, 4u8, 163u8, 40u8, 46u8, 174u8,
5904							210u8, 217u8, 140u8, 56u8, 194u8, 245u8, 40u8, 164u8, 225u8, 206u8,
5905						],
5906					)
5907				}
5908			}
5909		}
5910		pub mod constants {
5911			use super::runtime_types;
5912			pub struct ConstantsApi;
5913			impl ConstantsApi {
5914				#[doc = " Pallet's weight info"]
5915				pub fn initial_difficulty(
5916					&self,
5917				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5918					runtime_types::primitive_types::U512,
5919				> {
5920					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5921						"QPoW",
5922						"InitialDifficulty",
5923						[
5924							20u8, 85u8, 224u8, 179u8, 96u8, 72u8, 114u8, 236u8, 59u8, 214u8, 15u8,
5925							55u8, 76u8, 43u8, 109u8, 39u8, 42u8, 74u8, 194u8, 175u8, 2u8, 22u8,
5926							208u8, 96u8, 61u8, 112u8, 226u8, 124u8, 66u8, 243u8, 48u8, 212u8,
5927						],
5928					)
5929				}
5930				pub fn difficulty_adjust_percent_clamp(
5931					&self,
5932				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5933					runtime_types::sp_arithmetic::fixed_point::FixedU128,
5934				> {
5935					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5936						"QPoW",
5937						"DifficultyAdjustPercentClamp",
5938						[
5939							62u8, 145u8, 102u8, 227u8, 159u8, 92u8, 27u8, 54u8, 159u8, 228u8,
5940							193u8, 99u8, 75u8, 196u8, 26u8, 250u8, 229u8, 230u8, 88u8, 109u8,
5941							246u8, 100u8, 152u8, 158u8, 14u8, 25u8, 224u8, 173u8, 224u8, 41u8,
5942							105u8, 231u8,
5943						],
5944					)
5945				}
5946				pub fn target_block_time(
5947					&self,
5948				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5949					::core::primitive::u64,
5950				> {
5951					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5952						"QPoW",
5953						"TargetBlockTime",
5954						[
5955							128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8,
5956							59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8,
5957							103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8,
5958							246u8,
5959						],
5960					)
5961				}
5962				#[doc = " EMA smoothing factor (0-1000, where 1000 = 1.0)"]
5963				pub fn ema_alpha(
5964					&self,
5965				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5966					::core::primitive::u32,
5967				> {
5968					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5969						"QPoW",
5970						"EmaAlpha",
5971						[
5972							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
5973							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
5974							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
5975							145u8,
5976						],
5977					)
5978				}
5979				pub fn max_reorg_depth(
5980					&self,
5981				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
5982					::core::primitive::u32,
5983				> {
5984					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
5985						"QPoW",
5986						"MaxReorgDepth",
5987						[
5988							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
5989							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
5990							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
5991							145u8,
5992						],
5993					)
5994				}
5995			}
5996		}
5997	}
5998	pub mod mining_rewards {
5999		use super::{root_mod, runtime_types};
6000		#[doc = "The `Event` enum of this pallet"]
6001		pub type Event = runtime_types::pallet_mining_rewards::pallet::Event;
6002		pub mod events {
6003			use super::runtime_types;
6004			#[derive(
6005				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6006				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6007				Debug,
6008			)]
6009			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
6010			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
6011			#[doc = "A miner has been identified for a block"]
6012			pub struct MinerRewarded {
6013				pub miner: miner_rewarded::Miner,
6014				pub reward: miner_rewarded::Reward,
6015			}
6016			pub mod miner_rewarded {
6017				use super::runtime_types;
6018				pub type Miner = ::subxt::ext::subxt_core::utils::AccountId32;
6019				pub type Reward = ::core::primitive::u128;
6020			}
6021			impl ::subxt::ext::subxt_core::events::StaticEvent for MinerRewarded {
6022				const PALLET: &'static str = "MiningRewards";
6023				const EVENT: &'static str = "MinerRewarded";
6024			}
6025			#[derive(
6026				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6027				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6028				Debug,
6029			)]
6030			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
6031			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
6032			#[doc = "Transaction fees were collected for later distribution"]
6033			pub struct FeesCollected {
6034				pub amount: fees_collected::Amount,
6035				pub total: fees_collected::Total,
6036			}
6037			pub mod fees_collected {
6038				use super::runtime_types;
6039				pub type Amount = ::core::primitive::u128;
6040				pub type Total = ::core::primitive::u128;
6041			}
6042			impl ::subxt::ext::subxt_core::events::StaticEvent for FeesCollected {
6043				const PALLET: &'static str = "MiningRewards";
6044				const EVENT: &'static str = "FeesCollected";
6045			}
6046			#[derive(
6047				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6048				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6049				Debug,
6050			)]
6051			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
6052			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
6053			#[doc = "Rewards were sent to Treasury when no miner was specified"]
6054			pub struct TreasuryRewarded {
6055				pub reward: treasury_rewarded::Reward,
6056			}
6057			pub mod treasury_rewarded {
6058				use super::runtime_types;
6059				pub type Reward = ::core::primitive::u128;
6060			}
6061			impl ::subxt::ext::subxt_core::events::StaticEvent for TreasuryRewarded {
6062				const PALLET: &'static str = "MiningRewards";
6063				const EVENT: &'static str = "TreasuryRewarded";
6064			}
6065			#[derive(
6066				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6067				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6068				Debug,
6069			)]
6070			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
6071			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
6072			#[doc = "Miner reward was redirected to treasury due to mint failure"]
6073			pub struct MinerRewardRedirected {
6074				pub miner: miner_reward_redirected::Miner,
6075				pub reward: miner_reward_redirected::Reward,
6076			}
6077			pub mod miner_reward_redirected {
6078				use super::runtime_types;
6079				pub type Miner = ::subxt::ext::subxt_core::utils::AccountId32;
6080				pub type Reward = ::core::primitive::u128;
6081			}
6082			impl ::subxt::ext::subxt_core::events::StaticEvent for MinerRewardRedirected {
6083				const PALLET: &'static str = "MiningRewards";
6084				const EVENT: &'static str = "MinerRewardRedirected";
6085			}
6086		}
6087		pub mod storage {
6088			use super::runtime_types;
6089			pub mod types {
6090				use super::runtime_types;
6091				pub mod collected_fees {
6092					use super::runtime_types;
6093					pub type CollectedFees = ::core::primitive::u128;
6094				}
6095			}
6096			pub struct StorageApi;
6097			impl StorageApi {
6098				pub fn collected_fees(
6099					&self,
6100				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6101					(),
6102					types::collected_fees::CollectedFees,
6103					::subxt::ext::subxt_core::utils::Yes,
6104					::subxt::ext::subxt_core::utils::Yes,
6105					(),
6106				> {
6107					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6108						"MiningRewards",
6109						"CollectedFees",
6110						(),
6111						[
6112							136u8, 52u8, 218u8, 204u8, 2u8, 250u8, 34u8, 8u8, 16u8, 23u8, 171u8,
6113							3u8, 253u8, 35u8, 59u8, 7u8, 167u8, 227u8, 86u8, 15u8, 155u8, 14u8,
6114							139u8, 44u8, 208u8, 108u8, 85u8, 131u8, 170u8, 37u8, 211u8, 211u8,
6115						],
6116					)
6117				}
6118			}
6119		}
6120		pub mod constants {
6121			use super::runtime_types;
6122			pub struct ConstantsApi;
6123			impl ConstantsApi {
6124				#[doc = " The maximum total supply of tokens"]
6125				pub fn max_supply(
6126					&self,
6127				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6128					::core::primitive::u128,
6129				> {
6130					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6131						"MiningRewards",
6132						"MaxSupply",
6133						[
6134							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
6135							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
6136							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
6137						],
6138					)
6139				}
6140				#[doc = " The divisor used to calculate block rewards from remaining supply"]
6141				pub fn emission_divisor(
6142					&self,
6143				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6144					::core::primitive::u128,
6145				> {
6146					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6147						"MiningRewards",
6148						"EmissionDivisor",
6149						[
6150							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
6151							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
6152							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
6153						],
6154					)
6155				}
6156				#[doc = " The base unit for token amounts (e.g., 1e12 for 12 decimals)"]
6157				pub fn unit(
6158					&self,
6159				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6160					::core::primitive::u128,
6161				> {
6162					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6163						"MiningRewards",
6164						"Unit",
6165						[
6166							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
6167							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
6168							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
6169						],
6170					)
6171				}
6172				#[doc = " Account ID used as the \"from\" account when creating transfer proofs for minted tokens"]
6173				pub fn minting_account(
6174					&self,
6175				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
6176					::subxt::ext::subxt_core::utils::AccountId32,
6177				> {
6178					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
6179						"MiningRewards",
6180						"MintingAccount",
6181						[
6182							115u8, 233u8, 13u8, 223u8, 88u8, 20u8, 202u8, 139u8, 153u8, 28u8,
6183							155u8, 157u8, 224u8, 66u8, 3u8, 250u8, 23u8, 53u8, 88u8, 168u8, 211u8,
6184							204u8, 122u8, 166u8, 248u8, 23u8, 174u8, 225u8, 99u8, 108u8, 89u8,
6185							135u8,
6186						],
6187					)
6188				}
6189			}
6190		}
6191	}
6192	pub mod preimage {
6193		use super::{root_mod, runtime_types};
6194		#[doc = "The `Error` enum of this pallet."]
6195		pub type Error = runtime_types::pallet_preimage::pallet::Error;
6196		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
6197		pub type Call = runtime_types::pallet_preimage::pallet::Call;
6198		pub mod calls {
6199			use super::{root_mod, runtime_types};
6200			type DispatchError = runtime_types::sp_runtime::DispatchError;
6201			pub mod types {
6202				use super::runtime_types;
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 = "Register a preimage on-chain."]
6215				#[doc = ""]
6216				#[doc = "If the preimage was previously requested, no fees or deposits are taken for providing"]
6217				#[doc = "the preimage. Otherwise, a deposit is taken proportional to the size of the preimage."]
6218				pub struct NotePreimage {
6219					pub bytes: note_preimage::Bytes,
6220				}
6221				pub mod note_preimage {
6222					use super::runtime_types;
6223					pub type Bytes =
6224						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
6225				}
6226				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for NotePreimage {
6227					const PALLET: &'static str = "Preimage";
6228					const CALL: &'static str = "note_preimage";
6229				}
6230				#[derive(
6231					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6232					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6233					Debug,
6234				)]
6235				#[decode_as_type(
6236					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6237				)]
6238				#[encode_as_type(
6239					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6240				)]
6241				#[doc = "Clear an unrequested preimage from the runtime storage."]
6242				#[doc = ""]
6243				#[doc = "If `len` is provided, then it will be a much cheaper operation."]
6244				#[doc = ""]
6245				#[doc = "- `hash`: The hash of the preimage to be removed from the store."]
6246				#[doc = "- `len`: The length of the preimage of `hash`."]
6247				pub struct UnnotePreimage {
6248					pub hash: unnote_preimage::Hash,
6249				}
6250				pub mod unnote_preimage {
6251					use super::runtime_types;
6252					pub type Hash = ::subxt::ext::subxt_core::utils::H256;
6253				}
6254				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for UnnotePreimage {
6255					const PALLET: &'static str = "Preimage";
6256					const CALL: &'static str = "unnote_preimage";
6257				}
6258				#[derive(
6259					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6260					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6261					Debug,
6262				)]
6263				#[decode_as_type(
6264					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6265				)]
6266				#[encode_as_type(
6267					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6268				)]
6269				#[doc = "Request a preimage be uploaded to the chain without paying any fees or deposits."]
6270				#[doc = ""]
6271				#[doc = "If the preimage requests has already been provided on-chain, we unreserve any deposit"]
6272				#[doc = "a user may have paid, and take the control of the preimage out of their hands."]
6273				pub struct RequestPreimage {
6274					pub hash: request_preimage::Hash,
6275				}
6276				pub mod request_preimage {
6277					use super::runtime_types;
6278					pub type Hash = ::subxt::ext::subxt_core::utils::H256;
6279				}
6280				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RequestPreimage {
6281					const PALLET: &'static str = "Preimage";
6282					const CALL: &'static str = "request_preimage";
6283				}
6284				#[derive(
6285					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6286					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6287					Debug,
6288				)]
6289				#[decode_as_type(
6290					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6291				)]
6292				#[encode_as_type(
6293					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6294				)]
6295				#[doc = "Clear a previously made request for a preimage."]
6296				#[doc = ""]
6297				#[doc = "NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`."]
6298				pub struct UnrequestPreimage {
6299					pub hash: unrequest_preimage::Hash,
6300				}
6301				pub mod unrequest_preimage {
6302					use super::runtime_types;
6303					pub type Hash = ::subxt::ext::subxt_core::utils::H256;
6304				}
6305				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for UnrequestPreimage {
6306					const PALLET: &'static str = "Preimage";
6307					const CALL: &'static str = "unrequest_preimage";
6308				}
6309				#[derive(
6310					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6311					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6312					Debug,
6313				)]
6314				#[decode_as_type(
6315					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6316				)]
6317				#[encode_as_type(
6318					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6319				)]
6320				#[doc = "Ensure that the bulk of pre-images is upgraded."]
6321				#[doc = ""]
6322				#[doc = "The caller pays no fee if at least 90% of pre-images were successfully updated."]
6323				pub struct EnsureUpdated {
6324					pub hashes: ensure_updated::Hashes,
6325				}
6326				pub mod ensure_updated {
6327					use super::runtime_types;
6328					pub type Hashes = ::subxt::ext::subxt_core::alloc::vec::Vec<
6329						::subxt::ext::subxt_core::utils::H256,
6330					>;
6331				}
6332				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for EnsureUpdated {
6333					const PALLET: &'static str = "Preimage";
6334					const CALL: &'static str = "ensure_updated";
6335				}
6336			}
6337			pub struct TransactionApi;
6338			impl TransactionApi {
6339				#[doc = "Register a preimage on-chain."]
6340				#[doc = ""]
6341				#[doc = "If the preimage was previously requested, no fees or deposits are taken for providing"]
6342				#[doc = "the preimage. Otherwise, a deposit is taken proportional to the size of the preimage."]
6343				pub fn note_preimage(
6344					&self,
6345					bytes: types::note_preimage::Bytes,
6346				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::NotePreimage> {
6347					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6348						"Preimage",
6349						"note_preimage",
6350						types::NotePreimage { bytes },
6351						[
6352							121u8, 88u8, 18u8, 92u8, 176u8, 15u8, 192u8, 198u8, 146u8, 198u8, 38u8,
6353							242u8, 213u8, 83u8, 7u8, 230u8, 14u8, 110u8, 235u8, 32u8, 215u8, 26u8,
6354							192u8, 217u8, 113u8, 224u8, 206u8, 96u8, 177u8, 198u8, 246u8, 33u8,
6355						],
6356					)
6357				}
6358				#[doc = "Clear an unrequested preimage from the runtime storage."]
6359				#[doc = ""]
6360				#[doc = "If `len` is provided, then it will be a much cheaper operation."]
6361				#[doc = ""]
6362				#[doc = "- `hash`: The hash of the preimage to be removed from the store."]
6363				#[doc = "- `len`: The length of the preimage of `hash`."]
6364				pub fn unnote_preimage(
6365					&self,
6366					hash: types::unnote_preimage::Hash,
6367				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::UnnotePreimage>
6368				{
6369					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6370						"Preimage",
6371						"unnote_preimage",
6372						types::UnnotePreimage { hash },
6373						[
6374							188u8, 116u8, 222u8, 22u8, 127u8, 215u8, 2u8, 133u8, 96u8, 202u8,
6375							190u8, 123u8, 203u8, 43u8, 200u8, 161u8, 226u8, 24u8, 49u8, 36u8,
6376							221u8, 160u8, 130u8, 119u8, 30u8, 138u8, 144u8, 85u8, 5u8, 164u8,
6377							252u8, 222u8,
6378						],
6379					)
6380				}
6381				#[doc = "Request a preimage be uploaded to the chain without paying any fees or deposits."]
6382				#[doc = ""]
6383				#[doc = "If the preimage requests has already been provided on-chain, we unreserve any deposit"]
6384				#[doc = "a user may have paid, and take the control of the preimage out of their hands."]
6385				pub fn request_preimage(
6386					&self,
6387					hash: types::request_preimage::Hash,
6388				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RequestPreimage>
6389				{
6390					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6391						"Preimage",
6392						"request_preimage",
6393						types::RequestPreimage { hash },
6394						[
6395							87u8, 0u8, 204u8, 111u8, 43u8, 115u8, 64u8, 209u8, 133u8, 13u8, 83u8,
6396							45u8, 164u8, 166u8, 233u8, 105u8, 242u8, 238u8, 235u8, 208u8, 113u8,
6397							134u8, 93u8, 242u8, 86u8, 32u8, 7u8, 152u8, 107u8, 208u8, 79u8, 59u8,
6398						],
6399					)
6400				}
6401				#[doc = "Clear a previously made request for a preimage."]
6402				#[doc = ""]
6403				#[doc = "NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`."]
6404				pub fn unrequest_preimage(
6405					&self,
6406					hash: types::unrequest_preimage::Hash,
6407				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::UnrequestPreimage>
6408				{
6409					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6410						"Preimage",
6411						"unrequest_preimage",
6412						types::UnrequestPreimage { hash },
6413						[
6414							55u8, 37u8, 224u8, 149u8, 142u8, 120u8, 8u8, 68u8, 183u8, 225u8, 255u8,
6415							240u8, 254u8, 111u8, 58u8, 200u8, 113u8, 217u8, 177u8, 203u8, 107u8,
6416							104u8, 233u8, 87u8, 252u8, 53u8, 33u8, 112u8, 116u8, 254u8, 117u8,
6417							134u8,
6418						],
6419					)
6420				}
6421				#[doc = "Ensure that the bulk of pre-images is upgraded."]
6422				#[doc = ""]
6423				#[doc = "The caller pays no fee if at least 90% of pre-images were successfully updated."]
6424				pub fn ensure_updated(
6425					&self,
6426					hashes: types::ensure_updated::Hashes,
6427				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::EnsureUpdated>
6428				{
6429					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
6430						"Preimage",
6431						"ensure_updated",
6432						types::EnsureUpdated { hashes },
6433						[
6434							254u8, 228u8, 88u8, 44u8, 126u8, 235u8, 188u8, 153u8, 61u8, 27u8,
6435							103u8, 253u8, 163u8, 161u8, 113u8, 243u8, 87u8, 136u8, 2u8, 231u8,
6436							209u8, 188u8, 215u8, 106u8, 192u8, 225u8, 75u8, 125u8, 224u8, 96u8,
6437							221u8, 90u8,
6438						],
6439					)
6440				}
6441			}
6442		}
6443		#[doc = "The `Event` enum of this pallet"]
6444		pub type Event = runtime_types::pallet_preimage::pallet::Event;
6445		pub mod events {
6446			use super::runtime_types;
6447			#[derive(
6448				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6449				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6450				Debug,
6451			)]
6452			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
6453			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
6454			#[doc = "A preimage has been noted."]
6455			pub struct Noted {
6456				pub hash: noted::Hash,
6457			}
6458			pub mod noted {
6459				use super::runtime_types;
6460				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
6461			}
6462			impl ::subxt::ext::subxt_core::events::StaticEvent for Noted {
6463				const PALLET: &'static str = "Preimage";
6464				const EVENT: &'static str = "Noted";
6465			}
6466			#[derive(
6467				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6468				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6469				Debug,
6470			)]
6471			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
6472			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
6473			#[doc = "A preimage has been requested."]
6474			pub struct Requested {
6475				pub hash: requested::Hash,
6476			}
6477			pub mod requested {
6478				use super::runtime_types;
6479				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
6480			}
6481			impl ::subxt::ext::subxt_core::events::StaticEvent for Requested {
6482				const PALLET: &'static str = "Preimage";
6483				const EVENT: &'static str = "Requested";
6484			}
6485			#[derive(
6486				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6487				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6488				Debug,
6489			)]
6490			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
6491			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
6492			#[doc = "A preimage has ben cleared."]
6493			pub struct Cleared {
6494				pub hash: cleared::Hash,
6495			}
6496			pub mod cleared {
6497				use super::runtime_types;
6498				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
6499			}
6500			impl ::subxt::ext::subxt_core::events::StaticEvent for Cleared {
6501				const PALLET: &'static str = "Preimage";
6502				const EVENT: &'static str = "Cleared";
6503			}
6504		}
6505		pub mod storage {
6506			use super::runtime_types;
6507			pub mod types {
6508				use super::runtime_types;
6509				pub mod status_for {
6510					use super::runtime_types;
6511					pub type StatusFor = runtime_types::pallet_preimage::OldRequestStatus<
6512						::subxt::ext::subxt_core::utils::AccountId32,
6513						::core::primitive::u128,
6514					>;
6515					pub type Param0 = ::subxt::ext::subxt_core::utils::H256;
6516				}
6517				pub mod request_status_for {
6518					use super::runtime_types;
6519					pub type RequestStatusFor = runtime_types::pallet_preimage::RequestStatus<
6520						::subxt::ext::subxt_core::utils::AccountId32,
6521						runtime_types::quantus_runtime::governance::definitions::PreimageDeposit,
6522					>;
6523					pub type Param0 = ::subxt::ext::subxt_core::utils::H256;
6524				}
6525				pub mod preimage_for {
6526					use super::runtime_types;
6527					pub type PreimageFor =
6528						runtime_types::bounded_collections::bounded_vec::BoundedVec<
6529							::core::primitive::u8,
6530						>;
6531					pub type Param0 =
6532						(::subxt::ext::subxt_core::utils::H256, ::core::primitive::u32);
6533				}
6534			}
6535			pub struct StorageApi;
6536			impl StorageApi {
6537				#[doc = " The request status of a given hash."]
6538				pub fn status_for_iter(
6539					&self,
6540				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6541					(),
6542					types::status_for::StatusFor,
6543					(),
6544					(),
6545					::subxt::ext::subxt_core::utils::Yes,
6546				> {
6547					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6548						"Preimage",
6549						"StatusFor",
6550						(),
6551						[
6552							187u8, 100u8, 54u8, 112u8, 96u8, 129u8, 36u8, 149u8, 127u8, 226u8,
6553							126u8, 171u8, 72u8, 189u8, 59u8, 126u8, 204u8, 125u8, 67u8, 204u8,
6554							231u8, 6u8, 212u8, 135u8, 166u8, 252u8, 5u8, 46u8, 111u8, 120u8, 54u8,
6555							209u8,
6556						],
6557					)
6558				}
6559				#[doc = " The request status of a given hash."]
6560				pub fn status_for(
6561					&self,
6562					_0: types::status_for::Param0,
6563				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6564					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
6565						types::status_for::Param0,
6566					>,
6567					types::status_for::StatusFor,
6568					::subxt::ext::subxt_core::utils::Yes,
6569					(),
6570					(),
6571				> {
6572					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6573						"Preimage",
6574						"StatusFor",
6575						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
6576						[
6577							187u8, 100u8, 54u8, 112u8, 96u8, 129u8, 36u8, 149u8, 127u8, 226u8,
6578							126u8, 171u8, 72u8, 189u8, 59u8, 126u8, 204u8, 125u8, 67u8, 204u8,
6579							231u8, 6u8, 212u8, 135u8, 166u8, 252u8, 5u8, 46u8, 111u8, 120u8, 54u8,
6580							209u8,
6581						],
6582					)
6583				}
6584				#[doc = " The request status of a given hash."]
6585				pub fn request_status_for_iter(
6586					&self,
6587				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6588					(),
6589					types::request_status_for::RequestStatusFor,
6590					(),
6591					(),
6592					::subxt::ext::subxt_core::utils::Yes,
6593				> {
6594					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6595						"Preimage",
6596						"RequestStatusFor",
6597						(),
6598						[
6599							113u8, 195u8, 77u8, 23u8, 125u8, 170u8, 77u8, 145u8, 201u8, 168u8,
6600							39u8, 13u8, 143u8, 50u8, 100u8, 92u8, 25u8, 110u8, 125u8, 20u8, 96u8,
6601							156u8, 225u8, 200u8, 57u8, 199u8, 226u8, 242u8, 230u8, 126u8, 138u8,
6602							123u8,
6603						],
6604					)
6605				}
6606				#[doc = " The request status of a given hash."]
6607				pub fn request_status_for(
6608					&self,
6609					_0: types::request_status_for::Param0,
6610				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6611					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
6612						types::request_status_for::Param0,
6613					>,
6614					types::request_status_for::RequestStatusFor,
6615					::subxt::ext::subxt_core::utils::Yes,
6616					(),
6617					(),
6618				> {
6619					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6620						"Preimage",
6621						"RequestStatusFor",
6622						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
6623						[
6624							113u8, 195u8, 77u8, 23u8, 125u8, 170u8, 77u8, 145u8, 201u8, 168u8,
6625							39u8, 13u8, 143u8, 50u8, 100u8, 92u8, 25u8, 110u8, 125u8, 20u8, 96u8,
6626							156u8, 225u8, 200u8, 57u8, 199u8, 226u8, 242u8, 230u8, 126u8, 138u8,
6627							123u8,
6628						],
6629					)
6630				}
6631				pub fn preimage_for_iter(
6632					&self,
6633				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6634					(),
6635					types::preimage_for::PreimageFor,
6636					(),
6637					(),
6638					::subxt::ext::subxt_core::utils::Yes,
6639				> {
6640					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6641						"Preimage",
6642						"PreimageFor",
6643						(),
6644						[
6645							106u8, 5u8, 17u8, 46u8, 6u8, 184u8, 177u8, 113u8, 169u8, 34u8, 119u8,
6646							141u8, 117u8, 40u8, 30u8, 94u8, 187u8, 35u8, 206u8, 216u8, 143u8,
6647							208u8, 49u8, 156u8, 200u8, 255u8, 109u8, 200u8, 210u8, 134u8, 24u8,
6648							139u8,
6649						],
6650					)
6651				}
6652				pub fn preimage_for(
6653					&self,
6654					_0: types::preimage_for::Param0,
6655				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
6656					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
6657						types::preimage_for::Param0,
6658					>,
6659					types::preimage_for::PreimageFor,
6660					::subxt::ext::subxt_core::utils::Yes,
6661					(),
6662					(),
6663				> {
6664					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
6665						"Preimage",
6666						"PreimageFor",
6667						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
6668						[
6669							106u8, 5u8, 17u8, 46u8, 6u8, 184u8, 177u8, 113u8, 169u8, 34u8, 119u8,
6670							141u8, 117u8, 40u8, 30u8, 94u8, 187u8, 35u8, 206u8, 216u8, 143u8,
6671							208u8, 49u8, 156u8, 200u8, 255u8, 109u8, 200u8, 210u8, 134u8, 24u8,
6672							139u8,
6673						],
6674					)
6675				}
6676			}
6677		}
6678	}
6679	pub mod scheduler {
6680		use super::{root_mod, runtime_types};
6681		#[doc = "The `Error` enum of this pallet."]
6682		pub type Error = runtime_types::pallet_scheduler::pallet::Error;
6683		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
6684		pub type Call = runtime_types::pallet_scheduler::pallet::Call;
6685		pub mod calls {
6686			use super::{root_mod, runtime_types};
6687			type DispatchError = runtime_types::sp_runtime::DispatchError;
6688			pub mod types {
6689				use super::runtime_types;
6690				#[derive(
6691					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6692					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6693					Debug,
6694				)]
6695				#[decode_as_type(
6696					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6697				)]
6698				#[encode_as_type(
6699					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6700				)]
6701				pub struct Schedule {
6702					pub when: schedule::When,
6703					pub priority: schedule::Priority,
6704					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<schedule::Call>,
6705				}
6706				pub mod schedule {
6707					use super::runtime_types;
6708					pub type When = ::core::primitive::u32;
6709					pub type Priority = ::core::primitive::u8;
6710					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
6711				}
6712				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Schedule {
6713					const PALLET: &'static str = "Scheduler";
6714					const CALL: &'static str = "schedule";
6715				}
6716				#[derive(
6717					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6718					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6719					Debug,
6720				)]
6721				#[decode_as_type(
6722					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6723				)]
6724				#[encode_as_type(
6725					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6726				)]
6727				#[doc = "Cancel an anonymously scheduled task."]
6728				pub struct Cancel {
6729					pub when: cancel::When,
6730					pub index: cancel::Index,
6731				}
6732				pub mod cancel {
6733					use super::runtime_types;
6734					pub type When = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
6735						::core::primitive::u32,
6736						::core::primitive::u64,
6737					>;
6738					pub type Index = ::core::primitive::u32;
6739				}
6740				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Cancel {
6741					const PALLET: &'static str = "Scheduler";
6742					const CALL: &'static str = "cancel";
6743				}
6744				#[derive(
6745					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6746					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6747					Debug,
6748				)]
6749				#[decode_as_type(
6750					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6751				)]
6752				#[encode_as_type(
6753					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6754				)]
6755				pub struct ScheduleNamed {
6756					pub id: schedule_named::Id,
6757					pub when: schedule_named::When,
6758					pub priority: schedule_named::Priority,
6759					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<schedule_named::Call>,
6760				}
6761				pub mod schedule_named {
6762					use super::runtime_types;
6763					pub type Id = [::core::primitive::u8; 32usize];
6764					pub type When = ::core::primitive::u32;
6765					pub type Priority = ::core::primitive::u8;
6766					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
6767				}
6768				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleNamed {
6769					const PALLET: &'static str = "Scheduler";
6770					const CALL: &'static str = "schedule_named";
6771				}
6772				#[derive(
6773					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6774					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6775					Debug,
6776				)]
6777				#[decode_as_type(
6778					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6779				)]
6780				#[encode_as_type(
6781					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6782				)]
6783				#[doc = "Cancel a named scheduled task."]
6784				pub struct CancelNamed {
6785					pub id: cancel_named::Id,
6786				}
6787				pub mod cancel_named {
6788					use super::runtime_types;
6789					pub type Id = [::core::primitive::u8; 32usize];
6790				}
6791				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CancelNamed {
6792					const PALLET: &'static str = "Scheduler";
6793					const CALL: &'static str = "cancel_named";
6794				}
6795				#[derive(
6796					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6797					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6798					Debug,
6799				)]
6800				#[decode_as_type(
6801					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6802				)]
6803				#[encode_as_type(
6804					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6805				)]
6806				pub struct ScheduleAfter {
6807					pub after: schedule_after::After,
6808					pub priority: schedule_after::Priority,
6809					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<schedule_after::Call>,
6810				}
6811				pub mod schedule_after {
6812					use super::runtime_types;
6813					pub type After = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
6814						::core::primitive::u32,
6815						::core::primitive::u64,
6816					>;
6817					pub type Priority = ::core::primitive::u8;
6818					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
6819				}
6820				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleAfter {
6821					const PALLET: &'static str = "Scheduler";
6822					const CALL: &'static str = "schedule_after";
6823				}
6824				#[derive(
6825					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6826					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6827					Debug,
6828				)]
6829				#[decode_as_type(
6830					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6831				)]
6832				#[encode_as_type(
6833					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6834				)]
6835				pub struct ScheduleNamedAfter {
6836					pub id: schedule_named_after::Id,
6837					pub after: schedule_named_after::After,
6838					pub priority: schedule_named_after::Priority,
6839					pub call:
6840						::subxt::ext::subxt_core::alloc::boxed::Box<schedule_named_after::Call>,
6841				}
6842				pub mod schedule_named_after {
6843					use super::runtime_types;
6844					pub type Id = [::core::primitive::u8; 32usize];
6845					pub type After = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
6846						::core::primitive::u32,
6847						::core::primitive::u64,
6848					>;
6849					pub type Priority = ::core::primitive::u8;
6850					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
6851				}
6852				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleNamedAfter {
6853					const PALLET: &'static str = "Scheduler";
6854					const CALL: &'static str = "schedule_named_after";
6855				}
6856				#[derive(
6857					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6858					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6859					Debug,
6860				)]
6861				#[decode_as_type(
6862					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6863				)]
6864				#[encode_as_type(
6865					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6866				)]
6867				#[doc = "Set a retry configuration for a task so that, in case its scheduled run fails, it will"]
6868				#[doc = "be retried after `period` blocks, for a total amount of `retries` retries or until it"]
6869				#[doc = "succeeds."]
6870				#[doc = ""]
6871				#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
6872				#[doc = "agenda space, same as a regular task."]
6873				#[doc = ""]
6874				#[doc = "Tasks scheduled as a result of a retry are unnamed"]
6875				#[doc = "clones of the original task. Their retry configuration will be derived from the"]
6876				#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
6877				#[doc = "original `total_retries`."]
6878				pub struct SetRetry {
6879					pub task: set_retry::Task,
6880					pub retries: set_retry::Retries,
6881					pub period: set_retry::Period,
6882				}
6883				pub mod set_retry {
6884					use super::runtime_types;
6885					pub type Task = (
6886						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
6887							::core::primitive::u32,
6888							::core::primitive::u64,
6889						>,
6890						::core::primitive::u32,
6891					);
6892					pub type Retries = ::core::primitive::u8;
6893					pub type Period = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
6894						::core::primitive::u32,
6895						::core::primitive::u64,
6896					>;
6897				}
6898				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetRetry {
6899					const PALLET: &'static str = "Scheduler";
6900					const CALL: &'static str = "set_retry";
6901				}
6902				#[derive(
6903					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6904					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6905					Debug,
6906				)]
6907				#[decode_as_type(
6908					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6909				)]
6910				#[encode_as_type(
6911					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6912				)]
6913				#[doc = "Set a retry configuration for a named task so that, in case its scheduled run fails, it"]
6914				#[doc = "will be retried after `period` blocks, for a total amount of `retries` retries or until"]
6915				#[doc = "it succeeds."]
6916				#[doc = ""]
6917				#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
6918				#[doc = "agenda space, same as a regular task."]
6919				#[doc = ""]
6920				#[doc = "Tasks scheduled as a result of a retry are unnamed"]
6921				#[doc = "clones of the original task. Their retry configuration will be derived from the"]
6922				#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
6923				#[doc = "original `total_retries`."]
6924				pub struct SetRetryNamed {
6925					pub id: set_retry_named::Id,
6926					pub retries: set_retry_named::Retries,
6927					pub period: set_retry_named::Period,
6928				}
6929				pub mod set_retry_named {
6930					use super::runtime_types;
6931					pub type Id = [::core::primitive::u8; 32usize];
6932					pub type Retries = ::core::primitive::u8;
6933					pub type Period = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
6934						::core::primitive::u32,
6935						::core::primitive::u64,
6936					>;
6937				}
6938				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetRetryNamed {
6939					const PALLET: &'static str = "Scheduler";
6940					const CALL: &'static str = "set_retry_named";
6941				}
6942				#[derive(
6943					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6944					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6945					Debug,
6946				)]
6947				#[decode_as_type(
6948					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6949				)]
6950				#[encode_as_type(
6951					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6952				)]
6953				#[doc = "Removes the retry configuration of a task."]
6954				pub struct CancelRetry {
6955					pub task: cancel_retry::Task,
6956				}
6957				pub mod cancel_retry {
6958					use super::runtime_types;
6959					pub type Task = (
6960						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
6961							::core::primitive::u32,
6962							::core::primitive::u64,
6963						>,
6964						::core::primitive::u32,
6965					);
6966				}
6967				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CancelRetry {
6968					const PALLET: &'static str = "Scheduler";
6969					const CALL: &'static str = "cancel_retry";
6970				}
6971				#[derive(
6972					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
6973					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
6974					Debug,
6975				)]
6976				#[decode_as_type(
6977					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
6978				)]
6979				#[encode_as_type(
6980					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
6981				)]
6982				#[doc = "Cancel the retry configuration of a named task."]
6983				pub struct CancelRetryNamed {
6984					pub id: cancel_retry_named::Id,
6985				}
6986				pub mod cancel_retry_named {
6987					use super::runtime_types;
6988					pub type Id = [::core::primitive::u8; 32usize];
6989				}
6990				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CancelRetryNamed {
6991					const PALLET: &'static str = "Scheduler";
6992					const CALL: &'static str = "cancel_retry_named";
6993				}
6994			}
6995			pub struct TransactionApi;
6996			impl TransactionApi {
6997				pub fn schedule(
6998					&self,
6999					when: types::schedule::When,
7000					priority: types::schedule::Priority,
7001					call: types::schedule::Call,
7002				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Schedule> {
7003					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7004						"Scheduler",
7005						"schedule",
7006						types::Schedule {
7007							when,
7008							priority,
7009							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
7010						},
7011						[
7012							166u8, 18u8, 39u8, 234u8, 251u8, 53u8, 21u8, 117u8, 134u8, 194u8,
7013							163u8, 196u8, 144u8, 31u8, 132u8, 122u8, 44u8, 9u8, 134u8, 32u8, 222u8,
7014							32u8, 173u8, 128u8, 182u8, 71u8, 87u8, 253u8, 109u8, 104u8, 222u8,
7015							32u8,
7016						],
7017					)
7018				}
7019				#[doc = "Cancel an anonymously scheduled task."]
7020				pub fn cancel(
7021					&self,
7022					when: types::cancel::When,
7023					index: types::cancel::Index,
7024				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Cancel> {
7025					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7026						"Scheduler",
7027						"cancel",
7028						types::Cancel { when, index },
7029						[
7030							134u8, 77u8, 15u8, 56u8, 137u8, 12u8, 58u8, 147u8, 164u8, 204u8, 221u8,
7031							150u8, 103u8, 42u8, 36u8, 79u8, 146u8, 115u8, 13u8, 194u8, 39u8, 73u8,
7032							109u8, 10u8, 168u8, 164u8, 190u8, 173u8, 30u8, 17u8, 35u8, 17u8,
7033						],
7034					)
7035				}
7036				pub fn schedule_named(
7037					&self,
7038					id: types::schedule_named::Id,
7039					when: types::schedule_named::When,
7040					priority: types::schedule_named::Priority,
7041					call: types::schedule_named::Call,
7042				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ScheduleNamed>
7043				{
7044					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7045						"Scheduler",
7046						"schedule_named",
7047						types::ScheduleNamed {
7048							id,
7049							when,
7050							priority,
7051							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
7052						},
7053						[
7054							232u8, 133u8, 188u8, 74u8, 36u8, 170u8, 171u8, 99u8, 255u8, 226u8,
7055							174u8, 26u8, 109u8, 166u8, 144u8, 41u8, 219u8, 85u8, 170u8, 155u8,
7056							192u8, 22u8, 176u8, 97u8, 47u8, 17u8, 44u8, 223u8, 100u8, 65u8, 69u8,
7057							35u8,
7058						],
7059					)
7060				}
7061				#[doc = "Cancel a named scheduled task."]
7062				pub fn cancel_named(
7063					&self,
7064					id: types::cancel_named::Id,
7065				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CancelNamed> {
7066					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7067						"Scheduler",
7068						"cancel_named",
7069						types::CancelNamed { id },
7070						[
7071							205u8, 35u8, 28u8, 57u8, 224u8, 7u8, 49u8, 233u8, 236u8, 163u8, 93u8,
7072							236u8, 103u8, 69u8, 65u8, 51u8, 121u8, 84u8, 9u8, 196u8, 147u8, 122u8,
7073							227u8, 200u8, 181u8, 233u8, 62u8, 240u8, 174u8, 83u8, 129u8, 193u8,
7074						],
7075					)
7076				}
7077				pub fn schedule_after(
7078					&self,
7079					after: types::schedule_after::After,
7080					priority: types::schedule_after::Priority,
7081					call: types::schedule_after::Call,
7082				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ScheduleAfter>
7083				{
7084					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7085						"Scheduler",
7086						"schedule_after",
7087						types::ScheduleAfter {
7088							after,
7089							priority,
7090							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
7091						},
7092						[
7093							128u8, 96u8, 130u8, 203u8, 5u8, 21u8, 127u8, 65u8, 92u8, 180u8, 92u8,
7094							228u8, 4u8, 71u8, 196u8, 224u8, 121u8, 194u8, 193u8, 213u8, 150u8,
7095							149u8, 253u8, 188u8, 121u8, 221u8, 209u8, 133u8, 46u8, 247u8, 221u8,
7096							29u8,
7097						],
7098					)
7099				}
7100				pub fn schedule_named_after(
7101					&self,
7102					id: types::schedule_named_after::Id,
7103					after: types::schedule_named_after::After,
7104					priority: types::schedule_named_after::Priority,
7105					call: types::schedule_named_after::Call,
7106				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ScheduleNamedAfter>
7107				{
7108					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7109						"Scheduler",
7110						"schedule_named_after",
7111						types::ScheduleNamedAfter {
7112							id,
7113							after,
7114							priority,
7115							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
7116						},
7117						[
7118							143u8, 66u8, 101u8, 79u8, 129u8, 219u8, 60u8, 16u8, 207u8, 159u8,
7119							231u8, 137u8, 114u8, 222u8, 149u8, 153u8, 60u8, 133u8, 35u8, 124u8,
7120							175u8, 66u8, 67u8, 97u8, 172u8, 207u8, 100u8, 13u8, 27u8, 169u8, 51u8,
7121							128u8,
7122						],
7123					)
7124				}
7125				#[doc = "Set a retry configuration for a task so that, in case its scheduled run fails, it will"]
7126				#[doc = "be retried after `period` blocks, for a total amount of `retries` retries or until it"]
7127				#[doc = "succeeds."]
7128				#[doc = ""]
7129				#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
7130				#[doc = "agenda space, same as a regular task."]
7131				#[doc = ""]
7132				#[doc = "Tasks scheduled as a result of a retry are unnamed"]
7133				#[doc = "clones of the original task. Their retry configuration will be derived from the"]
7134				#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
7135				#[doc = "original `total_retries`."]
7136				pub fn set_retry(
7137					&self,
7138					task: types::set_retry::Task,
7139					retries: types::set_retry::Retries,
7140					period: types::set_retry::Period,
7141				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetRetry> {
7142					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7143						"Scheduler",
7144						"set_retry",
7145						types::SetRetry { task, retries, period },
7146						[
7147							31u8, 128u8, 255u8, 13u8, 13u8, 252u8, 74u8, 151u8, 60u8, 242u8, 152u8,
7148							58u8, 190u8, 155u8, 132u8, 65u8, 139u8, 208u8, 222u8, 175u8, 89u8,
7149							222u8, 186u8, 98u8, 53u8, 125u8, 71u8, 55u8, 95u8, 2u8, 76u8, 248u8,
7150						],
7151					)
7152				}
7153				#[doc = "Set a retry configuration for a named task so that, in case its scheduled run fails, it"]
7154				#[doc = "will be retried after `period` blocks, for a total amount of `retries` retries or until"]
7155				#[doc = "it succeeds."]
7156				#[doc = ""]
7157				#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
7158				#[doc = "agenda space, same as a regular task."]
7159				#[doc = ""]
7160				#[doc = "Tasks scheduled as a result of a retry are unnamed"]
7161				#[doc = "clones of the original task. Their retry configuration will be derived from the"]
7162				#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
7163				#[doc = "original `total_retries`."]
7164				pub fn set_retry_named(
7165					&self,
7166					id: types::set_retry_named::Id,
7167					retries: types::set_retry_named::Retries,
7168					period: types::set_retry_named::Period,
7169				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetRetryNamed>
7170				{
7171					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7172						"Scheduler",
7173						"set_retry_named",
7174						types::SetRetryNamed { id, retries, period },
7175						[
7176							102u8, 70u8, 114u8, 48u8, 180u8, 194u8, 107u8, 81u8, 104u8, 117u8,
7177							33u8, 169u8, 43u8, 172u8, 61u8, 129u8, 143u8, 221u8, 44u8, 101u8,
7178							235u8, 228u8, 224u8, 71u8, 65u8, 223u8, 180u8, 130u8, 83u8, 89u8,
7179							157u8, 75u8,
7180						],
7181					)
7182				}
7183				#[doc = "Removes the retry configuration of a task."]
7184				pub fn cancel_retry(
7185					&self,
7186					task: types::cancel_retry::Task,
7187				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CancelRetry> {
7188					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7189						"Scheduler",
7190						"cancel_retry",
7191						types::CancelRetry { task },
7192						[
7193							153u8, 252u8, 168u8, 142u8, 100u8, 114u8, 25u8, 46u8, 225u8, 95u8,
7194							243u8, 78u8, 160u8, 175u8, 17u8, 33u8, 27u8, 241u8, 149u8, 187u8,
7195							228u8, 182u8, 233u8, 74u8, 10u8, 228u8, 117u8, 218u8, 210u8, 127u8,
7196							245u8, 105u8,
7197						],
7198					)
7199				}
7200				#[doc = "Cancel the retry configuration of a named task."]
7201				pub fn cancel_retry_named(
7202					&self,
7203					id: types::cancel_retry_named::Id,
7204				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CancelRetryNamed>
7205				{
7206					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
7207						"Scheduler",
7208						"cancel_retry_named",
7209						types::CancelRetryNamed { id },
7210						[
7211							76u8, 157u8, 253u8, 113u8, 162u8, 54u8, 98u8, 21u8, 62u8, 44u8, 155u8,
7212							202u8, 2u8, 28u8, 153u8, 219u8, 67u8, 166u8, 206u8, 79u8, 139u8, 3u8,
7213							119u8, 182u8, 254u8, 134u8, 143u8, 121u8, 155u8, 220u8, 192u8, 209u8,
7214						],
7215					)
7216				}
7217			}
7218		}
7219		#[doc = "Events type."]
7220		pub type Event = runtime_types::pallet_scheduler::pallet::Event;
7221		pub mod events {
7222			use super::runtime_types;
7223			#[derive(
7224				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7225				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7226				Debug,
7227			)]
7228			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7229			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7230			#[doc = "Scheduled some task."]
7231			pub struct Scheduled {
7232				pub when: scheduled::When,
7233				pub index: scheduled::Index,
7234			}
7235			pub mod scheduled {
7236				use super::runtime_types;
7237				pub type When = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7238					::core::primitive::u32,
7239					::core::primitive::u64,
7240				>;
7241				pub type Index = ::core::primitive::u32;
7242			}
7243			impl ::subxt::ext::subxt_core::events::StaticEvent for Scheduled {
7244				const PALLET: &'static str = "Scheduler";
7245				const EVENT: &'static str = "Scheduled";
7246			}
7247			#[derive(
7248				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7249				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7250				Debug,
7251			)]
7252			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7253			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7254			#[doc = "Canceled some task."]
7255			pub struct Canceled {
7256				pub when: canceled::When,
7257				pub index: canceled::Index,
7258			}
7259			pub mod canceled {
7260				use super::runtime_types;
7261				pub type When = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7262					::core::primitive::u32,
7263					::core::primitive::u64,
7264				>;
7265				pub type Index = ::core::primitive::u32;
7266			}
7267			impl ::subxt::ext::subxt_core::events::StaticEvent for Canceled {
7268				const PALLET: &'static str = "Scheduler";
7269				const EVENT: &'static str = "Canceled";
7270			}
7271			#[derive(
7272				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7273				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7274				Debug,
7275			)]
7276			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7277			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7278			#[doc = "Dispatched some task."]
7279			pub struct Dispatched {
7280				pub task: dispatched::Task,
7281				pub id: dispatched::Id,
7282				pub result: dispatched::Result,
7283			}
7284			pub mod dispatched {
7285				use super::runtime_types;
7286				pub type Task = (
7287					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7288						::core::primitive::u32,
7289						::core::primitive::u64,
7290					>,
7291					::core::primitive::u32,
7292				);
7293				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
7294				pub type Result =
7295					::core::result::Result<(), runtime_types::sp_runtime::DispatchError>;
7296			}
7297			impl ::subxt::ext::subxt_core::events::StaticEvent for Dispatched {
7298				const PALLET: &'static str = "Scheduler";
7299				const EVENT: &'static str = "Dispatched";
7300			}
7301			#[derive(
7302				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7303				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7304				Debug,
7305			)]
7306			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7307			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7308			#[doc = "Set a retry configuration for some task."]
7309			pub struct RetrySet {
7310				pub task: retry_set::Task,
7311				pub id: retry_set::Id,
7312				pub period: retry_set::Period,
7313				pub retries: retry_set::Retries,
7314			}
7315			pub mod retry_set {
7316				use super::runtime_types;
7317				pub type Task = (
7318					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7319						::core::primitive::u32,
7320						::core::primitive::u64,
7321					>,
7322					::core::primitive::u32,
7323				);
7324				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
7325				pub type Period = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7326					::core::primitive::u32,
7327					::core::primitive::u64,
7328				>;
7329				pub type Retries = ::core::primitive::u8;
7330			}
7331			impl ::subxt::ext::subxt_core::events::StaticEvent for RetrySet {
7332				const PALLET: &'static str = "Scheduler";
7333				const EVENT: &'static str = "RetrySet";
7334			}
7335			#[derive(
7336				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7337				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7338				Debug,
7339			)]
7340			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7341			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7342			#[doc = "Cancel a retry configuration for some task."]
7343			pub struct RetryCancelled {
7344				pub task: retry_cancelled::Task,
7345				pub id: retry_cancelled::Id,
7346			}
7347			pub mod retry_cancelled {
7348				use super::runtime_types;
7349				pub type Task = (
7350					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7351						::core::primitive::u32,
7352						::core::primitive::u64,
7353					>,
7354					::core::primitive::u32,
7355				);
7356				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
7357			}
7358			impl ::subxt::ext::subxt_core::events::StaticEvent for RetryCancelled {
7359				const PALLET: &'static str = "Scheduler";
7360				const EVENT: &'static str = "RetryCancelled";
7361			}
7362			#[derive(
7363				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7364				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7365				Debug,
7366			)]
7367			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7368			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7369			#[doc = "The call for the provided hash was not found so the task has been aborted."]
7370			pub struct CallUnavailable {
7371				pub task: call_unavailable::Task,
7372				pub id: call_unavailable::Id,
7373			}
7374			pub mod call_unavailable {
7375				use super::runtime_types;
7376				pub type Task = (
7377					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7378						::core::primitive::u32,
7379						::core::primitive::u64,
7380					>,
7381					::core::primitive::u32,
7382				);
7383				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
7384			}
7385			impl ::subxt::ext::subxt_core::events::StaticEvent for CallUnavailable {
7386				const PALLET: &'static str = "Scheduler";
7387				const EVENT: &'static str = "CallUnavailable";
7388			}
7389			#[derive(
7390				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7391				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7392				Debug,
7393			)]
7394			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7395			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7396			#[doc = "The given task was unable to be retried since the agenda is full at that block or there"]
7397			#[doc = "was not enough weight to reschedule it."]
7398			pub struct RetryFailed {
7399				pub task: retry_failed::Task,
7400				pub id: retry_failed::Id,
7401			}
7402			pub mod retry_failed {
7403				use super::runtime_types;
7404				pub type Task = (
7405					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7406						::core::primitive::u32,
7407						::core::primitive::u64,
7408					>,
7409					::core::primitive::u32,
7410				);
7411				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
7412			}
7413			impl ::subxt::ext::subxt_core::events::StaticEvent for RetryFailed {
7414				const PALLET: &'static str = "Scheduler";
7415				const EVENT: &'static str = "RetryFailed";
7416			}
7417			#[derive(
7418				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7419				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7420				Debug,
7421			)]
7422			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
7423			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
7424			#[doc = "The given task can never be executed since it is overweight."]
7425			pub struct PermanentlyOverweight {
7426				pub task: permanently_overweight::Task,
7427				pub id: permanently_overweight::Id,
7428			}
7429			pub mod permanently_overweight {
7430				use super::runtime_types;
7431				pub type Task = (
7432					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7433						::core::primitive::u32,
7434						::core::primitive::u64,
7435					>,
7436					::core::primitive::u32,
7437				);
7438				pub type Id = ::core::option::Option<[::core::primitive::u8; 32usize]>;
7439			}
7440			impl ::subxt::ext::subxt_core::events::StaticEvent for PermanentlyOverweight {
7441				const PALLET: &'static str = "Scheduler";
7442				const EVENT: &'static str = "PermanentlyOverweight";
7443			}
7444		}
7445		pub mod storage {
7446			use super::runtime_types;
7447			pub mod types {
7448				use super::runtime_types;
7449				pub mod incomplete_block_since {
7450					use super::runtime_types;
7451					pub type IncompleteBlockSince = ::core::primitive::u32;
7452				}
7453				pub mod incomplete_timestamp_since {
7454					use super::runtime_types;
7455					pub type IncompleteTimestampSince = ::core::primitive::u64;
7456				}
7457				pub mod last_processed_timestamp {
7458					use super::runtime_types;
7459					pub type LastProcessedTimestamp = ::core::primitive::u64;
7460				}
7461				pub mod agenda {
7462					use super::runtime_types;
7463					pub type Agenda = runtime_types::bounded_collections::bounded_vec::BoundedVec<
7464						::core::option::Option<
7465							runtime_types::pallet_scheduler::Scheduled<
7466								[::core::primitive::u8; 32usize],
7467								runtime_types::frame_support::traits::preimages::Bounded<
7468									runtime_types::quantus_runtime::RuntimeCall,
7469									runtime_types::qp_poseidon::PoseidonHasher,
7470								>,
7471								::core::primitive::u32,
7472								runtime_types::quantus_runtime::OriginCaller,
7473								::subxt::ext::subxt_core::utils::AccountId32,
7474								::core::primitive::u64,
7475							>,
7476						>,
7477					>;
7478					pub type Param0 = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7479						::core::primitive::u32,
7480						::core::primitive::u64,
7481					>;
7482				}
7483				pub mod retries {
7484					use super::runtime_types;
7485					pub type Retries = runtime_types::pallet_scheduler::RetryConfig<
7486						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7487							::core::primitive::u32,
7488							::core::primitive::u64,
7489						>,
7490					>;
7491					pub type Param0 = (
7492						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7493							::core::primitive::u32,
7494							::core::primitive::u64,
7495						>,
7496						::core::primitive::u32,
7497					);
7498				}
7499				pub mod lookup {
7500					use super::runtime_types;
7501					pub type Lookup = (
7502						runtime_types::qp_scheduler::BlockNumberOrTimestamp<
7503							::core::primitive::u32,
7504							::core::primitive::u64,
7505						>,
7506						::core::primitive::u32,
7507					);
7508					pub type Param0 = [::core::primitive::u8; 32usize];
7509				}
7510			}
7511			pub struct StorageApi;
7512			impl StorageApi {
7513				#[doc = " Tracks incomplete block-based agendas that need to be processed in a later block."]
7514				pub fn incomplete_block_since(
7515					&self,
7516				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7517					(),
7518					types::incomplete_block_since::IncompleteBlockSince,
7519					::subxt::ext::subxt_core::utils::Yes,
7520					(),
7521					(),
7522				> {
7523					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7524						"Scheduler",
7525						"IncompleteBlockSince",
7526						(),
7527						[
7528							134u8, 34u8, 161u8, 236u8, 176u8, 35u8, 218u8, 109u8, 229u8, 93u8,
7529							29u8, 95u8, 81u8, 106u8, 98u8, 65u8, 132u8, 91u8, 237u8, 225u8, 75u8,
7530							125u8, 81u8, 218u8, 72u8, 215u8, 20u8, 66u8, 160u8, 196u8, 68u8, 34u8,
7531						],
7532					)
7533				}
7534				#[doc = " Tracks incomplete timestamp-based agendas that need to be processed in a later block."]
7535				pub fn incomplete_timestamp_since(
7536					&self,
7537				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7538					(),
7539					types::incomplete_timestamp_since::IncompleteTimestampSince,
7540					::subxt::ext::subxt_core::utils::Yes,
7541					(),
7542					(),
7543				> {
7544					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7545						"Scheduler",
7546						"IncompleteTimestampSince",
7547						(),
7548						[
7549							223u8, 125u8, 99u8, 28u8, 81u8, 135u8, 125u8, 26u8, 3u8, 20u8, 32u8,
7550							125u8, 141u8, 114u8, 100u8, 38u8, 219u8, 191u8, 30u8, 88u8, 82u8, 33u8,
7551							140u8, 223u8, 168u8, 84u8, 144u8, 85u8, 57u8, 241u8, 97u8, 141u8,
7552						],
7553					)
7554				}
7555				#[doc = " Tracks the last timestamp bucket that was fully processed."]
7556				#[doc = " Used to avoid reprocessing all buckets from 0 on every run."]
7557				pub fn last_processed_timestamp(
7558					&self,
7559				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7560					(),
7561					types::last_processed_timestamp::LastProcessedTimestamp,
7562					::subxt::ext::subxt_core::utils::Yes,
7563					(),
7564					(),
7565				> {
7566					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7567						"Scheduler",
7568						"LastProcessedTimestamp",
7569						(),
7570						[
7571							172u8, 193u8, 6u8, 47u8, 185u8, 134u8, 179u8, 132u8, 178u8, 0u8, 228u8,
7572							198u8, 232u8, 24u8, 85u8, 199u8, 102u8, 222u8, 246u8, 178u8, 8u8,
7573							221u8, 51u8, 188u8, 239u8, 218u8, 112u8, 245u8, 46u8, 146u8, 65u8,
7574							119u8,
7575						],
7576					)
7577				}
7578				#[doc = " Items to be executed, indexed by the block number that they should be executed on."]
7579				pub fn agenda_iter(
7580					&self,
7581				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7582					(),
7583					types::agenda::Agenda,
7584					(),
7585					::subxt::ext::subxt_core::utils::Yes,
7586					::subxt::ext::subxt_core::utils::Yes,
7587				> {
7588					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7589						"Scheduler",
7590						"Agenda",
7591						(),
7592						[
7593							30u8, 205u8, 116u8, 231u8, 62u8, 200u8, 225u8, 69u8, 50u8, 106u8,
7594							175u8, 47u8, 182u8, 175u8, 231u8, 114u8, 176u8, 58u8, 24u8, 230u8,
7595							81u8, 228u8, 217u8, 72u8, 171u8, 222u8, 251u8, 218u8, 73u8, 28u8,
7596							239u8, 137u8,
7597						],
7598					)
7599				}
7600				#[doc = " Items to be executed, indexed by the block number that they should be executed on."]
7601				pub fn agenda(
7602					&self,
7603					_0: types::agenda::Param0,
7604				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7605					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
7606						types::agenda::Param0,
7607					>,
7608					types::agenda::Agenda,
7609					::subxt::ext::subxt_core::utils::Yes,
7610					::subxt::ext::subxt_core::utils::Yes,
7611					(),
7612				> {
7613					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7614						"Scheduler",
7615						"Agenda",
7616						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
7617						[
7618							30u8, 205u8, 116u8, 231u8, 62u8, 200u8, 225u8, 69u8, 50u8, 106u8,
7619							175u8, 47u8, 182u8, 175u8, 231u8, 114u8, 176u8, 58u8, 24u8, 230u8,
7620							81u8, 228u8, 217u8, 72u8, 171u8, 222u8, 251u8, 218u8, 73u8, 28u8,
7621							239u8, 137u8,
7622						],
7623					)
7624				}
7625				#[doc = " Retry configurations for items to be executed, indexed by task address."]
7626				pub fn retries_iter(
7627					&self,
7628				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7629					(),
7630					types::retries::Retries,
7631					(),
7632					(),
7633					::subxt::ext::subxt_core::utils::Yes,
7634				> {
7635					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7636						"Scheduler",
7637						"Retries",
7638						(),
7639						[
7640							94u8, 54u8, 136u8, 189u8, 244u8, 118u8, 102u8, 67u8, 203u8, 238u8,
7641							109u8, 130u8, 229u8, 246u8, 244u8, 68u8, 59u8, 132u8, 12u8, 9u8, 219u8,
7642							176u8, 251u8, 1u8, 216u8, 200u8, 205u8, 176u8, 145u8, 201u8, 206u8,
7643							108u8,
7644						],
7645					)
7646				}
7647				#[doc = " Retry configurations for items to be executed, indexed by task address."]
7648				pub fn retries(
7649					&self,
7650					_0: types::retries::Param0,
7651				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7652					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
7653						types::retries::Param0,
7654					>,
7655					types::retries::Retries,
7656					::subxt::ext::subxt_core::utils::Yes,
7657					(),
7658					(),
7659				> {
7660					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7661						"Scheduler",
7662						"Retries",
7663						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
7664						[
7665							94u8, 54u8, 136u8, 189u8, 244u8, 118u8, 102u8, 67u8, 203u8, 238u8,
7666							109u8, 130u8, 229u8, 246u8, 244u8, 68u8, 59u8, 132u8, 12u8, 9u8, 219u8,
7667							176u8, 251u8, 1u8, 216u8, 200u8, 205u8, 176u8, 145u8, 201u8, 206u8,
7668							108u8,
7669						],
7670					)
7671				}
7672				#[doc = " Lookup from a name to the block number and index of the task."]
7673				pub fn lookup_iter(
7674					&self,
7675				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7676					(),
7677					types::lookup::Lookup,
7678					(),
7679					(),
7680					::subxt::ext::subxt_core::utils::Yes,
7681				> {
7682					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7683						"Scheduler",
7684						"Lookup",
7685						(),
7686						[
7687							133u8, 194u8, 6u8, 16u8, 27u8, 10u8, 159u8, 62u8, 113u8, 59u8, 58u8,
7688							225u8, 244u8, 206u8, 35u8, 113u8, 41u8, 40u8, 89u8, 71u8, 133u8, 117u8,
7689							33u8, 192u8, 106u8, 85u8, 83u8, 186u8, 36u8, 160u8, 144u8, 221u8,
7690						],
7691					)
7692				}
7693				#[doc = " Lookup from a name to the block number and index of the task."]
7694				pub fn lookup(
7695					&self,
7696					_0: types::lookup::Param0,
7697				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
7698					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
7699						types::lookup::Param0,
7700					>,
7701					types::lookup::Lookup,
7702					::subxt::ext::subxt_core::utils::Yes,
7703					(),
7704					(),
7705				> {
7706					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
7707						"Scheduler",
7708						"Lookup",
7709						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
7710						[
7711							133u8, 194u8, 6u8, 16u8, 27u8, 10u8, 159u8, 62u8, 113u8, 59u8, 58u8,
7712							225u8, 244u8, 206u8, 35u8, 113u8, 41u8, 40u8, 89u8, 71u8, 133u8, 117u8,
7713							33u8, 192u8, 106u8, 85u8, 83u8, 186u8, 36u8, 160u8, 144u8, 221u8,
7714						],
7715					)
7716				}
7717			}
7718		}
7719		pub mod constants {
7720			use super::runtime_types;
7721			pub struct ConstantsApi;
7722			impl ConstantsApi {
7723				#[doc = " The maximum weight that may be scheduled per block for any dispatchables."]
7724				pub fn maximum_weight(
7725					&self,
7726				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
7727					runtime_types::sp_weights::weight_v2::Weight,
7728				> {
7729					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
7730						"Scheduler",
7731						"MaximumWeight",
7732						[
7733							149u8, 252u8, 129u8, 80u8, 169u8, 36u8, 79u8, 127u8, 240u8, 156u8,
7734							56u8, 202u8, 219u8, 86u8, 5u8, 65u8, 245u8, 148u8, 138u8, 243u8, 210u8,
7735							128u8, 234u8, 216u8, 240u8, 219u8, 123u8, 235u8, 21u8, 158u8, 237u8,
7736							112u8,
7737						],
7738					)
7739				}
7740				#[doc = " The maximum number of scheduled calls in the queue for a single block."]
7741				#[doc = ""]
7742				#[doc = " NOTE:"]
7743				#[doc = " + Dependent pallets' benchmarks might require a higher limit for the setting. Set a"]
7744				#[doc = " higher limit under `runtime-benchmarks` feature."]
7745				pub fn max_scheduled_per_block(
7746					&self,
7747				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
7748					::core::primitive::u32,
7749				> {
7750					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
7751						"Scheduler",
7752						"MaxScheduledPerBlock",
7753						[
7754							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
7755							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
7756							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
7757							145u8,
7758						],
7759					)
7760				}
7761				#[doc = " Precision of the timestamp buckets."]
7762				#[doc = ""]
7763				#[doc = " Timestamp based dispatches are rounded to the nearest bucket of this precision."]
7764				pub fn timestamp_bucket_size(
7765					&self,
7766				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
7767					::core::primitive::u64,
7768				> {
7769					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
7770						"Scheduler",
7771						"TimestampBucketSize",
7772						[
7773							128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8,
7774							59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8,
7775							103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8,
7776							246u8,
7777						],
7778					)
7779				}
7780			}
7781		}
7782	}
7783	pub mod utility {
7784		use super::{root_mod, runtime_types};
7785		#[doc = "The `Error` enum of this pallet."]
7786		pub type Error = runtime_types::pallet_utility::pallet::Error;
7787		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
7788		pub type Call = runtime_types::pallet_utility::pallet::Call;
7789		pub mod calls {
7790			use super::{root_mod, runtime_types};
7791			type DispatchError = runtime_types::sp_runtime::DispatchError;
7792			pub mod types {
7793				use super::runtime_types;
7794				#[derive(
7795					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7796					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7797					Debug,
7798				)]
7799				#[decode_as_type(
7800					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7801				)]
7802				#[encode_as_type(
7803					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7804				)]
7805				#[doc = "Send a batch of dispatch calls."]
7806				#[doc = ""]
7807				#[doc = "May be called from any origin except `None`."]
7808				#[doc = ""]
7809				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
7810				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
7811				#[doc = ""]
7812				#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
7813				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
7814				#[doc = ""]
7815				#[doc = "## Complexity"]
7816				#[doc = "- O(C) where C is the number of calls to be batched."]
7817				#[doc = ""]
7818				#[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"]
7819				#[doc = "event is deposited. If a call failed and the batch was interrupted, then the"]
7820				#[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"]
7821				#[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"]
7822				#[doc = "event is deposited."]
7823				pub struct Batch {
7824					pub calls: batch::Calls,
7825				}
7826				pub mod batch {
7827					use super::runtime_types;
7828					pub type Calls = ::subxt::ext::subxt_core::alloc::vec::Vec<
7829						runtime_types::quantus_runtime::RuntimeCall,
7830					>;
7831				}
7832				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Batch {
7833					const PALLET: &'static str = "Utility";
7834					const CALL: &'static str = "batch";
7835				}
7836				#[derive(
7837					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7838					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7839					Debug,
7840				)]
7841				#[decode_as_type(
7842					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7843				)]
7844				#[encode_as_type(
7845					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7846				)]
7847				#[doc = "Send a call through an indexed pseudonym of the sender."]
7848				#[doc = ""]
7849				#[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"]
7850				#[doc = "use the same filter as the origin of this call."]
7851				#[doc = ""]
7852				#[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."]
7853				#[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"]
7854				#[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"]
7855				#[doc = "in the Multisig pallet instead."]
7856				#[doc = ""]
7857				#[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."]
7858				#[doc = ""]
7859				#[doc = "The dispatch origin for this call must be _Signed_."]
7860				pub struct AsDerivative {
7861					pub index: as_derivative::Index,
7862					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<as_derivative::Call>,
7863				}
7864				pub mod as_derivative {
7865					use super::runtime_types;
7866					pub type Index = ::core::primitive::u16;
7867					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
7868				}
7869				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for AsDerivative {
7870					const PALLET: &'static str = "Utility";
7871					const CALL: &'static str = "as_derivative";
7872				}
7873				#[derive(
7874					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7875					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7876					Debug,
7877				)]
7878				#[decode_as_type(
7879					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7880				)]
7881				#[encode_as_type(
7882					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7883				)]
7884				#[doc = "Send a batch of dispatch calls and atomically execute them."]
7885				#[doc = "The whole transaction will rollback and fail if any of the calls failed."]
7886				#[doc = ""]
7887				#[doc = "May be called from any origin except `None`."]
7888				#[doc = ""]
7889				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
7890				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
7891				#[doc = ""]
7892				#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
7893				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
7894				#[doc = ""]
7895				#[doc = "## Complexity"]
7896				#[doc = "- O(C) where C is the number of calls to be batched."]
7897				pub struct BatchAll {
7898					pub calls: batch_all::Calls,
7899				}
7900				pub mod batch_all {
7901					use super::runtime_types;
7902					pub type Calls = ::subxt::ext::subxt_core::alloc::vec::Vec<
7903						runtime_types::quantus_runtime::RuntimeCall,
7904					>;
7905				}
7906				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for BatchAll {
7907					const PALLET: &'static str = "Utility";
7908					const CALL: &'static str = "batch_all";
7909				}
7910				#[derive(
7911					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7912					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7913					Debug,
7914				)]
7915				#[decode_as_type(
7916					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7917				)]
7918				#[encode_as_type(
7919					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7920				)]
7921				#[doc = "Dispatches a function call with a provided origin."]
7922				#[doc = ""]
7923				#[doc = "The dispatch origin for this call must be _Root_."]
7924				#[doc = ""]
7925				#[doc = "## Complexity"]
7926				#[doc = "- O(1)."]
7927				pub struct DispatchAs {
7928					pub as_origin:
7929						::subxt::ext::subxt_core::alloc::boxed::Box<dispatch_as::AsOrigin>,
7930					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<dispatch_as::Call>,
7931				}
7932				pub mod dispatch_as {
7933					use super::runtime_types;
7934					pub type AsOrigin = runtime_types::quantus_runtime::OriginCaller;
7935					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
7936				}
7937				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for DispatchAs {
7938					const PALLET: &'static str = "Utility";
7939					const CALL: &'static str = "dispatch_as";
7940				}
7941				#[derive(
7942					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7943					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7944					Debug,
7945				)]
7946				#[decode_as_type(
7947					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7948				)]
7949				#[encode_as_type(
7950					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7951				)]
7952				#[doc = "Send a batch of dispatch calls."]
7953				#[doc = "Unlike `batch`, it allows errors and won't interrupt."]
7954				#[doc = ""]
7955				#[doc = "May be called from any origin except `None`."]
7956				#[doc = ""]
7957				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
7958				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
7959				#[doc = ""]
7960				#[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"]
7961				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
7962				#[doc = ""]
7963				#[doc = "## Complexity"]
7964				#[doc = "- O(C) where C is the number of calls to be batched."]
7965				pub struct ForceBatch {
7966					pub calls: force_batch::Calls,
7967				}
7968				pub mod force_batch {
7969					use super::runtime_types;
7970					pub type Calls = ::subxt::ext::subxt_core::alloc::vec::Vec<
7971						runtime_types::quantus_runtime::RuntimeCall,
7972					>;
7973				}
7974				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceBatch {
7975					const PALLET: &'static str = "Utility";
7976					const CALL: &'static str = "force_batch";
7977				}
7978				#[derive(
7979					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
7980					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
7981					Debug,
7982				)]
7983				#[decode_as_type(
7984					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
7985				)]
7986				#[encode_as_type(
7987					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
7988				)]
7989				#[doc = "Dispatch a function call with a specified weight."]
7990				#[doc = ""]
7991				#[doc = "This function does not check the weight of the call, and instead allows the"]
7992				#[doc = "Root origin to specify the weight of the call."]
7993				#[doc = ""]
7994				#[doc = "The dispatch origin for this call must be _Root_."]
7995				pub struct WithWeight {
7996					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<with_weight::Call>,
7997					pub weight: with_weight::Weight,
7998				}
7999				pub mod with_weight {
8000					use super::runtime_types;
8001					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
8002					pub type Weight = runtime_types::sp_weights::weight_v2::Weight;
8003				}
8004				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for WithWeight {
8005					const PALLET: &'static str = "Utility";
8006					const CALL: &'static str = "with_weight";
8007				}
8008				#[derive(
8009					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8010					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8011					Debug,
8012				)]
8013				#[decode_as_type(
8014					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8015				)]
8016				#[encode_as_type(
8017					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8018				)]
8019				#[doc = "Dispatch a fallback call in the event the main call fails to execute."]
8020				#[doc = "May be called from any origin except `None`."]
8021				#[doc = ""]
8022				#[doc = "This function first attempts to dispatch the `main` call."]
8023				#[doc = "If the `main` call fails, the `fallback` is attemted."]
8024				#[doc = "if the fallback is successfully dispatched, the weights of both calls"]
8025				#[doc = "are accumulated and an event containing the main call error is deposited."]
8026				#[doc = ""]
8027				#[doc = "In the event of a fallback failure the whole call fails"]
8028				#[doc = "with the weights returned."]
8029				#[doc = ""]
8030				#[doc = "- `main`: The main call to be dispatched. This is the primary action to execute."]
8031				#[doc = "- `fallback`: The fallback call to be dispatched in case the `main` call fails."]
8032				#[doc = ""]
8033				#[doc = "## Dispatch Logic"]
8034				#[doc = "- If the origin is `root`, both the main and fallback calls are executed without"]
8035				#[doc = "  applying any origin filters."]
8036				#[doc = "- If the origin is not `root`, the origin filter is applied to both the `main` and"]
8037				#[doc = "  `fallback` calls."]
8038				#[doc = ""]
8039				#[doc = "## Use Case"]
8040				#[doc = "- Some use cases might involve submitting a `batch` type call in either main, fallback"]
8041				#[doc = "  or both."]
8042				pub struct IfElse {
8043					pub main: ::subxt::ext::subxt_core::alloc::boxed::Box<if_else::Main>,
8044					pub fallback: ::subxt::ext::subxt_core::alloc::boxed::Box<if_else::Fallback>,
8045				}
8046				pub mod if_else {
8047					use super::runtime_types;
8048					pub type Main = runtime_types::quantus_runtime::RuntimeCall;
8049					pub type Fallback = runtime_types::quantus_runtime::RuntimeCall;
8050				}
8051				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for IfElse {
8052					const PALLET: &'static str = "Utility";
8053					const CALL: &'static str = "if_else";
8054				}
8055				#[derive(
8056					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8057					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8058					Debug,
8059				)]
8060				#[decode_as_type(
8061					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8062				)]
8063				#[encode_as_type(
8064					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8065				)]
8066				#[doc = "Dispatches a function call with a provided origin."]
8067				#[doc = ""]
8068				#[doc = "Almost the same as [`Pallet::dispatch_as`] but forwards any error of the inner call."]
8069				#[doc = ""]
8070				#[doc = "The dispatch origin for this call must be _Root_."]
8071				pub struct DispatchAsFallible {
8072					pub as_origin:
8073						::subxt::ext::subxt_core::alloc::boxed::Box<dispatch_as_fallible::AsOrigin>,
8074					pub call:
8075						::subxt::ext::subxt_core::alloc::boxed::Box<dispatch_as_fallible::Call>,
8076				}
8077				pub mod dispatch_as_fallible {
8078					use super::runtime_types;
8079					pub type AsOrigin = runtime_types::quantus_runtime::OriginCaller;
8080					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
8081				}
8082				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for DispatchAsFallible {
8083					const PALLET: &'static str = "Utility";
8084					const CALL: &'static str = "dispatch_as_fallible";
8085				}
8086			}
8087			pub struct TransactionApi;
8088			impl TransactionApi {
8089				#[doc = "Send a batch of dispatch calls."]
8090				#[doc = ""]
8091				#[doc = "May be called from any origin except `None`."]
8092				#[doc = ""]
8093				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
8094				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
8095				#[doc = ""]
8096				#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
8097				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
8098				#[doc = ""]
8099				#[doc = "## Complexity"]
8100				#[doc = "- O(C) where C is the number of calls to be batched."]
8101				#[doc = ""]
8102				#[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"]
8103				#[doc = "event is deposited. If a call failed and the batch was interrupted, then the"]
8104				#[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"]
8105				#[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"]
8106				#[doc = "event is deposited."]
8107				pub fn batch(
8108					&self,
8109					calls: types::batch::Calls,
8110				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Batch> {
8111					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8112						"Utility",
8113						"batch",
8114						types::Batch { calls },
8115						[
8116							12u8, 35u8, 169u8, 238u8, 108u8, 124u8, 242u8, 241u8, 158u8, 144u8,
8117							55u8, 181u8, 164u8, 80u8, 109u8, 149u8, 149u8, 89u8, 202u8, 4u8, 65u8,
8118							16u8, 217u8, 49u8, 232u8, 146u8, 244u8, 123u8, 48u8, 8u8, 45u8, 101u8,
8119						],
8120					)
8121				}
8122				#[doc = "Send a call through an indexed pseudonym of the sender."]
8123				#[doc = ""]
8124				#[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"]
8125				#[doc = "use the same filter as the origin of this call."]
8126				#[doc = ""]
8127				#[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."]
8128				#[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"]
8129				#[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"]
8130				#[doc = "in the Multisig pallet instead."]
8131				#[doc = ""]
8132				#[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."]
8133				#[doc = ""]
8134				#[doc = "The dispatch origin for this call must be _Signed_."]
8135				pub fn as_derivative(
8136					&self,
8137					index: types::as_derivative::Index,
8138					call: types::as_derivative::Call,
8139				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::AsDerivative> {
8140					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8141						"Utility",
8142						"as_derivative",
8143						types::AsDerivative {
8144							index,
8145							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
8146						},
8147						[
8148							58u8, 129u8, 55u8, 87u8, 210u8, 249u8, 143u8, 136u8, 81u8, 237u8, 43u8,
8149							136u8, 156u8, 85u8, 92u8, 204u8, 228u8, 131u8, 218u8, 62u8, 54u8, 87u8,
8150							20u8, 248u8, 249u8, 118u8, 83u8, 233u8, 174u8, 3u8, 69u8, 110u8,
8151						],
8152					)
8153				}
8154				#[doc = "Send a batch of dispatch calls and atomically execute them."]
8155				#[doc = "The whole transaction will rollback and fail if any of the calls failed."]
8156				#[doc = ""]
8157				#[doc = "May be called from any origin except `None`."]
8158				#[doc = ""]
8159				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
8160				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
8161				#[doc = ""]
8162				#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
8163				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
8164				#[doc = ""]
8165				#[doc = "## Complexity"]
8166				#[doc = "- O(C) where C is the number of calls to be batched."]
8167				pub fn batch_all(
8168					&self,
8169					calls: types::batch_all::Calls,
8170				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::BatchAll> {
8171					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8172						"Utility",
8173						"batch_all",
8174						types::BatchAll { calls },
8175						[
8176							160u8, 132u8, 211u8, 158u8, 79u8, 68u8, 196u8, 4u8, 17u8, 136u8, 198u8,
8177							11u8, 217u8, 69u8, 52u8, 19u8, 244u8, 95u8, 1u8, 43u8, 47u8, 107u8,
8178							71u8, 70u8, 129u8, 180u8, 96u8, 162u8, 243u8, 62u8, 255u8, 246u8,
8179						],
8180					)
8181				}
8182				#[doc = "Dispatches a function call with a provided origin."]
8183				#[doc = ""]
8184				#[doc = "The dispatch origin for this call must be _Root_."]
8185				#[doc = ""]
8186				#[doc = "## Complexity"]
8187				#[doc = "- O(1)."]
8188				pub fn dispatch_as(
8189					&self,
8190					as_origin: types::dispatch_as::AsOrigin,
8191					call: types::dispatch_as::Call,
8192				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::DispatchAs> {
8193					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8194						"Utility",
8195						"dispatch_as",
8196						types::DispatchAs {
8197							as_origin: ::subxt::ext::subxt_core::alloc::boxed::Box::new(as_origin),
8198							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
8199						},
8200						[
8201							70u8, 236u8, 128u8, 245u8, 79u8, 164u8, 36u8, 254u8, 249u8, 100u8,
8202							132u8, 160u8, 42u8, 245u8, 92u8, 122u8, 66u8, 71u8, 16u8, 194u8, 241u8,
8203							243u8, 146u8, 27u8, 3u8, 164u8, 155u8, 37u8, 133u8, 93u8, 15u8, 255u8,
8204						],
8205					)
8206				}
8207				#[doc = "Send a batch of dispatch calls."]
8208				#[doc = "Unlike `batch`, it allows errors and won't interrupt."]
8209				#[doc = ""]
8210				#[doc = "May be called from any origin except `None`."]
8211				#[doc = ""]
8212				#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
8213				#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
8214				#[doc = ""]
8215				#[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"]
8216				#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
8217				#[doc = ""]
8218				#[doc = "## Complexity"]
8219				#[doc = "- O(C) where C is the number of calls to be batched."]
8220				pub fn force_batch(
8221					&self,
8222					calls: types::force_batch::Calls,
8223				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceBatch> {
8224					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8225						"Utility",
8226						"force_batch",
8227						types::ForceBatch { calls },
8228						[
8229							201u8, 43u8, 241u8, 144u8, 76u8, 120u8, 232u8, 97u8, 84u8, 126u8,
8230							227u8, 232u8, 69u8, 158u8, 222u8, 176u8, 144u8, 160u8, 104u8, 207u8,
8231							5u8, 106u8, 72u8, 119u8, 162u8, 214u8, 219u8, 131u8, 207u8, 153u8,
8232							24u8, 247u8,
8233						],
8234					)
8235				}
8236				#[doc = "Dispatch a function call with a specified weight."]
8237				#[doc = ""]
8238				#[doc = "This function does not check the weight of the call, and instead allows the"]
8239				#[doc = "Root origin to specify the weight of the call."]
8240				#[doc = ""]
8241				#[doc = "The dispatch origin for this call must be _Root_."]
8242				pub fn with_weight(
8243					&self,
8244					call: types::with_weight::Call,
8245					weight: types::with_weight::Weight,
8246				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::WithWeight> {
8247					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8248						"Utility",
8249						"with_weight",
8250						types::WithWeight {
8251							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
8252							weight,
8253						},
8254						[
8255							241u8, 184u8, 146u8, 128u8, 160u8, 33u8, 170u8, 130u8, 105u8, 26u8,
8256							128u8, 181u8, 154u8, 95u8, 76u8, 32u8, 133u8, 8u8, 115u8, 144u8, 198u8,
8257							25u8, 84u8, 96u8, 155u8, 30u8, 249u8, 235u8, 223u8, 158u8, 37u8, 13u8,
8258						],
8259					)
8260				}
8261				#[doc = "Dispatch a fallback call in the event the main call fails to execute."]
8262				#[doc = "May be called from any origin except `None`."]
8263				#[doc = ""]
8264				#[doc = "This function first attempts to dispatch the `main` call."]
8265				#[doc = "If the `main` call fails, the `fallback` is attemted."]
8266				#[doc = "if the fallback is successfully dispatched, the weights of both calls"]
8267				#[doc = "are accumulated and an event containing the main call error is deposited."]
8268				#[doc = ""]
8269				#[doc = "In the event of a fallback failure the whole call fails"]
8270				#[doc = "with the weights returned."]
8271				#[doc = ""]
8272				#[doc = "- `main`: The main call to be dispatched. This is the primary action to execute."]
8273				#[doc = "- `fallback`: The fallback call to be dispatched in case the `main` call fails."]
8274				#[doc = ""]
8275				#[doc = "## Dispatch Logic"]
8276				#[doc = "- If the origin is `root`, both the main and fallback calls are executed without"]
8277				#[doc = "  applying any origin filters."]
8278				#[doc = "- If the origin is not `root`, the origin filter is applied to both the `main` and"]
8279				#[doc = "  `fallback` calls."]
8280				#[doc = ""]
8281				#[doc = "## Use Case"]
8282				#[doc = "- Some use cases might involve submitting a `batch` type call in either main, fallback"]
8283				#[doc = "  or both."]
8284				pub fn if_else(
8285					&self,
8286					main: types::if_else::Main,
8287					fallback: types::if_else::Fallback,
8288				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::IfElse> {
8289					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8290						"Utility",
8291						"if_else",
8292						types::IfElse {
8293							main: ::subxt::ext::subxt_core::alloc::boxed::Box::new(main),
8294							fallback: ::subxt::ext::subxt_core::alloc::boxed::Box::new(fallback),
8295						},
8296						[
8297							199u8, 6u8, 145u8, 140u8, 251u8, 79u8, 237u8, 173u8, 162u8, 41u8, 31u8,
8298							94u8, 225u8, 34u8, 245u8, 153u8, 233u8, 225u8, 87u8, 190u8, 233u8,
8299							191u8, 3u8, 25u8, 216u8, 212u8, 30u8, 180u8, 168u8, 145u8, 54u8, 150u8,
8300						],
8301					)
8302				}
8303				#[doc = "Dispatches a function call with a provided origin."]
8304				#[doc = ""]
8305				#[doc = "Almost the same as [`Pallet::dispatch_as`] but forwards any error of the inner call."]
8306				#[doc = ""]
8307				#[doc = "The dispatch origin for this call must be _Root_."]
8308				pub fn dispatch_as_fallible(
8309					&self,
8310					as_origin: types::dispatch_as_fallible::AsOrigin,
8311					call: types::dispatch_as_fallible::Call,
8312				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::DispatchAsFallible>
8313				{
8314					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8315						"Utility",
8316						"dispatch_as_fallible",
8317						types::DispatchAsFallible {
8318							as_origin: ::subxt::ext::subxt_core::alloc::boxed::Box::new(as_origin),
8319							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
8320						},
8321						[
8322							222u8, 246u8, 25u8, 101u8, 155u8, 44u8, 93u8, 141u8, 239u8, 33u8,
8323							186u8, 124u8, 253u8, 4u8, 203u8, 161u8, 102u8, 220u8, 158u8, 48u8,
8324							81u8, 82u8, 9u8, 99u8, 50u8, 26u8, 210u8, 64u8, 165u8, 102u8, 227u8,
8325							84u8,
8326						],
8327					)
8328				}
8329			}
8330		}
8331		#[doc = "The `Event` enum of this pallet"]
8332		pub type Event = runtime_types::pallet_utility::pallet::Event;
8333		pub mod events {
8334			use super::runtime_types;
8335			#[derive(
8336				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8337				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8338				Debug,
8339			)]
8340			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8341			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8342			#[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"]
8343			#[doc = "well as the error."]
8344			pub struct BatchInterrupted {
8345				pub index: batch_interrupted::Index,
8346				pub error: batch_interrupted::Error,
8347			}
8348			pub mod batch_interrupted {
8349				use super::runtime_types;
8350				pub type Index = ::core::primitive::u32;
8351				pub type Error = runtime_types::sp_runtime::DispatchError;
8352			}
8353			impl ::subxt::ext::subxt_core::events::StaticEvent for BatchInterrupted {
8354				const PALLET: &'static str = "Utility";
8355				const EVENT: &'static str = "BatchInterrupted";
8356			}
8357			#[derive(
8358				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8359				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8360				Debug,
8361			)]
8362			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8363			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8364			#[doc = "Batch of dispatches completed fully with no error."]
8365			pub struct BatchCompleted;
8366			impl ::subxt::ext::subxt_core::events::StaticEvent for BatchCompleted {
8367				const PALLET: &'static str = "Utility";
8368				const EVENT: &'static str = "BatchCompleted";
8369			}
8370			#[derive(
8371				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8372				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8373				Debug,
8374			)]
8375			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8376			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8377			#[doc = "Batch of dispatches completed but has errors."]
8378			pub struct BatchCompletedWithErrors;
8379			impl ::subxt::ext::subxt_core::events::StaticEvent for BatchCompletedWithErrors {
8380				const PALLET: &'static str = "Utility";
8381				const EVENT: &'static str = "BatchCompletedWithErrors";
8382			}
8383			#[derive(
8384				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8385				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8386				Debug,
8387			)]
8388			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8389			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8390			#[doc = "A single item within a Batch of dispatches has completed with no error."]
8391			pub struct ItemCompleted;
8392			impl ::subxt::ext::subxt_core::events::StaticEvent for ItemCompleted {
8393				const PALLET: &'static str = "Utility";
8394				const EVENT: &'static str = "ItemCompleted";
8395			}
8396			#[derive(
8397				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8398				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8399				Debug,
8400			)]
8401			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8402			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8403			#[doc = "A single item within a Batch of dispatches has completed with error."]
8404			pub struct ItemFailed {
8405				pub error: item_failed::Error,
8406			}
8407			pub mod item_failed {
8408				use super::runtime_types;
8409				pub type Error = runtime_types::sp_runtime::DispatchError;
8410			}
8411			impl ::subxt::ext::subxt_core::events::StaticEvent for ItemFailed {
8412				const PALLET: &'static str = "Utility";
8413				const EVENT: &'static str = "ItemFailed";
8414			}
8415			#[derive(
8416				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8417				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8418				Debug,
8419			)]
8420			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8421			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8422			#[doc = "A call was dispatched."]
8423			pub struct DispatchedAs {
8424				pub result: dispatched_as::Result,
8425			}
8426			pub mod dispatched_as {
8427				use super::runtime_types;
8428				pub type Result =
8429					::core::result::Result<(), runtime_types::sp_runtime::DispatchError>;
8430			}
8431			impl ::subxt::ext::subxt_core::events::StaticEvent for DispatchedAs {
8432				const PALLET: &'static str = "Utility";
8433				const EVENT: &'static str = "DispatchedAs";
8434			}
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(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8441			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8442			#[doc = "Main call was dispatched."]
8443			pub struct IfElseMainSuccess;
8444			impl ::subxt::ext::subxt_core::events::StaticEvent for IfElseMainSuccess {
8445				const PALLET: &'static str = "Utility";
8446				const EVENT: &'static str = "IfElseMainSuccess";
8447			}
8448			#[derive(
8449				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8450				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8451				Debug,
8452			)]
8453			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
8454			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
8455			#[doc = "The fallback call was dispatched."]
8456			pub struct IfElseFallbackCalled {
8457				pub main_error: if_else_fallback_called::MainError,
8458			}
8459			pub mod if_else_fallback_called {
8460				use super::runtime_types;
8461				pub type MainError = runtime_types::sp_runtime::DispatchError;
8462			}
8463			impl ::subxt::ext::subxt_core::events::StaticEvent for IfElseFallbackCalled {
8464				const PALLET: &'static str = "Utility";
8465				const EVENT: &'static str = "IfElseFallbackCalled";
8466			}
8467		}
8468		pub mod constants {
8469			use super::runtime_types;
8470			pub struct ConstantsApi;
8471			impl ConstantsApi {
8472				#[doc = " The limit on the number of batched calls."]
8473				pub fn batched_calls_limit(
8474					&self,
8475				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
8476					::core::primitive::u32,
8477				> {
8478					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
8479						"Utility",
8480						"batched_calls_limit",
8481						[
8482							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
8483							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
8484							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
8485							145u8,
8486						],
8487					)
8488				}
8489			}
8490		}
8491	}
8492	pub mod referenda {
8493		use super::{root_mod, runtime_types};
8494		#[doc = "The `Error` enum of this pallet."]
8495		pub type Error = runtime_types::pallet_referenda::pallet::Error;
8496		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
8497		pub type Call = runtime_types::pallet_referenda::pallet::Call;
8498		pub mod calls {
8499			use super::{root_mod, runtime_types};
8500			type DispatchError = runtime_types::sp_runtime::DispatchError;
8501			pub mod types {
8502				use super::runtime_types;
8503				#[derive(
8504					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8505					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8506					Debug,
8507				)]
8508				#[decode_as_type(
8509					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8510				)]
8511				#[encode_as_type(
8512					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8513				)]
8514				#[doc = "Propose a referendum on a privileged action."]
8515				#[doc = ""]
8516				#[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"]
8517				#[doc = "  available."]
8518				#[doc = "- `proposal_origin`: The origin from which the proposal should be executed."]
8519				#[doc = "- `proposal`: The proposal."]
8520				#[doc = "- `enactment_moment`: The moment that the proposal should be enacted."]
8521				#[doc = ""]
8522				#[doc = "Emits `Submitted`."]
8523				pub struct Submit {
8524					pub proposal_origin:
8525						::subxt::ext::subxt_core::alloc::boxed::Box<submit::ProposalOrigin>,
8526					pub proposal: submit::Proposal,
8527					pub enactment_moment: submit::EnactmentMoment,
8528				}
8529				pub mod submit {
8530					use super::runtime_types;
8531					pub type ProposalOrigin = runtime_types::quantus_runtime::OriginCaller;
8532					pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
8533						runtime_types::quantus_runtime::RuntimeCall,
8534						runtime_types::qp_poseidon::PoseidonHasher,
8535					>;
8536					pub type EnactmentMoment =
8537						runtime_types::frame_support::traits::schedule::DispatchTime<
8538							::core::primitive::u32,
8539						>;
8540				}
8541				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Submit {
8542					const PALLET: &'static str = "Referenda";
8543					const CALL: &'static str = "submit";
8544				}
8545				#[derive(
8546					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8547					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8548					Debug,
8549				)]
8550				#[decode_as_type(
8551					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8552				)]
8553				#[encode_as_type(
8554					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8555				)]
8556				#[doc = "Post the Decision Deposit for a referendum."]
8557				#[doc = ""]
8558				#[doc = "- `origin`: must be `Signed` and the account must have funds available for the"]
8559				#[doc = "  referendum's track's Decision Deposit."]
8560				#[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"]
8561				#[doc = "  posted."]
8562				#[doc = ""]
8563				#[doc = "Emits `DecisionDepositPlaced`."]
8564				pub struct PlaceDecisionDeposit {
8565					pub index: place_decision_deposit::Index,
8566				}
8567				pub mod place_decision_deposit {
8568					use super::runtime_types;
8569					pub type Index = ::core::primitive::u32;
8570				}
8571				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for PlaceDecisionDeposit {
8572					const PALLET: &'static str = "Referenda";
8573					const CALL: &'static str = "place_decision_deposit";
8574				}
8575				#[derive(
8576					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8577					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8578					Debug,
8579				)]
8580				#[decode_as_type(
8581					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8582				)]
8583				#[encode_as_type(
8584					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8585				)]
8586				#[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."]
8587				#[doc = ""]
8588				#[doc = "- `origin`: must be `Signed` or `Root`."]
8589				#[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"]
8590				#[doc = "  refunded."]
8591				#[doc = ""]
8592				#[doc = "Emits `DecisionDepositRefunded`."]
8593				pub struct RefundDecisionDeposit {
8594					pub index: refund_decision_deposit::Index,
8595				}
8596				pub mod refund_decision_deposit {
8597					use super::runtime_types;
8598					pub type Index = ::core::primitive::u32;
8599				}
8600				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RefundDecisionDeposit {
8601					const PALLET: &'static str = "Referenda";
8602					const CALL: &'static str = "refund_decision_deposit";
8603				}
8604				#[derive(
8605					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8606					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8607					Debug,
8608				)]
8609				#[decode_as_type(
8610					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8611				)]
8612				#[encode_as_type(
8613					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8614				)]
8615				#[doc = "Cancel an ongoing referendum."]
8616				#[doc = ""]
8617				#[doc = "- `origin`: must be the `CancelOrigin`."]
8618				#[doc = "- `index`: The index of the referendum to be cancelled."]
8619				#[doc = ""]
8620				#[doc = "Emits `Cancelled`."]
8621				pub struct Cancel {
8622					pub index: cancel::Index,
8623				}
8624				pub mod cancel {
8625					use super::runtime_types;
8626					pub type Index = ::core::primitive::u32;
8627				}
8628				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Cancel {
8629					const PALLET: &'static str = "Referenda";
8630					const CALL: &'static str = "cancel";
8631				}
8632				#[derive(
8633					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8634					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8635					Debug,
8636				)]
8637				#[decode_as_type(
8638					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8639				)]
8640				#[encode_as_type(
8641					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8642				)]
8643				#[doc = "Cancel an ongoing referendum and slash the deposits."]
8644				#[doc = ""]
8645				#[doc = "- `origin`: must be the `KillOrigin`."]
8646				#[doc = "- `index`: The index of the referendum to be cancelled."]
8647				#[doc = ""]
8648				#[doc = "Emits `Killed` and `DepositSlashed`."]
8649				pub struct Kill {
8650					pub index: kill::Index,
8651				}
8652				pub mod kill {
8653					use super::runtime_types;
8654					pub type Index = ::core::primitive::u32;
8655				}
8656				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Kill {
8657					const PALLET: &'static str = "Referenda";
8658					const CALL: &'static str = "kill";
8659				}
8660				#[derive(
8661					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8662					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8663					Debug,
8664				)]
8665				#[decode_as_type(
8666					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8667				)]
8668				#[encode_as_type(
8669					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8670				)]
8671				#[doc = "Advance a referendum onto its next logical state. Only used internally."]
8672				#[doc = ""]
8673				#[doc = "- `origin`: must be `Root`."]
8674				#[doc = "- `index`: the referendum to be advanced."]
8675				pub struct NudgeReferendum {
8676					pub index: nudge_referendum::Index,
8677				}
8678				pub mod nudge_referendum {
8679					use super::runtime_types;
8680					pub type Index = ::core::primitive::u32;
8681				}
8682				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for NudgeReferendum {
8683					const PALLET: &'static str = "Referenda";
8684					const CALL: &'static str = "nudge_referendum";
8685				}
8686				#[derive(
8687					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8688					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8689					Debug,
8690				)]
8691				#[decode_as_type(
8692					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8693				)]
8694				#[encode_as_type(
8695					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8696				)]
8697				#[doc = "Advance a track onto its next logical state. Only used internally."]
8698				#[doc = ""]
8699				#[doc = "- `origin`: must be `Root`."]
8700				#[doc = "- `track`: the track to be advanced."]
8701				#[doc = ""]
8702				#[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"]
8703				#[doc = "`DecidingCount` is not yet updated. This means that we should either:"]
8704				#[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"]
8705				#[doc = "- decrement `DecidingCount`."]
8706				pub struct OneFewerDeciding {
8707					pub track: one_fewer_deciding::Track,
8708				}
8709				pub mod one_fewer_deciding {
8710					use super::runtime_types;
8711					pub type Track = ::core::primitive::u16;
8712				}
8713				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for OneFewerDeciding {
8714					const PALLET: &'static str = "Referenda";
8715					const CALL: &'static str = "one_fewer_deciding";
8716				}
8717				#[derive(
8718					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8719					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8720					Debug,
8721				)]
8722				#[decode_as_type(
8723					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8724				)]
8725				#[encode_as_type(
8726					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8727				)]
8728				#[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."]
8729				#[doc = ""]
8730				#[doc = "- `origin`: must be `Signed` or `Root`."]
8731				#[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"]
8732				#[doc = "  refunded."]
8733				#[doc = ""]
8734				#[doc = "Emits `SubmissionDepositRefunded`."]
8735				pub struct RefundSubmissionDeposit {
8736					pub index: refund_submission_deposit::Index,
8737				}
8738				pub mod refund_submission_deposit {
8739					use super::runtime_types;
8740					pub type Index = ::core::primitive::u32;
8741				}
8742				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RefundSubmissionDeposit {
8743					const PALLET: &'static str = "Referenda";
8744					const CALL: &'static str = "refund_submission_deposit";
8745				}
8746				#[derive(
8747					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
8748					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
8749					Debug,
8750				)]
8751				#[decode_as_type(
8752					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
8753				)]
8754				#[encode_as_type(
8755					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
8756				)]
8757				#[doc = "Set or clear metadata of a referendum."]
8758				#[doc = ""]
8759				#[doc = "Parameters:"]
8760				#[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"]
8761				#[doc = "  metadata of a finished referendum."]
8762				#[doc = "- `index`:  The index of a referendum to set or clear metadata for."]
8763				#[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."]
8764				pub struct SetMetadata {
8765					pub index: set_metadata::Index,
8766					pub maybe_hash: set_metadata::MaybeHash,
8767				}
8768				pub mod set_metadata {
8769					use super::runtime_types;
8770					pub type Index = ::core::primitive::u32;
8771					pub type MaybeHash =
8772						::core::option::Option<::subxt::ext::subxt_core::utils::H256>;
8773				}
8774				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetMetadata {
8775					const PALLET: &'static str = "Referenda";
8776					const CALL: &'static str = "set_metadata";
8777				}
8778			}
8779			pub struct TransactionApi;
8780			impl TransactionApi {
8781				#[doc = "Propose a referendum on a privileged action."]
8782				#[doc = ""]
8783				#[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"]
8784				#[doc = "  available."]
8785				#[doc = "- `proposal_origin`: The origin from which the proposal should be executed."]
8786				#[doc = "- `proposal`: The proposal."]
8787				#[doc = "- `enactment_moment`: The moment that the proposal should be enacted."]
8788				#[doc = ""]
8789				#[doc = "Emits `Submitted`."]
8790				pub fn submit(
8791					&self,
8792					proposal_origin: types::submit::ProposalOrigin,
8793					proposal: types::submit::Proposal,
8794					enactment_moment: types::submit::EnactmentMoment,
8795				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Submit> {
8796					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8797						"Referenda",
8798						"submit",
8799						types::Submit {
8800							proposal_origin: ::subxt::ext::subxt_core::alloc::boxed::Box::new(
8801								proposal_origin,
8802							),
8803							proposal,
8804							enactment_moment,
8805						},
8806						[
8807							0u8, 18u8, 14u8, 253u8, 33u8, 212u8, 33u8, 173u8, 241u8, 29u8, 88u8,
8808							160u8, 111u8, 21u8, 6u8, 234u8, 249u8, 230u8, 222u8, 119u8, 161u8,
8809							114u8, 43u8, 126u8, 164u8, 140u8, 199u8, 39u8, 2u8, 64u8, 132u8, 34u8,
8810						],
8811					)
8812				}
8813				#[doc = "Post the Decision Deposit for a referendum."]
8814				#[doc = ""]
8815				#[doc = "- `origin`: must be `Signed` and the account must have funds available for the"]
8816				#[doc = "  referendum's track's Decision Deposit."]
8817				#[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"]
8818				#[doc = "  posted."]
8819				#[doc = ""]
8820				#[doc = "Emits `DecisionDepositPlaced`."]
8821				pub fn place_decision_deposit(
8822					&self,
8823					index: types::place_decision_deposit::Index,
8824				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::PlaceDecisionDeposit>
8825				{
8826					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8827						"Referenda",
8828						"place_decision_deposit",
8829						types::PlaceDecisionDeposit { index },
8830						[
8831							247u8, 158u8, 55u8, 191u8, 188u8, 200u8, 3u8, 47u8, 20u8, 175u8, 86u8,
8832							203u8, 52u8, 253u8, 91u8, 131u8, 21u8, 213u8, 56u8, 68u8, 40u8, 84u8,
8833							184u8, 30u8, 9u8, 193u8, 63u8, 182u8, 178u8, 241u8, 247u8, 220u8,
8834						],
8835					)
8836				}
8837				#[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."]
8838				#[doc = ""]
8839				#[doc = "- `origin`: must be `Signed` or `Root`."]
8840				#[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"]
8841				#[doc = "  refunded."]
8842				#[doc = ""]
8843				#[doc = "Emits `DecisionDepositRefunded`."]
8844				pub fn refund_decision_deposit(
8845					&self,
8846					index: types::refund_decision_deposit::Index,
8847				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
8848					types::RefundDecisionDeposit,
8849				> {
8850					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8851						"Referenda",
8852						"refund_decision_deposit",
8853						types::RefundDecisionDeposit { index },
8854						[
8855							159u8, 19u8, 35u8, 216u8, 114u8, 105u8, 18u8, 42u8, 148u8, 151u8,
8856							136u8, 92u8, 117u8, 30u8, 29u8, 41u8, 238u8, 58u8, 195u8, 91u8, 115u8,
8857							135u8, 96u8, 99u8, 154u8, 233u8, 8u8, 249u8, 145u8, 165u8, 77u8, 164u8,
8858						],
8859					)
8860				}
8861				#[doc = "Cancel an ongoing referendum."]
8862				#[doc = ""]
8863				#[doc = "- `origin`: must be the `CancelOrigin`."]
8864				#[doc = "- `index`: The index of the referendum to be cancelled."]
8865				#[doc = ""]
8866				#[doc = "Emits `Cancelled`."]
8867				pub fn cancel(
8868					&self,
8869					index: types::cancel::Index,
8870				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Cancel> {
8871					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8872						"Referenda",
8873						"cancel",
8874						types::Cancel { index },
8875						[
8876							55u8, 206u8, 119u8, 156u8, 238u8, 165u8, 193u8, 73u8, 242u8, 13u8,
8877							212u8, 75u8, 136u8, 156u8, 151u8, 14u8, 35u8, 41u8, 156u8, 107u8, 60u8,
8878							190u8, 39u8, 216u8, 8u8, 74u8, 213u8, 130u8, 160u8, 131u8, 237u8,
8879							122u8,
8880						],
8881					)
8882				}
8883				#[doc = "Cancel an ongoing referendum and slash the deposits."]
8884				#[doc = ""]
8885				#[doc = "- `origin`: must be the `KillOrigin`."]
8886				#[doc = "- `index`: The index of the referendum to be cancelled."]
8887				#[doc = ""]
8888				#[doc = "Emits `Killed` and `DepositSlashed`."]
8889				pub fn kill(
8890					&self,
8891					index: types::kill::Index,
8892				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Kill> {
8893					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8894						"Referenda",
8895						"kill",
8896						types::Kill { index },
8897						[
8898							50u8, 89u8, 57u8, 0u8, 87u8, 129u8, 113u8, 140u8, 179u8, 178u8, 126u8,
8899							198u8, 92u8, 92u8, 189u8, 64u8, 123u8, 232u8, 57u8, 227u8, 223u8,
8900							219u8, 73u8, 217u8, 179u8, 44u8, 210u8, 125u8, 180u8, 10u8, 143u8,
8901							48u8,
8902						],
8903					)
8904				}
8905				#[doc = "Advance a referendum onto its next logical state. Only used internally."]
8906				#[doc = ""]
8907				#[doc = "- `origin`: must be `Root`."]
8908				#[doc = "- `index`: the referendum to be advanced."]
8909				pub fn nudge_referendum(
8910					&self,
8911					index: types::nudge_referendum::Index,
8912				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::NudgeReferendum>
8913				{
8914					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8915						"Referenda",
8916						"nudge_referendum",
8917						types::NudgeReferendum { index },
8918						[
8919							75u8, 99u8, 172u8, 30u8, 170u8, 150u8, 211u8, 229u8, 249u8, 128u8,
8920							194u8, 246u8, 100u8, 142u8, 193u8, 184u8, 232u8, 81u8, 29u8, 17u8,
8921							99u8, 91u8, 236u8, 85u8, 230u8, 226u8, 57u8, 115u8, 45u8, 170u8, 54u8,
8922							213u8,
8923						],
8924					)
8925				}
8926				#[doc = "Advance a track onto its next logical state. Only used internally."]
8927				#[doc = ""]
8928				#[doc = "- `origin`: must be `Root`."]
8929				#[doc = "- `track`: the track to be advanced."]
8930				#[doc = ""]
8931				#[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"]
8932				#[doc = "`DecidingCount` is not yet updated. This means that we should either:"]
8933				#[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"]
8934				#[doc = "- decrement `DecidingCount`."]
8935				pub fn one_fewer_deciding(
8936					&self,
8937					track: types::one_fewer_deciding::Track,
8938				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::OneFewerDeciding>
8939				{
8940					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8941						"Referenda",
8942						"one_fewer_deciding",
8943						types::OneFewerDeciding { track },
8944						[
8945							15u8, 84u8, 79u8, 231u8, 21u8, 239u8, 244u8, 143u8, 183u8, 215u8,
8946							181u8, 25u8, 225u8, 195u8, 95u8, 171u8, 17u8, 156u8, 182u8, 128u8,
8947							111u8, 40u8, 151u8, 102u8, 196u8, 55u8, 36u8, 212u8, 89u8, 190u8,
8948							131u8, 167u8,
8949						],
8950					)
8951				}
8952				#[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."]
8953				#[doc = ""]
8954				#[doc = "- `origin`: must be `Signed` or `Root`."]
8955				#[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"]
8956				#[doc = "  refunded."]
8957				#[doc = ""]
8958				#[doc = "Emits `SubmissionDepositRefunded`."]
8959				pub fn refund_submission_deposit(
8960					&self,
8961					index: types::refund_submission_deposit::Index,
8962				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
8963					types::RefundSubmissionDeposit,
8964				> {
8965					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8966						"Referenda",
8967						"refund_submission_deposit",
8968						types::RefundSubmissionDeposit { index },
8969						[
8970							20u8, 217u8, 115u8, 6u8, 1u8, 60u8, 54u8, 136u8, 35u8, 41u8, 38u8,
8971							23u8, 85u8, 100u8, 141u8, 126u8, 30u8, 160u8, 61u8, 46u8, 134u8, 98u8,
8972							82u8, 38u8, 211u8, 124u8, 208u8, 222u8, 210u8, 10u8, 155u8, 122u8,
8973						],
8974					)
8975				}
8976				#[doc = "Set or clear metadata of a referendum."]
8977				#[doc = ""]
8978				#[doc = "Parameters:"]
8979				#[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"]
8980				#[doc = "  metadata of a finished referendum."]
8981				#[doc = "- `index`:  The index of a referendum to set or clear metadata for."]
8982				#[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."]
8983				pub fn set_metadata(
8984					&self,
8985					index: types::set_metadata::Index,
8986					maybe_hash: types::set_metadata::MaybeHash,
8987				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetMetadata> {
8988					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
8989						"Referenda",
8990						"set_metadata",
8991						types::SetMetadata { index, maybe_hash },
8992						[
8993							207u8, 29u8, 146u8, 233u8, 219u8, 205u8, 88u8, 118u8, 106u8, 61u8,
8994							124u8, 101u8, 2u8, 41u8, 169u8, 70u8, 114u8, 189u8, 162u8, 118u8, 1u8,
8995							108u8, 234u8, 98u8, 245u8, 245u8, 183u8, 126u8, 89u8, 13u8, 112u8,
8996							88u8,
8997						],
8998					)
8999				}
9000			}
9001		}
9002		#[doc = "The `Event` enum of this pallet"]
9003		pub type Event = runtime_types::pallet_referenda::pallet::Event1;
9004		pub mod events {
9005			use super::runtime_types;
9006			#[derive(
9007				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9008				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9009				Debug,
9010			)]
9011			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9012			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9013			#[doc = "A referendum has been submitted."]
9014			pub struct Submitted {
9015				pub index: submitted::Index,
9016				pub track: submitted::Track,
9017				pub proposal: submitted::Proposal,
9018			}
9019			pub mod submitted {
9020				use super::runtime_types;
9021				pub type Index = ::core::primitive::u32;
9022				pub type Track = ::core::primitive::u16;
9023				pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
9024					runtime_types::quantus_runtime::RuntimeCall,
9025					runtime_types::qp_poseidon::PoseidonHasher,
9026				>;
9027			}
9028			impl ::subxt::ext::subxt_core::events::StaticEvent for Submitted {
9029				const PALLET: &'static str = "Referenda";
9030				const EVENT: &'static str = "Submitted";
9031			}
9032			#[derive(
9033				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9034				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9035				Debug,
9036			)]
9037			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9038			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9039			#[doc = "The decision deposit has been placed."]
9040			pub struct DecisionDepositPlaced {
9041				pub index: decision_deposit_placed::Index,
9042				pub who: decision_deposit_placed::Who,
9043				pub amount: decision_deposit_placed::Amount,
9044			}
9045			pub mod decision_deposit_placed {
9046				use super::runtime_types;
9047				pub type Index = ::core::primitive::u32;
9048				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
9049				pub type Amount = ::core::primitive::u128;
9050			}
9051			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionDepositPlaced {
9052				const PALLET: &'static str = "Referenda";
9053				const EVENT: &'static str = "DecisionDepositPlaced";
9054			}
9055			#[derive(
9056				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9057				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9058				Debug,
9059			)]
9060			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9061			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9062			#[doc = "The decision deposit has been refunded."]
9063			pub struct DecisionDepositRefunded {
9064				pub index: decision_deposit_refunded::Index,
9065				pub who: decision_deposit_refunded::Who,
9066				pub amount: decision_deposit_refunded::Amount,
9067			}
9068			pub mod decision_deposit_refunded {
9069				use super::runtime_types;
9070				pub type Index = ::core::primitive::u32;
9071				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
9072				pub type Amount = ::core::primitive::u128;
9073			}
9074			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionDepositRefunded {
9075				const PALLET: &'static str = "Referenda";
9076				const EVENT: &'static str = "DecisionDepositRefunded";
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 = "A deposit has been slashed."]
9086			pub struct DepositSlashed {
9087				pub who: deposit_slashed::Who,
9088				pub amount: deposit_slashed::Amount,
9089			}
9090			pub mod deposit_slashed {
9091				use super::runtime_types;
9092				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
9093				pub type Amount = ::core::primitive::u128;
9094			}
9095			impl ::subxt::ext::subxt_core::events::StaticEvent for DepositSlashed {
9096				const PALLET: &'static str = "Referenda";
9097				const EVENT: &'static str = "DepositSlashed";
9098			}
9099			#[derive(
9100				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9101				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9102				Debug,
9103			)]
9104			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9105			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9106			#[doc = "A referendum has moved into the deciding phase."]
9107			pub struct DecisionStarted {
9108				pub index: decision_started::Index,
9109				pub track: decision_started::Track,
9110				pub proposal: decision_started::Proposal,
9111				pub tally: decision_started::Tally,
9112			}
9113			pub mod decision_started {
9114				use super::runtime_types;
9115				pub type Index = ::core::primitive::u32;
9116				pub type Track = ::core::primitive::u16;
9117				pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
9118					runtime_types::quantus_runtime::RuntimeCall,
9119					runtime_types::qp_poseidon::PoseidonHasher,
9120				>;
9121				pub type Tally =
9122					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
9123			}
9124			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionStarted {
9125				const PALLET: &'static str = "Referenda";
9126				const EVENT: &'static str = "DecisionStarted";
9127			}
9128			#[derive(
9129				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9130				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9131				Debug,
9132			)]
9133			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9134			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9135			pub struct ConfirmStarted {
9136				pub index: confirm_started::Index,
9137			}
9138			pub mod confirm_started {
9139				use super::runtime_types;
9140				pub type Index = ::core::primitive::u32;
9141			}
9142			impl ::subxt::ext::subxt_core::events::StaticEvent for ConfirmStarted {
9143				const PALLET: &'static str = "Referenda";
9144				const EVENT: &'static str = "ConfirmStarted";
9145			}
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(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9152			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9153			pub struct ConfirmAborted {
9154				pub index: confirm_aborted::Index,
9155			}
9156			pub mod confirm_aborted {
9157				use super::runtime_types;
9158				pub type Index = ::core::primitive::u32;
9159			}
9160			impl ::subxt::ext::subxt_core::events::StaticEvent for ConfirmAborted {
9161				const PALLET: &'static str = "Referenda";
9162				const EVENT: &'static str = "ConfirmAborted";
9163			}
9164			#[derive(
9165				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9166				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9167				Debug,
9168			)]
9169			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9170			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9171			#[doc = "A referendum has ended its confirmation phase and is ready for approval."]
9172			pub struct Confirmed {
9173				pub index: confirmed::Index,
9174				pub tally: confirmed::Tally,
9175			}
9176			pub mod confirmed {
9177				use super::runtime_types;
9178				pub type Index = ::core::primitive::u32;
9179				pub type Tally =
9180					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
9181			}
9182			impl ::subxt::ext::subxt_core::events::StaticEvent for Confirmed {
9183				const PALLET: &'static str = "Referenda";
9184				const EVENT: &'static str = "Confirmed";
9185			}
9186			#[derive(
9187				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9188				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9189				Debug,
9190			)]
9191			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9192			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9193			#[doc = "A referendum has been approved and its proposal has been scheduled."]
9194			pub struct Approved {
9195				pub index: approved::Index,
9196			}
9197			pub mod approved {
9198				use super::runtime_types;
9199				pub type Index = ::core::primitive::u32;
9200			}
9201			impl ::subxt::ext::subxt_core::events::StaticEvent for Approved {
9202				const PALLET: &'static str = "Referenda";
9203				const EVENT: &'static str = "Approved";
9204			}
9205			#[derive(
9206				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9207				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9208				Debug,
9209			)]
9210			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9211			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9212			#[doc = "A proposal has been rejected by referendum."]
9213			pub struct Rejected {
9214				pub index: rejected::Index,
9215				pub tally: rejected::Tally,
9216			}
9217			pub mod rejected {
9218				use super::runtime_types;
9219				pub type Index = ::core::primitive::u32;
9220				pub type Tally =
9221					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
9222			}
9223			impl ::subxt::ext::subxt_core::events::StaticEvent for Rejected {
9224				const PALLET: &'static str = "Referenda";
9225				const EVENT: &'static str = "Rejected";
9226			}
9227			#[derive(
9228				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9229				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9230				Debug,
9231			)]
9232			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9233			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9234			#[doc = "A referendum has been timed out without being decided."]
9235			pub struct TimedOut {
9236				pub index: timed_out::Index,
9237				pub tally: timed_out::Tally,
9238			}
9239			pub mod timed_out {
9240				use super::runtime_types;
9241				pub type Index = ::core::primitive::u32;
9242				pub type Tally =
9243					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
9244			}
9245			impl ::subxt::ext::subxt_core::events::StaticEvent for TimedOut {
9246				const PALLET: &'static str = "Referenda";
9247				const EVENT: &'static str = "TimedOut";
9248			}
9249			#[derive(
9250				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9251				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9252				Debug,
9253			)]
9254			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9255			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9256			#[doc = "A referendum has been cancelled."]
9257			pub struct Cancelled {
9258				pub index: cancelled::Index,
9259				pub tally: cancelled::Tally,
9260			}
9261			pub mod cancelled {
9262				use super::runtime_types;
9263				pub type Index = ::core::primitive::u32;
9264				pub type Tally =
9265					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
9266			}
9267			impl ::subxt::ext::subxt_core::events::StaticEvent for Cancelled {
9268				const PALLET: &'static str = "Referenda";
9269				const EVENT: &'static str = "Cancelled";
9270			}
9271			#[derive(
9272				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9273				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9274				Debug,
9275			)]
9276			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9277			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9278			#[doc = "A referendum has been killed."]
9279			pub struct Killed {
9280				pub index: killed::Index,
9281				pub tally: killed::Tally,
9282			}
9283			pub mod killed {
9284				use super::runtime_types;
9285				pub type Index = ::core::primitive::u32;
9286				pub type Tally =
9287					runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>;
9288			}
9289			impl ::subxt::ext::subxt_core::events::StaticEvent for Killed {
9290				const PALLET: &'static str = "Referenda";
9291				const EVENT: &'static str = "Killed";
9292			}
9293			#[derive(
9294				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9295				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9296				Debug,
9297			)]
9298			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9299			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9300			#[doc = "The submission deposit has been refunded."]
9301			pub struct SubmissionDepositRefunded {
9302				pub index: submission_deposit_refunded::Index,
9303				pub who: submission_deposit_refunded::Who,
9304				pub amount: submission_deposit_refunded::Amount,
9305			}
9306			pub mod submission_deposit_refunded {
9307				use super::runtime_types;
9308				pub type Index = ::core::primitive::u32;
9309				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
9310				pub type Amount = ::core::primitive::u128;
9311			}
9312			impl ::subxt::ext::subxt_core::events::StaticEvent for SubmissionDepositRefunded {
9313				const PALLET: &'static str = "Referenda";
9314				const EVENT: &'static str = "SubmissionDepositRefunded";
9315			}
9316			#[derive(
9317				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9318				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9319				Debug,
9320			)]
9321			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9322			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9323			#[doc = "Metadata for a referendum has been set."]
9324			pub struct MetadataSet {
9325				pub index: metadata_set::Index,
9326				pub hash: metadata_set::Hash,
9327			}
9328			pub mod metadata_set {
9329				use super::runtime_types;
9330				pub type Index = ::core::primitive::u32;
9331				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
9332			}
9333			impl ::subxt::ext::subxt_core::events::StaticEvent for MetadataSet {
9334				const PALLET: &'static str = "Referenda";
9335				const EVENT: &'static str = "MetadataSet";
9336			}
9337			#[derive(
9338				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9339				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9340				Debug,
9341			)]
9342			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
9343			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
9344			#[doc = "Metadata for a referendum has been cleared."]
9345			pub struct MetadataCleared {
9346				pub index: metadata_cleared::Index,
9347				pub hash: metadata_cleared::Hash,
9348			}
9349			pub mod metadata_cleared {
9350				use super::runtime_types;
9351				pub type Index = ::core::primitive::u32;
9352				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
9353			}
9354			impl ::subxt::ext::subxt_core::events::StaticEvent for MetadataCleared {
9355				const PALLET: &'static str = "Referenda";
9356				const EVENT: &'static str = "MetadataCleared";
9357			}
9358		}
9359		pub mod storage {
9360			use super::runtime_types;
9361			pub mod types {
9362				use super::runtime_types;
9363				pub mod referendum_count {
9364					use super::runtime_types;
9365					pub type ReferendumCount = ::core::primitive::u32;
9366				}
9367				pub mod referendum_info_for {
9368					use super::runtime_types;
9369					pub type ReferendumInfoFor =
9370						runtime_types::pallet_referenda::types::ReferendumInfo<
9371							::core::primitive::u16,
9372							runtime_types::quantus_runtime::OriginCaller,
9373							::core::primitive::u32,
9374							runtime_types::frame_support::traits::preimages::Bounded<
9375								runtime_types::quantus_runtime::RuntimeCall,
9376								runtime_types::qp_poseidon::PoseidonHasher,
9377							>,
9378							::core::primitive::u128,
9379							runtime_types::pallet_conviction_voting::types::Tally<
9380								::core::primitive::u128,
9381							>,
9382							::subxt::ext::subxt_core::utils::AccountId32,
9383							(
9384								runtime_types::qp_scheduler::BlockNumberOrTimestamp<
9385									::core::primitive::u32,
9386									::core::primitive::u64,
9387								>,
9388								::core::primitive::u32,
9389							),
9390						>;
9391					pub type Param0 = ::core::primitive::u32;
9392				}
9393				pub mod track_queue {
9394					use super::runtime_types;
9395					pub type TrackQueue =
9396						runtime_types::bounded_collections::bounded_vec::BoundedVec<(
9397							::core::primitive::u32,
9398							::core::primitive::u128,
9399						)>;
9400					pub type Param0 = ::core::primitive::u16;
9401				}
9402				pub mod deciding_count {
9403					use super::runtime_types;
9404					pub type DecidingCount = ::core::primitive::u32;
9405					pub type Param0 = ::core::primitive::u16;
9406				}
9407				pub mod metadata_of {
9408					use super::runtime_types;
9409					pub type MetadataOf = ::subxt::ext::subxt_core::utils::H256;
9410					pub type Param0 = ::core::primitive::u32;
9411				}
9412			}
9413			pub struct StorageApi;
9414			impl StorageApi {
9415				#[doc = " The next free referendum index, aka the number of referenda started so far."]
9416				pub fn referendum_count(
9417					&self,
9418				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
9419					(),
9420					types::referendum_count::ReferendumCount,
9421					::subxt::ext::subxt_core::utils::Yes,
9422					::subxt::ext::subxt_core::utils::Yes,
9423					(),
9424				> {
9425					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
9426						"Referenda",
9427						"ReferendumCount",
9428						(),
9429						[
9430							64u8, 145u8, 232u8, 153u8, 121u8, 87u8, 128u8, 253u8, 170u8, 192u8,
9431							139u8, 18u8, 0u8, 33u8, 243u8, 11u8, 238u8, 222u8, 244u8, 5u8, 247u8,
9432							198u8, 149u8, 31u8, 122u8, 208u8, 86u8, 179u8, 166u8, 167u8, 93u8,
9433							67u8,
9434						],
9435					)
9436				}
9437				#[doc = " Information concerning any given referendum."]
9438				pub fn referendum_info_for_iter(
9439					&self,
9440				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
9441					(),
9442					types::referendum_info_for::ReferendumInfoFor,
9443					(),
9444					(),
9445					::subxt::ext::subxt_core::utils::Yes,
9446				> {
9447					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
9448						"Referenda",
9449						"ReferendumInfoFor",
9450						(),
9451						[
9452							6u8, 83u8, 1u8, 153u8, 41u8, 128u8, 169u8, 32u8, 101u8, 55u8, 230u8,
9453							219u8, 157u8, 37u8, 148u8, 156u8, 183u8, 164u8, 133u8, 238u8, 54u8,
9454							243u8, 158u8, 246u8, 58u8, 235u8, 6u8, 127u8, 29u8, 163u8, 255u8,
9455							157u8,
9456						],
9457					)
9458				}
9459				#[doc = " Information concerning any given referendum."]
9460				pub fn referendum_info_for(
9461					&self,
9462					_0: types::referendum_info_for::Param0,
9463				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
9464					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
9465						types::referendum_info_for::Param0,
9466					>,
9467					types::referendum_info_for::ReferendumInfoFor,
9468					::subxt::ext::subxt_core::utils::Yes,
9469					(),
9470					(),
9471				> {
9472					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
9473						"Referenda",
9474						"ReferendumInfoFor",
9475						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
9476						[
9477							6u8, 83u8, 1u8, 153u8, 41u8, 128u8, 169u8, 32u8, 101u8, 55u8, 230u8,
9478							219u8, 157u8, 37u8, 148u8, 156u8, 183u8, 164u8, 133u8, 238u8, 54u8,
9479							243u8, 158u8, 246u8, 58u8, 235u8, 6u8, 127u8, 29u8, 163u8, 255u8,
9480							157u8,
9481						],
9482					)
9483				}
9484				#[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"]
9485				#[doc = " conviction-weighted approvals."]
9486				#[doc = ""]
9487				#[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."]
9488				pub fn track_queue_iter(
9489					&self,
9490				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
9491					(),
9492					types::track_queue::TrackQueue,
9493					(),
9494					::subxt::ext::subxt_core::utils::Yes,
9495					::subxt::ext::subxt_core::utils::Yes,
9496				> {
9497					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
9498						"Referenda",
9499						"TrackQueue",
9500						(),
9501						[
9502							125u8, 59u8, 111u8, 68u8, 27u8, 236u8, 82u8, 55u8, 83u8, 159u8, 105u8,
9503							20u8, 241u8, 118u8, 58u8, 141u8, 103u8, 60u8, 246u8, 49u8, 121u8,
9504							183u8, 7u8, 203u8, 225u8, 67u8, 132u8, 79u8, 150u8, 107u8, 71u8, 89u8,
9505						],
9506					)
9507				}
9508				#[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"]
9509				#[doc = " conviction-weighted approvals."]
9510				#[doc = ""]
9511				#[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."]
9512				pub fn track_queue(
9513					&self,
9514					_0: types::track_queue::Param0,
9515				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
9516					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
9517						types::track_queue::Param0,
9518					>,
9519					types::track_queue::TrackQueue,
9520					::subxt::ext::subxt_core::utils::Yes,
9521					::subxt::ext::subxt_core::utils::Yes,
9522					(),
9523				> {
9524					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
9525						"Referenda",
9526						"TrackQueue",
9527						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
9528						[
9529							125u8, 59u8, 111u8, 68u8, 27u8, 236u8, 82u8, 55u8, 83u8, 159u8, 105u8,
9530							20u8, 241u8, 118u8, 58u8, 141u8, 103u8, 60u8, 246u8, 49u8, 121u8,
9531							183u8, 7u8, 203u8, 225u8, 67u8, 132u8, 79u8, 150u8, 107u8, 71u8, 89u8,
9532						],
9533					)
9534				}
9535				#[doc = " The number of referenda being decided currently."]
9536				pub fn deciding_count_iter(
9537					&self,
9538				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
9539					(),
9540					types::deciding_count::DecidingCount,
9541					(),
9542					::subxt::ext::subxt_core::utils::Yes,
9543					::subxt::ext::subxt_core::utils::Yes,
9544				> {
9545					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
9546						"Referenda",
9547						"DecidingCount",
9548						(),
9549						[
9550							203u8, 89u8, 158u8, 179u8, 194u8, 82u8, 248u8, 162u8, 93u8, 140u8,
9551							146u8, 51u8, 110u8, 232u8, 51u8, 1u8, 128u8, 212u8, 199u8, 14u8, 182u8,
9552							103u8, 47u8, 252u8, 126u8, 108u8, 166u8, 69u8, 252u8, 179u8, 126u8,
9553							245u8,
9554						],
9555					)
9556				}
9557				#[doc = " The number of referenda being decided currently."]
9558				pub fn deciding_count(
9559					&self,
9560					_0: types::deciding_count::Param0,
9561				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
9562					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
9563						types::deciding_count::Param0,
9564					>,
9565					types::deciding_count::DecidingCount,
9566					::subxt::ext::subxt_core::utils::Yes,
9567					::subxt::ext::subxt_core::utils::Yes,
9568					(),
9569				> {
9570					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
9571						"Referenda",
9572						"DecidingCount",
9573						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
9574						[
9575							203u8, 89u8, 158u8, 179u8, 194u8, 82u8, 248u8, 162u8, 93u8, 140u8,
9576							146u8, 51u8, 110u8, 232u8, 51u8, 1u8, 128u8, 212u8, 199u8, 14u8, 182u8,
9577							103u8, 47u8, 252u8, 126u8, 108u8, 166u8, 69u8, 252u8, 179u8, 126u8,
9578							245u8,
9579						],
9580					)
9581				}
9582				#[doc = " The metadata is a general information concerning the referendum."]
9583				#[doc = " The `Hash` refers to the preimage of the `Preimages` provider which can be a JSON"]
9584				#[doc = " dump or IPFS hash of a JSON file."]
9585				#[doc = ""]
9586				#[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"]
9587				#[doc = " large preimages."]
9588				pub fn metadata_of_iter(
9589					&self,
9590				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
9591					(),
9592					types::metadata_of::MetadataOf,
9593					(),
9594					(),
9595					::subxt::ext::subxt_core::utils::Yes,
9596				> {
9597					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
9598						"Referenda",
9599						"MetadataOf",
9600						(),
9601						[
9602							159u8, 250u8, 56u8, 189u8, 247u8, 165u8, 206u8, 166u8, 91u8, 139u8,
9603							124u8, 164u8, 25u8, 246u8, 199u8, 36u8, 159u8, 56u8, 227u8, 136u8, 4u8,
9604							45u8, 193u8, 72u8, 200u8, 164u8, 39u8, 207u8, 224u8, 124u8, 191u8,
9605							110u8,
9606						],
9607					)
9608				}
9609				#[doc = " The metadata is a general information concerning the referendum."]
9610				#[doc = " The `Hash` refers to the preimage of the `Preimages` provider which can be a JSON"]
9611				#[doc = " dump or IPFS hash of a JSON file."]
9612				#[doc = ""]
9613				#[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"]
9614				#[doc = " large preimages."]
9615				pub fn metadata_of(
9616					&self,
9617					_0: types::metadata_of::Param0,
9618				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
9619					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
9620						types::metadata_of::Param0,
9621					>,
9622					types::metadata_of::MetadataOf,
9623					::subxt::ext::subxt_core::utils::Yes,
9624					(),
9625					(),
9626				> {
9627					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
9628						"Referenda",
9629						"MetadataOf",
9630						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
9631						[
9632							159u8, 250u8, 56u8, 189u8, 247u8, 165u8, 206u8, 166u8, 91u8, 139u8,
9633							124u8, 164u8, 25u8, 246u8, 199u8, 36u8, 159u8, 56u8, 227u8, 136u8, 4u8,
9634							45u8, 193u8, 72u8, 200u8, 164u8, 39u8, 207u8, 224u8, 124u8, 191u8,
9635							110u8,
9636						],
9637					)
9638				}
9639			}
9640		}
9641		pub mod constants {
9642			use super::runtime_types;
9643			pub struct ConstantsApi;
9644			impl ConstantsApi {
9645				#[doc = " The minimum amount to be used as a deposit for a public referendum proposal."]
9646				pub fn submission_deposit(
9647					&self,
9648				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
9649					::core::primitive::u128,
9650				> {
9651					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
9652						"Referenda",
9653						"SubmissionDeposit",
9654						[
9655							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
9656							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
9657							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
9658						],
9659					)
9660				}
9661				#[doc = " Maximum size of the referendum queue for a single track."]
9662				pub fn max_queued(
9663					&self,
9664				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
9665					::core::primitive::u32,
9666				> {
9667					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
9668						"Referenda",
9669						"MaxQueued",
9670						[
9671							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
9672							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
9673							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
9674							145u8,
9675						],
9676					)
9677				}
9678				#[doc = " The number of blocks after submission that a referendum must begin being decided by."]
9679				#[doc = " Once this passes, then anyone may cancel the referendum."]
9680				pub fn undeciding_timeout(
9681					&self,
9682				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
9683					::core::primitive::u32,
9684				> {
9685					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
9686						"Referenda",
9687						"UndecidingTimeout",
9688						[
9689							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
9690							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
9691							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
9692							145u8,
9693						],
9694					)
9695				}
9696				#[doc = " Quantization level for the referendum wakeup scheduler. A higher number will result in"]
9697				#[doc = " fewer storage reads/writes needed for smaller voters, but also result in delays to the"]
9698				#[doc = " automatic referendum status changes. Explicit servicing instructions are unaffected."]
9699				pub fn alarm_interval(
9700					&self,
9701				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
9702					::core::primitive::u32,
9703				> {
9704					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
9705						"Referenda",
9706						"AlarmInterval",
9707						[
9708							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
9709							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
9710							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
9711							145u8,
9712						],
9713					)
9714				}
9715				#[doc = " A list of tracks."]
9716				#[doc = ""]
9717				#[doc = " Note: if the tracks are dynamic, the value in the static metadata might be inaccurate."]
9718				pub fn tracks(
9719					&self,
9720				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
9721					::subxt::ext::subxt_core::alloc::vec::Vec<(
9722						::core::primitive::u16,
9723						runtime_types::pallet_referenda::types::TrackDetails<
9724							::core::primitive::u128,
9725							::core::primitive::u32,
9726							::subxt::ext::subxt_core::alloc::string::String,
9727						>,
9728					)>,
9729				> {
9730					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
9731						"Referenda",
9732						"Tracks",
9733						[
9734							35u8, 226u8, 207u8, 234u8, 184u8, 139u8, 187u8, 184u8, 128u8, 199u8,
9735							227u8, 15u8, 31u8, 196u8, 5u8, 207u8, 138u8, 174u8, 130u8, 201u8,
9736							200u8, 113u8, 86u8, 93u8, 221u8, 243u8, 229u8, 24u8, 18u8, 150u8, 56u8,
9737							159u8,
9738						],
9739					)
9740				}
9741			}
9742		}
9743	}
9744	pub mod reversible_transfers {
9745		use super::{root_mod, runtime_types};
9746		#[doc = "The `Error` enum of this pallet."]
9747		pub type Error = runtime_types::pallet_reversible_transfers::pallet::Error;
9748		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
9749		pub type Call = runtime_types::pallet_reversible_transfers::pallet::Call;
9750		pub mod calls {
9751			use super::{root_mod, runtime_types};
9752			type DispatchError = runtime_types::sp_runtime::DispatchError;
9753			pub mod types {
9754				use super::runtime_types;
9755				#[derive(
9756					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9757					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9758					Debug,
9759				)]
9760				#[decode_as_type(
9761					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9762				)]
9763				#[encode_as_type(
9764					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9765				)]
9766				#[doc = "Enable high-security for the calling account with a specified"]
9767				#[doc = "reversibility delay."]
9768				#[doc = ""]
9769				#[doc = "Recoverer and interceptor (aka guardian) could be the same account or"]
9770				#[doc = "different accounts."]
9771				#[doc = ""]
9772				#[doc = "Once an account is set as high security it can only make reversible"]
9773				#[doc = "transfers. It is not allowed any other calls."]
9774				#[doc = ""]
9775				#[doc = "- `delay`: The reversibility time for any transfer made by the high"]
9776				#[doc = "security account."]
9777				#[doc = "- interceptor: The account that can intercept transctions from the"]
9778				#[doc = "high security account."]
9779				pub struct SetHighSecurity {
9780					pub delay: set_high_security::Delay,
9781					pub interceptor: set_high_security::Interceptor,
9782				}
9783				pub mod set_high_security {
9784					use super::runtime_types;
9785					pub type Delay = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
9786						::core::primitive::u32,
9787						::core::primitive::u64,
9788					>;
9789					pub type Interceptor = ::subxt::ext::subxt_core::utils::AccountId32;
9790				}
9791				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetHighSecurity {
9792					const PALLET: &'static str = "ReversibleTransfers";
9793					const CALL: &'static str = "set_high_security";
9794				}
9795				#[derive(
9796					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9797					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9798					Debug,
9799				)]
9800				#[decode_as_type(
9801					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9802				)]
9803				#[encode_as_type(
9804					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9805				)]
9806				#[doc = "Cancel a pending reversible transaction scheduled by the caller."]
9807				#[doc = ""]
9808				#[doc = "- `tx_id`: The unique identifier of the transaction to cancel."]
9809				pub struct Cancel {
9810					pub tx_id: cancel::TxId,
9811				}
9812				pub mod cancel {
9813					use super::runtime_types;
9814					pub type TxId = ::subxt::ext::subxt_core::utils::H256;
9815				}
9816				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Cancel {
9817					const PALLET: &'static str = "ReversibleTransfers";
9818					const CALL: &'static str = "cancel";
9819				}
9820				#[derive(
9821					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9822					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9823					Debug,
9824				)]
9825				#[decode_as_type(
9826					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9827				)]
9828				#[encode_as_type(
9829					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9830				)]
9831				#[doc = "Called by the Scheduler to finalize the scheduled task/call"]
9832				#[doc = ""]
9833				#[doc = "- `tx_id`: The unique id of the transaction to finalize and dispatch."]
9834				pub struct ExecuteTransfer {
9835					pub tx_id: execute_transfer::TxId,
9836				}
9837				pub mod execute_transfer {
9838					use super::runtime_types;
9839					pub type TxId = ::subxt::ext::subxt_core::utils::H256;
9840				}
9841				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ExecuteTransfer {
9842					const PALLET: &'static str = "ReversibleTransfers";
9843					const CALL: &'static str = "execute_transfer";
9844				}
9845				#[derive(
9846					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9847					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9848					Debug,
9849				)]
9850				#[decode_as_type(
9851					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9852				)]
9853				#[encode_as_type(
9854					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9855				)]
9856				#[doc = "Schedule a transaction for delayed execution."]
9857				pub struct ScheduleTransfer {
9858					pub dest: schedule_transfer::Dest,
9859					pub amount: schedule_transfer::Amount,
9860				}
9861				pub mod schedule_transfer {
9862					use super::runtime_types;
9863					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
9864						::subxt::ext::subxt_core::utils::AccountId32,
9865						(),
9866					>;
9867					pub type Amount = ::core::primitive::u128;
9868				}
9869				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleTransfer {
9870					const PALLET: &'static str = "ReversibleTransfers";
9871					const CALL: &'static str = "schedule_transfer";
9872				}
9873				#[derive(
9874					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9875					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9876					Debug,
9877				)]
9878				#[decode_as_type(
9879					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9880				)]
9881				#[encode_as_type(
9882					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9883				)]
9884				#[doc = "Schedule a transaction for delayed execution with a custom, one-time delay."]
9885				#[doc = ""]
9886				#[doc = "This can only be used by accounts that have *not* set up a persistent"]
9887				#[doc = "reversibility configuration with `set_high_security`."]
9888				#[doc = ""]
9889				#[doc = "- `delay`: The time (in blocks or milliseconds) before the transaction executes."]
9890				pub struct ScheduleTransferWithDelay {
9891					pub dest: schedule_transfer_with_delay::Dest,
9892					pub amount: schedule_transfer_with_delay::Amount,
9893					pub delay: schedule_transfer_with_delay::Delay,
9894				}
9895				pub mod schedule_transfer_with_delay {
9896					use super::runtime_types;
9897					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
9898						::subxt::ext::subxt_core::utils::AccountId32,
9899						(),
9900					>;
9901					pub type Amount = ::core::primitive::u128;
9902					pub type Delay = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
9903						::core::primitive::u32,
9904						::core::primitive::u64,
9905					>;
9906				}
9907				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleTransferWithDelay {
9908					const PALLET: &'static str = "ReversibleTransfers";
9909					const CALL: &'static str = "schedule_transfer_with_delay";
9910				}
9911				#[derive(
9912					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9913					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9914					Debug,
9915				)]
9916				#[decode_as_type(
9917					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9918				)]
9919				#[encode_as_type(
9920					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9921				)]
9922				#[doc = "Schedule an asset transfer (pallet-assets) for delayed execution using the configured"]
9923				#[doc = "delay."]
9924				pub struct ScheduleAssetTransfer {
9925					pub asset_id: schedule_asset_transfer::AssetId,
9926					pub dest: schedule_asset_transfer::Dest,
9927					pub amount: schedule_asset_transfer::Amount,
9928				}
9929				pub mod schedule_asset_transfer {
9930					use super::runtime_types;
9931					pub type AssetId = ::core::primitive::u32;
9932					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
9933						::subxt::ext::subxt_core::utils::AccountId32,
9934						(),
9935					>;
9936					pub type Amount = ::core::primitive::u128;
9937				}
9938				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleAssetTransfer {
9939					const PALLET: &'static str = "ReversibleTransfers";
9940					const CALL: &'static str = "schedule_asset_transfer";
9941				}
9942				#[derive(
9943					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9944					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9945					Debug,
9946				)]
9947				#[decode_as_type(
9948					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9949				)]
9950				#[encode_as_type(
9951					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9952				)]
9953				#[doc = "Schedule an asset transfer (pallet-assets) with a custom one-time delay."]
9954				pub struct ScheduleAssetTransferWithDelay {
9955					pub asset_id: schedule_asset_transfer_with_delay::AssetId,
9956					pub dest: schedule_asset_transfer_with_delay::Dest,
9957					pub amount: schedule_asset_transfer_with_delay::Amount,
9958					pub delay: schedule_asset_transfer_with_delay::Delay,
9959				}
9960				pub mod schedule_asset_transfer_with_delay {
9961					use super::runtime_types;
9962					pub type AssetId = ::core::primitive::u32;
9963					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
9964						::subxt::ext::subxt_core::utils::AccountId32,
9965						(),
9966					>;
9967					pub type Amount = ::core::primitive::u128;
9968					pub type Delay = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
9969						::core::primitive::u32,
9970						::core::primitive::u64,
9971					>;
9972				}
9973				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ScheduleAssetTransferWithDelay {
9974					const PALLET: &'static str = "ReversibleTransfers";
9975					const CALL: &'static str = "schedule_asset_transfer_with_delay";
9976				}
9977				#[derive(
9978					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
9979					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
9980					Debug,
9981				)]
9982				#[decode_as_type(
9983					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
9984				)]
9985				#[encode_as_type(
9986					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
9987				)]
9988				#[doc = "Allows the guardian (interceptor) to recover all funds from a high security"]
9989				#[doc = "account by transferring the entire balance to themselves."]
9990				#[doc = ""]
9991				#[doc = "This is an emergency function for when the high security account may be compromised."]
9992				#[doc = "It cancels all pending transfers first (applying volume fees), then transfers"]
9993				#[doc = "the remaining free balance to the guardian."]
9994				pub struct RecoverFunds {
9995					pub account: recover_funds::Account,
9996				}
9997				pub mod recover_funds {
9998					use super::runtime_types;
9999					pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
10000				}
10001				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RecoverFunds {
10002					const PALLET: &'static str = "ReversibleTransfers";
10003					const CALL: &'static str = "recover_funds";
10004				}
10005			}
10006			pub struct TransactionApi;
10007			impl TransactionApi {
10008				#[doc = "Enable high-security for the calling account with a specified"]
10009				#[doc = "reversibility delay."]
10010				#[doc = ""]
10011				#[doc = "Recoverer and interceptor (aka guardian) could be the same account or"]
10012				#[doc = "different accounts."]
10013				#[doc = ""]
10014				#[doc = "Once an account is set as high security it can only make reversible"]
10015				#[doc = "transfers. It is not allowed any other calls."]
10016				#[doc = ""]
10017				#[doc = "- `delay`: The reversibility time for any transfer made by the high"]
10018				#[doc = "security account."]
10019				#[doc = "- interceptor: The account that can intercept transctions from the"]
10020				#[doc = "high security account."]
10021				pub fn set_high_security(
10022					&self,
10023					delay: types::set_high_security::Delay,
10024					interceptor: types::set_high_security::Interceptor,
10025				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetHighSecurity>
10026				{
10027					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10028						"ReversibleTransfers",
10029						"set_high_security",
10030						types::SetHighSecurity { delay, interceptor },
10031						[
10032							202u8, 17u8, 43u8, 37u8, 215u8, 198u8, 42u8, 183u8, 53u8, 124u8, 140u8,
10033							34u8, 112u8, 230u8, 55u8, 168u8, 242u8, 249u8, 91u8, 185u8, 244u8,
10034							81u8, 40u8, 231u8, 121u8, 155u8, 202u8, 76u8, 137u8, 7u8, 225u8, 184u8,
10035						],
10036					)
10037				}
10038				#[doc = "Cancel a pending reversible transaction scheduled by the caller."]
10039				#[doc = ""]
10040				#[doc = "- `tx_id`: The unique identifier of the transaction to cancel."]
10041				pub fn cancel(
10042					&self,
10043					tx_id: types::cancel::TxId,
10044				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Cancel> {
10045					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10046						"ReversibleTransfers",
10047						"cancel",
10048						types::Cancel { tx_id },
10049						[
10050							228u8, 150u8, 194u8, 119u8, 243u8, 126u8, 112u8, 227u8, 70u8, 160u8,
10051							132u8, 82u8, 146u8, 162u8, 195u8, 149u8, 236u8, 98u8, 18u8, 44u8,
10052							151u8, 249u8, 193u8, 176u8, 186u8, 98u8, 224u8, 103u8, 191u8, 165u8,
10053							37u8, 47u8,
10054						],
10055					)
10056				}
10057				#[doc = "Called by the Scheduler to finalize the scheduled task/call"]
10058				#[doc = ""]
10059				#[doc = "- `tx_id`: The unique id of the transaction to finalize and dispatch."]
10060				pub fn execute_transfer(
10061					&self,
10062					tx_id: types::execute_transfer::TxId,
10063				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ExecuteTransfer>
10064				{
10065					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10066						"ReversibleTransfers",
10067						"execute_transfer",
10068						types::ExecuteTransfer { tx_id },
10069						[
10070							164u8, 38u8, 166u8, 81u8, 63u8, 235u8, 167u8, 178u8, 97u8, 80u8, 62u8,
10071							147u8, 3u8, 163u8, 129u8, 25u8, 98u8, 59u8, 17u8, 137u8, 6u8, 183u8,
10072							189u8, 51u8, 24u8, 211u8, 157u8, 108u8, 229u8, 253u8, 37u8, 78u8,
10073						],
10074					)
10075				}
10076				#[doc = "Schedule a transaction for delayed execution."]
10077				pub fn schedule_transfer(
10078					&self,
10079					dest: types::schedule_transfer::Dest,
10080					amount: types::schedule_transfer::Amount,
10081				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ScheduleTransfer>
10082				{
10083					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10084						"ReversibleTransfers",
10085						"schedule_transfer",
10086						types::ScheduleTransfer { dest, amount },
10087						[
10088							38u8, 219u8, 206u8, 56u8, 252u8, 195u8, 52u8, 74u8, 113u8, 125u8,
10089							107u8, 35u8, 236u8, 39u8, 31u8, 18u8, 250u8, 177u8, 174u8, 154u8,
10090							149u8, 122u8, 183u8, 50u8, 45u8, 111u8, 100u8, 249u8, 102u8, 82u8,
10091							72u8, 130u8,
10092						],
10093					)
10094				}
10095				#[doc = "Schedule a transaction for delayed execution with a custom, one-time delay."]
10096				#[doc = ""]
10097				#[doc = "This can only be used by accounts that have *not* set up a persistent"]
10098				#[doc = "reversibility configuration with `set_high_security`."]
10099				#[doc = ""]
10100				#[doc = "- `delay`: The time (in blocks or milliseconds) before the transaction executes."]
10101				pub fn schedule_transfer_with_delay(
10102					&self,
10103					dest: types::schedule_transfer_with_delay::Dest,
10104					amount: types::schedule_transfer_with_delay::Amount,
10105					delay: types::schedule_transfer_with_delay::Delay,
10106				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
10107					types::ScheduleTransferWithDelay,
10108				> {
10109					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10110						"ReversibleTransfers",
10111						"schedule_transfer_with_delay",
10112						types::ScheduleTransferWithDelay { dest, amount, delay },
10113						[
10114							254u8, 158u8, 173u8, 217u8, 107u8, 80u8, 229u8, 252u8, 123u8, 46u8,
10115							177u8, 40u8, 25u8, 15u8, 32u8, 22u8, 224u8, 52u8, 242u8, 48u8, 242u8,
10116							84u8, 242u8, 143u8, 111u8, 12u8, 82u8, 161u8, 129u8, 86u8, 161u8,
10117							216u8,
10118						],
10119					)
10120				}
10121				#[doc = "Schedule an asset transfer (pallet-assets) for delayed execution using the configured"]
10122				#[doc = "delay."]
10123				pub fn schedule_asset_transfer(
10124					&self,
10125					asset_id: types::schedule_asset_transfer::AssetId,
10126					dest: types::schedule_asset_transfer::Dest,
10127					amount: types::schedule_asset_transfer::Amount,
10128				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
10129					types::ScheduleAssetTransfer,
10130				> {
10131					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10132						"ReversibleTransfers",
10133						"schedule_asset_transfer",
10134						types::ScheduleAssetTransfer { asset_id, dest, amount },
10135						[
10136							125u8, 51u8, 89u8, 31u8, 247u8, 200u8, 156u8, 209u8, 28u8, 170u8,
10137							203u8, 254u8, 40u8, 131u8, 155u8, 166u8, 65u8, 152u8, 101u8, 198u8,
10138							70u8, 129u8, 5u8, 89u8, 220u8, 189u8, 255u8, 87u8, 58u8, 24u8, 234u8,
10139							42u8,
10140						],
10141					)
10142				}
10143				#[doc = "Schedule an asset transfer (pallet-assets) with a custom one-time delay."]
10144				pub fn schedule_asset_transfer_with_delay(
10145					&self,
10146					asset_id: types::schedule_asset_transfer_with_delay::AssetId,
10147					dest: types::schedule_asset_transfer_with_delay::Dest,
10148					amount: types::schedule_asset_transfer_with_delay::Amount,
10149					delay: types::schedule_asset_transfer_with_delay::Delay,
10150				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
10151					types::ScheduleAssetTransferWithDelay,
10152				> {
10153					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10154						"ReversibleTransfers",
10155						"schedule_asset_transfer_with_delay",
10156						types::ScheduleAssetTransferWithDelay { asset_id, dest, amount, delay },
10157						[
10158							249u8, 59u8, 121u8, 27u8, 78u8, 202u8, 252u8, 120u8, 76u8, 102u8, 33u8,
10159							232u8, 185u8, 78u8, 8u8, 157u8, 139u8, 72u8, 110u8, 91u8, 170u8, 179u8,
10160							89u8, 250u8, 77u8, 26u8, 160u8, 252u8, 62u8, 179u8, 128u8, 216u8,
10161						],
10162					)
10163				}
10164				#[doc = "Allows the guardian (interceptor) to recover all funds from a high security"]
10165				#[doc = "account by transferring the entire balance to themselves."]
10166				#[doc = ""]
10167				#[doc = "This is an emergency function for when the high security account may be compromised."]
10168				#[doc = "It cancels all pending transfers first (applying volume fees), then transfers"]
10169				#[doc = "the remaining free balance to the guardian."]
10170				pub fn recover_funds(
10171					&self,
10172					account: types::recover_funds::Account,
10173				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RecoverFunds> {
10174					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10175						"ReversibleTransfers",
10176						"recover_funds",
10177						types::RecoverFunds { account },
10178						[
10179							94u8, 241u8, 255u8, 110u8, 4u8, 169u8, 1u8, 45u8, 236u8, 88u8, 167u8,
10180							180u8, 240u8, 70u8, 111u8, 99u8, 185u8, 143u8, 153u8, 33u8, 101u8,
10181							30u8, 203u8, 103u8, 229u8, 39u8, 162u8, 76u8, 49u8, 125u8, 247u8,
10182							220u8,
10183						],
10184					)
10185				}
10186			}
10187		}
10188		#[doc = "The `Event` enum of this pallet"]
10189		pub type Event = runtime_types::pallet_reversible_transfers::pallet::Event;
10190		pub mod events {
10191			use super::runtime_types;
10192			#[derive(
10193				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10194				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10195				Debug,
10196			)]
10197			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10198			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10199			#[doc = "A user has enabled their high-security settings."]
10200			#[doc = "[who, interceptor, recoverer, delay]"]
10201			pub struct HighSecuritySet {
10202				pub who: high_security_set::Who,
10203				pub interceptor: high_security_set::Interceptor,
10204				pub delay: high_security_set::Delay,
10205			}
10206			pub mod high_security_set {
10207				use super::runtime_types;
10208				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
10209				pub type Interceptor = ::subxt::ext::subxt_core::utils::AccountId32;
10210				pub type Delay = runtime_types::qp_scheduler::BlockNumberOrTimestamp<
10211					::core::primitive::u32,
10212					::core::primitive::u64,
10213				>;
10214			}
10215			impl ::subxt::ext::subxt_core::events::StaticEvent for HighSecuritySet {
10216				const PALLET: &'static str = "ReversibleTransfers";
10217				const EVENT: &'static str = "HighSecuritySet";
10218			}
10219			#[derive(
10220				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10221				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10222				Debug,
10223			)]
10224			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10225			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10226			#[doc = "A transaction has been intercepted and scheduled for delayed execution."]
10227			#[doc = "[from, to, interceptor, amount, tx_id, execute_at_moment]"]
10228			pub struct TransactionScheduled {
10229				pub from: transaction_scheduled::From,
10230				pub to: transaction_scheduled::To,
10231				pub interceptor: transaction_scheduled::Interceptor,
10232				pub asset_id: transaction_scheduled::AssetId,
10233				pub amount: transaction_scheduled::Amount,
10234				pub tx_id: transaction_scheduled::TxId,
10235				pub execute_at: transaction_scheduled::ExecuteAt,
10236			}
10237			pub mod transaction_scheduled {
10238				use super::runtime_types;
10239				pub type From = ::subxt::ext::subxt_core::utils::AccountId32;
10240				pub type To = ::subxt::ext::subxt_core::utils::AccountId32;
10241				pub type Interceptor = ::subxt::ext::subxt_core::utils::AccountId32;
10242				pub type AssetId = ::core::option::Option<::core::primitive::u32>;
10243				pub type Amount = ::core::primitive::u128;
10244				pub type TxId = ::subxt::ext::subxt_core::utils::H256;
10245				pub type ExecuteAt = runtime_types::qp_scheduler::DispatchTime<
10246					::core::primitive::u32,
10247					::core::primitive::u64,
10248				>;
10249			}
10250			impl ::subxt::ext::subxt_core::events::StaticEvent for TransactionScheduled {
10251				const PALLET: &'static str = "ReversibleTransfers";
10252				const EVENT: &'static str = "TransactionScheduled";
10253			}
10254			#[derive(
10255				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10256				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10257				Debug,
10258			)]
10259			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10260			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10261			#[doc = "A scheduled transaction has been successfully cancelled by the owner."]
10262			pub struct TransactionCancelled {
10263				pub who: transaction_cancelled::Who,
10264				pub tx_id: transaction_cancelled::TxId,
10265			}
10266			pub mod transaction_cancelled {
10267				use super::runtime_types;
10268				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
10269				pub type TxId = ::subxt::ext::subxt_core::utils::H256;
10270			}
10271			impl ::subxt::ext::subxt_core::events::StaticEvent for TransactionCancelled {
10272				const PALLET: &'static str = "ReversibleTransfers";
10273				const EVENT: &'static str = "TransactionCancelled";
10274			}
10275			#[derive(
10276				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10277				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10278				Debug,
10279			)]
10280			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10281			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10282			#[doc = "A scheduled transaction was executed by the scheduler."]
10283			pub struct TransactionExecuted {
10284				pub tx_id: transaction_executed::TxId,
10285				pub result: transaction_executed::Result,
10286			}
10287			pub mod transaction_executed {
10288				use super::runtime_types;
10289				pub type TxId = ::subxt::ext::subxt_core::utils::H256;
10290				pub type Result = ::core::result::Result<
10291					runtime_types::frame_support::dispatch::PostDispatchInfo,
10292					runtime_types::sp_runtime::DispatchErrorWithPostInfo<
10293						runtime_types::frame_support::dispatch::PostDispatchInfo,
10294					>,
10295				>;
10296			}
10297			impl ::subxt::ext::subxt_core::events::StaticEvent for TransactionExecuted {
10298				const PALLET: &'static str = "ReversibleTransfers";
10299				const EVENT: &'static str = "TransactionExecuted";
10300			}
10301			#[derive(
10302				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10303				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10304				Debug,
10305			)]
10306			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
10307			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
10308			#[doc = "Funds were recovered from a high security account by its guardian."]
10309			pub struct FundsRecovered {
10310				pub account: funds_recovered::Account,
10311				pub guardian: funds_recovered::Guardian,
10312			}
10313			pub mod funds_recovered {
10314				use super::runtime_types;
10315				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
10316				pub type Guardian = ::subxt::ext::subxt_core::utils::AccountId32;
10317			}
10318			impl ::subxt::ext::subxt_core::events::StaticEvent for FundsRecovered {
10319				const PALLET: &'static str = "ReversibleTransfers";
10320				const EVENT: &'static str = "FundsRecovered";
10321			}
10322		}
10323		pub mod storage {
10324			use super::runtime_types;
10325			pub mod types {
10326				use super::runtime_types;
10327				pub mod high_security_accounts {
10328					use super::runtime_types;
10329					pub type HighSecurityAccounts =
10330						runtime_types::pallet_reversible_transfers::HighSecurityAccountData<
10331							::subxt::ext::subxt_core::utils::AccountId32,
10332							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
10333								::core::primitive::u32,
10334								::core::primitive::u64,
10335							>,
10336						>;
10337					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
10338				}
10339				pub mod pending_transfers {
10340					use super::runtime_types;
10341					pub type PendingTransfers =
10342						runtime_types::pallet_reversible_transfers::PendingTransfer<
10343							::subxt::ext::subxt_core::utils::AccountId32,
10344							::core::primitive::u128,
10345							runtime_types::frame_support::traits::preimages::Bounded<
10346								runtime_types::quantus_runtime::RuntimeCall,
10347								runtime_types::qp_poseidon::PoseidonHasher,
10348							>,
10349						>;
10350					pub type Param0 = ::subxt::ext::subxt_core::utils::H256;
10351				}
10352				pub mod pending_transfers_by_sender {
10353					use super::runtime_types;
10354					pub type PendingTransfersBySender =
10355						runtime_types::bounded_collections::bounded_vec::BoundedVec<
10356							::subxt::ext::subxt_core::utils::H256,
10357						>;
10358					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
10359				}
10360				pub mod interceptor_index {
10361					use super::runtime_types;
10362					pub type InterceptorIndex =
10363						runtime_types::bounded_collections::bounded_vec::BoundedVec<
10364							::subxt::ext::subxt_core::utils::AccountId32,
10365						>;
10366					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
10367				}
10368				pub mod global_nonce {
10369					use super::runtime_types;
10370					pub type GlobalNonce = ::core::primitive::u64;
10371				}
10372			}
10373			pub struct StorageApi;
10374			impl StorageApi {
10375				#[doc = " Maps accounts to their chosen reversibility delay period (in milliseconds)."]
10376				#[doc = " Accounts present in this map have reversibility enabled."]
10377				pub fn high_security_accounts_iter(
10378					&self,
10379				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10380					(),
10381					types::high_security_accounts::HighSecurityAccounts,
10382					(),
10383					(),
10384					::subxt::ext::subxt_core::utils::Yes,
10385				> {
10386					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10387						"ReversibleTransfers",
10388						"HighSecurityAccounts",
10389						(),
10390						[
10391							11u8, 143u8, 95u8, 23u8, 55u8, 163u8, 22u8, 238u8, 88u8, 24u8, 50u8,
10392							162u8, 72u8, 98u8, 32u8, 219u8, 231u8, 199u8, 118u8, 150u8, 84u8,
10393							126u8, 225u8, 88u8, 129u8, 200u8, 236u8, 214u8, 187u8, 8u8, 252u8,
10394							120u8,
10395						],
10396					)
10397				}
10398				#[doc = " Maps accounts to their chosen reversibility delay period (in milliseconds)."]
10399				#[doc = " Accounts present in this map have reversibility enabled."]
10400				pub fn high_security_accounts(
10401					&self,
10402					_0: types::high_security_accounts::Param0,
10403				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10404					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
10405						types::high_security_accounts::Param0,
10406					>,
10407					types::high_security_accounts::HighSecurityAccounts,
10408					::subxt::ext::subxt_core::utils::Yes,
10409					(),
10410					(),
10411				> {
10412					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10413						"ReversibleTransfers",
10414						"HighSecurityAccounts",
10415						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
10416						[
10417							11u8, 143u8, 95u8, 23u8, 55u8, 163u8, 22u8, 238u8, 88u8, 24u8, 50u8,
10418							162u8, 72u8, 98u8, 32u8, 219u8, 231u8, 199u8, 118u8, 150u8, 84u8,
10419							126u8, 225u8, 88u8, 129u8, 200u8, 236u8, 214u8, 187u8, 8u8, 252u8,
10420							120u8,
10421						],
10422					)
10423				}
10424				#[doc = " Stores the details of pending transactions scheduled for delayed execution."]
10425				#[doc = " Keyed by the unique transaction ID."]
10426				pub fn pending_transfers_iter(
10427					&self,
10428				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10429					(),
10430					types::pending_transfers::PendingTransfers,
10431					(),
10432					(),
10433					::subxt::ext::subxt_core::utils::Yes,
10434				> {
10435					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10436						"ReversibleTransfers",
10437						"PendingTransfers",
10438						(),
10439						[
10440							226u8, 148u8, 100u8, 60u8, 9u8, 160u8, 164u8, 177u8, 53u8, 236u8, 65u8,
10441							38u8, 207u8, 31u8, 170u8, 79u8, 15u8, 237u8, 127u8, 189u8, 203u8,
10442							147u8, 4u8, 146u8, 13u8, 87u8, 158u8, 163u8, 159u8, 87u8, 98u8, 211u8,
10443						],
10444					)
10445				}
10446				#[doc = " Stores the details of pending transactions scheduled for delayed execution."]
10447				#[doc = " Keyed by the unique transaction ID."]
10448				pub fn pending_transfers(
10449					&self,
10450					_0: types::pending_transfers::Param0,
10451				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10452					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
10453						types::pending_transfers::Param0,
10454					>,
10455					types::pending_transfers::PendingTransfers,
10456					::subxt::ext::subxt_core::utils::Yes,
10457					(),
10458					(),
10459				> {
10460					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10461						"ReversibleTransfers",
10462						"PendingTransfers",
10463						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
10464						[
10465							226u8, 148u8, 100u8, 60u8, 9u8, 160u8, 164u8, 177u8, 53u8, 236u8, 65u8,
10466							38u8, 207u8, 31u8, 170u8, 79u8, 15u8, 237u8, 127u8, 189u8, 203u8,
10467							147u8, 4u8, 146u8, 13u8, 87u8, 158u8, 163u8, 159u8, 87u8, 98u8, 211u8,
10468						],
10469					)
10470				}
10471				#[doc = " Maps sender accounts to their list of pending transaction IDs."]
10472				pub fn pending_transfers_by_sender_iter(
10473					&self,
10474				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10475					(),
10476					types::pending_transfers_by_sender::PendingTransfersBySender,
10477					(),
10478					::subxt::ext::subxt_core::utils::Yes,
10479					::subxt::ext::subxt_core::utils::Yes,
10480				> {
10481					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10482						"ReversibleTransfers",
10483						"PendingTransfersBySender",
10484						(),
10485						[
10486							183u8, 43u8, 139u8, 203u8, 182u8, 219u8, 60u8, 129u8, 67u8, 30u8, 65u8,
10487							47u8, 105u8, 196u8, 228u8, 154u8, 26u8, 74u8, 84u8, 72u8, 154u8, 220u8,
10488							216u8, 134u8, 207u8, 240u8, 7u8, 190u8, 236u8, 242u8, 184u8, 224u8,
10489						],
10490					)
10491				}
10492				#[doc = " Maps sender accounts to their list of pending transaction IDs."]
10493				pub fn pending_transfers_by_sender(
10494					&self,
10495					_0: types::pending_transfers_by_sender::Param0,
10496				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10497					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
10498						types::pending_transfers_by_sender::Param0,
10499					>,
10500					types::pending_transfers_by_sender::PendingTransfersBySender,
10501					::subxt::ext::subxt_core::utils::Yes,
10502					::subxt::ext::subxt_core::utils::Yes,
10503					(),
10504				> {
10505					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10506						"ReversibleTransfers",
10507						"PendingTransfersBySender",
10508						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
10509						[
10510							183u8, 43u8, 139u8, 203u8, 182u8, 219u8, 60u8, 129u8, 67u8, 30u8, 65u8,
10511							47u8, 105u8, 196u8, 228u8, 154u8, 26u8, 74u8, 84u8, 72u8, 154u8, 220u8,
10512							216u8, 134u8, 207u8, 240u8, 7u8, 190u8, 236u8, 242u8, 184u8, 224u8,
10513						],
10514					)
10515				}
10516				#[doc = " Maps interceptor accounts to the list of accounts they can intercept for."]
10517				#[doc = " This allows the UI to efficiently query all accounts for which a given account is an"]
10518				#[doc = " interceptor."]
10519				pub fn interceptor_index_iter(
10520					&self,
10521				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10522					(),
10523					types::interceptor_index::InterceptorIndex,
10524					(),
10525					::subxt::ext::subxt_core::utils::Yes,
10526					::subxt::ext::subxt_core::utils::Yes,
10527				> {
10528					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10529						"ReversibleTransfers",
10530						"InterceptorIndex",
10531						(),
10532						[
10533							7u8, 184u8, 75u8, 107u8, 42u8, 84u8, 188u8, 86u8, 2u8, 227u8, 4u8,
10534							136u8, 109u8, 69u8, 64u8, 123u8, 253u8, 28u8, 174u8, 121u8, 183u8,
10535							154u8, 135u8, 91u8, 125u8, 0u8, 58u8, 132u8, 164u8, 236u8, 182u8,
10536							133u8,
10537						],
10538					)
10539				}
10540				#[doc = " Maps interceptor accounts to the list of accounts they can intercept for."]
10541				#[doc = " This allows the UI to efficiently query all accounts for which a given account is an"]
10542				#[doc = " interceptor."]
10543				pub fn interceptor_index(
10544					&self,
10545					_0: types::interceptor_index::Param0,
10546				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10547					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
10548						types::interceptor_index::Param0,
10549					>,
10550					types::interceptor_index::InterceptorIndex,
10551					::subxt::ext::subxt_core::utils::Yes,
10552					::subxt::ext::subxt_core::utils::Yes,
10553					(),
10554				> {
10555					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10556						"ReversibleTransfers",
10557						"InterceptorIndex",
10558						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
10559						[
10560							7u8, 184u8, 75u8, 107u8, 42u8, 84u8, 188u8, 86u8, 2u8, 227u8, 4u8,
10561							136u8, 109u8, 69u8, 64u8, 123u8, 253u8, 28u8, 174u8, 121u8, 183u8,
10562							154u8, 135u8, 91u8, 125u8, 0u8, 58u8, 132u8, 164u8, 236u8, 182u8,
10563							133u8,
10564						],
10565					)
10566				}
10567				#[doc = " Global nonce for generating unique transaction IDs."]
10568				pub fn global_nonce(
10569					&self,
10570				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
10571					(),
10572					types::global_nonce::GlobalNonce,
10573					::subxt::ext::subxt_core::utils::Yes,
10574					::subxt::ext::subxt_core::utils::Yes,
10575					(),
10576				> {
10577					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
10578						"ReversibleTransfers",
10579						"GlobalNonce",
10580						(),
10581						[
10582							119u8, 119u8, 84u8, 141u8, 83u8, 67u8, 42u8, 83u8, 51u8, 196u8, 185u8,
10583							39u8, 227u8, 125u8, 142u8, 154u8, 107u8, 62u8, 127u8, 13u8, 54u8,
10584							114u8, 201u8, 6u8, 100u8, 28u8, 202u8, 152u8, 246u8, 202u8, 9u8, 29u8,
10585						],
10586					)
10587				}
10588			}
10589		}
10590		pub mod constants {
10591			use super::runtime_types;
10592			pub struct ConstantsApi;
10593			impl ConstantsApi {
10594				#[doc = " Maximum number of accounts an interceptor can intercept for. Used for BoundedVec."]
10595				pub fn max_interceptor_accounts(
10596					&self,
10597				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
10598					::core::primitive::u32,
10599				> {
10600					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
10601						"ReversibleTransfers",
10602						"MaxInterceptorAccounts",
10603						[
10604							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
10605							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
10606							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
10607							145u8,
10608						],
10609					)
10610				}
10611				#[doc = " Maximum pending reversible transactions allowed per account."]
10612				pub fn max_pending_per_account(
10613					&self,
10614				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
10615					::core::primitive::u32,
10616				> {
10617					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
10618						"ReversibleTransfers",
10619						"MaxPendingPerAccount",
10620						[
10621							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
10622							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
10623							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
10624							145u8,
10625						],
10626					)
10627				}
10628				#[doc = " The default delay period for reversible transactions if none is specified."]
10629				#[doc = ""]
10630				#[doc = " NOTE: default delay is always in blocks."]
10631				pub fn default_delay(
10632					&self,
10633				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
10634					runtime_types::qp_scheduler::BlockNumberOrTimestamp<
10635						::core::primitive::u32,
10636						::core::primitive::u64,
10637					>,
10638				> {
10639					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
10640						"ReversibleTransfers",
10641						"DefaultDelay",
10642						[
10643							245u8, 29u8, 3u8, 65u8, 154u8, 12u8, 172u8, 71u8, 67u8, 134u8, 71u8,
10644							180u8, 4u8, 9u8, 54u8, 89u8, 6u8, 19u8, 3u8, 168u8, 67u8, 122u8, 197u8,
10645							109u8, 1u8, 228u8, 44u8, 243u8, 228u8, 194u8, 241u8, 227u8,
10646						],
10647					)
10648				}
10649				#[doc = " The minimum delay period allowed for reversible transactions, in blocks."]
10650				pub fn min_delay_period_blocks(
10651					&self,
10652				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
10653					::core::primitive::u32,
10654				> {
10655					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
10656						"ReversibleTransfers",
10657						"MinDelayPeriodBlocks",
10658						[
10659							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
10660							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
10661							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
10662							145u8,
10663						],
10664					)
10665				}
10666				#[doc = " The minimum delay period allowed for reversible transactions, in milliseconds."]
10667				pub fn min_delay_period_moment(
10668					&self,
10669				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
10670					::core::primitive::u64,
10671				> {
10672					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
10673						"ReversibleTransfers",
10674						"MinDelayPeriodMoment",
10675						[
10676							128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8,
10677							59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8,
10678							103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8,
10679							246u8,
10680						],
10681					)
10682				}
10683				#[doc = " Volume fee taken from reversed transactions for high-security accounts only,"]
10684				#[doc = " expressed as a Permill (e.g., Permill::from_percent(1) = 1%). Regular accounts incur no"]
10685				#[doc = " fees. The fee is burned (removed from total issuance)."]
10686				pub fn volume_fee(
10687					&self,
10688				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
10689					runtime_types::sp_arithmetic::per_things::Permill,
10690				> {
10691					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
10692						"ReversibleTransfers",
10693						"VolumeFee",
10694						[
10695							65u8, 93u8, 120u8, 165u8, 204u8, 81u8, 159u8, 163u8, 93u8, 135u8,
10696							114u8, 121u8, 147u8, 35u8, 215u8, 213u8, 4u8, 223u8, 83u8, 37u8, 225u8,
10697							200u8, 189u8, 156u8, 140u8, 36u8, 58u8, 46u8, 42u8, 232u8, 155u8, 0u8,
10698						],
10699					)
10700				}
10701			}
10702		}
10703	}
10704	pub mod conviction_voting {
10705		use super::{root_mod, runtime_types};
10706		#[doc = "The `Error` enum of this pallet."]
10707		pub type Error = runtime_types::pallet_conviction_voting::pallet::Error;
10708		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
10709		pub type Call = runtime_types::pallet_conviction_voting::pallet::Call;
10710		pub mod calls {
10711			use super::{root_mod, runtime_types};
10712			type DispatchError = runtime_types::sp_runtime::DispatchError;
10713			pub mod types {
10714				use super::runtime_types;
10715				#[derive(
10716					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10717					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10718					Debug,
10719				)]
10720				#[decode_as_type(
10721					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
10722				)]
10723				#[encode_as_type(
10724					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
10725				)]
10726				#[doc = "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;"]
10727				#[doc = "otherwise it is a vote to keep the status quo."]
10728				#[doc = ""]
10729				#[doc = "The dispatch origin of this call must be _Signed_."]
10730				#[doc = ""]
10731				#[doc = "- `poll_index`: The index of the poll to vote for."]
10732				#[doc = "- `vote`: The vote configuration."]
10733				#[doc = ""]
10734				#[doc = "Weight: `O(R)` where R is the number of polls the voter has voted on."]
10735				pub struct Vote {
10736					#[codec(compact)]
10737					pub poll_index: vote::PollIndex,
10738					pub vote: vote::Vote,
10739				}
10740				pub mod vote {
10741					use super::runtime_types;
10742					pub type PollIndex = ::core::primitive::u32;
10743					pub type Vote = runtime_types::pallet_conviction_voting::vote::AccountVote<
10744						::core::primitive::u128,
10745					>;
10746				}
10747				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Vote {
10748					const PALLET: &'static str = "ConvictionVoting";
10749					const CALL: &'static str = "vote";
10750				}
10751				#[derive(
10752					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10753					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10754					Debug,
10755				)]
10756				#[decode_as_type(
10757					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
10758				)]
10759				#[encode_as_type(
10760					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
10761				)]
10762				#[doc = "Delegate the voting power (with some given conviction) of the sending account for a"]
10763				#[doc = "particular class of polls."]
10764				#[doc = ""]
10765				#[doc = "The balance delegated is locked for as long as it's delegated, and thereafter for the"]
10766				#[doc = "time appropriate for the conviction's lock period."]
10767				#[doc = ""]
10768				#[doc = "The dispatch origin of this call must be _Signed_, and the signing account must either:"]
10769				#[doc = "  - be delegating already; or"]
10770				#[doc = "  - have no voting activity (if there is, then it will need to be removed through"]
10771				#[doc = "    `remove_vote`)."]
10772				#[doc = ""]
10773				#[doc = "- `to`: The account whose voting the `target` account's voting power will follow."]
10774				#[doc = "- `class`: The class of polls to delegate. To delegate multiple classes, multiple calls"]
10775				#[doc = "  to this function are required."]
10776				#[doc = "- `conviction`: The conviction that will be attached to the delegated votes. When the"]
10777				#[doc = "  account is undelegated, the funds will be locked for the corresponding period."]
10778				#[doc = "- `balance`: The amount of the account's balance to be used in delegating. This must not"]
10779				#[doc = "  be more than the account's current balance."]
10780				#[doc = ""]
10781				#[doc = "Emits `Delegated`."]
10782				#[doc = ""]
10783				#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
10784				#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
10785				pub struct Delegate {
10786					pub class: delegate::Class,
10787					pub to: delegate::To,
10788					pub conviction: delegate::Conviction,
10789					pub balance: delegate::Balance,
10790				}
10791				pub mod delegate {
10792					use super::runtime_types;
10793					pub type Class = ::core::primitive::u16;
10794					pub type To = ::subxt::ext::subxt_core::utils::MultiAddress<
10795						::subxt::ext::subxt_core::utils::AccountId32,
10796						(),
10797					>;
10798					pub type Conviction =
10799						runtime_types::pallet_conviction_voting::conviction::Conviction;
10800					pub type Balance = ::core::primitive::u128;
10801				}
10802				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Delegate {
10803					const PALLET: &'static str = "ConvictionVoting";
10804					const CALL: &'static str = "delegate";
10805				}
10806				#[derive(
10807					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10808					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10809					Debug,
10810				)]
10811				#[decode_as_type(
10812					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
10813				)]
10814				#[encode_as_type(
10815					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
10816				)]
10817				#[doc = "Undelegate the voting power of the sending account for a particular class of polls."]
10818				#[doc = ""]
10819				#[doc = "Tokens may be unlocked following once an amount of time consistent with the lock period"]
10820				#[doc = "of the conviction with which the delegation was issued has passed."]
10821				#[doc = ""]
10822				#[doc = "The dispatch origin of this call must be _Signed_ and the signing account must be"]
10823				#[doc = "currently delegating."]
10824				#[doc = ""]
10825				#[doc = "- `class`: The class of polls to remove the delegation from."]
10826				#[doc = ""]
10827				#[doc = "Emits `Undelegated`."]
10828				#[doc = ""]
10829				#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
10830				#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
10831				pub struct Undelegate {
10832					pub class: undelegate::Class,
10833				}
10834				pub mod undelegate {
10835					use super::runtime_types;
10836					pub type Class = ::core::primitive::u16;
10837				}
10838				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Undelegate {
10839					const PALLET: &'static str = "ConvictionVoting";
10840					const CALL: &'static str = "undelegate";
10841				}
10842				#[derive(
10843					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10844					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10845					Debug,
10846				)]
10847				#[decode_as_type(
10848					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
10849				)]
10850				#[encode_as_type(
10851					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
10852				)]
10853				#[doc = "Remove the lock caused by prior voting/delegating which has expired within a particular"]
10854				#[doc = "class."]
10855				#[doc = ""]
10856				#[doc = "The dispatch origin of this call must be _Signed_."]
10857				#[doc = ""]
10858				#[doc = "- `class`: The class of polls to unlock."]
10859				#[doc = "- `target`: The account to remove the lock on."]
10860				#[doc = ""]
10861				#[doc = "Weight: `O(R)` with R number of vote of target."]
10862				pub struct Unlock {
10863					pub class: unlock::Class,
10864					pub target: unlock::Target,
10865				}
10866				pub mod unlock {
10867					use super::runtime_types;
10868					pub type Class = ::core::primitive::u16;
10869					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
10870						::subxt::ext::subxt_core::utils::AccountId32,
10871						(),
10872					>;
10873				}
10874				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Unlock {
10875					const PALLET: &'static str = "ConvictionVoting";
10876					const CALL: &'static str = "unlock";
10877				}
10878				#[derive(
10879					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10880					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10881					Debug,
10882				)]
10883				#[decode_as_type(
10884					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
10885				)]
10886				#[encode_as_type(
10887					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
10888				)]
10889				#[doc = "Remove a vote for a poll."]
10890				#[doc = ""]
10891				#[doc = "If:"]
10892				#[doc = "- the poll was cancelled, or"]
10893				#[doc = "- the poll is ongoing, or"]
10894				#[doc = "- the poll has ended such that"]
10895				#[doc = "  - the vote of the account was in opposition to the result; or"]
10896				#[doc = "  - there was no conviction to the account's vote; or"]
10897				#[doc = "  - the account made a split vote"]
10898				#[doc = "...then the vote is removed cleanly and a following call to `unlock` may result in more"]
10899				#[doc = "funds being available."]
10900				#[doc = ""]
10901				#[doc = "If, however, the poll has ended and:"]
10902				#[doc = "- it finished corresponding to the vote of the account, and"]
10903				#[doc = "- the account made a standard vote with conviction, and"]
10904				#[doc = "- the lock period of the conviction is not over"]
10905				#[doc = "...then the lock will be aggregated into the overall account's lock, which may involve"]
10906				#[doc = "*overlocking* (where the two locks are combined into a single lock that is the maximum"]
10907				#[doc = "of both the amount locked and the time is it locked for)."]
10908				#[doc = ""]
10909				#[doc = "The dispatch origin of this call must be _Signed_, and the signer must have a vote"]
10910				#[doc = "registered for poll `index`."]
10911				#[doc = ""]
10912				#[doc = "- `index`: The index of poll of the vote to be removed."]
10913				#[doc = "- `class`: Optional parameter, if given it indicates the class of the poll. For polls"]
10914				#[doc = "  which have finished or are cancelled, this must be `Some`."]
10915				#[doc = ""]
10916				#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
10917				#[doc = "  Weight is calculated for the maximum number of vote."]
10918				pub struct RemoveVote {
10919					pub class: remove_vote::Class,
10920					pub index: remove_vote::Index,
10921				}
10922				pub mod remove_vote {
10923					use super::runtime_types;
10924					pub type Class = ::core::option::Option<::core::primitive::u16>;
10925					pub type Index = ::core::primitive::u32;
10926				}
10927				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveVote {
10928					const PALLET: &'static str = "ConvictionVoting";
10929					const CALL: &'static str = "remove_vote";
10930				}
10931				#[derive(
10932					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
10933					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
10934					Debug,
10935				)]
10936				#[decode_as_type(
10937					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
10938				)]
10939				#[encode_as_type(
10940					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
10941				)]
10942				#[doc = "Remove a vote for a poll."]
10943				#[doc = ""]
10944				#[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"]
10945				#[doc = "`remove_vote`. If not equal to the signer, then the vote must have expired,"]
10946				#[doc = "either because the poll was cancelled, because the voter lost the poll or"]
10947				#[doc = "because the conviction period is over."]
10948				#[doc = ""]
10949				#[doc = "The dispatch origin of this call must be _Signed_."]
10950				#[doc = ""]
10951				#[doc = "- `target`: The account of the vote to be removed; this account must have voted for poll"]
10952				#[doc = "  `index`."]
10953				#[doc = "- `index`: The index of poll of the vote to be removed."]
10954				#[doc = "- `class`: The class of the poll."]
10955				#[doc = ""]
10956				#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
10957				#[doc = "  Weight is calculated for the maximum number of vote."]
10958				pub struct RemoveOtherVote {
10959					pub target: remove_other_vote::Target,
10960					pub class: remove_other_vote::Class,
10961					pub index: remove_other_vote::Index,
10962				}
10963				pub mod remove_other_vote {
10964					use super::runtime_types;
10965					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
10966						::subxt::ext::subxt_core::utils::AccountId32,
10967						(),
10968					>;
10969					pub type Class = ::core::primitive::u16;
10970					pub type Index = ::core::primitive::u32;
10971				}
10972				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveOtherVote {
10973					const PALLET: &'static str = "ConvictionVoting";
10974					const CALL: &'static str = "remove_other_vote";
10975				}
10976			}
10977			pub struct TransactionApi;
10978			impl TransactionApi {
10979				#[doc = "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;"]
10980				#[doc = "otherwise it is a vote to keep the status quo."]
10981				#[doc = ""]
10982				#[doc = "The dispatch origin of this call must be _Signed_."]
10983				#[doc = ""]
10984				#[doc = "- `poll_index`: The index of the poll to vote for."]
10985				#[doc = "- `vote`: The vote configuration."]
10986				#[doc = ""]
10987				#[doc = "Weight: `O(R)` where R is the number of polls the voter has voted on."]
10988				pub fn vote(
10989					&self,
10990					poll_index: types::vote::PollIndex,
10991					vote: types::vote::Vote,
10992				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Vote> {
10993					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
10994						"ConvictionVoting",
10995						"vote",
10996						types::Vote { poll_index, vote },
10997						[
10998							57u8, 170u8, 177u8, 168u8, 158u8, 43u8, 87u8, 242u8, 176u8, 85u8,
10999							230u8, 64u8, 103u8, 239u8, 190u8, 6u8, 228u8, 165u8, 248u8, 77u8,
11000							231u8, 221u8, 186u8, 107u8, 249u8, 201u8, 226u8, 52u8, 129u8, 90u8,
11001							142u8, 159u8,
11002						],
11003					)
11004				}
11005				#[doc = "Delegate the voting power (with some given conviction) of the sending account for a"]
11006				#[doc = "particular class of polls."]
11007				#[doc = ""]
11008				#[doc = "The balance delegated is locked for as long as it's delegated, and thereafter for the"]
11009				#[doc = "time appropriate for the conviction's lock period."]
11010				#[doc = ""]
11011				#[doc = "The dispatch origin of this call must be _Signed_, and the signing account must either:"]
11012				#[doc = "  - be delegating already; or"]
11013				#[doc = "  - have no voting activity (if there is, then it will need to be removed through"]
11014				#[doc = "    `remove_vote`)."]
11015				#[doc = ""]
11016				#[doc = "- `to`: The account whose voting the `target` account's voting power will follow."]
11017				#[doc = "- `class`: The class of polls to delegate. To delegate multiple classes, multiple calls"]
11018				#[doc = "  to this function are required."]
11019				#[doc = "- `conviction`: The conviction that will be attached to the delegated votes. When the"]
11020				#[doc = "  account is undelegated, the funds will be locked for the corresponding period."]
11021				#[doc = "- `balance`: The amount of the account's balance to be used in delegating. This must not"]
11022				#[doc = "  be more than the account's current balance."]
11023				#[doc = ""]
11024				#[doc = "Emits `Delegated`."]
11025				#[doc = ""]
11026				#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
11027				#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
11028				pub fn delegate(
11029					&self,
11030					class: types::delegate::Class,
11031					to: types::delegate::To,
11032					conviction: types::delegate::Conviction,
11033					balance: types::delegate::Balance,
11034				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Delegate> {
11035					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11036						"ConvictionVoting",
11037						"delegate",
11038						types::Delegate { class, to, conviction, balance },
11039						[
11040							223u8, 143u8, 33u8, 94u8, 32u8, 156u8, 43u8, 40u8, 142u8, 134u8, 209u8,
11041							134u8, 255u8, 179u8, 97u8, 46u8, 8u8, 140u8, 5u8, 29u8, 76u8, 22u8,
11042							36u8, 7u8, 108u8, 190u8, 220u8, 151u8, 10u8, 47u8, 89u8, 55u8,
11043						],
11044					)
11045				}
11046				#[doc = "Undelegate the voting power of the sending account for a particular class of polls."]
11047				#[doc = ""]
11048				#[doc = "Tokens may be unlocked following once an amount of time consistent with the lock period"]
11049				#[doc = "of the conviction with which the delegation was issued has passed."]
11050				#[doc = ""]
11051				#[doc = "The dispatch origin of this call must be _Signed_ and the signing account must be"]
11052				#[doc = "currently delegating."]
11053				#[doc = ""]
11054				#[doc = "- `class`: The class of polls to remove the delegation from."]
11055				#[doc = ""]
11056				#[doc = "Emits `Undelegated`."]
11057				#[doc = ""]
11058				#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
11059				#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
11060				pub fn undelegate(
11061					&self,
11062					class: types::undelegate::Class,
11063				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Undelegate> {
11064					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11065						"ConvictionVoting",
11066						"undelegate",
11067						types::Undelegate { class },
11068						[
11069							140u8, 232u8, 6u8, 53u8, 228u8, 8u8, 131u8, 144u8, 65u8, 66u8, 245u8,
11070							247u8, 147u8, 135u8, 198u8, 57u8, 82u8, 212u8, 89u8, 46u8, 236u8,
11071							168u8, 200u8, 220u8, 93u8, 168u8, 101u8, 29u8, 110u8, 76u8, 67u8,
11072							181u8,
11073						],
11074					)
11075				}
11076				#[doc = "Remove the lock caused by prior voting/delegating which has expired within a particular"]
11077				#[doc = "class."]
11078				#[doc = ""]
11079				#[doc = "The dispatch origin of this call must be _Signed_."]
11080				#[doc = ""]
11081				#[doc = "- `class`: The class of polls to unlock."]
11082				#[doc = "- `target`: The account to remove the lock on."]
11083				#[doc = ""]
11084				#[doc = "Weight: `O(R)` with R number of vote of target."]
11085				pub fn unlock(
11086					&self,
11087					class: types::unlock::Class,
11088					target: types::unlock::Target,
11089				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Unlock> {
11090					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11091						"ConvictionVoting",
11092						"unlock",
11093						types::Unlock { class, target },
11094						[
11095							79u8, 5u8, 252u8, 237u8, 109u8, 238u8, 157u8, 237u8, 125u8, 171u8,
11096							65u8, 160u8, 102u8, 192u8, 5u8, 141u8, 179u8, 249u8, 253u8, 213u8,
11097							105u8, 251u8, 241u8, 145u8, 186u8, 177u8, 244u8, 139u8, 71u8, 140u8,
11098							173u8, 108u8,
11099						],
11100					)
11101				}
11102				#[doc = "Remove a vote for a poll."]
11103				#[doc = ""]
11104				#[doc = "If:"]
11105				#[doc = "- the poll was cancelled, or"]
11106				#[doc = "- the poll is ongoing, or"]
11107				#[doc = "- the poll has ended such that"]
11108				#[doc = "  - the vote of the account was in opposition to the result; or"]
11109				#[doc = "  - there was no conviction to the account's vote; or"]
11110				#[doc = "  - the account made a split vote"]
11111				#[doc = "...then the vote is removed cleanly and a following call to `unlock` may result in more"]
11112				#[doc = "funds being available."]
11113				#[doc = ""]
11114				#[doc = "If, however, the poll has ended and:"]
11115				#[doc = "- it finished corresponding to the vote of the account, and"]
11116				#[doc = "- the account made a standard vote with conviction, and"]
11117				#[doc = "- the lock period of the conviction is not over"]
11118				#[doc = "...then the lock will be aggregated into the overall account's lock, which may involve"]
11119				#[doc = "*overlocking* (where the two locks are combined into a single lock that is the maximum"]
11120				#[doc = "of both the amount locked and the time is it locked for)."]
11121				#[doc = ""]
11122				#[doc = "The dispatch origin of this call must be _Signed_, and the signer must have a vote"]
11123				#[doc = "registered for poll `index`."]
11124				#[doc = ""]
11125				#[doc = "- `index`: The index of poll of the vote to be removed."]
11126				#[doc = "- `class`: Optional parameter, if given it indicates the class of the poll. For polls"]
11127				#[doc = "  which have finished or are cancelled, this must be `Some`."]
11128				#[doc = ""]
11129				#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
11130				#[doc = "  Weight is calculated for the maximum number of vote."]
11131				pub fn remove_vote(
11132					&self,
11133					class: types::remove_vote::Class,
11134					index: types::remove_vote::Index,
11135				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveVote> {
11136					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11137						"ConvictionVoting",
11138						"remove_vote",
11139						types::RemoveVote { class, index },
11140						[
11141							255u8, 108u8, 211u8, 146u8, 168u8, 231u8, 207u8, 44u8, 76u8, 24u8,
11142							235u8, 60u8, 23u8, 79u8, 192u8, 192u8, 46u8, 40u8, 134u8, 27u8, 125u8,
11143							114u8, 125u8, 247u8, 85u8, 102u8, 76u8, 159u8, 34u8, 167u8, 152u8,
11144							148u8,
11145						],
11146					)
11147				}
11148				#[doc = "Remove a vote for a poll."]
11149				#[doc = ""]
11150				#[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"]
11151				#[doc = "`remove_vote`. If not equal to the signer, then the vote must have expired,"]
11152				#[doc = "either because the poll was cancelled, because the voter lost the poll or"]
11153				#[doc = "because the conviction period is over."]
11154				#[doc = ""]
11155				#[doc = "The dispatch origin of this call must be _Signed_."]
11156				#[doc = ""]
11157				#[doc = "- `target`: The account of the vote to be removed; this account must have voted for poll"]
11158				#[doc = "  `index`."]
11159				#[doc = "- `index`: The index of poll of the vote to be removed."]
11160				#[doc = "- `class`: The class of the poll."]
11161				#[doc = ""]
11162				#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
11163				#[doc = "  Weight is calculated for the maximum number of vote."]
11164				pub fn remove_other_vote(
11165					&self,
11166					target: types::remove_other_vote::Target,
11167					class: types::remove_other_vote::Class,
11168					index: types::remove_other_vote::Index,
11169				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveOtherVote>
11170				{
11171					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11172						"ConvictionVoting",
11173						"remove_other_vote",
11174						types::RemoveOtherVote { target, class, index },
11175						[
11176							165u8, 26u8, 166u8, 37u8, 10u8, 174u8, 243u8, 10u8, 73u8, 93u8, 213u8,
11177							69u8, 200u8, 16u8, 48u8, 146u8, 160u8, 92u8, 28u8, 26u8, 158u8, 55u8,
11178							6u8, 251u8, 36u8, 132u8, 46u8, 195u8, 107u8, 34u8, 0u8, 100u8,
11179						],
11180					)
11181				}
11182			}
11183		}
11184		#[doc = "The `Event` enum of this pallet"]
11185		pub type Event = runtime_types::pallet_conviction_voting::pallet::Event;
11186		pub mod events {
11187			use super::runtime_types;
11188			#[derive(
11189				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11190				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11191				Debug,
11192			)]
11193			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
11194			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
11195			#[doc = "An account has delegated their vote to another account. \\[who, target\\]"]
11196			pub struct Delegated(
11197				pub delegated::Field0,
11198				pub delegated::Field1,
11199				pub delegated::Field2,
11200			);
11201			pub mod delegated {
11202				use super::runtime_types;
11203				pub type Field0 = ::subxt::ext::subxt_core::utils::AccountId32;
11204				pub type Field1 = ::subxt::ext::subxt_core::utils::AccountId32;
11205				pub type Field2 = ::core::primitive::u16;
11206			}
11207			impl ::subxt::ext::subxt_core::events::StaticEvent for Delegated {
11208				const PALLET: &'static str = "ConvictionVoting";
11209				const EVENT: &'static str = "Delegated";
11210			}
11211			#[derive(
11212				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11213				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11214				Debug,
11215			)]
11216			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
11217			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
11218			#[doc = "An \\[account\\] has cancelled a previous delegation operation."]
11219			pub struct Undelegated(pub undelegated::Field0, pub undelegated::Field1);
11220			pub mod undelegated {
11221				use super::runtime_types;
11222				pub type Field0 = ::subxt::ext::subxt_core::utils::AccountId32;
11223				pub type Field1 = ::core::primitive::u16;
11224			}
11225			impl ::subxt::ext::subxt_core::events::StaticEvent for Undelegated {
11226				const PALLET: &'static str = "ConvictionVoting";
11227				const EVENT: &'static str = "Undelegated";
11228			}
11229			#[derive(
11230				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11231				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11232				Debug,
11233			)]
11234			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
11235			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
11236			#[doc = "An account has voted"]
11237			pub struct Voted {
11238				pub who: voted::Who,
11239				pub vote: voted::Vote,
11240				pub poll_index: voted::PollIndex,
11241			}
11242			pub mod voted {
11243				use super::runtime_types;
11244				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
11245				pub type Vote = runtime_types::pallet_conviction_voting::vote::AccountVote<
11246					::core::primitive::u128,
11247				>;
11248				pub type PollIndex = ::core::primitive::u32;
11249			}
11250			impl ::subxt::ext::subxt_core::events::StaticEvent for Voted {
11251				const PALLET: &'static str = "ConvictionVoting";
11252				const EVENT: &'static str = "Voted";
11253			}
11254			#[derive(
11255				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11256				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11257				Debug,
11258			)]
11259			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
11260			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
11261			#[doc = "A vote has been removed"]
11262			pub struct VoteRemoved {
11263				pub who: vote_removed::Who,
11264				pub vote: vote_removed::Vote,
11265				pub poll_index: vote_removed::PollIndex,
11266			}
11267			pub mod vote_removed {
11268				use super::runtime_types;
11269				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
11270				pub type Vote = runtime_types::pallet_conviction_voting::vote::AccountVote<
11271					::core::primitive::u128,
11272				>;
11273				pub type PollIndex = ::core::primitive::u32;
11274			}
11275			impl ::subxt::ext::subxt_core::events::StaticEvent for VoteRemoved {
11276				const PALLET: &'static str = "ConvictionVoting";
11277				const EVENT: &'static str = "VoteRemoved";
11278			}
11279			#[derive(
11280				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11281				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11282				Debug,
11283			)]
11284			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
11285			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
11286			#[doc = "The lockup period of a conviction vote expired, and the funds have been unlocked."]
11287			pub struct VoteUnlocked {
11288				pub who: vote_unlocked::Who,
11289				pub class: vote_unlocked::Class,
11290			}
11291			pub mod vote_unlocked {
11292				use super::runtime_types;
11293				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
11294				pub type Class = ::core::primitive::u16;
11295			}
11296			impl ::subxt::ext::subxt_core::events::StaticEvent for VoteUnlocked {
11297				const PALLET: &'static str = "ConvictionVoting";
11298				const EVENT: &'static str = "VoteUnlocked";
11299			}
11300		}
11301		pub mod storage {
11302			use super::runtime_types;
11303			pub mod types {
11304				use super::runtime_types;
11305				pub mod voting_for {
11306					use super::runtime_types;
11307					pub type VotingFor = runtime_types::pallet_conviction_voting::vote::Voting<
11308						::core::primitive::u128,
11309						::subxt::ext::subxt_core::utils::AccountId32,
11310						::core::primitive::u32,
11311						::core::primitive::u32,
11312					>;
11313					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
11314					pub type Param1 = ::core::primitive::u16;
11315				}
11316				pub mod class_locks_for {
11317					use super::runtime_types;
11318					pub type ClassLocksFor =
11319						runtime_types::bounded_collections::bounded_vec::BoundedVec<(
11320							::core::primitive::u16,
11321							::core::primitive::u128,
11322						)>;
11323					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
11324				}
11325			}
11326			pub struct StorageApi;
11327			impl StorageApi {
11328				#[doc = " All voting for a particular voter in a particular voting class. We store the balance for the"]
11329				#[doc = " number of votes that we have recorded."]
11330				pub fn voting_for_iter(
11331					&self,
11332				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11333					(),
11334					types::voting_for::VotingFor,
11335					(),
11336					::subxt::ext::subxt_core::utils::Yes,
11337					::subxt::ext::subxt_core::utils::Yes,
11338				> {
11339					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11340						"ConvictionVoting",
11341						"VotingFor",
11342						(),
11343						[
11344							76u8, 63u8, 153u8, 193u8, 39u8, 137u8, 186u8, 29u8, 202u8, 56u8, 169u8,
11345							56u8, 103u8, 138u8, 192u8, 18u8, 179u8, 114u8, 56u8, 121u8, 197u8,
11346							12u8, 29u8, 239u8, 220u8, 231u8, 24u8, 46u8, 134u8, 99u8, 53u8, 206u8,
11347						],
11348					)
11349				}
11350				#[doc = " All voting for a particular voter in a particular voting class. We store the balance for the"]
11351				#[doc = " number of votes that we have recorded."]
11352				pub fn voting_for_iter1(
11353					&self,
11354					_0: types::voting_for::Param0,
11355				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11356					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
11357						types::voting_for::Param0,
11358					>,
11359					types::voting_for::VotingFor,
11360					(),
11361					::subxt::ext::subxt_core::utils::Yes,
11362					::subxt::ext::subxt_core::utils::Yes,
11363				> {
11364					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11365						"ConvictionVoting",
11366						"VotingFor",
11367						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
11368						[
11369							76u8, 63u8, 153u8, 193u8, 39u8, 137u8, 186u8, 29u8, 202u8, 56u8, 169u8,
11370							56u8, 103u8, 138u8, 192u8, 18u8, 179u8, 114u8, 56u8, 121u8, 197u8,
11371							12u8, 29u8, 239u8, 220u8, 231u8, 24u8, 46u8, 134u8, 99u8, 53u8, 206u8,
11372						],
11373					)
11374				}
11375				#[doc = " All voting for a particular voter in a particular voting class. We store the balance for the"]
11376				#[doc = " number of votes that we have recorded."]
11377				pub fn voting_for(
11378					&self,
11379					_0: types::voting_for::Param0,
11380					_1: types::voting_for::Param1,
11381				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11382					(
11383						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
11384							types::voting_for::Param0,
11385						>,
11386						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
11387							types::voting_for::Param1,
11388						>,
11389					),
11390					types::voting_for::VotingFor,
11391					::subxt::ext::subxt_core::utils::Yes,
11392					::subxt::ext::subxt_core::utils::Yes,
11393					(),
11394				> {
11395					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11396						"ConvictionVoting",
11397						"VotingFor",
11398						(
11399							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
11400							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
11401						),
11402						[
11403							76u8, 63u8, 153u8, 193u8, 39u8, 137u8, 186u8, 29u8, 202u8, 56u8, 169u8,
11404							56u8, 103u8, 138u8, 192u8, 18u8, 179u8, 114u8, 56u8, 121u8, 197u8,
11405							12u8, 29u8, 239u8, 220u8, 231u8, 24u8, 46u8, 134u8, 99u8, 53u8, 206u8,
11406						],
11407					)
11408				}
11409				#[doc = " The voting classes which have a non-zero lock requirement and the lock amounts which they"]
11410				#[doc = " require. The actual amount locked on behalf of this pallet should always be the maximum of"]
11411				#[doc = " this list."]
11412				pub fn class_locks_for_iter(
11413					&self,
11414				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11415					(),
11416					types::class_locks_for::ClassLocksFor,
11417					(),
11418					::subxt::ext::subxt_core::utils::Yes,
11419					::subxt::ext::subxt_core::utils::Yes,
11420				> {
11421					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11422						"ConvictionVoting",
11423						"ClassLocksFor",
11424						(),
11425						[
11426							74u8, 74u8, 8u8, 82u8, 215u8, 61u8, 13u8, 9u8, 44u8, 222u8, 33u8,
11427							245u8, 195u8, 124u8, 6u8, 174u8, 65u8, 245u8, 71u8, 42u8, 47u8, 46u8,
11428							164u8, 231u8, 11u8, 245u8, 115u8, 207u8, 209u8, 137u8, 90u8, 6u8,
11429						],
11430					)
11431				}
11432				#[doc = " The voting classes which have a non-zero lock requirement and the lock amounts which they"]
11433				#[doc = " require. The actual amount locked on behalf of this pallet should always be the maximum of"]
11434				#[doc = " this list."]
11435				pub fn class_locks_for(
11436					&self,
11437					_0: types::class_locks_for::Param0,
11438				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
11439					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
11440						types::class_locks_for::Param0,
11441					>,
11442					types::class_locks_for::ClassLocksFor,
11443					::subxt::ext::subxt_core::utils::Yes,
11444					::subxt::ext::subxt_core::utils::Yes,
11445					(),
11446				> {
11447					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
11448						"ConvictionVoting",
11449						"ClassLocksFor",
11450						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
11451						[
11452							74u8, 74u8, 8u8, 82u8, 215u8, 61u8, 13u8, 9u8, 44u8, 222u8, 33u8,
11453							245u8, 195u8, 124u8, 6u8, 174u8, 65u8, 245u8, 71u8, 42u8, 47u8, 46u8,
11454							164u8, 231u8, 11u8, 245u8, 115u8, 207u8, 209u8, 137u8, 90u8, 6u8,
11455						],
11456					)
11457				}
11458			}
11459		}
11460		pub mod constants {
11461			use super::runtime_types;
11462			pub struct ConstantsApi;
11463			impl ConstantsApi {
11464				#[doc = " The maximum number of concurrent votes an account may have."]
11465				#[doc = ""]
11466				#[doc = " Also used to compute weight, an overly large value can lead to extrinsics with large"]
11467				#[doc = " weight estimation: see `delegate` for instance."]
11468				pub fn max_votes(
11469					&self,
11470				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
11471					::core::primitive::u32,
11472				> {
11473					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
11474						"ConvictionVoting",
11475						"MaxVotes",
11476						[
11477							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
11478							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
11479							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
11480							145u8,
11481						],
11482					)
11483				}
11484				#[doc = " The minimum period of vote locking."]
11485				#[doc = ""]
11486				#[doc = " It should be no shorter than enactment period to ensure that in the case of an approval,"]
11487				#[doc = " those successful voters are locked into the consequences that their votes entail."]
11488				pub fn vote_locking_period(
11489					&self,
11490				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
11491					::core::primitive::u32,
11492				> {
11493					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
11494						"ConvictionVoting",
11495						"VoteLockingPeriod",
11496						[
11497							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
11498							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
11499							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
11500							145u8,
11501						],
11502					)
11503				}
11504			}
11505		}
11506	}
11507	pub mod tech_collective {
11508		use super::{root_mod, runtime_types};
11509		#[doc = "The `Error` enum of this pallet."]
11510		pub type Error = runtime_types::pallet_ranked_collective::pallet::Error;
11511		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
11512		pub type Call = runtime_types::pallet_ranked_collective::pallet::Call;
11513		pub mod calls {
11514			use super::{root_mod, runtime_types};
11515			type DispatchError = runtime_types::sp_runtime::DispatchError;
11516			pub mod types {
11517				use super::runtime_types;
11518				#[derive(
11519					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11520					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11521					Debug,
11522				)]
11523				#[decode_as_type(
11524					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11525				)]
11526				#[encode_as_type(
11527					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11528				)]
11529				#[doc = "Introduce a new member."]
11530				#[doc = ""]
11531				#[doc = "- `origin`: Must be the `AddOrigin`."]
11532				#[doc = "- `who`: Account of non-member which will become a member."]
11533				#[doc = ""]
11534				#[doc = "Weight: `O(1)`"]
11535				pub struct AddMember {
11536					pub who: add_member::Who,
11537				}
11538				pub mod add_member {
11539					use super::runtime_types;
11540					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
11541						::subxt::ext::subxt_core::utils::AccountId32,
11542						(),
11543					>;
11544				}
11545				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for AddMember {
11546					const PALLET: &'static str = "TechCollective";
11547					const CALL: &'static str = "add_member";
11548				}
11549				#[derive(
11550					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11551					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11552					Debug,
11553				)]
11554				#[decode_as_type(
11555					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11556				)]
11557				#[encode_as_type(
11558					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11559				)]
11560				#[doc = "Increment the rank of an existing member by one."]
11561				#[doc = ""]
11562				#[doc = "- `origin`: Must be the `PromoteOrigin`."]
11563				#[doc = "- `who`: Account of existing member."]
11564				#[doc = ""]
11565				#[doc = "Weight: `O(1)`"]
11566				pub struct PromoteMember {
11567					pub who: promote_member::Who,
11568				}
11569				pub mod promote_member {
11570					use super::runtime_types;
11571					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
11572						::subxt::ext::subxt_core::utils::AccountId32,
11573						(),
11574					>;
11575				}
11576				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for PromoteMember {
11577					const PALLET: &'static str = "TechCollective";
11578					const CALL: &'static str = "promote_member";
11579				}
11580				#[derive(
11581					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11582					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11583					Debug,
11584				)]
11585				#[decode_as_type(
11586					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11587				)]
11588				#[encode_as_type(
11589					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11590				)]
11591				#[doc = "Decrement the rank of an existing member by one. If the member is already at rank zero,"]
11592				#[doc = "then they are removed entirely."]
11593				#[doc = ""]
11594				#[doc = "- `origin`: Must be the `DemoteOrigin`."]
11595				#[doc = "- `who`: Account of existing member of rank greater than zero."]
11596				#[doc = ""]
11597				#[doc = "Weight: `O(1)`, less if the member's index is highest in its rank."]
11598				pub struct DemoteMember {
11599					pub who: demote_member::Who,
11600				}
11601				pub mod demote_member {
11602					use super::runtime_types;
11603					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
11604						::subxt::ext::subxt_core::utils::AccountId32,
11605						(),
11606					>;
11607				}
11608				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for DemoteMember {
11609					const PALLET: &'static str = "TechCollective";
11610					const CALL: &'static str = "demote_member";
11611				}
11612				#[derive(
11613					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11614					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11615					Debug,
11616				)]
11617				#[decode_as_type(
11618					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11619				)]
11620				#[encode_as_type(
11621					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11622				)]
11623				#[doc = "Remove the member entirely."]
11624				#[doc = ""]
11625				#[doc = "- `origin`: Must be the `RemoveOrigin`."]
11626				#[doc = "- `who`: Account of existing member of rank greater than zero."]
11627				#[doc = "- `min_rank`: The rank of the member or greater."]
11628				#[doc = ""]
11629				#[doc = "Weight: `O(min_rank)`."]
11630				pub struct RemoveMember {
11631					pub who: remove_member::Who,
11632					pub min_rank: remove_member::MinRank,
11633				}
11634				pub mod remove_member {
11635					use super::runtime_types;
11636					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
11637						::subxt::ext::subxt_core::utils::AccountId32,
11638						(),
11639					>;
11640					pub type MinRank = ::core::primitive::u16;
11641				}
11642				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveMember {
11643					const PALLET: &'static str = "TechCollective";
11644					const CALL: &'static str = "remove_member";
11645				}
11646				#[derive(
11647					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11648					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11649					Debug,
11650				)]
11651				#[decode_as_type(
11652					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11653				)]
11654				#[encode_as_type(
11655					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11656				)]
11657				#[doc = "Add an aye or nay vote for the sender to the given proposal."]
11658				#[doc = ""]
11659				#[doc = "- `origin`: Must be `Signed` by a member account."]
11660				#[doc = "- `poll`: Index of a poll which is ongoing."]
11661				#[doc = "- `aye`: `true` if the vote is to approve the proposal, `false` otherwise."]
11662				#[doc = ""]
11663				#[doc = "Transaction fees are be waived if the member is voting on any particular proposal"]
11664				#[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"]
11665				#[doc = "fee."]
11666				#[doc = ""]
11667				#[doc = "Weight: `O(1)`, less if there was no previous vote on the poll by the member."]
11668				pub struct Vote {
11669					pub poll: vote::Poll,
11670					pub aye: vote::Aye,
11671				}
11672				pub mod vote {
11673					use super::runtime_types;
11674					pub type Poll = ::core::primitive::u32;
11675					pub type Aye = ::core::primitive::bool;
11676				}
11677				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Vote {
11678					const PALLET: &'static str = "TechCollective";
11679					const CALL: &'static str = "vote";
11680				}
11681				#[derive(
11682					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11683					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11684					Debug,
11685				)]
11686				#[decode_as_type(
11687					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11688				)]
11689				#[encode_as_type(
11690					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11691				)]
11692				#[doc = "Remove votes from the given poll. It must have ended."]
11693				#[doc = ""]
11694				#[doc = "- `origin`: Must be `Signed` by any account."]
11695				#[doc = "- `poll_index`: Index of a poll which is completed and for which votes continue to"]
11696				#[doc = "  exist."]
11697				#[doc = "- `max`: Maximum number of vote items from remove in this call."]
11698				#[doc = ""]
11699				#[doc = "Transaction fees are waived if the operation is successful."]
11700				#[doc = ""]
11701				#[doc = "Weight `O(max)` (less if there are fewer items to remove than `max`)."]
11702				pub struct CleanupPoll {
11703					pub poll_index: cleanup_poll::PollIndex,
11704					pub max: cleanup_poll::Max,
11705				}
11706				pub mod cleanup_poll {
11707					use super::runtime_types;
11708					pub type PollIndex = ::core::primitive::u32;
11709					pub type Max = ::core::primitive::u32;
11710				}
11711				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CleanupPoll {
11712					const PALLET: &'static str = "TechCollective";
11713					const CALL: &'static str = "cleanup_poll";
11714				}
11715				#[derive(
11716					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11717					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11718					Debug,
11719				)]
11720				#[decode_as_type(
11721					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
11722				)]
11723				#[encode_as_type(
11724					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
11725				)]
11726				#[doc = "Exchanges a member with a new account and the same existing rank."]
11727				#[doc = ""]
11728				#[doc = "- `origin`: Must be the `ExchangeOrigin`."]
11729				#[doc = "- `who`: Account of existing member of rank greater than zero to be exchanged."]
11730				#[doc = "- `new_who`: New Account of existing member of rank greater than zero to exchanged to."]
11731				pub struct ExchangeMember {
11732					pub who: exchange_member::Who,
11733					pub new_who: exchange_member::NewWho,
11734				}
11735				pub mod exchange_member {
11736					use super::runtime_types;
11737					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
11738						::subxt::ext::subxt_core::utils::AccountId32,
11739						(),
11740					>;
11741					pub type NewWho = ::subxt::ext::subxt_core::utils::MultiAddress<
11742						::subxt::ext::subxt_core::utils::AccountId32,
11743						(),
11744					>;
11745				}
11746				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ExchangeMember {
11747					const PALLET: &'static str = "TechCollective";
11748					const CALL: &'static str = "exchange_member";
11749				}
11750			}
11751			pub struct TransactionApi;
11752			impl TransactionApi {
11753				#[doc = "Introduce a new member."]
11754				#[doc = ""]
11755				#[doc = "- `origin`: Must be the `AddOrigin`."]
11756				#[doc = "- `who`: Account of non-member which will become a member."]
11757				#[doc = ""]
11758				#[doc = "Weight: `O(1)`"]
11759				pub fn add_member(
11760					&self,
11761					who: types::add_member::Who,
11762				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::AddMember> {
11763					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11764						"TechCollective",
11765						"add_member",
11766						types::AddMember { who },
11767						[
11768							2u8, 131u8, 37u8, 217u8, 112u8, 46u8, 86u8, 165u8, 248u8, 244u8, 33u8,
11769							236u8, 155u8, 28u8, 163u8, 169u8, 213u8, 32u8, 70u8, 217u8, 97u8,
11770							194u8, 138u8, 77u8, 133u8, 97u8, 188u8, 49u8, 49u8, 31u8, 177u8, 206u8,
11771						],
11772					)
11773				}
11774				#[doc = "Increment the rank of an existing member by one."]
11775				#[doc = ""]
11776				#[doc = "- `origin`: Must be the `PromoteOrigin`."]
11777				#[doc = "- `who`: Account of existing member."]
11778				#[doc = ""]
11779				#[doc = "Weight: `O(1)`"]
11780				pub fn promote_member(
11781					&self,
11782					who: types::promote_member::Who,
11783				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::PromoteMember>
11784				{
11785					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11786						"TechCollective",
11787						"promote_member",
11788						types::PromoteMember { who },
11789						[
11790							169u8, 155u8, 9u8, 50u8, 144u8, 133u8, 230u8, 60u8, 216u8, 147u8, 3u8,
11791							236u8, 94u8, 185u8, 106u8, 139u8, 235u8, 143u8, 189u8, 135u8, 208u8,
11792							176u8, 126u8, 124u8, 85u8, 140u8, 189u8, 125u8, 87u8, 56u8, 57u8,
11793							246u8,
11794						],
11795					)
11796				}
11797				#[doc = "Decrement the rank of an existing member by one. If the member is already at rank zero,"]
11798				#[doc = "then they are removed entirely."]
11799				#[doc = ""]
11800				#[doc = "- `origin`: Must be the `DemoteOrigin`."]
11801				#[doc = "- `who`: Account of existing member of rank greater than zero."]
11802				#[doc = ""]
11803				#[doc = "Weight: `O(1)`, less if the member's index is highest in its rank."]
11804				pub fn demote_member(
11805					&self,
11806					who: types::demote_member::Who,
11807				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::DemoteMember> {
11808					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11809						"TechCollective",
11810						"demote_member",
11811						types::DemoteMember { who },
11812						[
11813							21u8, 185u8, 71u8, 166u8, 106u8, 88u8, 74u8, 251u8, 78u8, 28u8, 205u8,
11814							171u8, 199u8, 195u8, 97u8, 149u8, 175u8, 229u8, 25u8, 113u8, 96u8,
11815							25u8, 240u8, 64u8, 109u8, 246u8, 203u8, 45u8, 110u8, 205u8, 115u8,
11816							178u8,
11817						],
11818					)
11819				}
11820				#[doc = "Remove the member entirely."]
11821				#[doc = ""]
11822				#[doc = "- `origin`: Must be the `RemoveOrigin`."]
11823				#[doc = "- `who`: Account of existing member of rank greater than zero."]
11824				#[doc = "- `min_rank`: The rank of the member or greater."]
11825				#[doc = ""]
11826				#[doc = "Weight: `O(min_rank)`."]
11827				pub fn remove_member(
11828					&self,
11829					who: types::remove_member::Who,
11830					min_rank: types::remove_member::MinRank,
11831				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveMember> {
11832					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11833						"TechCollective",
11834						"remove_member",
11835						types::RemoveMember { who, min_rank },
11836						[
11837							23u8, 156u8, 32u8, 64u8, 158u8, 50u8, 64u8, 199u8, 108u8, 67u8, 133u8,
11838							128u8, 138u8, 241u8, 14u8, 238u8, 192u8, 173u8, 250u8, 11u8, 124u8,
11839							119u8, 177u8, 190u8, 152u8, 116u8, 134u8, 42u8, 216u8, 49u8, 113u8,
11840							49u8,
11841						],
11842					)
11843				}
11844				#[doc = "Add an aye or nay vote for the sender to the given proposal."]
11845				#[doc = ""]
11846				#[doc = "- `origin`: Must be `Signed` by a member account."]
11847				#[doc = "- `poll`: Index of a poll which is ongoing."]
11848				#[doc = "- `aye`: `true` if the vote is to approve the proposal, `false` otherwise."]
11849				#[doc = ""]
11850				#[doc = "Transaction fees are be waived if the member is voting on any particular proposal"]
11851				#[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"]
11852				#[doc = "fee."]
11853				#[doc = ""]
11854				#[doc = "Weight: `O(1)`, less if there was no previous vote on the poll by the member."]
11855				pub fn vote(
11856					&self,
11857					poll: types::vote::Poll,
11858					aye: types::vote::Aye,
11859				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Vote> {
11860					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11861						"TechCollective",
11862						"vote",
11863						types::Vote { poll, aye },
11864						[
11865							54u8, 116u8, 81u8, 239u8, 223u8, 35u8, 11u8, 244u8, 245u8, 94u8, 23u8,
11866							241u8, 125u8, 231u8, 56u8, 150u8, 105u8, 125u8, 100u8, 171u8, 182u8,
11867							186u8, 134u8, 40u8, 4u8, 121u8, 119u8, 11u8, 93u8, 158u8, 59u8, 209u8,
11868						],
11869					)
11870				}
11871				#[doc = "Remove votes from the given poll. It must have ended."]
11872				#[doc = ""]
11873				#[doc = "- `origin`: Must be `Signed` by any account."]
11874				#[doc = "- `poll_index`: Index of a poll which is completed and for which votes continue to"]
11875				#[doc = "  exist."]
11876				#[doc = "- `max`: Maximum number of vote items from remove in this call."]
11877				#[doc = ""]
11878				#[doc = "Transaction fees are waived if the operation is successful."]
11879				#[doc = ""]
11880				#[doc = "Weight `O(max)` (less if there are fewer items to remove than `max`)."]
11881				pub fn cleanup_poll(
11882					&self,
11883					poll_index: types::cleanup_poll::PollIndex,
11884					max: types::cleanup_poll::Max,
11885				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CleanupPoll> {
11886					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11887						"TechCollective",
11888						"cleanup_poll",
11889						types::CleanupPoll { poll_index, max },
11890						[
11891							157u8, 109u8, 86u8, 253u8, 62u8, 107u8, 235u8, 255u8, 171u8, 68u8,
11892							103u8, 92u8, 245u8, 25u8, 252u8, 158u8, 174u8, 137u8, 77u8, 251u8,
11893							105u8, 113u8, 165u8, 46u8, 39u8, 55u8, 166u8, 79u8, 103u8, 81u8, 121u8,
11894							37u8,
11895						],
11896					)
11897				}
11898				#[doc = "Exchanges a member with a new account and the same existing rank."]
11899				#[doc = ""]
11900				#[doc = "- `origin`: Must be the `ExchangeOrigin`."]
11901				#[doc = "- `who`: Account of existing member of rank greater than zero to be exchanged."]
11902				#[doc = "- `new_who`: New Account of existing member of rank greater than zero to exchanged to."]
11903				pub fn exchange_member(
11904					&self,
11905					who: types::exchange_member::Who,
11906					new_who: types::exchange_member::NewWho,
11907				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ExchangeMember>
11908				{
11909					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
11910						"TechCollective",
11911						"exchange_member",
11912						types::ExchangeMember { who, new_who },
11913						[
11914							240u8, 208u8, 76u8, 147u8, 117u8, 23u8, 91u8, 37u8, 22u8, 101u8, 53u8,
11915							247u8, 161u8, 94u8, 109u8, 233u8, 104u8, 129u8, 67u8, 31u8, 223u8,
11916							182u8, 50u8, 233u8, 120u8, 129u8, 224u8, 135u8, 52u8, 162u8, 26u8,
11917							189u8,
11918						],
11919					)
11920				}
11921			}
11922		}
11923		#[doc = "The `Event` enum of this pallet"]
11924		pub type Event = runtime_types::pallet_ranked_collective::pallet::Event;
11925		pub mod events {
11926			use super::runtime_types;
11927			#[derive(
11928				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11929				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11930				Debug,
11931			)]
11932			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
11933			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
11934			#[doc = "A member `who` has been added."]
11935			pub struct MemberAdded {
11936				pub who: member_added::Who,
11937			}
11938			pub mod member_added {
11939				use super::runtime_types;
11940				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
11941			}
11942			impl ::subxt::ext::subxt_core::events::StaticEvent for MemberAdded {
11943				const PALLET: &'static str = "TechCollective";
11944				const EVENT: &'static str = "MemberAdded";
11945			}
11946			#[derive(
11947				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11948				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11949				Debug,
11950			)]
11951			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
11952			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
11953			#[doc = "The member `who`se rank has been changed to the given `rank`."]
11954			pub struct RankChanged {
11955				pub who: rank_changed::Who,
11956				pub rank: rank_changed::Rank,
11957			}
11958			pub mod rank_changed {
11959				use super::runtime_types;
11960				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
11961				pub type Rank = ::core::primitive::u16;
11962			}
11963			impl ::subxt::ext::subxt_core::events::StaticEvent for RankChanged {
11964				const PALLET: &'static str = "TechCollective";
11965				const EVENT: &'static str = "RankChanged";
11966			}
11967			#[derive(
11968				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11969				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11970				Debug,
11971			)]
11972			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
11973			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
11974			#[doc = "The member `who` of given `rank` has been removed from the collective."]
11975			pub struct MemberRemoved {
11976				pub who: member_removed::Who,
11977				pub rank: member_removed::Rank,
11978			}
11979			pub mod member_removed {
11980				use super::runtime_types;
11981				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
11982				pub type Rank = ::core::primitive::u16;
11983			}
11984			impl ::subxt::ext::subxt_core::events::StaticEvent for MemberRemoved {
11985				const PALLET: &'static str = "TechCollective";
11986				const EVENT: &'static str = "MemberRemoved";
11987			}
11988			#[derive(
11989				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
11990				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
11991				Debug,
11992			)]
11993			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
11994			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
11995			#[doc = "The member `who` has voted for the `poll` with the given `vote` leading to an updated"]
11996			#[doc = "`tally`."]
11997			pub struct Voted {
11998				pub who: voted::Who,
11999				pub poll: voted::Poll,
12000				pub vote: voted::Vote,
12001				pub tally: voted::Tally,
12002			}
12003			pub mod voted {
12004				use super::runtime_types;
12005				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
12006				pub type Poll = ::core::primitive::u32;
12007				pub type Vote = runtime_types::pallet_ranked_collective::VoteRecord;
12008				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
12009			}
12010			impl ::subxt::ext::subxt_core::events::StaticEvent for Voted {
12011				const PALLET: &'static str = "TechCollective";
12012				const EVENT: &'static str = "Voted";
12013			}
12014			#[derive(
12015				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12016				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12017				Debug,
12018			)]
12019			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
12020			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
12021			#[doc = "The member `who` had their `AccountId` changed to `new_who`."]
12022			pub struct MemberExchanged {
12023				pub who: member_exchanged::Who,
12024				pub new_who: member_exchanged::NewWho,
12025			}
12026			pub mod member_exchanged {
12027				use super::runtime_types;
12028				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
12029				pub type NewWho = ::subxt::ext::subxt_core::utils::AccountId32;
12030			}
12031			impl ::subxt::ext::subxt_core::events::StaticEvent for MemberExchanged {
12032				const PALLET: &'static str = "TechCollective";
12033				const EVENT: &'static str = "MemberExchanged";
12034			}
12035		}
12036		pub mod storage {
12037			use super::runtime_types;
12038			pub mod types {
12039				use super::runtime_types;
12040				pub mod member_count {
12041					use super::runtime_types;
12042					pub type MemberCount = ::core::primitive::u32;
12043					pub type Param0 = ::core::primitive::u16;
12044				}
12045				pub mod members {
12046					use super::runtime_types;
12047					pub type Members = runtime_types::pallet_ranked_collective::MemberRecord;
12048					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
12049				}
12050				pub mod id_to_index {
12051					use super::runtime_types;
12052					pub type IdToIndex = ::core::primitive::u32;
12053					pub type Param0 = ::core::primitive::u16;
12054					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
12055				}
12056				pub mod index_to_id {
12057					use super::runtime_types;
12058					pub type IndexToId = ::subxt::ext::subxt_core::utils::AccountId32;
12059					pub type Param0 = ::core::primitive::u16;
12060					pub type Param1 = ::core::primitive::u32;
12061				}
12062				pub mod voting {
12063					use super::runtime_types;
12064					pub type Voting = runtime_types::pallet_ranked_collective::VoteRecord;
12065					pub type Param0 = ::core::primitive::u32;
12066					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
12067				}
12068				pub mod voting_cleanup {
12069					use super::runtime_types;
12070					pub type VotingCleanup =
12071						runtime_types::bounded_collections::bounded_vec::BoundedVec<
12072							::core::primitive::u8,
12073						>;
12074					pub type Param0 = ::core::primitive::u32;
12075				}
12076			}
12077			pub struct StorageApi;
12078			impl StorageApi {
12079				#[doc = " The number of members in the collective who have at least the rank according to the index"]
12080				#[doc = " of the vec."]
12081				pub fn member_count_iter(
12082					&self,
12083				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12084					(),
12085					types::member_count::MemberCount,
12086					(),
12087					::subxt::ext::subxt_core::utils::Yes,
12088					::subxt::ext::subxt_core::utils::Yes,
12089				> {
12090					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12091						"TechCollective",
12092						"MemberCount",
12093						(),
12094						[
12095							0u8, 141u8, 66u8, 91u8, 155u8, 74u8, 17u8, 191u8, 143u8, 41u8, 231u8,
12096							56u8, 123u8, 219u8, 145u8, 27u8, 197u8, 62u8, 118u8, 237u8, 30u8, 7u8,
12097							107u8, 96u8, 95u8, 17u8, 242u8, 206u8, 246u8, 79u8, 53u8, 214u8,
12098						],
12099					)
12100				}
12101				#[doc = " The number of members in the collective who have at least the rank according to the index"]
12102				#[doc = " of the vec."]
12103				pub fn member_count(
12104					&self,
12105					_0: types::member_count::Param0,
12106				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12107					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12108						types::member_count::Param0,
12109					>,
12110					types::member_count::MemberCount,
12111					::subxt::ext::subxt_core::utils::Yes,
12112					::subxt::ext::subxt_core::utils::Yes,
12113					(),
12114				> {
12115					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12116						"TechCollective",
12117						"MemberCount",
12118						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12119						[
12120							0u8, 141u8, 66u8, 91u8, 155u8, 74u8, 17u8, 191u8, 143u8, 41u8, 231u8,
12121							56u8, 123u8, 219u8, 145u8, 27u8, 197u8, 62u8, 118u8, 237u8, 30u8, 7u8,
12122							107u8, 96u8, 95u8, 17u8, 242u8, 206u8, 246u8, 79u8, 53u8, 214u8,
12123						],
12124					)
12125				}
12126				#[doc = " The current members of the collective."]
12127				pub fn members_iter(
12128					&self,
12129				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12130					(),
12131					types::members::Members,
12132					(),
12133					(),
12134					::subxt::ext::subxt_core::utils::Yes,
12135				> {
12136					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12137						"TechCollective",
12138						"Members",
12139						(),
12140						[
12141							101u8, 183u8, 36u8, 241u8, 67u8, 8u8, 252u8, 116u8, 110u8, 153u8,
12142							117u8, 210u8, 128u8, 80u8, 130u8, 163u8, 38u8, 76u8, 230u8, 107u8,
12143							112u8, 90u8, 102u8, 24u8, 217u8, 2u8, 244u8, 197u8, 103u8, 215u8,
12144							247u8, 133u8,
12145						],
12146					)
12147				}
12148				#[doc = " The current members of the collective."]
12149				pub fn members(
12150					&self,
12151					_0: types::members::Param0,
12152				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12153					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12154						types::members::Param0,
12155					>,
12156					types::members::Members,
12157					::subxt::ext::subxt_core::utils::Yes,
12158					(),
12159					(),
12160				> {
12161					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12162						"TechCollective",
12163						"Members",
12164						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12165						[
12166							101u8, 183u8, 36u8, 241u8, 67u8, 8u8, 252u8, 116u8, 110u8, 153u8,
12167							117u8, 210u8, 128u8, 80u8, 130u8, 163u8, 38u8, 76u8, 230u8, 107u8,
12168							112u8, 90u8, 102u8, 24u8, 217u8, 2u8, 244u8, 197u8, 103u8, 215u8,
12169							247u8, 133u8,
12170						],
12171					)
12172				}
12173				#[doc = " The index of each ranks's member into the group of members who have at least that rank."]
12174				pub fn id_to_index_iter(
12175					&self,
12176				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12177					(),
12178					types::id_to_index::IdToIndex,
12179					(),
12180					(),
12181					::subxt::ext::subxt_core::utils::Yes,
12182				> {
12183					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12184						"TechCollective",
12185						"IdToIndex",
12186						(),
12187						[
12188							121u8, 225u8, 69u8, 131u8, 194u8, 3u8, 82u8, 27u8, 129u8, 152u8, 157u8,
12189							45u8, 39u8, 47u8, 166u8, 28u8, 42u8, 92u8, 217u8, 189u8, 160u8, 102u8,
12190							153u8, 196u8, 94u8, 48u8, 248u8, 113u8, 164u8, 111u8, 27u8, 9u8,
12191						],
12192					)
12193				}
12194				#[doc = " The index of each ranks's member into the group of members who have at least that rank."]
12195				pub fn id_to_index_iter1(
12196					&self,
12197					_0: types::id_to_index::Param0,
12198				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12199					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12200						types::id_to_index::Param0,
12201					>,
12202					types::id_to_index::IdToIndex,
12203					(),
12204					(),
12205					::subxt::ext::subxt_core::utils::Yes,
12206				> {
12207					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12208						"TechCollective",
12209						"IdToIndex",
12210						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12211						[
12212							121u8, 225u8, 69u8, 131u8, 194u8, 3u8, 82u8, 27u8, 129u8, 152u8, 157u8,
12213							45u8, 39u8, 47u8, 166u8, 28u8, 42u8, 92u8, 217u8, 189u8, 160u8, 102u8,
12214							153u8, 196u8, 94u8, 48u8, 248u8, 113u8, 164u8, 111u8, 27u8, 9u8,
12215						],
12216					)
12217				}
12218				#[doc = " The index of each ranks's member into the group of members who have at least that rank."]
12219				pub fn id_to_index(
12220					&self,
12221					_0: types::id_to_index::Param0,
12222					_1: types::id_to_index::Param1,
12223				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12224					(
12225						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12226							types::id_to_index::Param0,
12227						>,
12228						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12229							types::id_to_index::Param1,
12230						>,
12231					),
12232					types::id_to_index::IdToIndex,
12233					::subxt::ext::subxt_core::utils::Yes,
12234					(),
12235					(),
12236				> {
12237					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12238						"TechCollective",
12239						"IdToIndex",
12240						(
12241							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12242							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
12243						),
12244						[
12245							121u8, 225u8, 69u8, 131u8, 194u8, 3u8, 82u8, 27u8, 129u8, 152u8, 157u8,
12246							45u8, 39u8, 47u8, 166u8, 28u8, 42u8, 92u8, 217u8, 189u8, 160u8, 102u8,
12247							153u8, 196u8, 94u8, 48u8, 248u8, 113u8, 164u8, 111u8, 27u8, 9u8,
12248						],
12249					)
12250				}
12251				#[doc = " The members in the collective by index. All indices in the range `0..MemberCount` will"]
12252				#[doc = " return `Some`, however a member's index is not guaranteed to remain unchanged over time."]
12253				pub fn index_to_id_iter(
12254					&self,
12255				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12256					(),
12257					types::index_to_id::IndexToId,
12258					(),
12259					(),
12260					::subxt::ext::subxt_core::utils::Yes,
12261				> {
12262					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12263						"TechCollective",
12264						"IndexToId",
12265						(),
12266						[
12267							110u8, 48u8, 214u8, 224u8, 56u8, 195u8, 186u8, 24u8, 111u8, 37u8, 15u8,
12268							153u8, 245u8, 101u8, 229u8, 149u8, 216u8, 185u8, 7u8, 242u8, 196u8,
12269							29u8, 205u8, 243u8, 162u8, 92u8, 71u8, 253u8, 102u8, 152u8, 137u8,
12270							70u8,
12271						],
12272					)
12273				}
12274				#[doc = " The members in the collective by index. All indices in the range `0..MemberCount` will"]
12275				#[doc = " return `Some`, however a member's index is not guaranteed to remain unchanged over time."]
12276				pub fn index_to_id_iter1(
12277					&self,
12278					_0: types::index_to_id::Param0,
12279				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12280					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12281						types::index_to_id::Param0,
12282					>,
12283					types::index_to_id::IndexToId,
12284					(),
12285					(),
12286					::subxt::ext::subxt_core::utils::Yes,
12287				> {
12288					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12289						"TechCollective",
12290						"IndexToId",
12291						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12292						[
12293							110u8, 48u8, 214u8, 224u8, 56u8, 195u8, 186u8, 24u8, 111u8, 37u8, 15u8,
12294							153u8, 245u8, 101u8, 229u8, 149u8, 216u8, 185u8, 7u8, 242u8, 196u8,
12295							29u8, 205u8, 243u8, 162u8, 92u8, 71u8, 253u8, 102u8, 152u8, 137u8,
12296							70u8,
12297						],
12298					)
12299				}
12300				#[doc = " The members in the collective by index. All indices in the range `0..MemberCount` will"]
12301				#[doc = " return `Some`, however a member's index is not guaranteed to remain unchanged over time."]
12302				pub fn index_to_id(
12303					&self,
12304					_0: types::index_to_id::Param0,
12305					_1: types::index_to_id::Param1,
12306				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12307					(
12308						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12309							types::index_to_id::Param0,
12310						>,
12311						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12312							types::index_to_id::Param1,
12313						>,
12314					),
12315					types::index_to_id::IndexToId,
12316					::subxt::ext::subxt_core::utils::Yes,
12317					(),
12318					(),
12319				> {
12320					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12321						"TechCollective",
12322						"IndexToId",
12323						(
12324							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12325							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
12326						),
12327						[
12328							110u8, 48u8, 214u8, 224u8, 56u8, 195u8, 186u8, 24u8, 111u8, 37u8, 15u8,
12329							153u8, 245u8, 101u8, 229u8, 149u8, 216u8, 185u8, 7u8, 242u8, 196u8,
12330							29u8, 205u8, 243u8, 162u8, 92u8, 71u8, 253u8, 102u8, 152u8, 137u8,
12331							70u8,
12332						],
12333					)
12334				}
12335				#[doc = " Votes on a given proposal, if it is ongoing."]
12336				pub fn voting_iter(
12337					&self,
12338				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12339					(),
12340					types::voting::Voting,
12341					(),
12342					(),
12343					::subxt::ext::subxt_core::utils::Yes,
12344				> {
12345					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12346						"TechCollective",
12347						"Voting",
12348						(),
12349						[
12350							180u8, 146u8, 236u8, 178u8, 30u8, 50u8, 161u8, 50u8, 140u8, 110u8,
12351							220u8, 1u8, 109u8, 209u8, 17u8, 94u8, 234u8, 223u8, 222u8, 177u8,
12352							243u8, 194u8, 246u8, 48u8, 178u8, 86u8, 30u8, 185u8, 56u8, 206u8,
12353							175u8, 18u8,
12354						],
12355					)
12356				}
12357				#[doc = " Votes on a given proposal, if it is ongoing."]
12358				pub fn voting_iter1(
12359					&self,
12360					_0: types::voting::Param0,
12361				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12362					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12363						types::voting::Param0,
12364					>,
12365					types::voting::Voting,
12366					(),
12367					(),
12368					::subxt::ext::subxt_core::utils::Yes,
12369				> {
12370					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12371						"TechCollective",
12372						"Voting",
12373						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12374						[
12375							180u8, 146u8, 236u8, 178u8, 30u8, 50u8, 161u8, 50u8, 140u8, 110u8,
12376							220u8, 1u8, 109u8, 209u8, 17u8, 94u8, 234u8, 223u8, 222u8, 177u8,
12377							243u8, 194u8, 246u8, 48u8, 178u8, 86u8, 30u8, 185u8, 56u8, 206u8,
12378							175u8, 18u8,
12379						],
12380					)
12381				}
12382				#[doc = " Votes on a given proposal, if it is ongoing."]
12383				pub fn voting(
12384					&self,
12385					_0: types::voting::Param0,
12386					_1: types::voting::Param1,
12387				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12388					(
12389						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12390							types::voting::Param0,
12391						>,
12392						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12393							types::voting::Param1,
12394						>,
12395					),
12396					types::voting::Voting,
12397					::subxt::ext::subxt_core::utils::Yes,
12398					(),
12399					(),
12400				> {
12401					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12402						"TechCollective",
12403						"Voting",
12404						(
12405							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12406							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
12407						),
12408						[
12409							180u8, 146u8, 236u8, 178u8, 30u8, 50u8, 161u8, 50u8, 140u8, 110u8,
12410							220u8, 1u8, 109u8, 209u8, 17u8, 94u8, 234u8, 223u8, 222u8, 177u8,
12411							243u8, 194u8, 246u8, 48u8, 178u8, 86u8, 30u8, 185u8, 56u8, 206u8,
12412							175u8, 18u8,
12413						],
12414					)
12415				}
12416				pub fn voting_cleanup_iter(
12417					&self,
12418				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12419					(),
12420					types::voting_cleanup::VotingCleanup,
12421					(),
12422					(),
12423					::subxt::ext::subxt_core::utils::Yes,
12424				> {
12425					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12426						"TechCollective",
12427						"VotingCleanup",
12428						(),
12429						[
12430							223u8, 130u8, 79u8, 104u8, 94u8, 221u8, 222u8, 72u8, 187u8, 95u8,
12431							231u8, 59u8, 28u8, 119u8, 191u8, 63u8, 40u8, 186u8, 58u8, 254u8, 14u8,
12432							233u8, 152u8, 36u8, 2u8, 231u8, 120u8, 13u8, 120u8, 211u8, 232u8, 11u8,
12433						],
12434					)
12435				}
12436				pub fn voting_cleanup(
12437					&self,
12438					_0: types::voting_cleanup::Param0,
12439				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
12440					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
12441						types::voting_cleanup::Param0,
12442					>,
12443					types::voting_cleanup::VotingCleanup,
12444					::subxt::ext::subxt_core::utils::Yes,
12445					(),
12446					(),
12447				> {
12448					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
12449						"TechCollective",
12450						"VotingCleanup",
12451						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
12452						[
12453							223u8, 130u8, 79u8, 104u8, 94u8, 221u8, 222u8, 72u8, 187u8, 95u8,
12454							231u8, 59u8, 28u8, 119u8, 191u8, 63u8, 40u8, 186u8, 58u8, 254u8, 14u8,
12455							233u8, 152u8, 36u8, 2u8, 231u8, 120u8, 13u8, 120u8, 211u8, 232u8, 11u8,
12456						],
12457					)
12458				}
12459			}
12460		}
12461	}
12462	pub mod tech_referenda {
12463		use super::{root_mod, runtime_types};
12464		#[doc = "The `Error` enum of this pallet."]
12465		pub type Error = runtime_types::pallet_referenda::pallet::Error;
12466		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
12467		pub type Call = runtime_types::pallet_referenda::pallet::Call;
12468		pub mod calls {
12469			use super::{root_mod, runtime_types};
12470			type DispatchError = runtime_types::sp_runtime::DispatchError;
12471			pub mod types {
12472				use super::runtime_types;
12473				#[derive(
12474					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12475					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12476					Debug,
12477				)]
12478				#[decode_as_type(
12479					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12480				)]
12481				#[encode_as_type(
12482					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12483				)]
12484				#[doc = "Propose a referendum on a privileged action."]
12485				#[doc = ""]
12486				#[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"]
12487				#[doc = "  available."]
12488				#[doc = "- `proposal_origin`: The origin from which the proposal should be executed."]
12489				#[doc = "- `proposal`: The proposal."]
12490				#[doc = "- `enactment_moment`: The moment that the proposal should be enacted."]
12491				#[doc = ""]
12492				#[doc = "Emits `Submitted`."]
12493				pub struct Submit {
12494					pub proposal_origin:
12495						::subxt::ext::subxt_core::alloc::boxed::Box<submit::ProposalOrigin>,
12496					pub proposal: submit::Proposal,
12497					pub enactment_moment: submit::EnactmentMoment,
12498				}
12499				pub mod submit {
12500					use super::runtime_types;
12501					pub type ProposalOrigin = runtime_types::quantus_runtime::OriginCaller;
12502					pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
12503						runtime_types::quantus_runtime::RuntimeCall,
12504						runtime_types::qp_poseidon::PoseidonHasher,
12505					>;
12506					pub type EnactmentMoment =
12507						runtime_types::frame_support::traits::schedule::DispatchTime<
12508							::core::primitive::u32,
12509						>;
12510				}
12511				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Submit {
12512					const PALLET: &'static str = "TechReferenda";
12513					const CALL: &'static str = "submit";
12514				}
12515				#[derive(
12516					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12517					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12518					Debug,
12519				)]
12520				#[decode_as_type(
12521					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12522				)]
12523				#[encode_as_type(
12524					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12525				)]
12526				#[doc = "Post the Decision Deposit for a referendum."]
12527				#[doc = ""]
12528				#[doc = "- `origin`: must be `Signed` and the account must have funds available for the"]
12529				#[doc = "  referendum's track's Decision Deposit."]
12530				#[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"]
12531				#[doc = "  posted."]
12532				#[doc = ""]
12533				#[doc = "Emits `DecisionDepositPlaced`."]
12534				pub struct PlaceDecisionDeposit {
12535					pub index: place_decision_deposit::Index,
12536				}
12537				pub mod place_decision_deposit {
12538					use super::runtime_types;
12539					pub type Index = ::core::primitive::u32;
12540				}
12541				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for PlaceDecisionDeposit {
12542					const PALLET: &'static str = "TechReferenda";
12543					const CALL: &'static str = "place_decision_deposit";
12544				}
12545				#[derive(
12546					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12547					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12548					Debug,
12549				)]
12550				#[decode_as_type(
12551					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12552				)]
12553				#[encode_as_type(
12554					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12555				)]
12556				#[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."]
12557				#[doc = ""]
12558				#[doc = "- `origin`: must be `Signed` or `Root`."]
12559				#[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"]
12560				#[doc = "  refunded."]
12561				#[doc = ""]
12562				#[doc = "Emits `DecisionDepositRefunded`."]
12563				pub struct RefundDecisionDeposit {
12564					pub index: refund_decision_deposit::Index,
12565				}
12566				pub mod refund_decision_deposit {
12567					use super::runtime_types;
12568					pub type Index = ::core::primitive::u32;
12569				}
12570				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RefundDecisionDeposit {
12571					const PALLET: &'static str = "TechReferenda";
12572					const CALL: &'static str = "refund_decision_deposit";
12573				}
12574				#[derive(
12575					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12576					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12577					Debug,
12578				)]
12579				#[decode_as_type(
12580					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12581				)]
12582				#[encode_as_type(
12583					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12584				)]
12585				#[doc = "Cancel an ongoing referendum."]
12586				#[doc = ""]
12587				#[doc = "- `origin`: must be the `CancelOrigin`."]
12588				#[doc = "- `index`: The index of the referendum to be cancelled."]
12589				#[doc = ""]
12590				#[doc = "Emits `Cancelled`."]
12591				pub struct Cancel {
12592					pub index: cancel::Index,
12593				}
12594				pub mod cancel {
12595					use super::runtime_types;
12596					pub type Index = ::core::primitive::u32;
12597				}
12598				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Cancel {
12599					const PALLET: &'static str = "TechReferenda";
12600					const CALL: &'static str = "cancel";
12601				}
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(
12608					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12609				)]
12610				#[encode_as_type(
12611					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12612				)]
12613				#[doc = "Cancel an ongoing referendum and slash the deposits."]
12614				#[doc = ""]
12615				#[doc = "- `origin`: must be the `KillOrigin`."]
12616				#[doc = "- `index`: The index of the referendum to be cancelled."]
12617				#[doc = ""]
12618				#[doc = "Emits `Killed` and `DepositSlashed`."]
12619				pub struct Kill {
12620					pub index: kill::Index,
12621				}
12622				pub mod kill {
12623					use super::runtime_types;
12624					pub type Index = ::core::primitive::u32;
12625				}
12626				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Kill {
12627					const PALLET: &'static str = "TechReferenda";
12628					const CALL: &'static str = "kill";
12629				}
12630				#[derive(
12631					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12632					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12633					Debug,
12634				)]
12635				#[decode_as_type(
12636					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12637				)]
12638				#[encode_as_type(
12639					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12640				)]
12641				#[doc = "Advance a referendum onto its next logical state. Only used internally."]
12642				#[doc = ""]
12643				#[doc = "- `origin`: must be `Root`."]
12644				#[doc = "- `index`: the referendum to be advanced."]
12645				pub struct NudgeReferendum {
12646					pub index: nudge_referendum::Index,
12647				}
12648				pub mod nudge_referendum {
12649					use super::runtime_types;
12650					pub type Index = ::core::primitive::u32;
12651				}
12652				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for NudgeReferendum {
12653					const PALLET: &'static str = "TechReferenda";
12654					const CALL: &'static str = "nudge_referendum";
12655				}
12656				#[derive(
12657					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12658					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12659					Debug,
12660				)]
12661				#[decode_as_type(
12662					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12663				)]
12664				#[encode_as_type(
12665					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12666				)]
12667				#[doc = "Advance a track onto its next logical state. Only used internally."]
12668				#[doc = ""]
12669				#[doc = "- `origin`: must be `Root`."]
12670				#[doc = "- `track`: the track to be advanced."]
12671				#[doc = ""]
12672				#[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"]
12673				#[doc = "`DecidingCount` is not yet updated. This means that we should either:"]
12674				#[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"]
12675				#[doc = "- decrement `DecidingCount`."]
12676				pub struct OneFewerDeciding {
12677					pub track: one_fewer_deciding::Track,
12678				}
12679				pub mod one_fewer_deciding {
12680					use super::runtime_types;
12681					pub type Track = ::core::primitive::u16;
12682				}
12683				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for OneFewerDeciding {
12684					const PALLET: &'static str = "TechReferenda";
12685					const CALL: &'static str = "one_fewer_deciding";
12686				}
12687				#[derive(
12688					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12689					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12690					Debug,
12691				)]
12692				#[decode_as_type(
12693					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12694				)]
12695				#[encode_as_type(
12696					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12697				)]
12698				#[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."]
12699				#[doc = ""]
12700				#[doc = "- `origin`: must be `Signed` or `Root`."]
12701				#[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"]
12702				#[doc = "  refunded."]
12703				#[doc = ""]
12704				#[doc = "Emits `SubmissionDepositRefunded`."]
12705				pub struct RefundSubmissionDeposit {
12706					pub index: refund_submission_deposit::Index,
12707				}
12708				pub mod refund_submission_deposit {
12709					use super::runtime_types;
12710					pub type Index = ::core::primitive::u32;
12711				}
12712				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RefundSubmissionDeposit {
12713					const PALLET: &'static str = "TechReferenda";
12714					const CALL: &'static str = "refund_submission_deposit";
12715				}
12716				#[derive(
12717					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12718					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12719					Debug,
12720				)]
12721				#[decode_as_type(
12722					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
12723				)]
12724				#[encode_as_type(
12725					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
12726				)]
12727				#[doc = "Set or clear metadata of a referendum."]
12728				#[doc = ""]
12729				#[doc = "Parameters:"]
12730				#[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"]
12731				#[doc = "  metadata of a finished referendum."]
12732				#[doc = "- `index`:  The index of a referendum to set or clear metadata for."]
12733				#[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."]
12734				pub struct SetMetadata {
12735					pub index: set_metadata::Index,
12736					pub maybe_hash: set_metadata::MaybeHash,
12737				}
12738				pub mod set_metadata {
12739					use super::runtime_types;
12740					pub type Index = ::core::primitive::u32;
12741					pub type MaybeHash =
12742						::core::option::Option<::subxt::ext::subxt_core::utils::H256>;
12743				}
12744				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetMetadata {
12745					const PALLET: &'static str = "TechReferenda";
12746					const CALL: &'static str = "set_metadata";
12747				}
12748			}
12749			pub struct TransactionApi;
12750			impl TransactionApi {
12751				#[doc = "Propose a referendum on a privileged action."]
12752				#[doc = ""]
12753				#[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"]
12754				#[doc = "  available."]
12755				#[doc = "- `proposal_origin`: The origin from which the proposal should be executed."]
12756				#[doc = "- `proposal`: The proposal."]
12757				#[doc = "- `enactment_moment`: The moment that the proposal should be enacted."]
12758				#[doc = ""]
12759				#[doc = "Emits `Submitted`."]
12760				pub fn submit(
12761					&self,
12762					proposal_origin: types::submit::ProposalOrigin,
12763					proposal: types::submit::Proposal,
12764					enactment_moment: types::submit::EnactmentMoment,
12765				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Submit> {
12766					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12767						"TechReferenda",
12768						"submit",
12769						types::Submit {
12770							proposal_origin: ::subxt::ext::subxt_core::alloc::boxed::Box::new(
12771								proposal_origin,
12772							),
12773							proposal,
12774							enactment_moment,
12775						},
12776						[
12777							0u8, 18u8, 14u8, 253u8, 33u8, 212u8, 33u8, 173u8, 241u8, 29u8, 88u8,
12778							160u8, 111u8, 21u8, 6u8, 234u8, 249u8, 230u8, 222u8, 119u8, 161u8,
12779							114u8, 43u8, 126u8, 164u8, 140u8, 199u8, 39u8, 2u8, 64u8, 132u8, 34u8,
12780						],
12781					)
12782				}
12783				#[doc = "Post the Decision Deposit for a referendum."]
12784				#[doc = ""]
12785				#[doc = "- `origin`: must be `Signed` and the account must have funds available for the"]
12786				#[doc = "  referendum's track's Decision Deposit."]
12787				#[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"]
12788				#[doc = "  posted."]
12789				#[doc = ""]
12790				#[doc = "Emits `DecisionDepositPlaced`."]
12791				pub fn place_decision_deposit(
12792					&self,
12793					index: types::place_decision_deposit::Index,
12794				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::PlaceDecisionDeposit>
12795				{
12796					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12797						"TechReferenda",
12798						"place_decision_deposit",
12799						types::PlaceDecisionDeposit { index },
12800						[
12801							247u8, 158u8, 55u8, 191u8, 188u8, 200u8, 3u8, 47u8, 20u8, 175u8, 86u8,
12802							203u8, 52u8, 253u8, 91u8, 131u8, 21u8, 213u8, 56u8, 68u8, 40u8, 84u8,
12803							184u8, 30u8, 9u8, 193u8, 63u8, 182u8, 178u8, 241u8, 247u8, 220u8,
12804						],
12805					)
12806				}
12807				#[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."]
12808				#[doc = ""]
12809				#[doc = "- `origin`: must be `Signed` or `Root`."]
12810				#[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"]
12811				#[doc = "  refunded."]
12812				#[doc = ""]
12813				#[doc = "Emits `DecisionDepositRefunded`."]
12814				pub fn refund_decision_deposit(
12815					&self,
12816					index: types::refund_decision_deposit::Index,
12817				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
12818					types::RefundDecisionDeposit,
12819				> {
12820					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12821						"TechReferenda",
12822						"refund_decision_deposit",
12823						types::RefundDecisionDeposit { index },
12824						[
12825							159u8, 19u8, 35u8, 216u8, 114u8, 105u8, 18u8, 42u8, 148u8, 151u8,
12826							136u8, 92u8, 117u8, 30u8, 29u8, 41u8, 238u8, 58u8, 195u8, 91u8, 115u8,
12827							135u8, 96u8, 99u8, 154u8, 233u8, 8u8, 249u8, 145u8, 165u8, 77u8, 164u8,
12828						],
12829					)
12830				}
12831				#[doc = "Cancel an ongoing referendum."]
12832				#[doc = ""]
12833				#[doc = "- `origin`: must be the `CancelOrigin`."]
12834				#[doc = "- `index`: The index of the referendum to be cancelled."]
12835				#[doc = ""]
12836				#[doc = "Emits `Cancelled`."]
12837				pub fn cancel(
12838					&self,
12839					index: types::cancel::Index,
12840				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Cancel> {
12841					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12842						"TechReferenda",
12843						"cancel",
12844						types::Cancel { index },
12845						[
12846							55u8, 206u8, 119u8, 156u8, 238u8, 165u8, 193u8, 73u8, 242u8, 13u8,
12847							212u8, 75u8, 136u8, 156u8, 151u8, 14u8, 35u8, 41u8, 156u8, 107u8, 60u8,
12848							190u8, 39u8, 216u8, 8u8, 74u8, 213u8, 130u8, 160u8, 131u8, 237u8,
12849							122u8,
12850						],
12851					)
12852				}
12853				#[doc = "Cancel an ongoing referendum and slash the deposits."]
12854				#[doc = ""]
12855				#[doc = "- `origin`: must be the `KillOrigin`."]
12856				#[doc = "- `index`: The index of the referendum to be cancelled."]
12857				#[doc = ""]
12858				#[doc = "Emits `Killed` and `DepositSlashed`."]
12859				pub fn kill(
12860					&self,
12861					index: types::kill::Index,
12862				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Kill> {
12863					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12864						"TechReferenda",
12865						"kill",
12866						types::Kill { index },
12867						[
12868							50u8, 89u8, 57u8, 0u8, 87u8, 129u8, 113u8, 140u8, 179u8, 178u8, 126u8,
12869							198u8, 92u8, 92u8, 189u8, 64u8, 123u8, 232u8, 57u8, 227u8, 223u8,
12870							219u8, 73u8, 217u8, 179u8, 44u8, 210u8, 125u8, 180u8, 10u8, 143u8,
12871							48u8,
12872						],
12873					)
12874				}
12875				#[doc = "Advance a referendum onto its next logical state. Only used internally."]
12876				#[doc = ""]
12877				#[doc = "- `origin`: must be `Root`."]
12878				#[doc = "- `index`: the referendum to be advanced."]
12879				pub fn nudge_referendum(
12880					&self,
12881					index: types::nudge_referendum::Index,
12882				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::NudgeReferendum>
12883				{
12884					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12885						"TechReferenda",
12886						"nudge_referendum",
12887						types::NudgeReferendum { index },
12888						[
12889							75u8, 99u8, 172u8, 30u8, 170u8, 150u8, 211u8, 229u8, 249u8, 128u8,
12890							194u8, 246u8, 100u8, 142u8, 193u8, 184u8, 232u8, 81u8, 29u8, 17u8,
12891							99u8, 91u8, 236u8, 85u8, 230u8, 226u8, 57u8, 115u8, 45u8, 170u8, 54u8,
12892							213u8,
12893						],
12894					)
12895				}
12896				#[doc = "Advance a track onto its next logical state. Only used internally."]
12897				#[doc = ""]
12898				#[doc = "- `origin`: must be `Root`."]
12899				#[doc = "- `track`: the track to be advanced."]
12900				#[doc = ""]
12901				#[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"]
12902				#[doc = "`DecidingCount` is not yet updated. This means that we should either:"]
12903				#[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"]
12904				#[doc = "- decrement `DecidingCount`."]
12905				pub fn one_fewer_deciding(
12906					&self,
12907					track: types::one_fewer_deciding::Track,
12908				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::OneFewerDeciding>
12909				{
12910					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12911						"TechReferenda",
12912						"one_fewer_deciding",
12913						types::OneFewerDeciding { track },
12914						[
12915							15u8, 84u8, 79u8, 231u8, 21u8, 239u8, 244u8, 143u8, 183u8, 215u8,
12916							181u8, 25u8, 225u8, 195u8, 95u8, 171u8, 17u8, 156u8, 182u8, 128u8,
12917							111u8, 40u8, 151u8, 102u8, 196u8, 55u8, 36u8, 212u8, 89u8, 190u8,
12918							131u8, 167u8,
12919						],
12920					)
12921				}
12922				#[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."]
12923				#[doc = ""]
12924				#[doc = "- `origin`: must be `Signed` or `Root`."]
12925				#[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"]
12926				#[doc = "  refunded."]
12927				#[doc = ""]
12928				#[doc = "Emits `SubmissionDepositRefunded`."]
12929				pub fn refund_submission_deposit(
12930					&self,
12931					index: types::refund_submission_deposit::Index,
12932				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
12933					types::RefundSubmissionDeposit,
12934				> {
12935					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12936						"TechReferenda",
12937						"refund_submission_deposit",
12938						types::RefundSubmissionDeposit { index },
12939						[
12940							20u8, 217u8, 115u8, 6u8, 1u8, 60u8, 54u8, 136u8, 35u8, 41u8, 38u8,
12941							23u8, 85u8, 100u8, 141u8, 126u8, 30u8, 160u8, 61u8, 46u8, 134u8, 98u8,
12942							82u8, 38u8, 211u8, 124u8, 208u8, 222u8, 210u8, 10u8, 155u8, 122u8,
12943						],
12944					)
12945				}
12946				#[doc = "Set or clear metadata of a referendum."]
12947				#[doc = ""]
12948				#[doc = "Parameters:"]
12949				#[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"]
12950				#[doc = "  metadata of a finished referendum."]
12951				#[doc = "- `index`:  The index of a referendum to set or clear metadata for."]
12952				#[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."]
12953				pub fn set_metadata(
12954					&self,
12955					index: types::set_metadata::Index,
12956					maybe_hash: types::set_metadata::MaybeHash,
12957				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetMetadata> {
12958					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
12959						"TechReferenda",
12960						"set_metadata",
12961						types::SetMetadata { index, maybe_hash },
12962						[
12963							207u8, 29u8, 146u8, 233u8, 219u8, 205u8, 88u8, 118u8, 106u8, 61u8,
12964							124u8, 101u8, 2u8, 41u8, 169u8, 70u8, 114u8, 189u8, 162u8, 118u8, 1u8,
12965							108u8, 234u8, 98u8, 245u8, 245u8, 183u8, 126u8, 89u8, 13u8, 112u8,
12966							88u8,
12967						],
12968					)
12969				}
12970			}
12971		}
12972		#[doc = "The `Event` enum of this pallet"]
12973		pub type Event = runtime_types::pallet_referenda::pallet::Event2;
12974		pub mod events {
12975			use super::runtime_types;
12976			#[derive(
12977				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
12978				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
12979				Debug,
12980			)]
12981			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
12982			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
12983			#[doc = "A referendum has been submitted."]
12984			pub struct Submitted {
12985				pub index: submitted::Index,
12986				pub track: submitted::Track,
12987				pub proposal: submitted::Proposal,
12988			}
12989			pub mod submitted {
12990				use super::runtime_types;
12991				pub type Index = ::core::primitive::u32;
12992				pub type Track = ::core::primitive::u16;
12993				pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
12994					runtime_types::quantus_runtime::RuntimeCall,
12995					runtime_types::qp_poseidon::PoseidonHasher,
12996				>;
12997			}
12998			impl ::subxt::ext::subxt_core::events::StaticEvent for Submitted {
12999				const PALLET: &'static str = "TechReferenda";
13000				const EVENT: &'static str = "Submitted";
13001			}
13002			#[derive(
13003				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13004				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13005				Debug,
13006			)]
13007			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13008			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13009			#[doc = "The decision deposit has been placed."]
13010			pub struct DecisionDepositPlaced {
13011				pub index: decision_deposit_placed::Index,
13012				pub who: decision_deposit_placed::Who,
13013				pub amount: decision_deposit_placed::Amount,
13014			}
13015			pub mod decision_deposit_placed {
13016				use super::runtime_types;
13017				pub type Index = ::core::primitive::u32;
13018				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
13019				pub type Amount = ::core::primitive::u128;
13020			}
13021			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionDepositPlaced {
13022				const PALLET: &'static str = "TechReferenda";
13023				const EVENT: &'static str = "DecisionDepositPlaced";
13024			}
13025			#[derive(
13026				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13027				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13028				Debug,
13029			)]
13030			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13031			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13032			#[doc = "The decision deposit has been refunded."]
13033			pub struct DecisionDepositRefunded {
13034				pub index: decision_deposit_refunded::Index,
13035				pub who: decision_deposit_refunded::Who,
13036				pub amount: decision_deposit_refunded::Amount,
13037			}
13038			pub mod decision_deposit_refunded {
13039				use super::runtime_types;
13040				pub type Index = ::core::primitive::u32;
13041				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
13042				pub type Amount = ::core::primitive::u128;
13043			}
13044			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionDepositRefunded {
13045				const PALLET: &'static str = "TechReferenda";
13046				const EVENT: &'static str = "DecisionDepositRefunded";
13047			}
13048			#[derive(
13049				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13050				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13051				Debug,
13052			)]
13053			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13054			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13055			#[doc = "A deposit has been slashed."]
13056			pub struct DepositSlashed {
13057				pub who: deposit_slashed::Who,
13058				pub amount: deposit_slashed::Amount,
13059			}
13060			pub mod deposit_slashed {
13061				use super::runtime_types;
13062				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
13063				pub type Amount = ::core::primitive::u128;
13064			}
13065			impl ::subxt::ext::subxt_core::events::StaticEvent for DepositSlashed {
13066				const PALLET: &'static str = "TechReferenda";
13067				const EVENT: &'static str = "DepositSlashed";
13068			}
13069			#[derive(
13070				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13071				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13072				Debug,
13073			)]
13074			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13075			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13076			#[doc = "A referendum has moved into the deciding phase."]
13077			pub struct DecisionStarted {
13078				pub index: decision_started::Index,
13079				pub track: decision_started::Track,
13080				pub proposal: decision_started::Proposal,
13081				pub tally: decision_started::Tally,
13082			}
13083			pub mod decision_started {
13084				use super::runtime_types;
13085				pub type Index = ::core::primitive::u32;
13086				pub type Track = ::core::primitive::u16;
13087				pub type Proposal = runtime_types::frame_support::traits::preimages::Bounded<
13088					runtime_types::quantus_runtime::RuntimeCall,
13089					runtime_types::qp_poseidon::PoseidonHasher,
13090				>;
13091				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
13092			}
13093			impl ::subxt::ext::subxt_core::events::StaticEvent for DecisionStarted {
13094				const PALLET: &'static str = "TechReferenda";
13095				const EVENT: &'static str = "DecisionStarted";
13096			}
13097			#[derive(
13098				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13099				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13100				Debug,
13101			)]
13102			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13103			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13104			pub struct ConfirmStarted {
13105				pub index: confirm_started::Index,
13106			}
13107			pub mod confirm_started {
13108				use super::runtime_types;
13109				pub type Index = ::core::primitive::u32;
13110			}
13111			impl ::subxt::ext::subxt_core::events::StaticEvent for ConfirmStarted {
13112				const PALLET: &'static str = "TechReferenda";
13113				const EVENT: &'static str = "ConfirmStarted";
13114			}
13115			#[derive(
13116				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13117				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13118				Debug,
13119			)]
13120			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13121			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13122			pub struct ConfirmAborted {
13123				pub index: confirm_aborted::Index,
13124			}
13125			pub mod confirm_aborted {
13126				use super::runtime_types;
13127				pub type Index = ::core::primitive::u32;
13128			}
13129			impl ::subxt::ext::subxt_core::events::StaticEvent for ConfirmAborted {
13130				const PALLET: &'static str = "TechReferenda";
13131				const EVENT: &'static str = "ConfirmAborted";
13132			}
13133			#[derive(
13134				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13135				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13136				Debug,
13137			)]
13138			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13139			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13140			#[doc = "A referendum has ended its confirmation phase and is ready for approval."]
13141			pub struct Confirmed {
13142				pub index: confirmed::Index,
13143				pub tally: confirmed::Tally,
13144			}
13145			pub mod confirmed {
13146				use super::runtime_types;
13147				pub type Index = ::core::primitive::u32;
13148				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
13149			}
13150			impl ::subxt::ext::subxt_core::events::StaticEvent for Confirmed {
13151				const PALLET: &'static str = "TechReferenda";
13152				const EVENT: &'static str = "Confirmed";
13153			}
13154			#[derive(
13155				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13156				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13157				Debug,
13158			)]
13159			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13160			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13161			#[doc = "A referendum has been approved and its proposal has been scheduled."]
13162			pub struct Approved {
13163				pub index: approved::Index,
13164			}
13165			pub mod approved {
13166				use super::runtime_types;
13167				pub type Index = ::core::primitive::u32;
13168			}
13169			impl ::subxt::ext::subxt_core::events::StaticEvent for Approved {
13170				const PALLET: &'static str = "TechReferenda";
13171				const EVENT: &'static str = "Approved";
13172			}
13173			#[derive(
13174				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13175				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13176				Debug,
13177			)]
13178			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13179			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13180			#[doc = "A proposal has been rejected by referendum."]
13181			pub struct Rejected {
13182				pub index: rejected::Index,
13183				pub tally: rejected::Tally,
13184			}
13185			pub mod rejected {
13186				use super::runtime_types;
13187				pub type Index = ::core::primitive::u32;
13188				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
13189			}
13190			impl ::subxt::ext::subxt_core::events::StaticEvent for Rejected {
13191				const PALLET: &'static str = "TechReferenda";
13192				const EVENT: &'static str = "Rejected";
13193			}
13194			#[derive(
13195				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13196				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13197				Debug,
13198			)]
13199			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13200			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13201			#[doc = "A referendum has been timed out without being decided."]
13202			pub struct TimedOut {
13203				pub index: timed_out::Index,
13204				pub tally: timed_out::Tally,
13205			}
13206			pub mod timed_out {
13207				use super::runtime_types;
13208				pub type Index = ::core::primitive::u32;
13209				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
13210			}
13211			impl ::subxt::ext::subxt_core::events::StaticEvent for TimedOut {
13212				const PALLET: &'static str = "TechReferenda";
13213				const EVENT: &'static str = "TimedOut";
13214			}
13215			#[derive(
13216				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13217				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13218				Debug,
13219			)]
13220			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13221			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13222			#[doc = "A referendum has been cancelled."]
13223			pub struct Cancelled {
13224				pub index: cancelled::Index,
13225				pub tally: cancelled::Tally,
13226			}
13227			pub mod cancelled {
13228				use super::runtime_types;
13229				pub type Index = ::core::primitive::u32;
13230				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
13231			}
13232			impl ::subxt::ext::subxt_core::events::StaticEvent for Cancelled {
13233				const PALLET: &'static str = "TechReferenda";
13234				const EVENT: &'static str = "Cancelled";
13235			}
13236			#[derive(
13237				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13238				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13239				Debug,
13240			)]
13241			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13242			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13243			#[doc = "A referendum has been killed."]
13244			pub struct Killed {
13245				pub index: killed::Index,
13246				pub tally: killed::Tally,
13247			}
13248			pub mod killed {
13249				use super::runtime_types;
13250				pub type Index = ::core::primitive::u32;
13251				pub type Tally = runtime_types::pallet_ranked_collective::Tally;
13252			}
13253			impl ::subxt::ext::subxt_core::events::StaticEvent for Killed {
13254				const PALLET: &'static str = "TechReferenda";
13255				const EVENT: &'static str = "Killed";
13256			}
13257			#[derive(
13258				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13259				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13260				Debug,
13261			)]
13262			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13263			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13264			#[doc = "The submission deposit has been refunded."]
13265			pub struct SubmissionDepositRefunded {
13266				pub index: submission_deposit_refunded::Index,
13267				pub who: submission_deposit_refunded::Who,
13268				pub amount: submission_deposit_refunded::Amount,
13269			}
13270			pub mod submission_deposit_refunded {
13271				use super::runtime_types;
13272				pub type Index = ::core::primitive::u32;
13273				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
13274				pub type Amount = ::core::primitive::u128;
13275			}
13276			impl ::subxt::ext::subxt_core::events::StaticEvent for SubmissionDepositRefunded {
13277				const PALLET: &'static str = "TechReferenda";
13278				const EVENT: &'static str = "SubmissionDepositRefunded";
13279			}
13280			#[derive(
13281				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13282				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13283				Debug,
13284			)]
13285			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13286			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13287			#[doc = "Metadata for a referendum has been set."]
13288			pub struct MetadataSet {
13289				pub index: metadata_set::Index,
13290				pub hash: metadata_set::Hash,
13291			}
13292			pub mod metadata_set {
13293				use super::runtime_types;
13294				pub type Index = ::core::primitive::u32;
13295				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
13296			}
13297			impl ::subxt::ext::subxt_core::events::StaticEvent for MetadataSet {
13298				const PALLET: &'static str = "TechReferenda";
13299				const EVENT: &'static str = "MetadataSet";
13300			}
13301			#[derive(
13302				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13303				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13304				Debug,
13305			)]
13306			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13307			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13308			#[doc = "Metadata for a referendum has been cleared."]
13309			pub struct MetadataCleared {
13310				pub index: metadata_cleared::Index,
13311				pub hash: metadata_cleared::Hash,
13312			}
13313			pub mod metadata_cleared {
13314				use super::runtime_types;
13315				pub type Index = ::core::primitive::u32;
13316				pub type Hash = ::subxt::ext::subxt_core::utils::H256;
13317			}
13318			impl ::subxt::ext::subxt_core::events::StaticEvent for MetadataCleared {
13319				const PALLET: &'static str = "TechReferenda";
13320				const EVENT: &'static str = "MetadataCleared";
13321			}
13322		}
13323		pub mod storage {
13324			use super::runtime_types;
13325			pub mod types {
13326				use super::runtime_types;
13327				pub mod referendum_count {
13328					use super::runtime_types;
13329					pub type ReferendumCount = ::core::primitive::u32;
13330				}
13331				pub mod referendum_info_for {
13332					use super::runtime_types;
13333					pub type ReferendumInfoFor =
13334						runtime_types::pallet_referenda::types::ReferendumInfo<
13335							::core::primitive::u16,
13336							runtime_types::quantus_runtime::OriginCaller,
13337							::core::primitive::u32,
13338							runtime_types::frame_support::traits::preimages::Bounded<
13339								runtime_types::quantus_runtime::RuntimeCall,
13340								runtime_types::qp_poseidon::PoseidonHasher,
13341							>,
13342							::core::primitive::u128,
13343							runtime_types::pallet_ranked_collective::Tally,
13344							::subxt::ext::subxt_core::utils::AccountId32,
13345							(
13346								runtime_types::qp_scheduler::BlockNumberOrTimestamp<
13347									::core::primitive::u32,
13348									::core::primitive::u64,
13349								>,
13350								::core::primitive::u32,
13351							),
13352						>;
13353					pub type Param0 = ::core::primitive::u32;
13354				}
13355				pub mod track_queue {
13356					use super::runtime_types;
13357					pub type TrackQueue =
13358						runtime_types::bounded_collections::bounded_vec::BoundedVec<(
13359							::core::primitive::u32,
13360							::core::primitive::u32,
13361						)>;
13362					pub type Param0 = ::core::primitive::u16;
13363				}
13364				pub mod deciding_count {
13365					use super::runtime_types;
13366					pub type DecidingCount = ::core::primitive::u32;
13367					pub type Param0 = ::core::primitive::u16;
13368				}
13369				pub mod metadata_of {
13370					use super::runtime_types;
13371					pub type MetadataOf = ::subxt::ext::subxt_core::utils::H256;
13372					pub type Param0 = ::core::primitive::u32;
13373				}
13374			}
13375			pub struct StorageApi;
13376			impl StorageApi {
13377				#[doc = " The next free referendum index, aka the number of referenda started so far."]
13378				pub fn referendum_count(
13379					&self,
13380				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13381					(),
13382					types::referendum_count::ReferendumCount,
13383					::subxt::ext::subxt_core::utils::Yes,
13384					::subxt::ext::subxt_core::utils::Yes,
13385					(),
13386				> {
13387					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13388						"TechReferenda",
13389						"ReferendumCount",
13390						(),
13391						[
13392							64u8, 145u8, 232u8, 153u8, 121u8, 87u8, 128u8, 253u8, 170u8, 192u8,
13393							139u8, 18u8, 0u8, 33u8, 243u8, 11u8, 238u8, 222u8, 244u8, 5u8, 247u8,
13394							198u8, 149u8, 31u8, 122u8, 208u8, 86u8, 179u8, 166u8, 167u8, 93u8,
13395							67u8,
13396						],
13397					)
13398				}
13399				#[doc = " Information concerning any given referendum."]
13400				pub fn referendum_info_for_iter(
13401					&self,
13402				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13403					(),
13404					types::referendum_info_for::ReferendumInfoFor,
13405					(),
13406					(),
13407					::subxt::ext::subxt_core::utils::Yes,
13408				> {
13409					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13410						"TechReferenda",
13411						"ReferendumInfoFor",
13412						(),
13413						[
13414							242u8, 125u8, 226u8, 99u8, 67u8, 226u8, 43u8, 159u8, 222u8, 238u8,
13415							72u8, 38u8, 45u8, 26u8, 95u8, 64u8, 141u8, 140u8, 37u8, 44u8, 101u8,
13416							67u8, 46u8, 66u8, 45u8, 93u8, 41u8, 156u8, 63u8, 59u8, 9u8, 29u8,
13417						],
13418					)
13419				}
13420				#[doc = " Information concerning any given referendum."]
13421				pub fn referendum_info_for(
13422					&self,
13423					_0: types::referendum_info_for::Param0,
13424				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13425					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13426						types::referendum_info_for::Param0,
13427					>,
13428					types::referendum_info_for::ReferendumInfoFor,
13429					::subxt::ext::subxt_core::utils::Yes,
13430					(),
13431					(),
13432				> {
13433					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13434						"TechReferenda",
13435						"ReferendumInfoFor",
13436						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13437						[
13438							242u8, 125u8, 226u8, 99u8, 67u8, 226u8, 43u8, 159u8, 222u8, 238u8,
13439							72u8, 38u8, 45u8, 26u8, 95u8, 64u8, 141u8, 140u8, 37u8, 44u8, 101u8,
13440							67u8, 46u8, 66u8, 45u8, 93u8, 41u8, 156u8, 63u8, 59u8, 9u8, 29u8,
13441						],
13442					)
13443				}
13444				#[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"]
13445				#[doc = " conviction-weighted approvals."]
13446				#[doc = ""]
13447				#[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."]
13448				pub fn track_queue_iter(
13449					&self,
13450				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13451					(),
13452					types::track_queue::TrackQueue,
13453					(),
13454					::subxt::ext::subxt_core::utils::Yes,
13455					::subxt::ext::subxt_core::utils::Yes,
13456				> {
13457					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13458						"TechReferenda",
13459						"TrackQueue",
13460						(),
13461						[
13462							187u8, 113u8, 225u8, 99u8, 159u8, 207u8, 182u8, 41u8, 116u8, 136u8,
13463							119u8, 196u8, 152u8, 50u8, 192u8, 22u8, 171u8, 182u8, 237u8, 228u8,
13464							80u8, 255u8, 227u8, 141u8, 155u8, 83u8, 71u8, 131u8, 118u8, 109u8,
13465							186u8, 65u8,
13466						],
13467					)
13468				}
13469				#[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"]
13470				#[doc = " conviction-weighted approvals."]
13471				#[doc = ""]
13472				#[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."]
13473				pub fn track_queue(
13474					&self,
13475					_0: types::track_queue::Param0,
13476				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13477					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13478						types::track_queue::Param0,
13479					>,
13480					types::track_queue::TrackQueue,
13481					::subxt::ext::subxt_core::utils::Yes,
13482					::subxt::ext::subxt_core::utils::Yes,
13483					(),
13484				> {
13485					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13486						"TechReferenda",
13487						"TrackQueue",
13488						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13489						[
13490							187u8, 113u8, 225u8, 99u8, 159u8, 207u8, 182u8, 41u8, 116u8, 136u8,
13491							119u8, 196u8, 152u8, 50u8, 192u8, 22u8, 171u8, 182u8, 237u8, 228u8,
13492							80u8, 255u8, 227u8, 141u8, 155u8, 83u8, 71u8, 131u8, 118u8, 109u8,
13493							186u8, 65u8,
13494						],
13495					)
13496				}
13497				#[doc = " The number of referenda being decided currently."]
13498				pub fn deciding_count_iter(
13499					&self,
13500				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13501					(),
13502					types::deciding_count::DecidingCount,
13503					(),
13504					::subxt::ext::subxt_core::utils::Yes,
13505					::subxt::ext::subxt_core::utils::Yes,
13506				> {
13507					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13508						"TechReferenda",
13509						"DecidingCount",
13510						(),
13511						[
13512							203u8, 89u8, 158u8, 179u8, 194u8, 82u8, 248u8, 162u8, 93u8, 140u8,
13513							146u8, 51u8, 110u8, 232u8, 51u8, 1u8, 128u8, 212u8, 199u8, 14u8, 182u8,
13514							103u8, 47u8, 252u8, 126u8, 108u8, 166u8, 69u8, 252u8, 179u8, 126u8,
13515							245u8,
13516						],
13517					)
13518				}
13519				#[doc = " The number of referenda being decided currently."]
13520				pub fn deciding_count(
13521					&self,
13522					_0: types::deciding_count::Param0,
13523				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13524					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13525						types::deciding_count::Param0,
13526					>,
13527					types::deciding_count::DecidingCount,
13528					::subxt::ext::subxt_core::utils::Yes,
13529					::subxt::ext::subxt_core::utils::Yes,
13530					(),
13531				> {
13532					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13533						"TechReferenda",
13534						"DecidingCount",
13535						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13536						[
13537							203u8, 89u8, 158u8, 179u8, 194u8, 82u8, 248u8, 162u8, 93u8, 140u8,
13538							146u8, 51u8, 110u8, 232u8, 51u8, 1u8, 128u8, 212u8, 199u8, 14u8, 182u8,
13539							103u8, 47u8, 252u8, 126u8, 108u8, 166u8, 69u8, 252u8, 179u8, 126u8,
13540							245u8,
13541						],
13542					)
13543				}
13544				#[doc = " The metadata is a general information concerning the referendum."]
13545				#[doc = " The `Hash` refers to the preimage of the `Preimages` provider which can be a JSON"]
13546				#[doc = " dump or IPFS hash of a JSON file."]
13547				#[doc = ""]
13548				#[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"]
13549				#[doc = " large preimages."]
13550				pub fn metadata_of_iter(
13551					&self,
13552				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13553					(),
13554					types::metadata_of::MetadataOf,
13555					(),
13556					(),
13557					::subxt::ext::subxt_core::utils::Yes,
13558				> {
13559					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13560						"TechReferenda",
13561						"MetadataOf",
13562						(),
13563						[
13564							159u8, 250u8, 56u8, 189u8, 247u8, 165u8, 206u8, 166u8, 91u8, 139u8,
13565							124u8, 164u8, 25u8, 246u8, 199u8, 36u8, 159u8, 56u8, 227u8, 136u8, 4u8,
13566							45u8, 193u8, 72u8, 200u8, 164u8, 39u8, 207u8, 224u8, 124u8, 191u8,
13567							110u8,
13568						],
13569					)
13570				}
13571				#[doc = " The metadata is a general information concerning the referendum."]
13572				#[doc = " The `Hash` refers to the preimage of the `Preimages` provider which can be a JSON"]
13573				#[doc = " dump or IPFS hash of a JSON file."]
13574				#[doc = ""]
13575				#[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"]
13576				#[doc = " large preimages."]
13577				pub fn metadata_of(
13578					&self,
13579					_0: types::metadata_of::Param0,
13580				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13581					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
13582						types::metadata_of::Param0,
13583					>,
13584					types::metadata_of::MetadataOf,
13585					::subxt::ext::subxt_core::utils::Yes,
13586					(),
13587					(),
13588				> {
13589					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13590						"TechReferenda",
13591						"MetadataOf",
13592						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
13593						[
13594							159u8, 250u8, 56u8, 189u8, 247u8, 165u8, 206u8, 166u8, 91u8, 139u8,
13595							124u8, 164u8, 25u8, 246u8, 199u8, 36u8, 159u8, 56u8, 227u8, 136u8, 4u8,
13596							45u8, 193u8, 72u8, 200u8, 164u8, 39u8, 207u8, 224u8, 124u8, 191u8,
13597							110u8,
13598						],
13599					)
13600				}
13601			}
13602		}
13603		pub mod constants {
13604			use super::runtime_types;
13605			pub struct ConstantsApi;
13606			impl ConstantsApi {
13607				#[doc = " The minimum amount to be used as a deposit for a public referendum proposal."]
13608				pub fn submission_deposit(
13609					&self,
13610				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
13611					::core::primitive::u128,
13612				> {
13613					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
13614						"TechReferenda",
13615						"SubmissionDeposit",
13616						[
13617							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
13618							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
13619							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
13620						],
13621					)
13622				}
13623				#[doc = " Maximum size of the referendum queue for a single track."]
13624				pub fn max_queued(
13625					&self,
13626				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
13627					::core::primitive::u32,
13628				> {
13629					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
13630						"TechReferenda",
13631						"MaxQueued",
13632						[
13633							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
13634							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
13635							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
13636							145u8,
13637						],
13638					)
13639				}
13640				#[doc = " The number of blocks after submission that a referendum must begin being decided by."]
13641				#[doc = " Once this passes, then anyone may cancel the referendum."]
13642				pub fn undeciding_timeout(
13643					&self,
13644				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
13645					::core::primitive::u32,
13646				> {
13647					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
13648						"TechReferenda",
13649						"UndecidingTimeout",
13650						[
13651							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
13652							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
13653							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
13654							145u8,
13655						],
13656					)
13657				}
13658				#[doc = " Quantization level for the referendum wakeup scheduler. A higher number will result in"]
13659				#[doc = " fewer storage reads/writes needed for smaller voters, but also result in delays to the"]
13660				#[doc = " automatic referendum status changes. Explicit servicing instructions are unaffected."]
13661				pub fn alarm_interval(
13662					&self,
13663				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
13664					::core::primitive::u32,
13665				> {
13666					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
13667						"TechReferenda",
13668						"AlarmInterval",
13669						[
13670							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
13671							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
13672							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
13673							145u8,
13674						],
13675					)
13676				}
13677				#[doc = " A list of tracks."]
13678				#[doc = ""]
13679				#[doc = " Note: if the tracks are dynamic, the value in the static metadata might be inaccurate."]
13680				pub fn tracks(
13681					&self,
13682				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
13683					::subxt::ext::subxt_core::alloc::vec::Vec<(
13684						::core::primitive::u16,
13685						runtime_types::pallet_referenda::types::TrackDetails<
13686							::core::primitive::u128,
13687							::core::primitive::u32,
13688							::subxt::ext::subxt_core::alloc::string::String,
13689						>,
13690					)>,
13691				> {
13692					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
13693						"TechReferenda",
13694						"Tracks",
13695						[
13696							35u8, 226u8, 207u8, 234u8, 184u8, 139u8, 187u8, 184u8, 128u8, 199u8,
13697							227u8, 15u8, 31u8, 196u8, 5u8, 207u8, 138u8, 174u8, 130u8, 201u8,
13698							200u8, 113u8, 86u8, 93u8, 221u8, 243u8, 229u8, 24u8, 18u8, 150u8, 56u8,
13699							159u8,
13700						],
13701					)
13702				}
13703			}
13704		}
13705	}
13706	pub mod treasury_pallet {
13707		use super::{root_mod, runtime_types};
13708		#[doc = "The `Error` enum of this pallet."]
13709		pub type Error = runtime_types::pallet_treasury::pallet::Error;
13710		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
13711		pub type Call = runtime_types::pallet_treasury::pallet::Call;
13712		pub mod calls {
13713			use super::{root_mod, runtime_types};
13714			type DispatchError = runtime_types::sp_runtime::DispatchError;
13715			pub mod types {
13716				use super::runtime_types;
13717				#[derive(
13718					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13719					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13720					Debug,
13721				)]
13722				#[decode_as_type(
13723					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13724				)]
13725				#[encode_as_type(
13726					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13727				)]
13728				#[doc = "Set the treasury account. Root only. Zero address is rejected (funds would be locked)."]
13729				pub struct SetTreasuryAccount {
13730					pub account: set_treasury_account::Account,
13731				}
13732				pub mod set_treasury_account {
13733					use super::runtime_types;
13734					pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
13735				}
13736				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetTreasuryAccount {
13737					const PALLET: &'static str = "TreasuryPallet";
13738					const CALL: &'static str = "set_treasury_account";
13739				}
13740				#[derive(
13741					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13742					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13743					Debug,
13744				)]
13745				#[decode_as_type(
13746					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13747				)]
13748				#[encode_as_type(
13749					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13750				)]
13751				#[doc = "Set the treasury portion (Permill, 0–100%). Root only."]
13752				pub struct SetTreasuryPortion {
13753					pub portion: set_treasury_portion::Portion,
13754				}
13755				pub mod set_treasury_portion {
13756					use super::runtime_types;
13757					pub type Portion = runtime_types::sp_arithmetic::per_things::Permill;
13758				}
13759				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetTreasuryPortion {
13760					const PALLET: &'static str = "TreasuryPallet";
13761					const CALL: &'static str = "set_treasury_portion";
13762				}
13763			}
13764			pub struct TransactionApi;
13765			impl TransactionApi {
13766				#[doc = "Set the treasury account. Root only. Zero address is rejected (funds would be locked)."]
13767				pub fn set_treasury_account(
13768					&self,
13769					account: types::set_treasury_account::Account,
13770				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetTreasuryAccount>
13771				{
13772					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13773						"TreasuryPallet",
13774						"set_treasury_account",
13775						types::SetTreasuryAccount { account },
13776						[
13777							221u8, 22u8, 186u8, 39u8, 76u8, 65u8, 143u8, 149u8, 126u8, 244u8,
13778							227u8, 129u8, 16u8, 183u8, 56u8, 248u8, 82u8, 131u8, 255u8, 246u8,
13779							243u8, 145u8, 255u8, 5u8, 125u8, 142u8, 201u8, 38u8, 185u8, 124u8,
13780							76u8, 167u8,
13781						],
13782					)
13783				}
13784				#[doc = "Set the treasury portion (Permill, 0–100%). Root only."]
13785				pub fn set_treasury_portion(
13786					&self,
13787					portion: types::set_treasury_portion::Portion,
13788				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetTreasuryPortion>
13789				{
13790					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
13791						"TreasuryPallet",
13792						"set_treasury_portion",
13793						types::SetTreasuryPortion { portion },
13794						[
13795							226u8, 74u8, 96u8, 96u8, 120u8, 14u8, 29u8, 33u8, 85u8, 192u8, 26u8,
13796							67u8, 86u8, 203u8, 21u8, 96u8, 127u8, 87u8, 217u8, 185u8, 8u8, 68u8,
13797							126u8, 227u8, 38u8, 172u8, 9u8, 97u8, 172u8, 27u8, 17u8, 199u8,
13798						],
13799					)
13800				}
13801			}
13802		}
13803		#[doc = "The `Event` enum of this pallet"]
13804		pub type Event = runtime_types::pallet_treasury::pallet::Event;
13805		pub mod events {
13806			use super::runtime_types;
13807			#[derive(
13808				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13809				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13810				Debug,
13811			)]
13812			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13813			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13814			pub struct TreasuryAccountUpdated {
13815				pub new_account: treasury_account_updated::NewAccount,
13816			}
13817			pub mod treasury_account_updated {
13818				use super::runtime_types;
13819				pub type NewAccount = ::subxt::ext::subxt_core::utils::AccountId32;
13820			}
13821			impl ::subxt::ext::subxt_core::events::StaticEvent for TreasuryAccountUpdated {
13822				const PALLET: &'static str = "TreasuryPallet";
13823				const EVENT: &'static str = "TreasuryAccountUpdated";
13824			}
13825			#[derive(
13826				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13827				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13828				Debug,
13829			)]
13830			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
13831			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
13832			pub struct TreasuryPortionUpdated {
13833				pub new_portion: treasury_portion_updated::NewPortion,
13834			}
13835			pub mod treasury_portion_updated {
13836				use super::runtime_types;
13837				pub type NewPortion = runtime_types::sp_arithmetic::per_things::Permill;
13838			}
13839			impl ::subxt::ext::subxt_core::events::StaticEvent for TreasuryPortionUpdated {
13840				const PALLET: &'static str = "TreasuryPallet";
13841				const EVENT: &'static str = "TreasuryPortionUpdated";
13842			}
13843		}
13844		pub mod storage {
13845			use super::runtime_types;
13846			pub mod types {
13847				use super::runtime_types;
13848				pub mod treasury_account {
13849					use super::runtime_types;
13850					pub type TreasuryAccount = ::subxt::ext::subxt_core::utils::AccountId32;
13851				}
13852				pub mod treasury_portion {
13853					use super::runtime_types;
13854					pub type TreasuryPortion = runtime_types::sp_arithmetic::per_things::Permill;
13855				}
13856			}
13857			pub struct StorageApi;
13858			impl StorageApi {
13859				#[doc = " The treasury account that receives mining rewards."]
13860				pub fn treasury_account(
13861					&self,
13862				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13863					(),
13864					types::treasury_account::TreasuryAccount,
13865					::subxt::ext::subxt_core::utils::Yes,
13866					(),
13867					(),
13868				> {
13869					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13870						"TreasuryPallet",
13871						"TreasuryAccount",
13872						(),
13873						[
13874							25u8, 40u8, 39u8, 114u8, 80u8, 247u8, 49u8, 5u8, 9u8, 118u8, 249u8,
13875							36u8, 77u8, 73u8, 229u8, 167u8, 107u8, 254u8, 175u8, 199u8, 203u8,
13876							238u8, 166u8, 158u8, 155u8, 209u8, 155u8, 219u8, 191u8, 204u8, 237u8,
13877							227u8,
13878						],
13879					)
13880				}
13881				#[doc = " The portion of mining rewards that goes to treasury (Permill, 0–100%)."]
13882				#[doc = " Uses OptionQuery so genesis is required. Permill allows fine granularity (e.g. 33.3%)."]
13883				pub fn treasury_portion(
13884					&self,
13885				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
13886					(),
13887					types::treasury_portion::TreasuryPortion,
13888					::subxt::ext::subxt_core::utils::Yes,
13889					(),
13890					(),
13891				> {
13892					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
13893						"TreasuryPallet",
13894						"TreasuryPortion",
13895						(),
13896						[
13897							27u8, 148u8, 61u8, 76u8, 110u8, 174u8, 202u8, 184u8, 62u8, 134u8,
13898							238u8, 169u8, 40u8, 112u8, 83u8, 192u8, 156u8, 67u8, 1u8, 145u8, 11u8,
13899							88u8, 249u8, 1u8, 37u8, 163u8, 238u8, 131u8, 242u8, 232u8, 20u8, 195u8,
13900						],
13901					)
13902				}
13903			}
13904		}
13905	}
13906	pub mod recovery {
13907		use super::{root_mod, runtime_types};
13908		#[doc = "The `Error` enum of this pallet."]
13909		pub type Error = runtime_types::pallet_recovery::pallet::Error;
13910		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
13911		pub type Call = runtime_types::pallet_recovery::pallet::Call;
13912		pub mod calls {
13913			use super::{root_mod, runtime_types};
13914			type DispatchError = runtime_types::sp_runtime::DispatchError;
13915			pub mod types {
13916				use super::runtime_types;
13917				#[derive(
13918					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13919					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13920					Debug,
13921				)]
13922				#[decode_as_type(
13923					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13924				)]
13925				#[encode_as_type(
13926					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13927				)]
13928				#[doc = "Send a call through a recovered account."]
13929				#[doc = ""]
13930				#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
13931				#[doc = "be able to make calls on behalf of the recovered account."]
13932				#[doc = ""]
13933				#[doc = "Parameters:"]
13934				#[doc = "- `account`: The recovered account you want to make a call on-behalf-of."]
13935				#[doc = "- `call`: The call you want to make with the recovered account."]
13936				pub struct AsRecovered {
13937					pub account: as_recovered::Account,
13938					pub call: ::subxt::ext::subxt_core::alloc::boxed::Box<as_recovered::Call>,
13939				}
13940				pub mod as_recovered {
13941					use super::runtime_types;
13942					pub type Account = ::subxt::ext::subxt_core::utils::MultiAddress<
13943						::subxt::ext::subxt_core::utils::AccountId32,
13944						(),
13945					>;
13946					pub type Call = runtime_types::quantus_runtime::RuntimeCall;
13947				}
13948				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for AsRecovered {
13949					const PALLET: &'static str = "Recovery";
13950					const CALL: &'static str = "as_recovered";
13951				}
13952				#[derive(
13953					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13954					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13955					Debug,
13956				)]
13957				#[decode_as_type(
13958					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13959				)]
13960				#[encode_as_type(
13961					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
13962				)]
13963				#[doc = "Allow ROOT to bypass the recovery process and set a rescuer account"]
13964				#[doc = "for a lost account directly."]
13965				#[doc = ""]
13966				#[doc = "The dispatch origin for this call must be _ROOT_."]
13967				#[doc = ""]
13968				#[doc = "Parameters:"]
13969				#[doc = "- `lost`: The \"lost account\" to be recovered."]
13970				#[doc = "- `rescuer`: The \"rescuer account\" which can call as the lost account."]
13971				pub struct SetRecovered {
13972					pub lost: set_recovered::Lost,
13973					pub rescuer: set_recovered::Rescuer,
13974				}
13975				pub mod set_recovered {
13976					use super::runtime_types;
13977					pub type Lost = ::subxt::ext::subxt_core::utils::MultiAddress<
13978						::subxt::ext::subxt_core::utils::AccountId32,
13979						(),
13980					>;
13981					pub type Rescuer = ::subxt::ext::subxt_core::utils::MultiAddress<
13982						::subxt::ext::subxt_core::utils::AccountId32,
13983						(),
13984					>;
13985				}
13986				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetRecovered {
13987					const PALLET: &'static str = "Recovery";
13988					const CALL: &'static str = "set_recovered";
13989				}
13990				#[derive(
13991					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
13992					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
13993					Debug,
13994				)]
13995				#[decode_as_type(
13996					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
13997				)]
13998				#[encode_as_type(
13999					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
14000				)]
14001				#[doc = "Create a recovery configuration for your account. This makes your account recoverable."]
14002				#[doc = ""]
14003				#[doc = "Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance"]
14004				#[doc = "will be reserved for storing the recovery configuration. This deposit is returned"]
14005				#[doc = "in full when the user calls `remove_recovery`."]
14006				#[doc = ""]
14007				#[doc = "The dispatch origin for this call must be _Signed_."]
14008				#[doc = ""]
14009				#[doc = "Parameters:"]
14010				#[doc = "- `friends`: A list of friends you trust to vouch for recovery attempts. Should be"]
14011				#[doc = "  ordered and contain no duplicate values."]
14012				#[doc = "- `threshold`: The number of friends that must vouch for a recovery attempt before the"]
14013				#[doc = "  account can be recovered. Should be less than or equal to the length of the list of"]
14014				#[doc = "  friends."]
14015				#[doc = "- `delay_period`: The number of blocks after a recovery attempt is initialized that"]
14016				#[doc = "  needs to pass before the account can be recovered."]
14017				pub struct CreateRecovery {
14018					pub friends: create_recovery::Friends,
14019					pub threshold: create_recovery::Threshold,
14020					pub delay_period: create_recovery::DelayPeriod,
14021				}
14022				pub mod create_recovery {
14023					use super::runtime_types;
14024					pub type Friends = ::subxt::ext::subxt_core::alloc::vec::Vec<
14025						::subxt::ext::subxt_core::utils::AccountId32,
14026					>;
14027					pub type Threshold = ::core::primitive::u16;
14028					pub type DelayPeriod = ::core::primitive::u32;
14029				}
14030				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CreateRecovery {
14031					const PALLET: &'static str = "Recovery";
14032					const CALL: &'static str = "create_recovery";
14033				}
14034				#[derive(
14035					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14036					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14037					Debug,
14038				)]
14039				#[decode_as_type(
14040					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
14041				)]
14042				#[encode_as_type(
14043					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
14044				)]
14045				#[doc = "Initiate the process for recovering a recoverable account."]
14046				#[doc = ""]
14047				#[doc = "Payment: `RecoveryDeposit` balance will be reserved for initiating the"]
14048				#[doc = "recovery process. This deposit will always be repatriated to the account"]
14049				#[doc = "trying to be recovered. See `close_recovery`."]
14050				#[doc = ""]
14051				#[doc = "The dispatch origin for this call must be _Signed_."]
14052				#[doc = ""]
14053				#[doc = "Parameters:"]
14054				#[doc = "- `account`: The lost account that you want to recover. This account needs to be"]
14055				#[doc = "  recoverable (i.e. have a recovery configuration)."]
14056				pub struct InitiateRecovery {
14057					pub account: initiate_recovery::Account,
14058				}
14059				pub mod initiate_recovery {
14060					use super::runtime_types;
14061					pub type Account = ::subxt::ext::subxt_core::utils::MultiAddress<
14062						::subxt::ext::subxt_core::utils::AccountId32,
14063						(),
14064					>;
14065				}
14066				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for InitiateRecovery {
14067					const PALLET: &'static str = "Recovery";
14068					const CALL: &'static str = "initiate_recovery";
14069				}
14070				#[derive(
14071					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14072					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14073					Debug,
14074				)]
14075				#[decode_as_type(
14076					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
14077				)]
14078				#[encode_as_type(
14079					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
14080				)]
14081				#[doc = "Allow a \"friend\" of a recoverable account to vouch for an active recovery"]
14082				#[doc = "process for that account."]
14083				#[doc = ""]
14084				#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"friend\""]
14085				#[doc = "for the recoverable account."]
14086				#[doc = ""]
14087				#[doc = "Parameters:"]
14088				#[doc = "- `lost`: The lost account that you want to recover."]
14089				#[doc = "- `rescuer`: The account trying to rescue the lost account that you want to vouch for."]
14090				#[doc = ""]
14091				#[doc = "The combination of these two parameters must point to an active recovery"]
14092				#[doc = "process."]
14093				pub struct VouchRecovery {
14094					pub lost: vouch_recovery::Lost,
14095					pub rescuer: vouch_recovery::Rescuer,
14096				}
14097				pub mod vouch_recovery {
14098					use super::runtime_types;
14099					pub type Lost = ::subxt::ext::subxt_core::utils::MultiAddress<
14100						::subxt::ext::subxt_core::utils::AccountId32,
14101						(),
14102					>;
14103					pub type Rescuer = ::subxt::ext::subxt_core::utils::MultiAddress<
14104						::subxt::ext::subxt_core::utils::AccountId32,
14105						(),
14106					>;
14107				}
14108				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for VouchRecovery {
14109					const PALLET: &'static str = "Recovery";
14110					const CALL: &'static str = "vouch_recovery";
14111				}
14112				#[derive(
14113					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14114					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14115					Debug,
14116				)]
14117				#[decode_as_type(
14118					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
14119				)]
14120				#[encode_as_type(
14121					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
14122				)]
14123				#[doc = "Allow a successful rescuer to claim their recovered account."]
14124				#[doc = ""]
14125				#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"rescuer\""]
14126				#[doc = "who has successfully completed the account recovery process: collected"]
14127				#[doc = "`threshold` or more vouches, waited `delay_period` blocks since initiation."]
14128				#[doc = ""]
14129				#[doc = "Parameters:"]
14130				#[doc = "- `account`: The lost account that you want to claim has been successfully recovered by"]
14131				#[doc = "  you."]
14132				pub struct ClaimRecovery {
14133					pub account: claim_recovery::Account,
14134				}
14135				pub mod claim_recovery {
14136					use super::runtime_types;
14137					pub type Account = ::subxt::ext::subxt_core::utils::MultiAddress<
14138						::subxt::ext::subxt_core::utils::AccountId32,
14139						(),
14140					>;
14141				}
14142				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ClaimRecovery {
14143					const PALLET: &'static str = "Recovery";
14144					const CALL: &'static str = "claim_recovery";
14145				}
14146				#[derive(
14147					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14148					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14149					Debug,
14150				)]
14151				#[decode_as_type(
14152					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
14153				)]
14154				#[encode_as_type(
14155					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
14156				)]
14157				#[doc = "As the controller of a recoverable account, close an active recovery"]
14158				#[doc = "process for your account."]
14159				#[doc = ""]
14160				#[doc = "Payment: By calling this function, the recoverable account will receive"]
14161				#[doc = "the recovery deposit `RecoveryDeposit` placed by the rescuer."]
14162				#[doc = ""]
14163				#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
14164				#[doc = "recoverable account with an active recovery process for it."]
14165				#[doc = ""]
14166				#[doc = "Parameters:"]
14167				#[doc = "- `rescuer`: The account trying to rescue this recoverable account."]
14168				pub struct CloseRecovery {
14169					pub rescuer: close_recovery::Rescuer,
14170				}
14171				pub mod close_recovery {
14172					use super::runtime_types;
14173					pub type Rescuer = ::subxt::ext::subxt_core::utils::MultiAddress<
14174						::subxt::ext::subxt_core::utils::AccountId32,
14175						(),
14176					>;
14177				}
14178				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CloseRecovery {
14179					const PALLET: &'static str = "Recovery";
14180					const CALL: &'static str = "close_recovery";
14181				}
14182				#[derive(
14183					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14184					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14185					Debug,
14186				)]
14187				#[decode_as_type(
14188					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
14189				)]
14190				#[encode_as_type(
14191					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
14192				)]
14193				#[doc = "Remove the recovery process for your account. Recovered accounts are still accessible."]
14194				#[doc = ""]
14195				#[doc = "NOTE: The user must make sure to call `close_recovery` on all active"]
14196				#[doc = "recovery attempts before calling this function else it will fail."]
14197				#[doc = ""]
14198				#[doc = "Payment: By calling this function the recoverable account will unreserve"]
14199				#[doc = "their recovery configuration deposit."]
14200				#[doc = "(`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)"]
14201				#[doc = ""]
14202				#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
14203				#[doc = "recoverable account (i.e. has a recovery configuration)."]
14204				pub struct RemoveRecovery;
14205				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveRecovery {
14206					const PALLET: &'static str = "Recovery";
14207					const CALL: &'static str = "remove_recovery";
14208				}
14209				#[derive(
14210					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14211					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14212					Debug,
14213				)]
14214				#[decode_as_type(
14215					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
14216				)]
14217				#[encode_as_type(
14218					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
14219				)]
14220				#[doc = "Cancel the ability to use `as_recovered` for `account`."]
14221				#[doc = ""]
14222				#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
14223				#[doc = "be able to make calls on behalf of the recovered account."]
14224				#[doc = ""]
14225				#[doc = "Parameters:"]
14226				#[doc = "- `account`: The recovered account you are able to call on-behalf-of."]
14227				pub struct CancelRecovered {
14228					pub account: cancel_recovered::Account,
14229				}
14230				pub mod cancel_recovered {
14231					use super::runtime_types;
14232					pub type Account = ::subxt::ext::subxt_core::utils::MultiAddress<
14233						::subxt::ext::subxt_core::utils::AccountId32,
14234						(),
14235					>;
14236				}
14237				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CancelRecovered {
14238					const PALLET: &'static str = "Recovery";
14239					const CALL: &'static str = "cancel_recovered";
14240				}
14241				#[derive(
14242					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14243					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14244					Debug,
14245				)]
14246				#[decode_as_type(
14247					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
14248				)]
14249				#[encode_as_type(
14250					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
14251				)]
14252				#[doc = "Poke deposits for recovery configurations and / or active recoveries."]
14253				#[doc = ""]
14254				#[doc = "This can be used by accounts to possibly lower their locked amount."]
14255				#[doc = ""]
14256				#[doc = "The dispatch origin for this call must be _Signed_."]
14257				#[doc = ""]
14258				#[doc = "Parameters:"]
14259				#[doc = "- `maybe_account`: Optional recoverable account for which you have an active recovery"]
14260				#[doc = "and want to adjust the deposit for the active recovery."]
14261				#[doc = ""]
14262				#[doc = "This function checks both recovery configuration deposit and active recovery deposits"]
14263				#[doc = "of the caller:"]
14264				#[doc = "- If the caller has created a recovery configuration, checks and adjusts its deposit"]
14265				#[doc = "- If the caller has initiated any active recoveries, and provides the account in"]
14266				#[doc = "`maybe_account`, checks and adjusts those deposits"]
14267				#[doc = ""]
14268				#[doc = "If any deposit is updated, the difference will be reserved/unreserved from the caller's"]
14269				#[doc = "account."]
14270				#[doc = ""]
14271				#[doc = "The transaction is made free if any deposit is updated and paid otherwise."]
14272				#[doc = ""]
14273				#[doc = "Emits `DepositPoked` if any deposit is updated."]
14274				#[doc = "Multiple events may be emitted in case both types of deposits are updated."]
14275				pub struct PokeDeposit {
14276					pub maybe_account: poke_deposit::MaybeAccount,
14277				}
14278				pub mod poke_deposit {
14279					use super::runtime_types;
14280					pub type MaybeAccount = ::core::option::Option<
14281						::subxt::ext::subxt_core::utils::MultiAddress<
14282							::subxt::ext::subxt_core::utils::AccountId32,
14283							(),
14284						>,
14285					>;
14286				}
14287				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for PokeDeposit {
14288					const PALLET: &'static str = "Recovery";
14289					const CALL: &'static str = "poke_deposit";
14290				}
14291			}
14292			pub struct TransactionApi;
14293			impl TransactionApi {
14294				#[doc = "Send a call through a recovered account."]
14295				#[doc = ""]
14296				#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
14297				#[doc = "be able to make calls on behalf of the recovered account."]
14298				#[doc = ""]
14299				#[doc = "Parameters:"]
14300				#[doc = "- `account`: The recovered account you want to make a call on-behalf-of."]
14301				#[doc = "- `call`: The call you want to make with the recovered account."]
14302				pub fn as_recovered(
14303					&self,
14304					account: types::as_recovered::Account,
14305					call: types::as_recovered::Call,
14306				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::AsRecovered> {
14307					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14308						"Recovery",
14309						"as_recovered",
14310						types::AsRecovered {
14311							account,
14312							call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call),
14313						},
14314						[
14315							0u8, 144u8, 16u8, 19u8, 207u8, 225u8, 184u8, 92u8, 212u8, 17u8, 156u8,
14316							224u8, 97u8, 23u8, 96u8, 104u8, 207u8, 206u8, 163u8, 26u8, 91u8, 130u8,
14317							113u8, 130u8, 171u8, 57u8, 255u8, 83u8, 240u8, 20u8, 199u8, 126u8,
14318						],
14319					)
14320				}
14321				#[doc = "Allow ROOT to bypass the recovery process and set a rescuer account"]
14322				#[doc = "for a lost account directly."]
14323				#[doc = ""]
14324				#[doc = "The dispatch origin for this call must be _ROOT_."]
14325				#[doc = ""]
14326				#[doc = "Parameters:"]
14327				#[doc = "- `lost`: The \"lost account\" to be recovered."]
14328				#[doc = "- `rescuer`: The \"rescuer account\" which can call as the lost account."]
14329				pub fn set_recovered(
14330					&self,
14331					lost: types::set_recovered::Lost,
14332					rescuer: types::set_recovered::Rescuer,
14333				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetRecovered> {
14334					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14335						"Recovery",
14336						"set_recovered",
14337						types::SetRecovered { lost, rescuer },
14338						[
14339							194u8, 147u8, 14u8, 197u8, 132u8, 185u8, 122u8, 81u8, 61u8, 14u8, 10u8,
14340							177u8, 74u8, 184u8, 150u8, 217u8, 246u8, 149u8, 26u8, 165u8, 196u8,
14341							83u8, 230u8, 195u8, 213u8, 40u8, 51u8, 180u8, 23u8, 90u8, 3u8, 14u8,
14342						],
14343					)
14344				}
14345				#[doc = "Create a recovery configuration for your account. This makes your account recoverable."]
14346				#[doc = ""]
14347				#[doc = "Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance"]
14348				#[doc = "will be reserved for storing the recovery configuration. This deposit is returned"]
14349				#[doc = "in full when the user calls `remove_recovery`."]
14350				#[doc = ""]
14351				#[doc = "The dispatch origin for this call must be _Signed_."]
14352				#[doc = ""]
14353				#[doc = "Parameters:"]
14354				#[doc = "- `friends`: A list of friends you trust to vouch for recovery attempts. Should be"]
14355				#[doc = "  ordered and contain no duplicate values."]
14356				#[doc = "- `threshold`: The number of friends that must vouch for a recovery attempt before the"]
14357				#[doc = "  account can be recovered. Should be less than or equal to the length of the list of"]
14358				#[doc = "  friends."]
14359				#[doc = "- `delay_period`: The number of blocks after a recovery attempt is initialized that"]
14360				#[doc = "  needs to pass before the account can be recovered."]
14361				pub fn create_recovery(
14362					&self,
14363					friends: types::create_recovery::Friends,
14364					threshold: types::create_recovery::Threshold,
14365					delay_period: types::create_recovery::DelayPeriod,
14366				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CreateRecovery>
14367				{
14368					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14369						"Recovery",
14370						"create_recovery",
14371						types::CreateRecovery { friends, threshold, delay_period },
14372						[
14373							36u8, 175u8, 11u8, 85u8, 95u8, 170u8, 58u8, 193u8, 102u8, 18u8, 117u8,
14374							27u8, 199u8, 214u8, 70u8, 47u8, 129u8, 130u8, 109u8, 242u8, 240u8,
14375							255u8, 120u8, 176u8, 40u8, 243u8, 175u8, 71u8, 3u8, 91u8, 186u8, 220u8,
14376						],
14377					)
14378				}
14379				#[doc = "Initiate the process for recovering a recoverable account."]
14380				#[doc = ""]
14381				#[doc = "Payment: `RecoveryDeposit` balance will be reserved for initiating the"]
14382				#[doc = "recovery process. This deposit will always be repatriated to the account"]
14383				#[doc = "trying to be recovered. See `close_recovery`."]
14384				#[doc = ""]
14385				#[doc = "The dispatch origin for this call must be _Signed_."]
14386				#[doc = ""]
14387				#[doc = "Parameters:"]
14388				#[doc = "- `account`: The lost account that you want to recover. This account needs to be"]
14389				#[doc = "  recoverable (i.e. have a recovery configuration)."]
14390				pub fn initiate_recovery(
14391					&self,
14392					account: types::initiate_recovery::Account,
14393				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::InitiateRecovery>
14394				{
14395					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14396						"Recovery",
14397						"initiate_recovery",
14398						types::InitiateRecovery { account },
14399						[
14400							60u8, 243u8, 229u8, 176u8, 221u8, 52u8, 44u8, 224u8, 233u8, 14u8, 89u8,
14401							100u8, 174u8, 74u8, 38u8, 32u8, 97u8, 48u8, 53u8, 74u8, 30u8, 242u8,
14402							19u8, 114u8, 145u8, 74u8, 69u8, 125u8, 227u8, 214u8, 144u8, 58u8,
14403						],
14404					)
14405				}
14406				#[doc = "Allow a \"friend\" of a recoverable account to vouch for an active recovery"]
14407				#[doc = "process for that account."]
14408				#[doc = ""]
14409				#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"friend\""]
14410				#[doc = "for the recoverable account."]
14411				#[doc = ""]
14412				#[doc = "Parameters:"]
14413				#[doc = "- `lost`: The lost account that you want to recover."]
14414				#[doc = "- `rescuer`: The account trying to rescue the lost account that you want to vouch for."]
14415				#[doc = ""]
14416				#[doc = "The combination of these two parameters must point to an active recovery"]
14417				#[doc = "process."]
14418				pub fn vouch_recovery(
14419					&self,
14420					lost: types::vouch_recovery::Lost,
14421					rescuer: types::vouch_recovery::Rescuer,
14422				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::VouchRecovery>
14423				{
14424					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14425						"Recovery",
14426						"vouch_recovery",
14427						types::VouchRecovery { lost, rescuer },
14428						[
14429							97u8, 190u8, 60u8, 15u8, 191u8, 117u8, 1u8, 217u8, 62u8, 40u8, 210u8,
14430							1u8, 237u8, 111u8, 48u8, 196u8, 180u8, 154u8, 198u8, 12u8, 108u8, 42u8,
14431							6u8, 234u8, 2u8, 113u8, 163u8, 111u8, 80u8, 146u8, 6u8, 73u8,
14432						],
14433					)
14434				}
14435				#[doc = "Allow a successful rescuer to claim their recovered account."]
14436				#[doc = ""]
14437				#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"rescuer\""]
14438				#[doc = "who has successfully completed the account recovery process: collected"]
14439				#[doc = "`threshold` or more vouches, waited `delay_period` blocks since initiation."]
14440				#[doc = ""]
14441				#[doc = "Parameters:"]
14442				#[doc = "- `account`: The lost account that you want to claim has been successfully recovered by"]
14443				#[doc = "  you."]
14444				pub fn claim_recovery(
14445					&self,
14446					account: types::claim_recovery::Account,
14447				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ClaimRecovery>
14448				{
14449					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14450						"Recovery",
14451						"claim_recovery",
14452						types::ClaimRecovery { account },
14453						[
14454							41u8, 47u8, 162u8, 88u8, 13u8, 166u8, 130u8, 146u8, 218u8, 162u8,
14455							166u8, 33u8, 89u8, 129u8, 177u8, 178u8, 68u8, 128u8, 161u8, 229u8,
14456							207u8, 3u8, 57u8, 35u8, 211u8, 208u8, 74u8, 155u8, 183u8, 173u8, 74u8,
14457							56u8,
14458						],
14459					)
14460				}
14461				#[doc = "As the controller of a recoverable account, close an active recovery"]
14462				#[doc = "process for your account."]
14463				#[doc = ""]
14464				#[doc = "Payment: By calling this function, the recoverable account will receive"]
14465				#[doc = "the recovery deposit `RecoveryDeposit` placed by the rescuer."]
14466				#[doc = ""]
14467				#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
14468				#[doc = "recoverable account with an active recovery process for it."]
14469				#[doc = ""]
14470				#[doc = "Parameters:"]
14471				#[doc = "- `rescuer`: The account trying to rescue this recoverable account."]
14472				pub fn close_recovery(
14473					&self,
14474					rescuer: types::close_recovery::Rescuer,
14475				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CloseRecovery>
14476				{
14477					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14478						"Recovery",
14479						"close_recovery",
14480						types::CloseRecovery { rescuer },
14481						[
14482							161u8, 178u8, 117u8, 209u8, 119u8, 164u8, 135u8, 41u8, 25u8, 108u8,
14483							194u8, 175u8, 221u8, 65u8, 184u8, 137u8, 171u8, 97u8, 204u8, 61u8,
14484							159u8, 39u8, 192u8, 53u8, 246u8, 69u8, 113u8, 16u8, 170u8, 232u8,
14485							163u8, 10u8,
14486						],
14487					)
14488				}
14489				#[doc = "Remove the recovery process for your account. Recovered accounts are still accessible."]
14490				#[doc = ""]
14491				#[doc = "NOTE: The user must make sure to call `close_recovery` on all active"]
14492				#[doc = "recovery attempts before calling this function else it will fail."]
14493				#[doc = ""]
14494				#[doc = "Payment: By calling this function the recoverable account will unreserve"]
14495				#[doc = "their recovery configuration deposit."]
14496				#[doc = "(`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)"]
14497				#[doc = ""]
14498				#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
14499				#[doc = "recoverable account (i.e. has a recovery configuration)."]
14500				pub fn remove_recovery(
14501					&self,
14502				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveRecovery>
14503				{
14504					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14505						"Recovery",
14506						"remove_recovery",
14507						types::RemoveRecovery {},
14508						[
14509							11u8, 38u8, 133u8, 172u8, 212u8, 252u8, 57u8, 216u8, 42u8, 202u8,
14510							206u8, 91u8, 115u8, 91u8, 242u8, 123u8, 95u8, 196u8, 172u8, 243u8,
14511							164u8, 1u8, 69u8, 180u8, 40u8, 68u8, 208u8, 221u8, 161u8, 250u8, 8u8,
14512							72u8,
14513						],
14514					)
14515				}
14516				#[doc = "Cancel the ability to use `as_recovered` for `account`."]
14517				#[doc = ""]
14518				#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
14519				#[doc = "be able to make calls on behalf of the recovered account."]
14520				#[doc = ""]
14521				#[doc = "Parameters:"]
14522				#[doc = "- `account`: The recovered account you are able to call on-behalf-of."]
14523				pub fn cancel_recovered(
14524					&self,
14525					account: types::cancel_recovered::Account,
14526				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CancelRecovered>
14527				{
14528					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14529						"Recovery",
14530						"cancel_recovered",
14531						types::CancelRecovered { account },
14532						[
14533							100u8, 222u8, 80u8, 226u8, 187u8, 188u8, 111u8, 58u8, 190u8, 5u8,
14534							178u8, 144u8, 37u8, 98u8, 71u8, 145u8, 28u8, 248u8, 222u8, 188u8, 53u8,
14535							21u8, 127u8, 176u8, 249u8, 166u8, 250u8, 59u8, 170u8, 33u8, 251u8,
14536							239u8,
14537						],
14538					)
14539				}
14540				#[doc = "Poke deposits for recovery configurations and / or active recoveries."]
14541				#[doc = ""]
14542				#[doc = "This can be used by accounts to possibly lower their locked amount."]
14543				#[doc = ""]
14544				#[doc = "The dispatch origin for this call must be _Signed_."]
14545				#[doc = ""]
14546				#[doc = "Parameters:"]
14547				#[doc = "- `maybe_account`: Optional recoverable account for which you have an active recovery"]
14548				#[doc = "and want to adjust the deposit for the active recovery."]
14549				#[doc = ""]
14550				#[doc = "This function checks both recovery configuration deposit and active recovery deposits"]
14551				#[doc = "of the caller:"]
14552				#[doc = "- If the caller has created a recovery configuration, checks and adjusts its deposit"]
14553				#[doc = "- If the caller has initiated any active recoveries, and provides the account in"]
14554				#[doc = "`maybe_account`, checks and adjusts those deposits"]
14555				#[doc = ""]
14556				#[doc = "If any deposit is updated, the difference will be reserved/unreserved from the caller's"]
14557				#[doc = "account."]
14558				#[doc = ""]
14559				#[doc = "The transaction is made free if any deposit is updated and paid otherwise."]
14560				#[doc = ""]
14561				#[doc = "Emits `DepositPoked` if any deposit is updated."]
14562				#[doc = "Multiple events may be emitted in case both types of deposits are updated."]
14563				pub fn poke_deposit(
14564					&self,
14565					maybe_account: types::poke_deposit::MaybeAccount,
14566				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::PokeDeposit> {
14567					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
14568						"Recovery",
14569						"poke_deposit",
14570						types::PokeDeposit { maybe_account },
14571						[
14572							177u8, 98u8, 53u8, 15u8, 228u8, 36u8, 173u8, 55u8, 125u8, 3u8, 234u8,
14573							70u8, 147u8, 147u8, 124u8, 86u8, 31u8, 101u8, 171u8, 56u8, 148u8,
14574							180u8, 87u8, 149u8, 11u8, 113u8, 195u8, 35u8, 56u8, 32u8, 251u8, 56u8,
14575						],
14576					)
14577				}
14578			}
14579		}
14580		#[doc = "Events type."]
14581		pub type Event = runtime_types::pallet_recovery::pallet::Event;
14582		pub mod events {
14583			use super::runtime_types;
14584			#[derive(
14585				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14586				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14587				Debug,
14588			)]
14589			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14590			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14591			#[doc = "A recovery process has been set up for an account."]
14592			pub struct RecoveryCreated {
14593				pub account: recovery_created::Account,
14594			}
14595			pub mod recovery_created {
14596				use super::runtime_types;
14597				pub type Account = ::subxt::ext::subxt_core::utils::AccountId32;
14598			}
14599			impl ::subxt::ext::subxt_core::events::StaticEvent for RecoveryCreated {
14600				const PALLET: &'static str = "Recovery";
14601				const EVENT: &'static str = "RecoveryCreated";
14602			}
14603			#[derive(
14604				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14605				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14606				Debug,
14607			)]
14608			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14609			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14610			#[doc = "A recovery process has been initiated for lost account by rescuer account."]
14611			pub struct RecoveryInitiated {
14612				pub lost_account: recovery_initiated::LostAccount,
14613				pub rescuer_account: recovery_initiated::RescuerAccount,
14614			}
14615			pub mod recovery_initiated {
14616				use super::runtime_types;
14617				pub type LostAccount = ::subxt::ext::subxt_core::utils::AccountId32;
14618				pub type RescuerAccount = ::subxt::ext::subxt_core::utils::AccountId32;
14619			}
14620			impl ::subxt::ext::subxt_core::events::StaticEvent for RecoveryInitiated {
14621				const PALLET: &'static str = "Recovery";
14622				const EVENT: &'static str = "RecoveryInitiated";
14623			}
14624			#[derive(
14625				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14626				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14627				Debug,
14628			)]
14629			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14630			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14631			#[doc = "A recovery process for lost account by rescuer account has been vouched for by sender."]
14632			pub struct RecoveryVouched {
14633				pub lost_account: recovery_vouched::LostAccount,
14634				pub rescuer_account: recovery_vouched::RescuerAccount,
14635				pub sender: recovery_vouched::Sender,
14636			}
14637			pub mod recovery_vouched {
14638				use super::runtime_types;
14639				pub type LostAccount = ::subxt::ext::subxt_core::utils::AccountId32;
14640				pub type RescuerAccount = ::subxt::ext::subxt_core::utils::AccountId32;
14641				pub type Sender = ::subxt::ext::subxt_core::utils::AccountId32;
14642			}
14643			impl ::subxt::ext::subxt_core::events::StaticEvent for RecoveryVouched {
14644				const PALLET: &'static str = "Recovery";
14645				const EVENT: &'static str = "RecoveryVouched";
14646			}
14647			#[derive(
14648				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14649				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14650				Debug,
14651			)]
14652			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14653			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14654			#[doc = "A recovery process for lost account by rescuer account has been closed."]
14655			pub struct RecoveryClosed {
14656				pub lost_account: recovery_closed::LostAccount,
14657				pub rescuer_account: recovery_closed::RescuerAccount,
14658			}
14659			pub mod recovery_closed {
14660				use super::runtime_types;
14661				pub type LostAccount = ::subxt::ext::subxt_core::utils::AccountId32;
14662				pub type RescuerAccount = ::subxt::ext::subxt_core::utils::AccountId32;
14663			}
14664			impl ::subxt::ext::subxt_core::events::StaticEvent for RecoveryClosed {
14665				const PALLET: &'static str = "Recovery";
14666				const EVENT: &'static str = "RecoveryClosed";
14667			}
14668			#[derive(
14669				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14670				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14671				Debug,
14672			)]
14673			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14674			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14675			#[doc = "Lost account has been successfully recovered by rescuer account."]
14676			pub struct AccountRecovered {
14677				pub lost_account: account_recovered::LostAccount,
14678				pub rescuer_account: account_recovered::RescuerAccount,
14679			}
14680			pub mod account_recovered {
14681				use super::runtime_types;
14682				pub type LostAccount = ::subxt::ext::subxt_core::utils::AccountId32;
14683				pub type RescuerAccount = ::subxt::ext::subxt_core::utils::AccountId32;
14684			}
14685			impl ::subxt::ext::subxt_core::events::StaticEvent for AccountRecovered {
14686				const PALLET: &'static str = "Recovery";
14687				const EVENT: &'static str = "AccountRecovered";
14688			}
14689			#[derive(
14690				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14691				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14692				Debug,
14693			)]
14694			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14695			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14696			#[doc = "A recovery process has been removed for an account."]
14697			pub struct RecoveryRemoved {
14698				pub lost_account: recovery_removed::LostAccount,
14699			}
14700			pub mod recovery_removed {
14701				use super::runtime_types;
14702				pub type LostAccount = ::subxt::ext::subxt_core::utils::AccountId32;
14703			}
14704			impl ::subxt::ext::subxt_core::events::StaticEvent for RecoveryRemoved {
14705				const PALLET: &'static str = "Recovery";
14706				const EVENT: &'static str = "RecoveryRemoved";
14707			}
14708			#[derive(
14709				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
14710				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
14711				Debug,
14712			)]
14713			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
14714			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
14715			#[doc = "A deposit has been updated."]
14716			pub struct DepositPoked {
14717				pub who: deposit_poked::Who,
14718				pub kind: deposit_poked::Kind,
14719				pub old_deposit: deposit_poked::OldDeposit,
14720				pub new_deposit: deposit_poked::NewDeposit,
14721			}
14722			pub mod deposit_poked {
14723				use super::runtime_types;
14724				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
14725				pub type Kind = runtime_types::pallet_recovery::DepositKind<
14726					runtime_types::quantus_runtime::Runtime,
14727				>;
14728				pub type OldDeposit = ::core::primitive::u128;
14729				pub type NewDeposit = ::core::primitive::u128;
14730			}
14731			impl ::subxt::ext::subxt_core::events::StaticEvent for DepositPoked {
14732				const PALLET: &'static str = "Recovery";
14733				const EVENT: &'static str = "DepositPoked";
14734			}
14735		}
14736		pub mod storage {
14737			use super::runtime_types;
14738			pub mod types {
14739				use super::runtime_types;
14740				pub mod recoverable {
14741					use super::runtime_types;
14742					pub type Recoverable = runtime_types::pallet_recovery::RecoveryConfig<
14743						::core::primitive::u32,
14744						::core::primitive::u128,
14745						runtime_types::bounded_collections::bounded_vec::BoundedVec<
14746							::subxt::ext::subxt_core::utils::AccountId32,
14747						>,
14748					>;
14749					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
14750				}
14751				pub mod active_recoveries {
14752					use super::runtime_types;
14753					pub type ActiveRecoveries = runtime_types::pallet_recovery::ActiveRecovery<
14754						::core::primitive::u32,
14755						::core::primitive::u128,
14756						runtime_types::bounded_collections::bounded_vec::BoundedVec<
14757							::subxt::ext::subxt_core::utils::AccountId32,
14758						>,
14759					>;
14760					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
14761					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
14762				}
14763				pub mod proxy {
14764					use super::runtime_types;
14765					pub type Proxy = ::subxt::ext::subxt_core::utils::AccountId32;
14766					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
14767				}
14768			}
14769			pub struct StorageApi;
14770			impl StorageApi {
14771				#[doc = " The set of recoverable accounts and their recovery configuration."]
14772				pub fn recoverable_iter(
14773					&self,
14774				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14775					(),
14776					types::recoverable::Recoverable,
14777					(),
14778					(),
14779					::subxt::ext::subxt_core::utils::Yes,
14780				> {
14781					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14782						"Recovery",
14783						"Recoverable",
14784						(),
14785						[
14786							112u8, 7u8, 56u8, 46u8, 138u8, 197u8, 63u8, 234u8, 140u8, 123u8, 145u8,
14787							106u8, 189u8, 190u8, 247u8, 61u8, 250u8, 67u8, 107u8, 42u8, 170u8,
14788							79u8, 54u8, 168u8, 33u8, 214u8, 91u8, 227u8, 5u8, 107u8, 38u8, 26u8,
14789						],
14790					)
14791				}
14792				#[doc = " The set of recoverable accounts and their recovery configuration."]
14793				pub fn recoverable(
14794					&self,
14795					_0: types::recoverable::Param0,
14796				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14797					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
14798						types::recoverable::Param0,
14799					>,
14800					types::recoverable::Recoverable,
14801					::subxt::ext::subxt_core::utils::Yes,
14802					(),
14803					(),
14804				> {
14805					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14806						"Recovery",
14807						"Recoverable",
14808						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
14809						[
14810							112u8, 7u8, 56u8, 46u8, 138u8, 197u8, 63u8, 234u8, 140u8, 123u8, 145u8,
14811							106u8, 189u8, 190u8, 247u8, 61u8, 250u8, 67u8, 107u8, 42u8, 170u8,
14812							79u8, 54u8, 168u8, 33u8, 214u8, 91u8, 227u8, 5u8, 107u8, 38u8, 26u8,
14813						],
14814					)
14815				}
14816				#[doc = " Active recovery attempts."]
14817				#[doc = ""]
14818				#[doc = " First account is the account to be recovered, and the second account"]
14819				#[doc = " is the user trying to recover the account."]
14820				pub fn active_recoveries_iter(
14821					&self,
14822				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14823					(),
14824					types::active_recoveries::ActiveRecoveries,
14825					(),
14826					(),
14827					::subxt::ext::subxt_core::utils::Yes,
14828				> {
14829					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14830						"Recovery",
14831						"ActiveRecoveries",
14832						(),
14833						[
14834							104u8, 252u8, 28u8, 142u8, 48u8, 26u8, 91u8, 201u8, 184u8, 163u8,
14835							180u8, 197u8, 189u8, 71u8, 144u8, 88u8, 225u8, 13u8, 183u8, 84u8,
14836							244u8, 41u8, 164u8, 212u8, 153u8, 247u8, 191u8, 25u8, 162u8, 25u8,
14837							91u8, 123u8,
14838						],
14839					)
14840				}
14841				#[doc = " Active recovery attempts."]
14842				#[doc = ""]
14843				#[doc = " First account is the account to be recovered, and the second account"]
14844				#[doc = " is the user trying to recover the account."]
14845				pub fn active_recoveries_iter1(
14846					&self,
14847					_0: types::active_recoveries::Param0,
14848				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14849					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
14850						types::active_recoveries::Param0,
14851					>,
14852					types::active_recoveries::ActiveRecoveries,
14853					(),
14854					(),
14855					::subxt::ext::subxt_core::utils::Yes,
14856				> {
14857					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14858						"Recovery",
14859						"ActiveRecoveries",
14860						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
14861						[
14862							104u8, 252u8, 28u8, 142u8, 48u8, 26u8, 91u8, 201u8, 184u8, 163u8,
14863							180u8, 197u8, 189u8, 71u8, 144u8, 88u8, 225u8, 13u8, 183u8, 84u8,
14864							244u8, 41u8, 164u8, 212u8, 153u8, 247u8, 191u8, 25u8, 162u8, 25u8,
14865							91u8, 123u8,
14866						],
14867					)
14868				}
14869				#[doc = " Active recovery attempts."]
14870				#[doc = ""]
14871				#[doc = " First account is the account to be recovered, and the second account"]
14872				#[doc = " is the user trying to recover the account."]
14873				pub fn active_recoveries(
14874					&self,
14875					_0: types::active_recoveries::Param0,
14876					_1: types::active_recoveries::Param1,
14877				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14878					(
14879						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
14880							types::active_recoveries::Param0,
14881						>,
14882						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
14883							types::active_recoveries::Param1,
14884						>,
14885					),
14886					types::active_recoveries::ActiveRecoveries,
14887					::subxt::ext::subxt_core::utils::Yes,
14888					(),
14889					(),
14890				> {
14891					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14892						"Recovery",
14893						"ActiveRecoveries",
14894						(
14895							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
14896							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
14897						),
14898						[
14899							104u8, 252u8, 28u8, 142u8, 48u8, 26u8, 91u8, 201u8, 184u8, 163u8,
14900							180u8, 197u8, 189u8, 71u8, 144u8, 88u8, 225u8, 13u8, 183u8, 84u8,
14901							244u8, 41u8, 164u8, 212u8, 153u8, 247u8, 191u8, 25u8, 162u8, 25u8,
14902							91u8, 123u8,
14903						],
14904					)
14905				}
14906				#[doc = " The list of allowed proxy accounts."]
14907				#[doc = ""]
14908				#[doc = " Map from the user who can access it to the recovered account."]
14909				pub fn proxy_iter(
14910					&self,
14911				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14912					(),
14913					types::proxy::Proxy,
14914					(),
14915					(),
14916					::subxt::ext::subxt_core::utils::Yes,
14917				> {
14918					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14919						"Recovery",
14920						"Proxy",
14921						(),
14922						[
14923							161u8, 242u8, 17u8, 183u8, 161u8, 47u8, 87u8, 110u8, 201u8, 177u8,
14924							199u8, 157u8, 30u8, 131u8, 49u8, 89u8, 182u8, 86u8, 152u8, 19u8, 199u8,
14925							33u8, 12u8, 138u8, 51u8, 215u8, 130u8, 5u8, 251u8, 115u8, 69u8, 159u8,
14926						],
14927					)
14928				}
14929				#[doc = " The list of allowed proxy accounts."]
14930				#[doc = ""]
14931				#[doc = " Map from the user who can access it to the recovered account."]
14932				pub fn proxy(
14933					&self,
14934					_0: types::proxy::Param0,
14935				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
14936					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
14937						types::proxy::Param0,
14938					>,
14939					types::proxy::Proxy,
14940					::subxt::ext::subxt_core::utils::Yes,
14941					(),
14942					(),
14943				> {
14944					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
14945						"Recovery",
14946						"Proxy",
14947						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
14948						[
14949							161u8, 242u8, 17u8, 183u8, 161u8, 47u8, 87u8, 110u8, 201u8, 177u8,
14950							199u8, 157u8, 30u8, 131u8, 49u8, 89u8, 182u8, 86u8, 152u8, 19u8, 199u8,
14951							33u8, 12u8, 138u8, 51u8, 215u8, 130u8, 5u8, 251u8, 115u8, 69u8, 159u8,
14952						],
14953					)
14954				}
14955			}
14956		}
14957		pub mod constants {
14958			use super::runtime_types;
14959			pub struct ConstantsApi;
14960			impl ConstantsApi {
14961				#[doc = " The base amount of currency needed to reserve for creating a recovery configuration."]
14962				#[doc = ""]
14963				#[doc = " This is held for an additional storage item whose value size is"]
14964				#[doc = " `2 + sizeof(BlockNumber, Balance)` bytes."]
14965				pub fn config_deposit_base(
14966					&self,
14967				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
14968					::core::primitive::u128,
14969				> {
14970					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
14971						"Recovery",
14972						"ConfigDepositBase",
14973						[
14974							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
14975							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
14976							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
14977						],
14978					)
14979				}
14980				#[doc = " The amount of currency needed per additional user when creating a recovery"]
14981				#[doc = " configuration."]
14982				#[doc = ""]
14983				#[doc = " This is held for adding `sizeof(AccountId)` bytes more into a pre-existing storage"]
14984				#[doc = " value."]
14985				pub fn friend_deposit_factor(
14986					&self,
14987				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
14988					::core::primitive::u128,
14989				> {
14990					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
14991						"Recovery",
14992						"FriendDepositFactor",
14993						[
14994							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
14995							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
14996							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
14997						],
14998					)
14999				}
15000				#[doc = " The maximum amount of friends allowed in a recovery configuration."]
15001				#[doc = ""]
15002				#[doc = " NOTE: The threshold programmed in this Pallet uses u16, so it does"]
15003				#[doc = " not really make sense to have a limit here greater than u16::MAX."]
15004				#[doc = " But also, that is a lot more than you should probably set this value"]
15005				#[doc = " to anyway..."]
15006				pub fn max_friends(
15007					&self,
15008				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
15009					::core::primitive::u32,
15010				> {
15011					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
15012						"Recovery",
15013						"MaxFriends",
15014						[
15015							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
15016							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
15017							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
15018							145u8,
15019						],
15020					)
15021				}
15022				#[doc = " The base amount of currency needed to reserve for starting a recovery."]
15023				#[doc = ""]
15024				#[doc = " This is primarily held for deterring malicious recovery attempts, and should"]
15025				#[doc = " have a value large enough that a bad actor would choose not to place this"]
15026				#[doc = " deposit. It also acts to fund additional storage item whose value size is"]
15027				#[doc = " `sizeof(BlockNumber, Balance + T * AccountId)` bytes. Where T is a configurable"]
15028				#[doc = " threshold."]
15029				pub fn recovery_deposit(
15030					&self,
15031				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
15032					::core::primitive::u128,
15033				> {
15034					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
15035						"Recovery",
15036						"RecoveryDeposit",
15037						[
15038							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
15039							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
15040							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
15041						],
15042					)
15043				}
15044			}
15045		}
15046	}
15047	pub mod assets {
15048		use super::{root_mod, runtime_types};
15049		#[doc = "The `Error` enum of this pallet."]
15050		pub type Error = runtime_types::pallet_assets::pallet::Error;
15051		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
15052		pub type Call = runtime_types::pallet_assets::pallet::Call;
15053		pub mod calls {
15054			use super::{root_mod, runtime_types};
15055			type DispatchError = runtime_types::sp_runtime::DispatchError;
15056			pub mod types {
15057				use super::runtime_types;
15058				#[derive(
15059					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15060					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15061					Debug,
15062				)]
15063				#[decode_as_type(
15064					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15065				)]
15066				#[encode_as_type(
15067					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15068				)]
15069				#[doc = "Issue a new class of fungible assets from a public origin."]
15070				#[doc = ""]
15071				#[doc = "This new asset class has no assets initially and its owner is the origin."]
15072				#[doc = ""]
15073				#[doc = "The origin must conform to the configured `CreateOrigin` and have sufficient funds free."]
15074				#[doc = ""]
15075				#[doc = "Funds of sender are reserved by `AssetDeposit`."]
15076				#[doc = ""]
15077				#[doc = "Parameters:"]
15078				#[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"]
15079				#[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."]
15080				#[doc = "- `admin`: The admin of this class of assets. The admin is the initial address of each"]
15081				#[doc = "member of the asset class's admin team."]
15082				#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
15083				#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
15084				#[doc = ""]
15085				#[doc = "Emits `Created` event when successful."]
15086				#[doc = ""]
15087				#[doc = "Weight: `O(1)`"]
15088				pub struct Create {
15089					#[codec(compact)]
15090					pub id: create::Id,
15091					pub admin: create::Admin,
15092					pub min_balance: create::MinBalance,
15093				}
15094				pub mod create {
15095					use super::runtime_types;
15096					pub type Id = ::core::primitive::u32;
15097					pub type Admin = ::subxt::ext::subxt_core::utils::MultiAddress<
15098						::subxt::ext::subxt_core::utils::AccountId32,
15099						(),
15100					>;
15101					pub type MinBalance = ::core::primitive::u128;
15102				}
15103				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Create {
15104					const PALLET: &'static str = "Assets";
15105					const CALL: &'static str = "create";
15106				}
15107				#[derive(
15108					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15109					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15110					Debug,
15111				)]
15112				#[decode_as_type(
15113					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15114				)]
15115				#[encode_as_type(
15116					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15117				)]
15118				#[doc = "Issue a new class of fungible assets from a privileged origin."]
15119				#[doc = ""]
15120				#[doc = "This new asset class has no assets initially."]
15121				#[doc = ""]
15122				#[doc = "The origin must conform to `ForceOrigin`."]
15123				#[doc = ""]
15124				#[doc = "Unlike `create`, no funds are reserved."]
15125				#[doc = ""]
15126				#[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"]
15127				#[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."]
15128				#[doc = "- `owner`: The owner of this class of assets. The owner has full superuser permissions"]
15129				#[doc = "over this asset, but may later change and configure the permissions using"]
15130				#[doc = "`transfer_ownership` and `set_team`."]
15131				#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
15132				#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
15133				#[doc = ""]
15134				#[doc = "Emits `ForceCreated` event when successful."]
15135				#[doc = ""]
15136				#[doc = "Weight: `O(1)`"]
15137				pub struct ForceCreate {
15138					#[codec(compact)]
15139					pub id: force_create::Id,
15140					pub owner: force_create::Owner,
15141					pub is_sufficient: force_create::IsSufficient,
15142					#[codec(compact)]
15143					pub min_balance: force_create::MinBalance,
15144				}
15145				pub mod force_create {
15146					use super::runtime_types;
15147					pub type Id = ::core::primitive::u32;
15148					pub type Owner = ::subxt::ext::subxt_core::utils::MultiAddress<
15149						::subxt::ext::subxt_core::utils::AccountId32,
15150						(),
15151					>;
15152					pub type IsSufficient = ::core::primitive::bool;
15153					pub type MinBalance = ::core::primitive::u128;
15154				}
15155				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceCreate {
15156					const PALLET: &'static str = "Assets";
15157					const CALL: &'static str = "force_create";
15158				}
15159				#[derive(
15160					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15161					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15162					Debug,
15163				)]
15164				#[decode_as_type(
15165					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15166				)]
15167				#[encode_as_type(
15168					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15169				)]
15170				#[doc = "Start the process of destroying a fungible asset class."]
15171				#[doc = ""]
15172				#[doc = "`start_destroy` is the first in a series of extrinsics that should be called, to allow"]
15173				#[doc = "destruction of an asset class."]
15174				#[doc = ""]
15175				#[doc = "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`."]
15176				#[doc = ""]
15177				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
15178				#[doc = "  asset."]
15179				#[doc = ""]
15180				#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
15181				#[doc = "an account contains holds or freezes in place."]
15182				pub struct StartDestroy {
15183					#[codec(compact)]
15184					pub id: start_destroy::Id,
15185				}
15186				pub mod start_destroy {
15187					use super::runtime_types;
15188					pub type Id = ::core::primitive::u32;
15189				}
15190				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for StartDestroy {
15191					const PALLET: &'static str = "Assets";
15192					const CALL: &'static str = "start_destroy";
15193				}
15194				#[derive(
15195					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15196					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15197					Debug,
15198				)]
15199				#[decode_as_type(
15200					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15201				)]
15202				#[encode_as_type(
15203					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15204				)]
15205				#[doc = "Destroy all accounts associated with a given asset."]
15206				#[doc = ""]
15207				#[doc = "`destroy_accounts` should only be called after `start_destroy` has been called, and the"]
15208				#[doc = "asset is in a `Destroying` state."]
15209				#[doc = ""]
15210				#[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"]
15211				#[doc = "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time."]
15212				#[doc = ""]
15213				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
15214				#[doc = "  asset."]
15215				#[doc = ""]
15216				#[doc = "Each call emits the `Event::DestroyedAccounts` event."]
15217				pub struct DestroyAccounts {
15218					#[codec(compact)]
15219					pub id: destroy_accounts::Id,
15220				}
15221				pub mod destroy_accounts {
15222					use super::runtime_types;
15223					pub type Id = ::core::primitive::u32;
15224				}
15225				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for DestroyAccounts {
15226					const PALLET: &'static str = "Assets";
15227					const CALL: &'static str = "destroy_accounts";
15228				}
15229				#[derive(
15230					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15231					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15232					Debug,
15233				)]
15234				#[decode_as_type(
15235					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15236				)]
15237				#[encode_as_type(
15238					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15239				)]
15240				#[doc = "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit)."]
15241				#[doc = ""]
15242				#[doc = "`destroy_approvals` should only be called after `start_destroy` has been called, and the"]
15243				#[doc = "asset is in a `Destroying` state."]
15244				#[doc = ""]
15245				#[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"]
15246				#[doc = "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time."]
15247				#[doc = ""]
15248				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
15249				#[doc = "  asset."]
15250				#[doc = ""]
15251				#[doc = "Each call emits the `Event::DestroyedApprovals` event."]
15252				pub struct DestroyApprovals {
15253					#[codec(compact)]
15254					pub id: destroy_approvals::Id,
15255				}
15256				pub mod destroy_approvals {
15257					use super::runtime_types;
15258					pub type Id = ::core::primitive::u32;
15259				}
15260				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for DestroyApprovals {
15261					const PALLET: &'static str = "Assets";
15262					const CALL: &'static str = "destroy_approvals";
15263				}
15264				#[derive(
15265					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15266					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15267					Debug,
15268				)]
15269				#[decode_as_type(
15270					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15271				)]
15272				#[encode_as_type(
15273					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15274				)]
15275				#[doc = "Complete destroying asset and unreserve currency."]
15276				#[doc = ""]
15277				#[doc = "`finish_destroy` should only be called after `start_destroy` has been called, and the"]
15278				#[doc = "asset is in a `Destroying` state. All accounts or approvals should be destroyed before"]
15279				#[doc = "hand."]
15280				#[doc = ""]
15281				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
15282				#[doc = "  asset."]
15283				#[doc = ""]
15284				#[doc = "Each successful call emits the `Event::Destroyed` event."]
15285				pub struct FinishDestroy {
15286					#[codec(compact)]
15287					pub id: finish_destroy::Id,
15288				}
15289				pub mod finish_destroy {
15290					use super::runtime_types;
15291					pub type Id = ::core::primitive::u32;
15292				}
15293				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for FinishDestroy {
15294					const PALLET: &'static str = "Assets";
15295					const CALL: &'static str = "finish_destroy";
15296				}
15297				#[derive(
15298					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15299					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15300					Debug,
15301				)]
15302				#[decode_as_type(
15303					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15304				)]
15305				#[encode_as_type(
15306					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15307				)]
15308				#[doc = "Mint assets of a particular class."]
15309				#[doc = ""]
15310				#[doc = "The origin must be Signed and the sender must be the Issuer of the asset `id`."]
15311				#[doc = ""]
15312				#[doc = "- `id`: The identifier of the asset to have some amount minted."]
15313				#[doc = "- `beneficiary`: The account to be credited with the minted assets."]
15314				#[doc = "- `amount`: The amount of the asset to be minted."]
15315				#[doc = ""]
15316				#[doc = "Emits `Issued` event when successful."]
15317				#[doc = ""]
15318				#[doc = "Weight: `O(1)`"]
15319				#[doc = "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`."]
15320				pub struct Mint {
15321					#[codec(compact)]
15322					pub id: mint::Id,
15323					pub beneficiary: mint::Beneficiary,
15324					#[codec(compact)]
15325					pub amount: mint::Amount,
15326				}
15327				pub mod mint {
15328					use super::runtime_types;
15329					pub type Id = ::core::primitive::u32;
15330					pub type Beneficiary = ::subxt::ext::subxt_core::utils::MultiAddress<
15331						::subxt::ext::subxt_core::utils::AccountId32,
15332						(),
15333					>;
15334					pub type Amount = ::core::primitive::u128;
15335				}
15336				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Mint {
15337					const PALLET: &'static str = "Assets";
15338					const CALL: &'static str = "mint";
15339				}
15340				#[derive(
15341					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15342					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15343					Debug,
15344				)]
15345				#[decode_as_type(
15346					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15347				)]
15348				#[encode_as_type(
15349					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15350				)]
15351				#[doc = "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`."]
15352				#[doc = ""]
15353				#[doc = "Origin must be Signed and the sender should be the Manager of the asset `id`."]
15354				#[doc = ""]
15355				#[doc = "Bails with `NoAccount` if the `who` is already dead."]
15356				#[doc = ""]
15357				#[doc = "- `id`: The identifier of the asset to have some amount burned."]
15358				#[doc = "- `who`: The account to be debited from."]
15359				#[doc = "- `amount`: The maximum amount by which `who`'s balance should be reduced."]
15360				#[doc = ""]
15361				#[doc = "Emits `Burned` with the actual amount burned. If this takes the balance to below the"]
15362				#[doc = "minimum for the asset, then the amount burned is increased to take it to zero."]
15363				#[doc = ""]
15364				#[doc = "Weight: `O(1)`"]
15365				#[doc = "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`."]
15366				pub struct Burn {
15367					#[codec(compact)]
15368					pub id: burn::Id,
15369					pub who: burn::Who,
15370					#[codec(compact)]
15371					pub amount: burn::Amount,
15372				}
15373				pub mod burn {
15374					use super::runtime_types;
15375					pub type Id = ::core::primitive::u32;
15376					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
15377						::subxt::ext::subxt_core::utils::AccountId32,
15378						(),
15379					>;
15380					pub type Amount = ::core::primitive::u128;
15381				}
15382				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Burn {
15383					const PALLET: &'static str = "Assets";
15384					const CALL: &'static str = "burn";
15385				}
15386				#[derive(
15387					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15388					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15389					Debug,
15390				)]
15391				#[decode_as_type(
15392					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15393				)]
15394				#[encode_as_type(
15395					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15396				)]
15397				#[doc = "Move some assets from the sender account to another."]
15398				#[doc = ""]
15399				#[doc = "Origin must be Signed."]
15400				#[doc = ""]
15401				#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
15402				#[doc = "- `target`: The account to be credited."]
15403				#[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"]
15404				#[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"]
15405				#[doc = "the case that the transfer would otherwise take the sender balance above zero but below"]
15406				#[doc = "the minimum balance. Must be greater than zero."]
15407				#[doc = ""]
15408				#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
15409				#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
15410				#[doc = "to zero."]
15411				#[doc = ""]
15412				#[doc = "Weight: `O(1)`"]
15413				#[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"]
15414				#[doc = "`target`."]
15415				pub struct Transfer {
15416					#[codec(compact)]
15417					pub id: transfer::Id,
15418					pub target: transfer::Target,
15419					#[codec(compact)]
15420					pub amount: transfer::Amount,
15421				}
15422				pub mod transfer {
15423					use super::runtime_types;
15424					pub type Id = ::core::primitive::u32;
15425					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
15426						::subxt::ext::subxt_core::utils::AccountId32,
15427						(),
15428					>;
15429					pub type Amount = ::core::primitive::u128;
15430				}
15431				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Transfer {
15432					const PALLET: &'static str = "Assets";
15433					const CALL: &'static str = "transfer";
15434				}
15435				#[derive(
15436					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15437					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15438					Debug,
15439				)]
15440				#[decode_as_type(
15441					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15442				)]
15443				#[encode_as_type(
15444					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15445				)]
15446				#[doc = "Move some assets from the sender account to another, keeping the sender account alive."]
15447				#[doc = ""]
15448				#[doc = "Origin must be Signed."]
15449				#[doc = ""]
15450				#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
15451				#[doc = "- `target`: The account to be credited."]
15452				#[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"]
15453				#[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"]
15454				#[doc = "the case that the transfer would otherwise take the sender balance above zero but below"]
15455				#[doc = "the minimum balance. Must be greater than zero."]
15456				#[doc = ""]
15457				#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
15458				#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
15459				#[doc = "to zero."]
15460				#[doc = ""]
15461				#[doc = "Weight: `O(1)`"]
15462				#[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"]
15463				#[doc = "`target`."]
15464				pub struct TransferKeepAlive {
15465					#[codec(compact)]
15466					pub id: transfer_keep_alive::Id,
15467					pub target: transfer_keep_alive::Target,
15468					#[codec(compact)]
15469					pub amount: transfer_keep_alive::Amount,
15470				}
15471				pub mod transfer_keep_alive {
15472					use super::runtime_types;
15473					pub type Id = ::core::primitive::u32;
15474					pub type Target = ::subxt::ext::subxt_core::utils::MultiAddress<
15475						::subxt::ext::subxt_core::utils::AccountId32,
15476						(),
15477					>;
15478					pub type Amount = ::core::primitive::u128;
15479				}
15480				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferKeepAlive {
15481					const PALLET: &'static str = "Assets";
15482					const CALL: &'static str = "transfer_keep_alive";
15483				}
15484				#[derive(
15485					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15486					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15487					Debug,
15488				)]
15489				#[decode_as_type(
15490					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15491				)]
15492				#[encode_as_type(
15493					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15494				)]
15495				#[doc = "Move some assets from one account to another."]
15496				#[doc = ""]
15497				#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
15498				#[doc = ""]
15499				#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
15500				#[doc = "- `source`: The account to be debited."]
15501				#[doc = "- `dest`: The account to be credited."]
15502				#[doc = "- `amount`: The amount by which the `source`'s balance of assets should be reduced and"]
15503				#[doc = "`dest`'s balance increased. The amount actually transferred may be slightly greater in"]
15504				#[doc = "the case that the transfer would otherwise take the `source` balance above zero but"]
15505				#[doc = "below the minimum balance. Must be greater than zero."]
15506				#[doc = ""]
15507				#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
15508				#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
15509				#[doc = "to zero."]
15510				#[doc = ""]
15511				#[doc = "Weight: `O(1)`"]
15512				#[doc = "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of"]
15513				#[doc = "`dest`."]
15514				pub struct ForceTransfer {
15515					#[codec(compact)]
15516					pub id: force_transfer::Id,
15517					pub source: force_transfer::Source,
15518					pub dest: force_transfer::Dest,
15519					#[codec(compact)]
15520					pub amount: force_transfer::Amount,
15521				}
15522				pub mod force_transfer {
15523					use super::runtime_types;
15524					pub type Id = ::core::primitive::u32;
15525					pub type Source = ::subxt::ext::subxt_core::utils::MultiAddress<
15526						::subxt::ext::subxt_core::utils::AccountId32,
15527						(),
15528					>;
15529					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
15530						::subxt::ext::subxt_core::utils::AccountId32,
15531						(),
15532					>;
15533					pub type Amount = ::core::primitive::u128;
15534				}
15535				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceTransfer {
15536					const PALLET: &'static str = "Assets";
15537					const CALL: &'static str = "force_transfer";
15538				}
15539				#[derive(
15540					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15541					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15542					Debug,
15543				)]
15544				#[decode_as_type(
15545					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15546				)]
15547				#[encode_as_type(
15548					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15549				)]
15550				#[doc = "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`"]
15551				#[doc = "must already exist as an entry in `Account`s of the asset. If you want to freeze an"]
15552				#[doc = "account that does not have an entry, use `touch_other` first."]
15553				#[doc = ""]
15554				#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
15555				#[doc = ""]
15556				#[doc = "- `id`: The identifier of the asset to be frozen."]
15557				#[doc = "- `who`: The account to be frozen."]
15558				#[doc = ""]
15559				#[doc = "Emits `Frozen`."]
15560				#[doc = ""]
15561				#[doc = "Weight: `O(1)`"]
15562				pub struct Freeze {
15563					#[codec(compact)]
15564					pub id: freeze::Id,
15565					pub who: freeze::Who,
15566				}
15567				pub mod freeze {
15568					use super::runtime_types;
15569					pub type Id = ::core::primitive::u32;
15570					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
15571						::subxt::ext::subxt_core::utils::AccountId32,
15572						(),
15573					>;
15574				}
15575				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Freeze {
15576					const PALLET: &'static str = "Assets";
15577					const CALL: &'static str = "freeze";
15578				}
15579				#[derive(
15580					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15581					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15582					Debug,
15583				)]
15584				#[decode_as_type(
15585					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15586				)]
15587				#[encode_as_type(
15588					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15589				)]
15590				#[doc = "Allow unprivileged transfers to and from an account again."]
15591				#[doc = ""]
15592				#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
15593				#[doc = ""]
15594				#[doc = "- `id`: The identifier of the asset to be frozen."]
15595				#[doc = "- `who`: The account to be unfrozen."]
15596				#[doc = ""]
15597				#[doc = "Emits `Thawed`."]
15598				#[doc = ""]
15599				#[doc = "Weight: `O(1)`"]
15600				pub struct Thaw {
15601					#[codec(compact)]
15602					pub id: thaw::Id,
15603					pub who: thaw::Who,
15604				}
15605				pub mod thaw {
15606					use super::runtime_types;
15607					pub type Id = ::core::primitive::u32;
15608					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
15609						::subxt::ext::subxt_core::utils::AccountId32,
15610						(),
15611					>;
15612				}
15613				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Thaw {
15614					const PALLET: &'static str = "Assets";
15615					const CALL: &'static str = "thaw";
15616				}
15617				#[derive(
15618					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15619					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15620					Debug,
15621				)]
15622				#[decode_as_type(
15623					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15624				)]
15625				#[encode_as_type(
15626					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15627				)]
15628				#[doc = "Disallow further unprivileged transfers for the asset class."]
15629				#[doc = ""]
15630				#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
15631				#[doc = ""]
15632				#[doc = "- `id`: The identifier of the asset to be frozen."]
15633				#[doc = ""]
15634				#[doc = "Emits `Frozen`."]
15635				#[doc = ""]
15636				#[doc = "Weight: `O(1)`"]
15637				pub struct FreezeAsset {
15638					#[codec(compact)]
15639					pub id: freeze_asset::Id,
15640				}
15641				pub mod freeze_asset {
15642					use super::runtime_types;
15643					pub type Id = ::core::primitive::u32;
15644				}
15645				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for FreezeAsset {
15646					const PALLET: &'static str = "Assets";
15647					const CALL: &'static str = "freeze_asset";
15648				}
15649				#[derive(
15650					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15651					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15652					Debug,
15653				)]
15654				#[decode_as_type(
15655					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15656				)]
15657				#[encode_as_type(
15658					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15659				)]
15660				#[doc = "Allow unprivileged transfers for the asset again."]
15661				#[doc = ""]
15662				#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
15663				#[doc = ""]
15664				#[doc = "- `id`: The identifier of the asset to be thawed."]
15665				#[doc = ""]
15666				#[doc = "Emits `Thawed`."]
15667				#[doc = ""]
15668				#[doc = "Weight: `O(1)`"]
15669				pub struct ThawAsset {
15670					#[codec(compact)]
15671					pub id: thaw_asset::Id,
15672				}
15673				pub mod thaw_asset {
15674					use super::runtime_types;
15675					pub type Id = ::core::primitive::u32;
15676				}
15677				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ThawAsset {
15678					const PALLET: &'static str = "Assets";
15679					const CALL: &'static str = "thaw_asset";
15680				}
15681				#[derive(
15682					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15683					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15684					Debug,
15685				)]
15686				#[decode_as_type(
15687					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15688				)]
15689				#[encode_as_type(
15690					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15691				)]
15692				#[doc = "Change the Owner of an asset."]
15693				#[doc = ""]
15694				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
15695				#[doc = ""]
15696				#[doc = "- `id`: The identifier of the asset."]
15697				#[doc = "- `owner`: The new Owner of this asset."]
15698				#[doc = ""]
15699				#[doc = "Emits `OwnerChanged`."]
15700				#[doc = ""]
15701				#[doc = "Weight: `O(1)`"]
15702				pub struct TransferOwnership {
15703					#[codec(compact)]
15704					pub id: transfer_ownership::Id,
15705					pub owner: transfer_ownership::Owner,
15706				}
15707				pub mod transfer_ownership {
15708					use super::runtime_types;
15709					pub type Id = ::core::primitive::u32;
15710					pub type Owner = ::subxt::ext::subxt_core::utils::MultiAddress<
15711						::subxt::ext::subxt_core::utils::AccountId32,
15712						(),
15713					>;
15714				}
15715				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferOwnership {
15716					const PALLET: &'static str = "Assets";
15717					const CALL: &'static str = "transfer_ownership";
15718				}
15719				#[derive(
15720					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15721					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15722					Debug,
15723				)]
15724				#[decode_as_type(
15725					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15726				)]
15727				#[encode_as_type(
15728					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15729				)]
15730				#[doc = "Change the Issuer, Admin and Freezer of an asset."]
15731				#[doc = ""]
15732				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
15733				#[doc = ""]
15734				#[doc = "- `id`: The identifier of the asset to be frozen."]
15735				#[doc = "- `issuer`: The new Issuer of this asset."]
15736				#[doc = "- `admin`: The new Admin of this asset."]
15737				#[doc = "- `freezer`: The new Freezer of this asset."]
15738				#[doc = ""]
15739				#[doc = "Emits `TeamChanged`."]
15740				#[doc = ""]
15741				#[doc = "Weight: `O(1)`"]
15742				pub struct SetTeam {
15743					#[codec(compact)]
15744					pub id: set_team::Id,
15745					pub issuer: set_team::Issuer,
15746					pub admin: set_team::Admin,
15747					pub freezer: set_team::Freezer,
15748				}
15749				pub mod set_team {
15750					use super::runtime_types;
15751					pub type Id = ::core::primitive::u32;
15752					pub type Issuer = ::subxt::ext::subxt_core::utils::MultiAddress<
15753						::subxt::ext::subxt_core::utils::AccountId32,
15754						(),
15755					>;
15756					pub type Admin = ::subxt::ext::subxt_core::utils::MultiAddress<
15757						::subxt::ext::subxt_core::utils::AccountId32,
15758						(),
15759					>;
15760					pub type Freezer = ::subxt::ext::subxt_core::utils::MultiAddress<
15761						::subxt::ext::subxt_core::utils::AccountId32,
15762						(),
15763					>;
15764				}
15765				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetTeam {
15766					const PALLET: &'static str = "Assets";
15767					const CALL: &'static str = "set_team";
15768				}
15769				#[derive(
15770					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15771					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15772					Debug,
15773				)]
15774				#[decode_as_type(
15775					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15776				)]
15777				#[encode_as_type(
15778					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15779				)]
15780				#[doc = "Set the metadata for an asset."]
15781				#[doc = ""]
15782				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
15783				#[doc = ""]
15784				#[doc = "Funds of sender are reserved according to the formula:"]
15785				#[doc = "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into"]
15786				#[doc = "account any already reserved funds."]
15787				#[doc = ""]
15788				#[doc = "- `id`: The identifier of the asset to update."]
15789				#[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."]
15790				#[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."]
15791				#[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."]
15792				#[doc = ""]
15793				#[doc = "Emits `MetadataSet`."]
15794				#[doc = ""]
15795				#[doc = "Weight: `O(1)`"]
15796				pub struct SetMetadata {
15797					#[codec(compact)]
15798					pub id: set_metadata::Id,
15799					pub name: set_metadata::Name,
15800					pub symbol: set_metadata::Symbol,
15801					pub decimals: set_metadata::Decimals,
15802				}
15803				pub mod set_metadata {
15804					use super::runtime_types;
15805					pub type Id = ::core::primitive::u32;
15806					pub type Name =
15807						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
15808					pub type Symbol =
15809						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
15810					pub type Decimals = ::core::primitive::u8;
15811				}
15812				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetMetadata {
15813					const PALLET: &'static str = "Assets";
15814					const CALL: &'static str = "set_metadata";
15815				}
15816				#[derive(
15817					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15818					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15819					Debug,
15820				)]
15821				#[decode_as_type(
15822					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15823				)]
15824				#[encode_as_type(
15825					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15826				)]
15827				#[doc = "Clear the metadata for an asset."]
15828				#[doc = ""]
15829				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
15830				#[doc = ""]
15831				#[doc = "Any deposit is freed for the asset owner."]
15832				#[doc = ""]
15833				#[doc = "- `id`: The identifier of the asset to clear."]
15834				#[doc = ""]
15835				#[doc = "Emits `MetadataCleared`."]
15836				#[doc = ""]
15837				#[doc = "Weight: `O(1)`"]
15838				pub struct ClearMetadata {
15839					#[codec(compact)]
15840					pub id: clear_metadata::Id,
15841				}
15842				pub mod clear_metadata {
15843					use super::runtime_types;
15844					pub type Id = ::core::primitive::u32;
15845				}
15846				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ClearMetadata {
15847					const PALLET: &'static str = "Assets";
15848					const CALL: &'static str = "clear_metadata";
15849				}
15850				#[derive(
15851					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15852					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15853					Debug,
15854				)]
15855				#[decode_as_type(
15856					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15857				)]
15858				#[encode_as_type(
15859					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15860				)]
15861				#[doc = "Force the metadata for an asset to some value."]
15862				#[doc = ""]
15863				#[doc = "Origin must be ForceOrigin."]
15864				#[doc = ""]
15865				#[doc = "Any deposit is left alone."]
15866				#[doc = ""]
15867				#[doc = "- `id`: The identifier of the asset to update."]
15868				#[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."]
15869				#[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."]
15870				#[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."]
15871				#[doc = ""]
15872				#[doc = "Emits `MetadataSet`."]
15873				#[doc = ""]
15874				#[doc = "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively."]
15875				pub struct ForceSetMetadata {
15876					#[codec(compact)]
15877					pub id: force_set_metadata::Id,
15878					pub name: force_set_metadata::Name,
15879					pub symbol: force_set_metadata::Symbol,
15880					pub decimals: force_set_metadata::Decimals,
15881					pub is_frozen: force_set_metadata::IsFrozen,
15882				}
15883				pub mod force_set_metadata {
15884					use super::runtime_types;
15885					pub type Id = ::core::primitive::u32;
15886					pub type Name =
15887						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
15888					pub type Symbol =
15889						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
15890					pub type Decimals = ::core::primitive::u8;
15891					pub type IsFrozen = ::core::primitive::bool;
15892				}
15893				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceSetMetadata {
15894					const PALLET: &'static str = "Assets";
15895					const CALL: &'static str = "force_set_metadata";
15896				}
15897				#[derive(
15898					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15899					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15900					Debug,
15901				)]
15902				#[decode_as_type(
15903					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15904				)]
15905				#[encode_as_type(
15906					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15907				)]
15908				#[doc = "Clear the metadata for an asset."]
15909				#[doc = ""]
15910				#[doc = "Origin must be ForceOrigin."]
15911				#[doc = ""]
15912				#[doc = "Any deposit is returned."]
15913				#[doc = ""]
15914				#[doc = "- `id`: The identifier of the asset to clear."]
15915				#[doc = ""]
15916				#[doc = "Emits `MetadataCleared`."]
15917				#[doc = ""]
15918				#[doc = "Weight: `O(1)`"]
15919				pub struct ForceClearMetadata {
15920					#[codec(compact)]
15921					pub id: force_clear_metadata::Id,
15922				}
15923				pub mod force_clear_metadata {
15924					use super::runtime_types;
15925					pub type Id = ::core::primitive::u32;
15926				}
15927				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceClearMetadata {
15928					const PALLET: &'static str = "Assets";
15929					const CALL: &'static str = "force_clear_metadata";
15930				}
15931				#[derive(
15932					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
15933					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
15934					Debug,
15935				)]
15936				#[decode_as_type(
15937					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
15938				)]
15939				#[encode_as_type(
15940					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
15941				)]
15942				#[doc = "Alter the attributes of a given asset."]
15943				#[doc = ""]
15944				#[doc = "Origin must be `ForceOrigin`."]
15945				#[doc = ""]
15946				#[doc = "- `id`: The identifier of the asset."]
15947				#[doc = "- `owner`: The new Owner of this asset."]
15948				#[doc = "- `issuer`: The new Issuer of this asset."]
15949				#[doc = "- `admin`: The new Admin of this asset."]
15950				#[doc = "- `freezer`: The new Freezer of this asset."]
15951				#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
15952				#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
15953				#[doc = "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient"]
15954				#[doc = "value to account for the state bloat associated with its balance storage. If set to"]
15955				#[doc = "`true`, then non-zero balances may be stored without a `consumer` reference (and thus"]
15956				#[doc = "an ED in the Balances pallet or whatever else is used to control user-account state"]
15957				#[doc = "growth)."]
15958				#[doc = "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin"]
15959				#[doc = "instructions."]
15960				#[doc = ""]
15961				#[doc = "Emits `AssetStatusChanged` with the identity of the asset."]
15962				#[doc = ""]
15963				#[doc = "Weight: `O(1)`"]
15964				pub struct ForceAssetStatus {
15965					#[codec(compact)]
15966					pub id: force_asset_status::Id,
15967					pub owner: force_asset_status::Owner,
15968					pub issuer: force_asset_status::Issuer,
15969					pub admin: force_asset_status::Admin,
15970					pub freezer: force_asset_status::Freezer,
15971					#[codec(compact)]
15972					pub min_balance: force_asset_status::MinBalance,
15973					pub is_sufficient: force_asset_status::IsSufficient,
15974					pub is_frozen: force_asset_status::IsFrozen,
15975				}
15976				pub mod force_asset_status {
15977					use super::runtime_types;
15978					pub type Id = ::core::primitive::u32;
15979					pub type Owner = ::subxt::ext::subxt_core::utils::MultiAddress<
15980						::subxt::ext::subxt_core::utils::AccountId32,
15981						(),
15982					>;
15983					pub type Issuer = ::subxt::ext::subxt_core::utils::MultiAddress<
15984						::subxt::ext::subxt_core::utils::AccountId32,
15985						(),
15986					>;
15987					pub type Admin = ::subxt::ext::subxt_core::utils::MultiAddress<
15988						::subxt::ext::subxt_core::utils::AccountId32,
15989						(),
15990					>;
15991					pub type Freezer = ::subxt::ext::subxt_core::utils::MultiAddress<
15992						::subxt::ext::subxt_core::utils::AccountId32,
15993						(),
15994					>;
15995					pub type MinBalance = ::core::primitive::u128;
15996					pub type IsSufficient = ::core::primitive::bool;
15997					pub type IsFrozen = ::core::primitive::bool;
15998				}
15999				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceAssetStatus {
16000					const PALLET: &'static str = "Assets";
16001					const CALL: &'static str = "force_asset_status";
16002				}
16003				#[derive(
16004					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16005					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16006					Debug,
16007				)]
16008				#[decode_as_type(
16009					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16010				)]
16011				#[encode_as_type(
16012					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16013				)]
16014				#[doc = "Approve an amount of asset for transfer by a delegated third-party account."]
16015				#[doc = ""]
16016				#[doc = "Origin must be Signed."]
16017				#[doc = ""]
16018				#[doc = "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account"]
16019				#[doc = "for the purpose of holding the approval. If some non-zero amount of assets is already"]
16020				#[doc = "approved from signing account to `delegate`, then it is topped up or unreserved to"]
16021				#[doc = "meet the right value."]
16022				#[doc = ""]
16023				#[doc = "NOTE: The signing account does not need to own `amount` of assets at the point of"]
16024				#[doc = "making this call."]
16025				#[doc = ""]
16026				#[doc = "- `id`: The identifier of the asset."]
16027				#[doc = "- `delegate`: The account to delegate permission to transfer asset."]
16028				#[doc = "- `amount`: The amount of asset that may be transferred by `delegate`. If there is"]
16029				#[doc = "already an approval in place, then this acts additively."]
16030				#[doc = ""]
16031				#[doc = "Emits `ApprovedTransfer` on success."]
16032				#[doc = ""]
16033				#[doc = "Weight: `O(1)`"]
16034				pub struct ApproveTransfer {
16035					#[codec(compact)]
16036					pub id: approve_transfer::Id,
16037					pub delegate: approve_transfer::Delegate,
16038					#[codec(compact)]
16039					pub amount: approve_transfer::Amount,
16040				}
16041				pub mod approve_transfer {
16042					use super::runtime_types;
16043					pub type Id = ::core::primitive::u32;
16044					pub type Delegate = ::subxt::ext::subxt_core::utils::MultiAddress<
16045						::subxt::ext::subxt_core::utils::AccountId32,
16046						(),
16047					>;
16048					pub type Amount = ::core::primitive::u128;
16049				}
16050				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ApproveTransfer {
16051					const PALLET: &'static str = "Assets";
16052					const CALL: &'static str = "approve_transfer";
16053				}
16054				#[derive(
16055					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16056					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16057					Debug,
16058				)]
16059				#[decode_as_type(
16060					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16061				)]
16062				#[encode_as_type(
16063					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16064				)]
16065				#[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."]
16066				#[doc = ""]
16067				#[doc = "Origin must be Signed and there must be an approval in place between signer and"]
16068				#[doc = "`delegate`."]
16069				#[doc = ""]
16070				#[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."]
16071				#[doc = ""]
16072				#[doc = "- `id`: The identifier of the asset."]
16073				#[doc = "- `delegate`: The account delegated permission to transfer asset."]
16074				#[doc = ""]
16075				#[doc = "Emits `ApprovalCancelled` on success."]
16076				#[doc = ""]
16077				#[doc = "Weight: `O(1)`"]
16078				pub struct CancelApproval {
16079					#[codec(compact)]
16080					pub id: cancel_approval::Id,
16081					pub delegate: cancel_approval::Delegate,
16082				}
16083				pub mod cancel_approval {
16084					use super::runtime_types;
16085					pub type Id = ::core::primitive::u32;
16086					pub type Delegate = ::subxt::ext::subxt_core::utils::MultiAddress<
16087						::subxt::ext::subxt_core::utils::AccountId32,
16088						(),
16089					>;
16090				}
16091				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CancelApproval {
16092					const PALLET: &'static str = "Assets";
16093					const CALL: &'static str = "cancel_approval";
16094				}
16095				#[derive(
16096					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16097					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16098					Debug,
16099				)]
16100				#[decode_as_type(
16101					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16102				)]
16103				#[encode_as_type(
16104					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16105				)]
16106				#[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."]
16107				#[doc = ""]
16108				#[doc = "Origin must be either ForceOrigin or Signed origin with the signer being the Admin"]
16109				#[doc = "account of the asset `id`."]
16110				#[doc = ""]
16111				#[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."]
16112				#[doc = ""]
16113				#[doc = "- `id`: The identifier of the asset."]
16114				#[doc = "- `delegate`: The account delegated permission to transfer asset."]
16115				#[doc = ""]
16116				#[doc = "Emits `ApprovalCancelled` on success."]
16117				#[doc = ""]
16118				#[doc = "Weight: `O(1)`"]
16119				pub struct ForceCancelApproval {
16120					#[codec(compact)]
16121					pub id: force_cancel_approval::Id,
16122					pub owner: force_cancel_approval::Owner,
16123					pub delegate: force_cancel_approval::Delegate,
16124				}
16125				pub mod force_cancel_approval {
16126					use super::runtime_types;
16127					pub type Id = ::core::primitive::u32;
16128					pub type Owner = ::subxt::ext::subxt_core::utils::MultiAddress<
16129						::subxt::ext::subxt_core::utils::AccountId32,
16130						(),
16131					>;
16132					pub type Delegate = ::subxt::ext::subxt_core::utils::MultiAddress<
16133						::subxt::ext::subxt_core::utils::AccountId32,
16134						(),
16135					>;
16136				}
16137				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ForceCancelApproval {
16138					const PALLET: &'static str = "Assets";
16139					const CALL: &'static str = "force_cancel_approval";
16140				}
16141				#[derive(
16142					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16143					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16144					Debug,
16145				)]
16146				#[decode_as_type(
16147					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16148				)]
16149				#[encode_as_type(
16150					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16151				)]
16152				#[doc = "Transfer some asset balance from a previously delegated account to some third-party"]
16153				#[doc = "account."]
16154				#[doc = ""]
16155				#[doc = "Origin must be Signed and there must be an approval in place by the `owner` to the"]
16156				#[doc = "signer."]
16157				#[doc = ""]
16158				#[doc = "If the entire amount approved for transfer is transferred, then any deposit previously"]
16159				#[doc = "reserved by `approve_transfer` is unreserved."]
16160				#[doc = ""]
16161				#[doc = "- `id`: The identifier of the asset."]
16162				#[doc = "- `owner`: The account which previously approved for a transfer of at least `amount` and"]
16163				#[doc = "from which the asset balance will be withdrawn."]
16164				#[doc = "- `destination`: The account to which the asset balance of `amount` will be transferred."]
16165				#[doc = "- `amount`: The amount of assets to transfer."]
16166				#[doc = ""]
16167				#[doc = "Emits `TransferredApproved` on success."]
16168				#[doc = ""]
16169				#[doc = "Weight: `O(1)`"]
16170				pub struct TransferApproved {
16171					#[codec(compact)]
16172					pub id: transfer_approved::Id,
16173					pub owner: transfer_approved::Owner,
16174					pub destination: transfer_approved::Destination,
16175					#[codec(compact)]
16176					pub amount: transfer_approved::Amount,
16177				}
16178				pub mod transfer_approved {
16179					use super::runtime_types;
16180					pub type Id = ::core::primitive::u32;
16181					pub type Owner = ::subxt::ext::subxt_core::utils::MultiAddress<
16182						::subxt::ext::subxt_core::utils::AccountId32,
16183						(),
16184					>;
16185					pub type Destination = ::subxt::ext::subxt_core::utils::MultiAddress<
16186						::subxt::ext::subxt_core::utils::AccountId32,
16187						(),
16188					>;
16189					pub type Amount = ::core::primitive::u128;
16190				}
16191				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferApproved {
16192					const PALLET: &'static str = "Assets";
16193					const CALL: &'static str = "transfer_approved";
16194				}
16195				#[derive(
16196					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16197					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16198					Debug,
16199				)]
16200				#[decode_as_type(
16201					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16202				)]
16203				#[encode_as_type(
16204					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16205				)]
16206				#[doc = "Create an asset account for non-provider assets."]
16207				#[doc = ""]
16208				#[doc = "A deposit will be taken from the signer account."]
16209				#[doc = ""]
16210				#[doc = "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit"]
16211				#[doc = "  to be taken."]
16212				#[doc = "- `id`: The identifier of the asset for the account to be created."]
16213				#[doc = ""]
16214				#[doc = "Emits `Touched` event when successful."]
16215				pub struct Touch {
16216					#[codec(compact)]
16217					pub id: touch::Id,
16218				}
16219				pub mod touch {
16220					use super::runtime_types;
16221					pub type Id = ::core::primitive::u32;
16222				}
16223				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Touch {
16224					const PALLET: &'static str = "Assets";
16225					const CALL: &'static str = "touch";
16226				}
16227				#[derive(
16228					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16229					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16230					Debug,
16231				)]
16232				#[decode_as_type(
16233					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16234				)]
16235				#[encode_as_type(
16236					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16237				)]
16238				#[doc = "Return the deposit (if any) of an asset account or a consumer reference (if any) of an"]
16239				#[doc = "account."]
16240				#[doc = ""]
16241				#[doc = "The origin must be Signed."]
16242				#[doc = ""]
16243				#[doc = "- `id`: The identifier of the asset for which the caller would like the deposit"]
16244				#[doc = "  refunded."]
16245				#[doc = "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund."]
16246				#[doc = ""]
16247				#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
16248				#[doc = "the asset account contains holds or freezes in place."]
16249				#[doc = ""]
16250				#[doc = "Emits `Refunded` event when successful."]
16251				pub struct Refund {
16252					#[codec(compact)]
16253					pub id: refund::Id,
16254					pub allow_burn: refund::AllowBurn,
16255				}
16256				pub mod refund {
16257					use super::runtime_types;
16258					pub type Id = ::core::primitive::u32;
16259					pub type AllowBurn = ::core::primitive::bool;
16260				}
16261				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Refund {
16262					const PALLET: &'static str = "Assets";
16263					const CALL: &'static str = "refund";
16264				}
16265				#[derive(
16266					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16267					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16268					Debug,
16269				)]
16270				#[decode_as_type(
16271					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16272				)]
16273				#[encode_as_type(
16274					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16275				)]
16276				#[doc = "Sets the minimum balance of an asset."]
16277				#[doc = ""]
16278				#[doc = "Only works if there aren't any accounts that are holding the asset or if"]
16279				#[doc = "the new value of `min_balance` is less than the old one."]
16280				#[doc = ""]
16281				#[doc = "Origin must be Signed and the sender has to be the Owner of the"]
16282				#[doc = "asset `id`."]
16283				#[doc = ""]
16284				#[doc = "- `id`: The identifier of the asset."]
16285				#[doc = "- `min_balance`: The new value of `min_balance`."]
16286				#[doc = ""]
16287				#[doc = "Emits `AssetMinBalanceChanged` event when successful."]
16288				pub struct SetMinBalance {
16289					#[codec(compact)]
16290					pub id: set_min_balance::Id,
16291					pub min_balance: set_min_balance::MinBalance,
16292				}
16293				pub mod set_min_balance {
16294					use super::runtime_types;
16295					pub type Id = ::core::primitive::u32;
16296					pub type MinBalance = ::core::primitive::u128;
16297				}
16298				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetMinBalance {
16299					const PALLET: &'static str = "Assets";
16300					const CALL: &'static str = "set_min_balance";
16301				}
16302				#[derive(
16303					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16304					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16305					Debug,
16306				)]
16307				#[decode_as_type(
16308					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16309				)]
16310				#[encode_as_type(
16311					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16312				)]
16313				#[doc = "Create an asset account for `who`."]
16314				#[doc = ""]
16315				#[doc = "A deposit will be taken from the signer account."]
16316				#[doc = ""]
16317				#[doc = "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit"]
16318				#[doc = "  to be taken."]
16319				#[doc = "- `id`: The identifier of the asset for the account to be created, the asset status must"]
16320				#[doc = "  be live."]
16321				#[doc = "- `who`: The account to be created."]
16322				#[doc = ""]
16323				#[doc = "Emits `Touched` event when successful."]
16324				pub struct TouchOther {
16325					#[codec(compact)]
16326					pub id: touch_other::Id,
16327					pub who: touch_other::Who,
16328				}
16329				pub mod touch_other {
16330					use super::runtime_types;
16331					pub type Id = ::core::primitive::u32;
16332					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
16333						::subxt::ext::subxt_core::utils::AccountId32,
16334						(),
16335					>;
16336				}
16337				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TouchOther {
16338					const PALLET: &'static str = "Assets";
16339					const CALL: &'static str = "touch_other";
16340				}
16341				#[derive(
16342					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16343					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16344					Debug,
16345				)]
16346				#[decode_as_type(
16347					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16348				)]
16349				#[encode_as_type(
16350					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16351				)]
16352				#[doc = "Return the deposit (if any) of a target asset account. Useful if you are the depositor."]
16353				#[doc = ""]
16354				#[doc = "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In"]
16355				#[doc = "order to burn a non-zero balance of the asset, the caller must be the account and should"]
16356				#[doc = "use `refund`."]
16357				#[doc = ""]
16358				#[doc = "- `id`: The identifier of the asset for the account holding a deposit."]
16359				#[doc = "- `who`: The account to refund."]
16360				#[doc = ""]
16361				#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
16362				#[doc = "the asset account contains holds or freezes in place."]
16363				#[doc = ""]
16364				#[doc = "Emits `Refunded` event when successful."]
16365				pub struct RefundOther {
16366					#[codec(compact)]
16367					pub id: refund_other::Id,
16368					pub who: refund_other::Who,
16369				}
16370				pub mod refund_other {
16371					use super::runtime_types;
16372					pub type Id = ::core::primitive::u32;
16373					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
16374						::subxt::ext::subxt_core::utils::AccountId32,
16375						(),
16376					>;
16377				}
16378				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RefundOther {
16379					const PALLET: &'static str = "Assets";
16380					const CALL: &'static str = "refund_other";
16381				}
16382				#[derive(
16383					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16384					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16385					Debug,
16386				)]
16387				#[decode_as_type(
16388					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16389				)]
16390				#[encode_as_type(
16391					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16392				)]
16393				#[doc = "Disallow further unprivileged transfers of an asset `id` to and from an account `who`."]
16394				#[doc = ""]
16395				#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
16396				#[doc = ""]
16397				#[doc = "- `id`: The identifier of the account's asset."]
16398				#[doc = "- `who`: The account to be unblocked."]
16399				#[doc = ""]
16400				#[doc = "Emits `Blocked`."]
16401				#[doc = ""]
16402				#[doc = "Weight: `O(1)`"]
16403				pub struct Block {
16404					#[codec(compact)]
16405					pub id: block::Id,
16406					pub who: block::Who,
16407				}
16408				pub mod block {
16409					use super::runtime_types;
16410					pub type Id = ::core::primitive::u32;
16411					pub type Who = ::subxt::ext::subxt_core::utils::MultiAddress<
16412						::subxt::ext::subxt_core::utils::AccountId32,
16413						(),
16414					>;
16415				}
16416				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Block {
16417					const PALLET: &'static str = "Assets";
16418					const CALL: &'static str = "block";
16419				}
16420				#[derive(
16421					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16422					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16423					Debug,
16424				)]
16425				#[decode_as_type(
16426					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16427				)]
16428				#[encode_as_type(
16429					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16430				)]
16431				#[doc = "Transfer the entire transferable balance from the caller asset account."]
16432				#[doc = ""]
16433				#[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"]
16434				#[doc = "any held, frozen, or minimum balance (when `keep_alive` is `true`), will not be"]
16435				#[doc = "transferred by this function. To ensure that this function results in a killed account,"]
16436				#[doc = "you might need to prepare the account by removing any reference counters, storage"]
16437				#[doc = "deposits, etc..."]
16438				#[doc = ""]
16439				#[doc = "The dispatch origin of this call must be Signed."]
16440				#[doc = ""]
16441				#[doc = "- `id`: The identifier of the asset for the account holding a deposit."]
16442				#[doc = "- `dest`: The recipient of the transfer."]
16443				#[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"]
16444				#[doc = "  of the funds the asset account has, causing the sender asset account to be killed"]
16445				#[doc = "  (false), or transfer everything except at least the minimum balance, which will"]
16446				#[doc = "  guarantee to keep the sender asset account alive (true)."]
16447				pub struct TransferAll {
16448					#[codec(compact)]
16449					pub id: transfer_all::Id,
16450					pub dest: transfer_all::Dest,
16451					pub keep_alive: transfer_all::KeepAlive,
16452				}
16453				pub mod transfer_all {
16454					use super::runtime_types;
16455					pub type Id = ::core::primitive::u32;
16456					pub type Dest = ::subxt::ext::subxt_core::utils::MultiAddress<
16457						::subxt::ext::subxt_core::utils::AccountId32,
16458						(),
16459					>;
16460					pub type KeepAlive = ::core::primitive::bool;
16461				}
16462				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for TransferAll {
16463					const PALLET: &'static str = "Assets";
16464					const CALL: &'static str = "transfer_all";
16465				}
16466				#[derive(
16467					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
16468					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
16469					Debug,
16470				)]
16471				#[decode_as_type(
16472					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
16473				)]
16474				#[encode_as_type(
16475					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
16476				)]
16477				#[doc = "Sets the trusted reserve information of an asset."]
16478				#[doc = ""]
16479				#[doc = "Origin must be the Owner of the asset `id`. The origin must conform to the configured"]
16480				#[doc = "`CreateOrigin` or be the signed `owner` configured during asset creation."]
16481				#[doc = ""]
16482				#[doc = "- `id`: The identifier of the asset."]
16483				#[doc = "- `reserves`: The full list of trusted reserves information."]
16484				#[doc = ""]
16485				#[doc = "Emits `AssetMinBalanceChanged` event when successful."]
16486				pub struct SetReserves {
16487					#[codec(compact)]
16488					pub id: set_reserves::Id,
16489					pub reserves: set_reserves::Reserves,
16490				}
16491				pub mod set_reserves {
16492					use super::runtime_types;
16493					pub type Id = ::core::primitive::u32;
16494					pub type Reserves =
16495						runtime_types::bounded_collections::bounded_vec::BoundedVec<()>;
16496				}
16497				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for SetReserves {
16498					const PALLET: &'static str = "Assets";
16499					const CALL: &'static str = "set_reserves";
16500				}
16501			}
16502			pub struct TransactionApi;
16503			impl TransactionApi {
16504				#[doc = "Issue a new class of fungible assets from a public origin."]
16505				#[doc = ""]
16506				#[doc = "This new asset class has no assets initially and its owner is the origin."]
16507				#[doc = ""]
16508				#[doc = "The origin must conform to the configured `CreateOrigin` and have sufficient funds free."]
16509				#[doc = ""]
16510				#[doc = "Funds of sender are reserved by `AssetDeposit`."]
16511				#[doc = ""]
16512				#[doc = "Parameters:"]
16513				#[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"]
16514				#[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."]
16515				#[doc = "- `admin`: The admin of this class of assets. The admin is the initial address of each"]
16516				#[doc = "member of the asset class's admin team."]
16517				#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
16518				#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
16519				#[doc = ""]
16520				#[doc = "Emits `Created` event when successful."]
16521				#[doc = ""]
16522				#[doc = "Weight: `O(1)`"]
16523				pub fn create(
16524					&self,
16525					id: types::create::Id,
16526					admin: types::create::Admin,
16527					min_balance: types::create::MinBalance,
16528				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Create> {
16529					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16530						"Assets",
16531						"create",
16532						types::Create { id, admin, min_balance },
16533						[
16534							120u8, 25u8, 99u8, 39u8, 102u8, 201u8, 14u8, 2u8, 32u8, 139u8, 206u8,
16535							218u8, 223u8, 161u8, 25u8, 98u8, 159u8, 133u8, 65u8, 105u8, 45u8, 4u8,
16536							28u8, 49u8, 248u8, 147u8, 2u8, 179u8, 11u8, 195u8, 177u8, 250u8,
16537						],
16538					)
16539				}
16540				#[doc = "Issue a new class of fungible assets from a privileged origin."]
16541				#[doc = ""]
16542				#[doc = "This new asset class has no assets initially."]
16543				#[doc = ""]
16544				#[doc = "The origin must conform to `ForceOrigin`."]
16545				#[doc = ""]
16546				#[doc = "Unlike `create`, no funds are reserved."]
16547				#[doc = ""]
16548				#[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"]
16549				#[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."]
16550				#[doc = "- `owner`: The owner of this class of assets. The owner has full superuser permissions"]
16551				#[doc = "over this asset, but may later change and configure the permissions using"]
16552				#[doc = "`transfer_ownership` and `set_team`."]
16553				#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
16554				#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
16555				#[doc = ""]
16556				#[doc = "Emits `ForceCreated` event when successful."]
16557				#[doc = ""]
16558				#[doc = "Weight: `O(1)`"]
16559				pub fn force_create(
16560					&self,
16561					id: types::force_create::Id,
16562					owner: types::force_create::Owner,
16563					is_sufficient: types::force_create::IsSufficient,
16564					min_balance: types::force_create::MinBalance,
16565				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceCreate> {
16566					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16567						"Assets",
16568						"force_create",
16569						types::ForceCreate { id, owner, is_sufficient, min_balance },
16570						[
16571							149u8, 41u8, 54u8, 146u8, 18u8, 248u8, 84u8, 52u8, 202u8, 88u8, 192u8,
16572							208u8, 247u8, 227u8, 254u8, 98u8, 92u8, 46u8, 164u8, 152u8, 143u8,
16573							20u8, 179u8, 227u8, 197u8, 247u8, 242u8, 153u8, 142u8, 148u8, 40u8,
16574							184u8,
16575						],
16576					)
16577				}
16578				#[doc = "Start the process of destroying a fungible asset class."]
16579				#[doc = ""]
16580				#[doc = "`start_destroy` is the first in a series of extrinsics that should be called, to allow"]
16581				#[doc = "destruction of an asset class."]
16582				#[doc = ""]
16583				#[doc = "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`."]
16584				#[doc = ""]
16585				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
16586				#[doc = "  asset."]
16587				#[doc = ""]
16588				#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
16589				#[doc = "an account contains holds or freezes in place."]
16590				pub fn start_destroy(
16591					&self,
16592					id: types::start_destroy::Id,
16593				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::StartDestroy> {
16594					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16595						"Assets",
16596						"start_destroy",
16597						types::StartDestroy { id },
16598						[
16599							125u8, 82u8, 151u8, 106u8, 25u8, 49u8, 68u8, 203u8, 247u8, 175u8,
16600							117u8, 230u8, 84u8, 98u8, 172u8, 73u8, 233u8, 218u8, 212u8, 198u8,
16601							69u8, 35u8, 15u8, 179u8, 161u8, 205u8, 190u8, 109u8, 198u8, 214u8,
16602							65u8, 164u8,
16603						],
16604					)
16605				}
16606				#[doc = "Destroy all accounts associated with a given asset."]
16607				#[doc = ""]
16608				#[doc = "`destroy_accounts` should only be called after `start_destroy` has been called, and the"]
16609				#[doc = "asset is in a `Destroying` state."]
16610				#[doc = ""]
16611				#[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"]
16612				#[doc = "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time."]
16613				#[doc = ""]
16614				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
16615				#[doc = "  asset."]
16616				#[doc = ""]
16617				#[doc = "Each call emits the `Event::DestroyedAccounts` event."]
16618				pub fn destroy_accounts(
16619					&self,
16620					id: types::destroy_accounts::Id,
16621				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::DestroyAccounts>
16622				{
16623					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16624						"Assets",
16625						"destroy_accounts",
16626						types::DestroyAccounts { id },
16627						[
16628							236u8, 102u8, 233u8, 170u8, 179u8, 46u8, 42u8, 29u8, 200u8, 116u8,
16629							62u8, 114u8, 233u8, 59u8, 217u8, 215u8, 109u8, 232u8, 147u8, 95u8,
16630							255u8, 248u8, 119u8, 222u8, 216u8, 165u8, 138u8, 47u8, 28u8, 56u8,
16631							204u8, 93u8,
16632						],
16633					)
16634				}
16635				#[doc = "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit)."]
16636				#[doc = ""]
16637				#[doc = "`destroy_approvals` should only be called after `start_destroy` has been called, and the"]
16638				#[doc = "asset is in a `Destroying` state."]
16639				#[doc = ""]
16640				#[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"]
16641				#[doc = "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time."]
16642				#[doc = ""]
16643				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
16644				#[doc = "  asset."]
16645				#[doc = ""]
16646				#[doc = "Each call emits the `Event::DestroyedApprovals` event."]
16647				pub fn destroy_approvals(
16648					&self,
16649					id: types::destroy_approvals::Id,
16650				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::DestroyApprovals>
16651				{
16652					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16653						"Assets",
16654						"destroy_approvals",
16655						types::DestroyApprovals { id },
16656						[
16657							34u8, 35u8, 15u8, 44u8, 239u8, 232u8, 88u8, 130u8, 130u8, 87u8, 171u8,
16658							255u8, 247u8, 179u8, 14u8, 35u8, 47u8, 223u8, 32u8, 232u8, 41u8, 105u8,
16659							207u8, 199u8, 90u8, 136u8, 144u8, 139u8, 252u8, 76u8, 177u8, 106u8,
16660						],
16661					)
16662				}
16663				#[doc = "Complete destroying asset and unreserve currency."]
16664				#[doc = ""]
16665				#[doc = "`finish_destroy` should only be called after `start_destroy` has been called, and the"]
16666				#[doc = "asset is in a `Destroying` state. All accounts or approvals should be destroyed before"]
16667				#[doc = "hand."]
16668				#[doc = ""]
16669				#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
16670				#[doc = "  asset."]
16671				#[doc = ""]
16672				#[doc = "Each successful call emits the `Event::Destroyed` event."]
16673				pub fn finish_destroy(
16674					&self,
16675					id: types::finish_destroy::Id,
16676				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::FinishDestroy>
16677				{
16678					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16679						"Assets",
16680						"finish_destroy",
16681						types::FinishDestroy { id },
16682						[
16683							132u8, 67u8, 78u8, 84u8, 240u8, 51u8, 176u8, 119u8, 48u8, 34u8, 153u8,
16684							37u8, 25u8, 171u8, 21u8, 164u8, 53u8, 214u8, 36u8, 149u8, 20u8, 240u8,
16685							123u8, 195u8, 170u8, 162u8, 118u8, 81u8, 176u8, 218u8, 114u8, 113u8,
16686						],
16687					)
16688				}
16689				#[doc = "Mint assets of a particular class."]
16690				#[doc = ""]
16691				#[doc = "The origin must be Signed and the sender must be the Issuer of the asset `id`."]
16692				#[doc = ""]
16693				#[doc = "- `id`: The identifier of the asset to have some amount minted."]
16694				#[doc = "- `beneficiary`: The account to be credited with the minted assets."]
16695				#[doc = "- `amount`: The amount of the asset to be minted."]
16696				#[doc = ""]
16697				#[doc = "Emits `Issued` event when successful."]
16698				#[doc = ""]
16699				#[doc = "Weight: `O(1)`"]
16700				#[doc = "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`."]
16701				pub fn mint(
16702					&self,
16703					id: types::mint::Id,
16704					beneficiary: types::mint::Beneficiary,
16705					amount: types::mint::Amount,
16706				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Mint> {
16707					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16708						"Assets",
16709						"mint",
16710						types::Mint { id, beneficiary, amount },
16711						[
16712							172u8, 131u8, 103u8, 81u8, 206u8, 2u8, 143u8, 114u8, 137u8, 60u8,
16713							147u8, 67u8, 226u8, 64u8, 71u8, 11u8, 36u8, 145u8, 51u8, 8u8, 0u8,
16714							110u8, 8u8, 195u8, 103u8, 205u8, 156u8, 43u8, 215u8, 12u8, 150u8,
16715							135u8,
16716						],
16717					)
16718				}
16719				#[doc = "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`."]
16720				#[doc = ""]
16721				#[doc = "Origin must be Signed and the sender should be the Manager of the asset `id`."]
16722				#[doc = ""]
16723				#[doc = "Bails with `NoAccount` if the `who` is already dead."]
16724				#[doc = ""]
16725				#[doc = "- `id`: The identifier of the asset to have some amount burned."]
16726				#[doc = "- `who`: The account to be debited from."]
16727				#[doc = "- `amount`: The maximum amount by which `who`'s balance should be reduced."]
16728				#[doc = ""]
16729				#[doc = "Emits `Burned` with the actual amount burned. If this takes the balance to below the"]
16730				#[doc = "minimum for the asset, then the amount burned is increased to take it to zero."]
16731				#[doc = ""]
16732				#[doc = "Weight: `O(1)`"]
16733				#[doc = "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`."]
16734				pub fn burn(
16735					&self,
16736					id: types::burn::Id,
16737					who: types::burn::Who,
16738					amount: types::burn::Amount,
16739				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Burn> {
16740					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16741						"Assets",
16742						"burn",
16743						types::Burn { id, who, amount },
16744						[
16745							105u8, 133u8, 82u8, 100u8, 124u8, 65u8, 174u8, 31u8, 152u8, 45u8, 23u8,
16746							200u8, 23u8, 199u8, 239u8, 8u8, 187u8, 142u8, 21u8, 192u8, 35u8, 211u8,
16747							172u8, 130u8, 169u8, 74u8, 167u8, 36u8, 149u8, 7u8, 19u8, 37u8,
16748						],
16749					)
16750				}
16751				#[doc = "Move some assets from the sender account to another."]
16752				#[doc = ""]
16753				#[doc = "Origin must be Signed."]
16754				#[doc = ""]
16755				#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
16756				#[doc = "- `target`: The account to be credited."]
16757				#[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"]
16758				#[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"]
16759				#[doc = "the case that the transfer would otherwise take the sender balance above zero but below"]
16760				#[doc = "the minimum balance. Must be greater than zero."]
16761				#[doc = ""]
16762				#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
16763				#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
16764				#[doc = "to zero."]
16765				#[doc = ""]
16766				#[doc = "Weight: `O(1)`"]
16767				#[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"]
16768				#[doc = "`target`."]
16769				pub fn transfer(
16770					&self,
16771					id: types::transfer::Id,
16772					target: types::transfer::Target,
16773					amount: types::transfer::Amount,
16774				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Transfer> {
16775					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16776						"Assets",
16777						"transfer",
16778						types::Transfer { id, target, amount },
16779						[
16780							126u8, 31u8, 70u8, 179u8, 222u8, 190u8, 12u8, 19u8, 94u8, 225u8, 217u8,
16781							109u8, 54u8, 69u8, 124u8, 61u8, 97u8, 199u8, 193u8, 166u8, 39u8, 143u8,
16782							125u8, 251u8, 87u8, 173u8, 149u8, 91u8, 182u8, 18u8, 184u8, 65u8,
16783						],
16784					)
16785				}
16786				#[doc = "Move some assets from the sender account to another, keeping the sender account alive."]
16787				#[doc = ""]
16788				#[doc = "Origin must be Signed."]
16789				#[doc = ""]
16790				#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
16791				#[doc = "- `target`: The account to be credited."]
16792				#[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"]
16793				#[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"]
16794				#[doc = "the case that the transfer would otherwise take the sender balance above zero but below"]
16795				#[doc = "the minimum balance. Must be greater than zero."]
16796				#[doc = ""]
16797				#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
16798				#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
16799				#[doc = "to zero."]
16800				#[doc = ""]
16801				#[doc = "Weight: `O(1)`"]
16802				#[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"]
16803				#[doc = "`target`."]
16804				pub fn transfer_keep_alive(
16805					&self,
16806					id: types::transfer_keep_alive::Id,
16807					target: types::transfer_keep_alive::Target,
16808					amount: types::transfer_keep_alive::Amount,
16809				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferKeepAlive>
16810				{
16811					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16812						"Assets",
16813						"transfer_keep_alive",
16814						types::TransferKeepAlive { id, target, amount },
16815						[
16816							99u8, 101u8, 219u8, 188u8, 238u8, 230u8, 141u8, 43u8, 38u8, 175u8,
16817							46u8, 89u8, 33u8, 23u8, 223u8, 115u8, 108u8, 18u8, 190u8, 213u8, 157u8,
16818							12u8, 139u8, 97u8, 7u8, 75u8, 196u8, 159u8, 122u8, 32u8, 164u8, 154u8,
16819						],
16820					)
16821				}
16822				#[doc = "Move some assets from one account to another."]
16823				#[doc = ""]
16824				#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
16825				#[doc = ""]
16826				#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
16827				#[doc = "- `source`: The account to be debited."]
16828				#[doc = "- `dest`: The account to be credited."]
16829				#[doc = "- `amount`: The amount by which the `source`'s balance of assets should be reduced and"]
16830				#[doc = "`dest`'s balance increased. The amount actually transferred may be slightly greater in"]
16831				#[doc = "the case that the transfer would otherwise take the `source` balance above zero but"]
16832				#[doc = "below the minimum balance. Must be greater than zero."]
16833				#[doc = ""]
16834				#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
16835				#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
16836				#[doc = "to zero."]
16837				#[doc = ""]
16838				#[doc = "Weight: `O(1)`"]
16839				#[doc = "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of"]
16840				#[doc = "`dest`."]
16841				pub fn force_transfer(
16842					&self,
16843					id: types::force_transfer::Id,
16844					source: types::force_transfer::Source,
16845					dest: types::force_transfer::Dest,
16846					amount: types::force_transfer::Amount,
16847				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceTransfer>
16848				{
16849					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16850						"Assets",
16851						"force_transfer",
16852						types::ForceTransfer { id, source, dest, amount },
16853						[
16854							10u8, 210u8, 8u8, 209u8, 8u8, 78u8, 40u8, 213u8, 235u8, 176u8, 144u8,
16855							145u8, 70u8, 13u8, 75u8, 72u8, 166u8, 137u8, 22u8, 191u8, 226u8, 244u8,
16856							92u8, 183u8, 129u8, 212u8, 158u8, 179u8, 169u8, 232u8, 177u8, 225u8,
16857						],
16858					)
16859				}
16860				#[doc = "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`"]
16861				#[doc = "must already exist as an entry in `Account`s of the asset. If you want to freeze an"]
16862				#[doc = "account that does not have an entry, use `touch_other` first."]
16863				#[doc = ""]
16864				#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
16865				#[doc = ""]
16866				#[doc = "- `id`: The identifier of the asset to be frozen."]
16867				#[doc = "- `who`: The account to be frozen."]
16868				#[doc = ""]
16869				#[doc = "Emits `Frozen`."]
16870				#[doc = ""]
16871				#[doc = "Weight: `O(1)`"]
16872				pub fn freeze(
16873					&self,
16874					id: types::freeze::Id,
16875					who: types::freeze::Who,
16876				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Freeze> {
16877					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16878						"Assets",
16879						"freeze",
16880						types::Freeze { id, who },
16881						[
16882							180u8, 124u8, 252u8, 66u8, 205u8, 23u8, 32u8, 217u8, 173u8, 10u8, 91u8,
16883							57u8, 44u8, 215u8, 234u8, 152u8, 115u8, 38u8, 141u8, 212u8, 57u8,
16884							217u8, 169u8, 61u8, 215u8, 130u8, 172u8, 58u8, 90u8, 193u8, 25u8,
16885							249u8,
16886						],
16887					)
16888				}
16889				#[doc = "Allow unprivileged transfers to and from an account again."]
16890				#[doc = ""]
16891				#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
16892				#[doc = ""]
16893				#[doc = "- `id`: The identifier of the asset to be frozen."]
16894				#[doc = "- `who`: The account to be unfrozen."]
16895				#[doc = ""]
16896				#[doc = "Emits `Thawed`."]
16897				#[doc = ""]
16898				#[doc = "Weight: `O(1)`"]
16899				pub fn thaw(
16900					&self,
16901					id: types::thaw::Id,
16902					who: types::thaw::Who,
16903				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Thaw> {
16904					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16905						"Assets",
16906						"thaw",
16907						types::Thaw { id, who },
16908						[
16909							187u8, 130u8, 9u8, 152u8, 231u8, 9u8, 245u8, 162u8, 115u8, 19u8, 73u8,
16910							176u8, 16u8, 230u8, 30u8, 60u8, 180u8, 183u8, 154u8, 160u8, 72u8,
16911							219u8, 116u8, 57u8, 140u8, 6u8, 105u8, 38u8, 98u8, 90u8, 250u8, 135u8,
16912						],
16913					)
16914				}
16915				#[doc = "Disallow further unprivileged transfers for the asset class."]
16916				#[doc = ""]
16917				#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
16918				#[doc = ""]
16919				#[doc = "- `id`: The identifier of the asset to be frozen."]
16920				#[doc = ""]
16921				#[doc = "Emits `Frozen`."]
16922				#[doc = ""]
16923				#[doc = "Weight: `O(1)`"]
16924				pub fn freeze_asset(
16925					&self,
16926					id: types::freeze_asset::Id,
16927				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::FreezeAsset> {
16928					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16929						"Assets",
16930						"freeze_asset",
16931						types::FreezeAsset { id },
16932						[
16933							75u8, 237u8, 183u8, 112u8, 112u8, 123u8, 250u8, 203u8, 169u8, 51u8,
16934							218u8, 35u8, 159u8, 23u8, 21u8, 10u8, 167u8, 84u8, 161u8, 212u8, 124u8,
16935							236u8, 88u8, 175u8, 48u8, 195u8, 33u8, 145u8, 141u8, 156u8, 31u8,
16936							250u8,
16937						],
16938					)
16939				}
16940				#[doc = "Allow unprivileged transfers for the asset again."]
16941				#[doc = ""]
16942				#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
16943				#[doc = ""]
16944				#[doc = "- `id`: The identifier of the asset to be thawed."]
16945				#[doc = ""]
16946				#[doc = "Emits `Thawed`."]
16947				#[doc = ""]
16948				#[doc = "Weight: `O(1)`"]
16949				pub fn thaw_asset(
16950					&self,
16951					id: types::thaw_asset::Id,
16952				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ThawAsset> {
16953					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16954						"Assets",
16955						"thaw_asset",
16956						types::ThawAsset { id },
16957						[
16958							151u8, 6u8, 170u8, 114u8, 55u8, 8u8, 5u8, 194u8, 251u8, 78u8, 232u8,
16959							181u8, 157u8, 62u8, 16u8, 39u8, 79u8, 119u8, 205u8, 198u8, 199u8, 26u8,
16960							92u8, 162u8, 169u8, 173u8, 93u8, 51u8, 7u8, 79u8, 198u8, 77u8,
16961						],
16962					)
16963				}
16964				#[doc = "Change the Owner of an asset."]
16965				#[doc = ""]
16966				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
16967				#[doc = ""]
16968				#[doc = "- `id`: The identifier of the asset."]
16969				#[doc = "- `owner`: The new Owner of this asset."]
16970				#[doc = ""]
16971				#[doc = "Emits `OwnerChanged`."]
16972				#[doc = ""]
16973				#[doc = "Weight: `O(1)`"]
16974				pub fn transfer_ownership(
16975					&self,
16976					id: types::transfer_ownership::Id,
16977					owner: types::transfer_ownership::Owner,
16978				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferOwnership>
16979				{
16980					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
16981						"Assets",
16982						"transfer_ownership",
16983						types::TransferOwnership { id, owner },
16984						[
16985							65u8, 85u8, 40u8, 202u8, 212u8, 170u8, 130u8, 132u8, 140u8, 90u8, 68u8,
16986							28u8, 101u8, 154u8, 222u8, 150u8, 244u8, 165u8, 44u8, 22u8, 225u8,
16987							152u8, 7u8, 162u8, 110u8, 54u8, 173u8, 181u8, 54u8, 215u8, 105u8,
16988							239u8,
16989						],
16990					)
16991				}
16992				#[doc = "Change the Issuer, Admin and Freezer of an asset."]
16993				#[doc = ""]
16994				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
16995				#[doc = ""]
16996				#[doc = "- `id`: The identifier of the asset to be frozen."]
16997				#[doc = "- `issuer`: The new Issuer of this asset."]
16998				#[doc = "- `admin`: The new Admin of this asset."]
16999				#[doc = "- `freezer`: The new Freezer of this asset."]
17000				#[doc = ""]
17001				#[doc = "Emits `TeamChanged`."]
17002				#[doc = ""]
17003				#[doc = "Weight: `O(1)`"]
17004				pub fn set_team(
17005					&self,
17006					id: types::set_team::Id,
17007					issuer: types::set_team::Issuer,
17008					admin: types::set_team::Admin,
17009					freezer: types::set_team::Freezer,
17010				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetTeam> {
17011					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17012						"Assets",
17013						"set_team",
17014						types::SetTeam { id, issuer, admin, freezer },
17015						[
17016							52u8, 75u8, 50u8, 30u8, 164u8, 161u8, 121u8, 25u8, 135u8, 83u8, 115u8,
17017							25u8, 103u8, 1u8, 124u8, 206u8, 83u8, 182u8, 41u8, 116u8, 44u8, 37u8,
17018							75u8, 70u8, 252u8, 225u8, 240u8, 144u8, 96u8, 160u8, 151u8, 4u8,
17019						],
17020					)
17021				}
17022				#[doc = "Set the metadata for an asset."]
17023				#[doc = ""]
17024				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
17025				#[doc = ""]
17026				#[doc = "Funds of sender are reserved according to the formula:"]
17027				#[doc = "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into"]
17028				#[doc = "account any already reserved funds."]
17029				#[doc = ""]
17030				#[doc = "- `id`: The identifier of the asset to update."]
17031				#[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."]
17032				#[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."]
17033				#[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."]
17034				#[doc = ""]
17035				#[doc = "Emits `MetadataSet`."]
17036				#[doc = ""]
17037				#[doc = "Weight: `O(1)`"]
17038				pub fn set_metadata(
17039					&self,
17040					id: types::set_metadata::Id,
17041					name: types::set_metadata::Name,
17042					symbol: types::set_metadata::Symbol,
17043					decimals: types::set_metadata::Decimals,
17044				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetMetadata> {
17045					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17046						"Assets",
17047						"set_metadata",
17048						types::SetMetadata { id, name, symbol, decimals },
17049						[
17050							215u8, 66u8, 15u8, 17u8, 88u8, 174u8, 77u8, 75u8, 229u8, 155u8, 160u8,
17051							34u8, 108u8, 194u8, 88u8, 238u8, 131u8, 97u8, 234u8, 102u8, 71u8, 56u8,
17052							70u8, 248u8, 211u8, 85u8, 72u8, 92u8, 71u8, 222u8, 190u8, 91u8,
17053						],
17054					)
17055				}
17056				#[doc = "Clear the metadata for an asset."]
17057				#[doc = ""]
17058				#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
17059				#[doc = ""]
17060				#[doc = "Any deposit is freed for the asset owner."]
17061				#[doc = ""]
17062				#[doc = "- `id`: The identifier of the asset to clear."]
17063				#[doc = ""]
17064				#[doc = "Emits `MetadataCleared`."]
17065				#[doc = ""]
17066				#[doc = "Weight: `O(1)`"]
17067				pub fn clear_metadata(
17068					&self,
17069					id: types::clear_metadata::Id,
17070				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ClearMetadata>
17071				{
17072					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17073						"Assets",
17074						"clear_metadata",
17075						types::ClearMetadata { id },
17076						[
17077							68u8, 172u8, 6u8, 158u8, 237u8, 254u8, 22u8, 4u8, 254u8, 157u8, 179u8,
17078							168u8, 105u8, 114u8, 56u8, 166u8, 213u8, 38u8, 188u8, 195u8, 99u8,
17079							43u8, 142u8, 220u8, 94u8, 248u8, 51u8, 226u8, 233u8, 114u8, 86u8, 93u8,
17080						],
17081					)
17082				}
17083				#[doc = "Force the metadata for an asset to some value."]
17084				#[doc = ""]
17085				#[doc = "Origin must be ForceOrigin."]
17086				#[doc = ""]
17087				#[doc = "Any deposit is left alone."]
17088				#[doc = ""]
17089				#[doc = "- `id`: The identifier of the asset to update."]
17090				#[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."]
17091				#[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."]
17092				#[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."]
17093				#[doc = ""]
17094				#[doc = "Emits `MetadataSet`."]
17095				#[doc = ""]
17096				#[doc = "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively."]
17097				pub fn force_set_metadata(
17098					&self,
17099					id: types::force_set_metadata::Id,
17100					name: types::force_set_metadata::Name,
17101					symbol: types::force_set_metadata::Symbol,
17102					decimals: types::force_set_metadata::Decimals,
17103					is_frozen: types::force_set_metadata::IsFrozen,
17104				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceSetMetadata>
17105				{
17106					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17107						"Assets",
17108						"force_set_metadata",
17109						types::ForceSetMetadata { id, name, symbol, decimals, is_frozen },
17110						[
17111							76u8, 90u8, 182u8, 13u8, 133u8, 248u8, 94u8, 136u8, 169u8, 114u8,
17112							151u8, 20u8, 106u8, 89u8, 78u8, 228u8, 22u8, 29u8, 68u8, 8u8, 54u8,
17113							47u8, 1u8, 186u8, 45u8, 167u8, 14u8, 112u8, 34u8, 43u8, 91u8, 140u8,
17114						],
17115					)
17116				}
17117				#[doc = "Clear the metadata for an asset."]
17118				#[doc = ""]
17119				#[doc = "Origin must be ForceOrigin."]
17120				#[doc = ""]
17121				#[doc = "Any deposit is returned."]
17122				#[doc = ""]
17123				#[doc = "- `id`: The identifier of the asset to clear."]
17124				#[doc = ""]
17125				#[doc = "Emits `MetadataCleared`."]
17126				#[doc = ""]
17127				#[doc = "Weight: `O(1)`"]
17128				pub fn force_clear_metadata(
17129					&self,
17130					id: types::force_clear_metadata::Id,
17131				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceClearMetadata>
17132				{
17133					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17134						"Assets",
17135						"force_clear_metadata",
17136						types::ForceClearMetadata { id },
17137						[
17138							2u8, 224u8, 84u8, 48u8, 130u8, 132u8, 79u8, 38u8, 217u8, 17u8, 165u8,
17139							139u8, 89u8, 53u8, 116u8, 184u8, 32u8, 91u8, 122u8, 39u8, 85u8, 40u8,
17140							213u8, 216u8, 135u8, 171u8, 50u8, 69u8, 202u8, 28u8, 166u8, 147u8,
17141						],
17142					)
17143				}
17144				#[doc = "Alter the attributes of a given asset."]
17145				#[doc = ""]
17146				#[doc = "Origin must be `ForceOrigin`."]
17147				#[doc = ""]
17148				#[doc = "- `id`: The identifier of the asset."]
17149				#[doc = "- `owner`: The new Owner of this asset."]
17150				#[doc = "- `issuer`: The new Issuer of this asset."]
17151				#[doc = "- `admin`: The new Admin of this asset."]
17152				#[doc = "- `freezer`: The new Freezer of this asset."]
17153				#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
17154				#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
17155				#[doc = "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient"]
17156				#[doc = "value to account for the state bloat associated with its balance storage. If set to"]
17157				#[doc = "`true`, then non-zero balances may be stored without a `consumer` reference (and thus"]
17158				#[doc = "an ED in the Balances pallet or whatever else is used to control user-account state"]
17159				#[doc = "growth)."]
17160				#[doc = "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin"]
17161				#[doc = "instructions."]
17162				#[doc = ""]
17163				#[doc = "Emits `AssetStatusChanged` with the identity of the asset."]
17164				#[doc = ""]
17165				#[doc = "Weight: `O(1)`"]
17166				pub fn force_asset_status(
17167					&self,
17168					id: types::force_asset_status::Id,
17169					owner: types::force_asset_status::Owner,
17170					issuer: types::force_asset_status::Issuer,
17171					admin: types::force_asset_status::Admin,
17172					freezer: types::force_asset_status::Freezer,
17173					min_balance: types::force_asset_status::MinBalance,
17174					is_sufficient: types::force_asset_status::IsSufficient,
17175					is_frozen: types::force_asset_status::IsFrozen,
17176				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceAssetStatus>
17177				{
17178					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17179						"Assets",
17180						"force_asset_status",
17181						types::ForceAssetStatus {
17182							id,
17183							owner,
17184							issuer,
17185							admin,
17186							freezer,
17187							min_balance,
17188							is_sufficient,
17189							is_frozen,
17190						},
17191						[
17192							149u8, 136u8, 250u8, 33u8, 53u8, 220u8, 207u8, 187u8, 42u8, 118u8,
17193							93u8, 173u8, 100u8, 243u8, 234u8, 207u8, 88u8, 45u8, 79u8, 221u8,
17194							113u8, 166u8, 229u8, 171u8, 223u8, 126u8, 20u8, 67u8, 19u8, 77u8, 44u8,
17195							19u8,
17196						],
17197					)
17198				}
17199				#[doc = "Approve an amount of asset for transfer by a delegated third-party account."]
17200				#[doc = ""]
17201				#[doc = "Origin must be Signed."]
17202				#[doc = ""]
17203				#[doc = "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account"]
17204				#[doc = "for the purpose of holding the approval. If some non-zero amount of assets is already"]
17205				#[doc = "approved from signing account to `delegate`, then it is topped up or unreserved to"]
17206				#[doc = "meet the right value."]
17207				#[doc = ""]
17208				#[doc = "NOTE: The signing account does not need to own `amount` of assets at the point of"]
17209				#[doc = "making this call."]
17210				#[doc = ""]
17211				#[doc = "- `id`: The identifier of the asset."]
17212				#[doc = "- `delegate`: The account to delegate permission to transfer asset."]
17213				#[doc = "- `amount`: The amount of asset that may be transferred by `delegate`. If there is"]
17214				#[doc = "already an approval in place, then this acts additively."]
17215				#[doc = ""]
17216				#[doc = "Emits `ApprovedTransfer` on success."]
17217				#[doc = ""]
17218				#[doc = "Weight: `O(1)`"]
17219				pub fn approve_transfer(
17220					&self,
17221					id: types::approve_transfer::Id,
17222					delegate: types::approve_transfer::Delegate,
17223					amount: types::approve_transfer::Amount,
17224				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ApproveTransfer>
17225				{
17226					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17227						"Assets",
17228						"approve_transfer",
17229						types::ApproveTransfer { id, delegate, amount },
17230						[
17231							39u8, 227u8, 23u8, 143u8, 10u8, 120u8, 227u8, 1u8, 223u8, 78u8, 40u8,
17232							213u8, 249u8, 175u8, 170u8, 183u8, 10u8, 244u8, 117u8, 111u8, 140u8,
17233							157u8, 153u8, 212u8, 94u8, 119u8, 213u8, 44u8, 41u8, 8u8, 114u8, 200u8,
17234						],
17235					)
17236				}
17237				#[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."]
17238				#[doc = ""]
17239				#[doc = "Origin must be Signed and there must be an approval in place between signer and"]
17240				#[doc = "`delegate`."]
17241				#[doc = ""]
17242				#[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."]
17243				#[doc = ""]
17244				#[doc = "- `id`: The identifier of the asset."]
17245				#[doc = "- `delegate`: The account delegated permission to transfer asset."]
17246				#[doc = ""]
17247				#[doc = "Emits `ApprovalCancelled` on success."]
17248				#[doc = ""]
17249				#[doc = "Weight: `O(1)`"]
17250				pub fn cancel_approval(
17251					&self,
17252					id: types::cancel_approval::Id,
17253					delegate: types::cancel_approval::Delegate,
17254				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CancelApproval>
17255				{
17256					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17257						"Assets",
17258						"cancel_approval",
17259						types::CancelApproval { id, delegate },
17260						[
17261							74u8, 117u8, 101u8, 78u8, 152u8, 208u8, 16u8, 102u8, 34u8, 195u8, 61u8,
17262							36u8, 85u8, 91u8, 253u8, 182u8, 61u8, 199u8, 12u8, 102u8, 149u8, 20u8,
17263							238u8, 207u8, 236u8, 50u8, 63u8, 249u8, 34u8, 85u8, 88u8, 229u8,
17264						],
17265					)
17266				}
17267				#[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."]
17268				#[doc = ""]
17269				#[doc = "Origin must be either ForceOrigin or Signed origin with the signer being the Admin"]
17270				#[doc = "account of the asset `id`."]
17271				#[doc = ""]
17272				#[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."]
17273				#[doc = ""]
17274				#[doc = "- `id`: The identifier of the asset."]
17275				#[doc = "- `delegate`: The account delegated permission to transfer asset."]
17276				#[doc = ""]
17277				#[doc = "Emits `ApprovalCancelled` on success."]
17278				#[doc = ""]
17279				#[doc = "Weight: `O(1)`"]
17280				pub fn force_cancel_approval(
17281					&self,
17282					id: types::force_cancel_approval::Id,
17283					owner: types::force_cancel_approval::Owner,
17284					delegate: types::force_cancel_approval::Delegate,
17285				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ForceCancelApproval>
17286				{
17287					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17288						"Assets",
17289						"force_cancel_approval",
17290						types::ForceCancelApproval { id, owner, delegate },
17291						[
17292							27u8, 231u8, 85u8, 241u8, 18u8, 151u8, 64u8, 234u8, 11u8, 84u8, 252u8,
17293							128u8, 44u8, 247u8, 132u8, 82u8, 34u8, 210u8, 202u8, 50u8, 158u8, 45u8,
17294							239u8, 192u8, 7u8, 24u8, 39u8, 95u8, 57u8, 21u8, 178u8, 113u8,
17295						],
17296					)
17297				}
17298				#[doc = "Transfer some asset balance from a previously delegated account to some third-party"]
17299				#[doc = "account."]
17300				#[doc = ""]
17301				#[doc = "Origin must be Signed and there must be an approval in place by the `owner` to the"]
17302				#[doc = "signer."]
17303				#[doc = ""]
17304				#[doc = "If the entire amount approved for transfer is transferred, then any deposit previously"]
17305				#[doc = "reserved by `approve_transfer` is unreserved."]
17306				#[doc = ""]
17307				#[doc = "- `id`: The identifier of the asset."]
17308				#[doc = "- `owner`: The account which previously approved for a transfer of at least `amount` and"]
17309				#[doc = "from which the asset balance will be withdrawn."]
17310				#[doc = "- `destination`: The account to which the asset balance of `amount` will be transferred."]
17311				#[doc = "- `amount`: The amount of assets to transfer."]
17312				#[doc = ""]
17313				#[doc = "Emits `TransferredApproved` on success."]
17314				#[doc = ""]
17315				#[doc = "Weight: `O(1)`"]
17316				pub fn transfer_approved(
17317					&self,
17318					id: types::transfer_approved::Id,
17319					owner: types::transfer_approved::Owner,
17320					destination: types::transfer_approved::Destination,
17321					amount: types::transfer_approved::Amount,
17322				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferApproved>
17323				{
17324					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17325						"Assets",
17326						"transfer_approved",
17327						types::TransferApproved { id, owner, destination, amount },
17328						[
17329							214u8, 51u8, 243u8, 129u8, 116u8, 233u8, 199u8, 183u8, 25u8, 5u8,
17330							109u8, 85u8, 255u8, 68u8, 36u8, 99u8, 99u8, 179u8, 34u8, 66u8, 65u8,
17331							82u8, 189u8, 174u8, 22u8, 100u8, 211u8, 13u8, 178u8, 19u8, 128u8,
17332							177u8,
17333						],
17334					)
17335				}
17336				#[doc = "Create an asset account for non-provider assets."]
17337				#[doc = ""]
17338				#[doc = "A deposit will be taken from the signer account."]
17339				#[doc = ""]
17340				#[doc = "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit"]
17341				#[doc = "  to be taken."]
17342				#[doc = "- `id`: The identifier of the asset for the account to be created."]
17343				#[doc = ""]
17344				#[doc = "Emits `Touched` event when successful."]
17345				pub fn touch(
17346					&self,
17347					id: types::touch::Id,
17348				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Touch> {
17349					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17350						"Assets",
17351						"touch",
17352						types::Touch { id },
17353						[
17354							50u8, 185u8, 46u8, 134u8, 136u8, 31u8, 191u8, 34u8, 215u8, 150u8, 73u8,
17355							103u8, 140u8, 36u8, 95u8, 156u8, 201u8, 152u8, 32u8, 165u8, 47u8, 86u8,
17356							163u8, 255u8, 8u8, 251u8, 176u8, 138u8, 165u8, 48u8, 12u8, 27u8,
17357						],
17358					)
17359				}
17360				#[doc = "Return the deposit (if any) of an asset account or a consumer reference (if any) of an"]
17361				#[doc = "account."]
17362				#[doc = ""]
17363				#[doc = "The origin must be Signed."]
17364				#[doc = ""]
17365				#[doc = "- `id`: The identifier of the asset for which the caller would like the deposit"]
17366				#[doc = "  refunded."]
17367				#[doc = "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund."]
17368				#[doc = ""]
17369				#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
17370				#[doc = "the asset account contains holds or freezes in place."]
17371				#[doc = ""]
17372				#[doc = "Emits `Refunded` event when successful."]
17373				pub fn refund(
17374					&self,
17375					id: types::refund::Id,
17376					allow_burn: types::refund::AllowBurn,
17377				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Refund> {
17378					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17379						"Assets",
17380						"refund",
17381						types::Refund { id, allow_burn },
17382						[
17383							218u8, 207u8, 8u8, 41u8, 154u8, 250u8, 117u8, 174u8, 143u8, 133u8,
17384							34u8, 113u8, 171u8, 18u8, 177u8, 227u8, 146u8, 92u8, 12u8, 226u8,
17385							101u8, 230u8, 246u8, 162u8, 32u8, 73u8, 138u8, 158u8, 95u8, 226u8,
17386							75u8, 95u8,
17387						],
17388					)
17389				}
17390				#[doc = "Sets the minimum balance of an asset."]
17391				#[doc = ""]
17392				#[doc = "Only works if there aren't any accounts that are holding the asset or if"]
17393				#[doc = "the new value of `min_balance` is less than the old one."]
17394				#[doc = ""]
17395				#[doc = "Origin must be Signed and the sender has to be the Owner of the"]
17396				#[doc = "asset `id`."]
17397				#[doc = ""]
17398				#[doc = "- `id`: The identifier of the asset."]
17399				#[doc = "- `min_balance`: The new value of `min_balance`."]
17400				#[doc = ""]
17401				#[doc = "Emits `AssetMinBalanceChanged` event when successful."]
17402				pub fn set_min_balance(
17403					&self,
17404					id: types::set_min_balance::Id,
17405					min_balance: types::set_min_balance::MinBalance,
17406				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetMinBalance>
17407				{
17408					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17409						"Assets",
17410						"set_min_balance",
17411						types::SetMinBalance { id, min_balance },
17412						[
17413							141u8, 241u8, 137u8, 50u8, 232u8, 122u8, 252u8, 104u8, 185u8, 170u8,
17414							246u8, 0u8, 20u8, 128u8, 136u8, 155u8, 62u8, 243u8, 4u8, 221u8, 42u8,
17415							225u8, 16u8, 245u8, 58u8, 127u8, 84u8, 193u8, 175u8, 165u8, 35u8, 49u8,
17416						],
17417					)
17418				}
17419				#[doc = "Create an asset account for `who`."]
17420				#[doc = ""]
17421				#[doc = "A deposit will be taken from the signer account."]
17422				#[doc = ""]
17423				#[doc = "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit"]
17424				#[doc = "  to be taken."]
17425				#[doc = "- `id`: The identifier of the asset for the account to be created, the asset status must"]
17426				#[doc = "  be live."]
17427				#[doc = "- `who`: The account to be created."]
17428				#[doc = ""]
17429				#[doc = "Emits `Touched` event when successful."]
17430				pub fn touch_other(
17431					&self,
17432					id: types::touch_other::Id,
17433					who: types::touch_other::Who,
17434				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TouchOther> {
17435					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17436						"Assets",
17437						"touch_other",
17438						types::TouchOther { id, who },
17439						[
17440							104u8, 85u8, 80u8, 68u8, 135u8, 149u8, 102u8, 104u8, 188u8, 79u8, 42u8,
17441							34u8, 241u8, 84u8, 183u8, 176u8, 215u8, 172u8, 78u8, 196u8, 206u8,
17442							214u8, 138u8, 240u8, 92u8, 65u8, 117u8, 170u8, 140u8, 120u8, 50u8,
17443							166u8,
17444						],
17445					)
17446				}
17447				#[doc = "Return the deposit (if any) of a target asset account. Useful if you are the depositor."]
17448				#[doc = ""]
17449				#[doc = "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In"]
17450				#[doc = "order to burn a non-zero balance of the asset, the caller must be the account and should"]
17451				#[doc = "use `refund`."]
17452				#[doc = ""]
17453				#[doc = "- `id`: The identifier of the asset for the account holding a deposit."]
17454				#[doc = "- `who`: The account to refund."]
17455				#[doc = ""]
17456				#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
17457				#[doc = "the asset account contains holds or freezes in place."]
17458				#[doc = ""]
17459				#[doc = "Emits `Refunded` event when successful."]
17460				pub fn refund_other(
17461					&self,
17462					id: types::refund_other::Id,
17463					who: types::refund_other::Who,
17464				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RefundOther> {
17465					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17466						"Assets",
17467						"refund_other",
17468						types::RefundOther { id, who },
17469						[
17470							113u8, 58u8, 33u8, 109u8, 233u8, 229u8, 210u8, 40u8, 176u8, 252u8,
17471							131u8, 80u8, 33u8, 132u8, 19u8, 170u8, 145u8, 146u8, 246u8, 31u8,
17472							222u8, 120u8, 167u8, 187u8, 8u8, 144u8, 164u8, 251u8, 52u8, 249u8,
17473							91u8, 136u8,
17474						],
17475					)
17476				}
17477				#[doc = "Disallow further unprivileged transfers of an asset `id` to and from an account `who`."]
17478				#[doc = ""]
17479				#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
17480				#[doc = ""]
17481				#[doc = "- `id`: The identifier of the account's asset."]
17482				#[doc = "- `who`: The account to be unblocked."]
17483				#[doc = ""]
17484				#[doc = "Emits `Blocked`."]
17485				#[doc = ""]
17486				#[doc = "Weight: `O(1)`"]
17487				pub fn block(
17488					&self,
17489					id: types::block::Id,
17490					who: types::block::Who,
17491				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Block> {
17492					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17493						"Assets",
17494						"block",
17495						types::Block { id, who },
17496						[
17497							224u8, 63u8, 26u8, 229u8, 23u8, 164u8, 212u8, 170u8, 156u8, 104u8,
17498							63u8, 158u8, 53u8, 162u8, 157u8, 127u8, 183u8, 94u8, 211u8, 123u8,
17499							228u8, 198u8, 47u8, 80u8, 53u8, 122u8, 46u8, 69u8, 67u8, 170u8, 193u8,
17500							33u8,
17501						],
17502					)
17503				}
17504				#[doc = "Transfer the entire transferable balance from the caller asset account."]
17505				#[doc = ""]
17506				#[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"]
17507				#[doc = "any held, frozen, or minimum balance (when `keep_alive` is `true`), will not be"]
17508				#[doc = "transferred by this function. To ensure that this function results in a killed account,"]
17509				#[doc = "you might need to prepare the account by removing any reference counters, storage"]
17510				#[doc = "deposits, etc..."]
17511				#[doc = ""]
17512				#[doc = "The dispatch origin of this call must be Signed."]
17513				#[doc = ""]
17514				#[doc = "- `id`: The identifier of the asset for the account holding a deposit."]
17515				#[doc = "- `dest`: The recipient of the transfer."]
17516				#[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"]
17517				#[doc = "  of the funds the asset account has, causing the sender asset account to be killed"]
17518				#[doc = "  (false), or transfer everything except at least the minimum balance, which will"]
17519				#[doc = "  guarantee to keep the sender asset account alive (true)."]
17520				pub fn transfer_all(
17521					&self,
17522					id: types::transfer_all::Id,
17523					dest: types::transfer_all::Dest,
17524					keep_alive: types::transfer_all::KeepAlive,
17525				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::TransferAll> {
17526					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17527						"Assets",
17528						"transfer_all",
17529						types::TransferAll { id, dest, keep_alive },
17530						[
17531							180u8, 161u8, 252u8, 127u8, 200u8, 117u8, 245u8, 213u8, 170u8, 169u8,
17532							178u8, 115u8, 156u8, 8u8, 79u8, 50u8, 168u8, 229u8, 87u8, 33u8, 238u8,
17533							124u8, 13u8, 210u8, 81u8, 132u8, 236u8, 46u8, 101u8, 18u8, 22u8, 61u8,
17534						],
17535					)
17536				}
17537				#[doc = "Sets the trusted reserve information of an asset."]
17538				#[doc = ""]
17539				#[doc = "Origin must be the Owner of the asset `id`. The origin must conform to the configured"]
17540				#[doc = "`CreateOrigin` or be the signed `owner` configured during asset creation."]
17541				#[doc = ""]
17542				#[doc = "- `id`: The identifier of the asset."]
17543				#[doc = "- `reserves`: The full list of trusted reserves information."]
17544				#[doc = ""]
17545				#[doc = "Emits `AssetMinBalanceChanged` event when successful."]
17546				pub fn set_reserves(
17547					&self,
17548					id: types::set_reserves::Id,
17549					reserves: types::set_reserves::Reserves,
17550				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::SetReserves> {
17551					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
17552						"Assets",
17553						"set_reserves",
17554						types::SetReserves { id, reserves },
17555						[
17556							170u8, 210u8, 175u8, 235u8, 220u8, 223u8, 164u8, 253u8, 189u8, 4u8,
17557							100u8, 160u8, 181u8, 44u8, 79u8, 187u8, 37u8, 102u8, 0u8, 187u8, 48u8,
17558							82u8, 247u8, 200u8, 2u8, 141u8, 57u8, 55u8, 224u8, 32u8, 176u8, 231u8,
17559						],
17560					)
17561				}
17562			}
17563		}
17564		pub mod view_functions {
17565			use super::{root_mod, runtime_types};
17566			pub struct ViewFunctionsApi;
17567			impl ViewFunctionsApi {
17568				#[doc = " Provide the asset details for asset `id`."]
17569				pub fn asset_details(
17570					&self,
17571					id: asset_details::Id,
17572				) -> ::subxt::ext::subxt_core::view_functions::payload::StaticPayload<
17573					asset_details::Input,
17574					asset_details::output::Output,
17575				> {
17576					::subxt::ext::subxt_core::view_functions::payload::StaticPayload::new_static(
17577						[
17578							104u8, 42u8, 89u8, 213u8, 26u8, 185u8, 228u8, 138u8, 140u8, 140u8,
17579							196u8, 24u8, 255u8, 151u8, 8u8, 210u8, 167u8, 2u8, 151u8, 173u8, 11u8,
17580							75u8, 221u8, 61u8, 164u8, 183u8, 70u8, 41u8, 166u8, 90u8, 110u8, 92u8,
17581						],
17582						asset_details::Input { id },
17583						[
17584							211u8, 90u8, 10u8, 200u8, 75u8, 44u8, 223u8, 16u8, 230u8, 165u8, 250u8,
17585							228u8, 154u8, 9u8, 130u8, 112u8, 113u8, 184u8, 170u8, 127u8, 188u8,
17586							95u8, 63u8, 51u8, 78u8, 130u8, 147u8, 123u8, 190u8, 170u8, 16u8, 65u8,
17587						],
17588					)
17589				}
17590				#[doc = " Provide the balance of `who` for asset `id`."]
17591				pub fn balance_of(
17592					&self,
17593					who: balance_of::Who,
17594					id: balance_of::Id,
17595				) -> ::subxt::ext::subxt_core::view_functions::payload::StaticPayload<
17596					balance_of::Input,
17597					balance_of::output::Output,
17598				> {
17599					::subxt::ext::subxt_core::view_functions::payload::StaticPayload::new_static(
17600						[
17601							104u8, 42u8, 89u8, 213u8, 26u8, 185u8, 228u8, 138u8, 140u8, 140u8,
17602							196u8, 24u8, 255u8, 151u8, 8u8, 210u8, 83u8, 26u8, 199u8, 226u8, 27u8,
17603							118u8, 177u8, 33u8, 231u8, 97u8, 228u8, 115u8, 65u8, 154u8, 27u8, 2u8,
17604						],
17605						balance_of::Input { who, id },
17606						[
17607							111u8, 166u8, 174u8, 198u8, 50u8, 246u8, 223u8, 192u8, 195u8, 6u8,
17608							218u8, 113u8, 85u8, 251u8, 79u8, 59u8, 196u8, 83u8, 39u8, 141u8, 200u8,
17609							113u8, 92u8, 67u8, 110u8, 112u8, 255u8, 77u8, 94u8, 232u8, 148u8,
17610							189u8,
17611						],
17612					)
17613				}
17614				#[doc = " Provide the configured metadata for asset `id`."]
17615				pub fn get_metadata(
17616					&self,
17617					id: get_metadata::Id,
17618				) -> ::subxt::ext::subxt_core::view_functions::payload::StaticPayload<
17619					get_metadata::Input,
17620					get_metadata::output::Output,
17621				> {
17622					::subxt::ext::subxt_core::view_functions::payload::StaticPayload::new_static(
17623						[
17624							104u8, 42u8, 89u8, 213u8, 26u8, 185u8, 228u8, 138u8, 140u8, 140u8,
17625							196u8, 24u8, 255u8, 151u8, 8u8, 210u8, 46u8, 135u8, 102u8, 164u8, 13u8,
17626							27u8, 105u8, 214u8, 21u8, 27u8, 216u8, 1u8, 229u8, 117u8, 80u8, 94u8,
17627						],
17628						get_metadata::Input { id },
17629						[
17630							194u8, 126u8, 37u8, 51u8, 199u8, 8u8, 17u8, 77u8, 127u8, 118u8, 9u8,
17631							196u8, 248u8, 40u8, 136u8, 175u8, 243u8, 35u8, 137u8, 159u8, 137u8,
17632							162u8, 58u8, 4u8, 206u8, 51u8, 222u8, 234u8, 218u8, 8u8, 23u8, 195u8,
17633						],
17634					)
17635				}
17636				#[doc = " Provide the configured reserves data for asset `id`."]
17637				pub fn get_reserves_data(
17638					&self,
17639					id: get_reserves_data::Id,
17640				) -> ::subxt::ext::subxt_core::view_functions::payload::StaticPayload<
17641					get_reserves_data::Input,
17642					get_reserves_data::output::Output,
17643				> {
17644					::subxt::ext::subxt_core::view_functions::payload::StaticPayload::new_static(
17645						[
17646							104u8, 42u8, 89u8, 213u8, 26u8, 185u8, 228u8, 138u8, 140u8, 140u8,
17647							196u8, 24u8, 255u8, 151u8, 8u8, 210u8, 100u8, 246u8, 63u8, 41u8, 35u8,
17648							227u8, 152u8, 40u8, 36u8, 49u8, 99u8, 129u8, 174u8, 30u8, 105u8, 134u8,
17649						],
17650						get_reserves_data::Input { id },
17651						[
17652							209u8, 99u8, 108u8, 142u8, 202u8, 226u8, 194u8, 23u8, 99u8, 165u8,
17653							72u8, 212u8, 158u8, 187u8, 5u8, 201u8, 58u8, 51u8, 161u8, 119u8, 0u8,
17654							58u8, 15u8, 109u8, 255u8, 0u8, 192u8, 222u8, 51u8, 241u8, 34u8, 116u8,
17655						],
17656					)
17657				}
17658			}
17659			pub mod asset_details {
17660				use super::{root_mod, runtime_types};
17661				#[derive(
17662					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17663					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17664					Debug,
17665				)]
17666				#[decode_as_type(
17667					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17668				)]
17669				#[encode_as_type(
17670					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17671				)]
17672				pub struct Input {
17673					pub id: Id,
17674				}
17675				pub type Id = ::core::primitive::u32;
17676				pub mod output {
17677					use super::runtime_types;
17678					pub type Output = ::core::option::Option<
17679						runtime_types::pallet_assets::types::AssetDetails<
17680							::core::primitive::u128,
17681							::subxt::ext::subxt_core::utils::AccountId32,
17682							::core::primitive::u128,
17683						>,
17684					>;
17685				}
17686			}
17687			pub mod balance_of {
17688				use super::{root_mod, runtime_types};
17689				#[derive(
17690					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17691					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17692					Debug,
17693				)]
17694				#[decode_as_type(
17695					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17696				)]
17697				#[encode_as_type(
17698					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17699				)]
17700				pub struct Input {
17701					pub who: Who,
17702					pub id: Id,
17703				}
17704				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
17705				pub type Id = ::core::primitive::u32;
17706				pub mod output {
17707					use super::runtime_types;
17708					pub type Output = ::core::option::Option<::core::primitive::u128>;
17709				}
17710			}
17711			pub mod get_metadata {
17712				use super::{root_mod, runtime_types};
17713				#[derive(
17714					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17715					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17716					Debug,
17717				)]
17718				#[decode_as_type(
17719					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17720				)]
17721				#[encode_as_type(
17722					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17723				)]
17724				pub struct Input {
17725					pub id: Id,
17726				}
17727				pub type Id = ::core::primitive::u32;
17728				pub mod output {
17729					use super::runtime_types;
17730					pub type Output = ::core::option::Option<
17731						runtime_types::pallet_assets::types::AssetMetadata<
17732							::core::primitive::u128,
17733							runtime_types::bounded_collections::bounded_vec::BoundedVec<
17734								::core::primitive::u8,
17735							>,
17736						>,
17737					>;
17738				}
17739			}
17740			pub mod get_reserves_data {
17741				use super::{root_mod, runtime_types};
17742				#[derive(
17743					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17744					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17745					Debug,
17746				)]
17747				#[decode_as_type(
17748					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
17749				)]
17750				#[encode_as_type(
17751					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
17752				)]
17753				pub struct Input {
17754					pub id: Id,
17755				}
17756				pub type Id = ::core::primitive::u32;
17757				pub mod output {
17758					use super::runtime_types;
17759					pub type Output = ::subxt::ext::subxt_core::alloc::vec::Vec<()>;
17760				}
17761			}
17762		}
17763		#[doc = "The `Event` enum of this pallet"]
17764		pub type Event = runtime_types::pallet_assets::pallet::Event;
17765		pub mod events {
17766			use super::runtime_types;
17767			#[derive(
17768				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17769				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17770				Debug,
17771			)]
17772			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17773			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17774			#[doc = "Some asset class was created."]
17775			pub struct Created {
17776				pub asset_id: created::AssetId,
17777				pub creator: created::Creator,
17778				pub owner: created::Owner,
17779			}
17780			pub mod created {
17781				use super::runtime_types;
17782				pub type AssetId = ::core::primitive::u32;
17783				pub type Creator = ::subxt::ext::subxt_core::utils::AccountId32;
17784				pub type Owner = ::subxt::ext::subxt_core::utils::AccountId32;
17785			}
17786			impl ::subxt::ext::subxt_core::events::StaticEvent for Created {
17787				const PALLET: &'static str = "Assets";
17788				const EVENT: &'static str = "Created";
17789			}
17790			#[derive(
17791				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17792				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17793				Debug,
17794			)]
17795			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17796			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17797			#[doc = "Some assets were issued."]
17798			pub struct Issued {
17799				pub asset_id: issued::AssetId,
17800				pub owner: issued::Owner,
17801				pub amount: issued::Amount,
17802			}
17803			pub mod issued {
17804				use super::runtime_types;
17805				pub type AssetId = ::core::primitive::u32;
17806				pub type Owner = ::subxt::ext::subxt_core::utils::AccountId32;
17807				pub type Amount = ::core::primitive::u128;
17808			}
17809			impl ::subxt::ext::subxt_core::events::StaticEvent for Issued {
17810				const PALLET: &'static str = "Assets";
17811				const EVENT: &'static str = "Issued";
17812			}
17813			#[derive(
17814				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17815				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17816				Debug,
17817			)]
17818			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17819			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17820			#[doc = "Some assets were transferred."]
17821			pub struct Transferred {
17822				pub asset_id: transferred::AssetId,
17823				pub from: transferred::From,
17824				pub to: transferred::To,
17825				pub amount: transferred::Amount,
17826			}
17827			pub mod transferred {
17828				use super::runtime_types;
17829				pub type AssetId = ::core::primitive::u32;
17830				pub type From = ::subxt::ext::subxt_core::utils::AccountId32;
17831				pub type To = ::subxt::ext::subxt_core::utils::AccountId32;
17832				pub type Amount = ::core::primitive::u128;
17833			}
17834			impl ::subxt::ext::subxt_core::events::StaticEvent for Transferred {
17835				const PALLET: &'static str = "Assets";
17836				const EVENT: &'static str = "Transferred";
17837			}
17838			#[derive(
17839				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17840				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17841				Debug,
17842			)]
17843			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17844			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17845			#[doc = "Some assets were destroyed."]
17846			pub struct Burned {
17847				pub asset_id: burned::AssetId,
17848				pub owner: burned::Owner,
17849				pub balance: burned::Balance,
17850			}
17851			pub mod burned {
17852				use super::runtime_types;
17853				pub type AssetId = ::core::primitive::u32;
17854				pub type Owner = ::subxt::ext::subxt_core::utils::AccountId32;
17855				pub type Balance = ::core::primitive::u128;
17856			}
17857			impl ::subxt::ext::subxt_core::events::StaticEvent for Burned {
17858				const PALLET: &'static str = "Assets";
17859				const EVENT: &'static str = "Burned";
17860			}
17861			#[derive(
17862				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17863				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17864				Debug,
17865			)]
17866			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17867			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17868			#[doc = "The management team changed."]
17869			pub struct TeamChanged {
17870				pub asset_id: team_changed::AssetId,
17871				pub issuer: team_changed::Issuer,
17872				pub admin: team_changed::Admin,
17873				pub freezer: team_changed::Freezer,
17874			}
17875			pub mod team_changed {
17876				use super::runtime_types;
17877				pub type AssetId = ::core::primitive::u32;
17878				pub type Issuer = ::subxt::ext::subxt_core::utils::AccountId32;
17879				pub type Admin = ::subxt::ext::subxt_core::utils::AccountId32;
17880				pub type Freezer = ::subxt::ext::subxt_core::utils::AccountId32;
17881			}
17882			impl ::subxt::ext::subxt_core::events::StaticEvent for TeamChanged {
17883				const PALLET: &'static str = "Assets";
17884				const EVENT: &'static str = "TeamChanged";
17885			}
17886			#[derive(
17887				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17888				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17889				Debug,
17890			)]
17891			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17892			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17893			#[doc = "The owner changed."]
17894			pub struct OwnerChanged {
17895				pub asset_id: owner_changed::AssetId,
17896				pub owner: owner_changed::Owner,
17897			}
17898			pub mod owner_changed {
17899				use super::runtime_types;
17900				pub type AssetId = ::core::primitive::u32;
17901				pub type Owner = ::subxt::ext::subxt_core::utils::AccountId32;
17902			}
17903			impl ::subxt::ext::subxt_core::events::StaticEvent for OwnerChanged {
17904				const PALLET: &'static str = "Assets";
17905				const EVENT: &'static str = "OwnerChanged";
17906			}
17907			#[derive(
17908				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17909				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17910				Debug,
17911			)]
17912			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17913			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17914			#[doc = "Some account `who` was frozen."]
17915			pub struct Frozen {
17916				pub asset_id: frozen::AssetId,
17917				pub who: frozen::Who,
17918			}
17919			pub mod frozen {
17920				use super::runtime_types;
17921				pub type AssetId = ::core::primitive::u32;
17922				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
17923			}
17924			impl ::subxt::ext::subxt_core::events::StaticEvent for Frozen {
17925				const PALLET: &'static str = "Assets";
17926				const EVENT: &'static str = "Frozen";
17927			}
17928			#[derive(
17929				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17930				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17931				Debug,
17932			)]
17933			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17934			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17935			#[doc = "Some account `who` was thawed."]
17936			pub struct Thawed {
17937				pub asset_id: thawed::AssetId,
17938				pub who: thawed::Who,
17939			}
17940			pub mod thawed {
17941				use super::runtime_types;
17942				pub type AssetId = ::core::primitive::u32;
17943				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
17944			}
17945			impl ::subxt::ext::subxt_core::events::StaticEvent for Thawed {
17946				const PALLET: &'static str = "Assets";
17947				const EVENT: &'static str = "Thawed";
17948			}
17949			#[derive(
17950				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17951				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17952				Debug,
17953			)]
17954			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17955			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17956			#[doc = "Some asset `asset_id` was frozen."]
17957			pub struct AssetFrozen {
17958				pub asset_id: asset_frozen::AssetId,
17959			}
17960			pub mod asset_frozen {
17961				use super::runtime_types;
17962				pub type AssetId = ::core::primitive::u32;
17963			}
17964			impl ::subxt::ext::subxt_core::events::StaticEvent for AssetFrozen {
17965				const PALLET: &'static str = "Assets";
17966				const EVENT: &'static str = "AssetFrozen";
17967			}
17968			#[derive(
17969				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17970				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17971				Debug,
17972			)]
17973			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17974			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17975			#[doc = "Some asset `asset_id` was thawed."]
17976			pub struct AssetThawed {
17977				pub asset_id: asset_thawed::AssetId,
17978			}
17979			pub mod asset_thawed {
17980				use super::runtime_types;
17981				pub type AssetId = ::core::primitive::u32;
17982			}
17983			impl ::subxt::ext::subxt_core::events::StaticEvent for AssetThawed {
17984				const PALLET: &'static str = "Assets";
17985				const EVENT: &'static str = "AssetThawed";
17986			}
17987			#[derive(
17988				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
17989				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
17990				Debug,
17991			)]
17992			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
17993			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
17994			#[doc = "Accounts were destroyed for given asset."]
17995			pub struct AccountsDestroyed {
17996				pub asset_id: accounts_destroyed::AssetId,
17997				pub accounts_destroyed: accounts_destroyed::AccountsDestroyed,
17998				pub accounts_remaining: accounts_destroyed::AccountsRemaining,
17999			}
18000			pub mod accounts_destroyed {
18001				use super::runtime_types;
18002				pub type AssetId = ::core::primitive::u32;
18003				pub type AccountsDestroyed = ::core::primitive::u32;
18004				pub type AccountsRemaining = ::core::primitive::u32;
18005			}
18006			impl ::subxt::ext::subxt_core::events::StaticEvent for AccountsDestroyed {
18007				const PALLET: &'static str = "Assets";
18008				const EVENT: &'static str = "AccountsDestroyed";
18009			}
18010			#[derive(
18011				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18012				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18013				Debug,
18014			)]
18015			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18016			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18017			#[doc = "Approvals were destroyed for given asset."]
18018			pub struct ApprovalsDestroyed {
18019				pub asset_id: approvals_destroyed::AssetId,
18020				pub approvals_destroyed: approvals_destroyed::ApprovalsDestroyed,
18021				pub approvals_remaining: approvals_destroyed::ApprovalsRemaining,
18022			}
18023			pub mod approvals_destroyed {
18024				use super::runtime_types;
18025				pub type AssetId = ::core::primitive::u32;
18026				pub type ApprovalsDestroyed = ::core::primitive::u32;
18027				pub type ApprovalsRemaining = ::core::primitive::u32;
18028			}
18029			impl ::subxt::ext::subxt_core::events::StaticEvent for ApprovalsDestroyed {
18030				const PALLET: &'static str = "Assets";
18031				const EVENT: &'static str = "ApprovalsDestroyed";
18032			}
18033			#[derive(
18034				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18035				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18036				Debug,
18037			)]
18038			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18039			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18040			#[doc = "An asset class is in the process of being destroyed."]
18041			pub struct DestructionStarted {
18042				pub asset_id: destruction_started::AssetId,
18043			}
18044			pub mod destruction_started {
18045				use super::runtime_types;
18046				pub type AssetId = ::core::primitive::u32;
18047			}
18048			impl ::subxt::ext::subxt_core::events::StaticEvent for DestructionStarted {
18049				const PALLET: &'static str = "Assets";
18050				const EVENT: &'static str = "DestructionStarted";
18051			}
18052			#[derive(
18053				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18054				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18055				Debug,
18056			)]
18057			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18058			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18059			#[doc = "An asset class was destroyed."]
18060			pub struct Destroyed {
18061				pub asset_id: destroyed::AssetId,
18062			}
18063			pub mod destroyed {
18064				use super::runtime_types;
18065				pub type AssetId = ::core::primitive::u32;
18066			}
18067			impl ::subxt::ext::subxt_core::events::StaticEvent for Destroyed {
18068				const PALLET: &'static str = "Assets";
18069				const EVENT: &'static str = "Destroyed";
18070			}
18071			#[derive(
18072				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18073				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18074				Debug,
18075			)]
18076			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18077			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18078			#[doc = "Some asset class was force-created."]
18079			pub struct ForceCreated {
18080				pub asset_id: force_created::AssetId,
18081				pub owner: force_created::Owner,
18082			}
18083			pub mod force_created {
18084				use super::runtime_types;
18085				pub type AssetId = ::core::primitive::u32;
18086				pub type Owner = ::subxt::ext::subxt_core::utils::AccountId32;
18087			}
18088			impl ::subxt::ext::subxt_core::events::StaticEvent for ForceCreated {
18089				const PALLET: &'static str = "Assets";
18090				const EVENT: &'static str = "ForceCreated";
18091			}
18092			#[derive(
18093				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18094				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18095				Debug,
18096			)]
18097			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18098			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18099			#[doc = "New metadata has been set for an asset."]
18100			pub struct MetadataSet {
18101				pub asset_id: metadata_set::AssetId,
18102				pub name: metadata_set::Name,
18103				pub symbol: metadata_set::Symbol,
18104				pub decimals: metadata_set::Decimals,
18105				pub is_frozen: metadata_set::IsFrozen,
18106			}
18107			pub mod metadata_set {
18108				use super::runtime_types;
18109				pub type AssetId = ::core::primitive::u32;
18110				pub type Name = ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
18111				pub type Symbol = ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
18112				pub type Decimals = ::core::primitive::u8;
18113				pub type IsFrozen = ::core::primitive::bool;
18114			}
18115			impl ::subxt::ext::subxt_core::events::StaticEvent for MetadataSet {
18116				const PALLET: &'static str = "Assets";
18117				const EVENT: &'static str = "MetadataSet";
18118			}
18119			#[derive(
18120				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18121				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18122				Debug,
18123			)]
18124			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18125			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18126			#[doc = "Metadata has been cleared for an asset."]
18127			pub struct MetadataCleared {
18128				pub asset_id: metadata_cleared::AssetId,
18129			}
18130			pub mod metadata_cleared {
18131				use super::runtime_types;
18132				pub type AssetId = ::core::primitive::u32;
18133			}
18134			impl ::subxt::ext::subxt_core::events::StaticEvent for MetadataCleared {
18135				const PALLET: &'static str = "Assets";
18136				const EVENT: &'static str = "MetadataCleared";
18137			}
18138			#[derive(
18139				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18140				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18141				Debug,
18142			)]
18143			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18144			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18145			#[doc = "(Additional) funds have been approved for transfer to a destination account."]
18146			pub struct ApprovedTransfer {
18147				pub asset_id: approved_transfer::AssetId,
18148				pub source: approved_transfer::Source,
18149				pub delegate: approved_transfer::Delegate,
18150				pub amount: approved_transfer::Amount,
18151			}
18152			pub mod approved_transfer {
18153				use super::runtime_types;
18154				pub type AssetId = ::core::primitive::u32;
18155				pub type Source = ::subxt::ext::subxt_core::utils::AccountId32;
18156				pub type Delegate = ::subxt::ext::subxt_core::utils::AccountId32;
18157				pub type Amount = ::core::primitive::u128;
18158			}
18159			impl ::subxt::ext::subxt_core::events::StaticEvent for ApprovedTransfer {
18160				const PALLET: &'static str = "Assets";
18161				const EVENT: &'static str = "ApprovedTransfer";
18162			}
18163			#[derive(
18164				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18165				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18166				Debug,
18167			)]
18168			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18169			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18170			#[doc = "An approval for account `delegate` was cancelled by `owner`."]
18171			pub struct ApprovalCancelled {
18172				pub asset_id: approval_cancelled::AssetId,
18173				pub owner: approval_cancelled::Owner,
18174				pub delegate: approval_cancelled::Delegate,
18175			}
18176			pub mod approval_cancelled {
18177				use super::runtime_types;
18178				pub type AssetId = ::core::primitive::u32;
18179				pub type Owner = ::subxt::ext::subxt_core::utils::AccountId32;
18180				pub type Delegate = ::subxt::ext::subxt_core::utils::AccountId32;
18181			}
18182			impl ::subxt::ext::subxt_core::events::StaticEvent for ApprovalCancelled {
18183				const PALLET: &'static str = "Assets";
18184				const EVENT: &'static str = "ApprovalCancelled";
18185			}
18186			#[derive(
18187				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18188				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18189				Debug,
18190			)]
18191			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18192			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18193			#[doc = "An `amount` was transferred in its entirety from `owner` to `destination` by"]
18194			#[doc = "the approved `delegate`."]
18195			pub struct TransferredApproved {
18196				pub asset_id: transferred_approved::AssetId,
18197				pub owner: transferred_approved::Owner,
18198				pub delegate: transferred_approved::Delegate,
18199				pub destination: transferred_approved::Destination,
18200				pub amount: transferred_approved::Amount,
18201			}
18202			pub mod transferred_approved {
18203				use super::runtime_types;
18204				pub type AssetId = ::core::primitive::u32;
18205				pub type Owner = ::subxt::ext::subxt_core::utils::AccountId32;
18206				pub type Delegate = ::subxt::ext::subxt_core::utils::AccountId32;
18207				pub type Destination = ::subxt::ext::subxt_core::utils::AccountId32;
18208				pub type Amount = ::core::primitive::u128;
18209			}
18210			impl ::subxt::ext::subxt_core::events::StaticEvent for TransferredApproved {
18211				const PALLET: &'static str = "Assets";
18212				const EVENT: &'static str = "TransferredApproved";
18213			}
18214			#[derive(
18215				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18216				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18217				Debug,
18218			)]
18219			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18220			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18221			#[doc = "An asset has had its attributes changed by the `Force` origin."]
18222			pub struct AssetStatusChanged {
18223				pub asset_id: asset_status_changed::AssetId,
18224			}
18225			pub mod asset_status_changed {
18226				use super::runtime_types;
18227				pub type AssetId = ::core::primitive::u32;
18228			}
18229			impl ::subxt::ext::subxt_core::events::StaticEvent for AssetStatusChanged {
18230				const PALLET: &'static str = "Assets";
18231				const EVENT: &'static str = "AssetStatusChanged";
18232			}
18233			#[derive(
18234				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18235				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18236				Debug,
18237			)]
18238			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18239			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18240			#[doc = "The min_balance of an asset has been updated by the asset owner."]
18241			pub struct AssetMinBalanceChanged {
18242				pub asset_id: asset_min_balance_changed::AssetId,
18243				pub new_min_balance: asset_min_balance_changed::NewMinBalance,
18244			}
18245			pub mod asset_min_balance_changed {
18246				use super::runtime_types;
18247				pub type AssetId = ::core::primitive::u32;
18248				pub type NewMinBalance = ::core::primitive::u128;
18249			}
18250			impl ::subxt::ext::subxt_core::events::StaticEvent for AssetMinBalanceChanged {
18251				const PALLET: &'static str = "Assets";
18252				const EVENT: &'static str = "AssetMinBalanceChanged";
18253			}
18254			#[derive(
18255				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18256				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18257				Debug,
18258			)]
18259			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18260			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18261			#[doc = "Some account `who` was created with a deposit from `depositor`."]
18262			pub struct Touched {
18263				pub asset_id: touched::AssetId,
18264				pub who: touched::Who,
18265				pub depositor: touched::Depositor,
18266			}
18267			pub mod touched {
18268				use super::runtime_types;
18269				pub type AssetId = ::core::primitive::u32;
18270				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
18271				pub type Depositor = ::subxt::ext::subxt_core::utils::AccountId32;
18272			}
18273			impl ::subxt::ext::subxt_core::events::StaticEvent for Touched {
18274				const PALLET: &'static str = "Assets";
18275				const EVENT: &'static str = "Touched";
18276			}
18277			#[derive(
18278				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18279				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18280				Debug,
18281			)]
18282			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18283			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18284			#[doc = "Some account `who` was blocked."]
18285			pub struct Blocked {
18286				pub asset_id: blocked::AssetId,
18287				pub who: blocked::Who,
18288			}
18289			pub mod blocked {
18290				use super::runtime_types;
18291				pub type AssetId = ::core::primitive::u32;
18292				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
18293			}
18294			impl ::subxt::ext::subxt_core::events::StaticEvent for Blocked {
18295				const PALLET: &'static str = "Assets";
18296				const EVENT: &'static str = "Blocked";
18297			}
18298			#[derive(
18299				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18300				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18301				Debug,
18302			)]
18303			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18304			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18305			#[doc = "Some assets were deposited (e.g. for transaction fees)."]
18306			pub struct Deposited {
18307				pub asset_id: deposited::AssetId,
18308				pub who: deposited::Who,
18309				pub amount: deposited::Amount,
18310			}
18311			pub mod deposited {
18312				use super::runtime_types;
18313				pub type AssetId = ::core::primitive::u32;
18314				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
18315				pub type Amount = ::core::primitive::u128;
18316			}
18317			impl ::subxt::ext::subxt_core::events::StaticEvent for Deposited {
18318				const PALLET: &'static str = "Assets";
18319				const EVENT: &'static str = "Deposited";
18320			}
18321			#[derive(
18322				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18323				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18324				Debug,
18325			)]
18326			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18327			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18328			#[doc = "Some assets were withdrawn from the account (e.g. for transaction fees)."]
18329			pub struct Withdrawn {
18330				pub asset_id: withdrawn::AssetId,
18331				pub who: withdrawn::Who,
18332				pub amount: withdrawn::Amount,
18333			}
18334			pub mod withdrawn {
18335				use super::runtime_types;
18336				pub type AssetId = ::core::primitive::u32;
18337				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
18338				pub type Amount = ::core::primitive::u128;
18339			}
18340			impl ::subxt::ext::subxt_core::events::StaticEvent for Withdrawn {
18341				const PALLET: &'static str = "Assets";
18342				const EVENT: &'static str = "Withdrawn";
18343			}
18344			#[derive(
18345				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18346				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18347				Debug,
18348			)]
18349			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18350			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18351			#[doc = "Reserve information was set or updated for `asset_id`."]
18352			pub struct ReservesUpdated {
18353				pub asset_id: reserves_updated::AssetId,
18354				pub reserves: reserves_updated::Reserves,
18355			}
18356			pub mod reserves_updated {
18357				use super::runtime_types;
18358				pub type AssetId = ::core::primitive::u32;
18359				pub type Reserves = ::subxt::ext::subxt_core::alloc::vec::Vec<()>;
18360			}
18361			impl ::subxt::ext::subxt_core::events::StaticEvent for ReservesUpdated {
18362				const PALLET: &'static str = "Assets";
18363				const EVENT: &'static str = "ReservesUpdated";
18364			}
18365			#[derive(
18366				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18367				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18368				Debug,
18369			)]
18370			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18371			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18372			#[doc = "Reserve information was removed for `asset_id`."]
18373			pub struct ReservesRemoved {
18374				pub asset_id: reserves_removed::AssetId,
18375			}
18376			pub mod reserves_removed {
18377				use super::runtime_types;
18378				pub type AssetId = ::core::primitive::u32;
18379			}
18380			impl ::subxt::ext::subxt_core::events::StaticEvent for ReservesRemoved {
18381				const PALLET: &'static str = "Assets";
18382				const EVENT: &'static str = "ReservesRemoved";
18383			}
18384		}
18385		pub mod storage {
18386			use super::runtime_types;
18387			pub mod types {
18388				use super::runtime_types;
18389				pub mod asset {
18390					use super::runtime_types;
18391					pub type Asset = runtime_types::pallet_assets::types::AssetDetails<
18392						::core::primitive::u128,
18393						::subxt::ext::subxt_core::utils::AccountId32,
18394						::core::primitive::u128,
18395					>;
18396					pub type Param0 = ::core::primitive::u32;
18397				}
18398				pub mod account {
18399					use super::runtime_types;
18400					pub type Account = runtime_types::pallet_assets::types::AssetAccount<
18401						::core::primitive::u128,
18402						::core::primitive::u128,
18403						(),
18404						::subxt::ext::subxt_core::utils::AccountId32,
18405					>;
18406					pub type Param0 = ::core::primitive::u32;
18407					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
18408				}
18409				pub mod approvals {
18410					use super::runtime_types;
18411					pub type Approvals = runtime_types::pallet_assets::types::Approval<
18412						::core::primitive::u128,
18413						::core::primitive::u128,
18414					>;
18415					pub type Param0 = ::core::primitive::u32;
18416					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
18417					pub type Param2 = ::subxt::ext::subxt_core::utils::AccountId32;
18418				}
18419				pub mod metadata {
18420					use super::runtime_types;
18421					pub type Metadata = runtime_types::pallet_assets::types::AssetMetadata<
18422						::core::primitive::u128,
18423						runtime_types::bounded_collections::bounded_vec::BoundedVec<
18424							::core::primitive::u8,
18425						>,
18426					>;
18427					pub type Param0 = ::core::primitive::u32;
18428				}
18429				pub mod reserves {
18430					use super::runtime_types;
18431					pub type Reserves =
18432						runtime_types::bounded_collections::bounded_vec::BoundedVec<()>;
18433					pub type Param0 = ::core::primitive::u32;
18434				}
18435				pub mod next_asset_id {
18436					use super::runtime_types;
18437					pub type NextAssetId = ::core::primitive::u32;
18438				}
18439			}
18440			pub struct StorageApi;
18441			impl StorageApi {
18442				#[doc = " Details of an asset."]
18443				pub fn asset_iter(
18444					&self,
18445				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
18446					(),
18447					types::asset::Asset,
18448					(),
18449					(),
18450					::subxt::ext::subxt_core::utils::Yes,
18451				> {
18452					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
18453						"Assets",
18454						"Asset",
18455						(),
18456						[
18457							159u8, 234u8, 177u8, 31u8, 58u8, 51u8, 173u8, 184u8, 250u8, 169u8,
18458							246u8, 122u8, 54u8, 19u8, 232u8, 60u8, 0u8, 165u8, 12u8, 101u8, 93u8,
18459							169u8, 23u8, 34u8, 154u8, 44u8, 134u8, 128u8, 97u8, 71u8, 167u8, 224u8,
18460						],
18461					)
18462				}
18463				#[doc = " Details of an asset."]
18464				pub fn asset(
18465					&self,
18466					_0: types::asset::Param0,
18467				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
18468					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
18469						types::asset::Param0,
18470					>,
18471					types::asset::Asset,
18472					::subxt::ext::subxt_core::utils::Yes,
18473					(),
18474					(),
18475				> {
18476					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
18477						"Assets",
18478						"Asset",
18479						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
18480						[
18481							159u8, 234u8, 177u8, 31u8, 58u8, 51u8, 173u8, 184u8, 250u8, 169u8,
18482							246u8, 122u8, 54u8, 19u8, 232u8, 60u8, 0u8, 165u8, 12u8, 101u8, 93u8,
18483							169u8, 23u8, 34u8, 154u8, 44u8, 134u8, 128u8, 97u8, 71u8, 167u8, 224u8,
18484						],
18485					)
18486				}
18487				#[doc = " The holdings of a specific account for a specific asset."]
18488				pub fn account_iter(
18489					&self,
18490				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
18491					(),
18492					types::account::Account,
18493					(),
18494					(),
18495					::subxt::ext::subxt_core::utils::Yes,
18496				> {
18497					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
18498						"Assets",
18499						"Account",
18500						(),
18501						[
18502							188u8, 242u8, 133u8, 64u8, 0u8, 11u8, 57u8, 146u8, 60u8, 137u8, 35u8,
18503							23u8, 183u8, 200u8, 242u8, 8u8, 94u8, 158u8, 218u8, 13u8, 104u8, 215u8,
18504							87u8, 86u8, 69u8, 200u8, 11u8, 51u8, 6u8, 65u8, 216u8, 102u8,
18505						],
18506					)
18507				}
18508				#[doc = " The holdings of a specific account for a specific asset."]
18509				pub fn account_iter1(
18510					&self,
18511					_0: types::account::Param0,
18512				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
18513					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
18514						types::account::Param0,
18515					>,
18516					types::account::Account,
18517					(),
18518					(),
18519					::subxt::ext::subxt_core::utils::Yes,
18520				> {
18521					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
18522						"Assets",
18523						"Account",
18524						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
18525						[
18526							188u8, 242u8, 133u8, 64u8, 0u8, 11u8, 57u8, 146u8, 60u8, 137u8, 35u8,
18527							23u8, 183u8, 200u8, 242u8, 8u8, 94u8, 158u8, 218u8, 13u8, 104u8, 215u8,
18528							87u8, 86u8, 69u8, 200u8, 11u8, 51u8, 6u8, 65u8, 216u8, 102u8,
18529						],
18530					)
18531				}
18532				#[doc = " The holdings of a specific account for a specific asset."]
18533				pub fn account(
18534					&self,
18535					_0: types::account::Param0,
18536					_1: types::account::Param1,
18537				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
18538					(
18539						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
18540							types::account::Param0,
18541						>,
18542						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
18543							types::account::Param1,
18544						>,
18545					),
18546					types::account::Account,
18547					::subxt::ext::subxt_core::utils::Yes,
18548					(),
18549					(),
18550				> {
18551					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
18552						"Assets",
18553						"Account",
18554						(
18555							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
18556							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
18557						),
18558						[
18559							188u8, 242u8, 133u8, 64u8, 0u8, 11u8, 57u8, 146u8, 60u8, 137u8, 35u8,
18560							23u8, 183u8, 200u8, 242u8, 8u8, 94u8, 158u8, 218u8, 13u8, 104u8, 215u8,
18561							87u8, 86u8, 69u8, 200u8, 11u8, 51u8, 6u8, 65u8, 216u8, 102u8,
18562						],
18563					)
18564				}
18565				#[doc = " Approved balance transfers. First balance is the amount approved for transfer. Second"]
18566				#[doc = " is the amount of `T::Currency` reserved for storing this."]
18567				#[doc = " First key is the asset ID, second key is the owner and third key is the delegate."]
18568				pub fn approvals_iter(
18569					&self,
18570				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
18571					(),
18572					types::approvals::Approvals,
18573					(),
18574					(),
18575					::subxt::ext::subxt_core::utils::Yes,
18576				> {
18577					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
18578						"Assets",
18579						"Approvals",
18580						(),
18581						[
18582							122u8, 92u8, 51u8, 45u8, 200u8, 200u8, 182u8, 208u8, 18u8, 47u8, 139u8,
18583							68u8, 254u8, 15u8, 152u8, 110u8, 3u8, 138u8, 13u8, 183u8, 5u8, 185u8,
18584							218u8, 44u8, 93u8, 28u8, 56u8, 189u8, 125u8, 127u8, 123u8, 8u8,
18585						],
18586					)
18587				}
18588				#[doc = " Approved balance transfers. First balance is the amount approved for transfer. Second"]
18589				#[doc = " is the amount of `T::Currency` reserved for storing this."]
18590				#[doc = " First key is the asset ID, second key is the owner and third key is the delegate."]
18591				pub fn approvals_iter1(
18592					&self,
18593					_0: types::approvals::Param0,
18594				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
18595					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
18596						types::approvals::Param0,
18597					>,
18598					types::approvals::Approvals,
18599					(),
18600					(),
18601					::subxt::ext::subxt_core::utils::Yes,
18602				> {
18603					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
18604						"Assets",
18605						"Approvals",
18606						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
18607						[
18608							122u8, 92u8, 51u8, 45u8, 200u8, 200u8, 182u8, 208u8, 18u8, 47u8, 139u8,
18609							68u8, 254u8, 15u8, 152u8, 110u8, 3u8, 138u8, 13u8, 183u8, 5u8, 185u8,
18610							218u8, 44u8, 93u8, 28u8, 56u8, 189u8, 125u8, 127u8, 123u8, 8u8,
18611						],
18612					)
18613				}
18614				#[doc = " Approved balance transfers. First balance is the amount approved for transfer. Second"]
18615				#[doc = " is the amount of `T::Currency` reserved for storing this."]
18616				#[doc = " First key is the asset ID, second key is the owner and third key is the delegate."]
18617				pub fn approvals_iter2(
18618					&self,
18619					_0: types::approvals::Param0,
18620					_1: types::approvals::Param1,
18621				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
18622					(
18623						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
18624							types::approvals::Param0,
18625						>,
18626						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
18627							types::approvals::Param1,
18628						>,
18629					),
18630					types::approvals::Approvals,
18631					(),
18632					(),
18633					::subxt::ext::subxt_core::utils::Yes,
18634				> {
18635					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
18636						"Assets",
18637						"Approvals",
18638						(
18639							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
18640							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
18641						),
18642						[
18643							122u8, 92u8, 51u8, 45u8, 200u8, 200u8, 182u8, 208u8, 18u8, 47u8, 139u8,
18644							68u8, 254u8, 15u8, 152u8, 110u8, 3u8, 138u8, 13u8, 183u8, 5u8, 185u8,
18645							218u8, 44u8, 93u8, 28u8, 56u8, 189u8, 125u8, 127u8, 123u8, 8u8,
18646						],
18647					)
18648				}
18649				#[doc = " Approved balance transfers. First balance is the amount approved for transfer. Second"]
18650				#[doc = " is the amount of `T::Currency` reserved for storing this."]
18651				#[doc = " First key is the asset ID, second key is the owner and third key is the delegate."]
18652				pub fn approvals(
18653					&self,
18654					_0: types::approvals::Param0,
18655					_1: types::approvals::Param1,
18656					_2: types::approvals::Param2,
18657				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
18658					(
18659						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
18660							types::approvals::Param0,
18661						>,
18662						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
18663							types::approvals::Param1,
18664						>,
18665						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
18666							types::approvals::Param2,
18667						>,
18668					),
18669					types::approvals::Approvals,
18670					::subxt::ext::subxt_core::utils::Yes,
18671					(),
18672					(),
18673				> {
18674					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
18675						"Assets",
18676						"Approvals",
18677						(
18678							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
18679							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
18680							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_2),
18681						),
18682						[
18683							122u8, 92u8, 51u8, 45u8, 200u8, 200u8, 182u8, 208u8, 18u8, 47u8, 139u8,
18684							68u8, 254u8, 15u8, 152u8, 110u8, 3u8, 138u8, 13u8, 183u8, 5u8, 185u8,
18685							218u8, 44u8, 93u8, 28u8, 56u8, 189u8, 125u8, 127u8, 123u8, 8u8,
18686						],
18687					)
18688				}
18689				#[doc = " Metadata of an asset."]
18690				pub fn metadata_iter(
18691					&self,
18692				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
18693					(),
18694					types::metadata::Metadata,
18695					(),
18696					::subxt::ext::subxt_core::utils::Yes,
18697					::subxt::ext::subxt_core::utils::Yes,
18698				> {
18699					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
18700						"Assets",
18701						"Metadata",
18702						(),
18703						[
18704							129u8, 202u8, 244u8, 77u8, 55u8, 81u8, 86u8, 106u8, 20u8, 153u8, 209u8,
18705							69u8, 199u8, 107u8, 111u8, 49u8, 88u8, 157u8, 84u8, 41u8, 198u8, 190u8,
18706							234u8, 218u8, 68u8, 207u8, 87u8, 217u8, 73u8, 66u8, 211u8, 163u8,
18707						],
18708					)
18709				}
18710				#[doc = " Metadata of an asset."]
18711				pub fn metadata(
18712					&self,
18713					_0: types::metadata::Param0,
18714				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
18715					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
18716						types::metadata::Param0,
18717					>,
18718					types::metadata::Metadata,
18719					::subxt::ext::subxt_core::utils::Yes,
18720					::subxt::ext::subxt_core::utils::Yes,
18721					(),
18722				> {
18723					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
18724						"Assets",
18725						"Metadata",
18726						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
18727						[
18728							129u8, 202u8, 244u8, 77u8, 55u8, 81u8, 86u8, 106u8, 20u8, 153u8, 209u8,
18729							69u8, 199u8, 107u8, 111u8, 49u8, 88u8, 157u8, 84u8, 41u8, 198u8, 190u8,
18730							234u8, 218u8, 68u8, 207u8, 87u8, 217u8, 73u8, 66u8, 211u8, 163u8,
18731						],
18732					)
18733				}
18734				#[doc = " Maps an asset to a list of its configured reserve information."]
18735				pub fn reserves_iter(
18736					&self,
18737				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
18738					(),
18739					types::reserves::Reserves,
18740					(),
18741					::subxt::ext::subxt_core::utils::Yes,
18742					::subxt::ext::subxt_core::utils::Yes,
18743				> {
18744					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
18745						"Assets",
18746						"Reserves",
18747						(),
18748						[
18749							118u8, 223u8, 23u8, 189u8, 54u8, 5u8, 111u8, 29u8, 141u8, 11u8, 214u8,
18750							144u8, 141u8, 14u8, 233u8, 226u8, 24u8, 243u8, 20u8, 91u8, 144u8,
18751							162u8, 54u8, 144u8, 17u8, 115u8, 12u8, 127u8, 20u8, 255u8, 14u8, 188u8,
18752						],
18753					)
18754				}
18755				#[doc = " Maps an asset to a list of its configured reserve information."]
18756				pub fn reserves(
18757					&self,
18758					_0: types::reserves::Param0,
18759				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
18760					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
18761						types::reserves::Param0,
18762					>,
18763					types::reserves::Reserves,
18764					::subxt::ext::subxt_core::utils::Yes,
18765					::subxt::ext::subxt_core::utils::Yes,
18766					(),
18767				> {
18768					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
18769						"Assets",
18770						"Reserves",
18771						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
18772						[
18773							118u8, 223u8, 23u8, 189u8, 54u8, 5u8, 111u8, 29u8, 141u8, 11u8, 214u8,
18774							144u8, 141u8, 14u8, 233u8, 226u8, 24u8, 243u8, 20u8, 91u8, 144u8,
18775							162u8, 54u8, 144u8, 17u8, 115u8, 12u8, 127u8, 20u8, 255u8, 14u8, 188u8,
18776						],
18777					)
18778				}
18779				#[doc = " The asset ID enforced for the next asset creation, if any present. Otherwise, this storage"]
18780				#[doc = " item has no effect."]
18781				#[doc = ""]
18782				#[doc = " This can be useful for setting up constraints for IDs of the new assets. For example, by"]
18783				#[doc = " providing an initial [`NextAssetId`] and using the [`crate::AutoIncAssetId`] callback, an"]
18784				#[doc = " auto-increment model can be applied to all new asset IDs."]
18785				#[doc = ""]
18786				#[doc = " The initial next asset ID can be set using the [`GenesisConfig`] or the"]
18787				#[doc = " [SetNextAssetId](`migration::next_asset_id::SetNextAssetId`) migration."]
18788				pub fn next_asset_id(
18789					&self,
18790				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
18791					(),
18792					types::next_asset_id::NextAssetId,
18793					::subxt::ext::subxt_core::utils::Yes,
18794					(),
18795					(),
18796				> {
18797					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
18798						"Assets",
18799						"NextAssetId",
18800						(),
18801						[
18802							15u8, 61u8, 40u8, 217u8, 236u8, 34u8, 95u8, 53u8, 159u8, 182u8, 70u8,
18803							251u8, 234u8, 188u8, 115u8, 23u8, 199u8, 118u8, 220u8, 40u8, 147u8,
18804							174u8, 247u8, 129u8, 246u8, 107u8, 178u8, 43u8, 8u8, 19u8, 74u8, 116u8,
18805						],
18806					)
18807				}
18808			}
18809		}
18810		pub mod constants {
18811			use super::runtime_types;
18812			pub struct ConstantsApi;
18813			impl ConstantsApi {
18814				#[doc = " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call."]
18815				#[doc = ""]
18816				#[doc = " Must be configured to result in a weight that makes each call fit in a block."]
18817				pub fn remove_items_limit(
18818					&self,
18819				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
18820					::core::primitive::u32,
18821				> {
18822					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
18823						"Assets",
18824						"RemoveItemsLimit",
18825						[
18826							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
18827							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
18828							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
18829							145u8,
18830						],
18831					)
18832				}
18833				#[doc = " The basic amount of funds that must be reserved for an asset."]
18834				pub fn asset_deposit(
18835					&self,
18836				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
18837					::core::primitive::u128,
18838				> {
18839					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
18840						"Assets",
18841						"AssetDeposit",
18842						[
18843							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
18844							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
18845							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
18846						],
18847					)
18848				}
18849				#[doc = " The amount of funds that must be reserved for a non-provider asset account to be"]
18850				#[doc = " maintained."]
18851				pub fn asset_account_deposit(
18852					&self,
18853				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
18854					::core::primitive::u128,
18855				> {
18856					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
18857						"Assets",
18858						"AssetAccountDeposit",
18859						[
18860							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
18861							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
18862							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
18863						],
18864					)
18865				}
18866				#[doc = " The basic amount of funds that must be reserved when adding metadata to your asset."]
18867				pub fn metadata_deposit_base(
18868					&self,
18869				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
18870					::core::primitive::u128,
18871				> {
18872					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
18873						"Assets",
18874						"MetadataDepositBase",
18875						[
18876							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
18877							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
18878							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
18879						],
18880					)
18881				}
18882				#[doc = " The additional funds that must be reserved for the number of bytes you store in your"]
18883				#[doc = " metadata."]
18884				pub fn metadata_deposit_per_byte(
18885					&self,
18886				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
18887					::core::primitive::u128,
18888				> {
18889					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
18890						"Assets",
18891						"MetadataDepositPerByte",
18892						[
18893							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
18894							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
18895							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
18896						],
18897					)
18898				}
18899				#[doc = " The amount of funds that must be reserved when creating a new approval."]
18900				pub fn approval_deposit(
18901					&self,
18902				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
18903					::core::primitive::u128,
18904				> {
18905					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
18906						"Assets",
18907						"ApprovalDeposit",
18908						[
18909							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
18910							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
18911							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
18912						],
18913					)
18914				}
18915				#[doc = " The maximum length of a name or symbol stored on-chain."]
18916				pub fn string_limit(
18917					&self,
18918				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
18919					::core::primitive::u32,
18920				> {
18921					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
18922						"Assets",
18923						"StringLimit",
18924						[
18925							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
18926							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
18927							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
18928							145u8,
18929						],
18930					)
18931				}
18932			}
18933		}
18934	}
18935	pub mod assets_holder {
18936		use super::{root_mod, runtime_types};
18937		#[doc = "The `Error` enum of this pallet."]
18938		pub type Error = runtime_types::pallet_assets_holder::pallet::Error;
18939		#[doc = "The `Event` enum of this pallet"]
18940		pub type Event = runtime_types::pallet_assets_holder::pallet::Event;
18941		pub mod events {
18942			use super::runtime_types;
18943			#[derive(
18944				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18945				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18946				Debug,
18947			)]
18948			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18949			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18950			#[doc = "`who`s balance on hold was increased by `amount`."]
18951			pub struct Held {
18952				pub who: held::Who,
18953				pub asset_id: held::AssetId,
18954				pub reason: held::Reason,
18955				pub amount: held::Amount,
18956			}
18957			pub mod held {
18958				use super::runtime_types;
18959				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
18960				pub type AssetId = ::core::primitive::u32;
18961				pub type Reason = runtime_types::quantus_runtime::RuntimeHoldReason;
18962				pub type Amount = ::core::primitive::u128;
18963			}
18964			impl ::subxt::ext::subxt_core::events::StaticEvent for Held {
18965				const PALLET: &'static str = "AssetsHolder";
18966				const EVENT: &'static str = "Held";
18967			}
18968			#[derive(
18969				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18970				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18971				Debug,
18972			)]
18973			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18974			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
18975			#[doc = "`who`s balance on hold was decreased by `amount`."]
18976			pub struct Released {
18977				pub who: released::Who,
18978				pub asset_id: released::AssetId,
18979				pub reason: released::Reason,
18980				pub amount: released::Amount,
18981			}
18982			pub mod released {
18983				use super::runtime_types;
18984				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
18985				pub type AssetId = ::core::primitive::u32;
18986				pub type Reason = runtime_types::quantus_runtime::RuntimeHoldReason;
18987				pub type Amount = ::core::primitive::u128;
18988			}
18989			impl ::subxt::ext::subxt_core::events::StaticEvent for Released {
18990				const PALLET: &'static str = "AssetsHolder";
18991				const EVENT: &'static str = "Released";
18992			}
18993			#[derive(
18994				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
18995				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
18996				Debug,
18997			)]
18998			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
18999			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19000			#[doc = "`who`s balance on hold was burned by `amount`."]
19001			pub struct Burned {
19002				pub who: burned::Who,
19003				pub asset_id: burned::AssetId,
19004				pub reason: burned::Reason,
19005				pub amount: burned::Amount,
19006			}
19007			pub mod burned {
19008				use super::runtime_types;
19009				pub type Who = ::subxt::ext::subxt_core::utils::AccountId32;
19010				pub type AssetId = ::core::primitive::u32;
19011				pub type Reason = runtime_types::quantus_runtime::RuntimeHoldReason;
19012				pub type Amount = ::core::primitive::u128;
19013			}
19014			impl ::subxt::ext::subxt_core::events::StaticEvent for Burned {
19015				const PALLET: &'static str = "AssetsHolder";
19016				const EVENT: &'static str = "Burned";
19017			}
19018		}
19019		pub mod storage {
19020			use super::runtime_types;
19021			pub mod types {
19022				use super::runtime_types;
19023				pub mod holds {
19024					use super::runtime_types;
19025					pub type Holds = runtime_types::bounded_collections::bounded_vec::BoundedVec<
19026						runtime_types::frame_support::traits::tokens::misc::IdAmount<
19027							runtime_types::quantus_runtime::RuntimeHoldReason,
19028							::core::primitive::u128,
19029						>,
19030					>;
19031					pub type Param0 = ::core::primitive::u32;
19032					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
19033				}
19034				pub mod balances_on_hold {
19035					use super::runtime_types;
19036					pub type BalancesOnHold = ::core::primitive::u128;
19037					pub type Param0 = ::core::primitive::u32;
19038					pub type Param1 = ::subxt::ext::subxt_core::utils::AccountId32;
19039				}
19040			}
19041			pub struct StorageApi;
19042			impl StorageApi {
19043				#[doc = " A map that stores holds applied on an account for a given AssetId."]
19044				pub fn holds_iter(
19045					&self,
19046				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
19047					(),
19048					types::holds::Holds,
19049					(),
19050					::subxt::ext::subxt_core::utils::Yes,
19051					::subxt::ext::subxt_core::utils::Yes,
19052				> {
19053					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
19054						"AssetsHolder",
19055						"Holds",
19056						(),
19057						[
19058							131u8, 85u8, 98u8, 45u8, 101u8, 28u8, 94u8, 4u8, 1u8, 137u8, 126u8,
19059							129u8, 241u8, 99u8, 206u8, 145u8, 177u8, 135u8, 27u8, 52u8, 122u8,
19060							94u8, 241u8, 29u8, 253u8, 154u8, 158u8, 229u8, 208u8, 129u8, 29u8,
19061							41u8,
19062						],
19063					)
19064				}
19065				#[doc = " A map that stores holds applied on an account for a given AssetId."]
19066				pub fn holds_iter1(
19067					&self,
19068					_0: types::holds::Param0,
19069				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
19070					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
19071						types::holds::Param0,
19072					>,
19073					types::holds::Holds,
19074					(),
19075					::subxt::ext::subxt_core::utils::Yes,
19076					::subxt::ext::subxt_core::utils::Yes,
19077				> {
19078					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
19079						"AssetsHolder",
19080						"Holds",
19081						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
19082						[
19083							131u8, 85u8, 98u8, 45u8, 101u8, 28u8, 94u8, 4u8, 1u8, 137u8, 126u8,
19084							129u8, 241u8, 99u8, 206u8, 145u8, 177u8, 135u8, 27u8, 52u8, 122u8,
19085							94u8, 241u8, 29u8, 253u8, 154u8, 158u8, 229u8, 208u8, 129u8, 29u8,
19086							41u8,
19087						],
19088					)
19089				}
19090				#[doc = " A map that stores holds applied on an account for a given AssetId."]
19091				pub fn holds(
19092					&self,
19093					_0: types::holds::Param0,
19094					_1: types::holds::Param1,
19095				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
19096					(
19097						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
19098							types::holds::Param0,
19099						>,
19100						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
19101							types::holds::Param1,
19102						>,
19103					),
19104					types::holds::Holds,
19105					::subxt::ext::subxt_core::utils::Yes,
19106					::subxt::ext::subxt_core::utils::Yes,
19107					(),
19108				> {
19109					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
19110						"AssetsHolder",
19111						"Holds",
19112						(
19113							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
19114							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
19115						),
19116						[
19117							131u8, 85u8, 98u8, 45u8, 101u8, 28u8, 94u8, 4u8, 1u8, 137u8, 126u8,
19118							129u8, 241u8, 99u8, 206u8, 145u8, 177u8, 135u8, 27u8, 52u8, 122u8,
19119							94u8, 241u8, 29u8, 253u8, 154u8, 158u8, 229u8, 208u8, 129u8, 29u8,
19120							41u8,
19121						],
19122					)
19123				}
19124				#[doc = " A map that stores the current total balance on hold for every account on a given AssetId."]
19125				pub fn balances_on_hold_iter(
19126					&self,
19127				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
19128					(),
19129					types::balances_on_hold::BalancesOnHold,
19130					(),
19131					(),
19132					::subxt::ext::subxt_core::utils::Yes,
19133				> {
19134					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
19135						"AssetsHolder",
19136						"BalancesOnHold",
19137						(),
19138						[
19139							39u8, 48u8, 137u8, 178u8, 85u8, 119u8, 90u8, 207u8, 72u8, 232u8, 81u8,
19140							190u8, 234u8, 32u8, 246u8, 199u8, 37u8, 220u8, 0u8, 216u8, 47u8, 241u8,
19141							9u8, 107u8, 9u8, 130u8, 13u8, 232u8, 142u8, 226u8, 77u8, 179u8,
19142						],
19143					)
19144				}
19145				#[doc = " A map that stores the current total balance on hold for every account on a given AssetId."]
19146				pub fn balances_on_hold_iter1(
19147					&self,
19148					_0: types::balances_on_hold::Param0,
19149				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
19150					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
19151						types::balances_on_hold::Param0,
19152					>,
19153					types::balances_on_hold::BalancesOnHold,
19154					(),
19155					(),
19156					::subxt::ext::subxt_core::utils::Yes,
19157				> {
19158					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
19159						"AssetsHolder",
19160						"BalancesOnHold",
19161						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
19162						[
19163							39u8, 48u8, 137u8, 178u8, 85u8, 119u8, 90u8, 207u8, 72u8, 232u8, 81u8,
19164							190u8, 234u8, 32u8, 246u8, 199u8, 37u8, 220u8, 0u8, 216u8, 47u8, 241u8,
19165							9u8, 107u8, 9u8, 130u8, 13u8, 232u8, 142u8, 226u8, 77u8, 179u8,
19166						],
19167					)
19168				}
19169				#[doc = " A map that stores the current total balance on hold for every account on a given AssetId."]
19170				pub fn balances_on_hold(
19171					&self,
19172					_0: types::balances_on_hold::Param0,
19173					_1: types::balances_on_hold::Param1,
19174				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
19175					(
19176						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
19177							types::balances_on_hold::Param0,
19178						>,
19179						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
19180							types::balances_on_hold::Param1,
19181						>,
19182					),
19183					types::balances_on_hold::BalancesOnHold,
19184					::subxt::ext::subxt_core::utils::Yes,
19185					(),
19186					(),
19187				> {
19188					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
19189						"AssetsHolder",
19190						"BalancesOnHold",
19191						(
19192							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
19193							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
19194						),
19195						[
19196							39u8, 48u8, 137u8, 178u8, 85u8, 119u8, 90u8, 207u8, 72u8, 232u8, 81u8,
19197							190u8, 234u8, 32u8, 246u8, 199u8, 37u8, 220u8, 0u8, 216u8, 47u8, 241u8,
19198							9u8, 107u8, 9u8, 130u8, 13u8, 232u8, 142u8, 226u8, 77u8, 179u8,
19199						],
19200					)
19201				}
19202			}
19203		}
19204	}
19205	pub mod multisig {
19206		use super::{root_mod, runtime_types};
19207		#[doc = "The `Error` enum of this pallet."]
19208		pub type Error = runtime_types::pallet_multisig::pallet::Error;
19209		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
19210		pub type Call = runtime_types::pallet_multisig::pallet::Call;
19211		pub mod calls {
19212			use super::{root_mod, runtime_types};
19213			type DispatchError = runtime_types::sp_runtime::DispatchError;
19214			pub mod types {
19215				use super::runtime_types;
19216				#[derive(
19217					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19218					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19219					Debug,
19220				)]
19221				#[decode_as_type(
19222					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19223				)]
19224				#[encode_as_type(
19225					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19226				)]
19227				#[doc = "Create a new multisig account with deterministic address"]
19228				#[doc = ""]
19229				#[doc = "Parameters:"]
19230				#[doc = "- `signers`: List of accounts that can sign for this multisig"]
19231				#[doc = "- `threshold`: Number of approvals required to execute transactions"]
19232				#[doc = "- `nonce`: User-provided nonce for address uniqueness"]
19233				#[doc = ""]
19234				#[doc = "The multisig address is deterministically derived from:"]
19235				#[doc = "hash(pallet_id || sorted_signers || threshold || nonce)"]
19236				#[doc = ""]
19237				#[doc = "Signers are automatically sorted before hashing, so order doesn't matter."]
19238				#[doc = ""]
19239				#[doc = "Economic costs:"]
19240				#[doc = "- MultisigFee: burned immediately (spam prevention)"]
19241				#[doc = "- MultisigDeposit: reserved until dissolution, then returned to creator (storage bond)"]
19242				pub struct CreateMultisig {
19243					pub signers: create_multisig::Signers,
19244					pub threshold: create_multisig::Threshold,
19245					pub nonce: create_multisig::Nonce,
19246				}
19247				pub mod create_multisig {
19248					use super::runtime_types;
19249					pub type Signers = ::subxt::ext::subxt_core::alloc::vec::Vec<
19250						::subxt::ext::subxt_core::utils::AccountId32,
19251					>;
19252					pub type Threshold = ::core::primitive::u32;
19253					pub type Nonce = ::core::primitive::u64;
19254				}
19255				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for CreateMultisig {
19256					const PALLET: &'static str = "Multisig";
19257					const CALL: &'static str = "create_multisig";
19258				}
19259				#[derive(
19260					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19261					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19262					Debug,
19263				)]
19264				#[decode_as_type(
19265					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19266				)]
19267				#[encode_as_type(
19268					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19269				)]
19270				#[doc = "Propose a transaction to be executed by the multisig"]
19271				#[doc = ""]
19272				#[doc = "Parameters:"]
19273				#[doc = "- `multisig_address`: The multisig account that will execute the call"]
19274				#[doc = "- `call`: The encoded call to execute"]
19275				#[doc = "- `expiry`: Block number when this proposal expires"]
19276				#[doc = ""]
19277				#[doc = "The proposer must be a signer and must pay:"]
19278				#[doc = "- A deposit (refundable - returned immediately on execution/cancellation)"]
19279				#[doc = "- A fee (non-refundable, burned immediately)"]
19280				#[doc = ""]
19281				#[doc = "**For threshold=1:** The proposal is created with `Approved` status immediately"]
19282				#[doc = "and can be executed via `execute()` without additional approvals."]
19283				#[doc = ""]
19284				#[doc = "**Weight:** Charged upfront for worst-case (high-security path with decode)."]
19285				#[doc = "Refunded to actual cost on success based on whether HS path was taken."]
19286				pub struct Propose {
19287					pub multisig_address: propose::MultisigAddress,
19288					pub call: propose::Call,
19289					pub expiry: propose::Expiry,
19290				}
19291				pub mod propose {
19292					use super::runtime_types;
19293					pub type MultisigAddress = ::subxt::ext::subxt_core::utils::AccountId32;
19294					pub type Call =
19295						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
19296					pub type Expiry = ::core::primitive::u32;
19297				}
19298				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Propose {
19299					const PALLET: &'static str = "Multisig";
19300					const CALL: &'static str = "propose";
19301				}
19302				#[derive(
19303					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19304					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19305					Debug,
19306				)]
19307				#[decode_as_type(
19308					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19309				)]
19310				#[encode_as_type(
19311					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19312				)]
19313				#[doc = "Approve a proposed transaction"]
19314				#[doc = ""]
19315				#[doc = "If this approval brings the total approvals to or above the threshold,"]
19316				#[doc = "the proposal status changes to `Approved` and can be executed via `execute()`."]
19317				#[doc = ""]
19318				#[doc = "Parameters:"]
19319				#[doc = "- `multisig_address`: The multisig account"]
19320				#[doc = "- `proposal_id`: ID (nonce) of the proposal to approve"]
19321				#[doc = ""]
19322				#[doc = "Weight: Charges for MAX call size, refunds based on actual"]
19323				pub struct Approve {
19324					pub multisig_address: approve::MultisigAddress,
19325					pub proposal_id: approve::ProposalId,
19326				}
19327				pub mod approve {
19328					use super::runtime_types;
19329					pub type MultisigAddress = ::subxt::ext::subxt_core::utils::AccountId32;
19330					pub type ProposalId = ::core::primitive::u32;
19331				}
19332				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Approve {
19333					const PALLET: &'static str = "Multisig";
19334					const CALL: &'static str = "approve";
19335				}
19336				#[derive(
19337					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19338					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19339					Debug,
19340				)]
19341				#[decode_as_type(
19342					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19343				)]
19344				#[encode_as_type(
19345					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19346				)]
19347				#[doc = "Cancel a proposed transaction (only by proposer)"]
19348				#[doc = ""]
19349				#[doc = "Parameters:"]
19350				#[doc = "- `multisig_address`: The multisig account"]
19351				#[doc = "- `proposal_id`: ID (nonce) of the proposal to cancel"]
19352				pub struct Cancel {
19353					pub multisig_address: cancel::MultisigAddress,
19354					pub proposal_id: cancel::ProposalId,
19355				}
19356				pub mod cancel {
19357					use super::runtime_types;
19358					pub type MultisigAddress = ::subxt::ext::subxt_core::utils::AccountId32;
19359					pub type ProposalId = ::core::primitive::u32;
19360				}
19361				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Cancel {
19362					const PALLET: &'static str = "Multisig";
19363					const CALL: &'static str = "cancel";
19364				}
19365				#[derive(
19366					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19367					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19368					Debug,
19369				)]
19370				#[decode_as_type(
19371					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19372				)]
19373				#[encode_as_type(
19374					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19375				)]
19376				#[doc = "Remove expired proposals and return deposits to proposers"]
19377				#[doc = ""]
19378				#[doc = "Can only be called by signers of the multisig."]
19379				#[doc = "Removes Active or Approved proposals that have expired (past expiry block)."]
19380				#[doc = "Executed and Cancelled proposals are automatically cleaned up immediately."]
19381				#[doc = ""]
19382				#[doc = "Approved+expired proposals can become stuck if proposer is unavailable (e.g. lost"]
19383				#[doc = "keys, compromise). Allowing any signer to remove them prevents permanent deposit"]
19384				#[doc = "lockup and enables multisig dissolution."]
19385				#[doc = ""]
19386				#[doc = "The deposit is always returned to the original proposer, not the caller."]
19387				pub struct RemoveExpired {
19388					pub multisig_address: remove_expired::MultisigAddress,
19389					pub proposal_id: remove_expired::ProposalId,
19390				}
19391				pub mod remove_expired {
19392					use super::runtime_types;
19393					pub type MultisigAddress = ::subxt::ext::subxt_core::utils::AccountId32;
19394					pub type ProposalId = ::core::primitive::u32;
19395				}
19396				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveExpired {
19397					const PALLET: &'static str = "Multisig";
19398					const CALL: &'static str = "remove_expired";
19399				}
19400				#[derive(
19401					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19402					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19403					Debug,
19404				)]
19405				#[decode_as_type(
19406					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19407				)]
19408				#[encode_as_type(
19409					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19410				)]
19411				#[doc = "Claim all deposits from expired proposals"]
19412				#[doc = ""]
19413				#[doc = "This is a batch operation that removes all expired proposals where:"]
19414				#[doc = "- Caller is the proposer"]
19415				#[doc = "- Proposal is Active or Approved and past expiry block"]
19416				#[doc = ""]
19417				#[doc = "Note: Executed and Cancelled proposals are automatically cleaned up immediately,"]
19418				#[doc = "so only Active+Expired and Approved+Expired proposals need manual cleanup."]
19419				#[doc = ""]
19420				#[doc = "Returns all proposal deposits to the proposer in a single transaction."]
19421				pub struct ClaimDeposits {
19422					pub multisig_address: claim_deposits::MultisigAddress,
19423				}
19424				pub mod claim_deposits {
19425					use super::runtime_types;
19426					pub type MultisigAddress = ::subxt::ext::subxt_core::utils::AccountId32;
19427				}
19428				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ClaimDeposits {
19429					const PALLET: &'static str = "Multisig";
19430					const CALL: &'static str = "claim_deposits";
19431				}
19432				#[derive(
19433					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19434					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19435					Debug,
19436				)]
19437				#[decode_as_type(
19438					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19439				)]
19440				#[encode_as_type(
19441					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19442				)]
19443				#[doc = "Execute an approved proposal"]
19444				#[doc = ""]
19445				#[doc = "Can be called by any signer of the multisig once the proposal has reached"]
19446				#[doc = "the approval threshold (status = Approved). The proposal must not be expired."]
19447				#[doc = ""]
19448				#[doc = "On execution:"]
19449				#[doc = "- The call is decoded and dispatched as the multisig account"]
19450				#[doc = "- Proposal is removed from storage"]
19451				#[doc = "- Deposit is returned to the proposer"]
19452				#[doc = ""]
19453				#[doc = "Parameters:"]
19454				#[doc = "- `multisig_address`: The multisig account"]
19455				#[doc = "- `proposal_id`: ID (nonce) of the proposal to execute"]
19456				pub struct Execute {
19457					pub multisig_address: execute::MultisigAddress,
19458					pub proposal_id: execute::ProposalId,
19459				}
19460				pub mod execute {
19461					use super::runtime_types;
19462					pub type MultisigAddress = ::subxt::ext::subxt_core::utils::AccountId32;
19463					pub type ProposalId = ::core::primitive::u32;
19464				}
19465				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for Execute {
19466					const PALLET: &'static str = "Multisig";
19467					const CALL: &'static str = "execute";
19468				}
19469				#[derive(
19470					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19471					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19472					Debug,
19473				)]
19474				#[decode_as_type(
19475					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
19476				)]
19477				#[encode_as_type(
19478					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
19479				)]
19480				#[doc = "Approve dissolving a multisig account"]
19481				#[doc = ""]
19482				#[doc = "Signers call this to approve dissolving the multisig."]
19483				#[doc = "When threshold is reached, the multisig is automatically dissolved."]
19484				#[doc = ""]
19485				#[doc = "Requirements:"]
19486				#[doc = "- Caller must be a signer"]
19487				#[doc = "- No proposals exist (active, executed, or cancelled) - must be fully cleaned up"]
19488				#[doc = "- Multisig account balance must be zero"]
19489				#[doc = ""]
19490				#[doc = "When threshold is reached:"]
19491				#[doc = "- Deposit is returned to creator"]
19492				#[doc = "- Multisig storage is removed"]
19493				pub struct ApproveDissolve {
19494					pub multisig_address: approve_dissolve::MultisigAddress,
19495				}
19496				pub mod approve_dissolve {
19497					use super::runtime_types;
19498					pub type MultisigAddress = ::subxt::ext::subxt_core::utils::AccountId32;
19499				}
19500				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ApproveDissolve {
19501					const PALLET: &'static str = "Multisig";
19502					const CALL: &'static str = "approve_dissolve";
19503				}
19504			}
19505			pub struct TransactionApi;
19506			impl TransactionApi {
19507				#[doc = "Create a new multisig account with deterministic address"]
19508				#[doc = ""]
19509				#[doc = "Parameters:"]
19510				#[doc = "- `signers`: List of accounts that can sign for this multisig"]
19511				#[doc = "- `threshold`: Number of approvals required to execute transactions"]
19512				#[doc = "- `nonce`: User-provided nonce for address uniqueness"]
19513				#[doc = ""]
19514				#[doc = "The multisig address is deterministically derived from:"]
19515				#[doc = "hash(pallet_id || sorted_signers || threshold || nonce)"]
19516				#[doc = ""]
19517				#[doc = "Signers are automatically sorted before hashing, so order doesn't matter."]
19518				#[doc = ""]
19519				#[doc = "Economic costs:"]
19520				#[doc = "- MultisigFee: burned immediately (spam prevention)"]
19521				#[doc = "- MultisigDeposit: reserved until dissolution, then returned to creator (storage bond)"]
19522				pub fn create_multisig(
19523					&self,
19524					signers: types::create_multisig::Signers,
19525					threshold: types::create_multisig::Threshold,
19526					nonce: types::create_multisig::Nonce,
19527				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::CreateMultisig>
19528				{
19529					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19530						"Multisig",
19531						"create_multisig",
19532						types::CreateMultisig { signers, threshold, nonce },
19533						[
19534							126u8, 145u8, 23u8, 129u8, 179u8, 174u8, 124u8, 92u8, 17u8, 77u8, 39u8,
19535							143u8, 138u8, 202u8, 71u8, 46u8, 71u8, 104u8, 68u8, 236u8, 223u8,
19536							128u8, 124u8, 89u8, 133u8, 103u8, 92u8, 150u8, 75u8, 49u8, 253u8,
19537							177u8,
19538						],
19539					)
19540				}
19541				#[doc = "Propose a transaction to be executed by the multisig"]
19542				#[doc = ""]
19543				#[doc = "Parameters:"]
19544				#[doc = "- `multisig_address`: The multisig account that will execute the call"]
19545				#[doc = "- `call`: The encoded call to execute"]
19546				#[doc = "- `expiry`: Block number when this proposal expires"]
19547				#[doc = ""]
19548				#[doc = "The proposer must be a signer and must pay:"]
19549				#[doc = "- A deposit (refundable - returned immediately on execution/cancellation)"]
19550				#[doc = "- A fee (non-refundable, burned immediately)"]
19551				#[doc = ""]
19552				#[doc = "**For threshold=1:** The proposal is created with `Approved` status immediately"]
19553				#[doc = "and can be executed via `execute()` without additional approvals."]
19554				#[doc = ""]
19555				#[doc = "**Weight:** Charged upfront for worst-case (high-security path with decode)."]
19556				#[doc = "Refunded to actual cost on success based on whether HS path was taken."]
19557				pub fn propose(
19558					&self,
19559					multisig_address: types::propose::MultisigAddress,
19560					call: types::propose::Call,
19561					expiry: types::propose::Expiry,
19562				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Propose> {
19563					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19564						"Multisig",
19565						"propose",
19566						types::Propose { multisig_address, call, expiry },
19567						[
19568							131u8, 107u8, 67u8, 245u8, 123u8, 74u8, 248u8, 60u8, 181u8, 88u8,
19569							135u8, 198u8, 188u8, 160u8, 34u8, 137u8, 7u8, 126u8, 45u8, 169u8,
19570							212u8, 30u8, 251u8, 147u8, 167u8, 166u8, 76u8, 70u8, 155u8, 222u8,
19571							70u8, 143u8,
19572						],
19573					)
19574				}
19575				#[doc = "Approve a proposed transaction"]
19576				#[doc = ""]
19577				#[doc = "If this approval brings the total approvals to or above the threshold,"]
19578				#[doc = "the proposal status changes to `Approved` and can be executed via `execute()`."]
19579				#[doc = ""]
19580				#[doc = "Parameters:"]
19581				#[doc = "- `multisig_address`: The multisig account"]
19582				#[doc = "- `proposal_id`: ID (nonce) of the proposal to approve"]
19583				#[doc = ""]
19584				#[doc = "Weight: Charges for MAX call size, refunds based on actual"]
19585				pub fn approve(
19586					&self,
19587					multisig_address: types::approve::MultisigAddress,
19588					proposal_id: types::approve::ProposalId,
19589				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Approve> {
19590					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19591						"Multisig",
19592						"approve",
19593						types::Approve { multisig_address, proposal_id },
19594						[
19595							9u8, 56u8, 186u8, 135u8, 222u8, 23u8, 37u8, 64u8, 123u8, 199u8, 205u8,
19596							29u8, 216u8, 128u8, 37u8, 185u8, 170u8, 121u8, 75u8, 100u8, 198u8,
19597							80u8, 16u8, 249u8, 170u8, 91u8, 162u8, 201u8, 215u8, 81u8, 87u8, 190u8,
19598						],
19599					)
19600				}
19601				#[doc = "Cancel a proposed transaction (only by proposer)"]
19602				#[doc = ""]
19603				#[doc = "Parameters:"]
19604				#[doc = "- `multisig_address`: The multisig account"]
19605				#[doc = "- `proposal_id`: ID (nonce) of the proposal to cancel"]
19606				pub fn cancel(
19607					&self,
19608					multisig_address: types::cancel::MultisigAddress,
19609					proposal_id: types::cancel::ProposalId,
19610				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Cancel> {
19611					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19612						"Multisig",
19613						"cancel",
19614						types::Cancel { multisig_address, proposal_id },
19615						[
19616							83u8, 189u8, 89u8, 213u8, 70u8, 183u8, 216u8, 57u8, 226u8, 67u8, 212u8,
19617							60u8, 59u8, 44u8, 49u8, 165u8, 181u8, 189u8, 26u8, 92u8, 49u8, 185u8,
19618							224u8, 47u8, 81u8, 111u8, 51u8, 142u8, 165u8, 219u8, 103u8, 82u8,
19619						],
19620					)
19621				}
19622				#[doc = "Remove expired proposals and return deposits to proposers"]
19623				#[doc = ""]
19624				#[doc = "Can only be called by signers of the multisig."]
19625				#[doc = "Removes Active or Approved proposals that have expired (past expiry block)."]
19626				#[doc = "Executed and Cancelled proposals are automatically cleaned up immediately."]
19627				#[doc = ""]
19628				#[doc = "Approved+expired proposals can become stuck if proposer is unavailable (e.g. lost"]
19629				#[doc = "keys, compromise). Allowing any signer to remove them prevents permanent deposit"]
19630				#[doc = "lockup and enables multisig dissolution."]
19631				#[doc = ""]
19632				#[doc = "The deposit is always returned to the original proposer, not the caller."]
19633				pub fn remove_expired(
19634					&self,
19635					multisig_address: types::remove_expired::MultisigAddress,
19636					proposal_id: types::remove_expired::ProposalId,
19637				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::RemoveExpired>
19638				{
19639					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19640						"Multisig",
19641						"remove_expired",
19642						types::RemoveExpired { multisig_address, proposal_id },
19643						[
19644							94u8, 78u8, 117u8, 103u8, 202u8, 220u8, 114u8, 15u8, 215u8, 2u8, 39u8,
19645							23u8, 128u8, 151u8, 103u8, 78u8, 66u8, 116u8, 182u8, 1u8, 28u8, 44u8,
19646							111u8, 170u8, 201u8, 171u8, 248u8, 36u8, 71u8, 228u8, 85u8, 82u8,
19647						],
19648					)
19649				}
19650				#[doc = "Claim all deposits from expired proposals"]
19651				#[doc = ""]
19652				#[doc = "This is a batch operation that removes all expired proposals where:"]
19653				#[doc = "- Caller is the proposer"]
19654				#[doc = "- Proposal is Active or Approved and past expiry block"]
19655				#[doc = ""]
19656				#[doc = "Note: Executed and Cancelled proposals are automatically cleaned up immediately,"]
19657				#[doc = "so only Active+Expired and Approved+Expired proposals need manual cleanup."]
19658				#[doc = ""]
19659				#[doc = "Returns all proposal deposits to the proposer in a single transaction."]
19660				pub fn claim_deposits(
19661					&self,
19662					multisig_address: types::claim_deposits::MultisigAddress,
19663				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ClaimDeposits>
19664				{
19665					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19666						"Multisig",
19667						"claim_deposits",
19668						types::ClaimDeposits { multisig_address },
19669						[
19670							59u8, 70u8, 208u8, 192u8, 13u8, 245u8, 227u8, 53u8, 105u8, 236u8, 5u8,
19671							102u8, 28u8, 173u8, 134u8, 39u8, 125u8, 165u8, 106u8, 119u8, 150u8,
19672							100u8, 57u8, 209u8, 37u8, 154u8, 51u8, 66u8, 66u8, 110u8, 57u8, 199u8,
19673						],
19674					)
19675				}
19676				#[doc = "Execute an approved proposal"]
19677				#[doc = ""]
19678				#[doc = "Can be called by any signer of the multisig once the proposal has reached"]
19679				#[doc = "the approval threshold (status = Approved). The proposal must not be expired."]
19680				#[doc = ""]
19681				#[doc = "On execution:"]
19682				#[doc = "- The call is decoded and dispatched as the multisig account"]
19683				#[doc = "- Proposal is removed from storage"]
19684				#[doc = "- Deposit is returned to the proposer"]
19685				#[doc = ""]
19686				#[doc = "Parameters:"]
19687				#[doc = "- `multisig_address`: The multisig account"]
19688				#[doc = "- `proposal_id`: ID (nonce) of the proposal to execute"]
19689				pub fn execute(
19690					&self,
19691					multisig_address: types::execute::MultisigAddress,
19692					proposal_id: types::execute::ProposalId,
19693				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::Execute> {
19694					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19695						"Multisig",
19696						"execute",
19697						types::Execute { multisig_address, proposal_id },
19698						[
19699							209u8, 110u8, 225u8, 231u8, 188u8, 230u8, 192u8, 42u8, 43u8, 233u8,
19700							158u8, 149u8, 58u8, 203u8, 142u8, 44u8, 40u8, 27u8, 211u8, 194u8, 26u8,
19701							7u8, 7u8, 254u8, 29u8, 245u8, 230u8, 195u8, 82u8, 108u8, 1u8, 27u8,
19702						],
19703					)
19704				}
19705				#[doc = "Approve dissolving a multisig account"]
19706				#[doc = ""]
19707				#[doc = "Signers call this to approve dissolving the multisig."]
19708				#[doc = "When threshold is reached, the multisig is automatically dissolved."]
19709				#[doc = ""]
19710				#[doc = "Requirements:"]
19711				#[doc = "- Caller must be a signer"]
19712				#[doc = "- No proposals exist (active, executed, or cancelled) - must be fully cleaned up"]
19713				#[doc = "- Multisig account balance must be zero"]
19714				#[doc = ""]
19715				#[doc = "When threshold is reached:"]
19716				#[doc = "- Deposit is returned to creator"]
19717				#[doc = "- Multisig storage is removed"]
19718				pub fn approve_dissolve(
19719					&self,
19720					multisig_address: types::approve_dissolve::MultisigAddress,
19721				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<types::ApproveDissolve>
19722				{
19723					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
19724						"Multisig",
19725						"approve_dissolve",
19726						types::ApproveDissolve { multisig_address },
19727						[
19728							156u8, 98u8, 164u8, 184u8, 61u8, 224u8, 117u8, 109u8, 44u8, 173u8,
19729							59u8, 188u8, 164u8, 233u8, 191u8, 223u8, 240u8, 203u8, 164u8, 113u8,
19730							184u8, 187u8, 41u8, 154u8, 87u8, 135u8, 229u8, 56u8, 35u8, 196u8,
19731							136u8, 241u8,
19732						],
19733					)
19734				}
19735			}
19736		}
19737		#[doc = "The `Event` enum of this pallet"]
19738		pub type Event = runtime_types::pallet_multisig::pallet::Event;
19739		pub mod events {
19740			use super::runtime_types;
19741			#[derive(
19742				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19743				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19744				Debug,
19745			)]
19746			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19747			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19748			#[doc = "A new multisig account was created"]
19749			#[doc = "[creator, multisig_address, signers, threshold, nonce]"]
19750			pub struct MultisigCreated {
19751				pub creator: multisig_created::Creator,
19752				pub multisig_address: multisig_created::MultisigAddress,
19753				pub signers: multisig_created::Signers,
19754				pub threshold: multisig_created::Threshold,
19755				pub nonce: multisig_created::Nonce,
19756			}
19757			pub mod multisig_created {
19758				use super::runtime_types;
19759				pub type Creator = ::subxt::ext::subxt_core::utils::AccountId32;
19760				pub type MultisigAddress = ::subxt::ext::subxt_core::utils::AccountId32;
19761				pub type Signers = ::subxt::ext::subxt_core::alloc::vec::Vec<
19762					::subxt::ext::subxt_core::utils::AccountId32,
19763				>;
19764				pub type Threshold = ::core::primitive::u32;
19765				pub type Nonce = ::core::primitive::u64;
19766			}
19767			impl ::subxt::ext::subxt_core::events::StaticEvent for MultisigCreated {
19768				const PALLET: &'static str = "Multisig";
19769				const EVENT: &'static str = "MultisigCreated";
19770			}
19771			#[derive(
19772				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19773				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19774				Debug,
19775			)]
19776			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19777			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19778			#[doc = "A proposal has been created"]
19779			pub struct ProposalCreated {
19780				pub multisig_address: proposal_created::MultisigAddress,
19781				pub proposer: proposal_created::Proposer,
19782				pub proposal_id: proposal_created::ProposalId,
19783			}
19784			pub mod proposal_created {
19785				use super::runtime_types;
19786				pub type MultisigAddress = ::subxt::ext::subxt_core::utils::AccountId32;
19787				pub type Proposer = ::subxt::ext::subxt_core::utils::AccountId32;
19788				pub type ProposalId = ::core::primitive::u32;
19789			}
19790			impl ::subxt::ext::subxt_core::events::StaticEvent for ProposalCreated {
19791				const PALLET: &'static str = "Multisig";
19792				const EVENT: &'static str = "ProposalCreated";
19793			}
19794			#[derive(
19795				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19796				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19797				Debug,
19798			)]
19799			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19800			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19801			#[doc = "A proposal has been approved by a signer"]
19802			pub struct ProposalApproved {
19803				pub multisig_address: proposal_approved::MultisigAddress,
19804				pub approver: proposal_approved::Approver,
19805				pub proposal_id: proposal_approved::ProposalId,
19806				pub approvals_count: proposal_approved::ApprovalsCount,
19807			}
19808			pub mod proposal_approved {
19809				use super::runtime_types;
19810				pub type MultisigAddress = ::subxt::ext::subxt_core::utils::AccountId32;
19811				pub type Approver = ::subxt::ext::subxt_core::utils::AccountId32;
19812				pub type ProposalId = ::core::primitive::u32;
19813				pub type ApprovalsCount = ::core::primitive::u32;
19814			}
19815			impl ::subxt::ext::subxt_core::events::StaticEvent for ProposalApproved {
19816				const PALLET: &'static str = "Multisig";
19817				const EVENT: &'static str = "ProposalApproved";
19818			}
19819			#[derive(
19820				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19821				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19822				Debug,
19823			)]
19824			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19825			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19826			#[doc = "A proposal has reached threshold and is ready to execute"]
19827			pub struct ProposalReadyToExecute {
19828				pub multisig_address: proposal_ready_to_execute::MultisigAddress,
19829				pub proposal_id: proposal_ready_to_execute::ProposalId,
19830				pub approvals_count: proposal_ready_to_execute::ApprovalsCount,
19831			}
19832			pub mod proposal_ready_to_execute {
19833				use super::runtime_types;
19834				pub type MultisigAddress = ::subxt::ext::subxt_core::utils::AccountId32;
19835				pub type ProposalId = ::core::primitive::u32;
19836				pub type ApprovalsCount = ::core::primitive::u32;
19837			}
19838			impl ::subxt::ext::subxt_core::events::StaticEvent for ProposalReadyToExecute {
19839				const PALLET: &'static str = "Multisig";
19840				const EVENT: &'static str = "ProposalReadyToExecute";
19841			}
19842			#[derive(
19843				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19844				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19845				Debug,
19846			)]
19847			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19848			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19849			#[doc = "A proposal has been executed"]
19850			#[doc = "Contains all data needed for indexing by SubSquid"]
19851			pub struct ProposalExecuted {
19852				pub multisig_address: proposal_executed::MultisigAddress,
19853				pub proposal_id: proposal_executed::ProposalId,
19854				pub proposer: proposal_executed::Proposer,
19855				pub call: proposal_executed::Call,
19856				pub approvers: proposal_executed::Approvers,
19857				pub result: proposal_executed::Result,
19858			}
19859			pub mod proposal_executed {
19860				use super::runtime_types;
19861				pub type MultisigAddress = ::subxt::ext::subxt_core::utils::AccountId32;
19862				pub type ProposalId = ::core::primitive::u32;
19863				pub type Proposer = ::subxt::ext::subxt_core::utils::AccountId32;
19864				pub type Call = ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
19865				pub type Approvers = ::subxt::ext::subxt_core::alloc::vec::Vec<
19866					::subxt::ext::subxt_core::utils::AccountId32,
19867				>;
19868				pub type Result =
19869					::core::result::Result<(), runtime_types::sp_runtime::DispatchError>;
19870			}
19871			impl ::subxt::ext::subxt_core::events::StaticEvent for ProposalExecuted {
19872				const PALLET: &'static str = "Multisig";
19873				const EVENT: &'static str = "ProposalExecuted";
19874			}
19875			#[derive(
19876				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19877				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19878				Debug,
19879			)]
19880			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19881			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19882			#[doc = "A proposal has been cancelled by the proposer"]
19883			pub struct ProposalCancelled {
19884				pub multisig_address: proposal_cancelled::MultisigAddress,
19885				pub proposer: proposal_cancelled::Proposer,
19886				pub proposal_id: proposal_cancelled::ProposalId,
19887			}
19888			pub mod proposal_cancelled {
19889				use super::runtime_types;
19890				pub type MultisigAddress = ::subxt::ext::subxt_core::utils::AccountId32;
19891				pub type Proposer = ::subxt::ext::subxt_core::utils::AccountId32;
19892				pub type ProposalId = ::core::primitive::u32;
19893			}
19894			impl ::subxt::ext::subxt_core::events::StaticEvent for ProposalCancelled {
19895				const PALLET: &'static str = "Multisig";
19896				const EVENT: &'static str = "ProposalCancelled";
19897			}
19898			#[derive(
19899				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19900				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19901				Debug,
19902			)]
19903			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19904			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19905			#[doc = "Expired proposal was removed from storage"]
19906			pub struct ProposalRemoved {
19907				pub multisig_address: proposal_removed::MultisigAddress,
19908				pub proposal_id: proposal_removed::ProposalId,
19909				pub proposer: proposal_removed::Proposer,
19910				pub removed_by: proposal_removed::RemovedBy,
19911			}
19912			pub mod proposal_removed {
19913				use super::runtime_types;
19914				pub type MultisigAddress = ::subxt::ext::subxt_core::utils::AccountId32;
19915				pub type ProposalId = ::core::primitive::u32;
19916				pub type Proposer = ::subxt::ext::subxt_core::utils::AccountId32;
19917				pub type RemovedBy = ::subxt::ext::subxt_core::utils::AccountId32;
19918			}
19919			impl ::subxt::ext::subxt_core::events::StaticEvent for ProposalRemoved {
19920				const PALLET: &'static str = "Multisig";
19921				const EVENT: &'static str = "ProposalRemoved";
19922			}
19923			#[derive(
19924				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19925				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19926				Debug,
19927			)]
19928			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19929			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19930			#[doc = "Batch deposits claimed"]
19931			pub struct DepositsClaimed {
19932				pub multisig_address: deposits_claimed::MultisigAddress,
19933				pub claimer: deposits_claimed::Claimer,
19934				pub total_returned: deposits_claimed::TotalReturned,
19935				pub proposals_removed: deposits_claimed::ProposalsRemoved,
19936				pub multisig_removed: deposits_claimed::MultisigRemoved,
19937			}
19938			pub mod deposits_claimed {
19939				use super::runtime_types;
19940				pub type MultisigAddress = ::subxt::ext::subxt_core::utils::AccountId32;
19941				pub type Claimer = ::subxt::ext::subxt_core::utils::AccountId32;
19942				pub type TotalReturned = ::core::primitive::u128;
19943				pub type ProposalsRemoved = ::core::primitive::u32;
19944				pub type MultisigRemoved = ::core::primitive::bool;
19945			}
19946			impl ::subxt::ext::subxt_core::events::StaticEvent for DepositsClaimed {
19947				const PALLET: &'static str = "Multisig";
19948				const EVENT: &'static str = "DepositsClaimed";
19949			}
19950			#[derive(
19951				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19952				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19953				Debug,
19954			)]
19955			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19956			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19957			#[doc = "A signer approved dissolving the multisig"]
19958			pub struct DissolveApproved {
19959				pub multisig_address: dissolve_approved::MultisigAddress,
19960				pub approver: dissolve_approved::Approver,
19961				pub approvals_count: dissolve_approved::ApprovalsCount,
19962			}
19963			pub mod dissolve_approved {
19964				use super::runtime_types;
19965				pub type MultisigAddress = ::subxt::ext::subxt_core::utils::AccountId32;
19966				pub type Approver = ::subxt::ext::subxt_core::utils::AccountId32;
19967				pub type ApprovalsCount = ::core::primitive::u32;
19968			}
19969			impl ::subxt::ext::subxt_core::events::StaticEvent for DissolveApproved {
19970				const PALLET: &'static str = "Multisig";
19971				const EVENT: &'static str = "DissolveApproved";
19972			}
19973			#[derive(
19974				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
19975				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
19976				Debug,
19977			)]
19978			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
19979			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
19980			#[doc = "A multisig account was dissolved (threshold reached)"]
19981			pub struct MultisigDissolved {
19982				pub multisig_address: multisig_dissolved::MultisigAddress,
19983				pub deposit_returned: multisig_dissolved::DepositReturned,
19984				pub approvers: multisig_dissolved::Approvers,
19985			}
19986			pub mod multisig_dissolved {
19987				use super::runtime_types;
19988				pub type MultisigAddress = ::subxt::ext::subxt_core::utils::AccountId32;
19989				pub type DepositReturned = ::subxt::ext::subxt_core::utils::AccountId32;
19990				pub type Approvers = ::subxt::ext::subxt_core::alloc::vec::Vec<
19991					::subxt::ext::subxt_core::utils::AccountId32,
19992				>;
19993			}
19994			impl ::subxt::ext::subxt_core::events::StaticEvent for MultisigDissolved {
19995				const PALLET: &'static str = "Multisig";
19996				const EVENT: &'static str = "MultisigDissolved";
19997			}
19998		}
19999		pub mod storage {
20000			use super::runtime_types;
20001			pub mod types {
20002				use super::runtime_types;
20003				pub mod multisigs {
20004					use super::runtime_types;
20005					pub type Multisigs = runtime_types::pallet_multisig::MultisigData<
20006						::subxt::ext::subxt_core::utils::AccountId32,
20007						runtime_types::bounded_collections::bounded_vec::BoundedVec<
20008							::subxt::ext::subxt_core::utils::AccountId32,
20009						>,
20010						::core::primitive::u128,
20011						runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap<
20012							::subxt::ext::subxt_core::utils::AccountId32,
20013							::core::primitive::u32,
20014						>,
20015					>;
20016					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
20017				}
20018				pub mod proposals {
20019					use super::runtime_types;
20020					pub type Proposals = runtime_types::pallet_multisig::ProposalData<
20021						::subxt::ext::subxt_core::utils::AccountId32,
20022						::core::primitive::u128,
20023						::core::primitive::u32,
20024						runtime_types::bounded_collections::bounded_vec::BoundedVec<
20025							::core::primitive::u8,
20026						>,
20027						runtime_types::bounded_collections::bounded_vec::BoundedVec<
20028							::subxt::ext::subxt_core::utils::AccountId32,
20029						>,
20030					>;
20031					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
20032					pub type Param1 = ::core::primitive::u32;
20033				}
20034				pub mod dissolve_approvals {
20035					use super::runtime_types;
20036					pub type DissolveApprovals =
20037						runtime_types::bounded_collections::bounded_vec::BoundedVec<
20038							::subxt::ext::subxt_core::utils::AccountId32,
20039						>;
20040					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
20041				}
20042			}
20043			pub struct StorageApi;
20044			impl StorageApi {
20045				#[doc = " Multisigs stored by their deterministic address"]
20046				pub fn multisigs_iter(
20047					&self,
20048				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20049					(),
20050					types::multisigs::Multisigs,
20051					(),
20052					(),
20053					::subxt::ext::subxt_core::utils::Yes,
20054				> {
20055					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20056						"Multisig",
20057						"Multisigs",
20058						(),
20059						[
20060							81u8, 182u8, 236u8, 127u8, 98u8, 244u8, 6u8, 51u8, 209u8, 6u8, 214u8,
20061							144u8, 49u8, 117u8, 203u8, 39u8, 180u8, 247u8, 172u8, 228u8, 72u8,
20062							25u8, 171u8, 55u8, 41u8, 236u8, 14u8, 135u8, 22u8, 6u8, 241u8, 230u8,
20063						],
20064					)
20065				}
20066				#[doc = " Multisigs stored by their deterministic address"]
20067				pub fn multisigs(
20068					&self,
20069					_0: types::multisigs::Param0,
20070				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20071					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20072						types::multisigs::Param0,
20073					>,
20074					types::multisigs::Multisigs,
20075					::subxt::ext::subxt_core::utils::Yes,
20076					(),
20077					(),
20078				> {
20079					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20080						"Multisig",
20081						"Multisigs",
20082						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
20083						[
20084							81u8, 182u8, 236u8, 127u8, 98u8, 244u8, 6u8, 51u8, 209u8, 6u8, 214u8,
20085							144u8, 49u8, 117u8, 203u8, 39u8, 180u8, 247u8, 172u8, 228u8, 72u8,
20086							25u8, 171u8, 55u8, 41u8, 236u8, 14u8, 135u8, 22u8, 6u8, 241u8, 230u8,
20087						],
20088					)
20089				}
20090				#[doc = " Proposals indexed by (multisig_address, proposal_nonce)"]
20091				pub fn proposals_iter(
20092					&self,
20093				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20094					(),
20095					types::proposals::Proposals,
20096					(),
20097					(),
20098					::subxt::ext::subxt_core::utils::Yes,
20099				> {
20100					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20101						"Multisig",
20102						"Proposals",
20103						(),
20104						[
20105							102u8, 10u8, 240u8, 43u8, 229u8, 237u8, 64u8, 243u8, 64u8, 7u8, 59u8,
20106							83u8, 229u8, 106u8, 209u8, 184u8, 240u8, 116u8, 205u8, 176u8, 4u8,
20107							247u8, 234u8, 87u8, 177u8, 197u8, 117u8, 38u8, 83u8, 216u8, 218u8,
20108							67u8,
20109						],
20110					)
20111				}
20112				#[doc = " Proposals indexed by (multisig_address, proposal_nonce)"]
20113				pub fn proposals_iter1(
20114					&self,
20115					_0: types::proposals::Param0,
20116				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20117					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20118						types::proposals::Param0,
20119					>,
20120					types::proposals::Proposals,
20121					(),
20122					(),
20123					::subxt::ext::subxt_core::utils::Yes,
20124				> {
20125					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20126						"Multisig",
20127						"Proposals",
20128						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
20129						[
20130							102u8, 10u8, 240u8, 43u8, 229u8, 237u8, 64u8, 243u8, 64u8, 7u8, 59u8,
20131							83u8, 229u8, 106u8, 209u8, 184u8, 240u8, 116u8, 205u8, 176u8, 4u8,
20132							247u8, 234u8, 87u8, 177u8, 197u8, 117u8, 38u8, 83u8, 216u8, 218u8,
20133							67u8,
20134						],
20135					)
20136				}
20137				#[doc = " Proposals indexed by (multisig_address, proposal_nonce)"]
20138				pub fn proposals(
20139					&self,
20140					_0: types::proposals::Param0,
20141					_1: types::proposals::Param1,
20142				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20143					(
20144						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20145							types::proposals::Param0,
20146						>,
20147						::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20148							types::proposals::Param1,
20149						>,
20150					),
20151					types::proposals::Proposals,
20152					::subxt::ext::subxt_core::utils::Yes,
20153					(),
20154					(),
20155				> {
20156					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20157						"Multisig",
20158						"Proposals",
20159						(
20160							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
20161							::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1),
20162						),
20163						[
20164							102u8, 10u8, 240u8, 43u8, 229u8, 237u8, 64u8, 243u8, 64u8, 7u8, 59u8,
20165							83u8, 229u8, 106u8, 209u8, 184u8, 240u8, 116u8, 205u8, 176u8, 4u8,
20166							247u8, 234u8, 87u8, 177u8, 197u8, 117u8, 38u8, 83u8, 216u8, 218u8,
20167							67u8,
20168						],
20169					)
20170				}
20171				#[doc = " Dissolve approvals: tracks which signers approved dissolving the multisig"]
20172				#[doc = " Maps multisig_address -> Vec<approver_accounts>"]
20173				pub fn dissolve_approvals_iter(
20174					&self,
20175				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20176					(),
20177					types::dissolve_approvals::DissolveApprovals,
20178					(),
20179					(),
20180					::subxt::ext::subxt_core::utils::Yes,
20181				> {
20182					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20183						"Multisig",
20184						"DissolveApprovals",
20185						(),
20186						[
20187							204u8, 17u8, 210u8, 54u8, 125u8, 128u8, 75u8, 21u8, 158u8, 13u8, 205u8,
20188							89u8, 98u8, 73u8, 141u8, 159u8, 53u8, 129u8, 19u8, 195u8, 2u8, 178u8,
20189							26u8, 137u8, 206u8, 7u8, 108u8, 196u8, 195u8, 4u8, 54u8, 111u8,
20190						],
20191					)
20192				}
20193				#[doc = " Dissolve approvals: tracks which signers approved dissolving the multisig"]
20194				#[doc = " Maps multisig_address -> Vec<approver_accounts>"]
20195				pub fn dissolve_approvals(
20196					&self,
20197					_0: types::dissolve_approvals::Param0,
20198				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20199					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20200						types::dissolve_approvals::Param0,
20201					>,
20202					types::dissolve_approvals::DissolveApprovals,
20203					::subxt::ext::subxt_core::utils::Yes,
20204					(),
20205					(),
20206				> {
20207					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20208						"Multisig",
20209						"DissolveApprovals",
20210						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
20211						[
20212							204u8, 17u8, 210u8, 54u8, 125u8, 128u8, 75u8, 21u8, 158u8, 13u8, 205u8,
20213							89u8, 98u8, 73u8, 141u8, 159u8, 53u8, 129u8, 19u8, 195u8, 2u8, 178u8,
20214							26u8, 137u8, 206u8, 7u8, 108u8, 196u8, 195u8, 4u8, 54u8, 111u8,
20215						],
20216					)
20217				}
20218			}
20219		}
20220		pub mod constants {
20221			use super::runtime_types;
20222			pub struct ConstantsApi;
20223			impl ConstantsApi {
20224				#[doc = " Maximum number of signers allowed in a multisig"]
20225				pub fn max_signers(
20226					&self,
20227				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20228					::core::primitive::u32,
20229				> {
20230					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20231						"Multisig",
20232						"MaxSigners",
20233						[
20234							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
20235							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
20236							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
20237							145u8,
20238						],
20239					)
20240				}
20241				#[doc = " Maximum total number of proposals in storage per multisig (Active + Executed +"]
20242				#[doc = " Cancelled) This prevents unbounded storage growth and incentivizes cleanup"]
20243				pub fn max_total_proposals_in_storage(
20244					&self,
20245				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20246					::core::primitive::u32,
20247				> {
20248					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20249						"Multisig",
20250						"MaxTotalProposalsInStorage",
20251						[
20252							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
20253							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
20254							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
20255							145u8,
20256						],
20257					)
20258				}
20259				#[doc = " Maximum size of an encoded call"]
20260				pub fn max_call_size(
20261					&self,
20262				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20263					::core::primitive::u32,
20264				> {
20265					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20266						"Multisig",
20267						"MaxCallSize",
20268						[
20269							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
20270							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
20271							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
20272							145u8,
20273						],
20274					)
20275				}
20276				#[doc = " Fee charged for creating a multisig (non-refundable, burned)"]
20277				pub fn multisig_fee(
20278					&self,
20279				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20280					::core::primitive::u128,
20281				> {
20282					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20283						"Multisig",
20284						"MultisigFee",
20285						[
20286							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
20287							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
20288							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
20289						],
20290					)
20291				}
20292				#[doc = " Deposit reserved for creating a multisig (returned when dissolved)."]
20293				#[doc = " Keeps the state clean by incentivizing removal of unused multisigs."]
20294				pub fn multisig_deposit(
20295					&self,
20296				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20297					::core::primitive::u128,
20298				> {
20299					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20300						"Multisig",
20301						"MultisigDeposit",
20302						[
20303							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
20304							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
20305							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
20306						],
20307					)
20308				}
20309				#[doc = " Deposit required per proposal (returned on execute or cancel)"]
20310				pub fn proposal_deposit(
20311					&self,
20312				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20313					::core::primitive::u128,
20314				> {
20315					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20316						"Multisig",
20317						"ProposalDeposit",
20318						[
20319							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
20320							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
20321							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
20322						],
20323					)
20324				}
20325				#[doc = " Fee charged for creating a proposal (non-refundable, paid always)"]
20326				pub fn proposal_fee(
20327					&self,
20328				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20329					::core::primitive::u128,
20330				> {
20331					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20332						"Multisig",
20333						"ProposalFee",
20334						[
20335							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
20336							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
20337							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
20338						],
20339					)
20340				}
20341				#[doc = " Percentage increase in ProposalFee for each signer in the multisig."]
20342				#[doc = ""]
20343				#[doc = " Formula: `FinalFee = ProposalFee + (ProposalFee * SignerCount * SignerStepFactor)`"]
20344				#[doc = " Example: If Fee=100, Signers=5, Factor=1%, then Extra = 100 * 5 * 0.01 = 5. Total = 105."]
20345				pub fn signer_step_factor(
20346					&self,
20347				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20348					runtime_types::sp_arithmetic::per_things::Permill,
20349				> {
20350					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20351						"Multisig",
20352						"SignerStepFactor",
20353						[
20354							65u8, 93u8, 120u8, 165u8, 204u8, 81u8, 159u8, 163u8, 93u8, 135u8,
20355							114u8, 121u8, 147u8, 35u8, 215u8, 213u8, 4u8, 223u8, 83u8, 37u8, 225u8,
20356							200u8, 189u8, 156u8, 140u8, 36u8, 58u8, 46u8, 42u8, 232u8, 155u8, 0u8,
20357						],
20358					)
20359				}
20360				#[doc = " Pallet ID for generating multisig addresses"]
20361				pub fn pallet_id(
20362					&self,
20363				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20364					runtime_types::frame_support::PalletId,
20365				> {
20366					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20367						"Multisig",
20368						"PalletId",
20369						[
20370							56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8,
20371							161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8,
20372							129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8,
20373						],
20374					)
20375				}
20376				#[doc = " Maximum duration (in blocks) that a proposal can be set to expire in the future."]
20377				#[doc = " This prevents proposals from being created with extremely far expiry dates"]
20378				#[doc = " that would lock deposits and bloat storage for extended periods."]
20379				#[doc = ""]
20380				#[doc = " Example: If set to 100_000 blocks (~2 weeks at 12s blocks),"]
20381				#[doc = " a proposal created at block 1000 cannot have expiry > 101_000."]
20382				pub fn max_expiry_duration(
20383					&self,
20384				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20385					::core::primitive::u32,
20386				> {
20387					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20388						"Multisig",
20389						"MaxExpiryDuration",
20390						[
20391							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
20392							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
20393							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
20394							145u8,
20395						],
20396					)
20397				}
20398			}
20399		}
20400	}
20401	pub mod wormhole {
20402		use super::{root_mod, runtime_types};
20403		#[doc = "The `Error` enum of this pallet."]
20404		pub type Error = runtime_types::pallet_wormhole::pallet::Error;
20405		#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
20406		pub type Call = runtime_types::pallet_wormhole::pallet::Call;
20407		pub mod calls {
20408			use super::{root_mod, runtime_types};
20409			type DispatchError = runtime_types::sp_runtime::DispatchError;
20410			pub mod types {
20411				use super::runtime_types;
20412				#[derive(
20413					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20414					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20415					Debug,
20416				)]
20417				#[decode_as_type(
20418					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20419				)]
20420				#[encode_as_type(
20421					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20422				)]
20423				#[doc = "Verify an aggregated wormhole proof and process all transfers in the batch"]
20424				pub struct VerifyAggregatedProof {
20425					pub proof_bytes: verify_aggregated_proof::ProofBytes,
20426				}
20427				pub mod verify_aggregated_proof {
20428					use super::runtime_types;
20429					pub type ProofBytes =
20430						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>;
20431				}
20432				impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for VerifyAggregatedProof {
20433					const PALLET: &'static str = "Wormhole";
20434					const CALL: &'static str = "verify_aggregated_proof";
20435				}
20436			}
20437			pub struct TransactionApi;
20438			impl TransactionApi {
20439				#[doc = "Verify an aggregated wormhole proof and process all transfers in the batch"]
20440				pub fn verify_aggregated_proof(
20441					&self,
20442					proof_bytes: types::verify_aggregated_proof::ProofBytes,
20443				) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload<
20444					types::VerifyAggregatedProof,
20445				> {
20446					::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static(
20447						"Wormhole",
20448						"verify_aggregated_proof",
20449						types::VerifyAggregatedProof { proof_bytes },
20450						[
20451							122u8, 42u8, 194u8, 153u8, 22u8, 66u8, 199u8, 173u8, 19u8, 107u8,
20452							232u8, 147u8, 77u8, 40u8, 115u8, 208u8, 183u8, 77u8, 46u8, 149u8, 56u8,
20453							225u8, 146u8, 168u8, 49u8, 248u8, 42u8, 195u8, 180u8, 91u8, 75u8,
20454							102u8,
20455						],
20456					)
20457				}
20458			}
20459		}
20460		#[doc = "The `Event` enum of this pallet"]
20461		pub type Event = runtime_types::pallet_wormhole::pallet::Event;
20462		pub mod events {
20463			use super::runtime_types;
20464			#[derive(
20465				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20466				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20467				Debug,
20468			)]
20469			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20470			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20471			pub struct NativeTransferred {
20472				pub from: native_transferred::From,
20473				pub to: native_transferred::To,
20474				pub amount: native_transferred::Amount,
20475				pub transfer_count: native_transferred::TransferCount,
20476			}
20477			pub mod native_transferred {
20478				use super::runtime_types;
20479				pub type From = ::subxt::ext::subxt_core::utils::AccountId32;
20480				pub type To = ::subxt::ext::subxt_core::utils::AccountId32;
20481				pub type Amount = ::core::primitive::u128;
20482				pub type TransferCount = ::core::primitive::u64;
20483			}
20484			impl ::subxt::ext::subxt_core::events::StaticEvent for NativeTransferred {
20485				const PALLET: &'static str = "Wormhole";
20486				const EVENT: &'static str = "NativeTransferred";
20487			}
20488			#[derive(
20489				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20490				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20491				Debug,
20492			)]
20493			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20494			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20495			pub struct AssetTransferred {
20496				pub asset_id: asset_transferred::AssetId,
20497				pub from: asset_transferred::From,
20498				pub to: asset_transferred::To,
20499				pub amount: asset_transferred::Amount,
20500				pub transfer_count: asset_transferred::TransferCount,
20501			}
20502			pub mod asset_transferred {
20503				use super::runtime_types;
20504				pub type AssetId = ::core::primitive::u32;
20505				pub type From = ::subxt::ext::subxt_core::utils::AccountId32;
20506				pub type To = ::subxt::ext::subxt_core::utils::AccountId32;
20507				pub type Amount = ::core::primitive::u128;
20508				pub type TransferCount = ::core::primitive::u64;
20509			}
20510			impl ::subxt::ext::subxt_core::events::StaticEvent for AssetTransferred {
20511				const PALLET: &'static str = "Wormhole";
20512				const EVENT: &'static str = "AssetTransferred";
20513			}
20514			#[derive(
20515				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20516				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20517				Debug,
20518			)]
20519			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20520			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20521			pub struct ProofVerified {
20522				pub exit_amount: proof_verified::ExitAmount,
20523				pub nullifiers: proof_verified::Nullifiers,
20524			}
20525			pub mod proof_verified {
20526				use super::runtime_types;
20527				pub type ExitAmount = ::core::primitive::u128;
20528				pub type Nullifiers =
20529					::subxt::ext::subxt_core::alloc::vec::Vec<[::core::primitive::u8; 32usize]>;
20530			}
20531			impl ::subxt::ext::subxt_core::events::StaticEvent for ProofVerified {
20532				const PALLET: &'static str = "Wormhole";
20533				const EVENT: &'static str = "ProofVerified";
20534			}
20535		}
20536		pub mod storage {
20537			use super::runtime_types;
20538			pub mod types {
20539				use super::runtime_types;
20540				pub mod used_nullifiers {
20541					use super::runtime_types;
20542					pub type UsedNullifiers = ::core::primitive::bool;
20543					pub type Param0 = [::core::primitive::u8; 32usize];
20544				}
20545				pub mod transfer_proof {
20546					use super::runtime_types;
20547					pub type TransferProof = [::core::primitive::u8; 32usize];
20548					pub type Param0 =
20549						(::subxt::ext::subxt_core::utils::AccountId32, ::core::primitive::u64);
20550				}
20551				pub mod transfer_count {
20552					use super::runtime_types;
20553					pub type TransferCount = ::core::primitive::u64;
20554					pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32;
20555				}
20556			}
20557			pub struct StorageApi;
20558			impl StorageApi {
20559				pub fn used_nullifiers_iter(
20560					&self,
20561				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20562					(),
20563					types::used_nullifiers::UsedNullifiers,
20564					(),
20565					::subxt::ext::subxt_core::utils::Yes,
20566					::subxt::ext::subxt_core::utils::Yes,
20567				> {
20568					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20569						"Wormhole",
20570						"UsedNullifiers",
20571						(),
20572						[
20573							111u8, 222u8, 249u8, 87u8, 31u8, 249u8, 120u8, 32u8, 221u8, 33u8, 86u8,
20574							103u8, 116u8, 235u8, 16u8, 191u8, 73u8, 183u8, 183u8, 77u8, 229u8,
20575							255u8, 221u8, 186u8, 29u8, 179u8, 110u8, 138u8, 146u8, 113u8, 241u8,
20576							222u8,
20577						],
20578					)
20579				}
20580				pub fn used_nullifiers(
20581					&self,
20582					_0: types::used_nullifiers::Param0,
20583				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20584					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20585						types::used_nullifiers::Param0,
20586					>,
20587					types::used_nullifiers::UsedNullifiers,
20588					::subxt::ext::subxt_core::utils::Yes,
20589					::subxt::ext::subxt_core::utils::Yes,
20590					(),
20591				> {
20592					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20593						"Wormhole",
20594						"UsedNullifiers",
20595						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
20596						[
20597							111u8, 222u8, 249u8, 87u8, 31u8, 249u8, 120u8, 32u8, 221u8, 33u8, 86u8,
20598							103u8, 116u8, 235u8, 16u8, 191u8, 73u8, 183u8, 183u8, 77u8, 229u8,
20599							255u8, 221u8, 186u8, 29u8, 179u8, 110u8, 138u8, 146u8, 113u8, 241u8,
20600							222u8,
20601						],
20602					)
20603				}
20604				#[doc = " Transfer proofs for wormhole transfers (both native and assets)."]
20605				#[doc = ""]
20606				#[doc = " Storage key: Twox128(\"Wormhole\") || Twox128(\"TransferProof\") || Blake2_256(to,"]
20607				#[doc = " transfer_count) Storage value: leaf_inputs_hash (Poseidon2 hash of full transfer data)"]
20608				#[doc = ""]
20609				#[doc = " The key uses only (to, transfer_count) since transfer_count is atomic per recipient."]
20610				#[doc = " The ZK circuit verifies that the leaf_inputs_hash in the value section matches"]
20611				#[doc = " the Poseidon2 hash of all transfer details (asset_id, count, from, to, amount),"]
20612				#[doc = " providing full 256-bit security."]
20613				pub fn transfer_proof_iter(
20614					&self,
20615				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20616					(),
20617					types::transfer_proof::TransferProof,
20618					(),
20619					(),
20620					::subxt::ext::subxt_core::utils::Yes,
20621				> {
20622					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20623						"Wormhole",
20624						"TransferProof",
20625						(),
20626						[
20627							68u8, 118u8, 236u8, 167u8, 234u8, 90u8, 185u8, 84u8, 179u8, 175u8,
20628							199u8, 180u8, 115u8, 225u8, 146u8, 36u8, 107u8, 176u8, 147u8, 154u8,
20629							35u8, 40u8, 9u8, 62u8, 253u8, 6u8, 37u8, 253u8, 83u8, 206u8, 187u8,
20630							55u8,
20631						],
20632					)
20633				}
20634				#[doc = " Transfer proofs for wormhole transfers (both native and assets)."]
20635				#[doc = ""]
20636				#[doc = " Storage key: Twox128(\"Wormhole\") || Twox128(\"TransferProof\") || Blake2_256(to,"]
20637				#[doc = " transfer_count) Storage value: leaf_inputs_hash (Poseidon2 hash of full transfer data)"]
20638				#[doc = ""]
20639				#[doc = " The key uses only (to, transfer_count) since transfer_count is atomic per recipient."]
20640				#[doc = " The ZK circuit verifies that the leaf_inputs_hash in the value section matches"]
20641				#[doc = " the Poseidon2 hash of all transfer details (asset_id, count, from, to, amount),"]
20642				#[doc = " providing full 256-bit security."]
20643				pub fn transfer_proof(
20644					&self,
20645					_0: types::transfer_proof::Param0,
20646				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20647					(),
20648					types::transfer_proof::TransferProof,
20649					::subxt::ext::subxt_core::utils::Yes,
20650					(),
20651					(),
20652				> {
20653					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20654						"Wormhole",
20655						"TransferProof",
20656						(),
20657						[
20658							68u8, 118u8, 236u8, 167u8, 234u8, 90u8, 185u8, 84u8, 179u8, 175u8,
20659							199u8, 180u8, 115u8, 225u8, 146u8, 36u8, 107u8, 176u8, 147u8, 154u8,
20660							35u8, 40u8, 9u8, 62u8, 253u8, 6u8, 37u8, 253u8, 83u8, 206u8, 187u8,
20661							55u8,
20662						],
20663					)
20664				}
20665				#[doc = " Transfer count for all wormhole transfers"]
20666				pub fn transfer_count_iter(
20667					&self,
20668				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20669					(),
20670					types::transfer_count::TransferCount,
20671					(),
20672					::subxt::ext::subxt_core::utils::Yes,
20673					::subxt::ext::subxt_core::utils::Yes,
20674				> {
20675					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20676						"Wormhole",
20677						"TransferCount",
20678						(),
20679						[
20680							155u8, 203u8, 134u8, 227u8, 130u8, 247u8, 25u8, 140u8, 222u8, 140u8,
20681							171u8, 84u8, 194u8, 43u8, 94u8, 219u8, 28u8, 230u8, 224u8, 180u8,
20682							153u8, 223u8, 95u8, 3u8, 28u8, 119u8, 58u8, 220u8, 6u8, 146u8, 145u8,
20683							4u8,
20684						],
20685					)
20686				}
20687				#[doc = " Transfer count for all wormhole transfers"]
20688				pub fn transfer_count(
20689					&self,
20690					_0: types::transfer_count::Param0,
20691				) -> ::subxt::ext::subxt_core::storage::address::StaticAddress<
20692					::subxt::ext::subxt_core::storage::address::StaticStorageKey<
20693						types::transfer_count::Param0,
20694					>,
20695					types::transfer_count::TransferCount,
20696					::subxt::ext::subxt_core::utils::Yes,
20697					::subxt::ext::subxt_core::utils::Yes,
20698					(),
20699				> {
20700					::subxt::ext::subxt_core::storage::address::StaticAddress::new_static(
20701						"Wormhole",
20702						"TransferCount",
20703						::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0),
20704						[
20705							155u8, 203u8, 134u8, 227u8, 130u8, 247u8, 25u8, 140u8, 222u8, 140u8,
20706							171u8, 84u8, 194u8, 43u8, 94u8, 219u8, 28u8, 230u8, 224u8, 180u8,
20707							153u8, 223u8, 95u8, 3u8, 28u8, 119u8, 58u8, 220u8, 6u8, 146u8, 145u8,
20708							4u8,
20709						],
20710					)
20711				}
20712			}
20713		}
20714		pub mod constants {
20715			use super::runtime_types;
20716			pub struct ConstantsApi;
20717			impl ConstantsApi {
20718				#[doc = " Account ID used as the \"from\" account when creating transfer proofs for minted tokens"]
20719				pub fn minting_account(
20720					&self,
20721				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20722					::subxt::ext::subxt_core::utils::AccountId32,
20723				> {
20724					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20725						"Wormhole",
20726						"MintingAccount",
20727						[
20728							115u8, 233u8, 13u8, 223u8, 88u8, 20u8, 202u8, 139u8, 153u8, 28u8,
20729							155u8, 157u8, 224u8, 66u8, 3u8, 250u8, 23u8, 53u8, 88u8, 168u8, 211u8,
20730							204u8, 122u8, 166u8, 248u8, 23u8, 174u8, 225u8, 99u8, 108u8, 89u8,
20731							135u8,
20732						],
20733					)
20734				}
20735				#[doc = " Minimum transfer amount required for wormhole transfers."]
20736				#[doc = " This prevents dust transfers that waste storage."]
20737				pub fn minimum_transfer_amount(
20738					&self,
20739				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20740					::core::primitive::u128,
20741				> {
20742					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20743						"Wormhole",
20744						"MinimumTransferAmount",
20745						[
20746							84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8,
20747							27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8,
20748							136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8,
20749						],
20750					)
20751				}
20752				#[doc = " Volume fee rate in basis points (1 basis point = 0.01%)."]
20753				#[doc = " This must match the fee rate used in proof generation."]
20754				pub fn volume_fee_rate_bps(
20755					&self,
20756				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20757					::core::primitive::u32,
20758				> {
20759					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20760						"Wormhole",
20761						"VolumeFeeRateBps",
20762						[
20763							98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8,
20764							125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8,
20765							178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8,
20766							145u8,
20767						],
20768					)
20769				}
20770				#[doc = " Proportion of volume fees to burn (not mint). The remainder goes to the block author."]
20771				#[doc = " Example: Permill::from_percent(50) means 50% burned, 50% to miner."]
20772				pub fn volume_fees_burn_rate(
20773					&self,
20774				) -> ::subxt::ext::subxt_core::constants::address::StaticAddress<
20775					runtime_types::sp_arithmetic::per_things::Permill,
20776				> {
20777					::subxt::ext::subxt_core::constants::address::StaticAddress::new_static(
20778						"Wormhole",
20779						"VolumeFeesBurnRate",
20780						[
20781							65u8, 93u8, 120u8, 165u8, 204u8, 81u8, 159u8, 163u8, 93u8, 135u8,
20782							114u8, 121u8, 147u8, 35u8, 215u8, 213u8, 4u8, 223u8, 83u8, 37u8, 225u8,
20783							200u8, 189u8, 156u8, 140u8, 36u8, 58u8, 46u8, 42u8, 232u8, 155u8, 0u8,
20784						],
20785					)
20786				}
20787			}
20788		}
20789	}
20790	pub mod runtime_types {
20791		use super::runtime_types;
20792		pub mod bounded_collections {
20793			use super::runtime_types;
20794			pub mod bounded_btree_map {
20795				use super::runtime_types;
20796				#[derive(
20797					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20798					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20799					Debug,
20800				)]
20801				#[decode_as_type(
20802					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20803				)]
20804				#[encode_as_type(
20805					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20806				)]
20807				pub struct BoundedBTreeMap<_0, _1>(
20808					pub ::subxt::ext::subxt_core::utils::KeyedVec<_0, _1>,
20809				);
20810			}
20811			pub mod bounded_vec {
20812				use super::runtime_types;
20813				#[derive(
20814					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20815					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20816					Debug,
20817				)]
20818				#[decode_as_type(
20819					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20820				)]
20821				#[encode_as_type(
20822					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20823				)]
20824				pub struct BoundedVec<_0>(pub ::subxt::ext::subxt_core::alloc::vec::Vec<_0>);
20825			}
20826			pub mod weak_bounded_vec {
20827				use super::runtime_types;
20828				#[derive(
20829					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20830					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20831					Debug,
20832				)]
20833				#[decode_as_type(
20834					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20835				)]
20836				#[encode_as_type(
20837					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20838				)]
20839				pub struct WeakBoundedVec<_0>(pub ::subxt::ext::subxt_core::alloc::vec::Vec<_0>);
20840			}
20841		}
20842		pub mod frame_metadata_hash_extension {
20843			use super::runtime_types;
20844			#[derive(
20845				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20846				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20847				Debug,
20848			)]
20849			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20850			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20851			pub struct CheckMetadataHash {
20852				pub mode: runtime_types::frame_metadata_hash_extension::Mode,
20853			}
20854			#[derive(
20855				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20856				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20857				Debug,
20858			)]
20859			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
20860			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
20861			pub enum Mode {
20862				#[codec(index = 0)]
20863				Disabled,
20864				#[codec(index = 1)]
20865				Enabled,
20866			}
20867		}
20868		pub mod frame_support {
20869			use super::runtime_types;
20870			pub mod dispatch {
20871				use super::runtime_types;
20872				#[derive(
20873					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20874					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20875					Debug,
20876				)]
20877				#[decode_as_type(
20878					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20879				)]
20880				#[encode_as_type(
20881					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20882				)]
20883				pub enum DispatchClass {
20884					#[codec(index = 0)]
20885					Normal,
20886					#[codec(index = 1)]
20887					Operational,
20888					#[codec(index = 2)]
20889					Mandatory,
20890				}
20891				#[derive(
20892					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20893					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20894					Debug,
20895				)]
20896				#[decode_as_type(
20897					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20898				)]
20899				#[encode_as_type(
20900					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20901				)]
20902				pub enum Pays {
20903					#[codec(index = 0)]
20904					Yes,
20905					#[codec(index = 1)]
20906					No,
20907				}
20908				#[derive(
20909					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20910					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20911					Debug,
20912				)]
20913				#[decode_as_type(
20914					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20915				)]
20916				#[encode_as_type(
20917					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20918				)]
20919				pub struct PerDispatchClass<_0> {
20920					pub normal: _0,
20921					pub operational: _0,
20922					pub mandatory: _0,
20923				}
20924				#[derive(
20925					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20926					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20927					Debug,
20928				)]
20929				#[decode_as_type(
20930					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20931				)]
20932				#[encode_as_type(
20933					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20934				)]
20935				pub struct PostDispatchInfo {
20936					pub actual_weight:
20937						::core::option::Option<runtime_types::sp_weights::weight_v2::Weight>,
20938					pub pays_fee: runtime_types::frame_support::dispatch::Pays,
20939				}
20940				#[derive(
20941					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20942					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20943					Debug,
20944				)]
20945				#[decode_as_type(
20946					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20947				)]
20948				#[encode_as_type(
20949					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20950				)]
20951				pub enum RawOrigin<_0> {
20952					#[codec(index = 0)]
20953					Root,
20954					#[codec(index = 1)]
20955					Signed(_0),
20956					#[codec(index = 2)]
20957					None,
20958					#[codec(index = 3)]
20959					Authorized,
20960				}
20961			}
20962			pub mod traits {
20963				use super::runtime_types;
20964				pub mod preimages {
20965					use super::runtime_types;
20966					#[derive(
20967						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
20968						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
20969						Debug,
20970					)]
20971					#[decode_as_type(
20972						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
20973					)]
20974					#[encode_as_type(
20975						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
20976					)]
20977					pub enum Bounded<_0, _1> {
20978						#[codec(index = 0)]
20979						Legacy {
20980							hash: ::subxt::ext::subxt_core::utils::H256,
20981						},
20982						#[codec(index = 1)]
20983						Inline(
20984							runtime_types::bounded_collections::bounded_vec::BoundedVec<
20985								::core::primitive::u8,
20986							>,
20987						),
20988						#[codec(index = 2)]
20989						Lookup {
20990							hash: ::subxt::ext::subxt_core::utils::H256,
20991							len: ::core::primitive::u32,
20992						},
20993						__Ignore(::core::marker::PhantomData<(_0, _1)>),
20994					}
20995				}
20996				pub mod schedule {
20997					use super::runtime_types;
20998					#[derive(
20999						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21000						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21001						Debug,
21002					)]
21003					#[decode_as_type(
21004						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21005					)]
21006					#[encode_as_type(
21007						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21008					)]
21009					pub enum DispatchTime<_0> {
21010						#[codec(index = 0)]
21011						At(_0),
21012						#[codec(index = 1)]
21013						After(_0),
21014					}
21015				}
21016				pub mod storage {
21017					use super::runtime_types;
21018					#[derive(
21019						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21020						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21021						Debug,
21022					)]
21023					#[decode_as_type(
21024						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21025					)]
21026					#[encode_as_type(
21027						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21028					)]
21029					pub struct NoDrop<_0>(pub _0);
21030				}
21031				pub mod tokens {
21032					use super::runtime_types;
21033					pub mod fungible {
21034						use super::runtime_types;
21035						pub mod imbalance {
21036							use super::runtime_types;
21037							#[derive(
21038								:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21039								:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21040								Debug,
21041							)]
21042							#[decode_as_type(
21043								crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21044							)]
21045							#[encode_as_type(
21046								crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21047							)]
21048							pub struct Imbalance<_0> {
21049								pub amount: _0,
21050							}
21051						}
21052					}
21053					pub mod misc {
21054						use super::runtime_types;
21055						#[derive(
21056							:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21057							:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21058							Debug,
21059						)]
21060						#[decode_as_type(
21061							crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21062						)]
21063						#[encode_as_type(
21064							crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21065						)]
21066						pub enum BalanceStatus {
21067							#[codec(index = 0)]
21068							Free,
21069							#[codec(index = 1)]
21070							Reserved,
21071						}
21072						#[derive(
21073							:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21074							:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21075							Debug,
21076						)]
21077						#[decode_as_type(
21078							crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21079						)]
21080						#[encode_as_type(
21081							crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21082						)]
21083						pub struct IdAmount<_0, _1> {
21084							pub id: _0,
21085							pub amount: _1,
21086						}
21087					}
21088				}
21089			}
21090			#[derive(
21091				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21092				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21093				Debug,
21094			)]
21095			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21096			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21097			pub struct PalletId(pub [::core::primitive::u8; 8usize]);
21098		}
21099		pub mod frame_system {
21100			use super::runtime_types;
21101			pub mod extensions {
21102				use super::runtime_types;
21103				pub mod check_genesis {
21104					use super::runtime_types;
21105					#[derive(
21106						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21107						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21108						Debug,
21109					)]
21110					#[decode_as_type(
21111						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21112					)]
21113					#[encode_as_type(
21114						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21115					)]
21116					pub struct CheckGenesis;
21117				}
21118				pub mod check_mortality {
21119					use super::runtime_types;
21120					#[derive(
21121						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21122						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21123						Debug,
21124					)]
21125					#[decode_as_type(
21126						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21127					)]
21128					#[encode_as_type(
21129						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21130					)]
21131					pub struct CheckMortality(pub runtime_types::sp_runtime::generic::era::Era);
21132				}
21133				pub mod check_non_zero_sender {
21134					use super::runtime_types;
21135					#[derive(
21136						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21137						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21138						Debug,
21139					)]
21140					#[decode_as_type(
21141						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21142					)]
21143					#[encode_as_type(
21144						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21145					)]
21146					pub struct CheckNonZeroSender;
21147				}
21148				pub mod check_nonce {
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(
21156						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21157					)]
21158					#[encode_as_type(
21159						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21160					)]
21161					pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32);
21162				}
21163				pub mod check_spec_version {
21164					use super::runtime_types;
21165					#[derive(
21166						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21167						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21168						Debug,
21169					)]
21170					#[decode_as_type(
21171						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21172					)]
21173					#[encode_as_type(
21174						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21175					)]
21176					pub struct CheckSpecVersion;
21177				}
21178				pub mod check_tx_version {
21179					use super::runtime_types;
21180					#[derive(
21181						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21182						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21183						Debug,
21184					)]
21185					#[decode_as_type(
21186						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21187					)]
21188					#[encode_as_type(
21189						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21190					)]
21191					pub struct CheckTxVersion;
21192				}
21193				pub mod check_weight {
21194					use super::runtime_types;
21195					#[derive(
21196						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21197						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21198						Debug,
21199					)]
21200					#[decode_as_type(
21201						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21202					)]
21203					#[encode_as_type(
21204						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21205					)]
21206					pub struct CheckWeight;
21207				}
21208			}
21209			pub mod limits {
21210				use super::runtime_types;
21211				#[derive(
21212					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21213					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21214					Debug,
21215				)]
21216				#[decode_as_type(
21217					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21218				)]
21219				#[encode_as_type(
21220					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21221				)]
21222				pub struct BlockLength {
21223					pub max: runtime_types::frame_support::dispatch::PerDispatchClass<
21224						::core::primitive::u32,
21225					>,
21226				}
21227				#[derive(
21228					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21229					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21230					Debug,
21231				)]
21232				#[decode_as_type(
21233					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21234				)]
21235				#[encode_as_type(
21236					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21237				)]
21238				pub struct BlockWeights {
21239					pub base_block: runtime_types::sp_weights::weight_v2::Weight,
21240					pub max_block: runtime_types::sp_weights::weight_v2::Weight,
21241					pub per_class: runtime_types::frame_support::dispatch::PerDispatchClass<
21242						runtime_types::frame_system::limits::WeightsPerClass,
21243					>,
21244				}
21245				#[derive(
21246					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21247					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21248					Debug,
21249				)]
21250				#[decode_as_type(
21251					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21252				)]
21253				#[encode_as_type(
21254					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21255				)]
21256				pub struct WeightsPerClass {
21257					pub base_extrinsic: runtime_types::sp_weights::weight_v2::Weight,
21258					pub max_extrinsic:
21259						::core::option::Option<runtime_types::sp_weights::weight_v2::Weight>,
21260					pub max_total:
21261						::core::option::Option<runtime_types::sp_weights::weight_v2::Weight>,
21262					pub reserved:
21263						::core::option::Option<runtime_types::sp_weights::weight_v2::Weight>,
21264				}
21265			}
21266			pub mod pallet {
21267				use super::runtime_types;
21268				#[derive(
21269					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21270					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21271					Debug,
21272				)]
21273				#[decode_as_type(
21274					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21275				)]
21276				#[encode_as_type(
21277					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21278				)]
21279				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
21280				pub enum Call {
21281					#[codec(index = 0)]
21282					#[doc = "Make some on-chain remark."]
21283					#[doc = ""]
21284					#[doc = "Can be executed by every `origin`."]
21285					remark {
21286						remark: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21287					},
21288					#[codec(index = 1)]
21289					#[doc = "Set the number of pages in the WebAssembly environment's heap."]
21290					set_heap_pages { pages: ::core::primitive::u64 },
21291					#[codec(index = 2)]
21292					#[doc = "Set the new runtime code."]
21293					set_code {
21294						code: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21295					},
21296					#[codec(index = 3)]
21297					#[doc = "Set the new runtime code without doing any checks of the given `code`."]
21298					#[doc = ""]
21299					#[doc = "Note that runtime upgrades will not run if this is called with a not-increasing spec"]
21300					#[doc = "version!"]
21301					set_code_without_checks {
21302						code: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21303					},
21304					#[codec(index = 4)]
21305					#[doc = "Set some items of storage."]
21306					set_storage {
21307						items: ::subxt::ext::subxt_core::alloc::vec::Vec<(
21308							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21309							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21310						)>,
21311					},
21312					#[codec(index = 5)]
21313					#[doc = "Kill some items from storage."]
21314					kill_storage {
21315						keys: ::subxt::ext::subxt_core::alloc::vec::Vec<
21316							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21317						>,
21318					},
21319					#[codec(index = 6)]
21320					#[doc = "Kill all storage items with a key that starts with the given prefix."]
21321					#[doc = ""]
21322					#[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"]
21323					#[doc = "the prefix we are removing to accurately calculate the weight of this function."]
21324					kill_prefix {
21325						prefix: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21326						subkeys: ::core::primitive::u32,
21327					},
21328					#[codec(index = 7)]
21329					#[doc = "Make some on-chain remark and emit event."]
21330					remark_with_event {
21331						remark: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21332					},
21333					#[codec(index = 9)]
21334					#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
21335					#[doc = "later."]
21336					#[doc = ""]
21337					#[doc = "This call requires Root origin."]
21338					authorize_upgrade { code_hash: ::subxt::ext::subxt_core::utils::H256 },
21339					#[codec(index = 10)]
21340					#[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
21341					#[doc = "later."]
21342					#[doc = ""]
21343					#[doc = "WARNING: This authorizes an upgrade that will take place without any safety checks, for"]
21344					#[doc = "example that the spec name remains the same and that the version number increases. Not"]
21345					#[doc = "recommended for normal use. Use `authorize_upgrade` instead."]
21346					#[doc = ""]
21347					#[doc = "This call requires Root origin."]
21348					authorize_upgrade_without_checks {
21349						code_hash: ::subxt::ext::subxt_core::utils::H256,
21350					},
21351					#[codec(index = 11)]
21352					#[doc = "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized."]
21353					#[doc = ""]
21354					#[doc = "If the authorization required a version check, this call will ensure the spec name"]
21355					#[doc = "remains unchanged and that the spec version has increased."]
21356					#[doc = ""]
21357					#[doc = "Depending on the runtime's `OnSetCode` configuration, this function may directly apply"]
21358					#[doc = "the new `code` in the same block or attempt to schedule the upgrade."]
21359					#[doc = ""]
21360					#[doc = "All origins are allowed."]
21361					apply_authorized_upgrade {
21362						code: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21363					},
21364				}
21365				#[derive(
21366					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21367					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21368					Debug,
21369				)]
21370				#[decode_as_type(
21371					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21372				)]
21373				#[encode_as_type(
21374					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21375				)]
21376				#[doc = "Error for the System pallet"]
21377				pub enum Error {
21378					#[codec(index = 0)]
21379					#[doc = "The name of specification does not match between the current runtime"]
21380					#[doc = "and the new runtime."]
21381					InvalidSpecName,
21382					#[codec(index = 1)]
21383					#[doc = "The specification version is not allowed to decrease between the current runtime"]
21384					#[doc = "and the new runtime."]
21385					SpecVersionNeedsToIncrease,
21386					#[codec(index = 2)]
21387					#[doc = "Failed to extract the runtime version from the new runtime."]
21388					#[doc = ""]
21389					#[doc = "Either calling `Core_version` or decoding `RuntimeVersion` failed."]
21390					FailedToExtractRuntimeVersion,
21391					#[codec(index = 3)]
21392					#[doc = "Suicide called when the account has non-default composite data."]
21393					NonDefaultComposite,
21394					#[codec(index = 4)]
21395					#[doc = "There is a non-zero reference count preventing the account from being purged."]
21396					NonZeroRefCount,
21397					#[codec(index = 5)]
21398					#[doc = "The origin filter prevent the call to be dispatched."]
21399					CallFiltered,
21400					#[codec(index = 6)]
21401					#[doc = "A multi-block migration is ongoing and prevents the current code from being replaced."]
21402					MultiBlockMigrationsOngoing,
21403					#[codec(index = 7)]
21404					#[doc = "No upgrade authorized."]
21405					NothingAuthorized,
21406					#[codec(index = 8)]
21407					#[doc = "The submitted code is not authorized."]
21408					Unauthorized,
21409				}
21410				#[derive(
21411					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21412					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21413					Debug,
21414				)]
21415				#[decode_as_type(
21416					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21417				)]
21418				#[encode_as_type(
21419					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21420				)]
21421				#[doc = "Event for the System pallet."]
21422				pub enum Event {
21423					#[codec(index = 0)]
21424					#[doc = "An extrinsic completed successfully."]
21425					ExtrinsicSuccess {
21426						dispatch_info: runtime_types::frame_system::DispatchEventInfo,
21427					},
21428					#[codec(index = 1)]
21429					#[doc = "An extrinsic failed."]
21430					ExtrinsicFailed {
21431						dispatch_error: runtime_types::sp_runtime::DispatchError,
21432						dispatch_info: runtime_types::frame_system::DispatchEventInfo,
21433					},
21434					#[codec(index = 2)]
21435					#[doc = "`:code` was updated."]
21436					CodeUpdated,
21437					#[codec(index = 3)]
21438					#[doc = "A new account was created."]
21439					NewAccount { account: ::subxt::ext::subxt_core::utils::AccountId32 },
21440					#[codec(index = 4)]
21441					#[doc = "An account was reaped."]
21442					KilledAccount { account: ::subxt::ext::subxt_core::utils::AccountId32 },
21443					#[codec(index = 5)]
21444					#[doc = "On on-chain remark happened."]
21445					Remarked {
21446						sender: ::subxt::ext::subxt_core::utils::AccountId32,
21447						hash: ::subxt::ext::subxt_core::utils::H256,
21448					},
21449					#[codec(index = 6)]
21450					#[doc = "An upgrade was authorized."]
21451					UpgradeAuthorized {
21452						code_hash: ::subxt::ext::subxt_core::utils::H256,
21453						check_version: ::core::primitive::bool,
21454					},
21455					#[codec(index = 7)]
21456					#[doc = "An invalid authorized upgrade was rejected while trying to apply it."]
21457					RejectedInvalidAuthorizedUpgrade {
21458						code_hash: ::subxt::ext::subxt_core::utils::H256,
21459						error: runtime_types::sp_runtime::DispatchError,
21460					},
21461				}
21462			}
21463			#[derive(
21464				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21465				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21466				Debug,
21467			)]
21468			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21469			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21470			pub struct AccountInfo<_0, _1> {
21471				pub nonce: _0,
21472				pub consumers: ::core::primitive::u32,
21473				pub providers: ::core::primitive::u32,
21474				pub sufficients: ::core::primitive::u32,
21475				pub data: _1,
21476			}
21477			#[derive(
21478				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21479				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21480				Debug,
21481			)]
21482			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21483			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21484			pub struct CodeUpgradeAuthorization {
21485				pub code_hash: ::subxt::ext::subxt_core::utils::H256,
21486				pub check_version: ::core::primitive::bool,
21487			}
21488			#[derive(
21489				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21490				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21491				Debug,
21492			)]
21493			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21494			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21495			pub struct DispatchEventInfo {
21496				pub weight: runtime_types::sp_weights::weight_v2::Weight,
21497				pub class: runtime_types::frame_support::dispatch::DispatchClass,
21498				pub pays_fee: runtime_types::frame_support::dispatch::Pays,
21499			}
21500			#[derive(
21501				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21502				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21503				Debug,
21504			)]
21505			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21506			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21507			pub struct EventRecord<_0, _1> {
21508				pub phase: runtime_types::frame_system::Phase,
21509				pub event: _0,
21510				pub topics: ::subxt::ext::subxt_core::alloc::vec::Vec<_1>,
21511			}
21512			#[derive(
21513				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21514				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21515				Debug,
21516			)]
21517			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21518			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21519			pub struct LastRuntimeUpgradeInfo {
21520				#[codec(compact)]
21521				pub spec_version: ::core::primitive::u32,
21522				pub spec_name: ::subxt::ext::subxt_core::alloc::string::String,
21523			}
21524			#[derive(
21525				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21526				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21527				Debug,
21528			)]
21529			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
21530			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
21531			pub enum Phase {
21532				#[codec(index = 0)]
21533				ApplyExtrinsic(::core::primitive::u32),
21534				#[codec(index = 1)]
21535				Finalization,
21536				#[codec(index = 2)]
21537				Initialization,
21538			}
21539		}
21540		pub mod pallet_assets {
21541			use super::runtime_types;
21542			pub mod pallet {
21543				use super::runtime_types;
21544				#[derive(
21545					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
21546					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
21547					Debug,
21548				)]
21549				#[decode_as_type(
21550					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
21551				)]
21552				#[encode_as_type(
21553					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
21554				)]
21555				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
21556				pub enum Call {
21557					#[codec(index = 0)]
21558					#[doc = "Issue a new class of fungible assets from a public origin."]
21559					#[doc = ""]
21560					#[doc = "This new asset class has no assets initially and its owner is the origin."]
21561					#[doc = ""]
21562					#[doc = "The origin must conform to the configured `CreateOrigin` and have sufficient funds free."]
21563					#[doc = ""]
21564					#[doc = "Funds of sender are reserved by `AssetDeposit`."]
21565					#[doc = ""]
21566					#[doc = "Parameters:"]
21567					#[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"]
21568					#[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."]
21569					#[doc = "- `admin`: The admin of this class of assets. The admin is the initial address of each"]
21570					#[doc = "member of the asset class's admin team."]
21571					#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
21572					#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
21573					#[doc = ""]
21574					#[doc = "Emits `Created` event when successful."]
21575					#[doc = ""]
21576					#[doc = "Weight: `O(1)`"]
21577					create {
21578						#[codec(compact)]
21579						id: ::core::primitive::u32,
21580						admin: ::subxt::ext::subxt_core::utils::MultiAddress<
21581							::subxt::ext::subxt_core::utils::AccountId32,
21582							(),
21583						>,
21584						min_balance: ::core::primitive::u128,
21585					},
21586					#[codec(index = 1)]
21587					#[doc = "Issue a new class of fungible assets from a privileged origin."]
21588					#[doc = ""]
21589					#[doc = "This new asset class has no assets initially."]
21590					#[doc = ""]
21591					#[doc = "The origin must conform to `ForceOrigin`."]
21592					#[doc = ""]
21593					#[doc = "Unlike `create`, no funds are reserved."]
21594					#[doc = ""]
21595					#[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"]
21596					#[doc = "an existing asset. If [`NextAssetId`] is set, then this must be equal to it."]
21597					#[doc = "- `owner`: The owner of this class of assets. The owner has full superuser permissions"]
21598					#[doc = "over this asset, but may later change and configure the permissions using"]
21599					#[doc = "`transfer_ownership` and `set_team`."]
21600					#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
21601					#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
21602					#[doc = ""]
21603					#[doc = "Emits `ForceCreated` event when successful."]
21604					#[doc = ""]
21605					#[doc = "Weight: `O(1)`"]
21606					force_create {
21607						#[codec(compact)]
21608						id: ::core::primitive::u32,
21609						owner: ::subxt::ext::subxt_core::utils::MultiAddress<
21610							::subxt::ext::subxt_core::utils::AccountId32,
21611							(),
21612						>,
21613						is_sufficient: ::core::primitive::bool,
21614						#[codec(compact)]
21615						min_balance: ::core::primitive::u128,
21616					},
21617					#[codec(index = 2)]
21618					#[doc = "Start the process of destroying a fungible asset class."]
21619					#[doc = ""]
21620					#[doc = "`start_destroy` is the first in a series of extrinsics that should be called, to allow"]
21621					#[doc = "destruction of an asset class."]
21622					#[doc = ""]
21623					#[doc = "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`."]
21624					#[doc = ""]
21625					#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
21626					#[doc = "  asset."]
21627					#[doc = ""]
21628					#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
21629					#[doc = "an account contains holds or freezes in place."]
21630					start_destroy {
21631						#[codec(compact)]
21632						id: ::core::primitive::u32,
21633					},
21634					#[codec(index = 3)]
21635					#[doc = "Destroy all accounts associated with a given asset."]
21636					#[doc = ""]
21637					#[doc = "`destroy_accounts` should only be called after `start_destroy` has been called, and the"]
21638					#[doc = "asset is in a `Destroying` state."]
21639					#[doc = ""]
21640					#[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"]
21641					#[doc = "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time."]
21642					#[doc = ""]
21643					#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
21644					#[doc = "  asset."]
21645					#[doc = ""]
21646					#[doc = "Each call emits the `Event::DestroyedAccounts` event."]
21647					destroy_accounts {
21648						#[codec(compact)]
21649						id: ::core::primitive::u32,
21650					},
21651					#[codec(index = 4)]
21652					#[doc = "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit)."]
21653					#[doc = ""]
21654					#[doc = "`destroy_approvals` should only be called after `start_destroy` has been called, and the"]
21655					#[doc = "asset is in a `Destroying` state."]
21656					#[doc = ""]
21657					#[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"]
21658					#[doc = "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time."]
21659					#[doc = ""]
21660					#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
21661					#[doc = "  asset."]
21662					#[doc = ""]
21663					#[doc = "Each call emits the `Event::DestroyedApprovals` event."]
21664					destroy_approvals {
21665						#[codec(compact)]
21666						id: ::core::primitive::u32,
21667					},
21668					#[codec(index = 5)]
21669					#[doc = "Complete destroying asset and unreserve currency."]
21670					#[doc = ""]
21671					#[doc = "`finish_destroy` should only be called after `start_destroy` has been called, and the"]
21672					#[doc = "asset is in a `Destroying` state. All accounts or approvals should be destroyed before"]
21673					#[doc = "hand."]
21674					#[doc = ""]
21675					#[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"]
21676					#[doc = "  asset."]
21677					#[doc = ""]
21678					#[doc = "Each successful call emits the `Event::Destroyed` event."]
21679					finish_destroy {
21680						#[codec(compact)]
21681						id: ::core::primitive::u32,
21682					},
21683					#[codec(index = 6)]
21684					#[doc = "Mint assets of a particular class."]
21685					#[doc = ""]
21686					#[doc = "The origin must be Signed and the sender must be the Issuer of the asset `id`."]
21687					#[doc = ""]
21688					#[doc = "- `id`: The identifier of the asset to have some amount minted."]
21689					#[doc = "- `beneficiary`: The account to be credited with the minted assets."]
21690					#[doc = "- `amount`: The amount of the asset to be minted."]
21691					#[doc = ""]
21692					#[doc = "Emits `Issued` event when successful."]
21693					#[doc = ""]
21694					#[doc = "Weight: `O(1)`"]
21695					#[doc = "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`."]
21696					mint {
21697						#[codec(compact)]
21698						id: ::core::primitive::u32,
21699						beneficiary: ::subxt::ext::subxt_core::utils::MultiAddress<
21700							::subxt::ext::subxt_core::utils::AccountId32,
21701							(),
21702						>,
21703						#[codec(compact)]
21704						amount: ::core::primitive::u128,
21705					},
21706					#[codec(index = 7)]
21707					#[doc = "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`."]
21708					#[doc = ""]
21709					#[doc = "Origin must be Signed and the sender should be the Manager of the asset `id`."]
21710					#[doc = ""]
21711					#[doc = "Bails with `NoAccount` if the `who` is already dead."]
21712					#[doc = ""]
21713					#[doc = "- `id`: The identifier of the asset to have some amount burned."]
21714					#[doc = "- `who`: The account to be debited from."]
21715					#[doc = "- `amount`: The maximum amount by which `who`'s balance should be reduced."]
21716					#[doc = ""]
21717					#[doc = "Emits `Burned` with the actual amount burned. If this takes the balance to below the"]
21718					#[doc = "minimum for the asset, then the amount burned is increased to take it to zero."]
21719					#[doc = ""]
21720					#[doc = "Weight: `O(1)`"]
21721					#[doc = "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`."]
21722					burn {
21723						#[codec(compact)]
21724						id: ::core::primitive::u32,
21725						who: ::subxt::ext::subxt_core::utils::MultiAddress<
21726							::subxt::ext::subxt_core::utils::AccountId32,
21727							(),
21728						>,
21729						#[codec(compact)]
21730						amount: ::core::primitive::u128,
21731					},
21732					#[codec(index = 8)]
21733					#[doc = "Move some assets from the sender account to another."]
21734					#[doc = ""]
21735					#[doc = "Origin must be Signed."]
21736					#[doc = ""]
21737					#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
21738					#[doc = "- `target`: The account to be credited."]
21739					#[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"]
21740					#[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"]
21741					#[doc = "the case that the transfer would otherwise take the sender balance above zero but below"]
21742					#[doc = "the minimum balance. Must be greater than zero."]
21743					#[doc = ""]
21744					#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
21745					#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
21746					#[doc = "to zero."]
21747					#[doc = ""]
21748					#[doc = "Weight: `O(1)`"]
21749					#[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"]
21750					#[doc = "`target`."]
21751					transfer {
21752						#[codec(compact)]
21753						id: ::core::primitive::u32,
21754						target: ::subxt::ext::subxt_core::utils::MultiAddress<
21755							::subxt::ext::subxt_core::utils::AccountId32,
21756							(),
21757						>,
21758						#[codec(compact)]
21759						amount: ::core::primitive::u128,
21760					},
21761					#[codec(index = 9)]
21762					#[doc = "Move some assets from the sender account to another, keeping the sender account alive."]
21763					#[doc = ""]
21764					#[doc = "Origin must be Signed."]
21765					#[doc = ""]
21766					#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
21767					#[doc = "- `target`: The account to be credited."]
21768					#[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"]
21769					#[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"]
21770					#[doc = "the case that the transfer would otherwise take the sender balance above zero but below"]
21771					#[doc = "the minimum balance. Must be greater than zero."]
21772					#[doc = ""]
21773					#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
21774					#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
21775					#[doc = "to zero."]
21776					#[doc = ""]
21777					#[doc = "Weight: `O(1)`"]
21778					#[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"]
21779					#[doc = "`target`."]
21780					transfer_keep_alive {
21781						#[codec(compact)]
21782						id: ::core::primitive::u32,
21783						target: ::subxt::ext::subxt_core::utils::MultiAddress<
21784							::subxt::ext::subxt_core::utils::AccountId32,
21785							(),
21786						>,
21787						#[codec(compact)]
21788						amount: ::core::primitive::u128,
21789					},
21790					#[codec(index = 10)]
21791					#[doc = "Move some assets from one account to another."]
21792					#[doc = ""]
21793					#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
21794					#[doc = ""]
21795					#[doc = "- `id`: The identifier of the asset to have some amount transferred."]
21796					#[doc = "- `source`: The account to be debited."]
21797					#[doc = "- `dest`: The account to be credited."]
21798					#[doc = "- `amount`: The amount by which the `source`'s balance of assets should be reduced and"]
21799					#[doc = "`dest`'s balance increased. The amount actually transferred may be slightly greater in"]
21800					#[doc = "the case that the transfer would otherwise take the `source` balance above zero but"]
21801					#[doc = "below the minimum balance. Must be greater than zero."]
21802					#[doc = ""]
21803					#[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"]
21804					#[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"]
21805					#[doc = "to zero."]
21806					#[doc = ""]
21807					#[doc = "Weight: `O(1)`"]
21808					#[doc = "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of"]
21809					#[doc = "`dest`."]
21810					force_transfer {
21811						#[codec(compact)]
21812						id: ::core::primitive::u32,
21813						source: ::subxt::ext::subxt_core::utils::MultiAddress<
21814							::subxt::ext::subxt_core::utils::AccountId32,
21815							(),
21816						>,
21817						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
21818							::subxt::ext::subxt_core::utils::AccountId32,
21819							(),
21820						>,
21821						#[codec(compact)]
21822						amount: ::core::primitive::u128,
21823					},
21824					#[codec(index = 11)]
21825					#[doc = "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`"]
21826					#[doc = "must already exist as an entry in `Account`s of the asset. If you want to freeze an"]
21827					#[doc = "account that does not have an entry, use `touch_other` first."]
21828					#[doc = ""]
21829					#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
21830					#[doc = ""]
21831					#[doc = "- `id`: The identifier of the asset to be frozen."]
21832					#[doc = "- `who`: The account to be frozen."]
21833					#[doc = ""]
21834					#[doc = "Emits `Frozen`."]
21835					#[doc = ""]
21836					#[doc = "Weight: `O(1)`"]
21837					freeze {
21838						#[codec(compact)]
21839						id: ::core::primitive::u32,
21840						who: ::subxt::ext::subxt_core::utils::MultiAddress<
21841							::subxt::ext::subxt_core::utils::AccountId32,
21842							(),
21843						>,
21844					},
21845					#[codec(index = 12)]
21846					#[doc = "Allow unprivileged transfers to and from an account again."]
21847					#[doc = ""]
21848					#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
21849					#[doc = ""]
21850					#[doc = "- `id`: The identifier of the asset to be frozen."]
21851					#[doc = "- `who`: The account to be unfrozen."]
21852					#[doc = ""]
21853					#[doc = "Emits `Thawed`."]
21854					#[doc = ""]
21855					#[doc = "Weight: `O(1)`"]
21856					thaw {
21857						#[codec(compact)]
21858						id: ::core::primitive::u32,
21859						who: ::subxt::ext::subxt_core::utils::MultiAddress<
21860							::subxt::ext::subxt_core::utils::AccountId32,
21861							(),
21862						>,
21863					},
21864					#[codec(index = 13)]
21865					#[doc = "Disallow further unprivileged transfers for the asset class."]
21866					#[doc = ""]
21867					#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
21868					#[doc = ""]
21869					#[doc = "- `id`: The identifier of the asset to be frozen."]
21870					#[doc = ""]
21871					#[doc = "Emits `Frozen`."]
21872					#[doc = ""]
21873					#[doc = "Weight: `O(1)`"]
21874					freeze_asset {
21875						#[codec(compact)]
21876						id: ::core::primitive::u32,
21877					},
21878					#[codec(index = 14)]
21879					#[doc = "Allow unprivileged transfers for the asset again."]
21880					#[doc = ""]
21881					#[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."]
21882					#[doc = ""]
21883					#[doc = "- `id`: The identifier of the asset to be thawed."]
21884					#[doc = ""]
21885					#[doc = "Emits `Thawed`."]
21886					#[doc = ""]
21887					#[doc = "Weight: `O(1)`"]
21888					thaw_asset {
21889						#[codec(compact)]
21890						id: ::core::primitive::u32,
21891					},
21892					#[codec(index = 15)]
21893					#[doc = "Change the Owner of an asset."]
21894					#[doc = ""]
21895					#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
21896					#[doc = ""]
21897					#[doc = "- `id`: The identifier of the asset."]
21898					#[doc = "- `owner`: The new Owner of this asset."]
21899					#[doc = ""]
21900					#[doc = "Emits `OwnerChanged`."]
21901					#[doc = ""]
21902					#[doc = "Weight: `O(1)`"]
21903					transfer_ownership {
21904						#[codec(compact)]
21905						id: ::core::primitive::u32,
21906						owner: ::subxt::ext::subxt_core::utils::MultiAddress<
21907							::subxt::ext::subxt_core::utils::AccountId32,
21908							(),
21909						>,
21910					},
21911					#[codec(index = 16)]
21912					#[doc = "Change the Issuer, Admin and Freezer of an asset."]
21913					#[doc = ""]
21914					#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
21915					#[doc = ""]
21916					#[doc = "- `id`: The identifier of the asset to be frozen."]
21917					#[doc = "- `issuer`: The new Issuer of this asset."]
21918					#[doc = "- `admin`: The new Admin of this asset."]
21919					#[doc = "- `freezer`: The new Freezer of this asset."]
21920					#[doc = ""]
21921					#[doc = "Emits `TeamChanged`."]
21922					#[doc = ""]
21923					#[doc = "Weight: `O(1)`"]
21924					set_team {
21925						#[codec(compact)]
21926						id: ::core::primitive::u32,
21927						issuer: ::subxt::ext::subxt_core::utils::MultiAddress<
21928							::subxt::ext::subxt_core::utils::AccountId32,
21929							(),
21930						>,
21931						admin: ::subxt::ext::subxt_core::utils::MultiAddress<
21932							::subxt::ext::subxt_core::utils::AccountId32,
21933							(),
21934						>,
21935						freezer: ::subxt::ext::subxt_core::utils::MultiAddress<
21936							::subxt::ext::subxt_core::utils::AccountId32,
21937							(),
21938						>,
21939					},
21940					#[codec(index = 17)]
21941					#[doc = "Set the metadata for an asset."]
21942					#[doc = ""]
21943					#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
21944					#[doc = ""]
21945					#[doc = "Funds of sender are reserved according to the formula:"]
21946					#[doc = "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into"]
21947					#[doc = "account any already reserved funds."]
21948					#[doc = ""]
21949					#[doc = "- `id`: The identifier of the asset to update."]
21950					#[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."]
21951					#[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."]
21952					#[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."]
21953					#[doc = ""]
21954					#[doc = "Emits `MetadataSet`."]
21955					#[doc = ""]
21956					#[doc = "Weight: `O(1)`"]
21957					set_metadata {
21958						#[codec(compact)]
21959						id: ::core::primitive::u32,
21960						name: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21961						symbol: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21962						decimals: ::core::primitive::u8,
21963					},
21964					#[codec(index = 18)]
21965					#[doc = "Clear the metadata for an asset."]
21966					#[doc = ""]
21967					#[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."]
21968					#[doc = ""]
21969					#[doc = "Any deposit is freed for the asset owner."]
21970					#[doc = ""]
21971					#[doc = "- `id`: The identifier of the asset to clear."]
21972					#[doc = ""]
21973					#[doc = "Emits `MetadataCleared`."]
21974					#[doc = ""]
21975					#[doc = "Weight: `O(1)`"]
21976					clear_metadata {
21977						#[codec(compact)]
21978						id: ::core::primitive::u32,
21979					},
21980					#[codec(index = 19)]
21981					#[doc = "Force the metadata for an asset to some value."]
21982					#[doc = ""]
21983					#[doc = "Origin must be ForceOrigin."]
21984					#[doc = ""]
21985					#[doc = "Any deposit is left alone."]
21986					#[doc = ""]
21987					#[doc = "- `id`: The identifier of the asset to update."]
21988					#[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."]
21989					#[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."]
21990					#[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."]
21991					#[doc = ""]
21992					#[doc = "Emits `MetadataSet`."]
21993					#[doc = ""]
21994					#[doc = "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively."]
21995					force_set_metadata {
21996						#[codec(compact)]
21997						id: ::core::primitive::u32,
21998						name: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
21999						symbol: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
22000						decimals: ::core::primitive::u8,
22001						is_frozen: ::core::primitive::bool,
22002					},
22003					#[codec(index = 20)]
22004					#[doc = "Clear the metadata for an asset."]
22005					#[doc = ""]
22006					#[doc = "Origin must be ForceOrigin."]
22007					#[doc = ""]
22008					#[doc = "Any deposit is returned."]
22009					#[doc = ""]
22010					#[doc = "- `id`: The identifier of the asset to clear."]
22011					#[doc = ""]
22012					#[doc = "Emits `MetadataCleared`."]
22013					#[doc = ""]
22014					#[doc = "Weight: `O(1)`"]
22015					force_clear_metadata {
22016						#[codec(compact)]
22017						id: ::core::primitive::u32,
22018					},
22019					#[codec(index = 21)]
22020					#[doc = "Alter the attributes of a given asset."]
22021					#[doc = ""]
22022					#[doc = "Origin must be `ForceOrigin`."]
22023					#[doc = ""]
22024					#[doc = "- `id`: The identifier of the asset."]
22025					#[doc = "- `owner`: The new Owner of this asset."]
22026					#[doc = "- `issuer`: The new Issuer of this asset."]
22027					#[doc = "- `admin`: The new Admin of this asset."]
22028					#[doc = "- `freezer`: The new Freezer of this asset."]
22029					#[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"]
22030					#[doc = "have. If an account's balance is reduced below this, then it collapses to zero."]
22031					#[doc = "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient"]
22032					#[doc = "value to account for the state bloat associated with its balance storage. If set to"]
22033					#[doc = "`true`, then non-zero balances may be stored without a `consumer` reference (and thus"]
22034					#[doc = "an ED in the Balances pallet or whatever else is used to control user-account state"]
22035					#[doc = "growth)."]
22036					#[doc = "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin"]
22037					#[doc = "instructions."]
22038					#[doc = ""]
22039					#[doc = "Emits `AssetStatusChanged` with the identity of the asset."]
22040					#[doc = ""]
22041					#[doc = "Weight: `O(1)`"]
22042					force_asset_status {
22043						#[codec(compact)]
22044						id: ::core::primitive::u32,
22045						owner: ::subxt::ext::subxt_core::utils::MultiAddress<
22046							::subxt::ext::subxt_core::utils::AccountId32,
22047							(),
22048						>,
22049						issuer: ::subxt::ext::subxt_core::utils::MultiAddress<
22050							::subxt::ext::subxt_core::utils::AccountId32,
22051							(),
22052						>,
22053						admin: ::subxt::ext::subxt_core::utils::MultiAddress<
22054							::subxt::ext::subxt_core::utils::AccountId32,
22055							(),
22056						>,
22057						freezer: ::subxt::ext::subxt_core::utils::MultiAddress<
22058							::subxt::ext::subxt_core::utils::AccountId32,
22059							(),
22060						>,
22061						#[codec(compact)]
22062						min_balance: ::core::primitive::u128,
22063						is_sufficient: ::core::primitive::bool,
22064						is_frozen: ::core::primitive::bool,
22065					},
22066					#[codec(index = 22)]
22067					#[doc = "Approve an amount of asset for transfer by a delegated third-party account."]
22068					#[doc = ""]
22069					#[doc = "Origin must be Signed."]
22070					#[doc = ""]
22071					#[doc = "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account"]
22072					#[doc = "for the purpose of holding the approval. If some non-zero amount of assets is already"]
22073					#[doc = "approved from signing account to `delegate`, then it is topped up or unreserved to"]
22074					#[doc = "meet the right value."]
22075					#[doc = ""]
22076					#[doc = "NOTE: The signing account does not need to own `amount` of assets at the point of"]
22077					#[doc = "making this call."]
22078					#[doc = ""]
22079					#[doc = "- `id`: The identifier of the asset."]
22080					#[doc = "- `delegate`: The account to delegate permission to transfer asset."]
22081					#[doc = "- `amount`: The amount of asset that may be transferred by `delegate`. If there is"]
22082					#[doc = "already an approval in place, then this acts additively."]
22083					#[doc = ""]
22084					#[doc = "Emits `ApprovedTransfer` on success."]
22085					#[doc = ""]
22086					#[doc = "Weight: `O(1)`"]
22087					approve_transfer {
22088						#[codec(compact)]
22089						id: ::core::primitive::u32,
22090						delegate: ::subxt::ext::subxt_core::utils::MultiAddress<
22091							::subxt::ext::subxt_core::utils::AccountId32,
22092							(),
22093						>,
22094						#[codec(compact)]
22095						amount: ::core::primitive::u128,
22096					},
22097					#[codec(index = 23)]
22098					#[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."]
22099					#[doc = ""]
22100					#[doc = "Origin must be Signed and there must be an approval in place between signer and"]
22101					#[doc = "`delegate`."]
22102					#[doc = ""]
22103					#[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."]
22104					#[doc = ""]
22105					#[doc = "- `id`: The identifier of the asset."]
22106					#[doc = "- `delegate`: The account delegated permission to transfer asset."]
22107					#[doc = ""]
22108					#[doc = "Emits `ApprovalCancelled` on success."]
22109					#[doc = ""]
22110					#[doc = "Weight: `O(1)`"]
22111					cancel_approval {
22112						#[codec(compact)]
22113						id: ::core::primitive::u32,
22114						delegate: ::subxt::ext::subxt_core::utils::MultiAddress<
22115							::subxt::ext::subxt_core::utils::AccountId32,
22116							(),
22117						>,
22118					},
22119					#[codec(index = 24)]
22120					#[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."]
22121					#[doc = ""]
22122					#[doc = "Origin must be either ForceOrigin or Signed origin with the signer being the Admin"]
22123					#[doc = "account of the asset `id`."]
22124					#[doc = ""]
22125					#[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."]
22126					#[doc = ""]
22127					#[doc = "- `id`: The identifier of the asset."]
22128					#[doc = "- `delegate`: The account delegated permission to transfer asset."]
22129					#[doc = ""]
22130					#[doc = "Emits `ApprovalCancelled` on success."]
22131					#[doc = ""]
22132					#[doc = "Weight: `O(1)`"]
22133					force_cancel_approval {
22134						#[codec(compact)]
22135						id: ::core::primitive::u32,
22136						owner: ::subxt::ext::subxt_core::utils::MultiAddress<
22137							::subxt::ext::subxt_core::utils::AccountId32,
22138							(),
22139						>,
22140						delegate: ::subxt::ext::subxt_core::utils::MultiAddress<
22141							::subxt::ext::subxt_core::utils::AccountId32,
22142							(),
22143						>,
22144					},
22145					#[codec(index = 25)]
22146					#[doc = "Transfer some asset balance from a previously delegated account to some third-party"]
22147					#[doc = "account."]
22148					#[doc = ""]
22149					#[doc = "Origin must be Signed and there must be an approval in place by the `owner` to the"]
22150					#[doc = "signer."]
22151					#[doc = ""]
22152					#[doc = "If the entire amount approved for transfer is transferred, then any deposit previously"]
22153					#[doc = "reserved by `approve_transfer` is unreserved."]
22154					#[doc = ""]
22155					#[doc = "- `id`: The identifier of the asset."]
22156					#[doc = "- `owner`: The account which previously approved for a transfer of at least `amount` and"]
22157					#[doc = "from which the asset balance will be withdrawn."]
22158					#[doc = "- `destination`: The account to which the asset balance of `amount` will be transferred."]
22159					#[doc = "- `amount`: The amount of assets to transfer."]
22160					#[doc = ""]
22161					#[doc = "Emits `TransferredApproved` on success."]
22162					#[doc = ""]
22163					#[doc = "Weight: `O(1)`"]
22164					transfer_approved {
22165						#[codec(compact)]
22166						id: ::core::primitive::u32,
22167						owner: ::subxt::ext::subxt_core::utils::MultiAddress<
22168							::subxt::ext::subxt_core::utils::AccountId32,
22169							(),
22170						>,
22171						destination: ::subxt::ext::subxt_core::utils::MultiAddress<
22172							::subxt::ext::subxt_core::utils::AccountId32,
22173							(),
22174						>,
22175						#[codec(compact)]
22176						amount: ::core::primitive::u128,
22177					},
22178					#[codec(index = 26)]
22179					#[doc = "Create an asset account for non-provider assets."]
22180					#[doc = ""]
22181					#[doc = "A deposit will be taken from the signer account."]
22182					#[doc = ""]
22183					#[doc = "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit"]
22184					#[doc = "  to be taken."]
22185					#[doc = "- `id`: The identifier of the asset for the account to be created."]
22186					#[doc = ""]
22187					#[doc = "Emits `Touched` event when successful."]
22188					touch {
22189						#[codec(compact)]
22190						id: ::core::primitive::u32,
22191					},
22192					#[codec(index = 27)]
22193					#[doc = "Return the deposit (if any) of an asset account or a consumer reference (if any) of an"]
22194					#[doc = "account."]
22195					#[doc = ""]
22196					#[doc = "The origin must be Signed."]
22197					#[doc = ""]
22198					#[doc = "- `id`: The identifier of the asset for which the caller would like the deposit"]
22199					#[doc = "  refunded."]
22200					#[doc = "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund."]
22201					#[doc = ""]
22202					#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
22203					#[doc = "the asset account contains holds or freezes in place."]
22204					#[doc = ""]
22205					#[doc = "Emits `Refunded` event when successful."]
22206					refund {
22207						#[codec(compact)]
22208						id: ::core::primitive::u32,
22209						allow_burn: ::core::primitive::bool,
22210					},
22211					#[codec(index = 28)]
22212					#[doc = "Sets the minimum balance of an asset."]
22213					#[doc = ""]
22214					#[doc = "Only works if there aren't any accounts that are holding the asset or if"]
22215					#[doc = "the new value of `min_balance` is less than the old one."]
22216					#[doc = ""]
22217					#[doc = "Origin must be Signed and the sender has to be the Owner of the"]
22218					#[doc = "asset `id`."]
22219					#[doc = ""]
22220					#[doc = "- `id`: The identifier of the asset."]
22221					#[doc = "- `min_balance`: The new value of `min_balance`."]
22222					#[doc = ""]
22223					#[doc = "Emits `AssetMinBalanceChanged` event when successful."]
22224					set_min_balance {
22225						#[codec(compact)]
22226						id: ::core::primitive::u32,
22227						min_balance: ::core::primitive::u128,
22228					},
22229					#[codec(index = 29)]
22230					#[doc = "Create an asset account for `who`."]
22231					#[doc = ""]
22232					#[doc = "A deposit will be taken from the signer account."]
22233					#[doc = ""]
22234					#[doc = "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit"]
22235					#[doc = "  to be taken."]
22236					#[doc = "- `id`: The identifier of the asset for the account to be created, the asset status must"]
22237					#[doc = "  be live."]
22238					#[doc = "- `who`: The account to be created."]
22239					#[doc = ""]
22240					#[doc = "Emits `Touched` event when successful."]
22241					touch_other {
22242						#[codec(compact)]
22243						id: ::core::primitive::u32,
22244						who: ::subxt::ext::subxt_core::utils::MultiAddress<
22245							::subxt::ext::subxt_core::utils::AccountId32,
22246							(),
22247						>,
22248					},
22249					#[codec(index = 30)]
22250					#[doc = "Return the deposit (if any) of a target asset account. Useful if you are the depositor."]
22251					#[doc = ""]
22252					#[doc = "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In"]
22253					#[doc = "order to burn a non-zero balance of the asset, the caller must be the account and should"]
22254					#[doc = "use `refund`."]
22255					#[doc = ""]
22256					#[doc = "- `id`: The identifier of the asset for the account holding a deposit."]
22257					#[doc = "- `who`: The account to refund."]
22258					#[doc = ""]
22259					#[doc = "It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if"]
22260					#[doc = "the asset account contains holds or freezes in place."]
22261					#[doc = ""]
22262					#[doc = "Emits `Refunded` event when successful."]
22263					refund_other {
22264						#[codec(compact)]
22265						id: ::core::primitive::u32,
22266						who: ::subxt::ext::subxt_core::utils::MultiAddress<
22267							::subxt::ext::subxt_core::utils::AccountId32,
22268							(),
22269						>,
22270					},
22271					#[codec(index = 31)]
22272					#[doc = "Disallow further unprivileged transfers of an asset `id` to and from an account `who`."]
22273					#[doc = ""]
22274					#[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."]
22275					#[doc = ""]
22276					#[doc = "- `id`: The identifier of the account's asset."]
22277					#[doc = "- `who`: The account to be unblocked."]
22278					#[doc = ""]
22279					#[doc = "Emits `Blocked`."]
22280					#[doc = ""]
22281					#[doc = "Weight: `O(1)`"]
22282					block {
22283						#[codec(compact)]
22284						id: ::core::primitive::u32,
22285						who: ::subxt::ext::subxt_core::utils::MultiAddress<
22286							::subxt::ext::subxt_core::utils::AccountId32,
22287							(),
22288						>,
22289					},
22290					#[codec(index = 32)]
22291					#[doc = "Transfer the entire transferable balance from the caller asset account."]
22292					#[doc = ""]
22293					#[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"]
22294					#[doc = "any held, frozen, or minimum balance (when `keep_alive` is `true`), will not be"]
22295					#[doc = "transferred by this function. To ensure that this function results in a killed account,"]
22296					#[doc = "you might need to prepare the account by removing any reference counters, storage"]
22297					#[doc = "deposits, etc..."]
22298					#[doc = ""]
22299					#[doc = "The dispatch origin of this call must be Signed."]
22300					#[doc = ""]
22301					#[doc = "- `id`: The identifier of the asset for the account holding a deposit."]
22302					#[doc = "- `dest`: The recipient of the transfer."]
22303					#[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"]
22304					#[doc = "  of the funds the asset account has, causing the sender asset account to be killed"]
22305					#[doc = "  (false), or transfer everything except at least the minimum balance, which will"]
22306					#[doc = "  guarantee to keep the sender asset account alive (true)."]
22307					transfer_all {
22308						#[codec(compact)]
22309						id: ::core::primitive::u32,
22310						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
22311							::subxt::ext::subxt_core::utils::AccountId32,
22312							(),
22313						>,
22314						keep_alive: ::core::primitive::bool,
22315					},
22316					#[codec(index = 33)]
22317					#[doc = "Sets the trusted reserve information of an asset."]
22318					#[doc = ""]
22319					#[doc = "Origin must be the Owner of the asset `id`. The origin must conform to the configured"]
22320					#[doc = "`CreateOrigin` or be the signed `owner` configured during asset creation."]
22321					#[doc = ""]
22322					#[doc = "- `id`: The identifier of the asset."]
22323					#[doc = "- `reserves`: The full list of trusted reserves information."]
22324					#[doc = ""]
22325					#[doc = "Emits `AssetMinBalanceChanged` event when successful."]
22326					set_reserves {
22327						#[codec(compact)]
22328						id: ::core::primitive::u32,
22329						reserves: runtime_types::bounded_collections::bounded_vec::BoundedVec<()>,
22330					},
22331				}
22332				#[derive(
22333					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22334					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22335					Debug,
22336				)]
22337				#[decode_as_type(
22338					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22339				)]
22340				#[encode_as_type(
22341					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22342				)]
22343				#[doc = "The `Error` enum of this pallet."]
22344				pub enum Error {
22345					#[codec(index = 0)]
22346					#[doc = "Account balance must be greater than or equal to the transfer amount."]
22347					BalanceLow,
22348					#[codec(index = 1)]
22349					#[doc = "The account to alter does not exist."]
22350					NoAccount,
22351					#[codec(index = 2)]
22352					#[doc = "The signing account has no permission to do the operation."]
22353					NoPermission,
22354					#[codec(index = 3)]
22355					#[doc = "The given asset ID is unknown."]
22356					Unknown,
22357					#[codec(index = 4)]
22358					#[doc = "The origin account is frozen."]
22359					Frozen,
22360					#[codec(index = 5)]
22361					#[doc = "The asset ID is already taken."]
22362					InUse,
22363					#[codec(index = 6)]
22364					#[doc = "Invalid witness data given."]
22365					BadWitness,
22366					#[codec(index = 7)]
22367					#[doc = "Minimum balance should be non-zero."]
22368					MinBalanceZero,
22369					#[codec(index = 8)]
22370					#[doc = "Unable to increment the consumer reference counters on the account. Either no provider"]
22371					#[doc = "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one"]
22372					#[doc = "fewer then the maximum number of consumers has been reached."]
22373					UnavailableConsumer,
22374					#[codec(index = 9)]
22375					#[doc = "Invalid metadata given."]
22376					BadMetadata,
22377					#[codec(index = 10)]
22378					#[doc = "No approval exists that would allow the transfer."]
22379					Unapproved,
22380					#[codec(index = 11)]
22381					#[doc = "The source account would not survive the transfer and it needs to stay alive."]
22382					WouldDie,
22383					#[codec(index = 12)]
22384					#[doc = "The asset-account already exists."]
22385					AlreadyExists,
22386					#[codec(index = 13)]
22387					#[doc = "The asset-account doesn't have an associated deposit."]
22388					NoDeposit,
22389					#[codec(index = 14)]
22390					#[doc = "The operation would result in funds being burned."]
22391					WouldBurn,
22392					#[codec(index = 15)]
22393					#[doc = "The asset is a live asset and is actively being used. Usually emit for operations such"]
22394					#[doc = "as `start_destroy` which require the asset to be in a destroying state."]
22395					LiveAsset,
22396					#[codec(index = 16)]
22397					#[doc = "The asset is not live, and likely being destroyed."]
22398					AssetNotLive,
22399					#[codec(index = 17)]
22400					#[doc = "The asset status is not the expected status."]
22401					IncorrectStatus,
22402					#[codec(index = 18)]
22403					#[doc = "The asset should be frozen before the given operation."]
22404					NotFrozen,
22405					#[codec(index = 19)]
22406					#[doc = "Callback action resulted in error"]
22407					CallbackFailed,
22408					#[codec(index = 20)]
22409					#[doc = "The asset ID must be equal to the [`NextAssetId`]."]
22410					BadAssetId,
22411					#[codec(index = 21)]
22412					#[doc = "The asset cannot be destroyed because some accounts for this asset contain freezes."]
22413					ContainsFreezes,
22414					#[codec(index = 22)]
22415					#[doc = "The asset cannot be destroyed because some accounts for this asset contain holds."]
22416					ContainsHolds,
22417					#[codec(index = 23)]
22418					#[doc = "Tried setting too many reserves."]
22419					TooManyReserves,
22420				}
22421				#[derive(
22422					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22423					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22424					Debug,
22425				)]
22426				#[decode_as_type(
22427					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22428				)]
22429				#[encode_as_type(
22430					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22431				)]
22432				#[doc = "The `Event` enum of this pallet"]
22433				pub enum Event {
22434					#[codec(index = 0)]
22435					#[doc = "Some asset class was created."]
22436					Created {
22437						asset_id: ::core::primitive::u32,
22438						creator: ::subxt::ext::subxt_core::utils::AccountId32,
22439						owner: ::subxt::ext::subxt_core::utils::AccountId32,
22440					},
22441					#[codec(index = 1)]
22442					#[doc = "Some assets were issued."]
22443					Issued {
22444						asset_id: ::core::primitive::u32,
22445						owner: ::subxt::ext::subxt_core::utils::AccountId32,
22446						amount: ::core::primitive::u128,
22447					},
22448					#[codec(index = 2)]
22449					#[doc = "Some assets were transferred."]
22450					Transferred {
22451						asset_id: ::core::primitive::u32,
22452						from: ::subxt::ext::subxt_core::utils::AccountId32,
22453						to: ::subxt::ext::subxt_core::utils::AccountId32,
22454						amount: ::core::primitive::u128,
22455					},
22456					#[codec(index = 3)]
22457					#[doc = "Some assets were destroyed."]
22458					Burned {
22459						asset_id: ::core::primitive::u32,
22460						owner: ::subxt::ext::subxt_core::utils::AccountId32,
22461						balance: ::core::primitive::u128,
22462					},
22463					#[codec(index = 4)]
22464					#[doc = "The management team changed."]
22465					TeamChanged {
22466						asset_id: ::core::primitive::u32,
22467						issuer: ::subxt::ext::subxt_core::utils::AccountId32,
22468						admin: ::subxt::ext::subxt_core::utils::AccountId32,
22469						freezer: ::subxt::ext::subxt_core::utils::AccountId32,
22470					},
22471					#[codec(index = 5)]
22472					#[doc = "The owner changed."]
22473					OwnerChanged {
22474						asset_id: ::core::primitive::u32,
22475						owner: ::subxt::ext::subxt_core::utils::AccountId32,
22476					},
22477					#[codec(index = 6)]
22478					#[doc = "Some account `who` was frozen."]
22479					Frozen {
22480						asset_id: ::core::primitive::u32,
22481						who: ::subxt::ext::subxt_core::utils::AccountId32,
22482					},
22483					#[codec(index = 7)]
22484					#[doc = "Some account `who` was thawed."]
22485					Thawed {
22486						asset_id: ::core::primitive::u32,
22487						who: ::subxt::ext::subxt_core::utils::AccountId32,
22488					},
22489					#[codec(index = 8)]
22490					#[doc = "Some asset `asset_id` was frozen."]
22491					AssetFrozen { asset_id: ::core::primitive::u32 },
22492					#[codec(index = 9)]
22493					#[doc = "Some asset `asset_id` was thawed."]
22494					AssetThawed { asset_id: ::core::primitive::u32 },
22495					#[codec(index = 10)]
22496					#[doc = "Accounts were destroyed for given asset."]
22497					AccountsDestroyed {
22498						asset_id: ::core::primitive::u32,
22499						accounts_destroyed: ::core::primitive::u32,
22500						accounts_remaining: ::core::primitive::u32,
22501					},
22502					#[codec(index = 11)]
22503					#[doc = "Approvals were destroyed for given asset."]
22504					ApprovalsDestroyed {
22505						asset_id: ::core::primitive::u32,
22506						approvals_destroyed: ::core::primitive::u32,
22507						approvals_remaining: ::core::primitive::u32,
22508					},
22509					#[codec(index = 12)]
22510					#[doc = "An asset class is in the process of being destroyed."]
22511					DestructionStarted { asset_id: ::core::primitive::u32 },
22512					#[codec(index = 13)]
22513					#[doc = "An asset class was destroyed."]
22514					Destroyed { asset_id: ::core::primitive::u32 },
22515					#[codec(index = 14)]
22516					#[doc = "Some asset class was force-created."]
22517					ForceCreated {
22518						asset_id: ::core::primitive::u32,
22519						owner: ::subxt::ext::subxt_core::utils::AccountId32,
22520					},
22521					#[codec(index = 15)]
22522					#[doc = "New metadata has been set for an asset."]
22523					MetadataSet {
22524						asset_id: ::core::primitive::u32,
22525						name: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
22526						symbol: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
22527						decimals: ::core::primitive::u8,
22528						is_frozen: ::core::primitive::bool,
22529					},
22530					#[codec(index = 16)]
22531					#[doc = "Metadata has been cleared for an asset."]
22532					MetadataCleared { asset_id: ::core::primitive::u32 },
22533					#[codec(index = 17)]
22534					#[doc = "(Additional) funds have been approved for transfer to a destination account."]
22535					ApprovedTransfer {
22536						asset_id: ::core::primitive::u32,
22537						source: ::subxt::ext::subxt_core::utils::AccountId32,
22538						delegate: ::subxt::ext::subxt_core::utils::AccountId32,
22539						amount: ::core::primitive::u128,
22540					},
22541					#[codec(index = 18)]
22542					#[doc = "An approval for account `delegate` was cancelled by `owner`."]
22543					ApprovalCancelled {
22544						asset_id: ::core::primitive::u32,
22545						owner: ::subxt::ext::subxt_core::utils::AccountId32,
22546						delegate: ::subxt::ext::subxt_core::utils::AccountId32,
22547					},
22548					#[codec(index = 19)]
22549					#[doc = "An `amount` was transferred in its entirety from `owner` to `destination` by"]
22550					#[doc = "the approved `delegate`."]
22551					TransferredApproved {
22552						asset_id: ::core::primitive::u32,
22553						owner: ::subxt::ext::subxt_core::utils::AccountId32,
22554						delegate: ::subxt::ext::subxt_core::utils::AccountId32,
22555						destination: ::subxt::ext::subxt_core::utils::AccountId32,
22556						amount: ::core::primitive::u128,
22557					},
22558					#[codec(index = 20)]
22559					#[doc = "An asset has had its attributes changed by the `Force` origin."]
22560					AssetStatusChanged { asset_id: ::core::primitive::u32 },
22561					#[codec(index = 21)]
22562					#[doc = "The min_balance of an asset has been updated by the asset owner."]
22563					AssetMinBalanceChanged {
22564						asset_id: ::core::primitive::u32,
22565						new_min_balance: ::core::primitive::u128,
22566					},
22567					#[codec(index = 22)]
22568					#[doc = "Some account `who` was created with a deposit from `depositor`."]
22569					Touched {
22570						asset_id: ::core::primitive::u32,
22571						who: ::subxt::ext::subxt_core::utils::AccountId32,
22572						depositor: ::subxt::ext::subxt_core::utils::AccountId32,
22573					},
22574					#[codec(index = 23)]
22575					#[doc = "Some account `who` was blocked."]
22576					Blocked {
22577						asset_id: ::core::primitive::u32,
22578						who: ::subxt::ext::subxt_core::utils::AccountId32,
22579					},
22580					#[codec(index = 24)]
22581					#[doc = "Some assets were deposited (e.g. for transaction fees)."]
22582					Deposited {
22583						asset_id: ::core::primitive::u32,
22584						who: ::subxt::ext::subxt_core::utils::AccountId32,
22585						amount: ::core::primitive::u128,
22586					},
22587					#[codec(index = 25)]
22588					#[doc = "Some assets were withdrawn from the account (e.g. for transaction fees)."]
22589					Withdrawn {
22590						asset_id: ::core::primitive::u32,
22591						who: ::subxt::ext::subxt_core::utils::AccountId32,
22592						amount: ::core::primitive::u128,
22593					},
22594					#[codec(index = 26)]
22595					#[doc = "Reserve information was set or updated for `asset_id`."]
22596					ReservesUpdated {
22597						asset_id: ::core::primitive::u32,
22598						reserves: ::subxt::ext::subxt_core::alloc::vec::Vec<()>,
22599					},
22600					#[codec(index = 27)]
22601					#[doc = "Reserve information was removed for `asset_id`."]
22602					ReservesRemoved { asset_id: ::core::primitive::u32 },
22603				}
22604			}
22605			pub mod types {
22606				use super::runtime_types;
22607				#[derive(
22608					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22609					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22610					Debug,
22611				)]
22612				#[decode_as_type(
22613					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22614				)]
22615				#[encode_as_type(
22616					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22617				)]
22618				pub enum AccountStatus {
22619					#[codec(index = 0)]
22620					Liquid,
22621					#[codec(index = 1)]
22622					Frozen,
22623					#[codec(index = 2)]
22624					Blocked,
22625				}
22626				#[derive(
22627					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22628					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22629					Debug,
22630				)]
22631				#[decode_as_type(
22632					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22633				)]
22634				#[encode_as_type(
22635					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22636				)]
22637				pub struct Approval<_0, _1> {
22638					pub amount: _0,
22639					pub deposit: _1,
22640				}
22641				#[derive(
22642					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22643					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22644					Debug,
22645				)]
22646				#[decode_as_type(
22647					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22648				)]
22649				#[encode_as_type(
22650					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22651				)]
22652				pub struct AssetAccount<_0, _1, _2, _3> {
22653					pub balance: _0,
22654					pub status: runtime_types::pallet_assets::types::AccountStatus,
22655					pub reason: runtime_types::pallet_assets::types::ExistenceReason<_0, _3>,
22656					pub extra: _2,
22657					#[codec(skip)]
22658					pub __ignore: ::core::marker::PhantomData<_1>,
22659				}
22660				#[derive(
22661					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22662					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22663					Debug,
22664				)]
22665				#[decode_as_type(
22666					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22667				)]
22668				#[encode_as_type(
22669					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22670				)]
22671				pub struct AssetDetails<_0, _1, _2> {
22672					pub owner: _1,
22673					pub issuer: _1,
22674					pub admin: _1,
22675					pub freezer: _1,
22676					pub supply: _0,
22677					pub deposit: _2,
22678					pub min_balance: _0,
22679					pub is_sufficient: ::core::primitive::bool,
22680					pub accounts: ::core::primitive::u32,
22681					pub sufficients: ::core::primitive::u32,
22682					pub approvals: ::core::primitive::u32,
22683					pub status: runtime_types::pallet_assets::types::AssetStatus,
22684				}
22685				#[derive(
22686					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22687					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22688					Debug,
22689				)]
22690				#[decode_as_type(
22691					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22692				)]
22693				#[encode_as_type(
22694					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22695				)]
22696				pub struct AssetMetadata<_0, _1> {
22697					pub deposit: _0,
22698					pub name: _1,
22699					pub symbol: _1,
22700					pub decimals: ::core::primitive::u8,
22701					pub is_frozen: ::core::primitive::bool,
22702				}
22703				#[derive(
22704					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22705					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22706					Debug,
22707				)]
22708				#[decode_as_type(
22709					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22710				)]
22711				#[encode_as_type(
22712					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22713				)]
22714				pub enum AssetStatus {
22715					#[codec(index = 0)]
22716					Live,
22717					#[codec(index = 1)]
22718					Frozen,
22719					#[codec(index = 2)]
22720					Destroying,
22721				}
22722				#[derive(
22723					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22724					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22725					Debug,
22726				)]
22727				#[decode_as_type(
22728					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22729				)]
22730				#[encode_as_type(
22731					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22732				)]
22733				pub enum ExistenceReason<_0, _1> {
22734					#[codec(index = 0)]
22735					Consumer,
22736					#[codec(index = 1)]
22737					Sufficient,
22738					#[codec(index = 2)]
22739					DepositHeld(_0),
22740					#[codec(index = 3)]
22741					DepositRefunded,
22742					#[codec(index = 4)]
22743					DepositFrom(_1, _0),
22744				}
22745			}
22746		}
22747		pub mod pallet_assets_holder {
22748			use super::runtime_types;
22749			pub mod pallet {
22750				use super::runtime_types;
22751				#[derive(
22752					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22753					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22754					Debug,
22755				)]
22756				#[decode_as_type(
22757					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22758				)]
22759				#[encode_as_type(
22760					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22761				)]
22762				#[doc = "The `Error` enum of this pallet."]
22763				pub enum Error {
22764					#[codec(index = 0)]
22765					#[doc = "Number of holds on an account would exceed the count of `RuntimeHoldReason`."]
22766					TooManyHolds,
22767				}
22768				#[derive(
22769					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22770					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22771					Debug,
22772				)]
22773				#[decode_as_type(
22774					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22775				)]
22776				#[encode_as_type(
22777					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22778				)]
22779				#[doc = "The `Event` enum of this pallet"]
22780				pub enum Event {
22781					#[codec(index = 0)]
22782					#[doc = "`who`s balance on hold was increased by `amount`."]
22783					Held {
22784						who: ::subxt::ext::subxt_core::utils::AccountId32,
22785						asset_id: ::core::primitive::u32,
22786						reason: runtime_types::quantus_runtime::RuntimeHoldReason,
22787						amount: ::core::primitive::u128,
22788					},
22789					#[codec(index = 1)]
22790					#[doc = "`who`s balance on hold was decreased by `amount`."]
22791					Released {
22792						who: ::subxt::ext::subxt_core::utils::AccountId32,
22793						asset_id: ::core::primitive::u32,
22794						reason: runtime_types::quantus_runtime::RuntimeHoldReason,
22795						amount: ::core::primitive::u128,
22796					},
22797					#[codec(index = 2)]
22798					#[doc = "`who`s balance on hold was burned by `amount`."]
22799					Burned {
22800						who: ::subxt::ext::subxt_core::utils::AccountId32,
22801						asset_id: ::core::primitive::u32,
22802						reason: runtime_types::quantus_runtime::RuntimeHoldReason,
22803						amount: ::core::primitive::u128,
22804					},
22805				}
22806			}
22807		}
22808		pub mod pallet_balances {
22809			use super::runtime_types;
22810			pub mod pallet {
22811				use super::runtime_types;
22812				#[derive(
22813					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22814					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22815					Debug,
22816				)]
22817				#[decode_as_type(
22818					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22819				)]
22820				#[encode_as_type(
22821					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22822				)]
22823				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
22824				pub enum Call {
22825					#[codec(index = 0)]
22826					#[doc = "Transfer some liquid free balance to another account."]
22827					#[doc = ""]
22828					#[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."]
22829					#[doc = "If the sender's account is below the existential deposit as a result"]
22830					#[doc = "of the transfer, the account will be reaped."]
22831					#[doc = ""]
22832					#[doc = "The dispatch origin for this call must be `Signed` by the transactor."]
22833					transfer_allow_death {
22834						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
22835							::subxt::ext::subxt_core::utils::AccountId32,
22836							(),
22837						>,
22838						#[codec(compact)]
22839						value: ::core::primitive::u128,
22840					},
22841					#[codec(index = 2)]
22842					#[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"]
22843					#[doc = "may be specified."]
22844					force_transfer {
22845						source: ::subxt::ext::subxt_core::utils::MultiAddress<
22846							::subxt::ext::subxt_core::utils::AccountId32,
22847							(),
22848						>,
22849						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
22850							::subxt::ext::subxt_core::utils::AccountId32,
22851							(),
22852						>,
22853						#[codec(compact)]
22854						value: ::core::primitive::u128,
22855					},
22856					#[codec(index = 3)]
22857					#[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"]
22858					#[doc = "kill the origin account."]
22859					#[doc = ""]
22860					#[doc = "99% of the time you want [`transfer_allow_death`] instead."]
22861					#[doc = ""]
22862					#[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"]
22863					transfer_keep_alive {
22864						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
22865							::subxt::ext::subxt_core::utils::AccountId32,
22866							(),
22867						>,
22868						#[codec(compact)]
22869						value: ::core::primitive::u128,
22870					},
22871					#[codec(index = 4)]
22872					#[doc = "Transfer the entire transferable balance from the caller account."]
22873					#[doc = ""]
22874					#[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"]
22875					#[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"]
22876					#[doc = "transferred by this function. To ensure that this function results in a killed account,"]
22877					#[doc = "you might need to prepare the account by removing any reference counters, storage"]
22878					#[doc = "deposits, etc..."]
22879					#[doc = ""]
22880					#[doc = "The dispatch origin of this call must be Signed."]
22881					#[doc = ""]
22882					#[doc = "- `dest`: The recipient of the transfer."]
22883					#[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"]
22884					#[doc = "  of the funds the account has, causing the sender account to be killed (false), or"]
22885					#[doc = "  transfer everything except at least the existential deposit, which will guarantee to"]
22886					#[doc = "  keep the sender account alive (true)."]
22887					transfer_all {
22888						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
22889							::subxt::ext::subxt_core::utils::AccountId32,
22890							(),
22891						>,
22892						keep_alive: ::core::primitive::bool,
22893					},
22894					#[codec(index = 5)]
22895					#[doc = "Unreserve some balance from a user by force."]
22896					#[doc = ""]
22897					#[doc = "Can only be called by ROOT."]
22898					force_unreserve {
22899						who: ::subxt::ext::subxt_core::utils::MultiAddress<
22900							::subxt::ext::subxt_core::utils::AccountId32,
22901							(),
22902						>,
22903						amount: ::core::primitive::u128,
22904					},
22905					#[codec(index = 6)]
22906					#[doc = "Upgrade a specified account."]
22907					#[doc = ""]
22908					#[doc = "- `origin`: Must be `Signed`."]
22909					#[doc = "- `who`: The account to be upgraded."]
22910					#[doc = ""]
22911					#[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"]
22912					#[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"]
22913					#[doc = "possibility of churn)."]
22914					upgrade_accounts {
22915						who: ::subxt::ext::subxt_core::alloc::vec::Vec<
22916							::subxt::ext::subxt_core::utils::AccountId32,
22917						>,
22918					},
22919					#[codec(index = 8)]
22920					#[doc = "Set the regular balance of a given account."]
22921					#[doc = ""]
22922					#[doc = "The dispatch origin for this call is `root`."]
22923					force_set_balance {
22924						who: ::subxt::ext::subxt_core::utils::MultiAddress<
22925							::subxt::ext::subxt_core::utils::AccountId32,
22926							(),
22927						>,
22928						#[codec(compact)]
22929						new_free: ::core::primitive::u128,
22930					},
22931					#[codec(index = 9)]
22932					#[doc = "Adjust the total issuance in a saturating way."]
22933					#[doc = ""]
22934					#[doc = "Can only be called by root and always needs a positive `delta`."]
22935					#[doc = ""]
22936					#[doc = "# Example"]
22937					force_adjust_total_issuance {
22938						direction: runtime_types::pallet_balances::types::AdjustmentDirection,
22939						#[codec(compact)]
22940						delta: ::core::primitive::u128,
22941					},
22942					#[codec(index = 10)]
22943					#[doc = "Burn the specified liquid free balance from the origin account."]
22944					#[doc = ""]
22945					#[doc = "If the origin's account ends up below the existential deposit as a result"]
22946					#[doc = "of the burn and `keep_alive` is false, the account will be reaped."]
22947					#[doc = ""]
22948					#[doc = "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,"]
22949					#[doc = "this `burn` operation will reduce total issuance by the amount _burned_."]
22950					burn {
22951						#[codec(compact)]
22952						value: ::core::primitive::u128,
22953						keep_alive: ::core::primitive::bool,
22954					},
22955				}
22956				#[derive(
22957					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
22958					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
22959					Debug,
22960				)]
22961				#[decode_as_type(
22962					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
22963				)]
22964				#[encode_as_type(
22965					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
22966				)]
22967				#[doc = "The `Error` enum of this pallet."]
22968				pub enum Error {
22969					#[codec(index = 0)]
22970					#[doc = "Vesting balance too high to send value."]
22971					VestingBalance,
22972					#[codec(index = 1)]
22973					#[doc = "Account liquidity restrictions prevent withdrawal."]
22974					LiquidityRestrictions,
22975					#[codec(index = 2)]
22976					#[doc = "Balance too low to send value."]
22977					InsufficientBalance,
22978					#[codec(index = 3)]
22979					#[doc = "Value too low to create account due to existential deposit."]
22980					ExistentialDeposit,
22981					#[codec(index = 4)]
22982					#[doc = "Transfer/payment would kill account."]
22983					Expendability,
22984					#[codec(index = 5)]
22985					#[doc = "A vesting schedule already exists for this account."]
22986					ExistingVestingSchedule,
22987					#[codec(index = 6)]
22988					#[doc = "Beneficiary account must pre-exist."]
22989					DeadAccount,
22990					#[codec(index = 7)]
22991					#[doc = "Number of named reserves exceed `MaxReserves`."]
22992					TooManyReserves,
22993					#[codec(index = 8)]
22994					#[doc = "Number of holds exceed `VariantCountOf<T::RuntimeHoldReason>`."]
22995					TooManyHolds,
22996					#[codec(index = 9)]
22997					#[doc = "Number of freezes exceed `MaxFreezes`."]
22998					TooManyFreezes,
22999					#[codec(index = 10)]
23000					#[doc = "The issuance cannot be modified since it is already deactivated."]
23001					IssuanceDeactivated,
23002					#[codec(index = 11)]
23003					#[doc = "The delta cannot be zero."]
23004					DeltaZero,
23005				}
23006				#[derive(
23007					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23008					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23009					Debug,
23010				)]
23011				#[decode_as_type(
23012					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23013				)]
23014				#[encode_as_type(
23015					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23016				)]
23017				#[doc = "The `Event` enum of this pallet"]
23018				pub enum Event {
23019					#[codec(index = 0)]
23020					#[doc = "An account was created with some free balance."]
23021					Endowed {
23022						account: ::subxt::ext::subxt_core::utils::AccountId32,
23023						free_balance: ::core::primitive::u128,
23024					},
23025					#[codec(index = 1)]
23026					#[doc = "An account was removed whose balance was non-zero but below ExistentialDeposit,"]
23027					#[doc = "resulting in an outright loss."]
23028					DustLost {
23029						account: ::subxt::ext::subxt_core::utils::AccountId32,
23030						amount: ::core::primitive::u128,
23031					},
23032					#[codec(index = 2)]
23033					#[doc = "Transfer succeeded."]
23034					Transfer {
23035						from: ::subxt::ext::subxt_core::utils::AccountId32,
23036						to: ::subxt::ext::subxt_core::utils::AccountId32,
23037						amount: ::core::primitive::u128,
23038					},
23039					#[codec(index = 3)]
23040					#[doc = "A balance was set by root."]
23041					BalanceSet {
23042						who: ::subxt::ext::subxt_core::utils::AccountId32,
23043						free: ::core::primitive::u128,
23044					},
23045					#[codec(index = 4)]
23046					#[doc = "Some balance was reserved (moved from free to reserved)."]
23047					Reserved {
23048						who: ::subxt::ext::subxt_core::utils::AccountId32,
23049						amount: ::core::primitive::u128,
23050					},
23051					#[codec(index = 5)]
23052					#[doc = "Some balance was unreserved (moved from reserved to free)."]
23053					Unreserved {
23054						who: ::subxt::ext::subxt_core::utils::AccountId32,
23055						amount: ::core::primitive::u128,
23056					},
23057					#[codec(index = 6)]
23058					#[doc = "Some balance was moved from the reserve of the first account to the second account."]
23059					#[doc = "Final argument indicates the destination balance type."]
23060					ReserveRepatriated {
23061						from: ::subxt::ext::subxt_core::utils::AccountId32,
23062						to: ::subxt::ext::subxt_core::utils::AccountId32,
23063						amount: ::core::primitive::u128,
23064						destination_status:
23065							runtime_types::frame_support::traits::tokens::misc::BalanceStatus,
23066					},
23067					#[codec(index = 7)]
23068					#[doc = "Some amount was deposited (e.g. for transaction fees)."]
23069					Deposit {
23070						who: ::subxt::ext::subxt_core::utils::AccountId32,
23071						amount: ::core::primitive::u128,
23072					},
23073					#[codec(index = 8)]
23074					#[doc = "Some amount was withdrawn from the account (e.g. for transaction fees)."]
23075					Withdraw {
23076						who: ::subxt::ext::subxt_core::utils::AccountId32,
23077						amount: ::core::primitive::u128,
23078					},
23079					#[codec(index = 9)]
23080					#[doc = "Some amount was removed from the account (e.g. for misbehavior)."]
23081					Slashed {
23082						who: ::subxt::ext::subxt_core::utils::AccountId32,
23083						amount: ::core::primitive::u128,
23084					},
23085					#[codec(index = 10)]
23086					#[doc = "Some amount was minted into an account."]
23087					Minted {
23088						who: ::subxt::ext::subxt_core::utils::AccountId32,
23089						amount: ::core::primitive::u128,
23090					},
23091					#[codec(index = 11)]
23092					#[doc = "Some credit was balanced and added to the TotalIssuance."]
23093					MintedCredit { amount: ::core::primitive::u128 },
23094					#[codec(index = 12)]
23095					#[doc = "Some amount was burned from an account."]
23096					Burned {
23097						who: ::subxt::ext::subxt_core::utils::AccountId32,
23098						amount: ::core::primitive::u128,
23099					},
23100					#[codec(index = 13)]
23101					#[doc = "Some debt has been dropped from the Total Issuance."]
23102					BurnedDebt { amount: ::core::primitive::u128 },
23103					#[codec(index = 14)]
23104					#[doc = "Some amount was suspended from an account (it can be restored later)."]
23105					Suspended {
23106						who: ::subxt::ext::subxt_core::utils::AccountId32,
23107						amount: ::core::primitive::u128,
23108					},
23109					#[codec(index = 15)]
23110					#[doc = "Some amount was restored into an account."]
23111					Restored {
23112						who: ::subxt::ext::subxt_core::utils::AccountId32,
23113						amount: ::core::primitive::u128,
23114					},
23115					#[codec(index = 16)]
23116					#[doc = "An account was upgraded."]
23117					Upgraded { who: ::subxt::ext::subxt_core::utils::AccountId32 },
23118					#[codec(index = 17)]
23119					#[doc = "Total issuance was increased by `amount`, creating a credit to be balanced."]
23120					Issued { amount: ::core::primitive::u128 },
23121					#[codec(index = 18)]
23122					#[doc = "Total issuance was decreased by `amount`, creating a debt to be balanced."]
23123					Rescinded { amount: ::core::primitive::u128 },
23124					#[codec(index = 19)]
23125					#[doc = "Some balance was locked."]
23126					Locked {
23127						who: ::subxt::ext::subxt_core::utils::AccountId32,
23128						amount: ::core::primitive::u128,
23129					},
23130					#[codec(index = 20)]
23131					#[doc = "Some balance was unlocked."]
23132					Unlocked {
23133						who: ::subxt::ext::subxt_core::utils::AccountId32,
23134						amount: ::core::primitive::u128,
23135					},
23136					#[codec(index = 21)]
23137					#[doc = "Some balance was frozen."]
23138					Frozen {
23139						who: ::subxt::ext::subxt_core::utils::AccountId32,
23140						amount: ::core::primitive::u128,
23141					},
23142					#[codec(index = 22)]
23143					#[doc = "Some balance was thawed."]
23144					Thawed {
23145						who: ::subxt::ext::subxt_core::utils::AccountId32,
23146						amount: ::core::primitive::u128,
23147					},
23148					#[codec(index = 23)]
23149					#[doc = "The `TotalIssuance` was forcefully changed."]
23150					TotalIssuanceForced {
23151						old: ::core::primitive::u128,
23152						new: ::core::primitive::u128,
23153					},
23154					#[codec(index = 24)]
23155					#[doc = "Some balance was placed on hold."]
23156					Held {
23157						reason: runtime_types::quantus_runtime::RuntimeHoldReason,
23158						who: ::subxt::ext::subxt_core::utils::AccountId32,
23159						amount: ::core::primitive::u128,
23160					},
23161					#[codec(index = 25)]
23162					#[doc = "Held balance was burned from an account."]
23163					BurnedHeld {
23164						reason: runtime_types::quantus_runtime::RuntimeHoldReason,
23165						who: ::subxt::ext::subxt_core::utils::AccountId32,
23166						amount: ::core::primitive::u128,
23167					},
23168					#[codec(index = 26)]
23169					#[doc = "A transfer of `amount` on hold from `source` to `dest` was initiated."]
23170					TransferOnHold {
23171						reason: runtime_types::quantus_runtime::RuntimeHoldReason,
23172						source: ::subxt::ext::subxt_core::utils::AccountId32,
23173						dest: ::subxt::ext::subxt_core::utils::AccountId32,
23174						amount: ::core::primitive::u128,
23175					},
23176					#[codec(index = 27)]
23177					#[doc = "The `transferred` balance is placed on hold at the `dest` account."]
23178					TransferAndHold {
23179						reason: runtime_types::quantus_runtime::RuntimeHoldReason,
23180						source: ::subxt::ext::subxt_core::utils::AccountId32,
23181						dest: ::subxt::ext::subxt_core::utils::AccountId32,
23182						transferred: ::core::primitive::u128,
23183					},
23184					#[codec(index = 28)]
23185					#[doc = "Some balance was released from hold."]
23186					Released {
23187						reason: runtime_types::quantus_runtime::RuntimeHoldReason,
23188						who: ::subxt::ext::subxt_core::utils::AccountId32,
23189						amount: ::core::primitive::u128,
23190					},
23191					#[codec(index = 29)]
23192					#[doc = "An unexpected/defensive event was triggered."]
23193					Unexpected(runtime_types::pallet_balances::pallet::UnexpectedKind),
23194				}
23195				#[derive(
23196					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23197					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23198					Debug,
23199				)]
23200				#[decode_as_type(
23201					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23202				)]
23203				#[encode_as_type(
23204					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23205				)]
23206				pub enum UnexpectedKind {
23207					#[codec(index = 0)]
23208					BalanceUpdated,
23209					#[codec(index = 1)]
23210					FailedToMutateAccount,
23211				}
23212			}
23213			pub mod types {
23214				use super::runtime_types;
23215				#[derive(
23216					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23217					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23218					Debug,
23219				)]
23220				#[decode_as_type(
23221					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23222				)]
23223				#[encode_as_type(
23224					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23225				)]
23226				pub struct AccountData<_0> {
23227					pub free: _0,
23228					pub reserved: _0,
23229					pub frozen: _0,
23230					pub flags: runtime_types::pallet_balances::types::ExtraFlags,
23231				}
23232				#[derive(
23233					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23234					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23235					Debug,
23236				)]
23237				#[decode_as_type(
23238					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23239				)]
23240				#[encode_as_type(
23241					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23242				)]
23243				pub enum AdjustmentDirection {
23244					#[codec(index = 0)]
23245					Increase,
23246					#[codec(index = 1)]
23247					Decrease,
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				pub struct BalanceLock<_0> {
23261					pub id: [::core::primitive::u8; 8usize],
23262					pub amount: _0,
23263					pub reasons: runtime_types::pallet_balances::types::Reasons,
23264				}
23265				#[derive(
23266					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23267					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23268					Debug,
23269				)]
23270				#[decode_as_type(
23271					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23272				)]
23273				#[encode_as_type(
23274					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23275				)]
23276				pub struct ExtraFlags(pub ::core::primitive::u128);
23277				#[derive(
23278					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23279					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23280					Debug,
23281				)]
23282				#[decode_as_type(
23283					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23284				)]
23285				#[encode_as_type(
23286					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23287				)]
23288				pub enum Reasons {
23289					#[codec(index = 0)]
23290					Fee,
23291					#[codec(index = 1)]
23292					Misc,
23293					#[codec(index = 2)]
23294					All,
23295				}
23296				#[derive(
23297					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23298					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23299					Debug,
23300				)]
23301				#[decode_as_type(
23302					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23303				)]
23304				#[encode_as_type(
23305					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23306				)]
23307				pub struct ReserveData<_0, _1> {
23308					pub id: _0,
23309					pub amount: _1,
23310				}
23311			}
23312		}
23313		pub mod pallet_conviction_voting {
23314			use super::runtime_types;
23315			pub mod conviction {
23316				use super::runtime_types;
23317				#[derive(
23318					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23319					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23320					Debug,
23321				)]
23322				#[decode_as_type(
23323					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23324				)]
23325				#[encode_as_type(
23326					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23327				)]
23328				pub enum Conviction {
23329					#[codec(index = 0)]
23330					None,
23331					#[codec(index = 1)]
23332					Locked1x,
23333					#[codec(index = 2)]
23334					Locked2x,
23335					#[codec(index = 3)]
23336					Locked3x,
23337					#[codec(index = 4)]
23338					Locked4x,
23339					#[codec(index = 5)]
23340					Locked5x,
23341					#[codec(index = 6)]
23342					Locked6x,
23343				}
23344			}
23345			pub mod pallet {
23346				use super::runtime_types;
23347				#[derive(
23348					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23349					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23350					Debug,
23351				)]
23352				#[decode_as_type(
23353					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23354				)]
23355				#[encode_as_type(
23356					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23357				)]
23358				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
23359				pub enum Call {
23360					#[codec(index = 0)]
23361					#[doc = "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;"]
23362					#[doc = "otherwise it is a vote to keep the status quo."]
23363					#[doc = ""]
23364					#[doc = "The dispatch origin of this call must be _Signed_."]
23365					#[doc = ""]
23366					#[doc = "- `poll_index`: The index of the poll to vote for."]
23367					#[doc = "- `vote`: The vote configuration."]
23368					#[doc = ""]
23369					#[doc = "Weight: `O(R)` where R is the number of polls the voter has voted on."]
23370					vote {
23371						#[codec(compact)]
23372						poll_index: ::core::primitive::u32,
23373						vote: runtime_types::pallet_conviction_voting::vote::AccountVote<
23374							::core::primitive::u128,
23375						>,
23376					},
23377					#[codec(index = 1)]
23378					#[doc = "Delegate the voting power (with some given conviction) of the sending account for a"]
23379					#[doc = "particular class of polls."]
23380					#[doc = ""]
23381					#[doc = "The balance delegated is locked for as long as it's delegated, and thereafter for the"]
23382					#[doc = "time appropriate for the conviction's lock period."]
23383					#[doc = ""]
23384					#[doc = "The dispatch origin of this call must be _Signed_, and the signing account must either:"]
23385					#[doc = "  - be delegating already; or"]
23386					#[doc = "  - have no voting activity (if there is, then it will need to be removed through"]
23387					#[doc = "    `remove_vote`)."]
23388					#[doc = ""]
23389					#[doc = "- `to`: The account whose voting the `target` account's voting power will follow."]
23390					#[doc = "- `class`: The class of polls to delegate. To delegate multiple classes, multiple calls"]
23391					#[doc = "  to this function are required."]
23392					#[doc = "- `conviction`: The conviction that will be attached to the delegated votes. When the"]
23393					#[doc = "  account is undelegated, the funds will be locked for the corresponding period."]
23394					#[doc = "- `balance`: The amount of the account's balance to be used in delegating. This must not"]
23395					#[doc = "  be more than the account's current balance."]
23396					#[doc = ""]
23397					#[doc = "Emits `Delegated`."]
23398					#[doc = ""]
23399					#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
23400					#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
23401					delegate {
23402						class: ::core::primitive::u16,
23403						to: ::subxt::ext::subxt_core::utils::MultiAddress<
23404							::subxt::ext::subxt_core::utils::AccountId32,
23405							(),
23406						>,
23407						conviction: runtime_types::pallet_conviction_voting::conviction::Conviction,
23408						balance: ::core::primitive::u128,
23409					},
23410					#[codec(index = 2)]
23411					#[doc = "Undelegate the voting power of the sending account for a particular class of polls."]
23412					#[doc = ""]
23413					#[doc = "Tokens may be unlocked following once an amount of time consistent with the lock period"]
23414					#[doc = "of the conviction with which the delegation was issued has passed."]
23415					#[doc = ""]
23416					#[doc = "The dispatch origin of this call must be _Signed_ and the signing account must be"]
23417					#[doc = "currently delegating."]
23418					#[doc = ""]
23419					#[doc = "- `class`: The class of polls to remove the delegation from."]
23420					#[doc = ""]
23421					#[doc = "Emits `Undelegated`."]
23422					#[doc = ""]
23423					#[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
23424					#[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
23425					undelegate { class: ::core::primitive::u16 },
23426					#[codec(index = 3)]
23427					#[doc = "Remove the lock caused by prior voting/delegating which has expired within a particular"]
23428					#[doc = "class."]
23429					#[doc = ""]
23430					#[doc = "The dispatch origin of this call must be _Signed_."]
23431					#[doc = ""]
23432					#[doc = "- `class`: The class of polls to unlock."]
23433					#[doc = "- `target`: The account to remove the lock on."]
23434					#[doc = ""]
23435					#[doc = "Weight: `O(R)` with R number of vote of target."]
23436					unlock {
23437						class: ::core::primitive::u16,
23438						target: ::subxt::ext::subxt_core::utils::MultiAddress<
23439							::subxt::ext::subxt_core::utils::AccountId32,
23440							(),
23441						>,
23442					},
23443					#[codec(index = 4)]
23444					#[doc = "Remove a vote for a poll."]
23445					#[doc = ""]
23446					#[doc = "If:"]
23447					#[doc = "- the poll was cancelled, or"]
23448					#[doc = "- the poll is ongoing, or"]
23449					#[doc = "- the poll has ended such that"]
23450					#[doc = "  - the vote of the account was in opposition to the result; or"]
23451					#[doc = "  - there was no conviction to the account's vote; or"]
23452					#[doc = "  - the account made a split vote"]
23453					#[doc = "...then the vote is removed cleanly and a following call to `unlock` may result in more"]
23454					#[doc = "funds being available."]
23455					#[doc = ""]
23456					#[doc = "If, however, the poll has ended and:"]
23457					#[doc = "- it finished corresponding to the vote of the account, and"]
23458					#[doc = "- the account made a standard vote with conviction, and"]
23459					#[doc = "- the lock period of the conviction is not over"]
23460					#[doc = "...then the lock will be aggregated into the overall account's lock, which may involve"]
23461					#[doc = "*overlocking* (where the two locks are combined into a single lock that is the maximum"]
23462					#[doc = "of both the amount locked and the time is it locked for)."]
23463					#[doc = ""]
23464					#[doc = "The dispatch origin of this call must be _Signed_, and the signer must have a vote"]
23465					#[doc = "registered for poll `index`."]
23466					#[doc = ""]
23467					#[doc = "- `index`: The index of poll of the vote to be removed."]
23468					#[doc = "- `class`: Optional parameter, if given it indicates the class of the poll. For polls"]
23469					#[doc = "  which have finished or are cancelled, this must be `Some`."]
23470					#[doc = ""]
23471					#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
23472					#[doc = "  Weight is calculated for the maximum number of vote."]
23473					remove_vote {
23474						class: ::core::option::Option<::core::primitive::u16>,
23475						index: ::core::primitive::u32,
23476					},
23477					#[codec(index = 5)]
23478					#[doc = "Remove a vote for a poll."]
23479					#[doc = ""]
23480					#[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"]
23481					#[doc = "`remove_vote`. If not equal to the signer, then the vote must have expired,"]
23482					#[doc = "either because the poll was cancelled, because the voter lost the poll or"]
23483					#[doc = "because the conviction period is over."]
23484					#[doc = ""]
23485					#[doc = "The dispatch origin of this call must be _Signed_."]
23486					#[doc = ""]
23487					#[doc = "- `target`: The account of the vote to be removed; this account must have voted for poll"]
23488					#[doc = "  `index`."]
23489					#[doc = "- `index`: The index of poll of the vote to be removed."]
23490					#[doc = "- `class`: The class of the poll."]
23491					#[doc = ""]
23492					#[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
23493					#[doc = "  Weight is calculated for the maximum number of vote."]
23494					remove_other_vote {
23495						target: ::subxt::ext::subxt_core::utils::MultiAddress<
23496							::subxt::ext::subxt_core::utils::AccountId32,
23497							(),
23498						>,
23499						class: ::core::primitive::u16,
23500						index: ::core::primitive::u32,
23501					},
23502				}
23503				#[derive(
23504					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23505					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23506					Debug,
23507				)]
23508				#[decode_as_type(
23509					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23510				)]
23511				#[encode_as_type(
23512					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23513				)]
23514				#[doc = "The `Error` enum of this pallet."]
23515				pub enum Error {
23516					#[codec(index = 0)]
23517					#[doc = "Poll is not ongoing."]
23518					NotOngoing,
23519					#[codec(index = 1)]
23520					#[doc = "The given account did not vote on the poll."]
23521					NotVoter,
23522					#[codec(index = 2)]
23523					#[doc = "The actor has no permission to conduct the action."]
23524					NoPermission,
23525					#[codec(index = 3)]
23526					#[doc = "The actor has no permission to conduct the action right now but will do in the future."]
23527					NoPermissionYet,
23528					#[codec(index = 4)]
23529					#[doc = "The account is already delegating."]
23530					AlreadyDelegating,
23531					#[codec(index = 5)]
23532					#[doc = "The account currently has votes attached to it and the operation cannot succeed until"]
23533					#[doc = "these are removed through `remove_vote`."]
23534					AlreadyVoting,
23535					#[codec(index = 6)]
23536					#[doc = "Too high a balance was provided that the account cannot afford."]
23537					InsufficientFunds,
23538					#[codec(index = 7)]
23539					#[doc = "The account is not currently delegating."]
23540					NotDelegating,
23541					#[codec(index = 8)]
23542					#[doc = "Delegation to oneself makes no sense."]
23543					Nonsense,
23544					#[codec(index = 9)]
23545					#[doc = "Maximum number of votes reached."]
23546					MaxVotesReached,
23547					#[codec(index = 10)]
23548					#[doc = "The class must be supplied since it is not easily determinable from the state."]
23549					ClassNeeded,
23550					#[codec(index = 11)]
23551					#[doc = "The class ID supplied is invalid."]
23552					BadClass,
23553				}
23554				#[derive(
23555					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23556					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23557					Debug,
23558				)]
23559				#[decode_as_type(
23560					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23561				)]
23562				#[encode_as_type(
23563					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23564				)]
23565				#[doc = "The `Event` enum of this pallet"]
23566				pub enum Event {
23567					#[codec(index = 0)]
23568					#[doc = "An account has delegated their vote to another account. \\[who, target\\]"]
23569					Delegated(
23570						::subxt::ext::subxt_core::utils::AccountId32,
23571						::subxt::ext::subxt_core::utils::AccountId32,
23572						::core::primitive::u16,
23573					),
23574					#[codec(index = 1)]
23575					#[doc = "An \\[account\\] has cancelled a previous delegation operation."]
23576					Undelegated(
23577						::subxt::ext::subxt_core::utils::AccountId32,
23578						::core::primitive::u16,
23579					),
23580					#[codec(index = 2)]
23581					#[doc = "An account has voted"]
23582					Voted {
23583						who: ::subxt::ext::subxt_core::utils::AccountId32,
23584						vote: runtime_types::pallet_conviction_voting::vote::AccountVote<
23585							::core::primitive::u128,
23586						>,
23587						poll_index: ::core::primitive::u32,
23588					},
23589					#[codec(index = 3)]
23590					#[doc = "A vote has been removed"]
23591					VoteRemoved {
23592						who: ::subxt::ext::subxt_core::utils::AccountId32,
23593						vote: runtime_types::pallet_conviction_voting::vote::AccountVote<
23594							::core::primitive::u128,
23595						>,
23596						poll_index: ::core::primitive::u32,
23597					},
23598					#[codec(index = 4)]
23599					#[doc = "The lockup period of a conviction vote expired, and the funds have been unlocked."]
23600					VoteUnlocked {
23601						who: ::subxt::ext::subxt_core::utils::AccountId32,
23602						class: ::core::primitive::u16,
23603					},
23604				}
23605			}
23606			pub mod types {
23607				use super::runtime_types;
23608				#[derive(
23609					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23610					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23611					Debug,
23612				)]
23613				#[decode_as_type(
23614					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23615				)]
23616				#[encode_as_type(
23617					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23618				)]
23619				pub struct Delegations<_0> {
23620					pub votes: _0,
23621					pub capital: _0,
23622				}
23623				#[derive(
23624					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23625					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23626					Debug,
23627				)]
23628				#[decode_as_type(
23629					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23630				)]
23631				#[encode_as_type(
23632					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23633				)]
23634				pub struct Tally<_0> {
23635					pub ayes: _0,
23636					pub nays: _0,
23637					pub support: _0,
23638				}
23639			}
23640			pub mod vote {
23641				use super::runtime_types;
23642				#[derive(
23643					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23644					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23645					Debug,
23646				)]
23647				#[decode_as_type(
23648					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23649				)]
23650				#[encode_as_type(
23651					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23652				)]
23653				pub enum AccountVote<_0> {
23654					#[codec(index = 0)]
23655					Standard {
23656						vote: runtime_types::pallet_conviction_voting::vote::Vote,
23657						balance: _0,
23658					},
23659					#[codec(index = 1)]
23660					Split { aye: _0, nay: _0 },
23661					#[codec(index = 2)]
23662					SplitAbstain { aye: _0, nay: _0, abstain: _0 },
23663				}
23664				#[derive(
23665					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23666					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23667					Debug,
23668				)]
23669				#[decode_as_type(
23670					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23671				)]
23672				#[encode_as_type(
23673					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23674				)]
23675				pub struct Casting<_0, _1, _2> {
23676					pub votes: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
23677						_1,
23678						runtime_types::pallet_conviction_voting::vote::AccountVote<_0>,
23679					)>,
23680					pub delegations:
23681						runtime_types::pallet_conviction_voting::types::Delegations<_0>,
23682					pub prior: runtime_types::pallet_conviction_voting::vote::PriorLock<_1, _0>,
23683					#[codec(skip)]
23684					pub __ignore: ::core::marker::PhantomData<_2>,
23685				}
23686				#[derive(
23687					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23688					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23689					Debug,
23690				)]
23691				#[decode_as_type(
23692					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23693				)]
23694				#[encode_as_type(
23695					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23696				)]
23697				pub struct Delegating<_0, _1, _2> {
23698					pub balance: _0,
23699					pub target: _1,
23700					pub conviction: runtime_types::pallet_conviction_voting::conviction::Conviction,
23701					pub delegations:
23702						runtime_types::pallet_conviction_voting::types::Delegations<_0>,
23703					pub prior: runtime_types::pallet_conviction_voting::vote::PriorLock<_2, _0>,
23704				}
23705				#[derive(
23706					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23707					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23708					Debug,
23709				)]
23710				#[decode_as_type(
23711					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23712				)]
23713				#[encode_as_type(
23714					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23715				)]
23716				pub struct PriorLock<_0, _1>(pub _0, pub _1);
23717				#[derive(
23718					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23719					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23720					Debug,
23721				)]
23722				#[decode_as_type(
23723					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23724				)]
23725				#[encode_as_type(
23726					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23727				)]
23728				pub struct Vote(pub ::core::primitive::u8);
23729				#[derive(
23730					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23731					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23732					Debug,
23733				)]
23734				#[decode_as_type(
23735					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23736				)]
23737				#[encode_as_type(
23738					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23739				)]
23740				pub enum Voting<_0, _1, _2, _3> {
23741					#[codec(index = 0)]
23742					Casting(runtime_types::pallet_conviction_voting::vote::Casting<_0, _2, _2>),
23743					#[codec(index = 1)]
23744					Delegating(
23745						runtime_types::pallet_conviction_voting::vote::Delegating<_0, _1, _2>,
23746					),
23747					__Ignore(::core::marker::PhantomData<_3>),
23748				}
23749			}
23750		}
23751		pub mod pallet_mining_rewards {
23752			use super::runtime_types;
23753			pub mod pallet {
23754				use super::runtime_types;
23755				#[derive(
23756					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23757					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23758					Debug,
23759				)]
23760				#[decode_as_type(
23761					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23762				)]
23763				#[encode_as_type(
23764					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23765				)]
23766				#[doc = "The `Event` enum of this pallet"]
23767				pub enum Event {
23768					#[codec(index = 0)]
23769					#[doc = "A miner has been identified for a block"]
23770					MinerRewarded {
23771						miner: ::subxt::ext::subxt_core::utils::AccountId32,
23772						reward: ::core::primitive::u128,
23773					},
23774					#[codec(index = 1)]
23775					#[doc = "Transaction fees were collected for later distribution"]
23776					FeesCollected {
23777						amount: ::core::primitive::u128,
23778						total: ::core::primitive::u128,
23779					},
23780					#[codec(index = 2)]
23781					#[doc = "Rewards were sent to Treasury when no miner was specified"]
23782					TreasuryRewarded { reward: ::core::primitive::u128 },
23783					#[codec(index = 3)]
23784					#[doc = "Miner reward was redirected to treasury due to mint failure"]
23785					MinerRewardRedirected {
23786						miner: ::subxt::ext::subxt_core::utils::AccountId32,
23787						reward: ::core::primitive::u128,
23788					},
23789				}
23790			}
23791		}
23792		pub mod pallet_multisig {
23793			use super::runtime_types;
23794			pub mod pallet {
23795				use super::runtime_types;
23796				#[derive(
23797					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23798					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23799					Debug,
23800				)]
23801				#[decode_as_type(
23802					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23803				)]
23804				#[encode_as_type(
23805					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23806				)]
23807				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
23808				pub enum Call {
23809					#[codec(index = 0)]
23810					#[doc = "Create a new multisig account with deterministic address"]
23811					#[doc = ""]
23812					#[doc = "Parameters:"]
23813					#[doc = "- `signers`: List of accounts that can sign for this multisig"]
23814					#[doc = "- `threshold`: Number of approvals required to execute transactions"]
23815					#[doc = "- `nonce`: User-provided nonce for address uniqueness"]
23816					#[doc = ""]
23817					#[doc = "The multisig address is deterministically derived from:"]
23818					#[doc = "hash(pallet_id || sorted_signers || threshold || nonce)"]
23819					#[doc = ""]
23820					#[doc = "Signers are automatically sorted before hashing, so order doesn't matter."]
23821					#[doc = ""]
23822					#[doc = "Economic costs:"]
23823					#[doc = "- MultisigFee: burned immediately (spam prevention)"]
23824					#[doc = "- MultisigDeposit: reserved until dissolution, then returned to creator (storage bond)"]
23825					create_multisig {
23826						signers: ::subxt::ext::subxt_core::alloc::vec::Vec<
23827							::subxt::ext::subxt_core::utils::AccountId32,
23828						>,
23829						threshold: ::core::primitive::u32,
23830						nonce: ::core::primitive::u64,
23831					},
23832					#[codec(index = 1)]
23833					#[doc = "Propose a transaction to be executed by the multisig"]
23834					#[doc = ""]
23835					#[doc = "Parameters:"]
23836					#[doc = "- `multisig_address`: The multisig account that will execute the call"]
23837					#[doc = "- `call`: The encoded call to execute"]
23838					#[doc = "- `expiry`: Block number when this proposal expires"]
23839					#[doc = ""]
23840					#[doc = "The proposer must be a signer and must pay:"]
23841					#[doc = "- A deposit (refundable - returned immediately on execution/cancellation)"]
23842					#[doc = "- A fee (non-refundable, burned immediately)"]
23843					#[doc = ""]
23844					#[doc = "**For threshold=1:** The proposal is created with `Approved` status immediately"]
23845					#[doc = "and can be executed via `execute()` without additional approvals."]
23846					#[doc = ""]
23847					#[doc = "**Weight:** Charged upfront for worst-case (high-security path with decode)."]
23848					#[doc = "Refunded to actual cost on success based on whether HS path was taken."]
23849					propose {
23850						multisig_address: ::subxt::ext::subxt_core::utils::AccountId32,
23851						call: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
23852						expiry: ::core::primitive::u32,
23853					},
23854					#[codec(index = 2)]
23855					#[doc = "Approve a proposed transaction"]
23856					#[doc = ""]
23857					#[doc = "If this approval brings the total approvals to or above the threshold,"]
23858					#[doc = "the proposal status changes to `Approved` and can be executed via `execute()`."]
23859					#[doc = ""]
23860					#[doc = "Parameters:"]
23861					#[doc = "- `multisig_address`: The multisig account"]
23862					#[doc = "- `proposal_id`: ID (nonce) of the proposal to approve"]
23863					#[doc = ""]
23864					#[doc = "Weight: Charges for MAX call size, refunds based on actual"]
23865					approve {
23866						multisig_address: ::subxt::ext::subxt_core::utils::AccountId32,
23867						proposal_id: ::core::primitive::u32,
23868					},
23869					#[codec(index = 3)]
23870					#[doc = "Cancel a proposed transaction (only by proposer)"]
23871					#[doc = ""]
23872					#[doc = "Parameters:"]
23873					#[doc = "- `multisig_address`: The multisig account"]
23874					#[doc = "- `proposal_id`: ID (nonce) of the proposal to cancel"]
23875					cancel {
23876						multisig_address: ::subxt::ext::subxt_core::utils::AccountId32,
23877						proposal_id: ::core::primitive::u32,
23878					},
23879					#[codec(index = 4)]
23880					#[doc = "Remove expired proposals and return deposits to proposers"]
23881					#[doc = ""]
23882					#[doc = "Can only be called by signers of the multisig."]
23883					#[doc = "Removes Active or Approved proposals that have expired (past expiry block)."]
23884					#[doc = "Executed and Cancelled proposals are automatically cleaned up immediately."]
23885					#[doc = ""]
23886					#[doc = "Approved+expired proposals can become stuck if proposer is unavailable (e.g. lost"]
23887					#[doc = "keys, compromise). Allowing any signer to remove them prevents permanent deposit"]
23888					#[doc = "lockup and enables multisig dissolution."]
23889					#[doc = ""]
23890					#[doc = "The deposit is always returned to the original proposer, not the caller."]
23891					remove_expired {
23892						multisig_address: ::subxt::ext::subxt_core::utils::AccountId32,
23893						proposal_id: ::core::primitive::u32,
23894					},
23895					#[codec(index = 5)]
23896					#[doc = "Claim all deposits from expired proposals"]
23897					#[doc = ""]
23898					#[doc = "This is a batch operation that removes all expired proposals where:"]
23899					#[doc = "- Caller is the proposer"]
23900					#[doc = "- Proposal is Active or Approved and past expiry block"]
23901					#[doc = ""]
23902					#[doc = "Note: Executed and Cancelled proposals are automatically cleaned up immediately,"]
23903					#[doc = "so only Active+Expired and Approved+Expired proposals need manual cleanup."]
23904					#[doc = ""]
23905					#[doc = "Returns all proposal deposits to the proposer in a single transaction."]
23906					claim_deposits {
23907						multisig_address: ::subxt::ext::subxt_core::utils::AccountId32,
23908					},
23909					#[codec(index = 7)]
23910					#[doc = "Execute an approved proposal"]
23911					#[doc = ""]
23912					#[doc = "Can be called by any signer of the multisig once the proposal has reached"]
23913					#[doc = "the approval threshold (status = Approved). The proposal must not be expired."]
23914					#[doc = ""]
23915					#[doc = "On execution:"]
23916					#[doc = "- The call is decoded and dispatched as the multisig account"]
23917					#[doc = "- Proposal is removed from storage"]
23918					#[doc = "- Deposit is returned to the proposer"]
23919					#[doc = ""]
23920					#[doc = "Parameters:"]
23921					#[doc = "- `multisig_address`: The multisig account"]
23922					#[doc = "- `proposal_id`: ID (nonce) of the proposal to execute"]
23923					execute {
23924						multisig_address: ::subxt::ext::subxt_core::utils::AccountId32,
23925						proposal_id: ::core::primitive::u32,
23926					},
23927					#[codec(index = 6)]
23928					#[doc = "Approve dissolving a multisig account"]
23929					#[doc = ""]
23930					#[doc = "Signers call this to approve dissolving the multisig."]
23931					#[doc = "When threshold is reached, the multisig is automatically dissolved."]
23932					#[doc = ""]
23933					#[doc = "Requirements:"]
23934					#[doc = "- Caller must be a signer"]
23935					#[doc = "- No proposals exist (active, executed, or cancelled) - must be fully cleaned up"]
23936					#[doc = "- Multisig account balance must be zero"]
23937					#[doc = ""]
23938					#[doc = "When threshold is reached:"]
23939					#[doc = "- Deposit is returned to creator"]
23940					#[doc = "- Multisig storage is removed"]
23941					approve_dissolve {
23942						multisig_address: ::subxt::ext::subxt_core::utils::AccountId32,
23943					},
23944				}
23945				#[derive(
23946					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
23947					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
23948					Debug,
23949				)]
23950				#[decode_as_type(
23951					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
23952				)]
23953				#[encode_as_type(
23954					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
23955				)]
23956				#[doc = "The `Error` enum of this pallet."]
23957				pub enum Error {
23958					#[codec(index = 0)]
23959					#[doc = "Not enough signers provided"]
23960					NotEnoughSigners,
23961					#[codec(index = 1)]
23962					#[doc = "Threshold must be greater than zero"]
23963					ThresholdZero,
23964					#[codec(index = 2)]
23965					#[doc = "Threshold exceeds number of signers"]
23966					ThresholdTooHigh,
23967					#[codec(index = 3)]
23968					#[doc = "Too many signers"]
23969					TooManySigners,
23970					#[codec(index = 4)]
23971					#[doc = "Duplicate signer in list"]
23972					DuplicateSigner,
23973					#[codec(index = 5)]
23974					#[doc = "Multisig already exists"]
23975					MultisigAlreadyExists,
23976					#[codec(index = 6)]
23977					#[doc = "Multisig not found"]
23978					MultisigNotFound,
23979					#[codec(index = 7)]
23980					#[doc = "Caller is not a signer of this multisig"]
23981					NotASigner,
23982					#[codec(index = 8)]
23983					#[doc = "Proposal not found"]
23984					ProposalNotFound,
23985					#[codec(index = 9)]
23986					#[doc = "Caller is not the proposer"]
23987					NotProposer,
23988					#[codec(index = 10)]
23989					#[doc = "Already approved by this signer"]
23990					AlreadyApproved,
23991					#[codec(index = 11)]
23992					#[doc = "Not enough approvals to execute"]
23993					NotEnoughApprovals,
23994					#[codec(index = 12)]
23995					#[doc = "Proposal expiry is in the past"]
23996					ExpiryInPast,
23997					#[codec(index = 13)]
23998					#[doc = "Proposal expiry is too far in the future (exceeds MaxExpiryDuration)"]
23999					ExpiryTooFar,
24000					#[codec(index = 14)]
24001					#[doc = "Proposal has expired"]
24002					ProposalExpired,
24003					#[codec(index = 15)]
24004					#[doc = "Call data too large"]
24005					CallTooLarge,
24006					#[codec(index = 16)]
24007					#[doc = "Failed to decode call data"]
24008					InvalidCall,
24009					#[codec(index = 17)]
24010					#[doc = "Too many total proposals in storage for this multisig (cleanup required)"]
24011					TooManyProposalsInStorage,
24012					#[codec(index = 18)]
24013					#[doc = "This signer has too many proposals in storage (filibuster protection)"]
24014					TooManyProposalsPerSigner,
24015					#[codec(index = 19)]
24016					#[doc = "Insufficient balance for deposit"]
24017					InsufficientBalance,
24018					#[codec(index = 20)]
24019					#[doc = "Proposal has active deposit"]
24020					ProposalHasDeposit,
24021					#[codec(index = 21)]
24022					#[doc = "Proposal has not expired yet"]
24023					ProposalNotExpired,
24024					#[codec(index = 22)]
24025					#[doc = "Proposal is not active (already executed or cancelled)"]
24026					ProposalNotActive,
24027					#[codec(index = 23)]
24028					#[doc = "Proposal has not been approved yet (threshold not reached)"]
24029					ProposalNotApproved,
24030					#[codec(index = 24)]
24031					#[doc = "Cannot dissolve multisig with existing proposals (clear them first)"]
24032					ProposalsExist,
24033					#[codec(index = 25)]
24034					#[doc = "Multisig account must have zero balance before dissolution"]
24035					MultisigAccountNotZero,
24036					#[codec(index = 26)]
24037					#[doc = "Call is not allowed for high-security multisig"]
24038					CallNotAllowedForHighSecurityMultisig,
24039				}
24040				#[derive(
24041					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24042					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24043					Debug,
24044				)]
24045				#[decode_as_type(
24046					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24047				)]
24048				#[encode_as_type(
24049					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24050				)]
24051				#[doc = "The `Event` enum of this pallet"]
24052				pub enum Event {
24053					#[codec(index = 0)]
24054					#[doc = "A new multisig account was created"]
24055					#[doc = "[creator, multisig_address, signers, threshold, nonce]"]
24056					MultisigCreated {
24057						creator: ::subxt::ext::subxt_core::utils::AccountId32,
24058						multisig_address: ::subxt::ext::subxt_core::utils::AccountId32,
24059						signers: ::subxt::ext::subxt_core::alloc::vec::Vec<
24060							::subxt::ext::subxt_core::utils::AccountId32,
24061						>,
24062						threshold: ::core::primitive::u32,
24063						nonce: ::core::primitive::u64,
24064					},
24065					#[codec(index = 1)]
24066					#[doc = "A proposal has been created"]
24067					ProposalCreated {
24068						multisig_address: ::subxt::ext::subxt_core::utils::AccountId32,
24069						proposer: ::subxt::ext::subxt_core::utils::AccountId32,
24070						proposal_id: ::core::primitive::u32,
24071					},
24072					#[codec(index = 2)]
24073					#[doc = "A proposal has been approved by a signer"]
24074					ProposalApproved {
24075						multisig_address: ::subxt::ext::subxt_core::utils::AccountId32,
24076						approver: ::subxt::ext::subxt_core::utils::AccountId32,
24077						proposal_id: ::core::primitive::u32,
24078						approvals_count: ::core::primitive::u32,
24079					},
24080					#[codec(index = 3)]
24081					#[doc = "A proposal has reached threshold and is ready to execute"]
24082					ProposalReadyToExecute {
24083						multisig_address: ::subxt::ext::subxt_core::utils::AccountId32,
24084						proposal_id: ::core::primitive::u32,
24085						approvals_count: ::core::primitive::u32,
24086					},
24087					#[codec(index = 4)]
24088					#[doc = "A proposal has been executed"]
24089					#[doc = "Contains all data needed for indexing by SubSquid"]
24090					ProposalExecuted {
24091						multisig_address: ::subxt::ext::subxt_core::utils::AccountId32,
24092						proposal_id: ::core::primitive::u32,
24093						proposer: ::subxt::ext::subxt_core::utils::AccountId32,
24094						call: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
24095						approvers: ::subxt::ext::subxt_core::alloc::vec::Vec<
24096							::subxt::ext::subxt_core::utils::AccountId32,
24097						>,
24098						result:
24099							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
24100					},
24101					#[codec(index = 5)]
24102					#[doc = "A proposal has been cancelled by the proposer"]
24103					ProposalCancelled {
24104						multisig_address: ::subxt::ext::subxt_core::utils::AccountId32,
24105						proposer: ::subxt::ext::subxt_core::utils::AccountId32,
24106						proposal_id: ::core::primitive::u32,
24107					},
24108					#[codec(index = 6)]
24109					#[doc = "Expired proposal was removed from storage"]
24110					ProposalRemoved {
24111						multisig_address: ::subxt::ext::subxt_core::utils::AccountId32,
24112						proposal_id: ::core::primitive::u32,
24113						proposer: ::subxt::ext::subxt_core::utils::AccountId32,
24114						removed_by: ::subxt::ext::subxt_core::utils::AccountId32,
24115					},
24116					#[codec(index = 7)]
24117					#[doc = "Batch deposits claimed"]
24118					DepositsClaimed {
24119						multisig_address: ::subxt::ext::subxt_core::utils::AccountId32,
24120						claimer: ::subxt::ext::subxt_core::utils::AccountId32,
24121						total_returned: ::core::primitive::u128,
24122						proposals_removed: ::core::primitive::u32,
24123						multisig_removed: ::core::primitive::bool,
24124					},
24125					#[codec(index = 8)]
24126					#[doc = "A signer approved dissolving the multisig"]
24127					DissolveApproved {
24128						multisig_address: ::subxt::ext::subxt_core::utils::AccountId32,
24129						approver: ::subxt::ext::subxt_core::utils::AccountId32,
24130						approvals_count: ::core::primitive::u32,
24131					},
24132					#[codec(index = 9)]
24133					#[doc = "A multisig account was dissolved (threshold reached)"]
24134					MultisigDissolved {
24135						multisig_address: ::subxt::ext::subxt_core::utils::AccountId32,
24136						deposit_returned: ::subxt::ext::subxt_core::utils::AccountId32,
24137						approvers: ::subxt::ext::subxt_core::alloc::vec::Vec<
24138							::subxt::ext::subxt_core::utils::AccountId32,
24139						>,
24140					},
24141				}
24142			}
24143			#[derive(
24144				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24145				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24146				Debug,
24147			)]
24148			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24149			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24150			pub struct MultisigData<_0, _1, _2, _3> {
24151				pub creator: _0,
24152				pub signers: _1,
24153				pub threshold: ::core::primitive::u32,
24154				pub proposal_nonce: ::core::primitive::u32,
24155				pub deposit: _2,
24156				pub active_proposals: ::core::primitive::u32,
24157				pub proposals_per_signer: _3,
24158			}
24159			#[derive(
24160				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24161				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24162				Debug,
24163			)]
24164			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24165			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24166			pub struct ProposalData<_0, _1, _2, _3, _4> {
24167				pub proposer: _0,
24168				pub call: _3,
24169				pub expiry: _2,
24170				pub approvals: _4,
24171				pub deposit: _1,
24172				pub status: runtime_types::pallet_multisig::ProposalStatus,
24173			}
24174			#[derive(
24175				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24176				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24177				Debug,
24178			)]
24179			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24180			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24181			pub enum ProposalStatus {
24182				#[codec(index = 0)]
24183				Active,
24184				#[codec(index = 1)]
24185				Approved,
24186				#[codec(index = 2)]
24187				Executed,
24188				#[codec(index = 3)]
24189				Cancelled,
24190			}
24191		}
24192		pub mod pallet_preimage {
24193			use super::runtime_types;
24194			pub mod pallet {
24195				use super::runtime_types;
24196				#[derive(
24197					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24198					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24199					Debug,
24200				)]
24201				#[decode_as_type(
24202					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24203				)]
24204				#[encode_as_type(
24205					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24206				)]
24207				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
24208				pub enum Call {
24209					#[codec(index = 0)]
24210					#[doc = "Register a preimage on-chain."]
24211					#[doc = ""]
24212					#[doc = "If the preimage was previously requested, no fees or deposits are taken for providing"]
24213					#[doc = "the preimage. Otherwise, a deposit is taken proportional to the size of the preimage."]
24214					note_preimage {
24215						bytes: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
24216					},
24217					#[codec(index = 1)]
24218					#[doc = "Clear an unrequested preimage from the runtime storage."]
24219					#[doc = ""]
24220					#[doc = "If `len` is provided, then it will be a much cheaper operation."]
24221					#[doc = ""]
24222					#[doc = "- `hash`: The hash of the preimage to be removed from the store."]
24223					#[doc = "- `len`: The length of the preimage of `hash`."]
24224					unnote_preimage { hash: ::subxt::ext::subxt_core::utils::H256 },
24225					#[codec(index = 2)]
24226					#[doc = "Request a preimage be uploaded to the chain without paying any fees or deposits."]
24227					#[doc = ""]
24228					#[doc = "If the preimage requests has already been provided on-chain, we unreserve any deposit"]
24229					#[doc = "a user may have paid, and take the control of the preimage out of their hands."]
24230					request_preimage { hash: ::subxt::ext::subxt_core::utils::H256 },
24231					#[codec(index = 3)]
24232					#[doc = "Clear a previously made request for a preimage."]
24233					#[doc = ""]
24234					#[doc = "NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`."]
24235					unrequest_preimage { hash: ::subxt::ext::subxt_core::utils::H256 },
24236					#[codec(index = 4)]
24237					#[doc = "Ensure that the bulk of pre-images is upgraded."]
24238					#[doc = ""]
24239					#[doc = "The caller pays no fee if at least 90% of pre-images were successfully updated."]
24240					ensure_updated {
24241						hashes: ::subxt::ext::subxt_core::alloc::vec::Vec<
24242							::subxt::ext::subxt_core::utils::H256,
24243						>,
24244					},
24245				}
24246				#[derive(
24247					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24248					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24249					Debug,
24250				)]
24251				#[decode_as_type(
24252					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24253				)]
24254				#[encode_as_type(
24255					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24256				)]
24257				#[doc = "The `Error` enum of this pallet."]
24258				pub enum Error {
24259					#[codec(index = 0)]
24260					#[doc = "Preimage is too large to store on-chain."]
24261					TooBig,
24262					#[codec(index = 1)]
24263					#[doc = "Preimage has already been noted on-chain."]
24264					AlreadyNoted,
24265					#[codec(index = 2)]
24266					#[doc = "The user is not authorized to perform this action."]
24267					NotAuthorized,
24268					#[codec(index = 3)]
24269					#[doc = "The preimage cannot be removed since it has not yet been noted."]
24270					NotNoted,
24271					#[codec(index = 4)]
24272					#[doc = "A preimage may not be removed when there are outstanding requests."]
24273					Requested,
24274					#[codec(index = 5)]
24275					#[doc = "The preimage request cannot be removed since no outstanding requests exist."]
24276					NotRequested,
24277					#[codec(index = 6)]
24278					#[doc = "More than `MAX_HASH_UPGRADE_BULK_COUNT` hashes were requested to be upgraded at once."]
24279					TooMany,
24280					#[codec(index = 7)]
24281					#[doc = "Too few hashes were requested to be upgraded (i.e. zero)."]
24282					TooFew,
24283				}
24284				#[derive(
24285					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24286					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24287					Debug,
24288				)]
24289				#[decode_as_type(
24290					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24291				)]
24292				#[encode_as_type(
24293					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24294				)]
24295				#[doc = "The `Event` enum of this pallet"]
24296				pub enum Event {
24297					#[codec(index = 0)]
24298					#[doc = "A preimage has been noted."]
24299					Noted { hash: ::subxt::ext::subxt_core::utils::H256 },
24300					#[codec(index = 1)]
24301					#[doc = "A preimage has been requested."]
24302					Requested { hash: ::subxt::ext::subxt_core::utils::H256 },
24303					#[codec(index = 2)]
24304					#[doc = "A preimage has ben cleared."]
24305					Cleared { hash: ::subxt::ext::subxt_core::utils::H256 },
24306				}
24307				#[derive(
24308					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24309					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24310					Debug,
24311				)]
24312				#[decode_as_type(
24313					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24314				)]
24315				#[encode_as_type(
24316					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24317				)]
24318				pub enum HoldReason {
24319					#[codec(index = 0)]
24320					Preimage,
24321				}
24322			}
24323			#[derive(
24324				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24325				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24326				Debug,
24327			)]
24328			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24329			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24330			pub enum OldRequestStatus<_0, _1> {
24331				#[codec(index = 0)]
24332				Unrequested { deposit: (_0, _1), len: ::core::primitive::u32 },
24333				#[codec(index = 1)]
24334				Requested {
24335					deposit: ::core::option::Option<(_0, _1)>,
24336					count: ::core::primitive::u32,
24337					len: ::core::option::Option<::core::primitive::u32>,
24338				},
24339			}
24340			#[derive(
24341				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24342				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24343				Debug,
24344			)]
24345			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24346			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24347			pub enum RequestStatus<_0, _1> {
24348				#[codec(index = 0)]
24349				Unrequested { ticket: (_0, _1), len: ::core::primitive::u32 },
24350				#[codec(index = 1)]
24351				Requested {
24352					maybe_ticket: ::core::option::Option<(_0, _1)>,
24353					count: ::core::primitive::u32,
24354					maybe_len: ::core::option::Option<::core::primitive::u32>,
24355				},
24356			}
24357		}
24358		pub mod pallet_qpow {
24359			use super::runtime_types;
24360			pub mod pallet {
24361				use super::runtime_types;
24362				#[derive(
24363					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24364					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24365					Debug,
24366				)]
24367				#[decode_as_type(
24368					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24369				)]
24370				#[encode_as_type(
24371					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24372				)]
24373				#[doc = "The `Event` enum of this pallet"]
24374				pub enum Event {
24375					#[codec(index = 0)]
24376					ProofSubmitted {
24377						nonce: [::core::primitive::u8; 64usize],
24378						difficulty: runtime_types::primitive_types::U512,
24379						hash_achieved: runtime_types::primitive_types::U512,
24380					},
24381					#[codec(index = 1)]
24382					DifficultyAdjusted {
24383						old_difficulty: runtime_types::primitive_types::U512,
24384						new_difficulty: runtime_types::primitive_types::U512,
24385						observed_block_time: ::core::primitive::u64,
24386					},
24387				}
24388			}
24389		}
24390		pub mod pallet_ranked_collective {
24391			use super::runtime_types;
24392			pub mod pallet {
24393				use super::runtime_types;
24394				#[derive(
24395					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24396					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24397					Debug,
24398				)]
24399				#[decode_as_type(
24400					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24401				)]
24402				#[encode_as_type(
24403					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24404				)]
24405				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
24406				pub enum Call {
24407					#[codec(index = 0)]
24408					#[doc = "Introduce a new member."]
24409					#[doc = ""]
24410					#[doc = "- `origin`: Must be the `AddOrigin`."]
24411					#[doc = "- `who`: Account of non-member which will become a member."]
24412					#[doc = ""]
24413					#[doc = "Weight: `O(1)`"]
24414					add_member {
24415						who: ::subxt::ext::subxt_core::utils::MultiAddress<
24416							::subxt::ext::subxt_core::utils::AccountId32,
24417							(),
24418						>,
24419					},
24420					#[codec(index = 1)]
24421					#[doc = "Increment the rank of an existing member by one."]
24422					#[doc = ""]
24423					#[doc = "- `origin`: Must be the `PromoteOrigin`."]
24424					#[doc = "- `who`: Account of existing member."]
24425					#[doc = ""]
24426					#[doc = "Weight: `O(1)`"]
24427					promote_member {
24428						who: ::subxt::ext::subxt_core::utils::MultiAddress<
24429							::subxt::ext::subxt_core::utils::AccountId32,
24430							(),
24431						>,
24432					},
24433					#[codec(index = 2)]
24434					#[doc = "Decrement the rank of an existing member by one. If the member is already at rank zero,"]
24435					#[doc = "then they are removed entirely."]
24436					#[doc = ""]
24437					#[doc = "- `origin`: Must be the `DemoteOrigin`."]
24438					#[doc = "- `who`: Account of existing member of rank greater than zero."]
24439					#[doc = ""]
24440					#[doc = "Weight: `O(1)`, less if the member's index is highest in its rank."]
24441					demote_member {
24442						who: ::subxt::ext::subxt_core::utils::MultiAddress<
24443							::subxt::ext::subxt_core::utils::AccountId32,
24444							(),
24445						>,
24446					},
24447					#[codec(index = 3)]
24448					#[doc = "Remove the member entirely."]
24449					#[doc = ""]
24450					#[doc = "- `origin`: Must be the `RemoveOrigin`."]
24451					#[doc = "- `who`: Account of existing member of rank greater than zero."]
24452					#[doc = "- `min_rank`: The rank of the member or greater."]
24453					#[doc = ""]
24454					#[doc = "Weight: `O(min_rank)`."]
24455					remove_member {
24456						who: ::subxt::ext::subxt_core::utils::MultiAddress<
24457							::subxt::ext::subxt_core::utils::AccountId32,
24458							(),
24459						>,
24460						min_rank: ::core::primitive::u16,
24461					},
24462					#[codec(index = 4)]
24463					#[doc = "Add an aye or nay vote for the sender to the given proposal."]
24464					#[doc = ""]
24465					#[doc = "- `origin`: Must be `Signed` by a member account."]
24466					#[doc = "- `poll`: Index of a poll which is ongoing."]
24467					#[doc = "- `aye`: `true` if the vote is to approve the proposal, `false` otherwise."]
24468					#[doc = ""]
24469					#[doc = "Transaction fees are be waived if the member is voting on any particular proposal"]
24470					#[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"]
24471					#[doc = "fee."]
24472					#[doc = ""]
24473					#[doc = "Weight: `O(1)`, less if there was no previous vote on the poll by the member."]
24474					vote { poll: ::core::primitive::u32, aye: ::core::primitive::bool },
24475					#[codec(index = 5)]
24476					#[doc = "Remove votes from the given poll. It must have ended."]
24477					#[doc = ""]
24478					#[doc = "- `origin`: Must be `Signed` by any account."]
24479					#[doc = "- `poll_index`: Index of a poll which is completed and for which votes continue to"]
24480					#[doc = "  exist."]
24481					#[doc = "- `max`: Maximum number of vote items from remove in this call."]
24482					#[doc = ""]
24483					#[doc = "Transaction fees are waived if the operation is successful."]
24484					#[doc = ""]
24485					#[doc = "Weight `O(max)` (less if there are fewer items to remove than `max`)."]
24486					cleanup_poll { poll_index: ::core::primitive::u32, max: ::core::primitive::u32 },
24487					#[codec(index = 6)]
24488					#[doc = "Exchanges a member with a new account and the same existing rank."]
24489					#[doc = ""]
24490					#[doc = "- `origin`: Must be the `ExchangeOrigin`."]
24491					#[doc = "- `who`: Account of existing member of rank greater than zero to be exchanged."]
24492					#[doc = "- `new_who`: New Account of existing member of rank greater than zero to exchanged to."]
24493					exchange_member {
24494						who: ::subxt::ext::subxt_core::utils::MultiAddress<
24495							::subxt::ext::subxt_core::utils::AccountId32,
24496							(),
24497						>,
24498						new_who: ::subxt::ext::subxt_core::utils::MultiAddress<
24499							::subxt::ext::subxt_core::utils::AccountId32,
24500							(),
24501						>,
24502					},
24503				}
24504				#[derive(
24505					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24506					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24507					Debug,
24508				)]
24509				#[decode_as_type(
24510					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24511				)]
24512				#[encode_as_type(
24513					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24514				)]
24515				#[doc = "The `Error` enum of this pallet."]
24516				pub enum Error {
24517					#[codec(index = 0)]
24518					#[doc = "Account is already a member."]
24519					AlreadyMember,
24520					#[codec(index = 1)]
24521					#[doc = "Account is not a member."]
24522					NotMember,
24523					#[codec(index = 2)]
24524					#[doc = "The given poll index is unknown or has closed."]
24525					NotPolling,
24526					#[codec(index = 3)]
24527					#[doc = "The given poll is still ongoing."]
24528					Ongoing,
24529					#[codec(index = 4)]
24530					#[doc = "There are no further records to be removed."]
24531					NoneRemaining,
24532					#[codec(index = 5)]
24533					#[doc = "Unexpected error in state."]
24534					Corruption,
24535					#[codec(index = 6)]
24536					#[doc = "The member's rank is too low to vote."]
24537					RankTooLow,
24538					#[codec(index = 7)]
24539					#[doc = "The information provided is incorrect."]
24540					InvalidWitness,
24541					#[codec(index = 8)]
24542					#[doc = "The origin is not sufficiently privileged to do the operation."]
24543					NoPermission,
24544					#[codec(index = 9)]
24545					#[doc = "The new member to exchange is the same as the old member"]
24546					SameMember,
24547					#[codec(index = 10)]
24548					#[doc = "The max member count for the rank has been reached."]
24549					TooManyMembers,
24550				}
24551				#[derive(
24552					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24553					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24554					Debug,
24555				)]
24556				#[decode_as_type(
24557					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24558				)]
24559				#[encode_as_type(
24560					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24561				)]
24562				#[doc = "The `Event` enum of this pallet"]
24563				pub enum Event {
24564					#[codec(index = 0)]
24565					#[doc = "A member `who` has been added."]
24566					MemberAdded { who: ::subxt::ext::subxt_core::utils::AccountId32 },
24567					#[codec(index = 1)]
24568					#[doc = "The member `who`se rank has been changed to the given `rank`."]
24569					RankChanged {
24570						who: ::subxt::ext::subxt_core::utils::AccountId32,
24571						rank: ::core::primitive::u16,
24572					},
24573					#[codec(index = 2)]
24574					#[doc = "The member `who` of given `rank` has been removed from the collective."]
24575					MemberRemoved {
24576						who: ::subxt::ext::subxt_core::utils::AccountId32,
24577						rank: ::core::primitive::u16,
24578					},
24579					#[codec(index = 3)]
24580					#[doc = "The member `who` has voted for the `poll` with the given `vote` leading to an updated"]
24581					#[doc = "`tally`."]
24582					Voted {
24583						who: ::subxt::ext::subxt_core::utils::AccountId32,
24584						poll: ::core::primitive::u32,
24585						vote: runtime_types::pallet_ranked_collective::VoteRecord,
24586						tally: runtime_types::pallet_ranked_collective::Tally,
24587					},
24588					#[codec(index = 4)]
24589					#[doc = "The member `who` had their `AccountId` changed to `new_who`."]
24590					MemberExchanged {
24591						who: ::subxt::ext::subxt_core::utils::AccountId32,
24592						new_who: ::subxt::ext::subxt_core::utils::AccountId32,
24593					},
24594				}
24595			}
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(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24602			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24603			pub struct MemberRecord {
24604				pub rank: ::core::primitive::u16,
24605			}
24606			#[derive(
24607				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24608				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24609				Debug,
24610			)]
24611			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24612			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24613			pub struct Tally {
24614				pub bare_ayes: ::core::primitive::u32,
24615				pub ayes: ::core::primitive::u32,
24616				pub nays: ::core::primitive::u32,
24617			}
24618			#[derive(
24619				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24620				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24621				Debug,
24622			)]
24623			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24624			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24625			pub enum VoteRecord {
24626				#[codec(index = 0)]
24627				Aye(::core::primitive::u32),
24628				#[codec(index = 1)]
24629				Nay(::core::primitive::u32),
24630			}
24631		}
24632		pub mod pallet_recovery {
24633			use super::runtime_types;
24634			pub mod pallet {
24635				use super::runtime_types;
24636				#[derive(
24637					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24638					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24639					Debug,
24640				)]
24641				#[decode_as_type(
24642					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24643				)]
24644				#[encode_as_type(
24645					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24646				)]
24647				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
24648				pub enum Call {
24649					#[codec(index = 0)]
24650					#[doc = "Send a call through a recovered account."]
24651					#[doc = ""]
24652					#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
24653					#[doc = "be able to make calls on behalf of the recovered account."]
24654					#[doc = ""]
24655					#[doc = "Parameters:"]
24656					#[doc = "- `account`: The recovered account you want to make a call on-behalf-of."]
24657					#[doc = "- `call`: The call you want to make with the recovered account."]
24658					as_recovered {
24659						account: ::subxt::ext::subxt_core::utils::MultiAddress<
24660							::subxt::ext::subxt_core::utils::AccountId32,
24661							(),
24662						>,
24663						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
24664							runtime_types::quantus_runtime::RuntimeCall,
24665						>,
24666					},
24667					#[codec(index = 1)]
24668					#[doc = "Allow ROOT to bypass the recovery process and set a rescuer account"]
24669					#[doc = "for a lost account directly."]
24670					#[doc = ""]
24671					#[doc = "The dispatch origin for this call must be _ROOT_."]
24672					#[doc = ""]
24673					#[doc = "Parameters:"]
24674					#[doc = "- `lost`: The \"lost account\" to be recovered."]
24675					#[doc = "- `rescuer`: The \"rescuer account\" which can call as the lost account."]
24676					set_recovered {
24677						lost: ::subxt::ext::subxt_core::utils::MultiAddress<
24678							::subxt::ext::subxt_core::utils::AccountId32,
24679							(),
24680						>,
24681						rescuer: ::subxt::ext::subxt_core::utils::MultiAddress<
24682							::subxt::ext::subxt_core::utils::AccountId32,
24683							(),
24684						>,
24685					},
24686					#[codec(index = 2)]
24687					#[doc = "Create a recovery configuration for your account. This makes your account recoverable."]
24688					#[doc = ""]
24689					#[doc = "Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance"]
24690					#[doc = "will be reserved for storing the recovery configuration. This deposit is returned"]
24691					#[doc = "in full when the user calls `remove_recovery`."]
24692					#[doc = ""]
24693					#[doc = "The dispatch origin for this call must be _Signed_."]
24694					#[doc = ""]
24695					#[doc = "Parameters:"]
24696					#[doc = "- `friends`: A list of friends you trust to vouch for recovery attempts. Should be"]
24697					#[doc = "  ordered and contain no duplicate values."]
24698					#[doc = "- `threshold`: The number of friends that must vouch for a recovery attempt before the"]
24699					#[doc = "  account can be recovered. Should be less than or equal to the length of the list of"]
24700					#[doc = "  friends."]
24701					#[doc = "- `delay_period`: The number of blocks after a recovery attempt is initialized that"]
24702					#[doc = "  needs to pass before the account can be recovered."]
24703					create_recovery {
24704						friends: ::subxt::ext::subxt_core::alloc::vec::Vec<
24705							::subxt::ext::subxt_core::utils::AccountId32,
24706						>,
24707						threshold: ::core::primitive::u16,
24708						delay_period: ::core::primitive::u32,
24709					},
24710					#[codec(index = 3)]
24711					#[doc = "Initiate the process for recovering a recoverable account."]
24712					#[doc = ""]
24713					#[doc = "Payment: `RecoveryDeposit` balance will be reserved for initiating the"]
24714					#[doc = "recovery process. This deposit will always be repatriated to the account"]
24715					#[doc = "trying to be recovered. See `close_recovery`."]
24716					#[doc = ""]
24717					#[doc = "The dispatch origin for this call must be _Signed_."]
24718					#[doc = ""]
24719					#[doc = "Parameters:"]
24720					#[doc = "- `account`: The lost account that you want to recover. This account needs to be"]
24721					#[doc = "  recoverable (i.e. have a recovery configuration)."]
24722					initiate_recovery {
24723						account: ::subxt::ext::subxt_core::utils::MultiAddress<
24724							::subxt::ext::subxt_core::utils::AccountId32,
24725							(),
24726						>,
24727					},
24728					#[codec(index = 4)]
24729					#[doc = "Allow a \"friend\" of a recoverable account to vouch for an active recovery"]
24730					#[doc = "process for that account."]
24731					#[doc = ""]
24732					#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"friend\""]
24733					#[doc = "for the recoverable account."]
24734					#[doc = ""]
24735					#[doc = "Parameters:"]
24736					#[doc = "- `lost`: The lost account that you want to recover."]
24737					#[doc = "- `rescuer`: The account trying to rescue the lost account that you want to vouch for."]
24738					#[doc = ""]
24739					#[doc = "The combination of these two parameters must point to an active recovery"]
24740					#[doc = "process."]
24741					vouch_recovery {
24742						lost: ::subxt::ext::subxt_core::utils::MultiAddress<
24743							::subxt::ext::subxt_core::utils::AccountId32,
24744							(),
24745						>,
24746						rescuer: ::subxt::ext::subxt_core::utils::MultiAddress<
24747							::subxt::ext::subxt_core::utils::AccountId32,
24748							(),
24749						>,
24750					},
24751					#[codec(index = 5)]
24752					#[doc = "Allow a successful rescuer to claim their recovered account."]
24753					#[doc = ""]
24754					#[doc = "The dispatch origin for this call must be _Signed_ and must be a \"rescuer\""]
24755					#[doc = "who has successfully completed the account recovery process: collected"]
24756					#[doc = "`threshold` or more vouches, waited `delay_period` blocks since initiation."]
24757					#[doc = ""]
24758					#[doc = "Parameters:"]
24759					#[doc = "- `account`: The lost account that you want to claim has been successfully recovered by"]
24760					#[doc = "  you."]
24761					claim_recovery {
24762						account: ::subxt::ext::subxt_core::utils::MultiAddress<
24763							::subxt::ext::subxt_core::utils::AccountId32,
24764							(),
24765						>,
24766					},
24767					#[codec(index = 6)]
24768					#[doc = "As the controller of a recoverable account, close an active recovery"]
24769					#[doc = "process for your account."]
24770					#[doc = ""]
24771					#[doc = "Payment: By calling this function, the recoverable account will receive"]
24772					#[doc = "the recovery deposit `RecoveryDeposit` placed by the rescuer."]
24773					#[doc = ""]
24774					#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
24775					#[doc = "recoverable account with an active recovery process for it."]
24776					#[doc = ""]
24777					#[doc = "Parameters:"]
24778					#[doc = "- `rescuer`: The account trying to rescue this recoverable account."]
24779					close_recovery {
24780						rescuer: ::subxt::ext::subxt_core::utils::MultiAddress<
24781							::subxt::ext::subxt_core::utils::AccountId32,
24782							(),
24783						>,
24784					},
24785					#[codec(index = 7)]
24786					#[doc = "Remove the recovery process for your account. Recovered accounts are still accessible."]
24787					#[doc = ""]
24788					#[doc = "NOTE: The user must make sure to call `close_recovery` on all active"]
24789					#[doc = "recovery attempts before calling this function else it will fail."]
24790					#[doc = ""]
24791					#[doc = "Payment: By calling this function the recoverable account will unreserve"]
24792					#[doc = "their recovery configuration deposit."]
24793					#[doc = "(`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)"]
24794					#[doc = ""]
24795					#[doc = "The dispatch origin for this call must be _Signed_ and must be a"]
24796					#[doc = "recoverable account (i.e. has a recovery configuration)."]
24797					remove_recovery,
24798					#[codec(index = 8)]
24799					#[doc = "Cancel the ability to use `as_recovered` for `account`."]
24800					#[doc = ""]
24801					#[doc = "The dispatch origin for this call must be _Signed_ and registered to"]
24802					#[doc = "be able to make calls on behalf of the recovered account."]
24803					#[doc = ""]
24804					#[doc = "Parameters:"]
24805					#[doc = "- `account`: The recovered account you are able to call on-behalf-of."]
24806					cancel_recovered {
24807						account: ::subxt::ext::subxt_core::utils::MultiAddress<
24808							::subxt::ext::subxt_core::utils::AccountId32,
24809							(),
24810						>,
24811					},
24812					#[codec(index = 9)]
24813					#[doc = "Poke deposits for recovery configurations and / or active recoveries."]
24814					#[doc = ""]
24815					#[doc = "This can be used by accounts to possibly lower their locked amount."]
24816					#[doc = ""]
24817					#[doc = "The dispatch origin for this call must be _Signed_."]
24818					#[doc = ""]
24819					#[doc = "Parameters:"]
24820					#[doc = "- `maybe_account`: Optional recoverable account for which you have an active recovery"]
24821					#[doc = "and want to adjust the deposit for the active recovery."]
24822					#[doc = ""]
24823					#[doc = "This function checks both recovery configuration deposit and active recovery deposits"]
24824					#[doc = "of the caller:"]
24825					#[doc = "- If the caller has created a recovery configuration, checks and adjusts its deposit"]
24826					#[doc = "- If the caller has initiated any active recoveries, and provides the account in"]
24827					#[doc = "`maybe_account`, checks and adjusts those deposits"]
24828					#[doc = ""]
24829					#[doc = "If any deposit is updated, the difference will be reserved/unreserved from the caller's"]
24830					#[doc = "account."]
24831					#[doc = ""]
24832					#[doc = "The transaction is made free if any deposit is updated and paid otherwise."]
24833					#[doc = ""]
24834					#[doc = "Emits `DepositPoked` if any deposit is updated."]
24835					#[doc = "Multiple events may be emitted in case both types of deposits are updated."]
24836					poke_deposit {
24837						maybe_account: ::core::option::Option<
24838							::subxt::ext::subxt_core::utils::MultiAddress<
24839								::subxt::ext::subxt_core::utils::AccountId32,
24840								(),
24841							>,
24842						>,
24843					},
24844				}
24845				#[derive(
24846					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24847					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24848					Debug,
24849				)]
24850				#[decode_as_type(
24851					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24852				)]
24853				#[encode_as_type(
24854					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24855				)]
24856				#[doc = "The `Error` enum of this pallet."]
24857				pub enum Error {
24858					#[codec(index = 0)]
24859					#[doc = "User is not allowed to make a call on behalf of this account"]
24860					NotAllowed,
24861					#[codec(index = 1)]
24862					#[doc = "Threshold must be greater than zero"]
24863					ZeroThreshold,
24864					#[codec(index = 2)]
24865					#[doc = "Friends list must be greater than zero and threshold"]
24866					NotEnoughFriends,
24867					#[codec(index = 3)]
24868					#[doc = "Friends list must be less than max friends"]
24869					MaxFriends,
24870					#[codec(index = 4)]
24871					#[doc = "Friends list must be sorted and free of duplicates"]
24872					NotSorted,
24873					#[codec(index = 5)]
24874					#[doc = "This account is not set up for recovery"]
24875					NotRecoverable,
24876					#[codec(index = 6)]
24877					#[doc = "This account is already set up for recovery"]
24878					AlreadyRecoverable,
24879					#[codec(index = 7)]
24880					#[doc = "A recovery process has already started for this account"]
24881					AlreadyStarted,
24882					#[codec(index = 8)]
24883					#[doc = "A recovery process has not started for this rescuer"]
24884					NotStarted,
24885					#[codec(index = 9)]
24886					#[doc = "This account is not a friend who can vouch"]
24887					NotFriend,
24888					#[codec(index = 10)]
24889					#[doc = "The friend must wait until the delay period to vouch for this recovery"]
24890					DelayPeriod,
24891					#[codec(index = 11)]
24892					#[doc = "This user has already vouched for this recovery"]
24893					AlreadyVouched,
24894					#[codec(index = 12)]
24895					#[doc = "The threshold for recovering this account has not been met"]
24896					Threshold,
24897					#[codec(index = 13)]
24898					#[doc = "There are still active recovery attempts that need to be closed"]
24899					StillActive,
24900					#[codec(index = 14)]
24901					#[doc = "This account is already set up for recovery"]
24902					AlreadyProxy,
24903					#[codec(index = 15)]
24904					#[doc = "Some internal state is broken."]
24905					BadState,
24906				}
24907				#[derive(
24908					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24909					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24910					Debug,
24911				)]
24912				#[decode_as_type(
24913					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
24914				)]
24915				#[encode_as_type(
24916					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
24917				)]
24918				#[doc = "Events type."]
24919				pub enum Event {
24920					#[codec(index = 0)]
24921					#[doc = "A recovery process has been set up for an account."]
24922					RecoveryCreated { account: ::subxt::ext::subxt_core::utils::AccountId32 },
24923					#[codec(index = 1)]
24924					#[doc = "A recovery process has been initiated for lost account by rescuer account."]
24925					RecoveryInitiated {
24926						lost_account: ::subxt::ext::subxt_core::utils::AccountId32,
24927						rescuer_account: ::subxt::ext::subxt_core::utils::AccountId32,
24928					},
24929					#[codec(index = 2)]
24930					#[doc = "A recovery process for lost account by rescuer account has been vouched for by sender."]
24931					RecoveryVouched {
24932						lost_account: ::subxt::ext::subxt_core::utils::AccountId32,
24933						rescuer_account: ::subxt::ext::subxt_core::utils::AccountId32,
24934						sender: ::subxt::ext::subxt_core::utils::AccountId32,
24935					},
24936					#[codec(index = 3)]
24937					#[doc = "A recovery process for lost account by rescuer account has been closed."]
24938					RecoveryClosed {
24939						lost_account: ::subxt::ext::subxt_core::utils::AccountId32,
24940						rescuer_account: ::subxt::ext::subxt_core::utils::AccountId32,
24941					},
24942					#[codec(index = 4)]
24943					#[doc = "Lost account has been successfully recovered by rescuer account."]
24944					AccountRecovered {
24945						lost_account: ::subxt::ext::subxt_core::utils::AccountId32,
24946						rescuer_account: ::subxt::ext::subxt_core::utils::AccountId32,
24947					},
24948					#[codec(index = 5)]
24949					#[doc = "A recovery process has been removed for an account."]
24950					RecoveryRemoved { lost_account: ::subxt::ext::subxt_core::utils::AccountId32 },
24951					#[codec(index = 6)]
24952					#[doc = "A deposit has been updated."]
24953					DepositPoked {
24954						who: ::subxt::ext::subxt_core::utils::AccountId32,
24955						kind: runtime_types::pallet_recovery::DepositKind<
24956							runtime_types::quantus_runtime::Runtime,
24957						>,
24958						old_deposit: ::core::primitive::u128,
24959						new_deposit: ::core::primitive::u128,
24960					},
24961				}
24962			}
24963			#[derive(
24964				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24965				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24966				Debug,
24967			)]
24968			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24969			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24970			pub struct ActiveRecovery<_0, _1, _2> {
24971				pub created: _0,
24972				pub deposit: _1,
24973				pub friends: _2,
24974			}
24975			#[derive(
24976				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24977				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24978				Debug,
24979			)]
24980			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24981			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24982			pub enum DepositKind<_0> {
24983				#[codec(index = 0)]
24984				RecoveryConfig,
24985				#[codec(index = 1)]
24986				ActiveRecoveryFor(::subxt::ext::subxt_core::utils::AccountId32),
24987				__Ignore(::core::marker::PhantomData<_0>),
24988			}
24989			#[derive(
24990				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
24991				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
24992				Debug,
24993			)]
24994			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
24995			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
24996			pub struct RecoveryConfig<_0, _1, _2> {
24997				pub delay_period: _0,
24998				pub deposit: _1,
24999				pub friends: _2,
25000				pub threshold: ::core::primitive::u16,
25001			}
25002		}
25003		pub mod pallet_referenda {
25004			use super::runtime_types;
25005			pub mod pallet {
25006				use super::runtime_types;
25007				#[derive(
25008					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25009					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25010					Debug,
25011				)]
25012				#[decode_as_type(
25013					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25014				)]
25015				#[encode_as_type(
25016					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25017				)]
25018				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
25019				pub enum Call {
25020					#[codec(index = 0)]
25021					#[doc = "Propose a referendum on a privileged action."]
25022					#[doc = ""]
25023					#[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"]
25024					#[doc = "  available."]
25025					#[doc = "- `proposal_origin`: The origin from which the proposal should be executed."]
25026					#[doc = "- `proposal`: The proposal."]
25027					#[doc = "- `enactment_moment`: The moment that the proposal should be enacted."]
25028					#[doc = ""]
25029					#[doc = "Emits `Submitted`."]
25030					submit {
25031						proposal_origin: ::subxt::ext::subxt_core::alloc::boxed::Box<
25032							runtime_types::quantus_runtime::OriginCaller,
25033						>,
25034						proposal: runtime_types::frame_support::traits::preimages::Bounded<
25035							runtime_types::quantus_runtime::RuntimeCall,
25036							runtime_types::qp_poseidon::PoseidonHasher,
25037						>,
25038						enactment_moment:
25039							runtime_types::frame_support::traits::schedule::DispatchTime<
25040								::core::primitive::u32,
25041							>,
25042					},
25043					#[codec(index = 1)]
25044					#[doc = "Post the Decision Deposit for a referendum."]
25045					#[doc = ""]
25046					#[doc = "- `origin`: must be `Signed` and the account must have funds available for the"]
25047					#[doc = "  referendum's track's Decision Deposit."]
25048					#[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"]
25049					#[doc = "  posted."]
25050					#[doc = ""]
25051					#[doc = "Emits `DecisionDepositPlaced`."]
25052					place_decision_deposit { index: ::core::primitive::u32 },
25053					#[codec(index = 2)]
25054					#[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."]
25055					#[doc = ""]
25056					#[doc = "- `origin`: must be `Signed` or `Root`."]
25057					#[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"]
25058					#[doc = "  refunded."]
25059					#[doc = ""]
25060					#[doc = "Emits `DecisionDepositRefunded`."]
25061					refund_decision_deposit { index: ::core::primitive::u32 },
25062					#[codec(index = 3)]
25063					#[doc = "Cancel an ongoing referendum."]
25064					#[doc = ""]
25065					#[doc = "- `origin`: must be the `CancelOrigin`."]
25066					#[doc = "- `index`: The index of the referendum to be cancelled."]
25067					#[doc = ""]
25068					#[doc = "Emits `Cancelled`."]
25069					cancel { index: ::core::primitive::u32 },
25070					#[codec(index = 4)]
25071					#[doc = "Cancel an ongoing referendum and slash the deposits."]
25072					#[doc = ""]
25073					#[doc = "- `origin`: must be the `KillOrigin`."]
25074					#[doc = "- `index`: The index of the referendum to be cancelled."]
25075					#[doc = ""]
25076					#[doc = "Emits `Killed` and `DepositSlashed`."]
25077					kill { index: ::core::primitive::u32 },
25078					#[codec(index = 5)]
25079					#[doc = "Advance a referendum onto its next logical state. Only used internally."]
25080					#[doc = ""]
25081					#[doc = "- `origin`: must be `Root`."]
25082					#[doc = "- `index`: the referendum to be advanced."]
25083					nudge_referendum { index: ::core::primitive::u32 },
25084					#[codec(index = 6)]
25085					#[doc = "Advance a track onto its next logical state. Only used internally."]
25086					#[doc = ""]
25087					#[doc = "- `origin`: must be `Root`."]
25088					#[doc = "- `track`: the track to be advanced."]
25089					#[doc = ""]
25090					#[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"]
25091					#[doc = "`DecidingCount` is not yet updated. This means that we should either:"]
25092					#[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"]
25093					#[doc = "- decrement `DecidingCount`."]
25094					one_fewer_deciding { track: ::core::primitive::u16 },
25095					#[codec(index = 7)]
25096					#[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."]
25097					#[doc = ""]
25098					#[doc = "- `origin`: must be `Signed` or `Root`."]
25099					#[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"]
25100					#[doc = "  refunded."]
25101					#[doc = ""]
25102					#[doc = "Emits `SubmissionDepositRefunded`."]
25103					refund_submission_deposit { index: ::core::primitive::u32 },
25104					#[codec(index = 8)]
25105					#[doc = "Set or clear metadata of a referendum."]
25106					#[doc = ""]
25107					#[doc = "Parameters:"]
25108					#[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"]
25109					#[doc = "  metadata of a finished referendum."]
25110					#[doc = "- `index`:  The index of a referendum to set or clear metadata for."]
25111					#[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."]
25112					set_metadata {
25113						index: ::core::primitive::u32,
25114						maybe_hash: ::core::option::Option<::subxt::ext::subxt_core::utils::H256>,
25115					},
25116				}
25117				#[derive(
25118					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25119					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25120					Debug,
25121				)]
25122				#[decode_as_type(
25123					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25124				)]
25125				#[encode_as_type(
25126					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25127				)]
25128				#[doc = "The `Error` enum of this pallet."]
25129				pub enum Error {
25130					#[codec(index = 0)]
25131					#[doc = "Referendum is not ongoing."]
25132					NotOngoing,
25133					#[codec(index = 1)]
25134					#[doc = "Referendum's decision deposit is already paid."]
25135					HasDeposit,
25136					#[codec(index = 2)]
25137					#[doc = "The track identifier given was invalid."]
25138					BadTrack,
25139					#[codec(index = 3)]
25140					#[doc = "There are already a full complement of referenda in progress for this track."]
25141					Full,
25142					#[codec(index = 4)]
25143					#[doc = "The queue of the track is empty."]
25144					QueueEmpty,
25145					#[codec(index = 5)]
25146					#[doc = "The referendum index provided is invalid in this context."]
25147					BadReferendum,
25148					#[codec(index = 6)]
25149					#[doc = "There was nothing to do in the advancement."]
25150					NothingToDo,
25151					#[codec(index = 7)]
25152					#[doc = "No track exists for the proposal origin."]
25153					NoTrack,
25154					#[codec(index = 8)]
25155					#[doc = "Any deposit cannot be refunded until after the decision is over."]
25156					Unfinished,
25157					#[codec(index = 9)]
25158					#[doc = "The deposit refunder is not the depositor."]
25159					NoPermission,
25160					#[codec(index = 10)]
25161					#[doc = "The deposit cannot be refunded since none was made."]
25162					NoDeposit,
25163					#[codec(index = 11)]
25164					#[doc = "The referendum status is invalid for this operation."]
25165					BadStatus,
25166					#[codec(index = 12)]
25167					#[doc = "The preimage does not exist."]
25168					PreimageNotExist,
25169					#[codec(index = 13)]
25170					#[doc = "The preimage is stored with a different length than the one provided."]
25171					PreimageStoredWithDifferentLength,
25172				}
25173				#[derive(
25174					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25175					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25176					Debug,
25177				)]
25178				#[decode_as_type(
25179					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25180				)]
25181				#[encode_as_type(
25182					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25183				)]
25184				#[doc = "The `Event` enum of this pallet"]
25185				pub enum Event1 {
25186					#[codec(index = 0)]
25187					#[doc = "A referendum has been submitted."]
25188					Submitted {
25189						index: ::core::primitive::u32,
25190						track: ::core::primitive::u16,
25191						proposal: runtime_types::frame_support::traits::preimages::Bounded<
25192							runtime_types::quantus_runtime::RuntimeCall,
25193							runtime_types::qp_poseidon::PoseidonHasher,
25194						>,
25195					},
25196					#[codec(index = 1)]
25197					#[doc = "The decision deposit has been placed."]
25198					DecisionDepositPlaced {
25199						index: ::core::primitive::u32,
25200						who: ::subxt::ext::subxt_core::utils::AccountId32,
25201						amount: ::core::primitive::u128,
25202					},
25203					#[codec(index = 2)]
25204					#[doc = "The decision deposit has been refunded."]
25205					DecisionDepositRefunded {
25206						index: ::core::primitive::u32,
25207						who: ::subxt::ext::subxt_core::utils::AccountId32,
25208						amount: ::core::primitive::u128,
25209					},
25210					#[codec(index = 3)]
25211					#[doc = "A deposit has been slashed."]
25212					DepositSlashed {
25213						who: ::subxt::ext::subxt_core::utils::AccountId32,
25214						amount: ::core::primitive::u128,
25215					},
25216					#[codec(index = 4)]
25217					#[doc = "A referendum has moved into the deciding phase."]
25218					DecisionStarted {
25219						index: ::core::primitive::u32,
25220						track: ::core::primitive::u16,
25221						proposal: runtime_types::frame_support::traits::preimages::Bounded<
25222							runtime_types::quantus_runtime::RuntimeCall,
25223							runtime_types::qp_poseidon::PoseidonHasher,
25224						>,
25225						tally: runtime_types::pallet_conviction_voting::types::Tally<
25226							::core::primitive::u128,
25227						>,
25228					},
25229					#[codec(index = 5)]
25230					ConfirmStarted { index: ::core::primitive::u32 },
25231					#[codec(index = 6)]
25232					ConfirmAborted { index: ::core::primitive::u32 },
25233					#[codec(index = 7)]
25234					#[doc = "A referendum has ended its confirmation phase and is ready for approval."]
25235					Confirmed {
25236						index: ::core::primitive::u32,
25237						tally: runtime_types::pallet_conviction_voting::types::Tally<
25238							::core::primitive::u128,
25239						>,
25240					},
25241					#[codec(index = 8)]
25242					#[doc = "A referendum has been approved and its proposal has been scheduled."]
25243					Approved { index: ::core::primitive::u32 },
25244					#[codec(index = 9)]
25245					#[doc = "A proposal has been rejected by referendum."]
25246					Rejected {
25247						index: ::core::primitive::u32,
25248						tally: runtime_types::pallet_conviction_voting::types::Tally<
25249							::core::primitive::u128,
25250						>,
25251					},
25252					#[codec(index = 10)]
25253					#[doc = "A referendum has been timed out without being decided."]
25254					TimedOut {
25255						index: ::core::primitive::u32,
25256						tally: runtime_types::pallet_conviction_voting::types::Tally<
25257							::core::primitive::u128,
25258						>,
25259					},
25260					#[codec(index = 11)]
25261					#[doc = "A referendum has been cancelled."]
25262					Cancelled {
25263						index: ::core::primitive::u32,
25264						tally: runtime_types::pallet_conviction_voting::types::Tally<
25265							::core::primitive::u128,
25266						>,
25267					},
25268					#[codec(index = 12)]
25269					#[doc = "A referendum has been killed."]
25270					Killed {
25271						index: ::core::primitive::u32,
25272						tally: runtime_types::pallet_conviction_voting::types::Tally<
25273							::core::primitive::u128,
25274						>,
25275					},
25276					#[codec(index = 13)]
25277					#[doc = "The submission deposit has been refunded."]
25278					SubmissionDepositRefunded {
25279						index: ::core::primitive::u32,
25280						who: ::subxt::ext::subxt_core::utils::AccountId32,
25281						amount: ::core::primitive::u128,
25282					},
25283					#[codec(index = 14)]
25284					#[doc = "Metadata for a referendum has been set."]
25285					MetadataSet {
25286						index: ::core::primitive::u32,
25287						hash: ::subxt::ext::subxt_core::utils::H256,
25288					},
25289					#[codec(index = 15)]
25290					#[doc = "Metadata for a referendum has been cleared."]
25291					MetadataCleared {
25292						index: ::core::primitive::u32,
25293						hash: ::subxt::ext::subxt_core::utils::H256,
25294					},
25295				}
25296				#[derive(
25297					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25298					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25299					Debug,
25300				)]
25301				#[decode_as_type(
25302					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25303				)]
25304				#[encode_as_type(
25305					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25306				)]
25307				#[doc = "The `Event` enum of this pallet"]
25308				pub enum Event2 {
25309					#[codec(index = 0)]
25310					#[doc = "A referendum has been submitted."]
25311					Submitted {
25312						index: ::core::primitive::u32,
25313						track: ::core::primitive::u16,
25314						proposal: runtime_types::frame_support::traits::preimages::Bounded<
25315							runtime_types::quantus_runtime::RuntimeCall,
25316							runtime_types::qp_poseidon::PoseidonHasher,
25317						>,
25318					},
25319					#[codec(index = 1)]
25320					#[doc = "The decision deposit has been placed."]
25321					DecisionDepositPlaced {
25322						index: ::core::primitive::u32,
25323						who: ::subxt::ext::subxt_core::utils::AccountId32,
25324						amount: ::core::primitive::u128,
25325					},
25326					#[codec(index = 2)]
25327					#[doc = "The decision deposit has been refunded."]
25328					DecisionDepositRefunded {
25329						index: ::core::primitive::u32,
25330						who: ::subxt::ext::subxt_core::utils::AccountId32,
25331						amount: ::core::primitive::u128,
25332					},
25333					#[codec(index = 3)]
25334					#[doc = "A deposit has been slashed."]
25335					DepositSlashed {
25336						who: ::subxt::ext::subxt_core::utils::AccountId32,
25337						amount: ::core::primitive::u128,
25338					},
25339					#[codec(index = 4)]
25340					#[doc = "A referendum has moved into the deciding phase."]
25341					DecisionStarted {
25342						index: ::core::primitive::u32,
25343						track: ::core::primitive::u16,
25344						proposal: runtime_types::frame_support::traits::preimages::Bounded<
25345							runtime_types::quantus_runtime::RuntimeCall,
25346							runtime_types::qp_poseidon::PoseidonHasher,
25347						>,
25348						tally: runtime_types::pallet_ranked_collective::Tally,
25349					},
25350					#[codec(index = 5)]
25351					ConfirmStarted { index: ::core::primitive::u32 },
25352					#[codec(index = 6)]
25353					ConfirmAborted { index: ::core::primitive::u32 },
25354					#[codec(index = 7)]
25355					#[doc = "A referendum has ended its confirmation phase and is ready for approval."]
25356					Confirmed {
25357						index: ::core::primitive::u32,
25358						tally: runtime_types::pallet_ranked_collective::Tally,
25359					},
25360					#[codec(index = 8)]
25361					#[doc = "A referendum has been approved and its proposal has been scheduled."]
25362					Approved { index: ::core::primitive::u32 },
25363					#[codec(index = 9)]
25364					#[doc = "A proposal has been rejected by referendum."]
25365					Rejected {
25366						index: ::core::primitive::u32,
25367						tally: runtime_types::pallet_ranked_collective::Tally,
25368					},
25369					#[codec(index = 10)]
25370					#[doc = "A referendum has been timed out without being decided."]
25371					TimedOut {
25372						index: ::core::primitive::u32,
25373						tally: runtime_types::pallet_ranked_collective::Tally,
25374					},
25375					#[codec(index = 11)]
25376					#[doc = "A referendum has been cancelled."]
25377					Cancelled {
25378						index: ::core::primitive::u32,
25379						tally: runtime_types::pallet_ranked_collective::Tally,
25380					},
25381					#[codec(index = 12)]
25382					#[doc = "A referendum has been killed."]
25383					Killed {
25384						index: ::core::primitive::u32,
25385						tally: runtime_types::pallet_ranked_collective::Tally,
25386					},
25387					#[codec(index = 13)]
25388					#[doc = "The submission deposit has been refunded."]
25389					SubmissionDepositRefunded {
25390						index: ::core::primitive::u32,
25391						who: ::subxt::ext::subxt_core::utils::AccountId32,
25392						amount: ::core::primitive::u128,
25393					},
25394					#[codec(index = 14)]
25395					#[doc = "Metadata for a referendum has been set."]
25396					MetadataSet {
25397						index: ::core::primitive::u32,
25398						hash: ::subxt::ext::subxt_core::utils::H256,
25399					},
25400					#[codec(index = 15)]
25401					#[doc = "Metadata for a referendum has been cleared."]
25402					MetadataCleared {
25403						index: ::core::primitive::u32,
25404						hash: ::subxt::ext::subxt_core::utils::H256,
25405					},
25406				}
25407			}
25408			pub mod types {
25409				use super::runtime_types;
25410				#[derive(
25411					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25412					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25413					Debug,
25414				)]
25415				#[decode_as_type(
25416					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25417				)]
25418				#[encode_as_type(
25419					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25420				)]
25421				pub enum Curve {
25422					#[codec(index = 0)]
25423					LinearDecreasing {
25424						length: runtime_types::sp_arithmetic::per_things::Perbill,
25425						floor: runtime_types::sp_arithmetic::per_things::Perbill,
25426						ceil: runtime_types::sp_arithmetic::per_things::Perbill,
25427					},
25428					#[codec(index = 1)]
25429					SteppedDecreasing {
25430						begin: runtime_types::sp_arithmetic::per_things::Perbill,
25431						end: runtime_types::sp_arithmetic::per_things::Perbill,
25432						step: runtime_types::sp_arithmetic::per_things::Perbill,
25433						period: runtime_types::sp_arithmetic::per_things::Perbill,
25434					},
25435					#[codec(index = 2)]
25436					Reciprocal {
25437						factor: runtime_types::sp_arithmetic::fixed_point::FixedI64,
25438						x_offset: runtime_types::sp_arithmetic::fixed_point::FixedI64,
25439						y_offset: runtime_types::sp_arithmetic::fixed_point::FixedI64,
25440					},
25441				}
25442				#[derive(
25443					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25444					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25445					Debug,
25446				)]
25447				#[decode_as_type(
25448					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25449				)]
25450				#[encode_as_type(
25451					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25452				)]
25453				pub struct DecidingStatus<_0> {
25454					pub since: _0,
25455					pub confirming: ::core::option::Option<_0>,
25456				}
25457				#[derive(
25458					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25459					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25460					Debug,
25461				)]
25462				#[decode_as_type(
25463					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25464				)]
25465				#[encode_as_type(
25466					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25467				)]
25468				pub struct Deposit<_0, _1> {
25469					pub who: _0,
25470					pub amount: _1,
25471				}
25472				#[derive(
25473					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25474					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25475					Debug,
25476				)]
25477				#[decode_as_type(
25478					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25479				)]
25480				#[encode_as_type(
25481					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25482				)]
25483				pub enum ReferendumInfo<_0, _1, _2, _3, _4, _5, _6, _7> {
25484					#[codec(index = 0)]
25485					Ongoing(
25486						runtime_types::pallet_referenda::types::ReferendumStatus<
25487							_0,
25488							_1,
25489							_2,
25490							_3,
25491							_4,
25492							_5,
25493							_6,
25494							_7,
25495						>,
25496					),
25497					#[codec(index = 1)]
25498					Approved(
25499						_2,
25500						::core::option::Option<
25501							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25502						>,
25503						::core::option::Option<
25504							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25505						>,
25506					),
25507					#[codec(index = 2)]
25508					Rejected(
25509						_2,
25510						::core::option::Option<
25511							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25512						>,
25513						::core::option::Option<
25514							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25515						>,
25516					),
25517					#[codec(index = 3)]
25518					Cancelled(
25519						_2,
25520						::core::option::Option<
25521							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25522						>,
25523						::core::option::Option<
25524							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25525						>,
25526					),
25527					#[codec(index = 4)]
25528					TimedOut(
25529						_2,
25530						::core::option::Option<
25531							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25532						>,
25533						::core::option::Option<
25534							runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25535						>,
25536					),
25537					#[codec(index = 5)]
25538					Killed(_2),
25539				}
25540				#[derive(
25541					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25542					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25543					Debug,
25544				)]
25545				#[decode_as_type(
25546					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25547				)]
25548				#[encode_as_type(
25549					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25550				)]
25551				pub struct ReferendumStatus<_0, _1, _2, _3, _4, _5, _6, _7> {
25552					pub track: _0,
25553					pub origin: _1,
25554					pub proposal: _3,
25555					pub enactment: runtime_types::frame_support::traits::schedule::DispatchTime<_2>,
25556					pub submitted: _2,
25557					pub submission_deposit: runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25558					pub decision_deposit: ::core::option::Option<
25559						runtime_types::pallet_referenda::types::Deposit<_6, _4>,
25560					>,
25561					pub deciding: ::core::option::Option<
25562						runtime_types::pallet_referenda::types::DecidingStatus<_2>,
25563					>,
25564					pub tally: _5,
25565					pub in_queue: ::core::primitive::bool,
25566					pub alarm: ::core::option::Option<(_2, _7)>,
25567				}
25568				#[derive(
25569					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25570					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25571					Debug,
25572				)]
25573				#[decode_as_type(
25574					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25575				)]
25576				#[encode_as_type(
25577					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25578				)]
25579				pub struct TrackDetails<_0, _1, _2> {
25580					pub name: _2,
25581					pub max_deciding: ::core::primitive::u32,
25582					pub decision_deposit: _0,
25583					pub prepare_period: _1,
25584					pub decision_period: _1,
25585					pub confirm_period: _1,
25586					pub min_enactment_period: _1,
25587					pub min_approval: runtime_types::pallet_referenda::types::Curve,
25588					pub min_support: runtime_types::pallet_referenda::types::Curve,
25589				}
25590			}
25591		}
25592		pub mod pallet_reversible_transfers {
25593			use super::runtime_types;
25594			pub mod pallet {
25595				use super::runtime_types;
25596				#[derive(
25597					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25598					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25599					Debug,
25600				)]
25601				#[decode_as_type(
25602					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25603				)]
25604				#[encode_as_type(
25605					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25606				)]
25607				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
25608				pub enum Call {
25609					#[codec(index = 0)]
25610					#[doc = "Enable high-security for the calling account with a specified"]
25611					#[doc = "reversibility delay."]
25612					#[doc = ""]
25613					#[doc = "Recoverer and interceptor (aka guardian) could be the same account or"]
25614					#[doc = "different accounts."]
25615					#[doc = ""]
25616					#[doc = "Once an account is set as high security it can only make reversible"]
25617					#[doc = "transfers. It is not allowed any other calls."]
25618					#[doc = ""]
25619					#[doc = "- `delay`: The reversibility time for any transfer made by the high"]
25620					#[doc = "security account."]
25621					#[doc = "- interceptor: The account that can intercept transctions from the"]
25622					#[doc = "high security account."]
25623					set_high_security {
25624						delay: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25625							::core::primitive::u32,
25626							::core::primitive::u64,
25627						>,
25628						interceptor: ::subxt::ext::subxt_core::utils::AccountId32,
25629					},
25630					#[codec(index = 1)]
25631					#[doc = "Cancel a pending reversible transaction scheduled by the caller."]
25632					#[doc = ""]
25633					#[doc = "- `tx_id`: The unique identifier of the transaction to cancel."]
25634					cancel { tx_id: ::subxt::ext::subxt_core::utils::H256 },
25635					#[codec(index = 2)]
25636					#[doc = "Called by the Scheduler to finalize the scheduled task/call"]
25637					#[doc = ""]
25638					#[doc = "- `tx_id`: The unique id of the transaction to finalize and dispatch."]
25639					execute_transfer { tx_id: ::subxt::ext::subxt_core::utils::H256 },
25640					#[codec(index = 3)]
25641					#[doc = "Schedule a transaction for delayed execution."]
25642					schedule_transfer {
25643						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
25644							::subxt::ext::subxt_core::utils::AccountId32,
25645							(),
25646						>,
25647						amount: ::core::primitive::u128,
25648					},
25649					#[codec(index = 4)]
25650					#[doc = "Schedule a transaction for delayed execution with a custom, one-time delay."]
25651					#[doc = ""]
25652					#[doc = "This can only be used by accounts that have *not* set up a persistent"]
25653					#[doc = "reversibility configuration with `set_high_security`."]
25654					#[doc = ""]
25655					#[doc = "- `delay`: The time (in blocks or milliseconds) before the transaction executes."]
25656					schedule_transfer_with_delay {
25657						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
25658							::subxt::ext::subxt_core::utils::AccountId32,
25659							(),
25660						>,
25661						amount: ::core::primitive::u128,
25662						delay: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25663							::core::primitive::u32,
25664							::core::primitive::u64,
25665						>,
25666					},
25667					#[codec(index = 5)]
25668					#[doc = "Schedule an asset transfer (pallet-assets) for delayed execution using the configured"]
25669					#[doc = "delay."]
25670					schedule_asset_transfer {
25671						asset_id: ::core::primitive::u32,
25672						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
25673							::subxt::ext::subxt_core::utils::AccountId32,
25674							(),
25675						>,
25676						amount: ::core::primitive::u128,
25677					},
25678					#[codec(index = 6)]
25679					#[doc = "Schedule an asset transfer (pallet-assets) with a custom one-time delay."]
25680					schedule_asset_transfer_with_delay {
25681						asset_id: ::core::primitive::u32,
25682						dest: ::subxt::ext::subxt_core::utils::MultiAddress<
25683							::subxt::ext::subxt_core::utils::AccountId32,
25684							(),
25685						>,
25686						amount: ::core::primitive::u128,
25687						delay: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25688							::core::primitive::u32,
25689							::core::primitive::u64,
25690						>,
25691					},
25692					#[codec(index = 7)]
25693					#[doc = "Allows the guardian (interceptor) to recover all funds from a high security"]
25694					#[doc = "account by transferring the entire balance to themselves."]
25695					#[doc = ""]
25696					#[doc = "This is an emergency function for when the high security account may be compromised."]
25697					#[doc = "It cancels all pending transfers first (applying volume fees), then transfers"]
25698					#[doc = "the remaining free balance to the guardian."]
25699					recover_funds { account: ::subxt::ext::subxt_core::utils::AccountId32 },
25700				}
25701				#[derive(
25702					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25703					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25704					Debug,
25705				)]
25706				#[decode_as_type(
25707					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25708				)]
25709				#[encode_as_type(
25710					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25711				)]
25712				#[doc = "The `Error` enum of this pallet."]
25713				pub enum Error {
25714					#[codec(index = 0)]
25715					#[doc = "The account attempting to enable reversibility is already marked as reversible."]
25716					AccountAlreadyHighSecurity,
25717					#[codec(index = 1)]
25718					#[doc = "The account attempting the action is not marked as high security."]
25719					AccountNotHighSecurity,
25720					#[codec(index = 2)]
25721					#[doc = "Interceptor can not be the account itself, because it is redundant."]
25722					InterceptorCannotBeSelf,
25723					#[codec(index = 3)]
25724					#[doc = "Recoverer cannot be the account itself, because it is redundant."]
25725					RecovererCannotBeSelf,
25726					#[codec(index = 4)]
25727					#[doc = "The specified pending transaction ID was not found."]
25728					PendingTxNotFound,
25729					#[codec(index = 5)]
25730					#[doc = "The caller is not the original submitter of the transaction they are trying to cancel."]
25731					NotOwner,
25732					#[codec(index = 6)]
25733					#[doc = "The account has reached the maximum number of pending reversible transactions."]
25734					TooManyPendingTransactions,
25735					#[codec(index = 7)]
25736					#[doc = "The specified delay period is below the configured minimum."]
25737					DelayTooShort,
25738					#[codec(index = 8)]
25739					#[doc = "Failed to schedule the transaction execution with the scheduler pallet."]
25740					SchedulingFailed,
25741					#[codec(index = 9)]
25742					#[doc = "Failed to cancel the scheduled task with the scheduler pallet."]
25743					CancellationFailed,
25744					#[codec(index = 10)]
25745					#[doc = "Failed to decode the OpaqueCall back into a RuntimeCall."]
25746					CallDecodingFailed,
25747					#[codec(index = 11)]
25748					#[doc = "Call is invalid."]
25749					InvalidCall,
25750					#[codec(index = 12)]
25751					#[doc = "Invalid scheduler origin"]
25752					InvalidSchedulerOrigin,
25753					#[codec(index = 13)]
25754					#[doc = "Reverser is invalid"]
25755					InvalidReverser,
25756					#[codec(index = 14)]
25757					#[doc = "Cannot schedule one time reversible transaction when account is reversible (theft"]
25758					#[doc = "deterrence)"]
25759					AccountAlreadyReversibleCannotScheduleOneTime,
25760					#[codec(index = 15)]
25761					#[doc = "The interceptor has reached the maximum number of accounts they can intercept for."]
25762					TooManyInterceptorAccounts,
25763				}
25764				#[derive(
25765					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25766					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25767					Debug,
25768				)]
25769				#[decode_as_type(
25770					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25771				)]
25772				#[encode_as_type(
25773					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25774				)]
25775				#[doc = "The `Event` enum of this pallet"]
25776				pub enum Event {
25777					#[codec(index = 0)]
25778					#[doc = "A user has enabled their high-security settings."]
25779					#[doc = "[who, interceptor, recoverer, delay]"]
25780					HighSecuritySet {
25781						who: ::subxt::ext::subxt_core::utils::AccountId32,
25782						interceptor: ::subxt::ext::subxt_core::utils::AccountId32,
25783						delay: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25784							::core::primitive::u32,
25785							::core::primitive::u64,
25786						>,
25787					},
25788					#[codec(index = 1)]
25789					#[doc = "A transaction has been intercepted and scheduled for delayed execution."]
25790					#[doc = "[from, to, interceptor, amount, tx_id, execute_at_moment]"]
25791					TransactionScheduled {
25792						from: ::subxt::ext::subxt_core::utils::AccountId32,
25793						to: ::subxt::ext::subxt_core::utils::AccountId32,
25794						interceptor: ::subxt::ext::subxt_core::utils::AccountId32,
25795						asset_id: ::core::option::Option<::core::primitive::u32>,
25796						amount: ::core::primitive::u128,
25797						tx_id: ::subxt::ext::subxt_core::utils::H256,
25798						execute_at: runtime_types::qp_scheduler::DispatchTime<
25799							::core::primitive::u32,
25800							::core::primitive::u64,
25801						>,
25802					},
25803					#[codec(index = 2)]
25804					#[doc = "A scheduled transaction has been successfully cancelled by the owner."]
25805					TransactionCancelled {
25806						who: ::subxt::ext::subxt_core::utils::AccountId32,
25807						tx_id: ::subxt::ext::subxt_core::utils::H256,
25808					},
25809					#[codec(index = 3)]
25810					#[doc = "A scheduled transaction was executed by the scheduler."]
25811					TransactionExecuted {
25812						tx_id: ::subxt::ext::subxt_core::utils::H256,
25813						result: ::core::result::Result<
25814							runtime_types::frame_support::dispatch::PostDispatchInfo,
25815							runtime_types::sp_runtime::DispatchErrorWithPostInfo<
25816								runtime_types::frame_support::dispatch::PostDispatchInfo,
25817							>,
25818						>,
25819					},
25820					#[codec(index = 4)]
25821					#[doc = "Funds were recovered from a high security account by its guardian."]
25822					FundsRecovered {
25823						account: ::subxt::ext::subxt_core::utils::AccountId32,
25824						guardian: ::subxt::ext::subxt_core::utils::AccountId32,
25825					},
25826				}
25827				#[derive(
25828					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25829					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25830					Debug,
25831				)]
25832				#[decode_as_type(
25833					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25834				)]
25835				#[encode_as_type(
25836					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25837				)]
25838				pub enum HoldReason {
25839					#[codec(index = 0)]
25840					ScheduledTransfer,
25841				}
25842			}
25843			#[derive(
25844				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25845				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25846				Debug,
25847			)]
25848			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
25849			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
25850			pub struct HighSecurityAccountData<_0, _1> {
25851				pub interceptor: _0,
25852				pub delay: _1,
25853			}
25854			#[derive(
25855				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25856				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25857				Debug,
25858			)]
25859			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
25860			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
25861			pub struct PendingTransfer<_0, _1, _2> {
25862				pub from: _0,
25863				pub to: _0,
25864				pub interceptor: _0,
25865				pub call: _2,
25866				pub amount: _1,
25867			}
25868		}
25869		pub mod pallet_scheduler {
25870			use super::runtime_types;
25871			pub mod pallet {
25872				use super::runtime_types;
25873				#[derive(
25874					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
25875					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
25876					Debug,
25877				)]
25878				#[decode_as_type(
25879					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
25880				)]
25881				#[encode_as_type(
25882					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
25883				)]
25884				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
25885				pub enum Call {
25886					#[codec(index = 0)]
25887					schedule {
25888						when: ::core::primitive::u32,
25889						priority: ::core::primitive::u8,
25890						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
25891							runtime_types::quantus_runtime::RuntimeCall,
25892						>,
25893					},
25894					#[codec(index = 1)]
25895					#[doc = "Cancel an anonymously scheduled task."]
25896					cancel {
25897						when: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25898							::core::primitive::u32,
25899							::core::primitive::u64,
25900						>,
25901						index: ::core::primitive::u32,
25902					},
25903					#[codec(index = 2)]
25904					schedule_named {
25905						id: [::core::primitive::u8; 32usize],
25906						when: ::core::primitive::u32,
25907						priority: ::core::primitive::u8,
25908						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
25909							runtime_types::quantus_runtime::RuntimeCall,
25910						>,
25911					},
25912					#[codec(index = 3)]
25913					#[doc = "Cancel a named scheduled task."]
25914					cancel_named { id: [::core::primitive::u8; 32usize] },
25915					#[codec(index = 4)]
25916					schedule_after {
25917						after: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25918							::core::primitive::u32,
25919							::core::primitive::u64,
25920						>,
25921						priority: ::core::primitive::u8,
25922						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
25923							runtime_types::quantus_runtime::RuntimeCall,
25924						>,
25925					},
25926					#[codec(index = 5)]
25927					schedule_named_after {
25928						id: [::core::primitive::u8; 32usize],
25929						after: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25930							::core::primitive::u32,
25931							::core::primitive::u64,
25932						>,
25933						priority: ::core::primitive::u8,
25934						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
25935							runtime_types::quantus_runtime::RuntimeCall,
25936						>,
25937					},
25938					#[codec(index = 6)]
25939					#[doc = "Set a retry configuration for a task so that, in case its scheduled run fails, it will"]
25940					#[doc = "be retried after `period` blocks, for a total amount of `retries` retries or until it"]
25941					#[doc = "succeeds."]
25942					#[doc = ""]
25943					#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
25944					#[doc = "agenda space, same as a regular task."]
25945					#[doc = ""]
25946					#[doc = "Tasks scheduled as a result of a retry are unnamed"]
25947					#[doc = "clones of the original task. Their retry configuration will be derived from the"]
25948					#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
25949					#[doc = "original `total_retries`."]
25950					set_retry {
25951						task: (
25952							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25953								::core::primitive::u32,
25954								::core::primitive::u64,
25955							>,
25956							::core::primitive::u32,
25957						),
25958						retries: ::core::primitive::u8,
25959						period: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25960							::core::primitive::u32,
25961							::core::primitive::u64,
25962						>,
25963					},
25964					#[codec(index = 7)]
25965					#[doc = "Set a retry configuration for a named task so that, in case its scheduled run fails, it"]
25966					#[doc = "will be retried after `period` blocks, for a total amount of `retries` retries or until"]
25967					#[doc = "it succeeds."]
25968					#[doc = ""]
25969					#[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
25970					#[doc = "agenda space, same as a regular task."]
25971					#[doc = ""]
25972					#[doc = "Tasks scheduled as a result of a retry are unnamed"]
25973					#[doc = "clones of the original task. Their retry configuration will be derived from the"]
25974					#[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
25975					#[doc = "original `total_retries`."]
25976					set_retry_named {
25977						id: [::core::primitive::u8; 32usize],
25978						retries: ::core::primitive::u8,
25979						period: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25980							::core::primitive::u32,
25981							::core::primitive::u64,
25982						>,
25983					},
25984					#[codec(index = 8)]
25985					#[doc = "Removes the retry configuration of a task."]
25986					cancel_retry {
25987						task: (
25988							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
25989								::core::primitive::u32,
25990								::core::primitive::u64,
25991							>,
25992							::core::primitive::u32,
25993						),
25994					},
25995					#[codec(index = 9)]
25996					#[doc = "Cancel the retry configuration of a named task."]
25997					cancel_retry_named { id: [::core::primitive::u8; 32usize] },
25998				}
25999				#[derive(
26000					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26001					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26002					Debug,
26003				)]
26004				#[decode_as_type(
26005					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26006				)]
26007				#[encode_as_type(
26008					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26009				)]
26010				#[doc = "The `Error` enum of this pallet."]
26011				pub enum Error {
26012					#[codec(index = 0)]
26013					#[doc = "Failed to schedule a call"]
26014					FailedToSchedule,
26015					#[codec(index = 1)]
26016					#[doc = "Cannot find the scheduled call."]
26017					NotFound,
26018					#[codec(index = 2)]
26019					#[doc = "Given target block number is in the past."]
26020					TargetBlockNumberInPast,
26021					#[codec(index = 3)]
26022					#[doc = "Given target timestamp is in the past."]
26023					TargetTimestampInPast,
26024					#[codec(index = 4)]
26025					#[doc = "Reschedule failed because it does not change scheduled time."]
26026					RescheduleNoChange,
26027					#[codec(index = 5)]
26028					#[doc = "Attempt to use a non-named function on a named task."]
26029					Named,
26030				}
26031				#[derive(
26032					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26033					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26034					Debug,
26035				)]
26036				#[decode_as_type(
26037					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26038				)]
26039				#[encode_as_type(
26040					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26041				)]
26042				#[doc = "Events type."]
26043				pub enum Event {
26044					#[codec(index = 0)]
26045					#[doc = "Scheduled some task."]
26046					Scheduled {
26047						when: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26048							::core::primitive::u32,
26049							::core::primitive::u64,
26050						>,
26051						index: ::core::primitive::u32,
26052					},
26053					#[codec(index = 1)]
26054					#[doc = "Canceled some task."]
26055					Canceled {
26056						when: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26057							::core::primitive::u32,
26058							::core::primitive::u64,
26059						>,
26060						index: ::core::primitive::u32,
26061					},
26062					#[codec(index = 2)]
26063					#[doc = "Dispatched some task."]
26064					Dispatched {
26065						task: (
26066							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26067								::core::primitive::u32,
26068								::core::primitive::u64,
26069							>,
26070							::core::primitive::u32,
26071						),
26072						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
26073						result:
26074							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
26075					},
26076					#[codec(index = 3)]
26077					#[doc = "Set a retry configuration for some task."]
26078					RetrySet {
26079						task: (
26080							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26081								::core::primitive::u32,
26082								::core::primitive::u64,
26083							>,
26084							::core::primitive::u32,
26085						),
26086						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
26087						period: runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26088							::core::primitive::u32,
26089							::core::primitive::u64,
26090						>,
26091						retries: ::core::primitive::u8,
26092					},
26093					#[codec(index = 4)]
26094					#[doc = "Cancel a retry configuration for some task."]
26095					RetryCancelled {
26096						task: (
26097							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26098								::core::primitive::u32,
26099								::core::primitive::u64,
26100							>,
26101							::core::primitive::u32,
26102						),
26103						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
26104					},
26105					#[codec(index = 5)]
26106					#[doc = "The call for the provided hash was not found so the task has been aborted."]
26107					CallUnavailable {
26108						task: (
26109							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26110								::core::primitive::u32,
26111								::core::primitive::u64,
26112							>,
26113							::core::primitive::u32,
26114						),
26115						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
26116					},
26117					#[codec(index = 6)]
26118					#[doc = "The given task was unable to be retried since the agenda is full at that block or there"]
26119					#[doc = "was not enough weight to reschedule it."]
26120					RetryFailed {
26121						task: (
26122							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26123								::core::primitive::u32,
26124								::core::primitive::u64,
26125							>,
26126							::core::primitive::u32,
26127						),
26128						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
26129					},
26130					#[codec(index = 7)]
26131					#[doc = "The given task can never be executed since it is overweight."]
26132					PermanentlyOverweight {
26133						task: (
26134							runtime_types::qp_scheduler::BlockNumberOrTimestamp<
26135								::core::primitive::u32,
26136								::core::primitive::u64,
26137							>,
26138							::core::primitive::u32,
26139						),
26140						id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
26141					},
26142				}
26143			}
26144			#[derive(
26145				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26146				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26147				Debug,
26148			)]
26149			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26150			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26151			pub struct RetryConfig<_0> {
26152				pub total_retries: ::core::primitive::u8,
26153				pub remaining: ::core::primitive::u8,
26154				pub period: _0,
26155			}
26156			#[derive(
26157				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26158				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26159				Debug,
26160			)]
26161			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26162			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26163			pub struct Scheduled<_0, _1, _2, _3, _4, _5> {
26164				pub maybe_id: ::core::option::Option<_0>,
26165				pub priority: ::core::primitive::u8,
26166				pub call: _1,
26167				pub origin: _3,
26168				#[codec(skip)]
26169				pub __ignore: ::core::marker::PhantomData<(_4, _5, _2)>,
26170			}
26171		}
26172		pub mod pallet_sudo {
26173			use super::runtime_types;
26174			pub mod pallet {
26175				use super::runtime_types;
26176				#[derive(
26177					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26178					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26179					Debug,
26180				)]
26181				#[decode_as_type(
26182					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26183				)]
26184				#[encode_as_type(
26185					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26186				)]
26187				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
26188				pub enum Call {
26189					#[codec(index = 0)]
26190					#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
26191					sudo {
26192						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
26193							runtime_types::quantus_runtime::RuntimeCall,
26194						>,
26195					},
26196					#[codec(index = 1)]
26197					#[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
26198					#[doc = "This function does not check the weight of the call, and instead allows the"]
26199					#[doc = "Sudo user to specify the weight of the call."]
26200					#[doc = ""]
26201					#[doc = "The dispatch origin for this call must be _Signed_."]
26202					sudo_unchecked_weight {
26203						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
26204							runtime_types::quantus_runtime::RuntimeCall,
26205						>,
26206						weight: runtime_types::sp_weights::weight_v2::Weight,
26207					},
26208					#[codec(index = 2)]
26209					#[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"]
26210					#[doc = "key."]
26211					set_key {
26212						new: ::subxt::ext::subxt_core::utils::MultiAddress<
26213							::subxt::ext::subxt_core::utils::AccountId32,
26214							(),
26215						>,
26216					},
26217					#[codec(index = 3)]
26218					#[doc = "Authenticates the sudo key and dispatches a function call with `Signed` origin from"]
26219					#[doc = "a given account."]
26220					#[doc = ""]
26221					#[doc = "The dispatch origin for this call must be _Signed_."]
26222					sudo_as {
26223						who: ::subxt::ext::subxt_core::utils::MultiAddress<
26224							::subxt::ext::subxt_core::utils::AccountId32,
26225							(),
26226						>,
26227						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
26228							runtime_types::quantus_runtime::RuntimeCall,
26229						>,
26230					},
26231					#[codec(index = 4)]
26232					#[doc = "Permanently removes the sudo key."]
26233					#[doc = ""]
26234					#[doc = "**This cannot be un-done.**"]
26235					remove_key,
26236				}
26237				#[derive(
26238					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26239					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26240					Debug,
26241				)]
26242				#[decode_as_type(
26243					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26244				)]
26245				#[encode_as_type(
26246					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26247				)]
26248				#[doc = "Error for the Sudo pallet."]
26249				pub enum Error {
26250					#[codec(index = 0)]
26251					#[doc = "Sender must be the Sudo account."]
26252					RequireSudo,
26253				}
26254				#[derive(
26255					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26256					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26257					Debug,
26258				)]
26259				#[decode_as_type(
26260					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26261				)]
26262				#[encode_as_type(
26263					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26264				)]
26265				#[doc = "The `Event` enum of this pallet"]
26266				pub enum Event {
26267					#[codec(index = 0)]
26268					#[doc = "A sudo call just took place."]
26269					Sudid {
26270						sudo_result:
26271							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
26272					},
26273					#[codec(index = 1)]
26274					#[doc = "The sudo key has been updated."]
26275					KeyChanged {
26276						old: ::core::option::Option<::subxt::ext::subxt_core::utils::AccountId32>,
26277						new: ::subxt::ext::subxt_core::utils::AccountId32,
26278					},
26279					#[codec(index = 2)]
26280					#[doc = "The key was permanently removed."]
26281					KeyRemoved,
26282					#[codec(index = 3)]
26283					#[doc = "A [sudo_as](Pallet::sudo_as) call just took place."]
26284					SudoAsDone {
26285						sudo_result:
26286							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
26287					},
26288				}
26289			}
26290		}
26291		pub mod pallet_timestamp {
26292			use super::runtime_types;
26293			pub mod pallet {
26294				use super::runtime_types;
26295				#[derive(
26296					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26297					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26298					Debug,
26299				)]
26300				#[decode_as_type(
26301					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26302				)]
26303				#[encode_as_type(
26304					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26305				)]
26306				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
26307				pub enum Call {
26308					#[codec(index = 0)]
26309					#[doc = "Set the current time."]
26310					#[doc = ""]
26311					#[doc = "This call should be invoked exactly once per block. It will panic at the finalization"]
26312					#[doc = "phase, if this call hasn't been invoked by that time."]
26313					#[doc = ""]
26314					#[doc = "The timestamp should be greater than the previous one by the amount specified by"]
26315					#[doc = "[`Config::MinimumPeriod`]."]
26316					#[doc = ""]
26317					#[doc = "The dispatch origin for this call must be _None_."]
26318					#[doc = ""]
26319					#[doc = "This dispatch class is _Mandatory_ to ensure it gets executed in the block. Be aware"]
26320					#[doc = "that changing the complexity of this call could result exhausting the resources in a"]
26321					#[doc = "block to execute any other calls."]
26322					#[doc = ""]
26323					#[doc = "## Complexity"]
26324					#[doc = "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)"]
26325					#[doc = "- 1 storage read and 1 storage mutation (codec `O(1)` because of `DidUpdate::take` in"]
26326					#[doc = "  `on_finalize`)"]
26327					#[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."]
26328					set {
26329						#[codec(compact)]
26330						now: ::core::primitive::u64,
26331					},
26332				}
26333			}
26334		}
26335		pub mod pallet_transaction_payment {
26336			use super::runtime_types;
26337			pub mod pallet {
26338				use super::runtime_types;
26339				#[derive(
26340					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26341					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26342					Debug,
26343				)]
26344				#[decode_as_type(
26345					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26346				)]
26347				#[encode_as_type(
26348					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26349				)]
26350				#[doc = "The `Event` enum of this pallet"]
26351				pub enum Event {
26352					#[codec(index = 0)]
26353					#[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"]
26354					#[doc = "has been paid by `who`."]
26355					TransactionFeePaid {
26356						who: ::subxt::ext::subxt_core::utils::AccountId32,
26357						actual_fee: ::core::primitive::u128,
26358						tip: ::core::primitive::u128,
26359					},
26360				}
26361			}
26362			pub mod types {
26363				use super::runtime_types;
26364				#[derive(
26365					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26366					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26367					Debug,
26368				)]
26369				#[decode_as_type(
26370					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26371				)]
26372				#[encode_as_type(
26373					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26374				)]
26375				pub struct FeeDetails<_0> {
26376					pub inclusion_fee: ::core::option::Option<
26377						runtime_types::pallet_transaction_payment::types::InclusionFee<_0>,
26378					>,
26379					pub tip: _0,
26380				}
26381				#[derive(
26382					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26383					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26384					Debug,
26385				)]
26386				#[decode_as_type(
26387					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26388				)]
26389				#[encode_as_type(
26390					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26391				)]
26392				pub struct InclusionFee<_0> {
26393					pub base_fee: _0,
26394					pub len_fee: _0,
26395					pub adjusted_weight_fee: _0,
26396				}
26397				#[derive(
26398					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26399					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26400					Debug,
26401				)]
26402				#[decode_as_type(
26403					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26404				)]
26405				#[encode_as_type(
26406					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26407				)]
26408				pub struct RuntimeDispatchInfo<_0, _1> {
26409					pub weight: _1,
26410					pub class: runtime_types::frame_support::dispatch::DispatchClass,
26411					pub partial_fee: _0,
26412				}
26413			}
26414			#[derive(
26415				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26416				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26417				Debug,
26418			)]
26419			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26420			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26421			pub struct ChargeTransactionPayment(#[codec(compact)] pub ::core::primitive::u128);
26422			#[derive(
26423				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26424				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26425				Debug,
26426			)]
26427			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26428			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26429			pub enum Releases {
26430				#[codec(index = 0)]
26431				V1Ancient,
26432				#[codec(index = 1)]
26433				V2,
26434			}
26435		}
26436		pub mod pallet_treasury {
26437			use super::runtime_types;
26438			pub mod pallet {
26439				use super::runtime_types;
26440				#[derive(
26441					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26442					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26443					Debug,
26444				)]
26445				#[decode_as_type(
26446					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26447				)]
26448				#[encode_as_type(
26449					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26450				)]
26451				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
26452				pub enum Call {
26453					#[codec(index = 0)]
26454					#[doc = "Set the treasury account. Root only. Zero address is rejected (funds would be locked)."]
26455					set_treasury_account { account: ::subxt::ext::subxt_core::utils::AccountId32 },
26456					#[codec(index = 1)]
26457					#[doc = "Set the treasury portion (Permill, 0–100%). Root only."]
26458					set_treasury_portion {
26459						portion: runtime_types::sp_arithmetic::per_things::Permill,
26460					},
26461				}
26462				#[derive(
26463					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26464					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26465					Debug,
26466				)]
26467				#[decode_as_type(
26468					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26469				)]
26470				#[encode_as_type(
26471					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26472				)]
26473				#[doc = "The `Error` enum of this pallet."]
26474				pub enum Error {
26475					#[codec(index = 0)]
26476					InvalidPortion,
26477					#[codec(index = 1)]
26478					#[doc = "Treasury account cannot be zero address (funds would be permanently locked)."]
26479					InvalidTreasuryAccount,
26480				}
26481				#[derive(
26482					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26483					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26484					Debug,
26485				)]
26486				#[decode_as_type(
26487					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26488				)]
26489				#[encode_as_type(
26490					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26491				)]
26492				#[doc = "The `Event` enum of this pallet"]
26493				pub enum Event {
26494					#[codec(index = 0)]
26495					TreasuryAccountUpdated {
26496						new_account: ::subxt::ext::subxt_core::utils::AccountId32,
26497					},
26498					#[codec(index = 1)]
26499					TreasuryPortionUpdated {
26500						new_portion: runtime_types::sp_arithmetic::per_things::Permill,
26501					},
26502				}
26503			}
26504		}
26505		pub mod pallet_utility {
26506			use super::runtime_types;
26507			pub mod pallet {
26508				use super::runtime_types;
26509				#[derive(
26510					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26511					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26512					Debug,
26513				)]
26514				#[decode_as_type(
26515					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26516				)]
26517				#[encode_as_type(
26518					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26519				)]
26520				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
26521				pub enum Call {
26522					#[codec(index = 0)]
26523					#[doc = "Send a batch of dispatch calls."]
26524					#[doc = ""]
26525					#[doc = "May be called from any origin except `None`."]
26526					#[doc = ""]
26527					#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
26528					#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
26529					#[doc = ""]
26530					#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
26531					#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
26532					#[doc = ""]
26533					#[doc = "## Complexity"]
26534					#[doc = "- O(C) where C is the number of calls to be batched."]
26535					#[doc = ""]
26536					#[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"]
26537					#[doc = "event is deposited. If a call failed and the batch was interrupted, then the"]
26538					#[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"]
26539					#[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"]
26540					#[doc = "event is deposited."]
26541					batch {
26542						calls: ::subxt::ext::subxt_core::alloc::vec::Vec<
26543							runtime_types::quantus_runtime::RuntimeCall,
26544						>,
26545					},
26546					#[codec(index = 1)]
26547					#[doc = "Send a call through an indexed pseudonym of the sender."]
26548					#[doc = ""]
26549					#[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"]
26550					#[doc = "use the same filter as the origin of this call."]
26551					#[doc = ""]
26552					#[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."]
26553					#[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"]
26554					#[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"]
26555					#[doc = "in the Multisig pallet instead."]
26556					#[doc = ""]
26557					#[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."]
26558					#[doc = ""]
26559					#[doc = "The dispatch origin for this call must be _Signed_."]
26560					as_derivative {
26561						index: ::core::primitive::u16,
26562						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
26563							runtime_types::quantus_runtime::RuntimeCall,
26564						>,
26565					},
26566					#[codec(index = 2)]
26567					#[doc = "Send a batch of dispatch calls and atomically execute them."]
26568					#[doc = "The whole transaction will rollback and fail if any of the calls failed."]
26569					#[doc = ""]
26570					#[doc = "May be called from any origin except `None`."]
26571					#[doc = ""]
26572					#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
26573					#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
26574					#[doc = ""]
26575					#[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
26576					#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
26577					#[doc = ""]
26578					#[doc = "## Complexity"]
26579					#[doc = "- O(C) where C is the number of calls to be batched."]
26580					batch_all {
26581						calls: ::subxt::ext::subxt_core::alloc::vec::Vec<
26582							runtime_types::quantus_runtime::RuntimeCall,
26583						>,
26584					},
26585					#[codec(index = 3)]
26586					#[doc = "Dispatches a function call with a provided origin."]
26587					#[doc = ""]
26588					#[doc = "The dispatch origin for this call must be _Root_."]
26589					#[doc = ""]
26590					#[doc = "## Complexity"]
26591					#[doc = "- O(1)."]
26592					dispatch_as {
26593						as_origin: ::subxt::ext::subxt_core::alloc::boxed::Box<
26594							runtime_types::quantus_runtime::OriginCaller,
26595						>,
26596						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
26597							runtime_types::quantus_runtime::RuntimeCall,
26598						>,
26599					},
26600					#[codec(index = 4)]
26601					#[doc = "Send a batch of dispatch calls."]
26602					#[doc = "Unlike `batch`, it allows errors and won't interrupt."]
26603					#[doc = ""]
26604					#[doc = "May be called from any origin except `None`."]
26605					#[doc = ""]
26606					#[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
26607					#[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
26608					#[doc = ""]
26609					#[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"]
26610					#[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
26611					#[doc = ""]
26612					#[doc = "## Complexity"]
26613					#[doc = "- O(C) where C is the number of calls to be batched."]
26614					force_batch {
26615						calls: ::subxt::ext::subxt_core::alloc::vec::Vec<
26616							runtime_types::quantus_runtime::RuntimeCall,
26617						>,
26618					},
26619					#[codec(index = 5)]
26620					#[doc = "Dispatch a function call with a specified weight."]
26621					#[doc = ""]
26622					#[doc = "This function does not check the weight of the call, and instead allows the"]
26623					#[doc = "Root origin to specify the weight of the call."]
26624					#[doc = ""]
26625					#[doc = "The dispatch origin for this call must be _Root_."]
26626					with_weight {
26627						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
26628							runtime_types::quantus_runtime::RuntimeCall,
26629						>,
26630						weight: runtime_types::sp_weights::weight_v2::Weight,
26631					},
26632					#[codec(index = 6)]
26633					#[doc = "Dispatch a fallback call in the event the main call fails to execute."]
26634					#[doc = "May be called from any origin except `None`."]
26635					#[doc = ""]
26636					#[doc = "This function first attempts to dispatch the `main` call."]
26637					#[doc = "If the `main` call fails, the `fallback` is attemted."]
26638					#[doc = "if the fallback is successfully dispatched, the weights of both calls"]
26639					#[doc = "are accumulated and an event containing the main call error is deposited."]
26640					#[doc = ""]
26641					#[doc = "In the event of a fallback failure the whole call fails"]
26642					#[doc = "with the weights returned."]
26643					#[doc = ""]
26644					#[doc = "- `main`: The main call to be dispatched. This is the primary action to execute."]
26645					#[doc = "- `fallback`: The fallback call to be dispatched in case the `main` call fails."]
26646					#[doc = ""]
26647					#[doc = "## Dispatch Logic"]
26648					#[doc = "- If the origin is `root`, both the main and fallback calls are executed without"]
26649					#[doc = "  applying any origin filters."]
26650					#[doc = "- If the origin is not `root`, the origin filter is applied to both the `main` and"]
26651					#[doc = "  `fallback` calls."]
26652					#[doc = ""]
26653					#[doc = "## Use Case"]
26654					#[doc = "- Some use cases might involve submitting a `batch` type call in either main, fallback"]
26655					#[doc = "  or both."]
26656					if_else {
26657						main: ::subxt::ext::subxt_core::alloc::boxed::Box<
26658							runtime_types::quantus_runtime::RuntimeCall,
26659						>,
26660						fallback: ::subxt::ext::subxt_core::alloc::boxed::Box<
26661							runtime_types::quantus_runtime::RuntimeCall,
26662						>,
26663					},
26664					#[codec(index = 7)]
26665					#[doc = "Dispatches a function call with a provided origin."]
26666					#[doc = ""]
26667					#[doc = "Almost the same as [`Pallet::dispatch_as`] but forwards any error of the inner call."]
26668					#[doc = ""]
26669					#[doc = "The dispatch origin for this call must be _Root_."]
26670					dispatch_as_fallible {
26671						as_origin: ::subxt::ext::subxt_core::alloc::boxed::Box<
26672							runtime_types::quantus_runtime::OriginCaller,
26673						>,
26674						call: ::subxt::ext::subxt_core::alloc::boxed::Box<
26675							runtime_types::quantus_runtime::RuntimeCall,
26676						>,
26677					},
26678				}
26679				#[derive(
26680					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26681					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26682					Debug,
26683				)]
26684				#[decode_as_type(
26685					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26686				)]
26687				#[encode_as_type(
26688					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26689				)]
26690				#[doc = "The `Error` enum of this pallet."]
26691				pub enum Error {
26692					#[codec(index = 0)]
26693					#[doc = "Too many calls batched."]
26694					TooManyCalls,
26695				}
26696				#[derive(
26697					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26698					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26699					Debug,
26700				)]
26701				#[decode_as_type(
26702					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26703				)]
26704				#[encode_as_type(
26705					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26706				)]
26707				#[doc = "The `Event` enum of this pallet"]
26708				pub enum Event {
26709					#[codec(index = 0)]
26710					#[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"]
26711					#[doc = "well as the error."]
26712					BatchInterrupted {
26713						index: ::core::primitive::u32,
26714						error: runtime_types::sp_runtime::DispatchError,
26715					},
26716					#[codec(index = 1)]
26717					#[doc = "Batch of dispatches completed fully with no error."]
26718					BatchCompleted,
26719					#[codec(index = 2)]
26720					#[doc = "Batch of dispatches completed but has errors."]
26721					BatchCompletedWithErrors,
26722					#[codec(index = 3)]
26723					#[doc = "A single item within a Batch of dispatches has completed with no error."]
26724					ItemCompleted,
26725					#[codec(index = 4)]
26726					#[doc = "A single item within a Batch of dispatches has completed with error."]
26727					ItemFailed { error: runtime_types::sp_runtime::DispatchError },
26728					#[codec(index = 5)]
26729					#[doc = "A call was dispatched."]
26730					DispatchedAs {
26731						result:
26732							::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
26733					},
26734					#[codec(index = 6)]
26735					#[doc = "Main call was dispatched."]
26736					IfElseMainSuccess,
26737					#[codec(index = 7)]
26738					#[doc = "The fallback call was dispatched."]
26739					IfElseFallbackCalled { main_error: runtime_types::sp_runtime::DispatchError },
26740				}
26741			}
26742		}
26743		pub mod pallet_wormhole {
26744			use super::runtime_types;
26745			pub mod pallet {
26746				use super::runtime_types;
26747				#[derive(
26748					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26749					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26750					Debug,
26751				)]
26752				#[decode_as_type(
26753					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26754				)]
26755				#[encode_as_type(
26756					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26757				)]
26758				#[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
26759				pub enum Call {
26760					#[codec(index = 2)]
26761					#[doc = "Verify an aggregated wormhole proof and process all transfers in the batch"]
26762					verify_aggregated_proof {
26763						proof_bytes:
26764							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
26765					},
26766				}
26767				#[derive(
26768					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26769					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26770					Debug,
26771				)]
26772				#[decode_as_type(
26773					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26774				)]
26775				#[encode_as_type(
26776					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26777				)]
26778				#[doc = "The `Error` enum of this pallet."]
26779				pub enum Error {
26780					#[codec(index = 0)]
26781					InvalidPublicInputs,
26782					#[codec(index = 1)]
26783					NullifierAlreadyUsed,
26784					#[codec(index = 2)]
26785					VerifierNotAvailable,
26786					#[codec(index = 3)]
26787					BlockNotFound,
26788					#[codec(index = 4)]
26789					AggregatedVerifierNotAvailable,
26790					#[codec(index = 5)]
26791					AggregatedProofDeserializationFailed,
26792					#[codec(index = 6)]
26793					AggregatedVerificationFailed,
26794					#[codec(index = 7)]
26795					InvalidAggregatedPublicInputs,
26796					#[codec(index = 8)]
26797					#[doc = "The volume fee rate in the proof doesn't match the configured rate"]
26798					InvalidVolumeFeeRate,
26799					#[codec(index = 9)]
26800					#[doc = "Transfer amount is below the minimum required"]
26801					TransferAmountBelowMinimum,
26802					#[codec(index = 10)]
26803					#[doc = "Only native asset (asset_id = 0) is supported in this version"]
26804					NonNativeAssetNotSupported,
26805				}
26806				#[derive(
26807					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26808					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26809					Debug,
26810				)]
26811				#[decode_as_type(
26812					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26813				)]
26814				#[encode_as_type(
26815					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26816				)]
26817				#[doc = "The `Event` enum of this pallet"]
26818				pub enum Event {
26819					#[codec(index = 0)]
26820					NativeTransferred {
26821						from: ::subxt::ext::subxt_core::utils::AccountId32,
26822						to: ::subxt::ext::subxt_core::utils::AccountId32,
26823						amount: ::core::primitive::u128,
26824						transfer_count: ::core::primitive::u64,
26825					},
26826					#[codec(index = 1)]
26827					AssetTransferred {
26828						asset_id: ::core::primitive::u32,
26829						from: ::subxt::ext::subxt_core::utils::AccountId32,
26830						to: ::subxt::ext::subxt_core::utils::AccountId32,
26831						amount: ::core::primitive::u128,
26832						transfer_count: ::core::primitive::u64,
26833					},
26834					#[codec(index = 2)]
26835					ProofVerified {
26836						exit_amount: ::core::primitive::u128,
26837						nullifiers: ::subxt::ext::subxt_core::alloc::vec::Vec<
26838							[::core::primitive::u8; 32usize],
26839						>,
26840					},
26841				}
26842			}
26843		}
26844		pub mod primitive_types {
26845			use super::runtime_types;
26846			#[derive(
26847				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26848				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26849				Debug,
26850			)]
26851			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26852			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26853			pub struct U512(pub [::core::primitive::u64; 8usize]);
26854		}
26855		pub mod qp_dilithium_crypto {
26856			use super::runtime_types;
26857			pub mod types {
26858				use super::runtime_types;
26859				#[derive(
26860					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26861					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26862					Debug,
26863				)]
26864				#[decode_as_type(
26865					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26866				)]
26867				#[encode_as_type(
26868					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26869				)]
26870				pub enum DilithiumSignatureScheme {
26871					#[codec(index = 0)]
26872					Dilithium(
26873						runtime_types::qp_dilithium_crypto::types::DilithiumSignatureWithPublic,
26874					),
26875				}
26876				#[derive(
26877					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26878					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26879					Debug,
26880				)]
26881				#[decode_as_type(
26882					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26883				)]
26884				#[encode_as_type(
26885					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26886				)]
26887				pub struct DilithiumSignatureWithPublic {
26888					pub bytes: [::core::primitive::u8; 7219usize],
26889				}
26890			}
26891		}
26892		pub mod qp_header {
26893			use super::runtime_types;
26894			#[derive(
26895				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26896				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26897				Debug,
26898			)]
26899			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26900			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26901			pub struct Header<_0> {
26902				pub parent_hash: ::subxt::ext::subxt_core::utils::H256,
26903				pub number: _0,
26904				pub state_root: ::subxt::ext::subxt_core::utils::H256,
26905				pub extrinsics_root: ::subxt::ext::subxt_core::utils::H256,
26906				pub digest: runtime_types::sp_runtime::generic::digest::Digest,
26907			}
26908		}
26909		pub mod qp_poseidon {
26910			use super::runtime_types;
26911			#[derive(
26912				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26913				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26914				Debug,
26915			)]
26916			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26917			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26918			pub struct PoseidonHasher;
26919		}
26920		pub mod qp_scheduler {
26921			use super::runtime_types;
26922			#[derive(
26923				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26924				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26925				Debug,
26926			)]
26927			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26928			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26929			pub enum BlockNumberOrTimestamp<_0, _1> {
26930				#[codec(index = 0)]
26931				BlockNumber(_0),
26932				#[codec(index = 1)]
26933				Timestamp(_1),
26934			}
26935			#[derive(
26936				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26937				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26938				Debug,
26939			)]
26940			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
26941			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
26942			pub enum DispatchTime<_0, _1> {
26943				#[codec(index = 0)]
26944				At(_0),
26945				#[codec(index = 1)]
26946				After(runtime_types::qp_scheduler::BlockNumberOrTimestamp<_0, _1>),
26947			}
26948		}
26949		pub mod quantus_runtime {
26950			use super::runtime_types;
26951			pub mod governance {
26952				use super::runtime_types;
26953				pub mod definitions {
26954					use super::runtime_types;
26955					#[derive(
26956						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26957						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26958						Debug,
26959					)]
26960					#[decode_as_type(
26961						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26962					)]
26963					#[encode_as_type(
26964						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26965					)]
26966					pub struct PreimageDeposit {
26967						pub amount: ::core::primitive::u128,
26968					}
26969				}
26970			}
26971			pub mod transaction_extensions {
26972				use super::runtime_types;
26973				#[derive(
26974					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26975					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26976					Debug,
26977				)]
26978				#[decode_as_type(
26979					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26980				)]
26981				#[encode_as_type(
26982					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26983				)]
26984				pub struct ReversibleTransactionExtension;
26985				#[derive(
26986					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
26987					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
26988					Debug,
26989				)]
26990				#[decode_as_type(
26991					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
26992				)]
26993				#[encode_as_type(
26994					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
26995				)]
26996				pub struct WormholeProofRecorderExtension;
26997			}
26998			#[derive(
26999				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27000				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27001				Debug,
27002			)]
27003			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27004			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27005			pub enum OriginCaller {
27006				#[codec(index = 0)]
27007				system(
27008					runtime_types::frame_support::dispatch::RawOrigin<
27009						::subxt::ext::subxt_core::utils::AccountId32,
27010					>,
27011				),
27012			}
27013			#[derive(
27014				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27015				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27016				Debug,
27017			)]
27018			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27019			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27020			pub struct Runtime;
27021			#[derive(
27022				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27023				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27024				Debug,
27025			)]
27026			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27027			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27028			pub enum RuntimeCall {
27029				#[codec(index = 0)]
27030				System(runtime_types::frame_system::pallet::Call),
27031				#[codec(index = 1)]
27032				Timestamp(runtime_types::pallet_timestamp::pallet::Call),
27033				#[codec(index = 2)]
27034				Balances(runtime_types::pallet_balances::pallet::Call),
27035				#[codec(index = 4)]
27036				Sudo(runtime_types::pallet_sudo::pallet::Call),
27037				#[codec(index = 7)]
27038				Preimage(runtime_types::pallet_preimage::pallet::Call),
27039				#[codec(index = 8)]
27040				Scheduler(runtime_types::pallet_scheduler::pallet::Call),
27041				#[codec(index = 9)]
27042				Utility(runtime_types::pallet_utility::pallet::Call),
27043				#[codec(index = 10)]
27044				Referenda(runtime_types::pallet_referenda::pallet::Call),
27045				#[codec(index = 11)]
27046				ReversibleTransfers(runtime_types::pallet_reversible_transfers::pallet::Call),
27047				#[codec(index = 12)]
27048				ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Call),
27049				#[codec(index = 13)]
27050				TechCollective(runtime_types::pallet_ranked_collective::pallet::Call),
27051				#[codec(index = 14)]
27052				TechReferenda(runtime_types::pallet_referenda::pallet::Call),
27053				#[codec(index = 15)]
27054				TreasuryPallet(runtime_types::pallet_treasury::pallet::Call),
27055				#[codec(index = 16)]
27056				Recovery(runtime_types::pallet_recovery::pallet::Call),
27057				#[codec(index = 17)]
27058				Assets(runtime_types::pallet_assets::pallet::Call),
27059				#[codec(index = 19)]
27060				Multisig(runtime_types::pallet_multisig::pallet::Call),
27061				#[codec(index = 20)]
27062				Wormhole(runtime_types::pallet_wormhole::pallet::Call),
27063			}
27064			#[derive(
27065				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27066				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27067				Debug,
27068			)]
27069			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27070			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27071			pub enum RuntimeError {
27072				#[codec(index = 0)]
27073				System(runtime_types::frame_system::pallet::Error),
27074				#[codec(index = 2)]
27075				Balances(runtime_types::pallet_balances::pallet::Error),
27076				#[codec(index = 4)]
27077				Sudo(runtime_types::pallet_sudo::pallet::Error),
27078				#[codec(index = 7)]
27079				Preimage(runtime_types::pallet_preimage::pallet::Error),
27080				#[codec(index = 8)]
27081				Scheduler(runtime_types::pallet_scheduler::pallet::Error),
27082				#[codec(index = 9)]
27083				Utility(runtime_types::pallet_utility::pallet::Error),
27084				#[codec(index = 10)]
27085				Referenda(runtime_types::pallet_referenda::pallet::Error),
27086				#[codec(index = 11)]
27087				ReversibleTransfers(runtime_types::pallet_reversible_transfers::pallet::Error),
27088				#[codec(index = 12)]
27089				ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Error),
27090				#[codec(index = 13)]
27091				TechCollective(runtime_types::pallet_ranked_collective::pallet::Error),
27092				#[codec(index = 14)]
27093				TechReferenda(runtime_types::pallet_referenda::pallet::Error),
27094				#[codec(index = 15)]
27095				TreasuryPallet(runtime_types::pallet_treasury::pallet::Error),
27096				#[codec(index = 16)]
27097				Recovery(runtime_types::pallet_recovery::pallet::Error),
27098				#[codec(index = 17)]
27099				Assets(runtime_types::pallet_assets::pallet::Error),
27100				#[codec(index = 18)]
27101				AssetsHolder(runtime_types::pallet_assets_holder::pallet::Error),
27102				#[codec(index = 19)]
27103				Multisig(runtime_types::pallet_multisig::pallet::Error),
27104				#[codec(index = 20)]
27105				Wormhole(runtime_types::pallet_wormhole::pallet::Error),
27106			}
27107			#[derive(
27108				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27109				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27110				Debug,
27111			)]
27112			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27113			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27114			pub enum RuntimeEvent {
27115				#[codec(index = 0)]
27116				System(runtime_types::frame_system::pallet::Event),
27117				#[codec(index = 2)]
27118				Balances(runtime_types::pallet_balances::pallet::Event),
27119				#[codec(index = 3)]
27120				TransactionPayment(runtime_types::pallet_transaction_payment::pallet::Event),
27121				#[codec(index = 4)]
27122				Sudo(runtime_types::pallet_sudo::pallet::Event),
27123				#[codec(index = 5)]
27124				QPoW(runtime_types::pallet_qpow::pallet::Event),
27125				#[codec(index = 6)]
27126				MiningRewards(runtime_types::pallet_mining_rewards::pallet::Event),
27127				#[codec(index = 7)]
27128				Preimage(runtime_types::pallet_preimage::pallet::Event),
27129				#[codec(index = 8)]
27130				Scheduler(runtime_types::pallet_scheduler::pallet::Event),
27131				#[codec(index = 9)]
27132				Utility(runtime_types::pallet_utility::pallet::Event),
27133				#[codec(index = 10)]
27134				Referenda(runtime_types::pallet_referenda::pallet::Event1),
27135				#[codec(index = 11)]
27136				ReversibleTransfers(runtime_types::pallet_reversible_transfers::pallet::Event),
27137				#[codec(index = 12)]
27138				ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Event),
27139				#[codec(index = 13)]
27140				TechCollective(runtime_types::pallet_ranked_collective::pallet::Event),
27141				#[codec(index = 14)]
27142				TechReferenda(runtime_types::pallet_referenda::pallet::Event2),
27143				#[codec(index = 15)]
27144				TreasuryPallet(runtime_types::pallet_treasury::pallet::Event),
27145				#[codec(index = 16)]
27146				Recovery(runtime_types::pallet_recovery::pallet::Event),
27147				#[codec(index = 17)]
27148				Assets(runtime_types::pallet_assets::pallet::Event),
27149				#[codec(index = 18)]
27150				AssetsHolder(runtime_types::pallet_assets_holder::pallet::Event),
27151				#[codec(index = 19)]
27152				Multisig(runtime_types::pallet_multisig::pallet::Event),
27153				#[codec(index = 20)]
27154				Wormhole(runtime_types::pallet_wormhole::pallet::Event),
27155			}
27156			#[derive(
27157				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27158				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27159				Debug,
27160			)]
27161			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27162			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27163			pub enum RuntimeFreezeReason {}
27164			#[derive(
27165				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27166				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27167				Debug,
27168			)]
27169			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27170			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27171			pub enum RuntimeHoldReason {
27172				#[codec(index = 7)]
27173				Preimage(runtime_types::pallet_preimage::pallet::HoldReason),
27174				#[codec(index = 11)]
27175				ReversibleTransfers(runtime_types::pallet_reversible_transfers::pallet::HoldReason),
27176			}
27177		}
27178		pub mod sp_arithmetic {
27179			use super::runtime_types;
27180			pub mod fixed_point {
27181				use super::runtime_types;
27182				#[derive(
27183					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27184					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27185					Debug,
27186				)]
27187				#[decode_as_type(
27188					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27189				)]
27190				#[encode_as_type(
27191					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27192				)]
27193				pub struct FixedI64(pub ::core::primitive::i64);
27194				#[derive(
27195					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27196					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27197					Debug,
27198				)]
27199				#[decode_as_type(
27200					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27201				)]
27202				#[encode_as_type(
27203					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27204				)]
27205				pub struct FixedU128(pub ::core::primitive::u128);
27206			}
27207			pub mod per_things {
27208				use super::runtime_types;
27209				#[derive(
27210					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27211					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27212					Debug,
27213				)]
27214				#[decode_as_type(
27215					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27216				)]
27217				#[encode_as_type(
27218					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27219				)]
27220				pub struct Perbill(pub ::core::primitive::u32);
27221				#[derive(
27222					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27223					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27224					Debug,
27225				)]
27226				#[decode_as_type(
27227					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27228				)]
27229				#[encode_as_type(
27230					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27231				)]
27232				pub struct Permill(pub ::core::primitive::u32);
27233			}
27234			#[derive(
27235				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27236				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27237				Debug,
27238			)]
27239			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27240			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27241			pub enum ArithmeticError {
27242				#[codec(index = 0)]
27243				Underflow,
27244				#[codec(index = 1)]
27245				Overflow,
27246				#[codec(index = 2)]
27247				DivisionByZero,
27248			}
27249		}
27250		pub mod sp_core {
27251			use super::runtime_types;
27252			pub mod crypto {
27253				use super::runtime_types;
27254				#[derive(
27255					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27256					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27257					Debug,
27258				)]
27259				#[decode_as_type(
27260					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27261				)]
27262				#[encode_as_type(
27263					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27264				)]
27265				pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]);
27266			}
27267			#[derive(
27268				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27269				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27270				Debug,
27271			)]
27272			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27273			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27274			pub struct OpaqueMetadata(
27275				pub ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
27276			);
27277		}
27278		pub mod sp_inherents {
27279			use super::runtime_types;
27280			#[derive(
27281				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27282				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27283				Debug,
27284			)]
27285			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
27286			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
27287			pub struct CheckInherentsResult {
27288				pub okay: ::core::primitive::bool,
27289				pub fatal_error: ::core::primitive::bool,
27290				pub errors: runtime_types::sp_inherents::InherentData,
27291			}
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 InherentData {
27300				pub data: ::subxt::ext::subxt_core::utils::KeyedVec<
27301					[::core::primitive::u8; 8usize],
27302					::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
27303				>,
27304			}
27305		}
27306		pub mod sp_runtime {
27307			use super::runtime_types;
27308			pub mod generic {
27309				use super::runtime_types;
27310				pub mod block {
27311					use super::runtime_types;
27312					#[derive(
27313						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27314						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27315						Debug,
27316					)]
27317					#[decode_as_type(
27318						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27319					)]
27320					#[encode_as_type(
27321						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27322					)]
27323					pub struct Block<_0, _1> {
27324						pub header: _0,
27325						pub extrinsics: ::subxt::ext::subxt_core::alloc::vec::Vec<_1>,
27326					}
27327					#[derive(
27328						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27329						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27330						Debug,
27331					)]
27332					#[decode_as_type(
27333						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27334					)]
27335					#[encode_as_type(
27336						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27337					)]
27338					pub struct LazyBlock<_0, _1> {
27339						pub header: _0,
27340						pub extrinsics: ::subxt::ext::subxt_core::alloc::vec::Vec<
27341							runtime_types::sp_runtime::OpaqueExtrinsic,
27342						>,
27343						#[codec(skip)]
27344						pub __ignore: ::core::marker::PhantomData<_1>,
27345					}
27346				}
27347				pub mod digest {
27348					use super::runtime_types;
27349					#[derive(
27350						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27351						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27352						Debug,
27353					)]
27354					#[decode_as_type(
27355						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27356					)]
27357					#[encode_as_type(
27358						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27359					)]
27360					pub struct Digest {
27361						pub logs: ::subxt::ext::subxt_core::alloc::vec::Vec<
27362							runtime_types::sp_runtime::generic::digest::DigestItem,
27363						>,
27364					}
27365					#[derive(
27366						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27367						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27368						Debug,
27369					)]
27370					#[decode_as_type(
27371						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27372					)]
27373					#[encode_as_type(
27374						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27375					)]
27376					pub enum DigestItem {
27377						#[codec(index = 6)]
27378						PreRuntime(
27379							[::core::primitive::u8; 4usize],
27380							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
27381						),
27382						#[codec(index = 4)]
27383						Consensus(
27384							[::core::primitive::u8; 4usize],
27385							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
27386						),
27387						#[codec(index = 5)]
27388						Seal(
27389							[::core::primitive::u8; 4usize],
27390							::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
27391						),
27392						#[codec(index = 0)]
27393						Other(::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>),
27394						#[codec(index = 8)]
27395						RuntimeEnvironmentUpdated,
27396					}
27397				}
27398				pub mod era {
27399					use super::runtime_types;
27400					#[derive(
27401						:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27402						:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27403						Debug,
27404					)]
27405					#[decode_as_type(
27406						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27407					)]
27408					#[encode_as_type(
27409						crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27410					)]
27411					pub enum Era {
27412						#[codec(index = 0)]
27413						Immortal,
27414						#[codec(index = 1)]
27415						Mortal1(::core::primitive::u8),
27416						#[codec(index = 2)]
27417						Mortal2(::core::primitive::u8),
27418						#[codec(index = 3)]
27419						Mortal3(::core::primitive::u8),
27420						#[codec(index = 4)]
27421						Mortal4(::core::primitive::u8),
27422						#[codec(index = 5)]
27423						Mortal5(::core::primitive::u8),
27424						#[codec(index = 6)]
27425						Mortal6(::core::primitive::u8),
27426						#[codec(index = 7)]
27427						Mortal7(::core::primitive::u8),
27428						#[codec(index = 8)]
27429						Mortal8(::core::primitive::u8),
27430						#[codec(index = 9)]
27431						Mortal9(::core::primitive::u8),
27432						#[codec(index = 10)]
27433						Mortal10(::core::primitive::u8),
27434						#[codec(index = 11)]
27435						Mortal11(::core::primitive::u8),
27436						#[codec(index = 12)]
27437						Mortal12(::core::primitive::u8),
27438						#[codec(index = 13)]
27439						Mortal13(::core::primitive::u8),
27440						#[codec(index = 14)]
27441						Mortal14(::core::primitive::u8),
27442						#[codec(index = 15)]
27443						Mortal15(::core::primitive::u8),
27444						#[codec(index = 16)]
27445						Mortal16(::core::primitive::u8),
27446						#[codec(index = 17)]
27447						Mortal17(::core::primitive::u8),
27448						#[codec(index = 18)]
27449						Mortal18(::core::primitive::u8),
27450						#[codec(index = 19)]
27451						Mortal19(::core::primitive::u8),
27452						#[codec(index = 20)]
27453						Mortal20(::core::primitive::u8),
27454						#[codec(index = 21)]
27455						Mortal21(::core::primitive::u8),
27456						#[codec(index = 22)]
27457						Mortal22(::core::primitive::u8),
27458						#[codec(index = 23)]
27459						Mortal23(::core::primitive::u8),
27460						#[codec(index = 24)]
27461						Mortal24(::core::primitive::u8),
27462						#[codec(index = 25)]
27463						Mortal25(::core::primitive::u8),
27464						#[codec(index = 26)]
27465						Mortal26(::core::primitive::u8),
27466						#[codec(index = 27)]
27467						Mortal27(::core::primitive::u8),
27468						#[codec(index = 28)]
27469						Mortal28(::core::primitive::u8),
27470						#[codec(index = 29)]
27471						Mortal29(::core::primitive::u8),
27472						#[codec(index = 30)]
27473						Mortal30(::core::primitive::u8),
27474						#[codec(index = 31)]
27475						Mortal31(::core::primitive::u8),
27476						#[codec(index = 32)]
27477						Mortal32(::core::primitive::u8),
27478						#[codec(index = 33)]
27479						Mortal33(::core::primitive::u8),
27480						#[codec(index = 34)]
27481						Mortal34(::core::primitive::u8),
27482						#[codec(index = 35)]
27483						Mortal35(::core::primitive::u8),
27484						#[codec(index = 36)]
27485						Mortal36(::core::primitive::u8),
27486						#[codec(index = 37)]
27487						Mortal37(::core::primitive::u8),
27488						#[codec(index = 38)]
27489						Mortal38(::core::primitive::u8),
27490						#[codec(index = 39)]
27491						Mortal39(::core::primitive::u8),
27492						#[codec(index = 40)]
27493						Mortal40(::core::primitive::u8),
27494						#[codec(index = 41)]
27495						Mortal41(::core::primitive::u8),
27496						#[codec(index = 42)]
27497						Mortal42(::core::primitive::u8),
27498						#[codec(index = 43)]
27499						Mortal43(::core::primitive::u8),
27500						#[codec(index = 44)]
27501						Mortal44(::core::primitive::u8),
27502						#[codec(index = 45)]
27503						Mortal45(::core::primitive::u8),
27504						#[codec(index = 46)]
27505						Mortal46(::core::primitive::u8),
27506						#[codec(index = 47)]
27507						Mortal47(::core::primitive::u8),
27508						#[codec(index = 48)]
27509						Mortal48(::core::primitive::u8),
27510						#[codec(index = 49)]
27511						Mortal49(::core::primitive::u8),
27512						#[codec(index = 50)]
27513						Mortal50(::core::primitive::u8),
27514						#[codec(index = 51)]
27515						Mortal51(::core::primitive::u8),
27516						#[codec(index = 52)]
27517						Mortal52(::core::primitive::u8),
27518						#[codec(index = 53)]
27519						Mortal53(::core::primitive::u8),
27520						#[codec(index = 54)]
27521						Mortal54(::core::primitive::u8),
27522						#[codec(index = 55)]
27523						Mortal55(::core::primitive::u8),
27524						#[codec(index = 56)]
27525						Mortal56(::core::primitive::u8),
27526						#[codec(index = 57)]
27527						Mortal57(::core::primitive::u8),
27528						#[codec(index = 58)]
27529						Mortal58(::core::primitive::u8),
27530						#[codec(index = 59)]
27531						Mortal59(::core::primitive::u8),
27532						#[codec(index = 60)]
27533						Mortal60(::core::primitive::u8),
27534						#[codec(index = 61)]
27535						Mortal61(::core::primitive::u8),
27536						#[codec(index = 62)]
27537						Mortal62(::core::primitive::u8),
27538						#[codec(index = 63)]
27539						Mortal63(::core::primitive::u8),
27540						#[codec(index = 64)]
27541						Mortal64(::core::primitive::u8),
27542						#[codec(index = 65)]
27543						Mortal65(::core::primitive::u8),
27544						#[codec(index = 66)]
27545						Mortal66(::core::primitive::u8),
27546						#[codec(index = 67)]
27547						Mortal67(::core::primitive::u8),
27548						#[codec(index = 68)]
27549						Mortal68(::core::primitive::u8),
27550						#[codec(index = 69)]
27551						Mortal69(::core::primitive::u8),
27552						#[codec(index = 70)]
27553						Mortal70(::core::primitive::u8),
27554						#[codec(index = 71)]
27555						Mortal71(::core::primitive::u8),
27556						#[codec(index = 72)]
27557						Mortal72(::core::primitive::u8),
27558						#[codec(index = 73)]
27559						Mortal73(::core::primitive::u8),
27560						#[codec(index = 74)]
27561						Mortal74(::core::primitive::u8),
27562						#[codec(index = 75)]
27563						Mortal75(::core::primitive::u8),
27564						#[codec(index = 76)]
27565						Mortal76(::core::primitive::u8),
27566						#[codec(index = 77)]
27567						Mortal77(::core::primitive::u8),
27568						#[codec(index = 78)]
27569						Mortal78(::core::primitive::u8),
27570						#[codec(index = 79)]
27571						Mortal79(::core::primitive::u8),
27572						#[codec(index = 80)]
27573						Mortal80(::core::primitive::u8),
27574						#[codec(index = 81)]
27575						Mortal81(::core::primitive::u8),
27576						#[codec(index = 82)]
27577						Mortal82(::core::primitive::u8),
27578						#[codec(index = 83)]
27579						Mortal83(::core::primitive::u8),
27580						#[codec(index = 84)]
27581						Mortal84(::core::primitive::u8),
27582						#[codec(index = 85)]
27583						Mortal85(::core::primitive::u8),
27584						#[codec(index = 86)]
27585						Mortal86(::core::primitive::u8),
27586						#[codec(index = 87)]
27587						Mortal87(::core::primitive::u8),
27588						#[codec(index = 88)]
27589						Mortal88(::core::primitive::u8),
27590						#[codec(index = 89)]
27591						Mortal89(::core::primitive::u8),
27592						#[codec(index = 90)]
27593						Mortal90(::core::primitive::u8),
27594						#[codec(index = 91)]
27595						Mortal91(::core::primitive::u8),
27596						#[codec(index = 92)]
27597						Mortal92(::core::primitive::u8),
27598						#[codec(index = 93)]
27599						Mortal93(::core::primitive::u8),
27600						#[codec(index = 94)]
27601						Mortal94(::core::primitive::u8),
27602						#[codec(index = 95)]
27603						Mortal95(::core::primitive::u8),
27604						#[codec(index = 96)]
27605						Mortal96(::core::primitive::u8),
27606						#[codec(index = 97)]
27607						Mortal97(::core::primitive::u8),
27608						#[codec(index = 98)]
27609						Mortal98(::core::primitive::u8),
27610						#[codec(index = 99)]
27611						Mortal99(::core::primitive::u8),
27612						#[codec(index = 100)]
27613						Mortal100(::core::primitive::u8),
27614						#[codec(index = 101)]
27615						Mortal101(::core::primitive::u8),
27616						#[codec(index = 102)]
27617						Mortal102(::core::primitive::u8),
27618						#[codec(index = 103)]
27619						Mortal103(::core::primitive::u8),
27620						#[codec(index = 104)]
27621						Mortal104(::core::primitive::u8),
27622						#[codec(index = 105)]
27623						Mortal105(::core::primitive::u8),
27624						#[codec(index = 106)]
27625						Mortal106(::core::primitive::u8),
27626						#[codec(index = 107)]
27627						Mortal107(::core::primitive::u8),
27628						#[codec(index = 108)]
27629						Mortal108(::core::primitive::u8),
27630						#[codec(index = 109)]
27631						Mortal109(::core::primitive::u8),
27632						#[codec(index = 110)]
27633						Mortal110(::core::primitive::u8),
27634						#[codec(index = 111)]
27635						Mortal111(::core::primitive::u8),
27636						#[codec(index = 112)]
27637						Mortal112(::core::primitive::u8),
27638						#[codec(index = 113)]
27639						Mortal113(::core::primitive::u8),
27640						#[codec(index = 114)]
27641						Mortal114(::core::primitive::u8),
27642						#[codec(index = 115)]
27643						Mortal115(::core::primitive::u8),
27644						#[codec(index = 116)]
27645						Mortal116(::core::primitive::u8),
27646						#[codec(index = 117)]
27647						Mortal117(::core::primitive::u8),
27648						#[codec(index = 118)]
27649						Mortal118(::core::primitive::u8),
27650						#[codec(index = 119)]
27651						Mortal119(::core::primitive::u8),
27652						#[codec(index = 120)]
27653						Mortal120(::core::primitive::u8),
27654						#[codec(index = 121)]
27655						Mortal121(::core::primitive::u8),
27656						#[codec(index = 122)]
27657						Mortal122(::core::primitive::u8),
27658						#[codec(index = 123)]
27659						Mortal123(::core::primitive::u8),
27660						#[codec(index = 124)]
27661						Mortal124(::core::primitive::u8),
27662						#[codec(index = 125)]
27663						Mortal125(::core::primitive::u8),
27664						#[codec(index = 126)]
27665						Mortal126(::core::primitive::u8),
27666						#[codec(index = 127)]
27667						Mortal127(::core::primitive::u8),
27668						#[codec(index = 128)]
27669						Mortal128(::core::primitive::u8),
27670						#[codec(index = 129)]
27671						Mortal129(::core::primitive::u8),
27672						#[codec(index = 130)]
27673						Mortal130(::core::primitive::u8),
27674						#[codec(index = 131)]
27675						Mortal131(::core::primitive::u8),
27676						#[codec(index = 132)]
27677						Mortal132(::core::primitive::u8),
27678						#[codec(index = 133)]
27679						Mortal133(::core::primitive::u8),
27680						#[codec(index = 134)]
27681						Mortal134(::core::primitive::u8),
27682						#[codec(index = 135)]
27683						Mortal135(::core::primitive::u8),
27684						#[codec(index = 136)]
27685						Mortal136(::core::primitive::u8),
27686						#[codec(index = 137)]
27687						Mortal137(::core::primitive::u8),
27688						#[codec(index = 138)]
27689						Mortal138(::core::primitive::u8),
27690						#[codec(index = 139)]
27691						Mortal139(::core::primitive::u8),
27692						#[codec(index = 140)]
27693						Mortal140(::core::primitive::u8),
27694						#[codec(index = 141)]
27695						Mortal141(::core::primitive::u8),
27696						#[codec(index = 142)]
27697						Mortal142(::core::primitive::u8),
27698						#[codec(index = 143)]
27699						Mortal143(::core::primitive::u8),
27700						#[codec(index = 144)]
27701						Mortal144(::core::primitive::u8),
27702						#[codec(index = 145)]
27703						Mortal145(::core::primitive::u8),
27704						#[codec(index = 146)]
27705						Mortal146(::core::primitive::u8),
27706						#[codec(index = 147)]
27707						Mortal147(::core::primitive::u8),
27708						#[codec(index = 148)]
27709						Mortal148(::core::primitive::u8),
27710						#[codec(index = 149)]
27711						Mortal149(::core::primitive::u8),
27712						#[codec(index = 150)]
27713						Mortal150(::core::primitive::u8),
27714						#[codec(index = 151)]
27715						Mortal151(::core::primitive::u8),
27716						#[codec(index = 152)]
27717						Mortal152(::core::primitive::u8),
27718						#[codec(index = 153)]
27719						Mortal153(::core::primitive::u8),
27720						#[codec(index = 154)]
27721						Mortal154(::core::primitive::u8),
27722						#[codec(index = 155)]
27723						Mortal155(::core::primitive::u8),
27724						#[codec(index = 156)]
27725						Mortal156(::core::primitive::u8),
27726						#[codec(index = 157)]
27727						Mortal157(::core::primitive::u8),
27728						#[codec(index = 158)]
27729						Mortal158(::core::primitive::u8),
27730						#[codec(index = 159)]
27731						Mortal159(::core::primitive::u8),
27732						#[codec(index = 160)]
27733						Mortal160(::core::primitive::u8),
27734						#[codec(index = 161)]
27735						Mortal161(::core::primitive::u8),
27736						#[codec(index = 162)]
27737						Mortal162(::core::primitive::u8),
27738						#[codec(index = 163)]
27739						Mortal163(::core::primitive::u8),
27740						#[codec(index = 164)]
27741						Mortal164(::core::primitive::u8),
27742						#[codec(index = 165)]
27743						Mortal165(::core::primitive::u8),
27744						#[codec(index = 166)]
27745						Mortal166(::core::primitive::u8),
27746						#[codec(index = 167)]
27747						Mortal167(::core::primitive::u8),
27748						#[codec(index = 168)]
27749						Mortal168(::core::primitive::u8),
27750						#[codec(index = 169)]
27751						Mortal169(::core::primitive::u8),
27752						#[codec(index = 170)]
27753						Mortal170(::core::primitive::u8),
27754						#[codec(index = 171)]
27755						Mortal171(::core::primitive::u8),
27756						#[codec(index = 172)]
27757						Mortal172(::core::primitive::u8),
27758						#[codec(index = 173)]
27759						Mortal173(::core::primitive::u8),
27760						#[codec(index = 174)]
27761						Mortal174(::core::primitive::u8),
27762						#[codec(index = 175)]
27763						Mortal175(::core::primitive::u8),
27764						#[codec(index = 176)]
27765						Mortal176(::core::primitive::u8),
27766						#[codec(index = 177)]
27767						Mortal177(::core::primitive::u8),
27768						#[codec(index = 178)]
27769						Mortal178(::core::primitive::u8),
27770						#[codec(index = 179)]
27771						Mortal179(::core::primitive::u8),
27772						#[codec(index = 180)]
27773						Mortal180(::core::primitive::u8),
27774						#[codec(index = 181)]
27775						Mortal181(::core::primitive::u8),
27776						#[codec(index = 182)]
27777						Mortal182(::core::primitive::u8),
27778						#[codec(index = 183)]
27779						Mortal183(::core::primitive::u8),
27780						#[codec(index = 184)]
27781						Mortal184(::core::primitive::u8),
27782						#[codec(index = 185)]
27783						Mortal185(::core::primitive::u8),
27784						#[codec(index = 186)]
27785						Mortal186(::core::primitive::u8),
27786						#[codec(index = 187)]
27787						Mortal187(::core::primitive::u8),
27788						#[codec(index = 188)]
27789						Mortal188(::core::primitive::u8),
27790						#[codec(index = 189)]
27791						Mortal189(::core::primitive::u8),
27792						#[codec(index = 190)]
27793						Mortal190(::core::primitive::u8),
27794						#[codec(index = 191)]
27795						Mortal191(::core::primitive::u8),
27796						#[codec(index = 192)]
27797						Mortal192(::core::primitive::u8),
27798						#[codec(index = 193)]
27799						Mortal193(::core::primitive::u8),
27800						#[codec(index = 194)]
27801						Mortal194(::core::primitive::u8),
27802						#[codec(index = 195)]
27803						Mortal195(::core::primitive::u8),
27804						#[codec(index = 196)]
27805						Mortal196(::core::primitive::u8),
27806						#[codec(index = 197)]
27807						Mortal197(::core::primitive::u8),
27808						#[codec(index = 198)]
27809						Mortal198(::core::primitive::u8),
27810						#[codec(index = 199)]
27811						Mortal199(::core::primitive::u8),
27812						#[codec(index = 200)]
27813						Mortal200(::core::primitive::u8),
27814						#[codec(index = 201)]
27815						Mortal201(::core::primitive::u8),
27816						#[codec(index = 202)]
27817						Mortal202(::core::primitive::u8),
27818						#[codec(index = 203)]
27819						Mortal203(::core::primitive::u8),
27820						#[codec(index = 204)]
27821						Mortal204(::core::primitive::u8),
27822						#[codec(index = 205)]
27823						Mortal205(::core::primitive::u8),
27824						#[codec(index = 206)]
27825						Mortal206(::core::primitive::u8),
27826						#[codec(index = 207)]
27827						Mortal207(::core::primitive::u8),
27828						#[codec(index = 208)]
27829						Mortal208(::core::primitive::u8),
27830						#[codec(index = 209)]
27831						Mortal209(::core::primitive::u8),
27832						#[codec(index = 210)]
27833						Mortal210(::core::primitive::u8),
27834						#[codec(index = 211)]
27835						Mortal211(::core::primitive::u8),
27836						#[codec(index = 212)]
27837						Mortal212(::core::primitive::u8),
27838						#[codec(index = 213)]
27839						Mortal213(::core::primitive::u8),
27840						#[codec(index = 214)]
27841						Mortal214(::core::primitive::u8),
27842						#[codec(index = 215)]
27843						Mortal215(::core::primitive::u8),
27844						#[codec(index = 216)]
27845						Mortal216(::core::primitive::u8),
27846						#[codec(index = 217)]
27847						Mortal217(::core::primitive::u8),
27848						#[codec(index = 218)]
27849						Mortal218(::core::primitive::u8),
27850						#[codec(index = 219)]
27851						Mortal219(::core::primitive::u8),
27852						#[codec(index = 220)]
27853						Mortal220(::core::primitive::u8),
27854						#[codec(index = 221)]
27855						Mortal221(::core::primitive::u8),
27856						#[codec(index = 222)]
27857						Mortal222(::core::primitive::u8),
27858						#[codec(index = 223)]
27859						Mortal223(::core::primitive::u8),
27860						#[codec(index = 224)]
27861						Mortal224(::core::primitive::u8),
27862						#[codec(index = 225)]
27863						Mortal225(::core::primitive::u8),
27864						#[codec(index = 226)]
27865						Mortal226(::core::primitive::u8),
27866						#[codec(index = 227)]
27867						Mortal227(::core::primitive::u8),
27868						#[codec(index = 228)]
27869						Mortal228(::core::primitive::u8),
27870						#[codec(index = 229)]
27871						Mortal229(::core::primitive::u8),
27872						#[codec(index = 230)]
27873						Mortal230(::core::primitive::u8),
27874						#[codec(index = 231)]
27875						Mortal231(::core::primitive::u8),
27876						#[codec(index = 232)]
27877						Mortal232(::core::primitive::u8),
27878						#[codec(index = 233)]
27879						Mortal233(::core::primitive::u8),
27880						#[codec(index = 234)]
27881						Mortal234(::core::primitive::u8),
27882						#[codec(index = 235)]
27883						Mortal235(::core::primitive::u8),
27884						#[codec(index = 236)]
27885						Mortal236(::core::primitive::u8),
27886						#[codec(index = 237)]
27887						Mortal237(::core::primitive::u8),
27888						#[codec(index = 238)]
27889						Mortal238(::core::primitive::u8),
27890						#[codec(index = 239)]
27891						Mortal239(::core::primitive::u8),
27892						#[codec(index = 240)]
27893						Mortal240(::core::primitive::u8),
27894						#[codec(index = 241)]
27895						Mortal241(::core::primitive::u8),
27896						#[codec(index = 242)]
27897						Mortal242(::core::primitive::u8),
27898						#[codec(index = 243)]
27899						Mortal243(::core::primitive::u8),
27900						#[codec(index = 244)]
27901						Mortal244(::core::primitive::u8),
27902						#[codec(index = 245)]
27903						Mortal245(::core::primitive::u8),
27904						#[codec(index = 246)]
27905						Mortal246(::core::primitive::u8),
27906						#[codec(index = 247)]
27907						Mortal247(::core::primitive::u8),
27908						#[codec(index = 248)]
27909						Mortal248(::core::primitive::u8),
27910						#[codec(index = 249)]
27911						Mortal249(::core::primitive::u8),
27912						#[codec(index = 250)]
27913						Mortal250(::core::primitive::u8),
27914						#[codec(index = 251)]
27915						Mortal251(::core::primitive::u8),
27916						#[codec(index = 252)]
27917						Mortal252(::core::primitive::u8),
27918						#[codec(index = 253)]
27919						Mortal253(::core::primitive::u8),
27920						#[codec(index = 254)]
27921						Mortal254(::core::primitive::u8),
27922						#[codec(index = 255)]
27923						Mortal255(::core::primitive::u8),
27924					}
27925				}
27926			}
27927			pub mod proving_trie {
27928				use super::runtime_types;
27929				#[derive(
27930					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27931					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27932					Debug,
27933				)]
27934				#[decode_as_type(
27935					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27936				)]
27937				#[encode_as_type(
27938					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27939				)]
27940				pub enum TrieError {
27941					#[codec(index = 0)]
27942					InvalidStateRoot,
27943					#[codec(index = 1)]
27944					IncompleteDatabase,
27945					#[codec(index = 2)]
27946					ValueAtIncompleteKey,
27947					#[codec(index = 3)]
27948					DecoderError,
27949					#[codec(index = 4)]
27950					InvalidHash,
27951					#[codec(index = 5)]
27952					DuplicateKey,
27953					#[codec(index = 6)]
27954					ExtraneousNode,
27955					#[codec(index = 7)]
27956					ExtraneousValue,
27957					#[codec(index = 8)]
27958					ExtraneousHashReference,
27959					#[codec(index = 9)]
27960					InvalidChildReference,
27961					#[codec(index = 10)]
27962					ValueMismatch,
27963					#[codec(index = 11)]
27964					IncompleteProof,
27965					#[codec(index = 12)]
27966					RootMismatch,
27967					#[codec(index = 13)]
27968					DecodeError,
27969				}
27970			}
27971			pub mod transaction_validity {
27972				use super::runtime_types;
27973				#[derive(
27974					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
27975					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
27976					Debug,
27977				)]
27978				#[decode_as_type(
27979					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
27980				)]
27981				#[encode_as_type(
27982					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
27983				)]
27984				pub enum InvalidTransaction {
27985					#[codec(index = 0)]
27986					Call,
27987					#[codec(index = 1)]
27988					Payment,
27989					#[codec(index = 2)]
27990					Future,
27991					#[codec(index = 3)]
27992					Stale,
27993					#[codec(index = 4)]
27994					BadProof,
27995					#[codec(index = 5)]
27996					AncientBirthBlock,
27997					#[codec(index = 6)]
27998					ExhaustsResources,
27999					#[codec(index = 7)]
28000					Custom(::core::primitive::u8),
28001					#[codec(index = 8)]
28002					BadMandatory,
28003					#[codec(index = 9)]
28004					MandatoryValidation,
28005					#[codec(index = 10)]
28006					BadSigner,
28007					#[codec(index = 11)]
28008					IndeterminateImplicit,
28009					#[codec(index = 12)]
28010					UnknownOrigin,
28011				}
28012				#[derive(
28013					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28014					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28015					Debug,
28016				)]
28017				#[decode_as_type(
28018					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
28019				)]
28020				#[encode_as_type(
28021					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
28022				)]
28023				pub enum TransactionSource {
28024					#[codec(index = 0)]
28025					InBlock,
28026					#[codec(index = 1)]
28027					Local,
28028					#[codec(index = 2)]
28029					External,
28030				}
28031				#[derive(
28032					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28033					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28034					Debug,
28035				)]
28036				#[decode_as_type(
28037					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
28038				)]
28039				#[encode_as_type(
28040					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
28041				)]
28042				pub enum TransactionValidityError {
28043					#[codec(index = 0)]
28044					Invalid(runtime_types::sp_runtime::transaction_validity::InvalidTransaction),
28045					#[codec(index = 1)]
28046					Unknown(runtime_types::sp_runtime::transaction_validity::UnknownTransaction),
28047				}
28048				#[derive(
28049					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28050					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28051					Debug,
28052				)]
28053				#[decode_as_type(
28054					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
28055				)]
28056				#[encode_as_type(
28057					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
28058				)]
28059				pub enum UnknownTransaction {
28060					#[codec(index = 0)]
28061					CannotLookup,
28062					#[codec(index = 1)]
28063					NoUnsignedValidator,
28064					#[codec(index = 2)]
28065					Custom(::core::primitive::u8),
28066				}
28067				#[derive(
28068					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28069					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28070					Debug,
28071				)]
28072				#[decode_as_type(
28073					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
28074				)]
28075				#[encode_as_type(
28076					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
28077				)]
28078				pub struct ValidTransaction {
28079					pub priority: ::core::primitive::u64,
28080					pub requires: ::subxt::ext::subxt_core::alloc::vec::Vec<
28081						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
28082					>,
28083					pub provides: ::subxt::ext::subxt_core::alloc::vec::Vec<
28084						::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
28085					>,
28086					pub longevity: ::core::primitive::u64,
28087					pub propagate: ::core::primitive::bool,
28088				}
28089			}
28090			#[derive(
28091				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28092				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28093				Debug,
28094			)]
28095			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28096			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28097			pub enum DispatchError {
28098				#[codec(index = 0)]
28099				Other,
28100				#[codec(index = 1)]
28101				CannotLookup,
28102				#[codec(index = 2)]
28103				BadOrigin,
28104				#[codec(index = 3)]
28105				Module(runtime_types::sp_runtime::ModuleError),
28106				#[codec(index = 4)]
28107				ConsumerRemaining,
28108				#[codec(index = 5)]
28109				NoProviders,
28110				#[codec(index = 6)]
28111				TooManyConsumers,
28112				#[codec(index = 7)]
28113				Token(runtime_types::sp_runtime::TokenError),
28114				#[codec(index = 8)]
28115				Arithmetic(runtime_types::sp_arithmetic::ArithmeticError),
28116				#[codec(index = 9)]
28117				Transactional(runtime_types::sp_runtime::TransactionalError),
28118				#[codec(index = 10)]
28119				Exhausted,
28120				#[codec(index = 11)]
28121				Corruption,
28122				#[codec(index = 12)]
28123				Unavailable,
28124				#[codec(index = 13)]
28125				RootNotAllowed,
28126				#[codec(index = 14)]
28127				Trie(runtime_types::sp_runtime::proving_trie::TrieError),
28128			}
28129			#[derive(
28130				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28131				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28132				Debug,
28133			)]
28134			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28135			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28136			pub struct DispatchErrorWithPostInfo<_0> {
28137				pub post_info: _0,
28138				pub error: runtime_types::sp_runtime::DispatchError,
28139			}
28140			#[derive(
28141				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28142				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28143				Debug,
28144			)]
28145			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28146			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28147			pub enum ExtrinsicInclusionMode {
28148				#[codec(index = 0)]
28149				AllExtrinsics,
28150				#[codec(index = 1)]
28151				OnlyInherents,
28152			}
28153			#[derive(
28154				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28155				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28156				Debug,
28157			)]
28158			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28159			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28160			pub struct ModuleError {
28161				pub index: ::core::primitive::u8,
28162				pub error: [::core::primitive::u8; 4usize],
28163			}
28164			#[derive(
28165				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28166				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28167				Debug,
28168			)]
28169			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28170			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28171			pub struct OpaqueExtrinsic(
28172				pub ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
28173			);
28174			#[derive(
28175				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28176				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28177				Debug,
28178			)]
28179			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28180			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28181			pub enum TokenError {
28182				#[codec(index = 0)]
28183				FundsUnavailable,
28184				#[codec(index = 1)]
28185				OnlyProvider,
28186				#[codec(index = 2)]
28187				BelowMinimum,
28188				#[codec(index = 3)]
28189				CannotCreate,
28190				#[codec(index = 4)]
28191				UnknownAsset,
28192				#[codec(index = 5)]
28193				Frozen,
28194				#[codec(index = 6)]
28195				Unsupported,
28196				#[codec(index = 7)]
28197				CannotCreateHold,
28198				#[codec(index = 8)]
28199				NotExpendable,
28200				#[codec(index = 9)]
28201				Blocked,
28202			}
28203			#[derive(
28204				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28205				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28206				Debug,
28207			)]
28208			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28209			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28210			pub enum TransactionalError {
28211				#[codec(index = 0)]
28212				LimitReached,
28213				#[codec(index = 1)]
28214				NoLayer,
28215			}
28216		}
28217		pub mod sp_version {
28218			use super::runtime_types;
28219			#[derive(
28220				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28221				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28222				Debug,
28223			)]
28224			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28225			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28226			pub struct RuntimeVersion {
28227				pub spec_name: ::subxt::ext::subxt_core::alloc::string::String,
28228				pub impl_name: ::subxt::ext::subxt_core::alloc::string::String,
28229				pub authoring_version: ::core::primitive::u32,
28230				pub spec_version: ::core::primitive::u32,
28231				pub impl_version: ::core::primitive::u32,
28232				pub apis: ::subxt::ext::subxt_core::alloc::vec::Vec<(
28233					[::core::primitive::u8; 8usize],
28234					::core::primitive::u32,
28235				)>,
28236				pub transaction_version: ::core::primitive::u32,
28237				pub system_version: ::core::primitive::u8,
28238			}
28239		}
28240		pub mod sp_weights {
28241			use super::runtime_types;
28242			pub mod weight_v2 {
28243				use super::runtime_types;
28244				#[derive(
28245					:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28246					:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28247					Debug,
28248				)]
28249				#[decode_as_type(
28250					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode"
28251				)]
28252				#[encode_as_type(
28253					crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode"
28254				)]
28255				pub struct Weight {
28256					#[codec(compact)]
28257					pub ref_time: ::core::primitive::u64,
28258					#[codec(compact)]
28259					pub proof_size: ::core::primitive::u64,
28260				}
28261			}
28262			#[derive(
28263				:: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType,
28264				:: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType,
28265				Debug,
28266			)]
28267			#[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")]
28268			#[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")]
28269			pub struct RuntimeDbWeight {
28270				pub read: ::core::primitive::u64,
28271				pub write: ::core::primitive::u64,
28272			}
28273		}
28274	}
28275}