gsdk/metadata/
generated.rs

1// This file is part of Gear.
2//
3// Copyright (C) 2021-2025 Gear Technologies Inc.
4// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0
5//
6// This program is free software: you can redistribute it and/or modify
7// it under the terms of the GNU General Public License as published by
8// the Free Software Foundation, either version 3 of the License, or
9// (at your option) any later version.
10//
11// This program is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14// GNU General Public License for more details.
15//
16// You should have received a copy of the GNU General Public License
17// along with this program. If not, see <https://www.gnu.org/licenses/>.
18
19#[allow(dead_code, unused_imports, non_camel_case_types)]
20#[allow(clippy::all)]
21#[allow(rustdoc::broken_intra_doc_links)]
22pub mod runtime_types {
23    #[allow(unused_imports)]
24    mod root_mod {
25        pub use super::*;
26    }
27    pub mod runtime_types {
28        use super::runtime_types;
29        pub mod bounded_collections {
30            use super::runtime_types;
31            pub mod bounded_btree_map {
32                use super::runtime_types;
33                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
34                pub struct BoundedBTreeMap<_0, _1>(
35                    pub ::subxt::ext::subxt_core::utils::KeyedVec<_0, _1>,
36                );
37            }
38            pub mod bounded_vec {
39                use super::runtime_types;
40                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
41                pub struct BoundedVec<_0>(pub ::subxt::ext::subxt_core::alloc::vec::Vec<_0>);
42            }
43            pub mod weak_bounded_vec {
44                use super::runtime_types;
45                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
46                pub struct WeakBoundedVec<_0>(pub ::subxt::ext::subxt_core::alloc::vec::Vec<_0>);
47            }
48        }
49        pub mod finality_grandpa {
50            use super::runtime_types;
51            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
52            pub struct Equivocation<_0, _1, _2> {
53                pub round_number: ::core::primitive::u64,
54                pub identity: _0,
55                pub first: (_1, _2),
56                pub second: (_1, _2),
57            }
58            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
59            pub struct Precommit<_0, _1> {
60                pub target_hash: _0,
61                pub target_number: _1,
62            }
63            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
64            pub struct Prevote<_0, _1> {
65                pub target_hash: _0,
66                pub target_number: _1,
67            }
68        }
69        pub mod frame_metadata_hash_extension {
70            use super::runtime_types;
71            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
72            pub struct CheckMetadataHash {
73                pub mode: runtime_types::frame_metadata_hash_extension::Mode,
74            }
75            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
76            pub enum Mode {
77                #[codec(index = 0)]
78                Disabled,
79                #[codec(index = 1)]
80                Enabled,
81            }
82        }
83        pub mod frame_support {
84            use super::runtime_types;
85            pub mod dispatch {
86                use super::runtime_types;
87                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
88                pub enum DispatchClass {
89                    #[codec(index = 0)]
90                    Normal,
91                    #[codec(index = 1)]
92                    Operational,
93                    #[codec(index = 2)]
94                    Mandatory,
95                }
96                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
97                pub struct DispatchInfo {
98                    pub weight: runtime_types::sp_weights::weight_v2::Weight,
99                    pub class: runtime_types::frame_support::dispatch::DispatchClass,
100                    pub pays_fee: runtime_types::frame_support::dispatch::Pays,
101                }
102                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
103                pub enum Pays {
104                    #[codec(index = 0)]
105                    Yes,
106                    #[codec(index = 1)]
107                    No,
108                }
109                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
110                pub struct PerDispatchClass<_0> {
111                    pub normal: _0,
112                    pub operational: _0,
113                    pub mandatory: _0,
114                }
115                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
116                pub struct PostDispatchInfo {
117                    pub actual_weight:
118                        ::core::option::Option<runtime_types::sp_weights::weight_v2::Weight>,
119                    pub pays_fee: runtime_types::frame_support::dispatch::Pays,
120                }
121                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
122                pub enum RawOrigin<_0> {
123                    #[codec(index = 0)]
124                    Root,
125                    #[codec(index = 1)]
126                    Signed(_0),
127                    #[codec(index = 2)]
128                    None,
129                }
130            }
131            pub mod traits {
132                use super::runtime_types;
133                pub mod preimages {
134                    use super::runtime_types;
135                    #[derive(
136                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
137                    )]
138                    pub enum Bounded<_0, _1> {
139                        #[codec(index = 0)]
140                        Legacy {
141                            hash: ::subxt::ext::subxt_core::utils::H256,
142                        },
143                        #[codec(index = 1)]
144                        Inline(
145                            runtime_types::bounded_collections::bounded_vec::BoundedVec<
146                                ::core::primitive::u8,
147                            >,
148                        ),
149                        #[codec(index = 2)]
150                        Lookup {
151                            hash: ::subxt::ext::subxt_core::utils::H256,
152                            len: ::core::primitive::u32,
153                        },
154                        __Ignore(::core::marker::PhantomData<(_0, _1)>),
155                    }
156                }
157                pub mod schedule {
158                    use super::runtime_types;
159                    #[derive(
160                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
161                    )]
162                    pub enum DispatchTime<_0> {
163                        #[codec(index = 0)]
164                        At(_0),
165                        #[codec(index = 1)]
166                        After(_0),
167                    }
168                }
169                pub mod tokens {
170                    use super::runtime_types;
171                    pub mod fungible {
172                        use super::runtime_types;
173                        #[derive(
174                            ::subxt::ext ::subxt_core::ext::codec::CompactAs,
175                            Debug,
176                            crate::gp::Decode,
177                            crate::gp::DecodeAsType,
178                            crate::gp::Encode,
179                        )]
180                        pub struct HoldConsideration(pub ::core::primitive::u128);
181                    }
182                    pub mod misc {
183                        use super::runtime_types;
184                        #[derive(
185                            Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
186                        )]
187                        pub enum BalanceStatus {
188                            #[codec(index = 0)]
189                            Free,
190                            #[codec(index = 1)]
191                            Reserved,
192                        }
193                        #[derive(
194                            Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
195                        )]
196                        pub struct IdAmount<_0, _1> {
197                            pub id: _0,
198                            pub amount: _1,
199                        }
200                    }
201                }
202            }
203            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
204            pub struct PalletId(pub [::core::primitive::u8; 8usize]);
205        }
206        pub mod frame_system {
207            use super::runtime_types;
208            pub mod extensions {
209                use super::runtime_types;
210                pub mod check_genesis {
211                    use super::runtime_types;
212                    #[derive(
213                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
214                    )]
215                    pub struct CheckGenesis;
216                }
217                pub mod check_mortality {
218                    use super::runtime_types;
219                    #[derive(
220                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
221                    )]
222                    pub struct CheckMortality(pub runtime_types::sp_runtime::generic::era::Era);
223                }
224                pub mod check_non_zero_sender {
225                    use super::runtime_types;
226                    #[derive(
227                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
228                    )]
229                    pub struct CheckNonZeroSender;
230                }
231                pub mod check_spec_version {
232                    use super::runtime_types;
233                    #[derive(
234                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
235                    )]
236                    pub struct CheckSpecVersion;
237                }
238                pub mod check_tx_version {
239                    use super::runtime_types;
240                    #[derive(
241                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
242                    )]
243                    pub struct CheckTxVersion;
244                }
245                pub mod check_weight {
246                    use super::runtime_types;
247                    #[derive(
248                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
249                    )]
250                    pub struct CheckWeight;
251                }
252            }
253            pub mod limits {
254                use super::runtime_types;
255                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
256                pub struct BlockLength {
257                    pub max: runtime_types::frame_support::dispatch::PerDispatchClass<
258                        ::core::primitive::u32,
259                    >,
260                }
261                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
262                pub struct BlockWeights {
263                    pub base_block: runtime_types::sp_weights::weight_v2::Weight,
264                    pub max_block: runtime_types::sp_weights::weight_v2::Weight,
265                    pub per_class: runtime_types::frame_support::dispatch::PerDispatchClass<
266                        runtime_types::frame_system::limits::WeightsPerClass,
267                    >,
268                }
269                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
270                pub struct WeightsPerClass {
271                    pub base_extrinsic: runtime_types::sp_weights::weight_v2::Weight,
272                    pub max_extrinsic:
273                        ::core::option::Option<runtime_types::sp_weights::weight_v2::Weight>,
274                    pub max_total:
275                        ::core::option::Option<runtime_types::sp_weights::weight_v2::Weight>,
276                    pub reserved:
277                        ::core::option::Option<runtime_types::sp_weights::weight_v2::Weight>,
278                }
279            }
280            pub mod pallet {
281                use super::runtime_types;
282                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
283                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
284                pub enum Call {
285                    #[codec(index = 0)]
286                    #[doc = "Make some on-chain remark."]
287                    #[doc = ""]
288                    #[doc = "Can be executed by every `origin`."]
289                    remark {
290                        remark: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
291                    },
292                    #[codec(index = 1)]
293                    #[doc = "Set the number of pages in the WebAssembly environment's heap."]
294                    set_heap_pages { pages: ::core::primitive::u64 },
295                    #[codec(index = 2)]
296                    #[doc = "Set the new runtime code."]
297                    set_code {
298                        code: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
299                    },
300                    #[codec(index = 3)]
301                    #[doc = "Set the new runtime code without doing any checks of the given `code`."]
302                    #[doc = ""]
303                    #[doc = "Note that runtime upgrades will not run if this is called with a not-increasing spec"]
304                    #[doc = "version!"]
305                    set_code_without_checks {
306                        code: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
307                    },
308                    #[codec(index = 4)]
309                    #[doc = "Set some items of storage."]
310                    set_storage {
311                        items: ::subxt::ext::subxt_core::alloc::vec::Vec<(
312                            ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
313                            ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
314                        )>,
315                    },
316                    #[codec(index = 5)]
317                    #[doc = "Kill some items from storage."]
318                    kill_storage {
319                        keys: ::subxt::ext::subxt_core::alloc::vec::Vec<
320                            ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
321                        >,
322                    },
323                    #[codec(index = 6)]
324                    #[doc = "Kill all storage items with a key that starts with the given prefix."]
325                    #[doc = ""]
326                    #[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"]
327                    #[doc = "the prefix we are removing to accurately calculate the weight of this function."]
328                    kill_prefix {
329                        prefix: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
330                        subkeys: ::core::primitive::u32,
331                    },
332                    #[codec(index = 7)]
333                    #[doc = "Make some on-chain remark and emit event."]
334                    remark_with_event {
335                        remark: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
336                    },
337                    #[codec(index = 9)]
338                    #[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
339                    #[doc = "later."]
340                    #[doc = ""]
341                    #[doc = "This call requires Root origin."]
342                    authorize_upgrade {
343                        code_hash: ::subxt::ext::subxt_core::utils::H256,
344                    },
345                    #[codec(index = 10)]
346                    #[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"]
347                    #[doc = "later."]
348                    #[doc = ""]
349                    #[doc = "WARNING: This authorizes an upgrade that will take place without any safety checks, for"]
350                    #[doc = "example that the spec name remains the same and that the version number increases. Not"]
351                    #[doc = "recommended for normal use. Use `authorize_upgrade` instead."]
352                    #[doc = ""]
353                    #[doc = "This call requires Root origin."]
354                    authorize_upgrade_without_checks {
355                        code_hash: ::subxt::ext::subxt_core::utils::H256,
356                    },
357                    #[codec(index = 11)]
358                    #[doc = "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized."]
359                    #[doc = ""]
360                    #[doc = "If the authorization required a version check, this call will ensure the spec name"]
361                    #[doc = "remains unchanged and that the spec version has increased."]
362                    #[doc = ""]
363                    #[doc = "Depending on the runtime's `OnSetCode` configuration, this function may directly apply"]
364                    #[doc = "the new `code` in the same block or attempt to schedule the upgrade."]
365                    #[doc = ""]
366                    #[doc = "All origins are allowed."]
367                    apply_authorized_upgrade {
368                        code: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
369                    },
370                }
371                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
372                #[doc = "Error for the System pallet"]
373                pub enum Error {
374                    #[codec(index = 0)]
375                    #[doc = "The name of specification does not match between the current runtime"]
376                    #[doc = "and the new runtime."]
377                    InvalidSpecName,
378                    #[codec(index = 1)]
379                    #[doc = "The specification version is not allowed to decrease between the current runtime"]
380                    #[doc = "and the new runtime."]
381                    SpecVersionNeedsToIncrease,
382                    #[codec(index = 2)]
383                    #[doc = "Failed to extract the runtime version from the new runtime."]
384                    #[doc = ""]
385                    #[doc = "Either calling `Core_version` or decoding `RuntimeVersion` failed."]
386                    FailedToExtractRuntimeVersion,
387                    #[codec(index = 3)]
388                    #[doc = "Suicide called when the account has non-default composite data."]
389                    NonDefaultComposite,
390                    #[codec(index = 4)]
391                    #[doc = "There is a non-zero reference count preventing the account from being purged."]
392                    NonZeroRefCount,
393                    #[codec(index = 5)]
394                    #[doc = "The origin filter prevent the call to be dispatched."]
395                    CallFiltered,
396                    #[codec(index = 6)]
397                    #[doc = "A multi-block migration is ongoing and prevents the current code from being replaced."]
398                    MultiBlockMigrationsOngoing,
399                    #[codec(index = 7)]
400                    #[doc = "No upgrade authorized."]
401                    NothingAuthorized,
402                    #[codec(index = 8)]
403                    #[doc = "The submitted code is not authorized."]
404                    Unauthorized,
405                }
406                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
407                #[doc = "Event for the System pallet."]
408                pub enum Event {
409                    #[codec(index = 0)]
410                    #[doc = "An extrinsic completed successfully."]
411                    ExtrinsicSuccess {
412                        dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo,
413                    },
414                    #[codec(index = 1)]
415                    #[doc = "An extrinsic failed."]
416                    ExtrinsicFailed {
417                        dispatch_error: runtime_types::sp_runtime::DispatchError,
418                        dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo,
419                    },
420                    #[codec(index = 2)]
421                    #[doc = "`:code` was updated."]
422                    CodeUpdated,
423                    #[codec(index = 3)]
424                    #[doc = "A new account was created."]
425                    NewAccount {
426                        account: ::subxt::ext::subxt_core::utils::AccountId32,
427                    },
428                    #[codec(index = 4)]
429                    #[doc = "An account was reaped."]
430                    KilledAccount {
431                        account: ::subxt::ext::subxt_core::utils::AccountId32,
432                    },
433                    #[codec(index = 5)]
434                    #[doc = "On on-chain remark happened."]
435                    Remarked {
436                        sender: ::subxt::ext::subxt_core::utils::AccountId32,
437                        hash: ::subxt::ext::subxt_core::utils::H256,
438                    },
439                    #[codec(index = 6)]
440                    #[doc = "An upgrade was authorized."]
441                    UpgradeAuthorized {
442                        code_hash: ::subxt::ext::subxt_core::utils::H256,
443                        check_version: ::core::primitive::bool,
444                    },
445                }
446            }
447            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
448            pub struct AccountInfo<_0, _1> {
449                pub nonce: _0,
450                pub consumers: ::core::primitive::u32,
451                pub providers: ::core::primitive::u32,
452                pub sufficients: ::core::primitive::u32,
453                pub data: _1,
454            }
455            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
456            pub struct CodeUpgradeAuthorization {
457                pub code_hash: ::subxt::ext::subxt_core::utils::H256,
458                pub check_version: ::core::primitive::bool,
459            }
460            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
461            pub struct EventRecord<_0, _1> {
462                pub phase: runtime_types::frame_system::Phase,
463                pub event: _0,
464                pub topics: ::subxt::ext::subxt_core::alloc::vec::Vec<_1>,
465            }
466            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
467            pub struct LastRuntimeUpgradeInfo {
468                #[codec(compact)]
469                pub spec_version: ::core::primitive::u32,
470                pub spec_name: ::subxt::ext::subxt_core::alloc::string::String,
471            }
472            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
473            pub enum Phase {
474                #[codec(index = 0)]
475                ApplyExtrinsic(::core::primitive::u32),
476                #[codec(index = 1)]
477                Finalization,
478                #[codec(index = 2)]
479                Initialization,
480            }
481        }
482        pub mod gear_common {
483            use super::runtime_types;
484            pub mod event {
485                use super::runtime_types;
486                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
487                pub enum CodeChangeKind<_0> {
488                    #[codec(index = 0)]
489                    Active {
490                        expiration: ::core::option::Option<_0>,
491                    },
492                    #[codec(index = 1)]
493                    Inactive,
494                    #[codec(index = 2)]
495                    Reinstrumented,
496                }
497                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
498                pub enum DispatchStatus {
499                    #[codec(index = 0)]
500                    Success,
501                    #[codec(index = 1)]
502                    Failed,
503                    #[codec(index = 2)]
504                    NotExecuted,
505                }
506                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
507                pub enum MessageEntry {
508                    #[codec(index = 0)]
509                    Init,
510                    #[codec(index = 1)]
511                    Handle,
512                    #[codec(index = 2)]
513                    Reply(runtime_types::gprimitives::MessageId),
514                    #[codec(index = 3)]
515                    Signal,
516                }
517                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
518                pub enum MessageWaitedRuntimeReason {
519                    #[codec(index = 0)]
520                    WaitCalled,
521                    #[codec(index = 1)]
522                    WaitForCalled,
523                    #[codec(index = 2)]
524                    WaitUpToCalled,
525                    #[codec(index = 3)]
526                    WaitUpToCalledFull,
527                }
528                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
529                pub enum MessageWaitedSystemReason {}
530                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
531                pub enum MessageWokenRuntimeReason {
532                    #[codec(index = 0)]
533                    WakeCalled,
534                }
535                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
536                pub enum MessageWokenSystemReason {
537                    #[codec(index = 0)]
538                    ProgramGotInitialized,
539                    #[codec(index = 1)]
540                    TimeoutHasCome,
541                    #[codec(index = 2)]
542                    OutOfRent,
543                }
544                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
545                pub enum ProgramChangeKind<_0> {
546                    #[codec(index = 0)]
547                    Active { expiration: _0 },
548                    #[codec(index = 1)]
549                    Inactive,
550                    #[codec(index = 2)]
551                    Paused,
552                    #[codec(index = 3)]
553                    Terminated,
554                    #[codec(index = 4)]
555                    ExpirationChanged { expiration: _0 },
556                    #[codec(index = 5)]
557                    ProgramSet { expiration: _0 },
558                }
559                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
560                pub enum Reason<_0, _1> {
561                    #[codec(index = 0)]
562                    Runtime(_0),
563                    #[codec(index = 1)]
564                    System(_1),
565                }
566                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
567                pub enum UserMessageReadRuntimeReason {
568                    #[codec(index = 0)]
569                    MessageReplied,
570                    #[codec(index = 1)]
571                    MessageClaimed,
572                }
573                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
574                pub enum UserMessageReadSystemReason {
575                    #[codec(index = 0)]
576                    OutOfRent,
577                }
578            }
579            pub mod gas_provider {
580                use super::runtime_types;
581                pub mod node {
582                    use super::runtime_types;
583                    #[derive(
584                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
585                    )]
586                    pub struct ChildrenRefs {
587                        pub spec_refs: ::core::primitive::u32,
588                        pub unspec_refs: ::core::primitive::u32,
589                    }
590                    #[derive(
591                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
592                    )]
593                    pub enum GasNode<_0, _1, _2, _3> {
594                        #[codec(index = 0)]
595                        External {
596                            id: _0,
597                            multiplier: runtime_types::gear_common::GasMultiplier<_3, _2>,
598                            value: _2,
599                            lock: runtime_types::gear_common::gas_provider::node::NodeLock<_2>,
600                            system_reserve: _2,
601                            refs: runtime_types::gear_common::gas_provider::node::ChildrenRefs,
602                            consumed: ::core::primitive::bool,
603                            deposit: ::core::primitive::bool,
604                        },
605                        #[codec(index = 1)]
606                        Cut {
607                            id: _0,
608                            multiplier: runtime_types::gear_common::GasMultiplier<_3, _2>,
609                            value: _2,
610                            lock: runtime_types::gear_common::gas_provider::node::NodeLock<_2>,
611                        },
612                        #[codec(index = 2)]
613                        Reserved {
614                            id: _0,
615                            multiplier: runtime_types::gear_common::GasMultiplier<_3, _2>,
616                            value: _2,
617                            lock: runtime_types::gear_common::gas_provider::node::NodeLock<_2>,
618                            refs: runtime_types::gear_common::gas_provider::node::ChildrenRefs,
619                            consumed: ::core::primitive::bool,
620                        },
621                        #[codec(index = 3)]
622                        SpecifiedLocal {
623                            parent: _1,
624                            root: _1,
625                            value: _2,
626                            lock: runtime_types::gear_common::gas_provider::node::NodeLock<_2>,
627                            system_reserve: _2,
628                            refs: runtime_types::gear_common::gas_provider::node::ChildrenRefs,
629                            consumed: ::core::primitive::bool,
630                        },
631                        #[codec(index = 4)]
632                        UnspecifiedLocal {
633                            parent: _1,
634                            root: _1,
635                            lock: runtime_types::gear_common::gas_provider::node::NodeLock<_2>,
636                            system_reserve: _2,
637                        },
638                    }
639                    #[derive(
640                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
641                    )]
642                    pub enum GasNodeId<_0, _1> {
643                        #[codec(index = 0)]
644                        Node(_0),
645                        #[codec(index = 1)]
646                        Reservation(_1),
647                    }
648                    #[derive(
649                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
650                    )]
651                    pub struct NodeLock<_0>(pub [_0; 4usize]);
652                }
653            }
654            pub mod storage {
655                use super::runtime_types;
656                pub mod complicated {
657                    use super::runtime_types;
658                    pub mod dequeue {
659                        use super::runtime_types;
660                        #[derive(
661                            Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
662                        )]
663                        pub struct LinkedNode<_0, _1> {
664                            pub next: ::core::option::Option<_0>,
665                            pub value: _1,
666                        }
667                    }
668                }
669                pub mod primitives {
670                    use super::runtime_types;
671                    #[derive(
672                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
673                    )]
674                    pub struct Interval<_0> {
675                        pub start: _0,
676                        pub finish: _0,
677                    }
678                }
679            }
680            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
681            pub struct CodeMetadata {
682                pub author: ::subxt::ext::subxt_core::utils::H256,
683                #[codec(compact)]
684                pub block_number: ::core::primitive::u32,
685            }
686            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
687            pub enum GasMultiplier<_0, _1> {
688                #[codec(index = 0)]
689                ValuePerGas(_0),
690                #[codec(index = 1)]
691                GasPerValue(_1),
692            }
693        }
694        pub mod gear_core {
695            use super::runtime_types;
696            pub mod buffer {
697                use super::runtime_types;
698                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
699                pub struct LimitedVec<_0, _1>(
700                    pub ::subxt::ext::subxt_core::alloc::vec::Vec<_0>,
701                    #[codec(skip)] pub ::core::marker::PhantomData<_1>,
702                );
703            }
704            pub mod code {
705                use super::runtime_types;
706                pub mod instrumented {
707                    use super::runtime_types;
708                    #[derive(
709                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
710                    )]
711                    pub struct InstantiatedSectionSizes {
712                        pub code_section: ::core::primitive::u32,
713                        pub data_section: ::core::primitive::u32,
714                        pub global_section: ::core::primitive::u32,
715                        pub table_section: ::core::primitive::u32,
716                        pub element_section: ::core::primitive::u32,
717                        pub type_section: ::core::primitive::u32,
718                    }
719                    #[derive(
720                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
721                    )]
722                    pub struct InstrumentedCode {
723                        pub code: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
724                        pub original_code_len: ::core::primitive::u32,
725                        pub exports: ::subxt::ext::subxt_core::alloc::vec::Vec<
726                            runtime_types::gear_core::message::DispatchKind,
727                        >,
728                        pub static_pages: runtime_types::gear_core::pages::PagesAmount,
729                        pub stack_end:
730                            ::core::option::Option<runtime_types::gear_core::pages::Page>,
731                        pub instantiated_section_sizes:
732                            runtime_types::gear_core::code::instrumented::InstantiatedSectionSizes,
733                        pub version: ::core::primitive::u32,
734                    }
735                }
736            }
737            pub mod memory {
738                use super::runtime_types;
739                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
740                pub struct IntoPageBufError;
741                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
742                pub struct PageBuf(
743                    pub  runtime_types::gear_core::buffer::LimitedVec<
744                        ::core::primitive::u8,
745                        runtime_types::gear_core::memory::IntoPageBufError,
746                    >,
747                );
748            }
749            pub mod message {
750                use super::runtime_types;
751                pub mod common {
752                    use super::runtime_types;
753                    #[derive(
754                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
755                    )]
756                    pub enum MessageDetails {
757                        #[codec(index = 0)]
758                        Reply(runtime_types::gear_core::message::common::ReplyDetails),
759                        #[codec(index = 1)]
760                        Signal(runtime_types::gear_core::message::common::SignalDetails),
761                    }
762                    #[derive(
763                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
764                    )]
765                    pub struct ReplyDetails {
766                        pub to: runtime_types::gprimitives::MessageId,
767                        pub code: runtime_types::gear_core_errors::simple::ReplyCode,
768                    }
769                    #[derive(
770                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
771                    )]
772                    pub struct SignalDetails {
773                        pub to: runtime_types::gprimitives::MessageId,
774                        pub code: runtime_types::gear_core_errors::simple::SignalCode,
775                    }
776                }
777                pub mod context {
778                    use super::runtime_types;
779                    #[derive(
780                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
781                    )]
782                    pub struct ContextStore {
783                        pub initialized: ::subxt::ext::subxt_core::alloc::vec::Vec<
784                            runtime_types::gprimitives::ActorId,
785                        >,
786                        pub reservation_nonce:
787                            runtime_types::gear_core::reservation::ReservationNonce,
788                        pub system_reservation: ::core::option::Option<::core::primitive::u64>,
789                        pub local_nonce: ::core::primitive::u32,
790                    }
791                }
792                pub mod stored {
793                    use super::runtime_types;
794                    #[derive(
795                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
796                    )]
797                    pub struct StoredDelayedDispatch {
798                        pub kind: runtime_types::gear_core::message::DispatchKind,
799                        pub message: runtime_types::gear_core::message::stored::StoredMessage,
800                    }
801                    #[derive(
802                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
803                    )]
804                    pub struct StoredDispatch {
805                        pub kind: runtime_types::gear_core::message::DispatchKind,
806                        pub message: runtime_types::gear_core::message::stored::StoredMessage,
807                        pub context: ::core::option::Option<
808                            runtime_types::gear_core::message::context::ContextStore,
809                        >,
810                    }
811                    #[derive(
812                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
813                    )]
814                    pub struct StoredMessage {
815                        pub id: runtime_types::gprimitives::MessageId,
816                        pub source: runtime_types::gprimitives::ActorId,
817                        pub destination: runtime_types::gprimitives::ActorId,
818                        pub payload: runtime_types::gear_core::buffer::LimitedVec<
819                            ::core::primitive::u8,
820                            runtime_types::gear_core::message::PayloadSizeError,
821                        >,
822                        #[codec(compact)]
823                        pub value: ::core::primitive::u128,
824                        pub details: ::core::option::Option<
825                            runtime_types::gear_core::message::common::MessageDetails,
826                        >,
827                    }
828                }
829                pub mod user {
830                    use super::runtime_types;
831                    #[derive(
832                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
833                    )]
834                    pub struct UserMessage {
835                        pub id: runtime_types::gprimitives::MessageId,
836                        pub source: runtime_types::gprimitives::ActorId,
837                        pub destination: runtime_types::gprimitives::ActorId,
838                        pub payload: runtime_types::gear_core::buffer::LimitedVec<
839                            ::core::primitive::u8,
840                            runtime_types::gear_core::message::PayloadSizeError,
841                        >,
842                        #[codec(compact)]
843                        pub value: ::core::primitive::u128,
844                        pub details: ::core::option::Option<
845                            runtime_types::gear_core::message::common::ReplyDetails,
846                        >,
847                    }
848                    #[derive(
849                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
850                    )]
851                    pub struct UserStoredMessage {
852                        pub id: runtime_types::gprimitives::MessageId,
853                        pub source: runtime_types::gprimitives::ActorId,
854                        pub destination: runtime_types::gprimitives::ActorId,
855                        pub payload: runtime_types::gear_core::buffer::LimitedVec<
856                            ::core::primitive::u8,
857                            runtime_types::gear_core::message::PayloadSizeError,
858                        >,
859                        #[codec(compact)]
860                        pub value: ::core::primitive::u128,
861                    }
862                }
863                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
864                pub enum DispatchKind {
865                    #[codec(index = 0)]
866                    Init,
867                    #[codec(index = 1)]
868                    Handle,
869                    #[codec(index = 2)]
870                    Reply,
871                    #[codec(index = 3)]
872                    Signal,
873                }
874                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
875                pub struct PayloadSizeError;
876            }
877            pub mod pages {
878                use super::runtime_types;
879                #[derive(
880                    ::subxt::ext ::subxt_core::ext::codec::CompactAs,
881                    Debug,
882                    crate::gp::Decode,
883                    crate::gp::DecodeAsType,
884                    crate::gp::Encode,
885                )]
886                pub struct Page(pub ::core::primitive::u32);
887                #[derive(
888                    ::subxt::ext ::subxt_core::ext::codec::CompactAs,
889                    Debug,
890                    crate::gp::Decode,
891                    crate::gp::DecodeAsType,
892                    crate::gp::Encode,
893                )]
894                pub struct PagesAmount(pub ::core::primitive::u32);
895            }
896            pub mod percent {
897                use super::runtime_types;
898                #[derive(
899                    ::subxt::ext ::subxt_core::ext::codec::CompactAs,
900                    Debug,
901                    crate::gp::Decode,
902                    crate::gp::DecodeAsType,
903                    crate::gp::Encode,
904                )]
905                pub struct Percent(pub ::core::primitive::u32);
906            }
907            pub mod program {
908                use super::runtime_types;
909                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
910                pub struct ActiveProgram<_0> {
911                    pub allocations_tree_len: ::core::primitive::u32,
912                    pub memory_infix: runtime_types::gear_core::program::MemoryInfix,
913                    pub gas_reservation_map: ::subxt::ext::subxt_core::utils::KeyedVec<
914                        runtime_types::gprimitives::ReservationId,
915                        runtime_types::gear_core::reservation::GasReservationSlot,
916                    >,
917                    pub code_hash: ::subxt::ext::subxt_core::utils::H256,
918                    pub code_exports: ::subxt::ext::subxt_core::alloc::vec::Vec<
919                        runtime_types::gear_core::message::DispatchKind,
920                    >,
921                    pub static_pages: runtime_types::gear_core::pages::PagesAmount,
922                    pub state: runtime_types::gear_core::program::ProgramState,
923                    pub expiration_block: _0,
924                }
925                #[derive(
926                    ::subxt::ext ::subxt_core::ext::codec::CompactAs,
927                    Debug,
928                    crate::gp::Decode,
929                    crate::gp::DecodeAsType,
930                    crate::gp::Encode,
931                )]
932                pub struct MemoryInfix(pub ::core::primitive::u32);
933                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
934                pub enum Program<_0> {
935                    #[codec(index = 0)]
936                    Active(runtime_types::gear_core::program::ActiveProgram<_0>),
937                    #[codec(index = 1)]
938                    Exited(runtime_types::gprimitives::ActorId),
939                    #[codec(index = 2)]
940                    Terminated(runtime_types::gprimitives::ActorId),
941                }
942                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
943                pub enum ProgramState {
944                    #[codec(index = 0)]
945                    Uninitialized {
946                        message_id: runtime_types::gprimitives::MessageId,
947                    },
948                    #[codec(index = 1)]
949                    Initialized,
950                }
951            }
952            pub mod reservation {
953                use super::runtime_types;
954                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
955                pub struct GasReservationSlot {
956                    pub amount: ::core::primitive::u64,
957                    pub start: ::core::primitive::u32,
958                    pub finish: ::core::primitive::u32,
959                }
960                #[derive(
961                    ::subxt::ext ::subxt_core::ext::codec::CompactAs,
962                    Debug,
963                    crate::gp::Decode,
964                    crate::gp::DecodeAsType,
965                    crate::gp::Encode,
966                )]
967                pub struct ReservationNonce(pub ::core::primitive::u64);
968            }
969            pub mod tasks {
970                use super::runtime_types;
971                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
972                pub enum ScheduledTask<_0, _1, _2> {
973                    #[codec(index = 0)]
974                    PauseProgram(runtime_types::gprimitives::ActorId),
975                    #[codec(index = 1)]
976                    RemoveCode(runtime_types::gprimitives::CodeId),
977                    #[codec(index = 2)]
978                    RemoveFromMailbox(_0, runtime_types::gprimitives::MessageId),
979                    #[codec(index = 3)]
980                    RemoveFromWaitlist(
981                        runtime_types::gprimitives::ActorId,
982                        runtime_types::gprimitives::MessageId,
983                    ),
984                    #[codec(index = 4)]
985                    RemovePausedProgram(runtime_types::gprimitives::ActorId),
986                    #[codec(index = 5)]
987                    WakeMessage(
988                        runtime_types::gprimitives::ActorId,
989                        runtime_types::gprimitives::MessageId,
990                    ),
991                    #[codec(index = 6)]
992                    SendDispatch(_1),
993                    #[codec(index = 7)]
994                    SendUserMessage {
995                        message_id: runtime_types::gprimitives::MessageId,
996                        to_mailbox: _2,
997                    },
998                    #[codec(index = 8)]
999                    RemoveGasReservation(
1000                        runtime_types::gprimitives::ActorId,
1001                        runtime_types::gprimitives::ReservationId,
1002                    ),
1003                    #[codec(index = 9)]
1004                    RemoveResumeSession(::core::primitive::u32),
1005                }
1006            }
1007        }
1008        pub mod gear_core_errors {
1009            use super::runtime_types;
1010            pub mod simple {
1011                use super::runtime_types;
1012                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1013                pub enum ErrorReplyReason {
1014                    #[codec(index = 0)]
1015                    Execution(runtime_types::gear_core_errors::simple::SimpleExecutionError),
1016                    #[codec(index = 2)]
1017                    UnavailableActor(
1018                        runtime_types::gear_core_errors::simple::SimpleUnavailableActorError,
1019                    ),
1020                    #[codec(index = 3)]
1021                    RemovedFromWaitlist,
1022                    #[codec(index = 255)]
1023                    Unsupported,
1024                }
1025                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1026                pub enum ReplyCode {
1027                    #[codec(index = 0)]
1028                    Success(runtime_types::gear_core_errors::simple::SuccessReplyReason),
1029                    #[codec(index = 1)]
1030                    Error(runtime_types::gear_core_errors::simple::ErrorReplyReason),
1031                    #[codec(index = 255)]
1032                    Unsupported,
1033                }
1034                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1035                pub enum SignalCode {
1036                    #[codec(index = 0)]
1037                    Execution(runtime_types::gear_core_errors::simple::SimpleExecutionError),
1038                    #[codec(index = 1)]
1039                    RemovedFromWaitlist,
1040                }
1041                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1042                pub enum SimpleExecutionError {
1043                    #[codec(index = 0)]
1044                    RanOutOfGas,
1045                    #[codec(index = 1)]
1046                    MemoryOverflow,
1047                    #[codec(index = 2)]
1048                    BackendError,
1049                    #[codec(index = 3)]
1050                    UserspacePanic,
1051                    #[codec(index = 4)]
1052                    UnreachableInstruction,
1053                    #[codec(index = 5)]
1054                    StackLimitExceeded,
1055                    #[codec(index = 255)]
1056                    Unsupported,
1057                }
1058                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1059                pub enum SimpleUnavailableActorError {
1060                    #[codec(index = 0)]
1061                    ProgramExited,
1062                    #[codec(index = 1)]
1063                    InitializationFailure,
1064                    #[codec(index = 2)]
1065                    Uninitialized,
1066                    #[codec(index = 3)]
1067                    ProgramNotCreated,
1068                    #[codec(index = 4)]
1069                    ReinstrumentationFailure,
1070                    #[codec(index = 255)]
1071                    Unsupported,
1072                }
1073                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1074                pub enum SuccessReplyReason {
1075                    #[codec(index = 0)]
1076                    Auto,
1077                    #[codec(index = 1)]
1078                    Manual,
1079                    #[codec(index = 255)]
1080                    Unsupported,
1081                }
1082            }
1083        }
1084        pub mod gprimitives {
1085            use super::runtime_types;
1086            #[derive(
1087                Copy, Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
1088            )]
1089            pub struct ActorId(pub [::core::primitive::u8; 32usize]);
1090            #[derive(
1091                Copy, Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
1092            )]
1093            pub struct CodeId(pub [::core::primitive::u8; 32usize]);
1094            #[derive(
1095                Copy, Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
1096            )]
1097            pub struct MessageId(pub [::core::primitive::u8; 32usize]);
1098            #[derive(
1099                Copy, Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
1100            )]
1101            pub struct ReservationId(pub [::core::primitive::u8; 32usize]);
1102        }
1103        pub mod numerated {
1104            use super::runtime_types;
1105            pub mod tree {
1106                use super::runtime_types;
1107                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1108                pub struct IntervalsTree<_0> {
1109                    pub inner: ::subxt::ext::subxt_core::utils::KeyedVec<_0, _0>,
1110                }
1111            }
1112        }
1113        pub mod pallet_babe {
1114            use super::runtime_types;
1115            pub mod pallet {
1116                use super::runtime_types;
1117                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1118                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
1119                pub enum Call {
1120                    #[codec(index = 0)]
1121                    #[doc = "Report authority equivocation/misbehavior. This method will verify"]
1122                    #[doc = "the equivocation proof and validate the given key ownership proof"]
1123                    #[doc = "against the extracted offender. If both are valid, the offence will"]
1124                    #[doc = "be reported."]
1125                    report_equivocation {
1126                        equivocation_proof: ::subxt::ext::subxt_core::alloc::boxed::Box<
1127                            runtime_types::sp_consensus_slots::EquivocationProof<
1128                                runtime_types::sp_runtime::generic::header::Header<
1129                                    ::core::primitive::u32,
1130                                >,
1131                                runtime_types::sp_consensus_babe::app::Public,
1132                            >,
1133                        >,
1134                        key_owner_proof: runtime_types::sp_session::MembershipProof,
1135                    },
1136                    #[codec(index = 1)]
1137                    #[doc = "Report authority equivocation/misbehavior. This method will verify"]
1138                    #[doc = "the equivocation proof and validate the given key ownership proof"]
1139                    #[doc = "against the extracted offender. If both are valid, the offence will"]
1140                    #[doc = "be reported."]
1141                    #[doc = "This extrinsic must be called unsigned and it is expected that only"]
1142                    #[doc = "block authors will call it (validated in `ValidateUnsigned`), as such"]
1143                    #[doc = "if the block author is defined it will be defined as the equivocation"]
1144                    #[doc = "reporter."]
1145                    report_equivocation_unsigned {
1146                        equivocation_proof: ::subxt::ext::subxt_core::alloc::boxed::Box<
1147                            runtime_types::sp_consensus_slots::EquivocationProof<
1148                                runtime_types::sp_runtime::generic::header::Header<
1149                                    ::core::primitive::u32,
1150                                >,
1151                                runtime_types::sp_consensus_babe::app::Public,
1152                            >,
1153                        >,
1154                        key_owner_proof: runtime_types::sp_session::MembershipProof,
1155                    },
1156                    #[codec(index = 2)]
1157                    #[doc = "Plan an epoch config change. The epoch config change is recorded and will be enacted on"]
1158                    #[doc = "the next call to `enact_epoch_change`. The config will be activated one epoch after."]
1159                    #[doc = "Multiple calls to this method will replace any existing planned config change that had"]
1160                    #[doc = "not been enacted yet."]
1161                    plan_config_change {
1162                        config: runtime_types::sp_consensus_babe::digests::NextConfigDescriptor,
1163                    },
1164                }
1165                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1166                #[doc = "The `Error` enum of this pallet."]
1167                pub enum Error {
1168                    #[codec(index = 0)]
1169                    #[doc = "An equivocation proof provided as part of an equivocation report is invalid."]
1170                    InvalidEquivocationProof,
1171                    #[codec(index = 1)]
1172                    #[doc = "A key ownership proof provided as part of an equivocation report is invalid."]
1173                    InvalidKeyOwnershipProof,
1174                    #[codec(index = 2)]
1175                    #[doc = "A given equivocation report is valid but already previously reported."]
1176                    DuplicateOffenceReport,
1177                    #[codec(index = 3)]
1178                    #[doc = "Submitted configuration is invalid."]
1179                    InvalidConfiguration,
1180                }
1181            }
1182        }
1183        pub mod pallet_bags_list {
1184            use super::runtime_types;
1185            pub mod list {
1186                use super::runtime_types;
1187                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1188                pub struct Bag {
1189                    pub head: ::core::option::Option<::subxt::ext::subxt_core::utils::AccountId32>,
1190                    pub tail: ::core::option::Option<::subxt::ext::subxt_core::utils::AccountId32>,
1191                }
1192                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1193                pub enum ListError {
1194                    #[codec(index = 0)]
1195                    Duplicate,
1196                    #[codec(index = 1)]
1197                    NotHeavier,
1198                    #[codec(index = 2)]
1199                    NotInSameBag,
1200                    #[codec(index = 3)]
1201                    NodeNotFound,
1202                }
1203                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1204                pub struct Node {
1205                    pub id: ::subxt::ext::subxt_core::utils::AccountId32,
1206                    pub prev: ::core::option::Option<::subxt::ext::subxt_core::utils::AccountId32>,
1207                    pub next: ::core::option::Option<::subxt::ext::subxt_core::utils::AccountId32>,
1208                    pub bag_upper: ::core::primitive::u64,
1209                    pub score: ::core::primitive::u64,
1210                }
1211            }
1212            pub mod pallet {
1213                use super::runtime_types;
1214                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1215                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
1216                pub enum Call {
1217                    #[codec(index = 0)]
1218                    #[doc = "Declare that some `dislocated` account has, through rewards or penalties, sufficiently"]
1219                    #[doc = "changed its score that it should properly fall into a different bag than its current"]
1220                    #[doc = "one."]
1221                    #[doc = ""]
1222                    #[doc = "Anyone can call this function about any potentially dislocated account."]
1223                    #[doc = ""]
1224                    #[doc = "Will always update the stored score of `dislocated` to the correct score, based on"]
1225                    #[doc = "`ScoreProvider`."]
1226                    #[doc = ""]
1227                    #[doc = "If `dislocated` does not exists, it returns an error."]
1228                    rebag {
1229                        dislocated: ::subxt::ext::subxt_core::utils::MultiAddress<
1230                            ::subxt::ext::subxt_core::utils::AccountId32,
1231                            (),
1232                        >,
1233                    },
1234                    #[codec(index = 1)]
1235                    #[doc = "Move the caller's Id directly in front of `lighter`."]
1236                    #[doc = ""]
1237                    #[doc = "The dispatch origin for this call must be _Signed_ and can only be called by the Id of"]
1238                    #[doc = "the account going in front of `lighter`. Fee is payed by the origin under all"]
1239                    #[doc = "circumstances."]
1240                    #[doc = ""]
1241                    #[doc = "Only works if:"]
1242                    #[doc = ""]
1243                    #[doc = "- both nodes are within the same bag,"]
1244                    #[doc = "- and `origin` has a greater `Score` than `lighter`."]
1245                    put_in_front_of {
1246                        lighter: ::subxt::ext::subxt_core::utils::MultiAddress<
1247                            ::subxt::ext::subxt_core::utils::AccountId32,
1248                            (),
1249                        >,
1250                    },
1251                    #[codec(index = 2)]
1252                    #[doc = "Same as [`Pallet::put_in_front_of`], but it can be called by anyone."]
1253                    #[doc = ""]
1254                    #[doc = "Fee is paid by the origin under all circumstances."]
1255                    put_in_front_of_other {
1256                        heavier: ::subxt::ext::subxt_core::utils::MultiAddress<
1257                            ::subxt::ext::subxt_core::utils::AccountId32,
1258                            (),
1259                        >,
1260                        lighter: ::subxt::ext::subxt_core::utils::MultiAddress<
1261                            ::subxt::ext::subxt_core::utils::AccountId32,
1262                            (),
1263                        >,
1264                    },
1265                }
1266                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1267                #[doc = "The `Error` enum of this pallet."]
1268                pub enum Error {
1269                    #[codec(index = 0)]
1270                    #[doc = "A error in the list interface implementation."]
1271                    List(runtime_types::pallet_bags_list::list::ListError),
1272                }
1273                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1274                #[doc = "The `Event` enum of this pallet"]
1275                pub enum Event {
1276                    #[codec(index = 0)]
1277                    #[doc = "Moved an account from one bag to another."]
1278                    Rebagged {
1279                        who: ::subxt::ext::subxt_core::utils::AccountId32,
1280                        from: ::core::primitive::u64,
1281                        to: ::core::primitive::u64,
1282                    },
1283                    #[codec(index = 1)]
1284                    #[doc = "Updated the score of some account to the given amount."]
1285                    ScoreUpdated {
1286                        who: ::subxt::ext::subxt_core::utils::AccountId32,
1287                        new_score: ::core::primitive::u64,
1288                    },
1289                }
1290            }
1291        }
1292        pub mod pallet_balances {
1293            use super::runtime_types;
1294            pub mod pallet {
1295                use super::runtime_types;
1296                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1297                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
1298                pub enum Call {
1299                    #[codec(index = 0)]
1300                    #[doc = "Transfer some liquid free balance to another account."]
1301                    #[doc = ""]
1302                    #[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."]
1303                    #[doc = "If the sender's account is below the existential deposit as a result"]
1304                    #[doc = "of the transfer, the account will be reaped."]
1305                    #[doc = ""]
1306                    #[doc = "The dispatch origin for this call must be `Signed` by the transactor."]
1307                    transfer_allow_death {
1308                        dest: ::subxt::ext::subxt_core::utils::MultiAddress<
1309                            ::subxt::ext::subxt_core::utils::AccountId32,
1310                            (),
1311                        >,
1312                        #[codec(compact)]
1313                        value: ::core::primitive::u128,
1314                    },
1315                    #[codec(index = 2)]
1316                    #[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"]
1317                    #[doc = "may be specified."]
1318                    force_transfer {
1319                        source: ::subxt::ext::subxt_core::utils::MultiAddress<
1320                            ::subxt::ext::subxt_core::utils::AccountId32,
1321                            (),
1322                        >,
1323                        dest: ::subxt::ext::subxt_core::utils::MultiAddress<
1324                            ::subxt::ext::subxt_core::utils::AccountId32,
1325                            (),
1326                        >,
1327                        #[codec(compact)]
1328                        value: ::core::primitive::u128,
1329                    },
1330                    #[codec(index = 3)]
1331                    #[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"]
1332                    #[doc = "kill the origin account."]
1333                    #[doc = ""]
1334                    #[doc = "99% of the time you want [`transfer_allow_death`] instead."]
1335                    #[doc = ""]
1336                    #[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"]
1337                    transfer_keep_alive {
1338                        dest: ::subxt::ext::subxt_core::utils::MultiAddress<
1339                            ::subxt::ext::subxt_core::utils::AccountId32,
1340                            (),
1341                        >,
1342                        #[codec(compact)]
1343                        value: ::core::primitive::u128,
1344                    },
1345                    #[codec(index = 4)]
1346                    #[doc = "Transfer the entire transferable balance from the caller account."]
1347                    #[doc = ""]
1348                    #[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"]
1349                    #[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"]
1350                    #[doc = "transferred by this function. To ensure that this function results in a killed account,"]
1351                    #[doc = "you might need to prepare the account by removing any reference counters, storage"]
1352                    #[doc = "deposits, etc..."]
1353                    #[doc = ""]
1354                    #[doc = "The dispatch origin of this call must be Signed."]
1355                    #[doc = ""]
1356                    #[doc = "- `dest`: The recipient of the transfer."]
1357                    #[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"]
1358                    #[doc = "  of the funds the account has, causing the sender account to be killed (false), or"]
1359                    #[doc = "  transfer everything except at least the existential deposit, which will guarantee to"]
1360                    #[doc = "  keep the sender account alive (true)."]
1361                    transfer_all {
1362                        dest: ::subxt::ext::subxt_core::utils::MultiAddress<
1363                            ::subxt::ext::subxt_core::utils::AccountId32,
1364                            (),
1365                        >,
1366                        keep_alive: ::core::primitive::bool,
1367                    },
1368                    #[codec(index = 5)]
1369                    #[doc = "Unreserve some balance from a user by force."]
1370                    #[doc = ""]
1371                    #[doc = "Can only be called by ROOT."]
1372                    force_unreserve {
1373                        who: ::subxt::ext::subxt_core::utils::MultiAddress<
1374                            ::subxt::ext::subxt_core::utils::AccountId32,
1375                            (),
1376                        >,
1377                        amount: ::core::primitive::u128,
1378                    },
1379                    #[codec(index = 6)]
1380                    #[doc = "Upgrade a specified account."]
1381                    #[doc = ""]
1382                    #[doc = "- `origin`: Must be `Signed`."]
1383                    #[doc = "- `who`: The account to be upgraded."]
1384                    #[doc = ""]
1385                    #[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"]
1386                    #[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"]
1387                    #[doc = "possibility of churn)."]
1388                    upgrade_accounts {
1389                        who: ::subxt::ext::subxt_core::alloc::vec::Vec<
1390                            ::subxt::ext::subxt_core::utils::AccountId32,
1391                        >,
1392                    },
1393                    #[codec(index = 8)]
1394                    #[doc = "Set the regular balance of a given account."]
1395                    #[doc = ""]
1396                    #[doc = "The dispatch origin for this call is `root`."]
1397                    force_set_balance {
1398                        who: ::subxt::ext::subxt_core::utils::MultiAddress<
1399                            ::subxt::ext::subxt_core::utils::AccountId32,
1400                            (),
1401                        >,
1402                        #[codec(compact)]
1403                        new_free: ::core::primitive::u128,
1404                    },
1405                    #[codec(index = 9)]
1406                    #[doc = "Adjust the total issuance in a saturating way."]
1407                    #[doc = ""]
1408                    #[doc = "Can only be called by root and always needs a positive `delta`."]
1409                    #[doc = ""]
1410                    #[doc = "# Example"]
1411                    force_adjust_total_issuance {
1412                        direction: runtime_types::pallet_balances::types::AdjustmentDirection,
1413                        #[codec(compact)]
1414                        delta: ::core::primitive::u128,
1415                    },
1416                    #[codec(index = 10)]
1417                    #[doc = "Burn the specified liquid free balance from the origin account."]
1418                    #[doc = ""]
1419                    #[doc = "If the origin's account ends up below the existential deposit as a result"]
1420                    #[doc = "of the burn and `keep_alive` is false, the account will be reaped."]
1421                    #[doc = ""]
1422                    #[doc = "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,"]
1423                    #[doc = "this `burn` operation will reduce total issuance by the amount _burned_."]
1424                    burn {
1425                        #[codec(compact)]
1426                        value: ::core::primitive::u128,
1427                        keep_alive: ::core::primitive::bool,
1428                    },
1429                }
1430                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1431                #[doc = "The `Error` enum of this pallet."]
1432                pub enum Error {
1433                    #[codec(index = 0)]
1434                    #[doc = "Vesting balance too high to send value."]
1435                    VestingBalance,
1436                    #[codec(index = 1)]
1437                    #[doc = "Account liquidity restrictions prevent withdrawal."]
1438                    LiquidityRestrictions,
1439                    #[codec(index = 2)]
1440                    #[doc = "Balance too low to send value."]
1441                    InsufficientBalance,
1442                    #[codec(index = 3)]
1443                    #[doc = "Value too low to create account due to existential deposit."]
1444                    ExistentialDeposit,
1445                    #[codec(index = 4)]
1446                    #[doc = "Transfer/payment would kill account."]
1447                    Expendability,
1448                    #[codec(index = 5)]
1449                    #[doc = "A vesting schedule already exists for this account."]
1450                    ExistingVestingSchedule,
1451                    #[codec(index = 6)]
1452                    #[doc = "Beneficiary account must pre-exist."]
1453                    DeadAccount,
1454                    #[codec(index = 7)]
1455                    #[doc = "Number of named reserves exceed `MaxReserves`."]
1456                    TooManyReserves,
1457                    #[codec(index = 8)]
1458                    #[doc = "Number of holds exceed `VariantCountOf<T::RuntimeHoldReason>`."]
1459                    TooManyHolds,
1460                    #[codec(index = 9)]
1461                    #[doc = "Number of freezes exceed `MaxFreezes`."]
1462                    TooManyFreezes,
1463                    #[codec(index = 10)]
1464                    #[doc = "The issuance cannot be modified since it is already deactivated."]
1465                    IssuanceDeactivated,
1466                    #[codec(index = 11)]
1467                    #[doc = "The delta cannot be zero."]
1468                    DeltaZero,
1469                }
1470                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1471                #[doc = "The `Event` enum of this pallet"]
1472                pub enum Event {
1473                    #[codec(index = 0)]
1474                    #[doc = "An account was created with some free balance."]
1475                    Endowed {
1476                        account: ::subxt::ext::subxt_core::utils::AccountId32,
1477                        free_balance: ::core::primitive::u128,
1478                    },
1479                    #[codec(index = 1)]
1480                    #[doc = "An account was removed whose balance was non-zero but below ExistentialDeposit,"]
1481                    #[doc = "resulting in an outright loss."]
1482                    DustLost {
1483                        account: ::subxt::ext::subxt_core::utils::AccountId32,
1484                        amount: ::core::primitive::u128,
1485                    },
1486                    #[codec(index = 2)]
1487                    #[doc = "Transfer succeeded."]
1488                    Transfer {
1489                        from: ::subxt::ext::subxt_core::utils::AccountId32,
1490                        to: ::subxt::ext::subxt_core::utils::AccountId32,
1491                        amount: ::core::primitive::u128,
1492                    },
1493                    #[codec(index = 3)]
1494                    #[doc = "A balance was set by root."]
1495                    BalanceSet {
1496                        who: ::subxt::ext::subxt_core::utils::AccountId32,
1497                        free: ::core::primitive::u128,
1498                    },
1499                    #[codec(index = 4)]
1500                    #[doc = "Some balance was reserved (moved from free to reserved)."]
1501                    Reserved {
1502                        who: ::subxt::ext::subxt_core::utils::AccountId32,
1503                        amount: ::core::primitive::u128,
1504                    },
1505                    #[codec(index = 5)]
1506                    #[doc = "Some balance was unreserved (moved from reserved to free)."]
1507                    Unreserved {
1508                        who: ::subxt::ext::subxt_core::utils::AccountId32,
1509                        amount: ::core::primitive::u128,
1510                    },
1511                    #[codec(index = 6)]
1512                    #[doc = "Some balance was moved from the reserve of the first account to the second account."]
1513                    #[doc = "Final argument indicates the destination balance type."]
1514                    ReserveRepatriated {
1515                        from: ::subxt::ext::subxt_core::utils::AccountId32,
1516                        to: ::subxt::ext::subxt_core::utils::AccountId32,
1517                        amount: ::core::primitive::u128,
1518                        destination_status:
1519                            runtime_types::frame_support::traits::tokens::misc::BalanceStatus,
1520                    },
1521                    #[codec(index = 7)]
1522                    #[doc = "Some amount was deposited (e.g. for transaction fees)."]
1523                    Deposit {
1524                        who: ::subxt::ext::subxt_core::utils::AccountId32,
1525                        amount: ::core::primitive::u128,
1526                    },
1527                    #[codec(index = 8)]
1528                    #[doc = "Some amount was withdrawn from the account (e.g. for transaction fees)."]
1529                    Withdraw {
1530                        who: ::subxt::ext::subxt_core::utils::AccountId32,
1531                        amount: ::core::primitive::u128,
1532                    },
1533                    #[codec(index = 9)]
1534                    #[doc = "Some amount was removed from the account (e.g. for misbehavior)."]
1535                    Slashed {
1536                        who: ::subxt::ext::subxt_core::utils::AccountId32,
1537                        amount: ::core::primitive::u128,
1538                    },
1539                    #[codec(index = 10)]
1540                    #[doc = "Some amount was minted into an account."]
1541                    Minted {
1542                        who: ::subxt::ext::subxt_core::utils::AccountId32,
1543                        amount: ::core::primitive::u128,
1544                    },
1545                    #[codec(index = 11)]
1546                    #[doc = "Some amount was burned from an account."]
1547                    Burned {
1548                        who: ::subxt::ext::subxt_core::utils::AccountId32,
1549                        amount: ::core::primitive::u128,
1550                    },
1551                    #[codec(index = 12)]
1552                    #[doc = "Some amount was suspended from an account (it can be restored later)."]
1553                    Suspended {
1554                        who: ::subxt::ext::subxt_core::utils::AccountId32,
1555                        amount: ::core::primitive::u128,
1556                    },
1557                    #[codec(index = 13)]
1558                    #[doc = "Some amount was restored into an account."]
1559                    Restored {
1560                        who: ::subxt::ext::subxt_core::utils::AccountId32,
1561                        amount: ::core::primitive::u128,
1562                    },
1563                    #[codec(index = 14)]
1564                    #[doc = "An account was upgraded."]
1565                    Upgraded {
1566                        who: ::subxt::ext::subxt_core::utils::AccountId32,
1567                    },
1568                    #[codec(index = 15)]
1569                    #[doc = "Total issuance was increased by `amount`, creating a credit to be balanced."]
1570                    Issued { amount: ::core::primitive::u128 },
1571                    #[codec(index = 16)]
1572                    #[doc = "Total issuance was decreased by `amount`, creating a debt to be balanced."]
1573                    Rescinded { amount: ::core::primitive::u128 },
1574                    #[codec(index = 17)]
1575                    #[doc = "Some balance was locked."]
1576                    Locked {
1577                        who: ::subxt::ext::subxt_core::utils::AccountId32,
1578                        amount: ::core::primitive::u128,
1579                    },
1580                    #[codec(index = 18)]
1581                    #[doc = "Some balance was unlocked."]
1582                    Unlocked {
1583                        who: ::subxt::ext::subxt_core::utils::AccountId32,
1584                        amount: ::core::primitive::u128,
1585                    },
1586                    #[codec(index = 19)]
1587                    #[doc = "Some balance was frozen."]
1588                    Frozen {
1589                        who: ::subxt::ext::subxt_core::utils::AccountId32,
1590                        amount: ::core::primitive::u128,
1591                    },
1592                    #[codec(index = 20)]
1593                    #[doc = "Some balance was thawed."]
1594                    Thawed {
1595                        who: ::subxt::ext::subxt_core::utils::AccountId32,
1596                        amount: ::core::primitive::u128,
1597                    },
1598                    #[codec(index = 21)]
1599                    #[doc = "The `TotalIssuance` was forcefully changed."]
1600                    TotalIssuanceForced {
1601                        old: ::core::primitive::u128,
1602                        new: ::core::primitive::u128,
1603                    },
1604                }
1605            }
1606            pub mod types {
1607                use super::runtime_types;
1608                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1609                pub struct AccountData<_0> {
1610                    pub free: _0,
1611                    pub reserved: _0,
1612                    pub frozen: _0,
1613                    pub flags: runtime_types::pallet_balances::types::ExtraFlags,
1614                }
1615                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1616                pub enum AdjustmentDirection {
1617                    #[codec(index = 0)]
1618                    Increase,
1619                    #[codec(index = 1)]
1620                    Decrease,
1621                }
1622                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1623                pub struct BalanceLock<_0> {
1624                    pub id: [::core::primitive::u8; 8usize],
1625                    pub amount: _0,
1626                    pub reasons: runtime_types::pallet_balances::types::Reasons,
1627                }
1628                #[derive(
1629                    ::subxt::ext ::subxt_core::ext::codec::CompactAs,
1630                    Debug,
1631                    crate::gp::Decode,
1632                    crate::gp::DecodeAsType,
1633                    crate::gp::Encode,
1634                )]
1635                pub struct ExtraFlags(pub ::core::primitive::u128);
1636                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1637                pub enum Reasons {
1638                    #[codec(index = 0)]
1639                    Fee,
1640                    #[codec(index = 1)]
1641                    Misc,
1642                    #[codec(index = 2)]
1643                    All,
1644                }
1645                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1646                pub struct ReserveData<_0, _1> {
1647                    pub id: _0,
1648                    pub amount: _1,
1649                }
1650            }
1651        }
1652        pub mod pallet_bounties {
1653            use super::runtime_types;
1654            pub mod pallet {
1655                use super::runtime_types;
1656                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1657                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
1658                pub enum Call {
1659                    #[codec(index = 0)]
1660                    #[doc = "Propose a new bounty."]
1661                    #[doc = ""]
1662                    #[doc = "The dispatch origin for this call must be _Signed_."]
1663                    #[doc = ""]
1664                    #[doc = "Payment: `TipReportDepositBase` will be reserved from the origin account, as well as"]
1665                    #[doc = "`DataDepositPerByte` for each byte in `reason`. It will be unreserved upon approval,"]
1666                    #[doc = "or slashed when rejected."]
1667                    #[doc = ""]
1668                    #[doc = "- `curator`: The curator account whom will manage this bounty."]
1669                    #[doc = "- `fee`: The curator fee."]
1670                    #[doc = "- `value`: The total payment amount of this bounty, curator fee included."]
1671                    #[doc = "- `description`: The description of this bounty."]
1672                    propose_bounty {
1673                        #[codec(compact)]
1674                        value: ::core::primitive::u128,
1675                        description:
1676                            ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
1677                    },
1678                    #[codec(index = 1)]
1679                    #[doc = "Approve a bounty proposal. At a later time, the bounty will be funded and become active"]
1680                    #[doc = "and the original deposit will be returned."]
1681                    #[doc = ""]
1682                    #[doc = "May only be called from `T::SpendOrigin`."]
1683                    #[doc = ""]
1684                    #[doc = "## Complexity"]
1685                    #[doc = "- O(1)."]
1686                    approve_bounty {
1687                        #[codec(compact)]
1688                        bounty_id: ::core::primitive::u32,
1689                    },
1690                    #[codec(index = 2)]
1691                    #[doc = "Propose a curator to a funded bounty."]
1692                    #[doc = ""]
1693                    #[doc = "May only be called from `T::SpendOrigin`."]
1694                    #[doc = ""]
1695                    #[doc = "## Complexity"]
1696                    #[doc = "- O(1)."]
1697                    propose_curator {
1698                        #[codec(compact)]
1699                        bounty_id: ::core::primitive::u32,
1700                        curator: ::subxt::ext::subxt_core::utils::MultiAddress<
1701                            ::subxt::ext::subxt_core::utils::AccountId32,
1702                            (),
1703                        >,
1704                        #[codec(compact)]
1705                        fee: ::core::primitive::u128,
1706                    },
1707                    #[codec(index = 3)]
1708                    #[doc = "Unassign curator from a bounty."]
1709                    #[doc = ""]
1710                    #[doc = "This function can only be called by the `RejectOrigin` a signed origin."]
1711                    #[doc = ""]
1712                    #[doc = "If this function is called by the `RejectOrigin`, we assume that the curator is"]
1713                    #[doc = "malicious or inactive. As a result, we will slash the curator when possible."]
1714                    #[doc = ""]
1715                    #[doc = "If the origin is the curator, we take this as a sign they are unable to do their job and"]
1716                    #[doc = "they willingly give up. We could slash them, but for now we allow them to recover their"]
1717                    #[doc = "deposit and exit without issue. (We may want to change this if it is abused.)"]
1718                    #[doc = ""]
1719                    #[doc = "Finally, the origin can be anyone if and only if the curator is \"inactive\". This allows"]
1720                    #[doc = "anyone in the community to call out that a curator is not doing their due diligence, and"]
1721                    #[doc = "we should pick a new curator. In this case the curator should also be slashed."]
1722                    #[doc = ""]
1723                    #[doc = "## Complexity"]
1724                    #[doc = "- O(1)."]
1725                    unassign_curator {
1726                        #[codec(compact)]
1727                        bounty_id: ::core::primitive::u32,
1728                    },
1729                    #[codec(index = 4)]
1730                    #[doc = "Accept the curator role for a bounty."]
1731                    #[doc = "A deposit will be reserved from curator and refund upon successful payout."]
1732                    #[doc = ""]
1733                    #[doc = "May only be called from the curator."]
1734                    #[doc = ""]
1735                    #[doc = "## Complexity"]
1736                    #[doc = "- O(1)."]
1737                    accept_curator {
1738                        #[codec(compact)]
1739                        bounty_id: ::core::primitive::u32,
1740                    },
1741                    #[codec(index = 5)]
1742                    #[doc = "Award bounty to a beneficiary account. The beneficiary will be able to claim the funds"]
1743                    #[doc = "after a delay."]
1744                    #[doc = ""]
1745                    #[doc = "The dispatch origin for this call must be the curator of this bounty."]
1746                    #[doc = ""]
1747                    #[doc = "- `bounty_id`: Bounty ID to award."]
1748                    #[doc = "- `beneficiary`: The beneficiary account whom will receive the payout."]
1749                    #[doc = ""]
1750                    #[doc = "## Complexity"]
1751                    #[doc = "- O(1)."]
1752                    award_bounty {
1753                        #[codec(compact)]
1754                        bounty_id: ::core::primitive::u32,
1755                        beneficiary: ::subxt::ext::subxt_core::utils::MultiAddress<
1756                            ::subxt::ext::subxt_core::utils::AccountId32,
1757                            (),
1758                        >,
1759                    },
1760                    #[codec(index = 6)]
1761                    #[doc = "Claim the payout from an awarded bounty after payout delay."]
1762                    #[doc = ""]
1763                    #[doc = "The dispatch origin for this call must be the beneficiary of this bounty."]
1764                    #[doc = ""]
1765                    #[doc = "- `bounty_id`: Bounty ID to claim."]
1766                    #[doc = ""]
1767                    #[doc = "## Complexity"]
1768                    #[doc = "- O(1)."]
1769                    claim_bounty {
1770                        #[codec(compact)]
1771                        bounty_id: ::core::primitive::u32,
1772                    },
1773                    #[codec(index = 7)]
1774                    #[doc = "Cancel a proposed or active bounty. All the funds will be sent to treasury and"]
1775                    #[doc = "the curator deposit will be unreserved if possible."]
1776                    #[doc = ""]
1777                    #[doc = "Only `T::RejectOrigin` is able to cancel a bounty."]
1778                    #[doc = ""]
1779                    #[doc = "- `bounty_id`: Bounty ID to cancel."]
1780                    #[doc = ""]
1781                    #[doc = "## Complexity"]
1782                    #[doc = "- O(1)."]
1783                    close_bounty {
1784                        #[codec(compact)]
1785                        bounty_id: ::core::primitive::u32,
1786                    },
1787                    #[codec(index = 8)]
1788                    #[doc = "Extend the expiry time of an active bounty."]
1789                    #[doc = ""]
1790                    #[doc = "The dispatch origin for this call must be the curator of this bounty."]
1791                    #[doc = ""]
1792                    #[doc = "- `bounty_id`: Bounty ID to extend."]
1793                    #[doc = "- `remark`: additional information."]
1794                    #[doc = ""]
1795                    #[doc = "## Complexity"]
1796                    #[doc = "- O(1)."]
1797                    extend_bounty_expiry {
1798                        #[codec(compact)]
1799                        bounty_id: ::core::primitive::u32,
1800                        remark: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
1801                    },
1802                }
1803                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1804                #[doc = "The `Error` enum of this pallet."]
1805                pub enum Error {
1806                    #[codec(index = 0)]
1807                    #[doc = "Proposer's balance is too low."]
1808                    InsufficientProposersBalance,
1809                    #[codec(index = 1)]
1810                    #[doc = "No proposal or bounty at that index."]
1811                    InvalidIndex,
1812                    #[codec(index = 2)]
1813                    #[doc = "The reason given is just too big."]
1814                    ReasonTooBig,
1815                    #[codec(index = 3)]
1816                    #[doc = "The bounty status is unexpected."]
1817                    UnexpectedStatus,
1818                    #[codec(index = 4)]
1819                    #[doc = "Require bounty curator."]
1820                    RequireCurator,
1821                    #[codec(index = 5)]
1822                    #[doc = "Invalid bounty value."]
1823                    InvalidValue,
1824                    #[codec(index = 6)]
1825                    #[doc = "Invalid bounty fee."]
1826                    InvalidFee,
1827                    #[codec(index = 7)]
1828                    #[doc = "A bounty payout is pending."]
1829                    #[doc = "To cancel the bounty, you must unassign and slash the curator."]
1830                    PendingPayout,
1831                    #[codec(index = 8)]
1832                    #[doc = "The bounties cannot be claimed/closed because it's still in the countdown period."]
1833                    Premature,
1834                    #[codec(index = 9)]
1835                    #[doc = "The bounty cannot be closed because it has active child bounties."]
1836                    HasActiveChildBounty,
1837                    #[codec(index = 10)]
1838                    #[doc = "Too many approvals are already queued."]
1839                    TooManyQueued,
1840                }
1841                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1842                #[doc = "The `Event` enum of this pallet"]
1843                pub enum Event {
1844                    #[codec(index = 0)]
1845                    #[doc = "New bounty proposal."]
1846                    BountyProposed { index: ::core::primitive::u32 },
1847                    #[codec(index = 1)]
1848                    #[doc = "A bounty proposal was rejected; funds were slashed."]
1849                    BountyRejected {
1850                        index: ::core::primitive::u32,
1851                        bond: ::core::primitive::u128,
1852                    },
1853                    #[codec(index = 2)]
1854                    #[doc = "A bounty proposal is funded and became active."]
1855                    BountyBecameActive { index: ::core::primitive::u32 },
1856                    #[codec(index = 3)]
1857                    #[doc = "A bounty is awarded to a beneficiary."]
1858                    BountyAwarded {
1859                        index: ::core::primitive::u32,
1860                        beneficiary: ::subxt::ext::subxt_core::utils::AccountId32,
1861                    },
1862                    #[codec(index = 4)]
1863                    #[doc = "A bounty is claimed by beneficiary."]
1864                    BountyClaimed {
1865                        index: ::core::primitive::u32,
1866                        payout: ::core::primitive::u128,
1867                        beneficiary: ::subxt::ext::subxt_core::utils::AccountId32,
1868                    },
1869                    #[codec(index = 5)]
1870                    #[doc = "A bounty is cancelled."]
1871                    BountyCanceled { index: ::core::primitive::u32 },
1872                    #[codec(index = 6)]
1873                    #[doc = "A bounty expiry is extended."]
1874                    BountyExtended { index: ::core::primitive::u32 },
1875                    #[codec(index = 7)]
1876                    #[doc = "A bounty is approved."]
1877                    BountyApproved { index: ::core::primitive::u32 },
1878                    #[codec(index = 8)]
1879                    #[doc = "A bounty curator is proposed."]
1880                    CuratorProposed {
1881                        bounty_id: ::core::primitive::u32,
1882                        curator: ::subxt::ext::subxt_core::utils::AccountId32,
1883                    },
1884                    #[codec(index = 9)]
1885                    #[doc = "A bounty curator is unassigned."]
1886                    CuratorUnassigned { bounty_id: ::core::primitive::u32 },
1887                    #[codec(index = 10)]
1888                    #[doc = "A bounty curator is accepted."]
1889                    CuratorAccepted {
1890                        bounty_id: ::core::primitive::u32,
1891                        curator: ::subxt::ext::subxt_core::utils::AccountId32,
1892                    },
1893                }
1894            }
1895            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1896            pub struct Bounty<_0, _1, _2> {
1897                pub proposer: _0,
1898                pub value: _1,
1899                pub fee: _1,
1900                pub curator_deposit: _1,
1901                pub bond: _1,
1902                pub status: runtime_types::pallet_bounties::BountyStatus<_0, _2>,
1903            }
1904            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1905            pub enum BountyStatus<_0, _1> {
1906                #[codec(index = 0)]
1907                Proposed,
1908                #[codec(index = 1)]
1909                Approved,
1910                #[codec(index = 2)]
1911                Funded,
1912                #[codec(index = 3)]
1913                CuratorProposed { curator: _0 },
1914                #[codec(index = 4)]
1915                Active { curator: _0, update_due: _1 },
1916                #[codec(index = 5)]
1917                PendingPayout {
1918                    curator: _0,
1919                    beneficiary: _0,
1920                    unlock_at: _1,
1921                },
1922            }
1923        }
1924        pub mod pallet_child_bounties {
1925            use super::runtime_types;
1926            pub mod pallet {
1927                use super::runtime_types;
1928                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
1929                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
1930                pub enum Call {
1931                    #[codec(index = 0)]
1932                    #[doc = "Add a new child-bounty."]
1933                    #[doc = ""]
1934                    #[doc = "The dispatch origin for this call must be the curator of parent"]
1935                    #[doc = "bounty and the parent bounty must be in \"active\" state."]
1936                    #[doc = ""]
1937                    #[doc = "Child-bounty gets added successfully & fund gets transferred from"]
1938                    #[doc = "parent bounty to child-bounty account, if parent bounty has enough"]
1939                    #[doc = "funds, else the call fails."]
1940                    #[doc = ""]
1941                    #[doc = "Upper bound to maximum number of active  child bounties that can be"]
1942                    #[doc = "added are managed via runtime trait config"]
1943                    #[doc = "[`Config::MaxActiveChildBountyCount`]."]
1944                    #[doc = ""]
1945                    #[doc = "If the call is success, the status of child-bounty is updated to"]
1946                    #[doc = "\"Added\"."]
1947                    #[doc = ""]
1948                    #[doc = "- `parent_bounty_id`: Index of parent bounty for which child-bounty is being added."]
1949                    #[doc = "- `value`: Value for executing the proposal."]
1950                    #[doc = "- `description`: Text description for the child-bounty."]
1951                    add_child_bounty {
1952                        #[codec(compact)]
1953                        parent_bounty_id: ::core::primitive::u32,
1954                        #[codec(compact)]
1955                        value: ::core::primitive::u128,
1956                        description:
1957                            ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
1958                    },
1959                    #[codec(index = 1)]
1960                    #[doc = "Propose curator for funded child-bounty."]
1961                    #[doc = ""]
1962                    #[doc = "The dispatch origin for this call must be curator of parent bounty."]
1963                    #[doc = ""]
1964                    #[doc = "Parent bounty must be in active state, for this child-bounty call to"]
1965                    #[doc = "work."]
1966                    #[doc = ""]
1967                    #[doc = "Child-bounty must be in \"Added\" state, for processing the call. And"]
1968                    #[doc = "state of child-bounty is moved to \"CuratorProposed\" on successful"]
1969                    #[doc = "call completion."]
1970                    #[doc = ""]
1971                    #[doc = "- `parent_bounty_id`: Index of parent bounty."]
1972                    #[doc = "- `child_bounty_id`: Index of child bounty."]
1973                    #[doc = "- `curator`: Address of child-bounty curator."]
1974                    #[doc = "- `fee`: payment fee to child-bounty curator for execution."]
1975                    propose_curator {
1976                        #[codec(compact)]
1977                        parent_bounty_id: ::core::primitive::u32,
1978                        #[codec(compact)]
1979                        child_bounty_id: ::core::primitive::u32,
1980                        curator: ::subxt::ext::subxt_core::utils::MultiAddress<
1981                            ::subxt::ext::subxt_core::utils::AccountId32,
1982                            (),
1983                        >,
1984                        #[codec(compact)]
1985                        fee: ::core::primitive::u128,
1986                    },
1987                    #[codec(index = 2)]
1988                    #[doc = "Accept the curator role for the child-bounty."]
1989                    #[doc = ""]
1990                    #[doc = "The dispatch origin for this call must be the curator of this"]
1991                    #[doc = "child-bounty."]
1992                    #[doc = ""]
1993                    #[doc = "A deposit will be reserved from the curator and refund upon"]
1994                    #[doc = "successful payout or cancellation."]
1995                    #[doc = ""]
1996                    #[doc = "Fee for curator is deducted from curator fee of parent bounty."]
1997                    #[doc = ""]
1998                    #[doc = "Parent bounty must be in active state, for this child-bounty call to"]
1999                    #[doc = "work."]
2000                    #[doc = ""]
2001                    #[doc = "Child-bounty must be in \"CuratorProposed\" state, for processing the"]
2002                    #[doc = "call. And state of child-bounty is moved to \"Active\" on successful"]
2003                    #[doc = "call completion."]
2004                    #[doc = ""]
2005                    #[doc = "- `parent_bounty_id`: Index of parent bounty."]
2006                    #[doc = "- `child_bounty_id`: Index of child bounty."]
2007                    accept_curator {
2008                        #[codec(compact)]
2009                        parent_bounty_id: ::core::primitive::u32,
2010                        #[codec(compact)]
2011                        child_bounty_id: ::core::primitive::u32,
2012                    },
2013                    #[codec(index = 3)]
2014                    #[doc = "Unassign curator from a child-bounty."]
2015                    #[doc = ""]
2016                    #[doc = "The dispatch origin for this call can be either `RejectOrigin`, or"]
2017                    #[doc = "the curator of the parent bounty, or any signed origin."]
2018                    #[doc = ""]
2019                    #[doc = "For the origin other than T::RejectOrigin and the child-bounty"]
2020                    #[doc = "curator, parent bounty must be in active state, for this call to"]
2021                    #[doc = "work. We allow child-bounty curator and T::RejectOrigin to execute"]
2022                    #[doc = "this call irrespective of the parent bounty state."]
2023                    #[doc = ""]
2024                    #[doc = "If this function is called by the `RejectOrigin` or the"]
2025                    #[doc = "parent bounty curator, we assume that the child-bounty curator is"]
2026                    #[doc = "malicious or inactive. As a result, child-bounty curator deposit is"]
2027                    #[doc = "slashed."]
2028                    #[doc = ""]
2029                    #[doc = "If the origin is the child-bounty curator, we take this as a sign"]
2030                    #[doc = "that they are unable to do their job, and are willingly giving up."]
2031                    #[doc = "We could slash the deposit, but for now we allow them to unreserve"]
2032                    #[doc = "their deposit and exit without issue. (We may want to change this if"]
2033                    #[doc = "it is abused.)"]
2034                    #[doc = ""]
2035                    #[doc = "Finally, the origin can be anyone iff the child-bounty curator is"]
2036                    #[doc = "\"inactive\". Expiry update due of parent bounty is used to estimate"]
2037                    #[doc = "inactive state of child-bounty curator."]
2038                    #[doc = ""]
2039                    #[doc = "This allows anyone in the community to call out that a child-bounty"]
2040                    #[doc = "curator is not doing their due diligence, and we should pick a new"]
2041                    #[doc = "one. In this case the child-bounty curator deposit is slashed."]
2042                    #[doc = ""]
2043                    #[doc = "State of child-bounty is moved to Added state on successful call"]
2044                    #[doc = "completion."]
2045                    #[doc = ""]
2046                    #[doc = "- `parent_bounty_id`: Index of parent bounty."]
2047                    #[doc = "- `child_bounty_id`: Index of child bounty."]
2048                    unassign_curator {
2049                        #[codec(compact)]
2050                        parent_bounty_id: ::core::primitive::u32,
2051                        #[codec(compact)]
2052                        child_bounty_id: ::core::primitive::u32,
2053                    },
2054                    #[codec(index = 4)]
2055                    #[doc = "Award child-bounty to a beneficiary."]
2056                    #[doc = ""]
2057                    #[doc = "The beneficiary will be able to claim the funds after a delay."]
2058                    #[doc = ""]
2059                    #[doc = "The dispatch origin for this call must be the parent curator or"]
2060                    #[doc = "curator of this child-bounty."]
2061                    #[doc = ""]
2062                    #[doc = "Parent bounty must be in active state, for this child-bounty call to"]
2063                    #[doc = "work."]
2064                    #[doc = ""]
2065                    #[doc = "Child-bounty must be in active state, for processing the call. And"]
2066                    #[doc = "state of child-bounty is moved to \"PendingPayout\" on successful call"]
2067                    #[doc = "completion."]
2068                    #[doc = ""]
2069                    #[doc = "- `parent_bounty_id`: Index of parent bounty."]
2070                    #[doc = "- `child_bounty_id`: Index of child bounty."]
2071                    #[doc = "- `beneficiary`: Beneficiary account."]
2072                    award_child_bounty {
2073                        #[codec(compact)]
2074                        parent_bounty_id: ::core::primitive::u32,
2075                        #[codec(compact)]
2076                        child_bounty_id: ::core::primitive::u32,
2077                        beneficiary: ::subxt::ext::subxt_core::utils::MultiAddress<
2078                            ::subxt::ext::subxt_core::utils::AccountId32,
2079                            (),
2080                        >,
2081                    },
2082                    #[codec(index = 5)]
2083                    #[doc = "Claim the payout from an awarded child-bounty after payout delay."]
2084                    #[doc = ""]
2085                    #[doc = "The dispatch origin for this call may be any signed origin."]
2086                    #[doc = ""]
2087                    #[doc = "Call works independent of parent bounty state, No need for parent"]
2088                    #[doc = "bounty to be in active state."]
2089                    #[doc = ""]
2090                    #[doc = "The Beneficiary is paid out with agreed bounty value. Curator fee is"]
2091                    #[doc = "paid & curator deposit is unreserved."]
2092                    #[doc = ""]
2093                    #[doc = "Child-bounty must be in \"PendingPayout\" state, for processing the"]
2094                    #[doc = "call. And instance of child-bounty is removed from the state on"]
2095                    #[doc = "successful call completion."]
2096                    #[doc = ""]
2097                    #[doc = "- `parent_bounty_id`: Index of parent bounty."]
2098                    #[doc = "- `child_bounty_id`: Index of child bounty."]
2099                    claim_child_bounty {
2100                        #[codec(compact)]
2101                        parent_bounty_id: ::core::primitive::u32,
2102                        #[codec(compact)]
2103                        child_bounty_id: ::core::primitive::u32,
2104                    },
2105                    #[codec(index = 6)]
2106                    #[doc = "Cancel a proposed or active child-bounty. Child-bounty account funds"]
2107                    #[doc = "are transferred to parent bounty account. The child-bounty curator"]
2108                    #[doc = "deposit may be unreserved if possible."]
2109                    #[doc = ""]
2110                    #[doc = "The dispatch origin for this call must be either parent curator or"]
2111                    #[doc = "`T::RejectOrigin`."]
2112                    #[doc = ""]
2113                    #[doc = "If the state of child-bounty is `Active`, curator deposit is"]
2114                    #[doc = "unreserved."]
2115                    #[doc = ""]
2116                    #[doc = "If the state of child-bounty is `PendingPayout`, call fails &"]
2117                    #[doc = "returns `PendingPayout` error."]
2118                    #[doc = ""]
2119                    #[doc = "For the origin other than T::RejectOrigin, parent bounty must be in"]
2120                    #[doc = "active state, for this child-bounty call to work. For origin"]
2121                    #[doc = "T::RejectOrigin execution is forced."]
2122                    #[doc = ""]
2123                    #[doc = "Instance of child-bounty is removed from the state on successful"]
2124                    #[doc = "call completion."]
2125                    #[doc = ""]
2126                    #[doc = "- `parent_bounty_id`: Index of parent bounty."]
2127                    #[doc = "- `child_bounty_id`: Index of child bounty."]
2128                    close_child_bounty {
2129                        #[codec(compact)]
2130                        parent_bounty_id: ::core::primitive::u32,
2131                        #[codec(compact)]
2132                        child_bounty_id: ::core::primitive::u32,
2133                    },
2134                }
2135                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2136                #[doc = "The `Error` enum of this pallet."]
2137                pub enum Error {
2138                    #[codec(index = 0)]
2139                    #[doc = "The parent bounty is not in active state."]
2140                    ParentBountyNotActive,
2141                    #[codec(index = 1)]
2142                    #[doc = "The bounty balance is not enough to add new child-bounty."]
2143                    InsufficientBountyBalance,
2144                    #[codec(index = 2)]
2145                    #[doc = "Number of child bounties exceeds limit `MaxActiveChildBountyCount`."]
2146                    TooManyChildBounties,
2147                }
2148                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2149                #[doc = "The `Event` enum of this pallet"]
2150                pub enum Event {
2151                    #[codec(index = 0)]
2152                    #[doc = "A child-bounty is added."]
2153                    Added {
2154                        index: ::core::primitive::u32,
2155                        child_index: ::core::primitive::u32,
2156                    },
2157                    #[codec(index = 1)]
2158                    #[doc = "A child-bounty is awarded to a beneficiary."]
2159                    Awarded {
2160                        index: ::core::primitive::u32,
2161                        child_index: ::core::primitive::u32,
2162                        beneficiary: ::subxt::ext::subxt_core::utils::AccountId32,
2163                    },
2164                    #[codec(index = 2)]
2165                    #[doc = "A child-bounty is claimed by beneficiary."]
2166                    Claimed {
2167                        index: ::core::primitive::u32,
2168                        child_index: ::core::primitive::u32,
2169                        payout: ::core::primitive::u128,
2170                        beneficiary: ::subxt::ext::subxt_core::utils::AccountId32,
2171                    },
2172                    #[codec(index = 3)]
2173                    #[doc = "A child-bounty is cancelled."]
2174                    Canceled {
2175                        index: ::core::primitive::u32,
2176                        child_index: ::core::primitive::u32,
2177                    },
2178                }
2179            }
2180            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2181            pub struct ChildBounty<_0, _1, _2> {
2182                pub parent_bounty: ::core::primitive::u32,
2183                pub value: _1,
2184                pub fee: _1,
2185                pub curator_deposit: _1,
2186                pub status: runtime_types::pallet_child_bounties::ChildBountyStatus<_0, _2>,
2187            }
2188            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2189            pub enum ChildBountyStatus<_0, _1> {
2190                #[codec(index = 0)]
2191                Added,
2192                #[codec(index = 1)]
2193                CuratorProposed { curator: _0 },
2194                #[codec(index = 2)]
2195                Active { curator: _0 },
2196                #[codec(index = 3)]
2197                PendingPayout {
2198                    curator: _0,
2199                    beneficiary: _0,
2200                    unlock_at: _1,
2201                },
2202            }
2203        }
2204        pub mod pallet_conviction_voting {
2205            use super::runtime_types;
2206            pub mod conviction {
2207                use super::runtime_types;
2208                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2209                pub enum Conviction {
2210                    #[codec(index = 0)]
2211                    None,
2212                    #[codec(index = 1)]
2213                    Locked1x,
2214                    #[codec(index = 2)]
2215                    Locked2x,
2216                    #[codec(index = 3)]
2217                    Locked3x,
2218                    #[codec(index = 4)]
2219                    Locked4x,
2220                    #[codec(index = 5)]
2221                    Locked5x,
2222                    #[codec(index = 6)]
2223                    Locked6x,
2224                }
2225            }
2226            pub mod pallet {
2227                use super::runtime_types;
2228                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2229                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
2230                pub enum Call {
2231                    #[codec(index = 0)]
2232                    #[doc = "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;"]
2233                    #[doc = "otherwise it is a vote to keep the status quo."]
2234                    #[doc = ""]
2235                    #[doc = "The dispatch origin of this call must be _Signed_."]
2236                    #[doc = ""]
2237                    #[doc = "- `poll_index`: The index of the poll to vote for."]
2238                    #[doc = "- `vote`: The vote configuration."]
2239                    #[doc = ""]
2240                    #[doc = "Weight: `O(R)` where R is the number of polls the voter has voted on."]
2241                    vote {
2242                        #[codec(compact)]
2243                        poll_index: ::core::primitive::u32,
2244                        vote: runtime_types::pallet_conviction_voting::vote::AccountVote<
2245                            ::core::primitive::u128,
2246                        >,
2247                    },
2248                    #[codec(index = 1)]
2249                    #[doc = "Delegate the voting power (with some given conviction) of the sending account for a"]
2250                    #[doc = "particular class of polls."]
2251                    #[doc = ""]
2252                    #[doc = "The balance delegated is locked for as long as it's delegated, and thereafter for the"]
2253                    #[doc = "time appropriate for the conviction's lock period."]
2254                    #[doc = ""]
2255                    #[doc = "The dispatch origin of this call must be _Signed_, and the signing account must either:"]
2256                    #[doc = "  - be delegating already; or"]
2257                    #[doc = "  - have no voting activity (if there is, then it will need to be removed through"]
2258                    #[doc = "    `remove_vote`)."]
2259                    #[doc = ""]
2260                    #[doc = "- `to`: The account whose voting the `target` account's voting power will follow."]
2261                    #[doc = "- `class`: The class of polls to delegate. To delegate multiple classes, multiple calls"]
2262                    #[doc = "  to this function are required."]
2263                    #[doc = "- `conviction`: The conviction that will be attached to the delegated votes. When the"]
2264                    #[doc = "  account is undelegated, the funds will be locked for the corresponding period."]
2265                    #[doc = "- `balance`: The amount of the account's balance to be used in delegating. This must not"]
2266                    #[doc = "  be more than the account's current balance."]
2267                    #[doc = ""]
2268                    #[doc = "Emits `Delegated`."]
2269                    #[doc = ""]
2270                    #[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
2271                    #[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
2272                    delegate {
2273                        class: ::core::primitive::u16,
2274                        to: ::subxt::ext::subxt_core::utils::MultiAddress<
2275                            ::subxt::ext::subxt_core::utils::AccountId32,
2276                            (),
2277                        >,
2278                        conviction: runtime_types::pallet_conviction_voting::conviction::Conviction,
2279                        balance: ::core::primitive::u128,
2280                    },
2281                    #[codec(index = 2)]
2282                    #[doc = "Undelegate the voting power of the sending account for a particular class of polls."]
2283                    #[doc = ""]
2284                    #[doc = "Tokens may be unlocked following once an amount of time consistent with the lock period"]
2285                    #[doc = "of the conviction with which the delegation was issued has passed."]
2286                    #[doc = ""]
2287                    #[doc = "The dispatch origin of this call must be _Signed_ and the signing account must be"]
2288                    #[doc = "currently delegating."]
2289                    #[doc = ""]
2290                    #[doc = "- `class`: The class of polls to remove the delegation from."]
2291                    #[doc = ""]
2292                    #[doc = "Emits `Undelegated`."]
2293                    #[doc = ""]
2294                    #[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"]
2295                    #[doc = "  voted on. Weight is initially charged as if maximum votes, but is refunded later."]
2296                    undelegate { class: ::core::primitive::u16 },
2297                    #[codec(index = 3)]
2298                    #[doc = "Remove the lock caused by prior voting/delegating which has expired within a particular"]
2299                    #[doc = "class."]
2300                    #[doc = ""]
2301                    #[doc = "The dispatch origin of this call must be _Signed_."]
2302                    #[doc = ""]
2303                    #[doc = "- `class`: The class of polls to unlock."]
2304                    #[doc = "- `target`: The account to remove the lock on."]
2305                    #[doc = ""]
2306                    #[doc = "Weight: `O(R)` with R number of vote of target."]
2307                    unlock {
2308                        class: ::core::primitive::u16,
2309                        target: ::subxt::ext::subxt_core::utils::MultiAddress<
2310                            ::subxt::ext::subxt_core::utils::AccountId32,
2311                            (),
2312                        >,
2313                    },
2314                    #[codec(index = 4)]
2315                    #[doc = "Remove a vote for a poll."]
2316                    #[doc = ""]
2317                    #[doc = "If:"]
2318                    #[doc = "- the poll was cancelled, or"]
2319                    #[doc = "- the poll is ongoing, or"]
2320                    #[doc = "- the poll has ended such that"]
2321                    #[doc = "  - the vote of the account was in opposition to the result; or"]
2322                    #[doc = "  - there was no conviction to the account's vote; or"]
2323                    #[doc = "  - the account made a split vote"]
2324                    #[doc = "...then the vote is removed cleanly and a following call to `unlock` may result in more"]
2325                    #[doc = "funds being available."]
2326                    #[doc = ""]
2327                    #[doc = "If, however, the poll has ended and:"]
2328                    #[doc = "- it finished corresponding to the vote of the account, and"]
2329                    #[doc = "- the account made a standard vote with conviction, and"]
2330                    #[doc = "- the lock period of the conviction is not over"]
2331                    #[doc = "...then the lock will be aggregated into the overall account's lock, which may involve"]
2332                    #[doc = "*overlocking* (where the two locks are combined into a single lock that is the maximum"]
2333                    #[doc = "of both the amount locked and the time is it locked for)."]
2334                    #[doc = ""]
2335                    #[doc = "The dispatch origin of this call must be _Signed_, and the signer must have a vote"]
2336                    #[doc = "registered for poll `index`."]
2337                    #[doc = ""]
2338                    #[doc = "- `index`: The index of poll of the vote to be removed."]
2339                    #[doc = "- `class`: Optional parameter, if given it indicates the class of the poll. For polls"]
2340                    #[doc = "  which have finished or are cancelled, this must be `Some`."]
2341                    #[doc = ""]
2342                    #[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
2343                    #[doc = "  Weight is calculated for the maximum number of vote."]
2344                    remove_vote {
2345                        class: ::core::option::Option<::core::primitive::u16>,
2346                        index: ::core::primitive::u32,
2347                    },
2348                    #[codec(index = 5)]
2349                    #[doc = "Remove a vote for a poll."]
2350                    #[doc = ""]
2351                    #[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"]
2352                    #[doc = "`remove_vote`. If not equal to the signer, then the vote must have expired,"]
2353                    #[doc = "either because the poll was cancelled, because the voter lost the poll or"]
2354                    #[doc = "because the conviction period is over."]
2355                    #[doc = ""]
2356                    #[doc = "The dispatch origin of this call must be _Signed_."]
2357                    #[doc = ""]
2358                    #[doc = "- `target`: The account of the vote to be removed; this account must have voted for poll"]
2359                    #[doc = "  `index`."]
2360                    #[doc = "- `index`: The index of poll of the vote to be removed."]
2361                    #[doc = "- `class`: The class of the poll."]
2362                    #[doc = ""]
2363                    #[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."]
2364                    #[doc = "  Weight is calculated for the maximum number of vote."]
2365                    remove_other_vote {
2366                        target: ::subxt::ext::subxt_core::utils::MultiAddress<
2367                            ::subxt::ext::subxt_core::utils::AccountId32,
2368                            (),
2369                        >,
2370                        class: ::core::primitive::u16,
2371                        index: ::core::primitive::u32,
2372                    },
2373                }
2374                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2375                #[doc = "The `Error` enum of this pallet."]
2376                pub enum Error {
2377                    #[codec(index = 0)]
2378                    #[doc = "Poll is not ongoing."]
2379                    NotOngoing,
2380                    #[codec(index = 1)]
2381                    #[doc = "The given account did not vote on the poll."]
2382                    NotVoter,
2383                    #[codec(index = 2)]
2384                    #[doc = "The actor has no permission to conduct the action."]
2385                    NoPermission,
2386                    #[codec(index = 3)]
2387                    #[doc = "The actor has no permission to conduct the action right now but will do in the future."]
2388                    NoPermissionYet,
2389                    #[codec(index = 4)]
2390                    #[doc = "The account is already delegating."]
2391                    AlreadyDelegating,
2392                    #[codec(index = 5)]
2393                    #[doc = "The account currently has votes attached to it and the operation cannot succeed until"]
2394                    #[doc = "these are removed through `remove_vote`."]
2395                    AlreadyVoting,
2396                    #[codec(index = 6)]
2397                    #[doc = "Too high a balance was provided that the account cannot afford."]
2398                    InsufficientFunds,
2399                    #[codec(index = 7)]
2400                    #[doc = "The account is not currently delegating."]
2401                    NotDelegating,
2402                    #[codec(index = 8)]
2403                    #[doc = "Delegation to oneself makes no sense."]
2404                    Nonsense,
2405                    #[codec(index = 9)]
2406                    #[doc = "Maximum number of votes reached."]
2407                    MaxVotesReached,
2408                    #[codec(index = 10)]
2409                    #[doc = "The class must be supplied since it is not easily determinable from the state."]
2410                    ClassNeeded,
2411                    #[codec(index = 11)]
2412                    #[doc = "The class ID supplied is invalid."]
2413                    BadClass,
2414                }
2415                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2416                #[doc = "The `Event` enum of this pallet"]
2417                pub enum Event {
2418                    #[codec(index = 0)]
2419                    #[doc = "An account has delegated their vote to another account. \\[who, target\\]"]
2420                    Delegated(
2421                        ::subxt::ext::subxt_core::utils::AccountId32,
2422                        ::subxt::ext::subxt_core::utils::AccountId32,
2423                    ),
2424                    #[codec(index = 1)]
2425                    #[doc = "An \\[account\\] has cancelled a previous delegation operation."]
2426                    Undelegated(::subxt::ext::subxt_core::utils::AccountId32),
2427                    #[codec(index = 2)]
2428                    #[doc = "An account that has voted"]
2429                    Voted {
2430                        who: ::subxt::ext::subxt_core::utils::AccountId32,
2431                        vote: runtime_types::pallet_conviction_voting::vote::AccountVote<
2432                            ::core::primitive::u128,
2433                        >,
2434                    },
2435                    #[codec(index = 3)]
2436                    #[doc = "A vote that been removed"]
2437                    VoteRemoved {
2438                        who: ::subxt::ext::subxt_core::utils::AccountId32,
2439                        vote: runtime_types::pallet_conviction_voting::vote::AccountVote<
2440                            ::core::primitive::u128,
2441                        >,
2442                    },
2443                }
2444            }
2445            pub mod types {
2446                use super::runtime_types;
2447                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2448                pub struct Delegations<_0> {
2449                    pub votes: _0,
2450                    pub capital: _0,
2451                }
2452                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2453                pub struct Tally<_0> {
2454                    pub ayes: _0,
2455                    pub nays: _0,
2456                    pub support: _0,
2457                }
2458            }
2459            pub mod vote {
2460                use super::runtime_types;
2461                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2462                pub enum AccountVote<_0> {
2463                    #[codec(index = 0)]
2464                    Standard {
2465                        vote: runtime_types::pallet_conviction_voting::vote::Vote,
2466                        balance: _0,
2467                    },
2468                    #[codec(index = 1)]
2469                    Split { aye: _0, nay: _0 },
2470                    #[codec(index = 2)]
2471                    SplitAbstain { aye: _0, nay: _0, abstain: _0 },
2472                }
2473                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2474                pub struct Casting<_0, _1, _2> {
2475                    pub votes: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
2476                        _1,
2477                        runtime_types::pallet_conviction_voting::vote::AccountVote<_0>,
2478                    )>,
2479                    pub delegations:
2480                        runtime_types::pallet_conviction_voting::types::Delegations<_0>,
2481                    pub prior: runtime_types::pallet_conviction_voting::vote::PriorLock<_1, _0>,
2482                    #[codec(skip)]
2483                    pub __ignore: ::core::marker::PhantomData<_2>,
2484                }
2485                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2486                pub struct Delegating<_0, _1, _2> {
2487                    pub balance: _0,
2488                    pub target: _1,
2489                    pub conviction: runtime_types::pallet_conviction_voting::conviction::Conviction,
2490                    pub delegations:
2491                        runtime_types::pallet_conviction_voting::types::Delegations<_0>,
2492                    pub prior: runtime_types::pallet_conviction_voting::vote::PriorLock<_2, _0>,
2493                }
2494                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2495                pub struct PriorLock<_0, _1>(pub _0, pub _1);
2496                #[derive(
2497                    ::subxt::ext ::subxt_core::ext::codec::CompactAs,
2498                    Debug,
2499                    crate::gp::Decode,
2500                    crate::gp::DecodeAsType,
2501                    crate::gp::Encode,
2502                )]
2503                pub struct Vote(pub ::core::primitive::u8);
2504                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2505                pub enum Voting<_0, _1, _2, _3> {
2506                    #[codec(index = 0)]
2507                    Casting(runtime_types::pallet_conviction_voting::vote::Casting<_0, _2, _2>),
2508                    #[codec(index = 1)]
2509                    Delegating(
2510                        runtime_types::pallet_conviction_voting::vote::Delegating<_0, _1, _2>,
2511                    ),
2512                    __Ignore(::core::marker::PhantomData<_3>),
2513                }
2514            }
2515        }
2516        pub mod pallet_election_provider_multi_phase {
2517            use super::runtime_types;
2518            pub mod pallet {
2519                use super::runtime_types;
2520                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2521                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
2522                pub enum Call {
2523                    # [codec (index = 0)] # [doc = "Submit a solution for the unsigned phase."] # [doc = ""] # [doc = "The dispatch origin fo this call must be __none__."] # [doc = ""] # [doc = "This submission is checked on the fly. Moreover, this unsigned solution is only"] # [doc = "validated when submitted to the pool from the **local** node. Effectively, this means"] # [doc = "that only active validators can submit this transaction when authoring a block (similar"] # [doc = "to an inherent)."] # [doc = ""] # [doc = "To prevent any incorrect solution (and thus wasted time/weight), this transaction will"] # [doc = "panic if the solution submitted by the validator is invalid in any way, effectively"] # [doc = "putting their authoring reward at risk."] # [doc = ""] # [doc = "No deposit or reward is associated with this submission."] submit_unsigned { raw_solution : ::subxt::ext ::subxt_core::alloc::boxed::Box < runtime_types::pallet_election_provider_multi_phase::RawSolution < runtime_types::vara_runtime::NposSolution16 > > , witness : runtime_types::pallet_election_provider_multi_phase::SolutionOrSnapshotSize , } , # [codec (index = 1)] # [doc = "Set a new value for `MinimumUntrustedScore`."] # [doc = ""] # [doc = "Dispatch origin must be aligned with `T::ForceOrigin`."] # [doc = ""] # [doc = "This check can be turned off by setting the value to `None`."] set_minimum_untrusted_score { maybe_next_score: ::core::option::Option < runtime_types::sp_npos_elections::ElectionScore > , } , # [codec (index = 2)] # [doc = "Set a solution in the queue, to be handed out to the client of this pallet in the next"] # [doc = "call to `ElectionProvider::elect`."] # [doc = ""] # [doc = "This can only be set by `T::ForceOrigin`, and only when the phase is `Emergency`."] # [doc = ""] # [doc = "The solution is not checked for any feasibility and is assumed to be trustworthy, as any"] # [doc = "feasibility check itself can in principle cause the election process to fail (due to"] # [doc = "memory/weight constrains)."] set_emergency_election_result { supports : ::subxt::ext ::subxt_core::alloc::vec::Vec < (::subxt::ext ::subxt_core::utils::AccountId32 , runtime_types::sp_npos_elections::Support < ::subxt::ext ::subxt_core::utils::AccountId32 > ,) > , } , # [codec (index = 3)] # [doc = "Submit a solution for the signed phase."] # [doc = ""] # [doc = "The dispatch origin fo this call must be __signed__."] # [doc = ""] # [doc = "The solution is potentially queued, based on the claimed score and processed at the end"] # [doc = "of the signed phase."] # [doc = ""] # [doc = "A deposit is reserved and recorded for the solution. Based on the outcome, the solution"] # [doc = "might be rewarded, slashed, or get all or a part of the deposit back."] submit { raw_solution : ::subxt::ext ::subxt_core::alloc::boxed::Box < runtime_types::pallet_election_provider_multi_phase::RawSolution < runtime_types::vara_runtime::NposSolution16 > > , } , # [codec (index = 4)] # [doc = "Trigger the governance fallback."] # [doc = ""] # [doc = "This can only be called when [`Phase::Emergency`] is enabled, as an alternative to"] # [doc = "calling [`Call::set_emergency_election_result`]."] governance_fallback { maybe_max_voters: ::core::option::Option <::core::primitive::u32 > , maybe_max_targets: ::core::option::Option <::core::primitive::u32 > , } , }
2524                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2525                #[doc = "Error of the pallet that can be returned in response to dispatches."]
2526                pub enum Error {
2527                    #[codec(index = 0)]
2528                    #[doc = "Submission was too early."]
2529                    PreDispatchEarlySubmission,
2530                    #[codec(index = 1)]
2531                    #[doc = "Wrong number of winners presented."]
2532                    PreDispatchWrongWinnerCount,
2533                    #[codec(index = 2)]
2534                    #[doc = "Submission was too weak, score-wise."]
2535                    PreDispatchWeakSubmission,
2536                    #[codec(index = 3)]
2537                    #[doc = "The queue was full, and the solution was not better than any of the existing ones."]
2538                    SignedQueueFull,
2539                    #[codec(index = 4)]
2540                    #[doc = "The origin failed to pay the deposit."]
2541                    SignedCannotPayDeposit,
2542                    #[codec(index = 5)]
2543                    #[doc = "Witness data to dispatchable is invalid."]
2544                    SignedInvalidWitness,
2545                    #[codec(index = 6)]
2546                    #[doc = "The signed submission consumes too much weight"]
2547                    SignedTooMuchWeight,
2548                    #[codec(index = 7)]
2549                    #[doc = "OCW submitted solution for wrong round"]
2550                    OcwCallWrongEra,
2551                    #[codec(index = 8)]
2552                    #[doc = "Snapshot metadata should exist but didn't."]
2553                    MissingSnapshotMetadata,
2554                    #[codec(index = 9)]
2555                    #[doc = "`Self::insert_submission` returned an invalid index."]
2556                    InvalidSubmissionIndex,
2557                    #[codec(index = 10)]
2558                    #[doc = "The call is not allowed at this point."]
2559                    CallNotAllowed,
2560                    #[codec(index = 11)]
2561                    #[doc = "The fallback failed"]
2562                    FallbackFailed,
2563                    #[codec(index = 12)]
2564                    #[doc = "Some bound not met"]
2565                    BoundNotMet,
2566                    #[codec(index = 13)]
2567                    #[doc = "Submitted solution has too many winners"]
2568                    TooManyWinners,
2569                    #[codec(index = 14)]
2570                    #[doc = "Submission was prepared for a different round."]
2571                    PreDispatchDifferentRound,
2572                }
2573                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2574                #[doc = "The `Event` enum of this pallet"]
2575                pub enum Event {
2576                    #[codec(index = 0)]
2577                    #[doc = "A solution was stored with the given compute."]
2578                    #[doc = ""]
2579                    #[doc = "The `origin` indicates the origin of the solution. If `origin` is `Some(AccountId)`,"]
2580                    #[doc = "the stored solution was submitted in the signed phase by a miner with the `AccountId`."]
2581                    #[doc = "Otherwise, the solution was stored either during the unsigned phase or by"]
2582                    #[doc = "`T::ForceOrigin`. The `bool` is `true` when a previous solution was ejected to make"]
2583                    #[doc = "room for this one."]
2584                    SolutionStored {
2585                        compute:
2586                            runtime_types::pallet_election_provider_multi_phase::ElectionCompute,
2587                        origin:
2588                            ::core::option::Option<::subxt::ext::subxt_core::utils::AccountId32>,
2589                        prev_ejected: ::core::primitive::bool,
2590                    },
2591                    #[codec(index = 1)]
2592                    #[doc = "The election has been finalized, with the given computation and score."]
2593                    ElectionFinalized {
2594                        compute:
2595                            runtime_types::pallet_election_provider_multi_phase::ElectionCompute,
2596                        score: runtime_types::sp_npos_elections::ElectionScore,
2597                    },
2598                    #[codec(index = 2)]
2599                    #[doc = "An election failed."]
2600                    #[doc = ""]
2601                    #[doc = "Not much can be said about which computes failed in the process."]
2602                    ElectionFailed,
2603                    #[codec(index = 3)]
2604                    #[doc = "An account has been rewarded for their signed submission being finalized."]
2605                    Rewarded {
2606                        account: ::subxt::ext::subxt_core::utils::AccountId32,
2607                        value: ::core::primitive::u128,
2608                    },
2609                    #[codec(index = 4)]
2610                    #[doc = "An account has been slashed for submitting an invalid signed submission."]
2611                    Slashed {
2612                        account: ::subxt::ext::subxt_core::utils::AccountId32,
2613                        value: ::core::primitive::u128,
2614                    },
2615                    #[codec(index = 5)]
2616                    #[doc = "There was a phase transition in a given round."]
2617                    PhaseTransitioned {
2618                        from: runtime_types::pallet_election_provider_multi_phase::Phase<
2619                            ::core::primitive::u32,
2620                        >,
2621                        to: runtime_types::pallet_election_provider_multi_phase::Phase<
2622                            ::core::primitive::u32,
2623                        >,
2624                        round: ::core::primitive::u32,
2625                    },
2626                }
2627            }
2628            pub mod signed {
2629                use super::runtime_types;
2630                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2631                pub struct SignedSubmission<_0, _1, _2> {
2632                    pub who: _0,
2633                    pub deposit: _1,
2634                    pub raw_solution:
2635                        runtime_types::pallet_election_provider_multi_phase::RawSolution<_2>,
2636                    pub call_fee: _1,
2637                }
2638            }
2639            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2640            pub enum ElectionCompute {
2641                #[codec(index = 0)]
2642                OnChain,
2643                #[codec(index = 1)]
2644                Signed,
2645                #[codec(index = 2)]
2646                Unsigned,
2647                #[codec(index = 3)]
2648                Fallback,
2649                #[codec(index = 4)]
2650                Emergency,
2651            }
2652            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2653            pub enum Phase<_0> {
2654                #[codec(index = 0)]
2655                Off,
2656                #[codec(index = 1)]
2657                Signed,
2658                #[codec(index = 2)]
2659                Unsigned((::core::primitive::bool, _0)),
2660                #[codec(index = 3)]
2661                Emergency,
2662            }
2663            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2664            pub struct RawSolution<_0> {
2665                pub solution: _0,
2666                pub score: runtime_types::sp_npos_elections::ElectionScore,
2667                pub round: ::core::primitive::u32,
2668            }
2669            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2670            pub struct ReadySolution {
2671                pub supports: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
2672                    ::subxt::ext::subxt_core::utils::AccountId32,
2673                    runtime_types::sp_npos_elections::Support<
2674                        ::subxt::ext::subxt_core::utils::AccountId32,
2675                    >,
2676                )>,
2677                pub score: runtime_types::sp_npos_elections::ElectionScore,
2678                pub compute: runtime_types::pallet_election_provider_multi_phase::ElectionCompute,
2679            }
2680            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2681            pub struct RoundSnapshot<_0, _1> {
2682                pub voters: ::subxt::ext::subxt_core::alloc::vec::Vec<_1>,
2683                pub targets: ::subxt::ext::subxt_core::alloc::vec::Vec<_0>,
2684            }
2685            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2686            pub struct SolutionOrSnapshotSize {
2687                #[codec(compact)]
2688                pub voters: ::core::primitive::u32,
2689                #[codec(compact)]
2690                pub targets: ::core::primitive::u32,
2691            }
2692        }
2693        pub mod pallet_gear {
2694            use super::runtime_types;
2695            pub mod pallet {
2696                use super::runtime_types;
2697                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2698                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
2699                pub enum Call {
2700                    #[codec(index = 0)]
2701                    #[doc = "Saves program `code` in storage."]
2702                    #[doc = ""]
2703                    #[doc = "The extrinsic was created to provide _deploy program from program_ functionality."]
2704                    #[doc = "Anyone who wants to define a \"factory\" logic in program should first store the code and metadata for the \"child\""]
2705                    #[doc = "program in storage. So the code for the child will be initialized by program initialization request only if it exists in storage."]
2706                    #[doc = ""]
2707                    #[doc = "More precisely, the code and its metadata are actually saved in the storage under the hash of the `code`. The code hash is computed"]
2708                    #[doc = "as Blake256 hash. At the time of the call the `code` hash should not be in the storage. If it was stored previously, call will end up"]
2709                    #[doc = "with an `CodeAlreadyExists` error. In this case user can be sure, that he can actually use the hash of his program's code bytes to define"]
2710                    #[doc = "\"program factory\" logic in his program."]
2711                    #[doc = ""]
2712                    #[doc = "Parameters"]
2713                    #[doc = "- `code`: wasm code of a program as a byte vector."]
2714                    #[doc = ""]
2715                    #[doc = "Emits the following events:"]
2716                    #[doc = "- `SavedCode(H256)` - when the code is saved in storage."]
2717                    upload_code {
2718                        code: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
2719                    },
2720                    #[codec(index = 1)]
2721                    #[doc = "Creates program initialization request (message), that is scheduled to be run in the same block."]
2722                    #[doc = ""]
2723                    #[doc = "There are no guarantees that initialization message will be run in the same block due to block"]
2724                    #[doc = "gas limit restrictions. For example, when it will be the message's turn, required gas limit for it"]
2725                    #[doc = "could be more than remaining block gas limit. Therefore, the message processing will be postponed"]
2726                    #[doc = "until the next block."]
2727                    #[doc = ""]
2728                    #[doc = "`ProgramId` is computed as Blake256 hash of concatenated bytes of `code` + `salt`. (todo #512 `code_hash` + `salt`)"]
2729                    #[doc = "Such `ProgramId` must not exist in the Program Storage at the time of this call."]
2730                    #[doc = ""]
2731                    #[doc = "There is the same guarantee here as in `upload_code`. That is, future program's"]
2732                    #[doc = "`code` and metadata are stored before message was added to the queue and processed."]
2733                    #[doc = ""]
2734                    #[doc = "The origin must be Signed and the sender must have sufficient funds to pay"]
2735                    #[doc = "for `gas` and `value` (in case the latter is being transferred)."]
2736                    #[doc = ""]
2737                    #[doc = "Gear runtime guarantees that an active program always has an account to store value."]
2738                    #[doc = "If the underlying account management platform (e.g. Substrate's System pallet) requires"]
2739                    #[doc = "an existential deposit to keep an account alive, the related overhead is considered an"]
2740                    #[doc = "extra cost related with a program instantiation and is charged to the program's creator"]
2741                    #[doc = "and is released back to the creator when the program is removed."]
2742                    #[doc = "In context of the above, the `value` parameter represents the so-called `reducible` balance"]
2743                    #[doc = "a program should have at its disposal upon instantiation. It is not used to offset the"]
2744                    #[doc = "existential deposit required for an account creation."]
2745                    #[doc = ""]
2746                    #[doc = "Parameters:"]
2747                    #[doc = "- `code`: wasm code of a program as a byte vector."]
2748                    #[doc = "- `salt`: randomness term (a seed) to allow programs with identical code"]
2749                    #[doc = "  to be created independently."]
2750                    #[doc = "- `init_payload`: encoded parameters of the wasm module `init` function."]
2751                    #[doc = "- `gas_limit`: maximum amount of gas the program can spend before it is halted."]
2752                    #[doc = "- `value`: balance to be transferred to the program once it's been created."]
2753                    #[doc = ""]
2754                    #[doc = "Emits the following events:"]
2755                    #[doc = "- `InitMessageEnqueued(MessageInfo)` when init message is placed in the queue."]
2756                    #[doc = ""]
2757                    #[doc = "# Note"]
2758                    #[doc = "Faulty (uninitialized) programs still have a valid addresses (program ids) that can deterministically be derived on the"]
2759                    #[doc = "caller's side upfront. It means that if messages are sent to such an address, they might still linger in the queue."]
2760                    #[doc = ""]
2761                    #[doc = "In order to mitigate the risk of users' funds being sent to an address,"]
2762                    #[doc = "where a valid program should have resided, while it's not,"]
2763                    #[doc = "such \"failed-to-initialize\" programs are not silently deleted from the"]
2764                    #[doc = "program storage but rather marked as \"ghost\" programs."]
2765                    #[doc = "Ghost program can be removed by their original author via an explicit call."]
2766                    #[doc = "The funds stored by a ghost program will be release to the author once the program"]
2767                    #[doc = "has been removed."]
2768                    upload_program {
2769                        code: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
2770                        salt: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
2771                        init_payload:
2772                            ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
2773                        gas_limit: ::core::primitive::u64,
2774                        value: ::core::primitive::u128,
2775                        keep_alive: ::core::primitive::bool,
2776                    },
2777                    #[codec(index = 2)]
2778                    #[doc = "Creates program via `code_id` from storage."]
2779                    #[doc = ""]
2780                    #[doc = "Parameters:"]
2781                    #[doc = "- `code_id`: wasm code id in the code storage."]
2782                    #[doc = "- `salt`: randomness term (a seed) to allow programs with identical code"]
2783                    #[doc = "  to be created independently."]
2784                    #[doc = "- `init_payload`: encoded parameters of the wasm module `init` function."]
2785                    #[doc = "- `gas_limit`: maximum amount of gas the program can spend before it is halted."]
2786                    #[doc = "- `value`: balance to be transferred to the program once it's been created."]
2787                    #[doc = ""]
2788                    #[doc = "Emits the following events:"]
2789                    #[doc = "- `InitMessageEnqueued(MessageInfo)` when init message is placed in the queue."]
2790                    #[doc = ""]
2791                    #[doc = "# NOTE"]
2792                    #[doc = ""]
2793                    #[doc = "For the details of this extrinsic, see `upload_code`."]
2794                    create_program {
2795                        code_id: runtime_types::gprimitives::CodeId,
2796                        salt: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
2797                        init_payload:
2798                            ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
2799                        gas_limit: ::core::primitive::u64,
2800                        value: ::core::primitive::u128,
2801                        keep_alive: ::core::primitive::bool,
2802                    },
2803                    #[codec(index = 3)]
2804                    #[doc = "Sends a message to a program or to another account."]
2805                    #[doc = ""]
2806                    #[doc = "The origin must be Signed and the sender must have sufficient funds to pay"]
2807                    #[doc = "for `gas` and `value` (in case the latter is being transferred)."]
2808                    #[doc = ""]
2809                    #[doc = "To avoid an undefined behavior a check is made that the destination address"]
2810                    #[doc = "is not a program in uninitialized state. If the opposite holds true,"]
2811                    #[doc = "the message is not enqueued for processing."]
2812                    #[doc = ""]
2813                    #[doc = "Parameters:"]
2814                    #[doc = "- `destination`: the message destination."]
2815                    #[doc = "- `payload`: in case of a program destination, parameters of the `handle` function."]
2816                    #[doc = "- `gas_limit`: maximum amount of gas the program can spend before it is halted."]
2817                    #[doc = "- `value`: balance to be transferred to the program once it's been created."]
2818                    #[doc = ""]
2819                    #[doc = "Emits the following events:"]
2820                    #[doc = "- `DispatchMessageEnqueued(MessageInfo)` when dispatch message is placed in the queue."]
2821                    send_message {
2822                        destination: runtime_types::gprimitives::ActorId,
2823                        payload: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
2824                        gas_limit: ::core::primitive::u64,
2825                        value: ::core::primitive::u128,
2826                        keep_alive: ::core::primitive::bool,
2827                    },
2828                    #[codec(index = 4)]
2829                    #[doc = "Send reply on message in `Mailbox`."]
2830                    #[doc = ""]
2831                    #[doc = "Removes message by given `MessageId` from callers `Mailbox`:"]
2832                    #[doc = "rent funds become free, associated with the message value"]
2833                    #[doc = "transfers from message sender to extrinsic caller."]
2834                    #[doc = ""]
2835                    #[doc = "Generates reply on removed message with given parameters"]
2836                    #[doc = "and pushes it in `MessageQueue`."]
2837                    #[doc = ""]
2838                    #[doc = "NOTE: source of the message in mailbox guaranteed to be a program."]
2839                    #[doc = ""]
2840                    #[doc = "NOTE: only user who is destination of the message, can claim value"]
2841                    #[doc = "or reply on the message from mailbox."]
2842                    send_reply {
2843                        reply_to_id: runtime_types::gprimitives::MessageId,
2844                        payload: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
2845                        gas_limit: ::core::primitive::u64,
2846                        value: ::core::primitive::u128,
2847                        keep_alive: ::core::primitive::bool,
2848                    },
2849                    #[codec(index = 5)]
2850                    #[doc = "Claim value from message in `Mailbox`."]
2851                    #[doc = ""]
2852                    #[doc = "Removes message by given `MessageId` from callers `Mailbox`:"]
2853                    #[doc = "rent funds become free, associated with the message value"]
2854                    #[doc = "transfers from message sender to extrinsic caller."]
2855                    #[doc = ""]
2856                    #[doc = "NOTE: only user who is destination of the message, can claim value"]
2857                    #[doc = "or reply on the message from mailbox."]
2858                    claim_value {
2859                        message_id: runtime_types::gprimitives::MessageId,
2860                    },
2861                    #[codec(index = 6)]
2862                    #[doc = "Process message queue"]
2863                    run {
2864                        max_gas: ::core::option::Option<::core::primitive::u64>,
2865                    },
2866                    #[codec(index = 7)]
2867                    #[doc = "Sets `ExecuteInherent` flag."]
2868                    #[doc = ""]
2869                    #[doc = "Requires root origin (eventually, will only be set via referendum)"]
2870                    set_execute_inherent { value: ::core::primitive::bool },
2871                    #[codec(index = 8)]
2872                    #[doc = "Transfers value from chain of terminated or exited programs to its final inheritor."]
2873                    #[doc = ""]
2874                    #[doc = "`depth` parameter is how far to traverse to inheritor."]
2875                    #[doc = "A value of 10 is sufficient for most cases."]
2876                    #[doc = ""]
2877                    #[doc = "# Example of chain"]
2878                    #[doc = ""]
2879                    #[doc = "- Program #1 exits (e.g `gr_exit syscall) with argument pointing to user."]
2880                    #[doc = "Balance of program #1 has been sent to user."]
2881                    #[doc = "- Program #2 exits with inheritor pointing to program #1."]
2882                    #[doc = "Balance of program #2 has been sent to exited program #1."]
2883                    #[doc = "- Program #3 exits with inheritor pointing to program #2"]
2884                    #[doc = "Balance of program #1 has been sent to exited program #2."]
2885                    #[doc = ""]
2886                    #[doc = "So chain of inheritors looks like: Program #3 -> Program #2 -> Program #1 -> User."]
2887                    #[doc = ""]
2888                    #[doc = "We have programs #1 and #2 with stuck value on their balances."]
2889                    #[doc = "The balances should've been transferred to user (final inheritor) according to the chain."]
2890                    #[doc = "But protocol doesn't traverse the chain automatically, so user have to call this extrinsic."]
2891                    claim_value_to_inheritor {
2892                        program_id: runtime_types::gprimitives::ActorId,
2893                        depth: ::core::num::NonZeroU32,
2894                    },
2895                }
2896                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2897                #[doc = "The `Error` enum of this pallet."]
2898                pub enum Error {
2899                    #[codec(index = 0)]
2900                    #[doc = "Message wasn't found in the mailbox."]
2901                    MessageNotFound,
2902                    #[codec(index = 1)]
2903                    #[doc = "Not enough balance to execute an action."]
2904                    #[doc = ""]
2905                    #[doc = "Usually occurs when the gas_limit specified is such that the origin account can't afford the message."]
2906                    InsufficientBalance,
2907                    #[codec(index = 2)]
2908                    #[doc = "Gas limit too high."]
2909                    #[doc = ""]
2910                    #[doc = "Occurs when an extrinsic's declared `gas_limit` is greater than a block's maximum gas limit."]
2911                    GasLimitTooHigh,
2912                    #[codec(index = 3)]
2913                    #[doc = "Program already exists."]
2914                    #[doc = ""]
2915                    #[doc = "Occurs if a program with some specific program id already exists in program storage."]
2916                    ProgramAlreadyExists,
2917                    #[codec(index = 4)]
2918                    #[doc = "Program is terminated."]
2919                    #[doc = ""]
2920                    #[doc = "Program init failed, so such message destination is no longer unavailable."]
2921                    InactiveProgram,
2922                    #[codec(index = 5)]
2923                    #[doc = "Message gas tree is not found."]
2924                    #[doc = ""]
2925                    #[doc = "When a message claimed from the mailbox has a corrupted or non-extant gas tree associated."]
2926                    NoMessageTree,
2927                    #[codec(index = 6)]
2928                    #[doc = "Code already exists."]
2929                    #[doc = ""]
2930                    #[doc = "Occurs when trying to save to storage a program code that has been saved there."]
2931                    CodeAlreadyExists,
2932                    #[codec(index = 7)]
2933                    #[doc = "Code does not exist."]
2934                    #[doc = ""]
2935                    #[doc = "Occurs when trying to get a program code from storage, that doesn't exist."]
2936                    CodeDoesntExist,
2937                    #[codec(index = 8)]
2938                    #[doc = "The code supplied to `upload_code` or `upload_program` exceeds the limit specified in the"]
2939                    #[doc = "current schedule."]
2940                    CodeTooLarge,
2941                    #[codec(index = 9)]
2942                    #[doc = "Failed to create a program."]
2943                    ProgramConstructionFailed,
2944                    #[codec(index = 10)]
2945                    #[doc = "Message queue processing is disabled."]
2946                    MessageQueueProcessingDisabled,
2947                    #[codec(index = 11)]
2948                    #[doc = "Block count doesn't cover MinimalResumePeriod."]
2949                    ResumePeriodLessThanMinimal,
2950                    #[codec(index = 12)]
2951                    #[doc = "Program with the specified id is not found."]
2952                    ProgramNotFound,
2953                    #[codec(index = 13)]
2954                    #[doc = "Gear::run() already included in current block."]
2955                    GearRunAlreadyInBlock,
2956                    #[codec(index = 14)]
2957                    #[doc = "The program rent logic is disabled."]
2958                    ProgramRentDisabled,
2959                    #[codec(index = 15)]
2960                    #[doc = "Program is active."]
2961                    ActiveProgram,
2962                }
2963                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
2964                #[doc = "The `Event` enum of this pallet"]
2965                pub enum Event {
2966                    #[codec(index = 0)]
2967                    #[doc = "User sends message to program, which was successfully"]
2968                    #[doc = "added to the Gear message queue."]
2969                    MessageQueued {
2970                        id: runtime_types::gprimitives::MessageId,
2971                        source: ::subxt::ext::subxt_core::utils::AccountId32,
2972                        destination: runtime_types::gprimitives::ActorId,
2973                        entry: runtime_types::gear_common::event::MessageEntry,
2974                    },
2975                    #[codec(index = 1)]
2976                    #[doc = "Somebody sent a message to the user."]
2977                    UserMessageSent {
2978                        message: runtime_types::gear_core::message::user::UserMessage,
2979                        expiration: ::core::option::Option<::core::primitive::u32>,
2980                    },
2981                    #[codec(index = 2)]
2982                    #[doc = "Message marked as \"read\" and removes it from `Mailbox`."]
2983                    #[doc = "This event only affects messages that were"]
2984                    #[doc = "already inserted in `Mailbox`."]
2985                    UserMessageRead {
2986                        id: runtime_types::gprimitives::MessageId,
2987                        reason: runtime_types::gear_common::event::Reason<
2988                            runtime_types::gear_common::event::UserMessageReadRuntimeReason,
2989                            runtime_types::gear_common::event::UserMessageReadSystemReason,
2990                        >,
2991                    },
2992                    #[codec(index = 3)]
2993                    #[doc = "The result of processing the messages within the block."]
2994                    MessagesDispatched {
2995                        total: ::core::primitive::u32,
2996                        statuses: ::subxt::ext::subxt_core::utils::KeyedVec<
2997                            runtime_types::gprimitives::MessageId,
2998                            runtime_types::gear_common::event::DispatchStatus,
2999                        >,
3000                        state_changes: ::subxt::ext::subxt_core::alloc::vec::Vec<
3001                            runtime_types::gprimitives::ActorId,
3002                        >,
3003                    },
3004                    #[codec(index = 4)]
3005                    #[doc = "Messages execution delayed (waited) and successfully"]
3006                    #[doc = "added to gear waitlist."]
3007                    MessageWaited {
3008                        id: runtime_types::gprimitives::MessageId,
3009                        origin: ::core::option::Option<
3010                            runtime_types::gear_common::gas_provider::node::GasNodeId<
3011                                runtime_types::gprimitives::MessageId,
3012                                runtime_types::gprimitives::ReservationId,
3013                            >,
3014                        >,
3015                        reason: runtime_types::gear_common::event::Reason<
3016                            runtime_types::gear_common::event::MessageWaitedRuntimeReason,
3017                            runtime_types::gear_common::event::MessageWaitedSystemReason,
3018                        >,
3019                        expiration: ::core::primitive::u32,
3020                    },
3021                    #[codec(index = 5)]
3022                    #[doc = "Message is ready to continue its execution"]
3023                    #[doc = "and was removed from `Waitlist`."]
3024                    MessageWoken {
3025                        id: runtime_types::gprimitives::MessageId,
3026                        reason: runtime_types::gear_common::event::Reason<
3027                            runtime_types::gear_common::event::MessageWokenRuntimeReason,
3028                            runtime_types::gear_common::event::MessageWokenSystemReason,
3029                        >,
3030                    },
3031                    #[codec(index = 6)]
3032                    #[doc = "Any data related to program codes changed."]
3033                    CodeChanged {
3034                        id: runtime_types::gprimitives::CodeId,
3035                        change: runtime_types::gear_common::event::CodeChangeKind<
3036                            ::core::primitive::u32,
3037                        >,
3038                    },
3039                    #[codec(index = 7)]
3040                    #[doc = "Any data related to programs changed."]
3041                    ProgramChanged {
3042                        id: runtime_types::gprimitives::ActorId,
3043                        change: runtime_types::gear_common::event::ProgramChangeKind<
3044                            ::core::primitive::u32,
3045                        >,
3046                    },
3047                    #[codec(index = 8)]
3048                    #[doc = "The pseudo-inherent extrinsic that runs queue processing rolled back or not executed."]
3049                    QueueNotProcessed,
3050                }
3051            }
3052            pub mod schedule {
3053                use super::runtime_types;
3054                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3055                pub struct DbWeights {
3056                    pub read: runtime_types::sp_weights::weight_v2::Weight,
3057                    pub read_per_byte: runtime_types::sp_weights::weight_v2::Weight,
3058                    pub write: runtime_types::sp_weights::weight_v2::Weight,
3059                    pub write_per_byte: runtime_types::sp_weights::weight_v2::Weight,
3060                }
3061                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3062                pub struct InstantiationWeights {
3063                    pub code_section_per_byte: runtime_types::sp_weights::weight_v2::Weight,
3064                    pub data_section_per_byte: runtime_types::sp_weights::weight_v2::Weight,
3065                    pub global_section_per_byte: runtime_types::sp_weights::weight_v2::Weight,
3066                    pub table_section_per_byte: runtime_types::sp_weights::weight_v2::Weight,
3067                    pub element_section_per_byte: runtime_types::sp_weights::weight_v2::Weight,
3068                    pub type_section_per_byte: runtime_types::sp_weights::weight_v2::Weight,
3069                }
3070                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3071                pub struct InstructionWeights {
3072                    pub version: ::core::primitive::u32,
3073                    pub i64const: ::core::primitive::u32,
3074                    pub i64load: ::core::primitive::u32,
3075                    pub i32load: ::core::primitive::u32,
3076                    pub i64store: ::core::primitive::u32,
3077                    pub i32store: ::core::primitive::u32,
3078                    pub select: ::core::primitive::u32,
3079                    pub r#if: ::core::primitive::u32,
3080                    pub br: ::core::primitive::u32,
3081                    pub br_if: ::core::primitive::u32,
3082                    pub br_table: ::core::primitive::u32,
3083                    pub br_table_per_entry: ::core::primitive::u32,
3084                    pub call: ::core::primitive::u32,
3085                    pub call_indirect: ::core::primitive::u32,
3086                    pub call_indirect_per_param: ::core::primitive::u32,
3087                    pub call_per_local: ::core::primitive::u32,
3088                    pub local_get: ::core::primitive::u32,
3089                    pub local_set: ::core::primitive::u32,
3090                    pub local_tee: ::core::primitive::u32,
3091                    pub global_get: ::core::primitive::u32,
3092                    pub global_set: ::core::primitive::u32,
3093                    pub memory_current: ::core::primitive::u32,
3094                    pub i64clz: ::core::primitive::u32,
3095                    pub i32clz: ::core::primitive::u32,
3096                    pub i64ctz: ::core::primitive::u32,
3097                    pub i32ctz: ::core::primitive::u32,
3098                    pub i64popcnt: ::core::primitive::u32,
3099                    pub i32popcnt: ::core::primitive::u32,
3100                    pub i64eqz: ::core::primitive::u32,
3101                    pub i32eqz: ::core::primitive::u32,
3102                    pub i32extend8s: ::core::primitive::u32,
3103                    pub i32extend16s: ::core::primitive::u32,
3104                    pub i64extend8s: ::core::primitive::u32,
3105                    pub i64extend16s: ::core::primitive::u32,
3106                    pub i64extend32s: ::core::primitive::u32,
3107                    pub i64extendsi32: ::core::primitive::u32,
3108                    pub i64extendui32: ::core::primitive::u32,
3109                    pub i32wrapi64: ::core::primitive::u32,
3110                    pub i64eq: ::core::primitive::u32,
3111                    pub i32eq: ::core::primitive::u32,
3112                    pub i64ne: ::core::primitive::u32,
3113                    pub i32ne: ::core::primitive::u32,
3114                    pub i64lts: ::core::primitive::u32,
3115                    pub i32lts: ::core::primitive::u32,
3116                    pub i64ltu: ::core::primitive::u32,
3117                    pub i32ltu: ::core::primitive::u32,
3118                    pub i64gts: ::core::primitive::u32,
3119                    pub i32gts: ::core::primitive::u32,
3120                    pub i64gtu: ::core::primitive::u32,
3121                    pub i32gtu: ::core::primitive::u32,
3122                    pub i64les: ::core::primitive::u32,
3123                    pub i32les: ::core::primitive::u32,
3124                    pub i64leu: ::core::primitive::u32,
3125                    pub i32leu: ::core::primitive::u32,
3126                    pub i64ges: ::core::primitive::u32,
3127                    pub i32ges: ::core::primitive::u32,
3128                    pub i64geu: ::core::primitive::u32,
3129                    pub i32geu: ::core::primitive::u32,
3130                    pub i64add: ::core::primitive::u32,
3131                    pub i32add: ::core::primitive::u32,
3132                    pub i64sub: ::core::primitive::u32,
3133                    pub i32sub: ::core::primitive::u32,
3134                    pub i64mul: ::core::primitive::u32,
3135                    pub i32mul: ::core::primitive::u32,
3136                    pub i64divs: ::core::primitive::u32,
3137                    pub i32divs: ::core::primitive::u32,
3138                    pub i64divu: ::core::primitive::u32,
3139                    pub i32divu: ::core::primitive::u32,
3140                    pub i64rems: ::core::primitive::u32,
3141                    pub i32rems: ::core::primitive::u32,
3142                    pub i64remu: ::core::primitive::u32,
3143                    pub i32remu: ::core::primitive::u32,
3144                    pub i64and: ::core::primitive::u32,
3145                    pub i32and: ::core::primitive::u32,
3146                    pub i64or: ::core::primitive::u32,
3147                    pub i32or: ::core::primitive::u32,
3148                    pub i64xor: ::core::primitive::u32,
3149                    pub i32xor: ::core::primitive::u32,
3150                    pub i64shl: ::core::primitive::u32,
3151                    pub i32shl: ::core::primitive::u32,
3152                    pub i64shrs: ::core::primitive::u32,
3153                    pub i32shrs: ::core::primitive::u32,
3154                    pub i64shru: ::core::primitive::u32,
3155                    pub i32shru: ::core::primitive::u32,
3156                    pub i64rotl: ::core::primitive::u32,
3157                    pub i32rotl: ::core::primitive::u32,
3158                    pub i64rotr: ::core::primitive::u32,
3159                    pub i32rotr: ::core::primitive::u32,
3160                }
3161                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3162                pub struct Limits {
3163                    pub stack_height: ::core::option::Option<::core::primitive::u32>,
3164                    pub globals: ::core::primitive::u32,
3165                    pub locals: ::core::primitive::u32,
3166                    pub parameters: ::core::primitive::u32,
3167                    pub memory_pages: ::core::primitive::u16,
3168                    pub table_size: ::core::primitive::u32,
3169                    pub br_table_size: ::core::primitive::u32,
3170                    pub subject_len: ::core::primitive::u32,
3171                    pub call_depth: ::core::primitive::u32,
3172                    pub payload_len: ::core::primitive::u32,
3173                    pub code_len: ::core::primitive::u32,
3174                    pub data_segments_amount: ::core::primitive::u32,
3175                }
3176                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3177                pub struct MemoryWeights {
3178                    pub lazy_pages_signal_read: runtime_types::sp_weights::weight_v2::Weight,
3179                    pub lazy_pages_signal_write: runtime_types::sp_weights::weight_v2::Weight,
3180                    pub lazy_pages_signal_write_after_read:
3181                        runtime_types::sp_weights::weight_v2::Weight,
3182                    pub lazy_pages_host_func_read: runtime_types::sp_weights::weight_v2::Weight,
3183                    pub lazy_pages_host_func_write: runtime_types::sp_weights::weight_v2::Weight,
3184                    pub lazy_pages_host_func_write_after_read:
3185                        runtime_types::sp_weights::weight_v2::Weight,
3186                    pub load_page_data: runtime_types::sp_weights::weight_v2::Weight,
3187                    pub upload_page_data: runtime_types::sp_weights::weight_v2::Weight,
3188                    pub mem_grow: runtime_types::sp_weights::weight_v2::Weight,
3189                    pub mem_grow_per_page: runtime_types::sp_weights::weight_v2::Weight,
3190                    pub parachain_read_heuristic: runtime_types::sp_weights::weight_v2::Weight,
3191                }
3192                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3193                pub struct RentWeights {
3194                    pub waitlist: runtime_types::sp_weights::weight_v2::Weight,
3195                    pub dispatch_stash: runtime_types::sp_weights::weight_v2::Weight,
3196                    pub reservation: runtime_types::sp_weights::weight_v2::Weight,
3197                    pub mailbox: runtime_types::sp_weights::weight_v2::Weight,
3198                    pub mailbox_threshold: runtime_types::sp_weights::weight_v2::Weight,
3199                }
3200                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3201                pub struct Schedule {
3202                    pub limits: runtime_types::pallet_gear::schedule::Limits,
3203                    pub instruction_weights:
3204                        runtime_types::pallet_gear::schedule::InstructionWeights,
3205                    pub syscall_weights: runtime_types::pallet_gear::schedule::SyscallWeights,
3206                    pub memory_weights: runtime_types::pallet_gear::schedule::MemoryWeights,
3207                    pub rent_weights: runtime_types::pallet_gear::schedule::RentWeights,
3208                    pub db_weights: runtime_types::pallet_gear::schedule::DbWeights,
3209                    pub task_weights: runtime_types::pallet_gear::schedule::TaskWeights,
3210                    pub instantiation_weights:
3211                        runtime_types::pallet_gear::schedule::InstantiationWeights,
3212                    pub code_instrumentation_cost: runtime_types::sp_weights::weight_v2::Weight,
3213                    pub code_instrumentation_byte_cost:
3214                        runtime_types::sp_weights::weight_v2::Weight,
3215                    pub load_allocations_weight: runtime_types::sp_weights::weight_v2::Weight,
3216                }
3217                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3218                pub struct SyscallWeights {
3219                    pub alloc: runtime_types::sp_weights::weight_v2::Weight,
3220                    pub free: runtime_types::sp_weights::weight_v2::Weight,
3221                    pub free_range: runtime_types::sp_weights::weight_v2::Weight,
3222                    pub free_range_per_page: runtime_types::sp_weights::weight_v2::Weight,
3223                    pub gr_reserve_gas: runtime_types::sp_weights::weight_v2::Weight,
3224                    pub gr_unreserve_gas: runtime_types::sp_weights::weight_v2::Weight,
3225                    pub gr_system_reserve_gas: runtime_types::sp_weights::weight_v2::Weight,
3226                    pub gr_gas_available: runtime_types::sp_weights::weight_v2::Weight,
3227                    pub gr_message_id: runtime_types::sp_weights::weight_v2::Weight,
3228                    pub gr_program_id: runtime_types::sp_weights::weight_v2::Weight,
3229                    pub gr_source: runtime_types::sp_weights::weight_v2::Weight,
3230                    pub gr_value: runtime_types::sp_weights::weight_v2::Weight,
3231                    pub gr_value_available: runtime_types::sp_weights::weight_v2::Weight,
3232                    pub gr_size: runtime_types::sp_weights::weight_v2::Weight,
3233                    pub gr_read: runtime_types::sp_weights::weight_v2::Weight,
3234                    pub gr_read_per_byte: runtime_types::sp_weights::weight_v2::Weight,
3235                    pub gr_env_vars: runtime_types::sp_weights::weight_v2::Weight,
3236                    pub gr_block_height: runtime_types::sp_weights::weight_v2::Weight,
3237                    pub gr_block_timestamp: runtime_types::sp_weights::weight_v2::Weight,
3238                    pub gr_random: runtime_types::sp_weights::weight_v2::Weight,
3239                    pub gr_reply_deposit: runtime_types::sp_weights::weight_v2::Weight,
3240                    pub gr_send: runtime_types::sp_weights::weight_v2::Weight,
3241                    pub gr_send_per_byte: runtime_types::sp_weights::weight_v2::Weight,
3242                    pub gr_send_wgas: runtime_types::sp_weights::weight_v2::Weight,
3243                    pub gr_send_wgas_per_byte: runtime_types::sp_weights::weight_v2::Weight,
3244                    pub gr_send_init: runtime_types::sp_weights::weight_v2::Weight,
3245                    pub gr_send_push: runtime_types::sp_weights::weight_v2::Weight,
3246                    pub gr_send_push_per_byte: runtime_types::sp_weights::weight_v2::Weight,
3247                    pub gr_send_commit: runtime_types::sp_weights::weight_v2::Weight,
3248                    pub gr_send_commit_wgas: runtime_types::sp_weights::weight_v2::Weight,
3249                    pub gr_reservation_send: runtime_types::sp_weights::weight_v2::Weight,
3250                    pub gr_reservation_send_per_byte: runtime_types::sp_weights::weight_v2::Weight,
3251                    pub gr_reservation_send_commit: runtime_types::sp_weights::weight_v2::Weight,
3252                    pub gr_reply_commit: runtime_types::sp_weights::weight_v2::Weight,
3253                    pub gr_reply_commit_wgas: runtime_types::sp_weights::weight_v2::Weight,
3254                    pub gr_reservation_reply: runtime_types::sp_weights::weight_v2::Weight,
3255                    pub gr_reservation_reply_per_byte: runtime_types::sp_weights::weight_v2::Weight,
3256                    pub gr_reservation_reply_commit: runtime_types::sp_weights::weight_v2::Weight,
3257                    pub gr_reply_push: runtime_types::sp_weights::weight_v2::Weight,
3258                    pub gr_reply: runtime_types::sp_weights::weight_v2::Weight,
3259                    pub gr_reply_per_byte: runtime_types::sp_weights::weight_v2::Weight,
3260                    pub gr_reply_wgas: runtime_types::sp_weights::weight_v2::Weight,
3261                    pub gr_reply_wgas_per_byte: runtime_types::sp_weights::weight_v2::Weight,
3262                    pub gr_reply_push_per_byte: runtime_types::sp_weights::weight_v2::Weight,
3263                    pub gr_reply_to: runtime_types::sp_weights::weight_v2::Weight,
3264                    pub gr_signal_code: runtime_types::sp_weights::weight_v2::Weight,
3265                    pub gr_signal_from: runtime_types::sp_weights::weight_v2::Weight,
3266                    pub gr_reply_input: runtime_types::sp_weights::weight_v2::Weight,
3267                    pub gr_reply_input_wgas: runtime_types::sp_weights::weight_v2::Weight,
3268                    pub gr_reply_push_input: runtime_types::sp_weights::weight_v2::Weight,
3269                    pub gr_reply_push_input_per_byte: runtime_types::sp_weights::weight_v2::Weight,
3270                    pub gr_send_input: runtime_types::sp_weights::weight_v2::Weight,
3271                    pub gr_send_input_wgas: runtime_types::sp_weights::weight_v2::Weight,
3272                    pub gr_send_push_input: runtime_types::sp_weights::weight_v2::Weight,
3273                    pub gr_send_push_input_per_byte: runtime_types::sp_weights::weight_v2::Weight,
3274                    pub gr_debug: runtime_types::sp_weights::weight_v2::Weight,
3275                    pub gr_debug_per_byte: runtime_types::sp_weights::weight_v2::Weight,
3276                    pub gr_reply_code: runtime_types::sp_weights::weight_v2::Weight,
3277                    pub gr_exit: runtime_types::sp_weights::weight_v2::Weight,
3278                    pub gr_leave: runtime_types::sp_weights::weight_v2::Weight,
3279                    pub gr_wait: runtime_types::sp_weights::weight_v2::Weight,
3280                    pub gr_wait_for: runtime_types::sp_weights::weight_v2::Weight,
3281                    pub gr_wait_up_to: runtime_types::sp_weights::weight_v2::Weight,
3282                    pub gr_wake: runtime_types::sp_weights::weight_v2::Weight,
3283                    pub gr_create_program: runtime_types::sp_weights::weight_v2::Weight,
3284                    pub gr_create_program_payload_per_byte:
3285                        runtime_types::sp_weights::weight_v2::Weight,
3286                    pub gr_create_program_salt_per_byte:
3287                        runtime_types::sp_weights::weight_v2::Weight,
3288                    pub gr_create_program_wgas: runtime_types::sp_weights::weight_v2::Weight,
3289                    pub gr_create_program_wgas_payload_per_byte:
3290                        runtime_types::sp_weights::weight_v2::Weight,
3291                    pub gr_create_program_wgas_salt_per_byte:
3292                        runtime_types::sp_weights::weight_v2::Weight,
3293                }
3294                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3295                pub struct TaskWeights {
3296                    pub remove_gas_reservation: runtime_types::sp_weights::weight_v2::Weight,
3297                    pub send_user_message_to_mailbox: runtime_types::sp_weights::weight_v2::Weight,
3298                    pub send_user_message: runtime_types::sp_weights::weight_v2::Weight,
3299                    pub send_dispatch: runtime_types::sp_weights::weight_v2::Weight,
3300                    pub wake_message: runtime_types::sp_weights::weight_v2::Weight,
3301                    pub wake_message_no_wake: runtime_types::sp_weights::weight_v2::Weight,
3302                    pub remove_from_waitlist: runtime_types::sp_weights::weight_v2::Weight,
3303                    pub remove_from_mailbox: runtime_types::sp_weights::weight_v2::Weight,
3304                }
3305            }
3306        }
3307        pub mod pallet_gear_bank {
3308            use super::runtime_types;
3309            pub mod pallet {
3310                use super::runtime_types;
3311                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3312                pub struct BankAccount<_0> {
3313                    pub gas: _0,
3314                    pub value: _0,
3315                }
3316                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3317                #[doc = "The `Error` enum of this pallet."]
3318                pub enum Error {
3319                    #[codec(index = 0)]
3320                    #[doc = "Insufficient user balance."]
3321                    InsufficientBalance,
3322                    #[codec(index = 1)]
3323                    #[doc = "Insufficient user's bank account gas balance."]
3324                    InsufficientGasBalance,
3325                    #[codec(index = 2)]
3326                    #[doc = "Insufficient user's bank account gas balance."]
3327                    InsufficientValueBalance,
3328                    #[codec(index = 3)]
3329                    #[doc = "Insufficient bank account balance."]
3330                    #[doc = "**Must be unreachable in Gear main protocol.**"]
3331                    InsufficientBankBalance,
3332                    #[codec(index = 4)]
3333                    #[doc = "Deposit of funds that will not keep bank account alive."]
3334                    #[doc = "**Must be unreachable in Gear main protocol.**"]
3335                    InsufficientDeposit,
3336                    #[codec(index = 5)]
3337                    #[doc = "Overflow during funds transfer."]
3338                    #[doc = "**Must be unreachable in Gear main protocol.**"]
3339                    Overflow,
3340                }
3341            }
3342        }
3343        pub mod pallet_gear_debug {
3344            use super::runtime_types;
3345            pub mod pallet {
3346                use super::runtime_types;
3347                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3348                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
3349                pub enum Call {
3350                    #[codec(index = 0)]
3351                    #[doc = "Turn the debug mode on and off."]
3352                    #[doc = ""]
3353                    #[doc = "The origin must be the root."]
3354                    #[doc = ""]
3355                    #[doc = "Parameters:"]
3356                    #[doc = "- `debug_mode_on`: if true, debug mode will be turned on, turned off otherwise."]
3357                    #[doc = ""]
3358                    #[doc = "Emits the following events:"]
3359                    #[doc = "- `DebugMode(debug_mode_on)."]
3360                    enable_debug_mode {
3361                        debug_mode_on: ::core::primitive::bool,
3362                    },
3363                    #[codec(index = 1)]
3364                    #[doc = "A dummy extrinsic with programmatically set weight."]
3365                    #[doc = ""]
3366                    #[doc = "Used in tests to exhaust block resources."]
3367                    #[doc = ""]
3368                    #[doc = "Parameters:"]
3369                    #[doc = "- `fraction`: the fraction of the `max_extrinsic` the extrinsic will use."]
3370                    exhaust_block_resources {
3371                        fraction: runtime_types::sp_arithmetic::per_things::Percent,
3372                    },
3373                }
3374                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3375                pub struct DebugData {
3376                    pub dispatch_queue: ::subxt::ext::subxt_core::alloc::vec::Vec<
3377                        runtime_types::gear_core::message::stored::StoredDispatch,
3378                    >,
3379                    pub programs: ::subxt::ext::subxt_core::alloc::vec::Vec<
3380                        runtime_types::pallet_gear_debug::pallet::ProgramDetails,
3381                    >,
3382                }
3383                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3384                #[doc = "The `Error` enum of this pallet."]
3385                pub enum Error {}
3386                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3387                #[doc = "The `Event` enum of this pallet"]
3388                pub enum Event {
3389                    #[codec(index = 0)]
3390                    DebugMode(::core::primitive::bool),
3391                    #[codec(index = 1)]
3392                    #[doc = "A snapshot of the debug data: programs and message queue ('debug mode' only)"]
3393                    DebugDataSnapshot(runtime_types::pallet_gear_debug::pallet::DebugData),
3394                }
3395                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3396                pub struct ProgramDetails {
3397                    pub id: runtime_types::gprimitives::ActorId,
3398                    pub state: runtime_types::pallet_gear_debug::pallet::ProgramState,
3399                }
3400                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3401                pub struct ProgramInfo {
3402                    pub static_pages: runtime_types::gear_core::pages::PagesAmount,
3403                    pub persistent_pages: ::subxt::ext::subxt_core::utils::KeyedVec<
3404                        runtime_types::gear_core::pages::Page,
3405                        runtime_types::gear_core::memory::PageBuf,
3406                    >,
3407                    pub code_hash: ::subxt::ext::subxt_core::utils::H256,
3408                }
3409                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3410                pub enum ProgramState {
3411                    #[codec(index = 0)]
3412                    Active(runtime_types::pallet_gear_debug::pallet::ProgramInfo),
3413                    #[codec(index = 1)]
3414                    Terminated,
3415                }
3416            }
3417        }
3418        pub mod pallet_gear_eth_bridge {
3419            use super::runtime_types;
3420            pub mod internal {
3421                use super::runtime_types;
3422                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3423                pub struct EthMessage {
3424                    pub nonce: runtime_types::primitive_types::U256,
3425                    pub source: ::subxt::ext::subxt_core::utils::H256,
3426                    pub destination: ::subxt::ext::subxt_core::utils::H160,
3427                    pub payload: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
3428                }
3429            }
3430            pub mod pallet {
3431                use super::runtime_types;
3432                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3433                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
3434                pub enum Call {
3435                    #[codec(index = 0)]
3436                    #[doc = "Root extrinsic that pauses pallet."]
3437                    #[doc = "When paused, no new messages could be queued."]
3438                    pause,
3439                    #[codec(index = 1)]
3440                    #[doc = "Root extrinsic that unpauses pallet."]
3441                    #[doc = "When paused, no new messages could be queued."]
3442                    unpause,
3443                    #[codec(index = 2)]
3444                    #[doc = "Extrinsic that inserts message in a bridging queue,"]
3445                    #[doc = "updating queue merkle root at the end of the block."]
3446                    send_eth_message {
3447                        destination: ::subxt::ext::subxt_core::utils::H160,
3448                        payload: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
3449                    },
3450                    #[codec(index = 3)]
3451                    #[doc = "Root extrinsic that sets fee for the transport of messages."]
3452                    set_fee { fee: ::core::primitive::u128 },
3453                }
3454                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3455                #[doc = "Pallet Gear Eth Bridge's error."]
3456                pub enum Error {
3457                    #[codec(index = 0)]
3458                    #[doc = "The error happens when bridge got called before"]
3459                    #[doc = "proper initialization after deployment."]
3460                    BridgeIsNotYetInitialized,
3461                    #[codec(index = 1)]
3462                    #[doc = "The error happens when bridge got called when paused."]
3463                    BridgeIsPaused,
3464                    #[codec(index = 2)]
3465                    #[doc = "The error happens when bridging message sent with too big payload."]
3466                    MaxPayloadSizeExceeded,
3467                    #[codec(index = 3)]
3468                    #[doc = "The error happens when bridging queue capacity exceeded,"]
3469                    #[doc = "so message couldn't be sent."]
3470                    QueueCapacityExceeded,
3471                    #[codec(index = 4)]
3472                    #[doc = "The error happens when bridging thorough builtin and message value"]
3473                    #[doc = "is inapplicable to operation or insufficient."]
3474                    IncorrectValueApplied,
3475                }
3476                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3477                #[doc = "Pallet Gear Eth Bridge's event."]
3478                pub enum Event {
3479                    #[codec(index = 0)]
3480                    #[doc = "Grandpa validator's keys set was hashed and set in storage at"]
3481                    #[doc = "first block of the last session in the era."]
3482                    AuthoritySetHashChanged(::subxt::ext::subxt_core::utils::H256),
3483                    #[codec(index = 1)]
3484                    #[doc = "Bridge got cleared on initialization of the second block in a new era."]
3485                    BridgeCleared,
3486                    #[codec(index = 2)]
3487                    #[doc = "Optimistically, single-time called event defining that pallet"]
3488                    #[doc = "got initialized and started processing session changes,"]
3489                    #[doc = "as well as putting initial zeroed queue merkle root."]
3490                    BridgeInitialized,
3491                    #[codec(index = 3)]
3492                    #[doc = "Bridge was paused and temporary doesn't process any incoming requests."]
3493                    BridgePaused,
3494                    #[codec(index = 4)]
3495                    #[doc = "Bridge was unpaused and from now on processes any incoming requests."]
3496                    BridgeUnpaused,
3497                    #[codec(index = 5)]
3498                    #[doc = "A new message was queued for bridging."]
3499                    MessageQueued {
3500                        message: runtime_types::pallet_gear_eth_bridge::internal::EthMessage,
3501                        hash: ::subxt::ext::subxt_core::utils::H256,
3502                    },
3503                    #[codec(index = 6)]
3504                    #[doc = "Merkle root of the queue changed: new messages queued within the block."]
3505                    QueueMerkleRootChanged(::subxt::ext::subxt_core::utils::H256),
3506                }
3507            }
3508        }
3509        pub mod pallet_gear_gas {
3510            use super::runtime_types;
3511            pub mod pallet {
3512                use super::runtime_types;
3513                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3514                #[doc = "The `Error` enum of this pallet."]
3515                pub enum Error {
3516                    #[codec(index = 0)]
3517                    Forbidden,
3518                    #[codec(index = 1)]
3519                    NodeAlreadyExists,
3520                    #[codec(index = 2)]
3521                    InsufficientBalance,
3522                    #[codec(index = 3)]
3523                    NodeNotFound,
3524                    #[codec(index = 4)]
3525                    NodeWasConsumed,
3526                    #[codec(index = 5)]
3527                    #[doc = "Errors stating that gas tree has been invalidated"]
3528                    ParentIsLost,
3529                    #[codec(index = 6)]
3530                    ParentHasNoChildren,
3531                    #[codec(index = 7)]
3532                    #[doc = "Output of `Tree::consume` procedure that wasn't expected."]
3533                    #[doc = ""]
3534                    #[doc = "Outputs of consumption procedure are determined. The error is returned"]
3535                    #[doc = "when unexpected one occurred. That signals, that algorithm works wrong"]
3536                    #[doc = "and expected invariants are not correct."]
3537                    UnexpectedConsumeOutput,
3538                    #[codec(index = 8)]
3539                    #[doc = "Node type that can't occur if algorithm work well"]
3540                    UnexpectedNodeType,
3541                    #[codec(index = 9)]
3542                    #[doc = "Value must have been caught, but was missed or blocked (for more info see `ValueNode::catch_value`)."]
3543                    ValueIsNotCaught,
3544                    #[codec(index = 10)]
3545                    #[doc = "Value must have been caught or moved upstream, but was blocked (for more info see `ValueNode::catch_value`)."]
3546                    ValueIsBlocked,
3547                    #[codec(index = 11)]
3548                    #[doc = "Value must have been blocked, but was either moved or caught (for more info see `ValueNode::catch_value`)."]
3549                    ValueIsNotBlocked,
3550                    #[codec(index = 12)]
3551                    #[doc = "`GasTree::consume` called on node, which has some balance locked."]
3552                    ConsumedWithLock,
3553                    #[codec(index = 13)]
3554                    #[doc = "`GasTree::consume` called on node, which has some system reservation."]
3555                    ConsumedWithSystemReservation,
3556                    #[codec(index = 14)]
3557                    #[doc = "`GasTree::create` called with some value amount leading to"]
3558                    #[doc = "the total value overflow."]
3559                    TotalValueIsOverflowed,
3560                    #[codec(index = 15)]
3561                    #[doc = "Either `GasTree::consume` or `GasTree::spent` called on a node creating"]
3562                    #[doc = "negative imbalance which leads to the total value drop below 0."]
3563                    TotalValueIsUnderflowed,
3564                }
3565            }
3566        }
3567        pub mod pallet_gear_messenger {
3568            use super::runtime_types;
3569            pub mod pallet {
3570                use super::runtime_types;
3571                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3572                #[doc = "The `Error` enum of this pallet."]
3573                pub enum Error {
3574                    #[codec(index = 0)]
3575                    #[doc = "Occurs when given key already exists in queue."]
3576                    QueueDuplicateKey,
3577                    #[codec(index = 1)]
3578                    #[doc = "Occurs when queue's element wasn't found in storage."]
3579                    QueueElementNotFound,
3580                    #[codec(index = 2)]
3581                    #[doc = "Occurs when queue's head should contain value,"]
3582                    #[doc = "but it's empty for some reason."]
3583                    QueueHeadShouldBeSet,
3584                    #[codec(index = 3)]
3585                    #[doc = "Occurs when queue's head should be empty,"]
3586                    #[doc = "but it contains value for some reason."]
3587                    QueueHeadShouldNotBeSet,
3588                    #[codec(index = 4)]
3589                    #[doc = "Occurs when queue's tail element contains link"]
3590                    #[doc = "to the next element."]
3591                    QueueTailHasNextKey,
3592                    #[codec(index = 5)]
3593                    #[doc = "Occurs when while searching queue's pre-tail,"]
3594                    #[doc = "element wasn't found."]
3595                    QueueTailParentNotFound,
3596                    #[codec(index = 6)]
3597                    #[doc = "Occurs when queue's tail should contain value,"]
3598                    #[doc = "but it's empty for some reason."]
3599                    QueueTailShouldBeSet,
3600                    #[codec(index = 7)]
3601                    #[doc = "Occurs when queue's tail should be empty,"]
3602                    #[doc = "but it contains value for some reason."]
3603                    QueueTailShouldNotBeSet,
3604                    #[codec(index = 8)]
3605                    #[doc = "Occurs when given value already exists in mailbox."]
3606                    MailboxDuplicateKey,
3607                    #[codec(index = 9)]
3608                    #[doc = "Occurs when mailbox's element wasn't found in storage."]
3609                    MailboxElementNotFound,
3610                    #[codec(index = 10)]
3611                    #[doc = "Occurs when given value already exists in waitlist."]
3612                    WaitlistDuplicateKey,
3613                    #[codec(index = 11)]
3614                    #[doc = "Occurs when waitlist's element wasn't found in storage."]
3615                    WaitlistElementNotFound,
3616                }
3617            }
3618        }
3619        pub mod pallet_gear_payment {
3620            use super::runtime_types;
3621            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3622            pub struct CustomChargeTransactionPayment<_0>(
3623                pub runtime_types::pallet_transaction_payment::ChargeTransactionPayment,
3624                #[codec(skip)] pub ::core::marker::PhantomData<_0>,
3625            );
3626        }
3627        pub mod pallet_gear_program {
3628            use super::runtime_types;
3629            pub mod pallet {
3630                use super::runtime_types;
3631                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3632                #[doc = "The `Error` enum of this pallet."]
3633                pub enum Error {
3634                    #[codec(index = 0)]
3635                    DuplicateItem,
3636                    #[codec(index = 1)]
3637                    ProgramNotFound,
3638                    #[codec(index = 2)]
3639                    NotActiveProgram,
3640                    #[codec(index = 3)]
3641                    CannotFindDataForPage,
3642                    #[codec(index = 4)]
3643                    ProgramCodeNotFound,
3644                }
3645            }
3646        }
3647        pub mod pallet_gear_scheduler {
3648            use super::runtime_types;
3649            pub mod pallet {
3650                use super::runtime_types;
3651                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3652                #[doc = "The `Error` enum of this pallet."]
3653                pub enum Error {
3654                    #[codec(index = 0)]
3655                    #[doc = "Occurs when given task already exists in task pool."]
3656                    DuplicateTask,
3657                    #[codec(index = 1)]
3658                    #[doc = "Occurs when task wasn't found in storage."]
3659                    TaskNotFound,
3660                }
3661            }
3662        }
3663        pub mod pallet_gear_staking_rewards {
3664            use super::runtime_types;
3665            pub mod extension {
3666                use super::runtime_types;
3667                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3668                pub struct StakingBlackList;
3669            }
3670            pub mod pallet {
3671                use super::runtime_types;
3672                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3673                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
3674                pub enum Call {
3675                    #[codec(index = 0)]
3676                    refill { value: ::core::primitive::u128 },
3677                    #[codec(index = 1)]
3678                    force_refill {
3679                        from: ::subxt::ext::subxt_core::utils::MultiAddress<
3680                            ::subxt::ext::subxt_core::utils::AccountId32,
3681                            (),
3682                        >,
3683                        value: ::core::primitive::u128,
3684                    },
3685                    #[codec(index = 2)]
3686                    withdraw {
3687                        to: ::subxt::ext::subxt_core::utils::MultiAddress<
3688                            ::subxt::ext::subxt_core::utils::AccountId32,
3689                            (),
3690                        >,
3691                        value: ::core::primitive::u128,
3692                    },
3693                    #[codec(index = 3)]
3694                    align_supply { target: ::core::primitive::u128 },
3695                }
3696                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3697                #[doc = "Error for the staking rewards pallet."]
3698                pub enum Error {
3699                    #[codec(index = 0)]
3700                    #[doc = "Pool not replenished due to error."]
3701                    FailureToRefillPool,
3702                    #[codec(index = 1)]
3703                    #[doc = "Failure to withdraw funds from the rewards pool."]
3704                    FailureToWithdrawFromPool,
3705                }
3706                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3707                #[doc = "The `Event` enum of this pallet"]
3708                pub enum Event {
3709                    #[codec(index = 0)]
3710                    #[doc = "Deposited to the pool."]
3711                    Deposited { amount: ::core::primitive::u128 },
3712                    #[codec(index = 1)]
3713                    #[doc = "Transferred from the pool to an external account."]
3714                    Withdrawn { amount: ::core::primitive::u128 },
3715                    #[codec(index = 2)]
3716                    #[doc = "Burned from the pool."]
3717                    Burned { amount: ::core::primitive::u128 },
3718                    #[codec(index = 3)]
3719                    #[doc = "Minted to the pool."]
3720                    Minted { amount: ::core::primitive::u128 },
3721                }
3722            }
3723        }
3724        pub mod pallet_gear_voucher {
3725            use super::runtime_types;
3726            pub mod internal {
3727                use super::runtime_types;
3728                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3729                pub enum PrepaidCall<_0> {
3730                    #[codec(index = 0)]
3731                    SendMessage {
3732                        destination: runtime_types::gprimitives::ActorId,
3733                        payload: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
3734                        gas_limit: ::core::primitive::u64,
3735                        value: _0,
3736                        keep_alive: ::core::primitive::bool,
3737                    },
3738                    #[codec(index = 1)]
3739                    SendReply {
3740                        reply_to_id: runtime_types::gprimitives::MessageId,
3741                        payload: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
3742                        gas_limit: ::core::primitive::u64,
3743                        value: _0,
3744                        keep_alive: ::core::primitive::bool,
3745                    },
3746                    #[codec(index = 2)]
3747                    UploadCode {
3748                        code: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
3749                    },
3750                    #[codec(index = 3)]
3751                    DeclineVoucher,
3752                }
3753                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3754                pub struct VoucherId(pub [::core::primitive::u8; 32usize]);
3755                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3756                pub struct VoucherInfo<_0, _1> {
3757                    pub owner: _0,
3758                    pub programs: ::core::option::Option<
3759                        ::subxt::ext::subxt_core::alloc::vec::Vec<
3760                            runtime_types::gprimitives::ActorId,
3761                        >,
3762                    >,
3763                    pub code_uploading: ::core::primitive::bool,
3764                    pub expiry: _1,
3765                }
3766            }
3767            pub mod pallet {
3768                use super::runtime_types;
3769                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3770                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
3771                pub enum Call {
3772                    #[codec(index = 0)]
3773                    #[doc = "Issue a new voucher."]
3774                    #[doc = ""]
3775                    #[doc = "Deposits event `VoucherIssued`, that contains `VoucherId` to be"]
3776                    #[doc = "used by spender for balance-less on-chain interactions."]
3777                    #[doc = ""]
3778                    #[doc = "Arguments:"]
3779                    #[doc = "* spender:  user id that is eligible to use the voucher;"]
3780                    #[doc = "* balance:  voucher balance could be used for transactions"]
3781                    #[doc = "            fees and gas;"]
3782                    #[doc = "* programs: pool of programs spender can interact with,"]
3783                    #[doc = "            if None - means any program,"]
3784                    #[doc = "            limited by Config param;"]
3785                    #[doc = "* code_uploading:"]
3786                    #[doc = "            allow voucher to be used as payer for `upload_code`"]
3787                    #[doc = "            transactions fee;"]
3788                    #[doc = "* duration: amount of blocks voucher could be used by spender"]
3789                    #[doc = "            and couldn't be revoked by owner."]
3790                    #[doc = "            Must be out in [MinDuration; MaxDuration] constants."]
3791                    #[doc = "            Expiration block of the voucher calculates as:"]
3792                    #[doc = "            current bn (extrinsic exec bn) + duration + 1."]
3793                    issue {
3794                        spender: ::subxt::ext::subxt_core::utils::AccountId32,
3795                        balance: ::core::primitive::u128,
3796                        programs: ::core::option::Option<
3797                            ::subxt::ext::subxt_core::alloc::vec::Vec<
3798                                runtime_types::gprimitives::ActorId,
3799                            >,
3800                        >,
3801                        code_uploading: ::core::primitive::bool,
3802                        duration: ::core::primitive::u32,
3803                    },
3804                    #[codec(index = 1)]
3805                    #[doc = "Execute prepaid call with given voucher id."]
3806                    #[doc = ""]
3807                    #[doc = "Arguments:"]
3808                    #[doc = "* voucher_id: associated with origin existing vouchers id,"]
3809                    #[doc = "              that should be used to pay for fees and gas"]
3810                    #[doc = "              within the call;"]
3811                    #[doc = "* call:       prepaid call that is requested to execute."]
3812                    call {
3813                        voucher_id: runtime_types::pallet_gear_voucher::internal::VoucherId,
3814                        call: runtime_types::pallet_gear_voucher::internal::PrepaidCall<
3815                            ::core::primitive::u128,
3816                        >,
3817                    },
3818                    #[codec(index = 2)]
3819                    #[doc = "Revoke existing voucher."]
3820                    #[doc = ""]
3821                    #[doc = "This extrinsic revokes existing voucher, if current block is greater"]
3822                    #[doc = "than expiration block of the voucher (it is no longer valid)."]
3823                    #[doc = ""]
3824                    #[doc = "Currently it means sending of all balance from voucher account to"]
3825                    #[doc = "voucher owner without voucher removal from storage map, but this"]
3826                    #[doc = "behavior may change in future, as well as the origin validation:"]
3827                    #[doc = "only owner is able to revoke voucher now."]
3828                    #[doc = ""]
3829                    #[doc = "Arguments:"]
3830                    #[doc = "* spender:    account id of the voucher spender;"]
3831                    #[doc = "* voucher_id: voucher id to be revoked."]
3832                    revoke {
3833                        spender: ::subxt::ext::subxt_core::utils::AccountId32,
3834                        voucher_id: runtime_types::pallet_gear_voucher::internal::VoucherId,
3835                    },
3836                    #[codec(index = 3)]
3837                    #[doc = "Update existing voucher."]
3838                    #[doc = ""]
3839                    #[doc = "This extrinsic updates existing voucher: it can only extend vouchers"]
3840                    #[doc = "rights in terms of balance, validity or programs to interact pool."]
3841                    #[doc = ""]
3842                    #[doc = "Can only be called by the voucher owner."]
3843                    #[doc = ""]
3844                    #[doc = "Arguments:"]
3845                    #[doc = "* spender:          account id of the voucher spender;"]
3846                    #[doc = "* voucher_id:       voucher id to be updated;"]
3847                    #[doc = "* move_ownership:   optionally moves ownership to another account;"]
3848                    #[doc = "* balance_top_up:   optionally top ups balance of the voucher from"]
3849                    #[doc = "                    origins balance;"]
3850                    #[doc = "* append_programs:  optionally extends pool of programs by"]
3851                    #[doc = "                    `Some(programs_set)` passed or allows"]
3852                    #[doc = "                    it to interact with any program by"]
3853                    #[doc = "                    `None` passed;"]
3854                    #[doc = "* code_uploading:   optionally allows voucher to be used to pay"]
3855                    #[doc = "                    fees for `upload_code` extrinsics;"]
3856                    #[doc = "* prolong_duration: optionally increases expiry block number."]
3857                    #[doc = "                    If voucher is expired, prolongs since current bn."]
3858                    #[doc = "                    Validity prolongation (since current block number"]
3859                    #[doc = "                    for expired or since storage written expiry)"]
3860                    #[doc = "                    should be in [MinDuration; MaxDuration], in other"]
3861                    #[doc = "                    words voucher couldn't have expiry greater than"]
3862                    #[doc = "                    current block number + MaxDuration."]
3863                    update {
3864                        spender: ::subxt::ext::subxt_core::utils::AccountId32,
3865                        voucher_id: runtime_types::pallet_gear_voucher::internal::VoucherId,
3866                        move_ownership:
3867                            ::core::option::Option<::subxt::ext::subxt_core::utils::AccountId32>,
3868                        balance_top_up: ::core::option::Option<::core::primitive::u128>,
3869                        append_programs: ::core::option::Option<
3870                            ::core::option::Option<
3871                                ::subxt::ext::subxt_core::alloc::vec::Vec<
3872                                    runtime_types::gprimitives::ActorId,
3873                                >,
3874                            >,
3875                        >,
3876                        code_uploading: ::core::option::Option<::core::primitive::bool>,
3877                        prolong_duration: ::core::option::Option<::core::primitive::u32>,
3878                    },
3879                    #[codec(index = 4)]
3880                    #[doc = "Decline existing and not expired voucher."]
3881                    #[doc = ""]
3882                    #[doc = "This extrinsic expires voucher of the caller, if it's still active,"]
3883                    #[doc = "allowing it to be revoked."]
3884                    #[doc = ""]
3885                    #[doc = "Arguments:"]
3886                    #[doc = "* voucher_id:   voucher id to be declined."]
3887                    decline {
3888                        voucher_id: runtime_types::pallet_gear_voucher::internal::VoucherId,
3889                    },
3890                }
3891                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3892                #[doc = "The `Error` enum of this pallet."]
3893                pub enum Error {
3894                    #[codec(index = 0)]
3895                    #[doc = "The origin is not eligible to execute call."]
3896                    BadOrigin,
3897                    #[codec(index = 1)]
3898                    #[doc = "Error trying transfer balance to/from voucher account."]
3899                    BalanceTransfer,
3900                    #[codec(index = 2)]
3901                    #[doc = "Destination program is not in whitelisted set for voucher."]
3902                    InappropriateDestination,
3903                    #[codec(index = 3)]
3904                    #[doc = "Voucher with given identifier doesn't exist for given spender id."]
3905                    InexistentVoucher,
3906                    #[codec(index = 4)]
3907                    #[doc = "Voucher still valid and couldn't be revoked."]
3908                    IrrevocableYet,
3909                    #[codec(index = 5)]
3910                    #[doc = "Try to whitelist more programs than allowed."]
3911                    MaxProgramsLimitExceeded,
3912                    #[codec(index = 6)]
3913                    #[doc = "Failed to query destination of the prepaid call."]
3914                    UnknownDestination,
3915                    #[codec(index = 7)]
3916                    #[doc = "Voucher has expired and couldn't be used."]
3917                    VoucherExpired,
3918                    #[codec(index = 8)]
3919                    #[doc = "Voucher issue/prolongation duration out of [min; max] constants."]
3920                    DurationOutOfBounds,
3921                    #[codec(index = 9)]
3922                    #[doc = "Voucher update function tries to cut voucher ability of code upload."]
3923                    CodeUploadingEnabled,
3924                    #[codec(index = 10)]
3925                    #[doc = "Voucher is disabled for code uploading, but requested."]
3926                    CodeUploadingDisabled,
3927                }
3928                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3929                #[doc = "Pallet Gear Voucher event."]
3930                pub enum Event {
3931                    #[codec(index = 0)]
3932                    #[doc = "Voucher has been issued."]
3933                    VoucherIssued {
3934                        owner: ::subxt::ext::subxt_core::utils::AccountId32,
3935                        spender: ::subxt::ext::subxt_core::utils::AccountId32,
3936                        voucher_id: runtime_types::pallet_gear_voucher::internal::VoucherId,
3937                    },
3938                    #[codec(index = 1)]
3939                    #[doc = "Voucher has been revoked by owner."]
3940                    #[doc = ""]
3941                    #[doc = "NOTE: currently means only \"refunded\"."]
3942                    VoucherRevoked {
3943                        spender: ::subxt::ext::subxt_core::utils::AccountId32,
3944                        voucher_id: runtime_types::pallet_gear_voucher::internal::VoucherId,
3945                    },
3946                    #[codec(index = 2)]
3947                    #[doc = "Voucher has been updated."]
3948                    VoucherUpdated {
3949                        spender: ::subxt::ext::subxt_core::utils::AccountId32,
3950                        voucher_id: runtime_types::pallet_gear_voucher::internal::VoucherId,
3951                        new_owner:
3952                            ::core::option::Option<::subxt::ext::subxt_core::utils::AccountId32>,
3953                    },
3954                    #[codec(index = 3)]
3955                    #[doc = "Voucher has been declined (set to expired state)."]
3956                    VoucherDeclined {
3957                        spender: ::subxt::ext::subxt_core::utils::AccountId32,
3958                        voucher_id: runtime_types::pallet_gear_voucher::internal::VoucherId,
3959                    },
3960                }
3961            }
3962        }
3963        pub mod pallet_grandpa {
3964            use super::runtime_types;
3965            pub mod pallet {
3966                use super::runtime_types;
3967                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
3968                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
3969                pub enum Call {
3970                    #[codec(index = 0)]
3971                    #[doc = "Report voter equivocation/misbehavior. This method will verify the"]
3972                    #[doc = "equivocation proof and validate the given key ownership proof"]
3973                    #[doc = "against the extracted offender. If both are valid, the offence"]
3974                    #[doc = "will be reported."]
3975                    report_equivocation {
3976                        equivocation_proof: ::subxt::ext::subxt_core::alloc::boxed::Box<
3977                            runtime_types::sp_consensus_grandpa::EquivocationProof<
3978                                ::subxt::ext::subxt_core::utils::H256,
3979                                ::core::primitive::u32,
3980                            >,
3981                        >,
3982                        key_owner_proof: runtime_types::sp_session::MembershipProof,
3983                    },
3984                    #[codec(index = 1)]
3985                    #[doc = "Report voter equivocation/misbehavior. This method will verify the"]
3986                    #[doc = "equivocation proof and validate the given key ownership proof"]
3987                    #[doc = "against the extracted offender. If both are valid, the offence"]
3988                    #[doc = "will be reported."]
3989                    #[doc = ""]
3990                    #[doc = "This extrinsic must be called unsigned and it is expected that only"]
3991                    #[doc = "block authors will call it (validated in `ValidateUnsigned`), as such"]
3992                    #[doc = "if the block author is defined it will be defined as the equivocation"]
3993                    #[doc = "reporter."]
3994                    report_equivocation_unsigned {
3995                        equivocation_proof: ::subxt::ext::subxt_core::alloc::boxed::Box<
3996                            runtime_types::sp_consensus_grandpa::EquivocationProof<
3997                                ::subxt::ext::subxt_core::utils::H256,
3998                                ::core::primitive::u32,
3999                            >,
4000                        >,
4001                        key_owner_proof: runtime_types::sp_session::MembershipProof,
4002                    },
4003                    #[codec(index = 2)]
4004                    #[doc = "Note that the current authority set of the GRANDPA finality gadget has stalled."]
4005                    #[doc = ""]
4006                    #[doc = "This will trigger a forced authority set change at the beginning of the next session, to"]
4007                    #[doc = "be enacted `delay` blocks after that. The `delay` should be high enough to safely assume"]
4008                    #[doc = "that the block signalling the forced change will not be re-orged e.g. 1000 blocks."]
4009                    #[doc = "The block production rate (which may be slowed down because of finality lagging) should"]
4010                    #[doc = "be taken into account when choosing the `delay`. The GRANDPA voters based on the new"]
4011                    #[doc = "authority will start voting on top of `best_finalized_block_number` for new finalized"]
4012                    #[doc = "blocks. `best_finalized_block_number` should be the highest of the latest finalized"]
4013                    #[doc = "block of all validators of the new authority set."]
4014                    #[doc = ""]
4015                    #[doc = "Only callable by root."]
4016                    note_stalled {
4017                        delay: ::core::primitive::u32,
4018                        best_finalized_block_number: ::core::primitive::u32,
4019                    },
4020                }
4021                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
4022                #[doc = "The `Error` enum of this pallet."]
4023                pub enum Error {
4024                    #[codec(index = 0)]
4025                    #[doc = "Attempt to signal GRANDPA pause when the authority set isn't live"]
4026                    #[doc = "(either paused or already pending pause)."]
4027                    PauseFailed,
4028                    #[codec(index = 1)]
4029                    #[doc = "Attempt to signal GRANDPA resume when the authority set isn't paused"]
4030                    #[doc = "(either live or already pending resume)."]
4031                    ResumeFailed,
4032                    #[codec(index = 2)]
4033                    #[doc = "Attempt to signal GRANDPA change with one already pending."]
4034                    ChangePending,
4035                    #[codec(index = 3)]
4036                    #[doc = "Cannot signal forced change so soon after last."]
4037                    TooSoon,
4038                    #[codec(index = 4)]
4039                    #[doc = "A key ownership proof provided as part of an equivocation report is invalid."]
4040                    InvalidKeyOwnershipProof,
4041                    #[codec(index = 5)]
4042                    #[doc = "An equivocation proof provided as part of an equivocation report is invalid."]
4043                    InvalidEquivocationProof,
4044                    #[codec(index = 6)]
4045                    #[doc = "A given equivocation report is valid but already previously reported."]
4046                    DuplicateOffenceReport,
4047                }
4048                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
4049                #[doc = "The `Event` enum of this pallet"]
4050                pub enum Event {
4051                    #[codec(index = 0)]
4052                    #[doc = "New authority set has been applied."]
4053                    NewAuthorities {
4054                        authority_set: ::subxt::ext::subxt_core::alloc::vec::Vec<(
4055                            runtime_types::sp_consensus_grandpa::app::Public,
4056                            ::core::primitive::u64,
4057                        )>,
4058                    },
4059                    #[codec(index = 1)]
4060                    #[doc = "Current authority set has been paused."]
4061                    Paused,
4062                    #[codec(index = 2)]
4063                    #[doc = "Current authority set has been resumed."]
4064                    Resumed,
4065                }
4066            }
4067            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
4068            pub struct StoredPendingChange<_0> {
4069                pub scheduled_at: _0,
4070                pub delay: _0,
4071                pub next_authorities:
4072                    runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<(
4073                        runtime_types::sp_consensus_grandpa::app::Public,
4074                        ::core::primitive::u64,
4075                    )>,
4076                pub forced: ::core::option::Option<_0>,
4077            }
4078            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
4079            pub enum StoredState<_0> {
4080                #[codec(index = 0)]
4081                Live,
4082                #[codec(index = 1)]
4083                PendingPause { scheduled_at: _0, delay: _0 },
4084                #[codec(index = 2)]
4085                Paused,
4086                #[codec(index = 3)]
4087                PendingResume { scheduled_at: _0, delay: _0 },
4088            }
4089        }
4090        pub mod pallet_identity {
4091            use super::runtime_types;
4092            pub mod legacy {
4093                use super::runtime_types;
4094                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
4095                pub struct IdentityInfo {
4096                    pub additional: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
4097                        runtime_types::pallet_identity::types::Data,
4098                        runtime_types::pallet_identity::types::Data,
4099                    )>,
4100                    pub display: runtime_types::pallet_identity::types::Data,
4101                    pub legal: runtime_types::pallet_identity::types::Data,
4102                    pub web: runtime_types::pallet_identity::types::Data,
4103                    pub riot: runtime_types::pallet_identity::types::Data,
4104                    pub email: runtime_types::pallet_identity::types::Data,
4105                    pub pgp_fingerprint: ::core::option::Option<[::core::primitive::u8; 20usize]>,
4106                    pub image: runtime_types::pallet_identity::types::Data,
4107                    pub twitter: runtime_types::pallet_identity::types::Data,
4108                }
4109            }
4110            pub mod pallet {
4111                use super::runtime_types;
4112                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
4113                #[doc = "Identity pallet declaration."]
4114                pub enum Call {
4115                    #[codec(index = 0)]
4116                    #[doc = "Add a registrar to the system."]
4117                    #[doc = ""]
4118                    #[doc = "The dispatch origin for this call must be `T::RegistrarOrigin`."]
4119                    #[doc = ""]
4120                    #[doc = "- `account`: the account of the registrar."]
4121                    #[doc = ""]
4122                    #[doc = "Emits `RegistrarAdded` if successful."]
4123                    add_registrar {
4124                        account: ::subxt::ext::subxt_core::utils::MultiAddress<
4125                            ::subxt::ext::subxt_core::utils::AccountId32,
4126                            (),
4127                        >,
4128                    },
4129                    #[codec(index = 1)]
4130                    #[doc = "Set an account's identity information and reserve the appropriate deposit."]
4131                    #[doc = ""]
4132                    #[doc = "If the account already has identity information, the deposit is taken as part payment"]
4133                    #[doc = "for the new deposit."]
4134                    #[doc = ""]
4135                    #[doc = "The dispatch origin for this call must be _Signed_."]
4136                    #[doc = ""]
4137                    #[doc = "- `info`: The identity information."]
4138                    #[doc = ""]
4139                    #[doc = "Emits `IdentitySet` if successful."]
4140                    set_identity {
4141                        info: ::subxt::ext::subxt_core::alloc::boxed::Box<
4142                            runtime_types::pallet_identity::legacy::IdentityInfo,
4143                        >,
4144                    },
4145                    #[codec(index = 2)]
4146                    #[doc = "Set the sub-accounts of the sender."]
4147                    #[doc = ""]
4148                    #[doc = "Payment: Any aggregate balance reserved by previous `set_subs` calls will be returned"]
4149                    #[doc = "and an amount `SubAccountDeposit` will be reserved for each item in `subs`."]
4150                    #[doc = ""]
4151                    #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"]
4152                    #[doc = "identity."]
4153                    #[doc = ""]
4154                    #[doc = "- `subs`: The identity's (new) sub-accounts."]
4155                    set_subs {
4156                        subs: ::subxt::ext::subxt_core::alloc::vec::Vec<(
4157                            ::subxt::ext::subxt_core::utils::AccountId32,
4158                            runtime_types::pallet_identity::types::Data,
4159                        )>,
4160                    },
4161                    #[codec(index = 3)]
4162                    #[doc = "Clear an account's identity info and all sub-accounts and return all deposits."]
4163                    #[doc = ""]
4164                    #[doc = "Payment: All reserved balances on the account are returned."]
4165                    #[doc = ""]
4166                    #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"]
4167                    #[doc = "identity."]
4168                    #[doc = ""]
4169                    #[doc = "Emits `IdentityCleared` if successful."]
4170                    clear_identity,
4171                    #[codec(index = 4)]
4172                    #[doc = "Request a judgement from a registrar."]
4173                    #[doc = ""]
4174                    #[doc = "Payment: At most `max_fee` will be reserved for payment to the registrar if judgement"]
4175                    #[doc = "given."]
4176                    #[doc = ""]
4177                    #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a"]
4178                    #[doc = "registered identity."]
4179                    #[doc = ""]
4180                    #[doc = "- `reg_index`: The index of the registrar whose judgement is requested."]
4181                    #[doc = "- `max_fee`: The maximum fee that may be paid. This should just be auto-populated as:"]
4182                    #[doc = ""]
4183                    #[doc = "```nocompile"]
4184                    #[doc = "Registrars::<T>::get().get(reg_index).unwrap().fee"]
4185                    #[doc = "```"]
4186                    #[doc = ""]
4187                    #[doc = "Emits `JudgementRequested` if successful."]
4188                    request_judgement {
4189                        #[codec(compact)]
4190                        reg_index: ::core::primitive::u32,
4191                        #[codec(compact)]
4192                        max_fee: ::core::primitive::u128,
4193                    },
4194                    #[codec(index = 5)]
4195                    #[doc = "Cancel a previous request."]
4196                    #[doc = ""]
4197                    #[doc = "Payment: A previously reserved deposit is returned on success."]
4198                    #[doc = ""]
4199                    #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a"]
4200                    #[doc = "registered identity."]
4201                    #[doc = ""]
4202                    #[doc = "- `reg_index`: The index of the registrar whose judgement is no longer requested."]
4203                    #[doc = ""]
4204                    #[doc = "Emits `JudgementUnrequested` if successful."]
4205                    cancel_request { reg_index: ::core::primitive::u32 },
4206                    #[codec(index = 6)]
4207                    #[doc = "Set the fee required for a judgement to be requested from a registrar."]
4208                    #[doc = ""]
4209                    #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"]
4210                    #[doc = "of the registrar whose index is `index`."]
4211                    #[doc = ""]
4212                    #[doc = "- `index`: the index of the registrar whose fee is to be set."]
4213                    #[doc = "- `fee`: the new fee."]
4214                    set_fee {
4215                        #[codec(compact)]
4216                        index: ::core::primitive::u32,
4217                        #[codec(compact)]
4218                        fee: ::core::primitive::u128,
4219                    },
4220                    #[codec(index = 7)]
4221                    #[doc = "Change the account associated with a registrar."]
4222                    #[doc = ""]
4223                    #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"]
4224                    #[doc = "of the registrar whose index is `index`."]
4225                    #[doc = ""]
4226                    #[doc = "- `index`: the index of the registrar whose fee is to be set."]
4227                    #[doc = "- `new`: the new account ID."]
4228                    set_account_id {
4229                        #[codec(compact)]
4230                        index: ::core::primitive::u32,
4231                        new: ::subxt::ext::subxt_core::utils::MultiAddress<
4232                            ::subxt::ext::subxt_core::utils::AccountId32,
4233                            (),
4234                        >,
4235                    },
4236                    #[codec(index = 8)]
4237                    #[doc = "Set the field information for a registrar."]
4238                    #[doc = ""]
4239                    #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"]
4240                    #[doc = "of the registrar whose index is `index`."]
4241                    #[doc = ""]
4242                    #[doc = "- `index`: the index of the registrar whose fee is to be set."]
4243                    #[doc = "- `fields`: the fields that the registrar concerns themselves with."]
4244                    set_fields {
4245                        #[codec(compact)]
4246                        index: ::core::primitive::u32,
4247                        fields: ::core::primitive::u64,
4248                    },
4249                    #[codec(index = 9)]
4250                    #[doc = "Provide a judgement for an account's identity."]
4251                    #[doc = ""]
4252                    #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"]
4253                    #[doc = "of the registrar whose index is `reg_index`."]
4254                    #[doc = ""]
4255                    #[doc = "- `reg_index`: the index of the registrar whose judgement is being made."]
4256                    #[doc = "- `target`: the account whose identity the judgement is upon. This must be an account"]
4257                    #[doc = "  with a registered identity."]
4258                    #[doc = "- `judgement`: the judgement of the registrar of index `reg_index` about `target`."]
4259                    #[doc = "- `identity`: The hash of the [`IdentityInformationProvider`] for that the judgement is"]
4260                    #[doc = "  provided."]
4261                    #[doc = ""]
4262                    #[doc = "Note: Judgements do not apply to a username."]
4263                    #[doc = ""]
4264                    #[doc = "Emits `JudgementGiven` if successful."]
4265                    provide_judgement {
4266                        #[codec(compact)]
4267                        reg_index: ::core::primitive::u32,
4268                        target: ::subxt::ext::subxt_core::utils::MultiAddress<
4269                            ::subxt::ext::subxt_core::utils::AccountId32,
4270                            (),
4271                        >,
4272                        judgement: runtime_types::pallet_identity::types::Judgement<
4273                            ::core::primitive::u128,
4274                        >,
4275                        identity: ::subxt::ext::subxt_core::utils::H256,
4276                    },
4277                    #[codec(index = 10)]
4278                    #[doc = "Remove an account's identity and sub-account information and slash the deposits."]
4279                    #[doc = ""]
4280                    #[doc = "Payment: Reserved balances from `set_subs` and `set_identity` are slashed and handled by"]
4281                    #[doc = "`Slash`. Verification request deposits are not returned; they should be cancelled"]
4282                    #[doc = "manually using `cancel_request`."]
4283                    #[doc = ""]
4284                    #[doc = "The dispatch origin for this call must match `T::ForceOrigin`."]
4285                    #[doc = ""]
4286                    #[doc = "- `target`: the account whose identity the judgement is upon. This must be an account"]
4287                    #[doc = "  with a registered identity."]
4288                    #[doc = ""]
4289                    #[doc = "Emits `IdentityKilled` if successful."]
4290                    kill_identity {
4291                        target: ::subxt::ext::subxt_core::utils::MultiAddress<
4292                            ::subxt::ext::subxt_core::utils::AccountId32,
4293                            (),
4294                        >,
4295                    },
4296                    #[codec(index = 11)]
4297                    #[doc = "Add the given account to the sender's subs."]
4298                    #[doc = ""]
4299                    #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"]
4300                    #[doc = "to the sender."]
4301                    #[doc = ""]
4302                    #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"]
4303                    #[doc = "sub identity of `sub`."]
4304                    add_sub {
4305                        sub: ::subxt::ext::subxt_core::utils::MultiAddress<
4306                            ::subxt::ext::subxt_core::utils::AccountId32,
4307                            (),
4308                        >,
4309                        data: runtime_types::pallet_identity::types::Data,
4310                    },
4311                    #[codec(index = 12)]
4312                    #[doc = "Alter the associated name of the given sub-account."]
4313                    #[doc = ""]
4314                    #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"]
4315                    #[doc = "sub identity of `sub`."]
4316                    rename_sub {
4317                        sub: ::subxt::ext::subxt_core::utils::MultiAddress<
4318                            ::subxt::ext::subxt_core::utils::AccountId32,
4319                            (),
4320                        >,
4321                        data: runtime_types::pallet_identity::types::Data,
4322                    },
4323                    #[codec(index = 13)]
4324                    #[doc = "Remove the given account from the sender's subs."]
4325                    #[doc = ""]
4326                    #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"]
4327                    #[doc = "to the sender."]
4328                    #[doc = ""]
4329                    #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"]
4330                    #[doc = "sub identity of `sub`."]
4331                    remove_sub {
4332                        sub: ::subxt::ext::subxt_core::utils::MultiAddress<
4333                            ::subxt::ext::subxt_core::utils::AccountId32,
4334                            (),
4335                        >,
4336                    },
4337                    #[codec(index = 14)]
4338                    #[doc = "Remove the sender as a sub-account."]
4339                    #[doc = ""]
4340                    #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"]
4341                    #[doc = "to the sender (*not* the original depositor)."]
4342                    #[doc = ""]
4343                    #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"]
4344                    #[doc = "super-identity."]
4345                    #[doc = ""]
4346                    #[doc = "NOTE: This should not normally be used, but is provided in the case that the non-"]
4347                    #[doc = "controller of an account is maliciously registered as a sub-account."]
4348                    quit_sub,
4349                    #[codec(index = 15)]
4350                    #[doc = "Add an `AccountId` with permission to grant usernames with a given `suffix` appended."]
4351                    #[doc = ""]
4352                    #[doc = "The authority can grant up to `allocation` usernames. To top up their allocation, they"]
4353                    #[doc = "should just issue (or request via governance) a new `add_username_authority` call."]
4354                    add_username_authority {
4355                        authority: ::subxt::ext::subxt_core::utils::MultiAddress<
4356                            ::subxt::ext::subxt_core::utils::AccountId32,
4357                            (),
4358                        >,
4359                        suffix: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
4360                        allocation: ::core::primitive::u32,
4361                    },
4362                    #[codec(index = 16)]
4363                    #[doc = "Remove `authority` from the username authorities."]
4364                    remove_username_authority {
4365                        authority: ::subxt::ext::subxt_core::utils::MultiAddress<
4366                            ::subxt::ext::subxt_core::utils::AccountId32,
4367                            (),
4368                        >,
4369                    },
4370                    #[codec(index = 17)]
4371                    #[doc = "Set the username for `who`. Must be called by a username authority."]
4372                    #[doc = ""]
4373                    #[doc = "The authority must have an `allocation`. Users can either pre-sign their usernames or"]
4374                    #[doc = "accept them later."]
4375                    #[doc = ""]
4376                    #[doc = "Usernames must:"]
4377                    #[doc = "  - Only contain lowercase ASCII characters or digits."]
4378                    #[doc = "  - When combined with the suffix of the issuing authority be _less than_ the"]
4379                    #[doc = "    `MaxUsernameLength`."]
4380                    set_username_for {
4381                        who: ::subxt::ext::subxt_core::utils::MultiAddress<
4382                            ::subxt::ext::subxt_core::utils::AccountId32,
4383                            (),
4384                        >,
4385                        username: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
4386                        signature:
4387                            ::core::option::Option<runtime_types::sp_runtime::MultiSignature>,
4388                    },
4389                    #[codec(index = 18)]
4390                    #[doc = "Accept a given username that an `authority` granted. The call must include the full"]
4391                    #[doc = "username, as in `username.suffix`."]
4392                    accept_username {
4393                        username: runtime_types::bounded_collections::bounded_vec::BoundedVec<
4394                            ::core::primitive::u8,
4395                        >,
4396                    },
4397                    #[codec(index = 19)]
4398                    #[doc = "Remove an expired username approval. The username was approved by an authority but never"]
4399                    #[doc = "accepted by the user and must now be beyond its expiration. The call must include the"]
4400                    #[doc = "full username, as in `username.suffix`."]
4401                    remove_expired_approval {
4402                        username: runtime_types::bounded_collections::bounded_vec::BoundedVec<
4403                            ::core::primitive::u8,
4404                        >,
4405                    },
4406                    #[codec(index = 20)]
4407                    #[doc = "Set a given username as the primary. The username should include the suffix."]
4408                    set_primary_username {
4409                        username: runtime_types::bounded_collections::bounded_vec::BoundedVec<
4410                            ::core::primitive::u8,
4411                        >,
4412                    },
4413                    #[codec(index = 21)]
4414                    #[doc = "Remove a username that corresponds to an account with no identity. Exists when a user"]
4415                    #[doc = "gets a username but then calls `clear_identity`."]
4416                    remove_dangling_username {
4417                        username: runtime_types::bounded_collections::bounded_vec::BoundedVec<
4418                            ::core::primitive::u8,
4419                        >,
4420                    },
4421                }
4422                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
4423                #[doc = "The `Error` enum of this pallet."]
4424                pub enum Error {
4425                    #[codec(index = 0)]
4426                    #[doc = "Too many subs-accounts."]
4427                    TooManySubAccounts,
4428                    #[codec(index = 1)]
4429                    #[doc = "Account isn't found."]
4430                    NotFound,
4431                    #[codec(index = 2)]
4432                    #[doc = "Account isn't named."]
4433                    NotNamed,
4434                    #[codec(index = 3)]
4435                    #[doc = "Empty index."]
4436                    EmptyIndex,
4437                    #[codec(index = 4)]
4438                    #[doc = "Fee is changed."]
4439                    FeeChanged,
4440                    #[codec(index = 5)]
4441                    #[doc = "No identity found."]
4442                    NoIdentity,
4443                    #[codec(index = 6)]
4444                    #[doc = "Sticky judgement."]
4445                    StickyJudgement,
4446                    #[codec(index = 7)]
4447                    #[doc = "Judgement given."]
4448                    JudgementGiven,
4449                    #[codec(index = 8)]
4450                    #[doc = "Invalid judgement."]
4451                    InvalidJudgement,
4452                    #[codec(index = 9)]
4453                    #[doc = "The index is invalid."]
4454                    InvalidIndex,
4455                    #[codec(index = 10)]
4456                    #[doc = "The target is invalid."]
4457                    InvalidTarget,
4458                    #[codec(index = 11)]
4459                    #[doc = "Maximum amount of registrars reached. Cannot add any more."]
4460                    TooManyRegistrars,
4461                    #[codec(index = 12)]
4462                    #[doc = "Account ID is already named."]
4463                    AlreadyClaimed,
4464                    #[codec(index = 13)]
4465                    #[doc = "Sender is not a sub-account."]
4466                    NotSub,
4467                    #[codec(index = 14)]
4468                    #[doc = "Sub-account isn't owned by sender."]
4469                    NotOwned,
4470                    #[codec(index = 15)]
4471                    #[doc = "The provided judgement was for a different identity."]
4472                    JudgementForDifferentIdentity,
4473                    #[codec(index = 16)]
4474                    #[doc = "Error that occurs when there is an issue paying for judgement."]
4475                    JudgementPaymentFailed,
4476                    #[codec(index = 17)]
4477                    #[doc = "The provided suffix is too long."]
4478                    InvalidSuffix,
4479                    #[codec(index = 18)]
4480                    #[doc = "The sender does not have permission to issue a username."]
4481                    NotUsernameAuthority,
4482                    #[codec(index = 19)]
4483                    #[doc = "The authority cannot allocate any more usernames."]
4484                    NoAllocation,
4485                    #[codec(index = 20)]
4486                    #[doc = "The signature on a username was not valid."]
4487                    InvalidSignature,
4488                    #[codec(index = 21)]
4489                    #[doc = "Setting this username requires a signature, but none was provided."]
4490                    RequiresSignature,
4491                    #[codec(index = 22)]
4492                    #[doc = "The username does not meet the requirements."]
4493                    InvalidUsername,
4494                    #[codec(index = 23)]
4495                    #[doc = "The username is already taken."]
4496                    UsernameTaken,
4497                    #[codec(index = 24)]
4498                    #[doc = "The requested username does not exist."]
4499                    NoUsername,
4500                    #[codec(index = 25)]
4501                    #[doc = "The username cannot be forcefully removed because it can still be accepted."]
4502                    NotExpired,
4503                }
4504                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
4505                #[doc = "The `Event` enum of this pallet"]
4506                pub enum Event {
4507                    #[codec(index = 0)]
4508                    #[doc = "A name was set or reset (which will remove all judgements)."]
4509                    IdentitySet {
4510                        who: ::subxt::ext::subxt_core::utils::AccountId32,
4511                    },
4512                    #[codec(index = 1)]
4513                    #[doc = "A name was cleared, and the given balance returned."]
4514                    IdentityCleared {
4515                        who: ::subxt::ext::subxt_core::utils::AccountId32,
4516                        deposit: ::core::primitive::u128,
4517                    },
4518                    #[codec(index = 2)]
4519                    #[doc = "A name was removed and the given balance slashed."]
4520                    IdentityKilled {
4521                        who: ::subxt::ext::subxt_core::utils::AccountId32,
4522                        deposit: ::core::primitive::u128,
4523                    },
4524                    #[codec(index = 3)]
4525                    #[doc = "A judgement was asked from a registrar."]
4526                    JudgementRequested {
4527                        who: ::subxt::ext::subxt_core::utils::AccountId32,
4528                        registrar_index: ::core::primitive::u32,
4529                    },
4530                    #[codec(index = 4)]
4531                    #[doc = "A judgement request was retracted."]
4532                    JudgementUnrequested {
4533                        who: ::subxt::ext::subxt_core::utils::AccountId32,
4534                        registrar_index: ::core::primitive::u32,
4535                    },
4536                    #[codec(index = 5)]
4537                    #[doc = "A judgement was given by a registrar."]
4538                    JudgementGiven {
4539                        target: ::subxt::ext::subxt_core::utils::AccountId32,
4540                        registrar_index: ::core::primitive::u32,
4541                    },
4542                    #[codec(index = 6)]
4543                    #[doc = "A registrar was added."]
4544                    RegistrarAdded {
4545                        registrar_index: ::core::primitive::u32,
4546                    },
4547                    #[codec(index = 7)]
4548                    #[doc = "A sub-identity was added to an identity and the deposit paid."]
4549                    SubIdentityAdded {
4550                        sub: ::subxt::ext::subxt_core::utils::AccountId32,
4551                        main: ::subxt::ext::subxt_core::utils::AccountId32,
4552                        deposit: ::core::primitive::u128,
4553                    },
4554                    #[codec(index = 8)]
4555                    #[doc = "A sub-identity was removed from an identity and the deposit freed."]
4556                    SubIdentityRemoved {
4557                        sub: ::subxt::ext::subxt_core::utils::AccountId32,
4558                        main: ::subxt::ext::subxt_core::utils::AccountId32,
4559                        deposit: ::core::primitive::u128,
4560                    },
4561                    #[codec(index = 9)]
4562                    #[doc = "A sub-identity was cleared, and the given deposit repatriated from the"]
4563                    #[doc = "main identity account to the sub-identity account."]
4564                    SubIdentityRevoked {
4565                        sub: ::subxt::ext::subxt_core::utils::AccountId32,
4566                        main: ::subxt::ext::subxt_core::utils::AccountId32,
4567                        deposit: ::core::primitive::u128,
4568                    },
4569                    #[codec(index = 10)]
4570                    #[doc = "A username authority was added."]
4571                    AuthorityAdded {
4572                        authority: ::subxt::ext::subxt_core::utils::AccountId32,
4573                    },
4574                    #[codec(index = 11)]
4575                    #[doc = "A username authority was removed."]
4576                    AuthorityRemoved {
4577                        authority: ::subxt::ext::subxt_core::utils::AccountId32,
4578                    },
4579                    #[codec(index = 12)]
4580                    #[doc = "A username was set for `who`."]
4581                    UsernameSet {
4582                        who: ::subxt::ext::subxt_core::utils::AccountId32,
4583                        username: runtime_types::bounded_collections::bounded_vec::BoundedVec<
4584                            ::core::primitive::u8,
4585                        >,
4586                    },
4587                    #[codec(index = 13)]
4588                    #[doc = "A username was queued, but `who` must accept it prior to `expiration`."]
4589                    UsernameQueued {
4590                        who: ::subxt::ext::subxt_core::utils::AccountId32,
4591                        username: runtime_types::bounded_collections::bounded_vec::BoundedVec<
4592                            ::core::primitive::u8,
4593                        >,
4594                        expiration: ::core::primitive::u32,
4595                    },
4596                    #[codec(index = 14)]
4597                    #[doc = "A queued username passed its expiration without being claimed and was removed."]
4598                    PreapprovalExpired {
4599                        whose: ::subxt::ext::subxt_core::utils::AccountId32,
4600                    },
4601                    #[codec(index = 15)]
4602                    #[doc = "A username was set as a primary and can be looked up from `who`."]
4603                    PrimaryUsernameSet {
4604                        who: ::subxt::ext::subxt_core::utils::AccountId32,
4605                        username: runtime_types::bounded_collections::bounded_vec::BoundedVec<
4606                            ::core::primitive::u8,
4607                        >,
4608                    },
4609                    #[codec(index = 16)]
4610                    #[doc = "A dangling username (as in, a username corresponding to an account that has removed its"]
4611                    #[doc = "identity) has been removed."]
4612                    DanglingUsernameRemoved {
4613                        who: ::subxt::ext::subxt_core::utils::AccountId32,
4614                        username: runtime_types::bounded_collections::bounded_vec::BoundedVec<
4615                            ::core::primitive::u8,
4616                        >,
4617                    },
4618                }
4619            }
4620            pub mod types {
4621                use super::runtime_types;
4622                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
4623                pub struct AuthorityProperties<_0> {
4624                    pub suffix: _0,
4625                    pub allocation: ::core::primitive::u32,
4626                }
4627                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
4628                pub enum Data {
4629                    #[codec(index = 0)]
4630                    None,
4631                    #[codec(index = 1)]
4632                    Raw0([::core::primitive::u8; 0usize]),
4633                    #[codec(index = 2)]
4634                    Raw1([::core::primitive::u8; 1usize]),
4635                    #[codec(index = 3)]
4636                    Raw2([::core::primitive::u8; 2usize]),
4637                    #[codec(index = 4)]
4638                    Raw3([::core::primitive::u8; 3usize]),
4639                    #[codec(index = 5)]
4640                    Raw4([::core::primitive::u8; 4usize]),
4641                    #[codec(index = 6)]
4642                    Raw5([::core::primitive::u8; 5usize]),
4643                    #[codec(index = 7)]
4644                    Raw6([::core::primitive::u8; 6usize]),
4645                    #[codec(index = 8)]
4646                    Raw7([::core::primitive::u8; 7usize]),
4647                    #[codec(index = 9)]
4648                    Raw8([::core::primitive::u8; 8usize]),
4649                    #[codec(index = 10)]
4650                    Raw9([::core::primitive::u8; 9usize]),
4651                    #[codec(index = 11)]
4652                    Raw10([::core::primitive::u8; 10usize]),
4653                    #[codec(index = 12)]
4654                    Raw11([::core::primitive::u8; 11usize]),
4655                    #[codec(index = 13)]
4656                    Raw12([::core::primitive::u8; 12usize]),
4657                    #[codec(index = 14)]
4658                    Raw13([::core::primitive::u8; 13usize]),
4659                    #[codec(index = 15)]
4660                    Raw14([::core::primitive::u8; 14usize]),
4661                    #[codec(index = 16)]
4662                    Raw15([::core::primitive::u8; 15usize]),
4663                    #[codec(index = 17)]
4664                    Raw16([::core::primitive::u8; 16usize]),
4665                    #[codec(index = 18)]
4666                    Raw17([::core::primitive::u8; 17usize]),
4667                    #[codec(index = 19)]
4668                    Raw18([::core::primitive::u8; 18usize]),
4669                    #[codec(index = 20)]
4670                    Raw19([::core::primitive::u8; 19usize]),
4671                    #[codec(index = 21)]
4672                    Raw20([::core::primitive::u8; 20usize]),
4673                    #[codec(index = 22)]
4674                    Raw21([::core::primitive::u8; 21usize]),
4675                    #[codec(index = 23)]
4676                    Raw22([::core::primitive::u8; 22usize]),
4677                    #[codec(index = 24)]
4678                    Raw23([::core::primitive::u8; 23usize]),
4679                    #[codec(index = 25)]
4680                    Raw24([::core::primitive::u8; 24usize]),
4681                    #[codec(index = 26)]
4682                    Raw25([::core::primitive::u8; 25usize]),
4683                    #[codec(index = 27)]
4684                    Raw26([::core::primitive::u8; 26usize]),
4685                    #[codec(index = 28)]
4686                    Raw27([::core::primitive::u8; 27usize]),
4687                    #[codec(index = 29)]
4688                    Raw28([::core::primitive::u8; 28usize]),
4689                    #[codec(index = 30)]
4690                    Raw29([::core::primitive::u8; 29usize]),
4691                    #[codec(index = 31)]
4692                    Raw30([::core::primitive::u8; 30usize]),
4693                    #[codec(index = 32)]
4694                    Raw31([::core::primitive::u8; 31usize]),
4695                    #[codec(index = 33)]
4696                    Raw32([::core::primitive::u8; 32usize]),
4697                    #[codec(index = 34)]
4698                    BlakeTwo256([::core::primitive::u8; 32usize]),
4699                    #[codec(index = 35)]
4700                    Sha256([::core::primitive::u8; 32usize]),
4701                    #[codec(index = 36)]
4702                    Keccak256([::core::primitive::u8; 32usize]),
4703                    #[codec(index = 37)]
4704                    ShaThree256([::core::primitive::u8; 32usize]),
4705                }
4706                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
4707                pub enum Judgement<_0> {
4708                    #[codec(index = 0)]
4709                    Unknown,
4710                    #[codec(index = 1)]
4711                    FeePaid(_0),
4712                    #[codec(index = 2)]
4713                    Reasonable,
4714                    #[codec(index = 3)]
4715                    KnownGood,
4716                    #[codec(index = 4)]
4717                    OutOfDate,
4718                    #[codec(index = 5)]
4719                    LowQuality,
4720                    #[codec(index = 6)]
4721                    Erroneous,
4722                }
4723                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
4724                pub struct RegistrarInfo<_0, _1, _2> {
4725                    pub account: _1,
4726                    pub fee: _0,
4727                    pub fields: _2,
4728                }
4729                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
4730                pub struct Registration<_0, _2> {
4731                    pub judgements: runtime_types::bounded_collections::bounded_vec::BoundedVec<(
4732                        ::core::primitive::u32,
4733                        runtime_types::pallet_identity::types::Judgement<_0>,
4734                    )>,
4735                    pub deposit: _0,
4736                    pub info: _2,
4737                }
4738            }
4739        }
4740        pub mod pallet_im_online {
4741            use super::runtime_types;
4742            pub mod pallet {
4743                use super::runtime_types;
4744                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
4745                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
4746                pub enum Call {
4747                    #[codec(index = 0)]
4748                    #[doc = "## Complexity:"]
4749                    #[doc = "- `O(K)` where K is length of `Keys` (heartbeat.validators_len)"]
4750                    #[doc = "  - `O(K)`: decoding of length `K`"]
4751                    heartbeat {
4752                        heartbeat:
4753                            runtime_types::pallet_im_online::Heartbeat<::core::primitive::u32>,
4754                        signature: runtime_types::pallet_im_online::sr25519::app_sr25519::Signature,
4755                    },
4756                }
4757                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
4758                #[doc = "The `Error` enum of this pallet."]
4759                pub enum Error {
4760                    #[codec(index = 0)]
4761                    #[doc = "Non existent public key."]
4762                    InvalidKey,
4763                    #[codec(index = 1)]
4764                    #[doc = "Duplicated heartbeat."]
4765                    DuplicatedHeartbeat,
4766                }
4767                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
4768                #[doc = "The `Event` enum of this pallet"]
4769                pub enum Event {
4770                    #[codec(index = 0)]
4771                    #[doc = "A new heartbeat was received from `AuthorityId`."]
4772                    HeartbeatReceived {
4773                        authority_id: runtime_types::pallet_im_online::sr25519::app_sr25519::Public,
4774                    },
4775                    #[codec(index = 1)]
4776                    #[doc = "At the end of the session, no offence was committed."]
4777                    AllGood,
4778                    #[codec(index = 2)]
4779                    #[doc = "At the end of the session, at least one validator was found to be offline."]
4780                    SomeOffline {
4781                        offline: ::subxt::ext::subxt_core::alloc::vec::Vec<(
4782                            ::subxt::ext::subxt_core::utils::AccountId32,
4783                            runtime_types::sp_staking::Exposure<
4784                                ::subxt::ext::subxt_core::utils::AccountId32,
4785                                ::core::primitive::u128,
4786                            >,
4787                        )>,
4788                    },
4789                }
4790            }
4791            pub mod sr25519 {
4792                use super::runtime_types;
4793                pub mod app_sr25519 {
4794                    use super::runtime_types;
4795                    #[derive(
4796                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
4797                    )]
4798                    pub struct Public(pub [::core::primitive::u8; 32usize]);
4799                    #[derive(
4800                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
4801                    )]
4802                    pub struct Signature(pub [::core::primitive::u8; 64usize]);
4803                }
4804            }
4805            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
4806            pub struct Heartbeat<_0> {
4807                pub block_number: _0,
4808                pub session_index: ::core::primitive::u32,
4809                pub authority_index: ::core::primitive::u32,
4810                pub validators_len: ::core::primitive::u32,
4811            }
4812        }
4813        pub mod pallet_multisig {
4814            use super::runtime_types;
4815            pub mod pallet {
4816                use super::runtime_types;
4817                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
4818                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
4819                pub enum Call {
4820                    #[codec(index = 0)]
4821                    #[doc = "Immediately dispatch a multi-signature call using a single approval from the caller."]
4822                    #[doc = ""]
4823                    #[doc = "The dispatch origin for this call must be _Signed_."]
4824                    #[doc = ""]
4825                    #[doc = "- `other_signatories`: The accounts (other than the sender) who are part of the"]
4826                    #[doc = "multi-signature, but do not participate in the approval process."]
4827                    #[doc = "- `call`: The call to be executed."]
4828                    #[doc = ""]
4829                    #[doc = "Result is equivalent to the dispatched result."]
4830                    #[doc = ""]
4831                    #[doc = "## Complexity"]
4832                    #[doc = "O(Z + C) where Z is the length of the call and C its execution weight."]
4833                    as_multi_threshold_1 {
4834                        other_signatories: ::subxt::ext::subxt_core::alloc::vec::Vec<
4835                            ::subxt::ext::subxt_core::utils::AccountId32,
4836                        >,
4837                        call: ::subxt::ext::subxt_core::alloc::boxed::Box<
4838                            runtime_types::vara_runtime::RuntimeCall,
4839                        >,
4840                    },
4841                    #[codec(index = 1)]
4842                    #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"]
4843                    #[doc = "approved by a total of `threshold - 1` of `other_signatories`."]
4844                    #[doc = ""]
4845                    #[doc = "If there are enough, then dispatch the call."]
4846                    #[doc = ""]
4847                    #[doc = "Payment: `DepositBase` will be reserved if this is the first approval, plus"]
4848                    #[doc = "`threshold` times `DepositFactor`. It is returned once this dispatch happens or"]
4849                    #[doc = "is cancelled."]
4850                    #[doc = ""]
4851                    #[doc = "The dispatch origin for this call must be _Signed_."]
4852                    #[doc = ""]
4853                    #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."]
4854                    #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"]
4855                    #[doc = "dispatch. May not be empty."]
4856                    #[doc = "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is"]
4857                    #[doc = "not the first approval, then it must be `Some`, with the timepoint (block number and"]
4858                    #[doc = "transaction index) of the first approval transaction."]
4859                    #[doc = "- `call`: The call to be executed."]
4860                    #[doc = ""]
4861                    #[doc = "NOTE: Unless this is the final approval, you will generally want to use"]
4862                    #[doc = "`approve_as_multi` instead, since it only requires a hash of the call."]
4863                    #[doc = ""]
4864                    #[doc = "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise"]
4865                    #[doc = "on success, result is `Ok` and the result from the interior call, if it was executed,"]
4866                    #[doc = "may be found in the deposited `MultisigExecuted` event."]
4867                    #[doc = ""]
4868                    #[doc = "## Complexity"]
4869                    #[doc = "- `O(S + Z + Call)`."]
4870                    #[doc = "- Up to one balance-reserve or unreserve operation."]
4871                    #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"]
4872                    #[doc = "  signatories. `S` is capped by `MaxSignatories`, with weight being proportional."]
4873                    #[doc = "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len."]
4874                    #[doc = "- One encode & hash, both of complexity `O(S)`."]
4875                    #[doc = "- Up to one binary search and insert (`O(logS + S)`)."]
4876                    #[doc = "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove."]
4877                    #[doc = "- One event."]
4878                    #[doc = "- The weight of the `call`."]
4879                    #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"]
4880                    #[doc = "  taken for its lifetime of `DepositBase + threshold * DepositFactor`."]
4881                    as_multi {
4882                        threshold: ::core::primitive::u16,
4883                        other_signatories: ::subxt::ext::subxt_core::alloc::vec::Vec<
4884                            ::subxt::ext::subxt_core::utils::AccountId32,
4885                        >,
4886                        maybe_timepoint: ::core::option::Option<
4887                            runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
4888                        >,
4889                        call: ::subxt::ext::subxt_core::alloc::boxed::Box<
4890                            runtime_types::vara_runtime::RuntimeCall,
4891                        >,
4892                        max_weight: runtime_types::sp_weights::weight_v2::Weight,
4893                    },
4894                    #[codec(index = 2)]
4895                    #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"]
4896                    #[doc = "approved by a total of `threshold - 1` of `other_signatories`."]
4897                    #[doc = ""]
4898                    #[doc = "Payment: `DepositBase` will be reserved if this is the first approval, plus"]
4899                    #[doc = "`threshold` times `DepositFactor`. It is returned once this dispatch happens or"]
4900                    #[doc = "is cancelled."]
4901                    #[doc = ""]
4902                    #[doc = "The dispatch origin for this call must be _Signed_."]
4903                    #[doc = ""]
4904                    #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."]
4905                    #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"]
4906                    #[doc = "dispatch. May not be empty."]
4907                    #[doc = "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is"]
4908                    #[doc = "not the first approval, then it must be `Some`, with the timepoint (block number and"]
4909                    #[doc = "transaction index) of the first approval transaction."]
4910                    #[doc = "- `call_hash`: The hash of the call to be executed."]
4911                    #[doc = ""]
4912                    #[doc = "NOTE: If this is the final approval, you will want to use `as_multi` instead."]
4913                    #[doc = ""]
4914                    #[doc = "## Complexity"]
4915                    #[doc = "- `O(S)`."]
4916                    #[doc = "- Up to one balance-reserve or unreserve operation."]
4917                    #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"]
4918                    #[doc = "  signatories. `S` is capped by `MaxSignatories`, with weight being proportional."]
4919                    #[doc = "- One encode & hash, both of complexity `O(S)`."]
4920                    #[doc = "- Up to one binary search and insert (`O(logS + S)`)."]
4921                    #[doc = "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove."]
4922                    #[doc = "- One event."]
4923                    #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"]
4924                    #[doc = "  taken for its lifetime of `DepositBase + threshold * DepositFactor`."]
4925                    approve_as_multi {
4926                        threshold: ::core::primitive::u16,
4927                        other_signatories: ::subxt::ext::subxt_core::alloc::vec::Vec<
4928                            ::subxt::ext::subxt_core::utils::AccountId32,
4929                        >,
4930                        maybe_timepoint: ::core::option::Option<
4931                            runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
4932                        >,
4933                        call_hash: [::core::primitive::u8; 32usize],
4934                        max_weight: runtime_types::sp_weights::weight_v2::Weight,
4935                    },
4936                    #[codec(index = 3)]
4937                    #[doc = "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously"]
4938                    #[doc = "for this operation will be unreserved on success."]
4939                    #[doc = ""]
4940                    #[doc = "The dispatch origin for this call must be _Signed_."]
4941                    #[doc = ""]
4942                    #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."]
4943                    #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"]
4944                    #[doc = "dispatch. May not be empty."]
4945                    #[doc = "- `timepoint`: The timepoint (block number and transaction index) of the first approval"]
4946                    #[doc = "transaction for this dispatch."]
4947                    #[doc = "- `call_hash`: The hash of the call to be executed."]
4948                    #[doc = ""]
4949                    #[doc = "## Complexity"]
4950                    #[doc = "- `O(S)`."]
4951                    #[doc = "- Up to one balance-reserve or unreserve operation."]
4952                    #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"]
4953                    #[doc = "  signatories. `S` is capped by `MaxSignatories`, with weight being proportional."]
4954                    #[doc = "- One encode & hash, both of complexity `O(S)`."]
4955                    #[doc = "- One event."]
4956                    #[doc = "- I/O: 1 read `O(S)`, one remove."]
4957                    #[doc = "- Storage: removes one item."]
4958                    cancel_as_multi {
4959                        threshold: ::core::primitive::u16,
4960                        other_signatories: ::subxt::ext::subxt_core::alloc::vec::Vec<
4961                            ::subxt::ext::subxt_core::utils::AccountId32,
4962                        >,
4963                        timepoint:
4964                            runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
4965                        call_hash: [::core::primitive::u8; 32usize],
4966                    },
4967                }
4968                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
4969                #[doc = "The `Error` enum of this pallet."]
4970                pub enum Error {
4971                    #[codec(index = 0)]
4972                    #[doc = "Threshold must be 2 or greater."]
4973                    MinimumThreshold,
4974                    #[codec(index = 1)]
4975                    #[doc = "Call is already approved by this signatory."]
4976                    AlreadyApproved,
4977                    #[codec(index = 2)]
4978                    #[doc = "Call doesn't need any (more) approvals."]
4979                    NoApprovalsNeeded,
4980                    #[codec(index = 3)]
4981                    #[doc = "There are too few signatories in the list."]
4982                    TooFewSignatories,
4983                    #[codec(index = 4)]
4984                    #[doc = "There are too many signatories in the list."]
4985                    TooManySignatories,
4986                    #[codec(index = 5)]
4987                    #[doc = "The signatories were provided out of order; they should be ordered."]
4988                    SignatoriesOutOfOrder,
4989                    #[codec(index = 6)]
4990                    #[doc = "The sender was contained in the other signatories; it shouldn't be."]
4991                    SenderInSignatories,
4992                    #[codec(index = 7)]
4993                    #[doc = "Multisig operation not found when attempting to cancel."]
4994                    NotFound,
4995                    #[codec(index = 8)]
4996                    #[doc = "Only the account that originally created the multisig is able to cancel it."]
4997                    NotOwner,
4998                    #[codec(index = 9)]
4999                    #[doc = "No timepoint was given, yet the multisig operation is already underway."]
5000                    NoTimepoint,
5001                    #[codec(index = 10)]
5002                    #[doc = "A different timepoint was given to the multisig operation that is underway."]
5003                    WrongTimepoint,
5004                    #[codec(index = 11)]
5005                    #[doc = "A timepoint was given, yet no multisig operation is underway."]
5006                    UnexpectedTimepoint,
5007                    #[codec(index = 12)]
5008                    #[doc = "The maximum weight information provided was too low."]
5009                    MaxWeightTooLow,
5010                    #[codec(index = 13)]
5011                    #[doc = "The data to be stored is already stored."]
5012                    AlreadyStored,
5013                }
5014                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5015                #[doc = "The `Event` enum of this pallet"]
5016                pub enum Event {
5017                    #[codec(index = 0)]
5018                    #[doc = "A new multisig operation has begun."]
5019                    NewMultisig {
5020                        approving: ::subxt::ext::subxt_core::utils::AccountId32,
5021                        multisig: ::subxt::ext::subxt_core::utils::AccountId32,
5022                        call_hash: [::core::primitive::u8; 32usize],
5023                    },
5024                    #[codec(index = 1)]
5025                    #[doc = "A multisig operation has been approved by someone."]
5026                    MultisigApproval {
5027                        approving: ::subxt::ext::subxt_core::utils::AccountId32,
5028                        timepoint:
5029                            runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
5030                        multisig: ::subxt::ext::subxt_core::utils::AccountId32,
5031                        call_hash: [::core::primitive::u8; 32usize],
5032                    },
5033                    #[codec(index = 2)]
5034                    #[doc = "A multisig operation has been executed."]
5035                    MultisigExecuted {
5036                        approving: ::subxt::ext::subxt_core::utils::AccountId32,
5037                        timepoint:
5038                            runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
5039                        multisig: ::subxt::ext::subxt_core::utils::AccountId32,
5040                        call_hash: [::core::primitive::u8; 32usize],
5041                        result:
5042                            ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
5043                    },
5044                    #[codec(index = 3)]
5045                    #[doc = "A multisig operation has been cancelled."]
5046                    MultisigCancelled {
5047                        cancelling: ::subxt::ext::subxt_core::utils::AccountId32,
5048                        timepoint:
5049                            runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>,
5050                        multisig: ::subxt::ext::subxt_core::utils::AccountId32,
5051                        call_hash: [::core::primitive::u8; 32usize],
5052                    },
5053                }
5054            }
5055            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5056            pub struct Multisig<_0, _1, _2> {
5057                pub when: runtime_types::pallet_multisig::Timepoint<_0>,
5058                pub deposit: _1,
5059                pub depositor: _2,
5060                pub approvals: runtime_types::bounded_collections::bounded_vec::BoundedVec<_2>,
5061            }
5062            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5063            pub struct Timepoint<_0> {
5064                pub height: _0,
5065                pub index: ::core::primitive::u32,
5066            }
5067        }
5068        pub mod pallet_nomination_pools {
5069            use super::runtime_types;
5070            pub mod pallet {
5071                use super::runtime_types;
5072                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5073                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
5074                pub enum Call {
5075                    #[codec(index = 0)]
5076                    #[doc = "Stake funds with a pool. The amount to bond is transferred from the member to the pool"]
5077                    #[doc = "account and immediately increases the pools bond."]
5078                    #[doc = ""]
5079                    #[doc = "The method of transferring the amount to the pool account is determined by"]
5080                    #[doc = "[`adapter::StakeStrategyType`]. If the pool is configured to use"]
5081                    #[doc = "[`adapter::StakeStrategyType::Delegate`], the funds remain in the account of"]
5082                    #[doc = "the `origin`, while the pool gains the right to use these funds for staking."]
5083                    #[doc = ""]
5084                    #[doc = "# Note"]
5085                    #[doc = ""]
5086                    #[doc = "* An account can only be a member of a single pool."]
5087                    #[doc = "* An account cannot join the same pool multiple times."]
5088                    #[doc = "* This call will *not* dust the member account, so the member must have at least"]
5089                    #[doc = "  `existential deposit + amount` in their account."]
5090                    #[doc = "* Only a pool with [`PoolState::Open`] can be joined"]
5091                    join {
5092                        #[codec(compact)]
5093                        amount: ::core::primitive::u128,
5094                        pool_id: ::core::primitive::u32,
5095                    },
5096                    #[codec(index = 1)]
5097                    #[doc = "Bond `extra` more funds from `origin` into the pool to which they already belong."]
5098                    #[doc = ""]
5099                    #[doc = "Additional funds can come from either the free balance of the account, of from the"]
5100                    #[doc = "accumulated rewards, see [`BondExtra`]."]
5101                    #[doc = ""]
5102                    #[doc = "Bonding extra funds implies an automatic payout of all pending rewards as well."]
5103                    #[doc = "See `bond_extra_other` to bond pending rewards of `other` members."]
5104                    bond_extra {
5105                        extra: runtime_types::pallet_nomination_pools::BondExtra<
5106                            ::core::primitive::u128,
5107                        >,
5108                    },
5109                    #[codec(index = 2)]
5110                    #[doc = "A bonded member can use this to claim their payout based on the rewards that the pool"]
5111                    #[doc = "has accumulated since their last claimed payout (OR since joining if this is their first"]
5112                    #[doc = "time claiming rewards). The payout will be transferred to the member's account."]
5113                    #[doc = ""]
5114                    #[doc = "The member will earn rewards pro rata based on the members stake vs the sum of the"]
5115                    #[doc = "members in the pools stake. Rewards do not \"expire\"."]
5116                    #[doc = ""]
5117                    #[doc = "See `claim_payout_other` to claim rewards on behalf of some `other` pool member."]
5118                    claim_payout,
5119                    #[codec(index = 3)]
5120                    #[doc = "Unbond up to `unbonding_points` of the `member_account`'s funds from the pool. It"]
5121                    #[doc = "implicitly collects the rewards one last time, since not doing so would mean some"]
5122                    #[doc = "rewards would be forfeited."]
5123                    #[doc = ""]
5124                    #[doc = "Under certain conditions, this call can be dispatched permissionlessly (i.e. by any"]
5125                    #[doc = "account)."]
5126                    #[doc = ""]
5127                    #[doc = "# Conditions for a permissionless dispatch."]
5128                    #[doc = ""]
5129                    #[doc = "* The pool is blocked and the caller is either the root or bouncer. This is refereed to"]
5130                    #[doc = "  as a kick."]
5131                    #[doc = "* The pool is destroying and the member is not the depositor."]
5132                    #[doc = "* The pool is destroying, the member is the depositor and no other members are in the"]
5133                    #[doc = "  pool."]
5134                    #[doc = ""]
5135                    #[doc = "## Conditions for permissioned dispatch (i.e. the caller is also the"]
5136                    #[doc = "`member_account`):"]
5137                    #[doc = ""]
5138                    #[doc = "* The caller is not the depositor."]
5139                    #[doc = "* The caller is the depositor, the pool is destroying and no other members are in the"]
5140                    #[doc = "  pool."]
5141                    #[doc = ""]
5142                    #[doc = "# Note"]
5143                    #[doc = ""]
5144                    #[doc = "If there are too many unlocking chunks to unbond with the pool account,"]
5145                    #[doc = "[`Call::pool_withdraw_unbonded`] can be called to try and minimize unlocking chunks."]
5146                    #[doc = "The [`StakingInterface::unbond`] will implicitly call [`Call::pool_withdraw_unbonded`]"]
5147                    #[doc = "to try to free chunks if necessary (ie. if unbound was called and no unlocking chunks"]
5148                    #[doc = "are available). However, it may not be possible to release the current unlocking chunks,"]
5149                    #[doc = "in which case, the result of this call will likely be the `NoMoreChunks` error from the"]
5150                    #[doc = "staking system."]
5151                    unbond {
5152                        member_account: ::subxt::ext::subxt_core::utils::MultiAddress<
5153                            ::subxt::ext::subxt_core::utils::AccountId32,
5154                            (),
5155                        >,
5156                        #[codec(compact)]
5157                        unbonding_points: ::core::primitive::u128,
5158                    },
5159                    #[codec(index = 4)]
5160                    #[doc = "Call `withdraw_unbonded` for the pools account. This call can be made by any account."]
5161                    #[doc = ""]
5162                    #[doc = "This is useful if there are too many unlocking chunks to call `unbond`, and some"]
5163                    #[doc = "can be cleared by withdrawing. In the case there are too many unlocking chunks, the user"]
5164                    #[doc = "would probably see an error like `NoMoreChunks` emitted from the staking system when"]
5165                    #[doc = "they attempt to unbond."]
5166                    pool_withdraw_unbonded {
5167                        pool_id: ::core::primitive::u32,
5168                        num_slashing_spans: ::core::primitive::u32,
5169                    },
5170                    #[codec(index = 5)]
5171                    #[doc = "Withdraw unbonded funds from `member_account`. If no bonded funds can be unbonded, an"]
5172                    #[doc = "error is returned."]
5173                    #[doc = ""]
5174                    #[doc = "Under certain conditions, this call can be dispatched permissionlessly (i.e. by any"]
5175                    #[doc = "account)."]
5176                    #[doc = ""]
5177                    #[doc = "# Conditions for a permissionless dispatch"]
5178                    #[doc = ""]
5179                    #[doc = "* The pool is in destroy mode and the target is not the depositor."]
5180                    #[doc = "* The target is the depositor and they are the only member in the sub pools."]
5181                    #[doc = "* The pool is blocked and the caller is either the root or bouncer."]
5182                    #[doc = ""]
5183                    #[doc = "# Conditions for permissioned dispatch"]
5184                    #[doc = ""]
5185                    #[doc = "* The caller is the target and they are not the depositor."]
5186                    #[doc = ""]
5187                    #[doc = "# Note"]
5188                    #[doc = ""]
5189                    #[doc = "- If the target is the depositor, the pool will be destroyed."]
5190                    #[doc = "- If the pool has any pending slash, we also try to slash the member before letting them"]
5191                    #[doc = "withdraw. This calculation adds some weight overhead and is only defensive. In reality,"]
5192                    #[doc = "pool slashes must have been already applied via permissionless [`Call::apply_slash`]."]
5193                    withdraw_unbonded {
5194                        member_account: ::subxt::ext::subxt_core::utils::MultiAddress<
5195                            ::subxt::ext::subxt_core::utils::AccountId32,
5196                            (),
5197                        >,
5198                        num_slashing_spans: ::core::primitive::u32,
5199                    },
5200                    #[codec(index = 6)]
5201                    #[doc = "Create a new delegation pool."]
5202                    #[doc = ""]
5203                    #[doc = "# Arguments"]
5204                    #[doc = ""]
5205                    #[doc = "* `amount` - The amount of funds to delegate to the pool. This also acts of a sort of"]
5206                    #[doc = "  deposit since the pools creator cannot fully unbond funds until the pool is being"]
5207                    #[doc = "  destroyed."]
5208                    #[doc = "* `index` - A disambiguation index for creating the account. Likely only useful when"]
5209                    #[doc = "  creating multiple pools in the same extrinsic."]
5210                    #[doc = "* `root` - The account to set as [`PoolRoles::root`]."]
5211                    #[doc = "* `nominator` - The account to set as the [`PoolRoles::nominator`]."]
5212                    #[doc = "* `bouncer` - The account to set as the [`PoolRoles::bouncer`]."]
5213                    #[doc = ""]
5214                    #[doc = "# Note"]
5215                    #[doc = ""]
5216                    #[doc = "In addition to `amount`, the caller will transfer the existential deposit; so the caller"]
5217                    #[doc = "needs at have at least `amount + existential_deposit` transferable."]
5218                    create {
5219                        #[codec(compact)]
5220                        amount: ::core::primitive::u128,
5221                        root: ::subxt::ext::subxt_core::utils::MultiAddress<
5222                            ::subxt::ext::subxt_core::utils::AccountId32,
5223                            (),
5224                        >,
5225                        nominator: ::subxt::ext::subxt_core::utils::MultiAddress<
5226                            ::subxt::ext::subxt_core::utils::AccountId32,
5227                            (),
5228                        >,
5229                        bouncer: ::subxt::ext::subxt_core::utils::MultiAddress<
5230                            ::subxt::ext::subxt_core::utils::AccountId32,
5231                            (),
5232                        >,
5233                    },
5234                    #[codec(index = 7)]
5235                    #[doc = "Create a new delegation pool with a previously used pool id"]
5236                    #[doc = ""]
5237                    #[doc = "# Arguments"]
5238                    #[doc = ""]
5239                    #[doc = "same as `create` with the inclusion of"]
5240                    #[doc = "* `pool_id` - `A valid PoolId."]
5241                    create_with_pool_id {
5242                        #[codec(compact)]
5243                        amount: ::core::primitive::u128,
5244                        root: ::subxt::ext::subxt_core::utils::MultiAddress<
5245                            ::subxt::ext::subxt_core::utils::AccountId32,
5246                            (),
5247                        >,
5248                        nominator: ::subxt::ext::subxt_core::utils::MultiAddress<
5249                            ::subxt::ext::subxt_core::utils::AccountId32,
5250                            (),
5251                        >,
5252                        bouncer: ::subxt::ext::subxt_core::utils::MultiAddress<
5253                            ::subxt::ext::subxt_core::utils::AccountId32,
5254                            (),
5255                        >,
5256                        pool_id: ::core::primitive::u32,
5257                    },
5258                    #[codec(index = 8)]
5259                    #[doc = "Nominate on behalf of the pool."]
5260                    #[doc = ""]
5261                    #[doc = "The dispatch origin of this call must be signed by the pool nominator or the pool"]
5262                    #[doc = "root role."]
5263                    #[doc = ""]
5264                    #[doc = "This directly forward the call to the staking pallet, on behalf of the pool bonded"]
5265                    #[doc = "account."]
5266                    #[doc = ""]
5267                    #[doc = "# Note"]
5268                    #[doc = ""]
5269                    #[doc = "In addition to a `root` or `nominator` role of `origin`, pool's depositor needs to have"]
5270                    #[doc = "at least `depositor_min_bond` in the pool to start nominating."]
5271                    nominate {
5272                        pool_id: ::core::primitive::u32,
5273                        validators: ::subxt::ext::subxt_core::alloc::vec::Vec<
5274                            ::subxt::ext::subxt_core::utils::AccountId32,
5275                        >,
5276                    },
5277                    #[codec(index = 9)]
5278                    #[doc = "Set a new state for the pool."]
5279                    #[doc = ""]
5280                    #[doc = "If a pool is already in the `Destroying` state, then under no condition can its state"]
5281                    #[doc = "change again."]
5282                    #[doc = ""]
5283                    #[doc = "The dispatch origin of this call must be either:"]
5284                    #[doc = ""]
5285                    #[doc = "1. signed by the bouncer, or the root role of the pool,"]
5286                    #[doc = "2. if the pool conditions to be open are NOT met (as described by `ok_to_be_open`), and"]
5287                    #[doc = "   then the state of the pool can be permissionlessly changed to `Destroying`."]
5288                    set_state {
5289                        pool_id: ::core::primitive::u32,
5290                        state: runtime_types::pallet_nomination_pools::PoolState,
5291                    },
5292                    #[codec(index = 10)]
5293                    #[doc = "Set a new metadata for the pool."]
5294                    #[doc = ""]
5295                    #[doc = "The dispatch origin of this call must be signed by the bouncer, or the root role of the"]
5296                    #[doc = "pool."]
5297                    set_metadata {
5298                        pool_id: ::core::primitive::u32,
5299                        metadata: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
5300                    },
5301                    #[codec(index = 11)]
5302                    #[doc = "Update configurations for the nomination pools. The origin for this call must be"]
5303                    #[doc = "[`Config::AdminOrigin`]."]
5304                    #[doc = ""]
5305                    #[doc = "# Arguments"]
5306                    #[doc = ""]
5307                    #[doc = "* `min_join_bond` - Set [`MinJoinBond`]."]
5308                    #[doc = "* `min_create_bond` - Set [`MinCreateBond`]."]
5309                    #[doc = "* `max_pools` - Set [`MaxPools`]."]
5310                    #[doc = "* `max_members` - Set [`MaxPoolMembers`]."]
5311                    #[doc = "* `max_members_per_pool` - Set [`MaxPoolMembersPerPool`]."]
5312                    #[doc = "* `global_max_commission` - Set [`GlobalMaxCommission`]."]
5313                    set_configs {
5314                        min_join_bond: runtime_types::pallet_nomination_pools::ConfigOp<
5315                            ::core::primitive::u128,
5316                        >,
5317                        min_create_bond: runtime_types::pallet_nomination_pools::ConfigOp<
5318                            ::core::primitive::u128,
5319                        >,
5320                        max_pools: runtime_types::pallet_nomination_pools::ConfigOp<
5321                            ::core::primitive::u32,
5322                        >,
5323                        max_members: runtime_types::pallet_nomination_pools::ConfigOp<
5324                            ::core::primitive::u32,
5325                        >,
5326                        max_members_per_pool: runtime_types::pallet_nomination_pools::ConfigOp<
5327                            ::core::primitive::u32,
5328                        >,
5329                        global_max_commission: runtime_types::pallet_nomination_pools::ConfigOp<
5330                            runtime_types::sp_arithmetic::per_things::Perbill,
5331                        >,
5332                    },
5333                    #[codec(index = 12)]
5334                    #[doc = "Update the roles of the pool."]
5335                    #[doc = ""]
5336                    #[doc = "The root is the only entity that can change any of the roles, including itself,"]
5337                    #[doc = "excluding the depositor, who can never change."]
5338                    #[doc = ""]
5339                    #[doc = "It emits an event, notifying UIs of the role change. This event is quite relevant to"]
5340                    #[doc = "most pool members and they should be informed of changes to pool roles."]
5341                    update_roles {
5342                        pool_id: ::core::primitive::u32,
5343                        new_root: runtime_types::pallet_nomination_pools::ConfigOp<
5344                            ::subxt::ext::subxt_core::utils::AccountId32,
5345                        >,
5346                        new_nominator: runtime_types::pallet_nomination_pools::ConfigOp<
5347                            ::subxt::ext::subxt_core::utils::AccountId32,
5348                        >,
5349                        new_bouncer: runtime_types::pallet_nomination_pools::ConfigOp<
5350                            ::subxt::ext::subxt_core::utils::AccountId32,
5351                        >,
5352                    },
5353                    #[codec(index = 13)]
5354                    #[doc = "Chill on behalf of the pool."]
5355                    #[doc = ""]
5356                    #[doc = "The dispatch origin of this call can be signed by the pool nominator or the pool"]
5357                    #[doc = "root role, same as [`Pallet::nominate`]."]
5358                    #[doc = ""]
5359                    #[doc = "Under certain conditions, this call can be dispatched permissionlessly (i.e. by any"]
5360                    #[doc = "account)."]
5361                    #[doc = ""]
5362                    #[doc = "# Conditions for a permissionless dispatch:"]
5363                    #[doc = "* When pool depositor has less than `MinNominatorBond` staked, otherwise  pool members"]
5364                    #[doc = "  are unable to unbond."]
5365                    #[doc = ""]
5366                    #[doc = "# Conditions for permissioned dispatch:"]
5367                    #[doc = "* The caller has a nominator or root role of the pool."]
5368                    #[doc = "This directly forward the call to the staking pallet, on behalf of the pool bonded"]
5369                    #[doc = "account."]
5370                    chill { pool_id: ::core::primitive::u32 },
5371                    #[codec(index = 14)]
5372                    #[doc = "`origin` bonds funds from `extra` for some pool member `member` into their respective"]
5373                    #[doc = "pools."]
5374                    #[doc = ""]
5375                    #[doc = "`origin` can bond extra funds from free balance or pending rewards when `origin =="]
5376                    #[doc = "other`."]
5377                    #[doc = ""]
5378                    #[doc = "In the case of `origin != other`, `origin` can only bond extra pending rewards of"]
5379                    #[doc = "`other` members assuming set_claim_permission for the given member is"]
5380                    #[doc = "`PermissionlessCompound` or `PermissionlessAll`."]
5381                    bond_extra_other {
5382                        member: ::subxt::ext::subxt_core::utils::MultiAddress<
5383                            ::subxt::ext::subxt_core::utils::AccountId32,
5384                            (),
5385                        >,
5386                        extra: runtime_types::pallet_nomination_pools::BondExtra<
5387                            ::core::primitive::u128,
5388                        >,
5389                    },
5390                    #[codec(index = 15)]
5391                    #[doc = "Allows a pool member to set a claim permission to allow or disallow permissionless"]
5392                    #[doc = "bonding and withdrawing."]
5393                    #[doc = ""]
5394                    #[doc = "# Arguments"]
5395                    #[doc = ""]
5396                    #[doc = "* `origin` - Member of a pool."]
5397                    #[doc = "* `permission` - The permission to be applied."]
5398                    set_claim_permission {
5399                        permission: runtime_types::pallet_nomination_pools::ClaimPermission,
5400                    },
5401                    #[codec(index = 16)]
5402                    #[doc = "`origin` can claim payouts on some pool member `other`'s behalf."]
5403                    #[doc = ""]
5404                    #[doc = "Pool member `other` must have a `PermissionlessWithdraw` or `PermissionlessAll` claim"]
5405                    #[doc = "permission for this call to be successful."]
5406                    claim_payout_other {
5407                        other: ::subxt::ext::subxt_core::utils::AccountId32,
5408                    },
5409                    #[codec(index = 17)]
5410                    #[doc = "Set the commission of a pool."]
5411                    #[doc = "Both a commission percentage and a commission payee must be provided in the `current`"]
5412                    #[doc = "tuple. Where a `current` of `None` is provided, any current commission will be removed."]
5413                    #[doc = ""]
5414                    #[doc = "- If a `None` is supplied to `new_commission`, existing commission will be removed."]
5415                    set_commission {
5416                        pool_id: ::core::primitive::u32,
5417                        new_commission: ::core::option::Option<(
5418                            runtime_types::sp_arithmetic::per_things::Perbill,
5419                            ::subxt::ext::subxt_core::utils::AccountId32,
5420                        )>,
5421                    },
5422                    #[codec(index = 18)]
5423                    #[doc = "Set the maximum commission of a pool."]
5424                    #[doc = ""]
5425                    #[doc = "- Initial max can be set to any `Perbill`, and only smaller values thereafter."]
5426                    #[doc = "- Current commission will be lowered in the event it is higher than a new max"]
5427                    #[doc = "  commission."]
5428                    set_commission_max {
5429                        pool_id: ::core::primitive::u32,
5430                        max_commission: runtime_types::sp_arithmetic::per_things::Perbill,
5431                    },
5432                    #[codec(index = 19)]
5433                    #[doc = "Set the commission change rate for a pool."]
5434                    #[doc = ""]
5435                    #[doc = "Initial change rate is not bounded, whereas subsequent updates can only be more"]
5436                    #[doc = "restrictive than the current."]
5437                    set_commission_change_rate {
5438                        pool_id: ::core::primitive::u32,
5439                        change_rate: runtime_types::pallet_nomination_pools::CommissionChangeRate<
5440                            ::core::primitive::u32,
5441                        >,
5442                    },
5443                    #[codec(index = 20)]
5444                    #[doc = "Claim pending commission."]
5445                    #[doc = ""]
5446                    #[doc = "The dispatch origin of this call must be signed by the `root` role of the pool. Pending"]
5447                    #[doc = "commission is paid out and added to total claimed commission`. Total pending commission"]
5448                    #[doc = "is reset to zero. the current."]
5449                    claim_commission { pool_id: ::core::primitive::u32 },
5450                    #[codec(index = 21)]
5451                    #[doc = "Top up the deficit or withdraw the excess ED from the pool."]
5452                    #[doc = ""]
5453                    #[doc = "When a pool is created, the pool depositor transfers ED to the reward account of the"]
5454                    #[doc = "pool. ED is subject to change and over time, the deposit in the reward account may be"]
5455                    #[doc = "insufficient to cover the ED deficit of the pool or vice-versa where there is excess"]
5456                    #[doc = "deposit to the pool. This call allows anyone to adjust the ED deposit of the"]
5457                    #[doc = "pool by either topping up the deficit or claiming the excess."]
5458                    adjust_pool_deposit { pool_id: ::core::primitive::u32 },
5459                    #[codec(index = 22)]
5460                    #[doc = "Set or remove a pool's commission claim permission."]
5461                    #[doc = ""]
5462                    #[doc = "Determines who can claim the pool's pending commission. Only the `Root` role of the pool"]
5463                    #[doc = "is able to configure commission claim permissions."]
5464                    set_commission_claim_permission {
5465                        pool_id: ::core::primitive::u32,
5466                        permission: ::core::option::Option<
5467                            runtime_types::pallet_nomination_pools::CommissionClaimPermission<
5468                                ::subxt::ext::subxt_core::utils::AccountId32,
5469                            >,
5470                        >,
5471                    },
5472                    #[codec(index = 23)]
5473                    #[doc = "Apply a pending slash on a member."]
5474                    #[doc = ""]
5475                    #[doc = "Fails unless [`crate::pallet::Config::StakeAdapter`] is of strategy type:"]
5476                    #[doc = "[`adapter::StakeStrategyType::Delegate`]."]
5477                    #[doc = ""]
5478                    #[doc = "This call can be dispatched permissionlessly (i.e. by any account). If the member has"]
5479                    #[doc = "slash to be applied, caller may be rewarded with the part of the slash."]
5480                    apply_slash {
5481                        member_account: ::subxt::ext::subxt_core::utils::MultiAddress<
5482                            ::subxt::ext::subxt_core::utils::AccountId32,
5483                            (),
5484                        >,
5485                    },
5486                    #[codec(index = 24)]
5487                    #[doc = "Migrates delegated funds from the pool account to the `member_account`."]
5488                    #[doc = ""]
5489                    #[doc = "Fails unless [`crate::pallet::Config::StakeAdapter`] is of strategy type:"]
5490                    #[doc = "[`adapter::StakeStrategyType::Delegate`]."]
5491                    #[doc = ""]
5492                    #[doc = "This is a permission-less call and refunds any fee if claim is successful."]
5493                    #[doc = ""]
5494                    #[doc = "If the pool has migrated to delegation based staking, the staked tokens of pool members"]
5495                    #[doc = "can be moved and held in their own account. See [`adapter::DelegateStake`]"]
5496                    migrate_delegation {
5497                        member_account: ::subxt::ext::subxt_core::utils::MultiAddress<
5498                            ::subxt::ext::subxt_core::utils::AccountId32,
5499                            (),
5500                        >,
5501                    },
5502                    #[codec(index = 25)]
5503                    #[doc = "Migrate pool from [`adapter::StakeStrategyType::Transfer`] to"]
5504                    #[doc = "[`adapter::StakeStrategyType::Delegate`]."]
5505                    #[doc = ""]
5506                    #[doc = "Fails unless [`crate::pallet::Config::StakeAdapter`] is of strategy type:"]
5507                    #[doc = "[`adapter::StakeStrategyType::Delegate`]."]
5508                    #[doc = ""]
5509                    #[doc = "This call can be dispatched permissionlessly, and refunds any fee if successful."]
5510                    #[doc = ""]
5511                    #[doc = "If the pool has already migrated to delegation based staking, this call will fail."]
5512                    migrate_pool_to_delegate_stake { pool_id: ::core::primitive::u32 },
5513                }
5514                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5515                pub enum DefensiveError {
5516                    #[codec(index = 0)]
5517                    NotEnoughSpaceInUnbondPool,
5518                    #[codec(index = 1)]
5519                    PoolNotFound,
5520                    #[codec(index = 2)]
5521                    RewardPoolNotFound,
5522                    #[codec(index = 3)]
5523                    SubPoolsNotFound,
5524                    #[codec(index = 4)]
5525                    BondedStashKilledPrematurely,
5526                    #[codec(index = 5)]
5527                    DelegationUnsupported,
5528                    #[codec(index = 6)]
5529                    SlashNotApplied,
5530                }
5531                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5532                #[doc = "The `Error` enum of this pallet."]
5533                pub enum Error {
5534                    #[codec(index = 0)]
5535                    #[doc = "A (bonded) pool id does not exist."]
5536                    PoolNotFound,
5537                    #[codec(index = 1)]
5538                    #[doc = "An account is not a member."]
5539                    PoolMemberNotFound,
5540                    #[codec(index = 2)]
5541                    #[doc = "A reward pool does not exist. In all cases this is a system logic error."]
5542                    RewardPoolNotFound,
5543                    #[codec(index = 3)]
5544                    #[doc = "A sub pool does not exist."]
5545                    SubPoolsNotFound,
5546                    #[codec(index = 4)]
5547                    #[doc = "An account is already delegating in another pool. An account may only belong to one"]
5548                    #[doc = "pool at a time."]
5549                    AccountBelongsToOtherPool,
5550                    #[codec(index = 5)]
5551                    #[doc = "The member is fully unbonded (and thus cannot access the bonded and reward pool"]
5552                    #[doc = "anymore to, for example, collect rewards)."]
5553                    FullyUnbonding,
5554                    #[codec(index = 6)]
5555                    #[doc = "The member cannot unbond further chunks due to reaching the limit."]
5556                    MaxUnbondingLimit,
5557                    #[codec(index = 7)]
5558                    #[doc = "None of the funds can be withdrawn yet because the bonding duration has not passed."]
5559                    CannotWithdrawAny,
5560                    #[codec(index = 8)]
5561                    #[doc = "The amount does not meet the minimum bond to either join or create a pool."]
5562                    #[doc = ""]
5563                    #[doc = "The depositor can never unbond to a value less than `Pallet::depositor_min_bond`. The"]
5564                    #[doc = "caller does not have nominating permissions for the pool. Members can never unbond to a"]
5565                    #[doc = "value below `MinJoinBond`."]
5566                    MinimumBondNotMet,
5567                    #[codec(index = 9)]
5568                    #[doc = "The transaction could not be executed due to overflow risk for the pool."]
5569                    OverflowRisk,
5570                    #[codec(index = 10)]
5571                    #[doc = "A pool must be in [`PoolState::Destroying`] in order for the depositor to unbond or for"]
5572                    #[doc = "other members to be permissionlessly unbonded."]
5573                    NotDestroying,
5574                    #[codec(index = 11)]
5575                    #[doc = "The caller does not have nominating permissions for the pool."]
5576                    NotNominator,
5577                    #[codec(index = 12)]
5578                    #[doc = "Either a) the caller cannot make a valid kick or b) the pool is not destroying."]
5579                    NotKickerOrDestroying,
5580                    #[codec(index = 13)]
5581                    #[doc = "The pool is not open to join"]
5582                    NotOpen,
5583                    #[codec(index = 14)]
5584                    #[doc = "The system is maxed out on pools."]
5585                    MaxPools,
5586                    #[codec(index = 15)]
5587                    #[doc = "Too many members in the pool or system."]
5588                    MaxPoolMembers,
5589                    #[codec(index = 16)]
5590                    #[doc = "The pools state cannot be changed."]
5591                    CanNotChangeState,
5592                    #[codec(index = 17)]
5593                    #[doc = "The caller does not have adequate permissions."]
5594                    DoesNotHavePermission,
5595                    #[codec(index = 18)]
5596                    #[doc = "Metadata exceeds [`Config::MaxMetadataLen`]"]
5597                    MetadataExceedsMaxLen,
5598                    #[codec(index = 19)]
5599                    #[doc = "Some error occurred that should never happen. This should be reported to the"]
5600                    #[doc = "maintainers."]
5601                    Defensive(runtime_types::pallet_nomination_pools::pallet::DefensiveError),
5602                    #[codec(index = 20)]
5603                    #[doc = "Partial unbonding now allowed permissionlessly."]
5604                    PartialUnbondNotAllowedPermissionlessly,
5605                    #[codec(index = 21)]
5606                    #[doc = "The pool's max commission cannot be set higher than the existing value."]
5607                    MaxCommissionRestricted,
5608                    #[codec(index = 22)]
5609                    #[doc = "The supplied commission exceeds the max allowed commission."]
5610                    CommissionExceedsMaximum,
5611                    #[codec(index = 23)]
5612                    #[doc = "The supplied commission exceeds global maximum commission."]
5613                    CommissionExceedsGlobalMaximum,
5614                    #[codec(index = 24)]
5615                    #[doc = "Not enough blocks have surpassed since the last commission update."]
5616                    CommissionChangeThrottled,
5617                    #[codec(index = 25)]
5618                    #[doc = "The submitted changes to commission change rate are not allowed."]
5619                    CommissionChangeRateNotAllowed,
5620                    #[codec(index = 26)]
5621                    #[doc = "There is no pending commission to claim."]
5622                    NoPendingCommission,
5623                    #[codec(index = 27)]
5624                    #[doc = "No commission current has been set."]
5625                    NoCommissionCurrentSet,
5626                    #[codec(index = 28)]
5627                    #[doc = "Pool id currently in use."]
5628                    PoolIdInUse,
5629                    #[codec(index = 29)]
5630                    #[doc = "Pool id provided is not correct/usable."]
5631                    InvalidPoolId,
5632                    #[codec(index = 30)]
5633                    #[doc = "Bonding extra is restricted to the exact pending reward amount."]
5634                    BondExtraRestricted,
5635                    #[codec(index = 31)]
5636                    #[doc = "No imbalance in the ED deposit for the pool."]
5637                    NothingToAdjust,
5638                    #[codec(index = 32)]
5639                    #[doc = "No slash pending that can be applied to the member."]
5640                    NothingToSlash,
5641                    #[codec(index = 33)]
5642                    #[doc = "The pool or member delegation has already migrated to delegate stake."]
5643                    AlreadyMigrated,
5644                    #[codec(index = 34)]
5645                    #[doc = "The pool or member delegation has not migrated yet to delegate stake."]
5646                    NotMigrated,
5647                    #[codec(index = 35)]
5648                    #[doc = "This call is not allowed in the current state of the pallet."]
5649                    NotSupported,
5650                }
5651                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5652                #[doc = "Events of this pallet."]
5653                pub enum Event {
5654                    #[codec(index = 0)]
5655                    #[doc = "A pool has been created."]
5656                    Created {
5657                        depositor: ::subxt::ext::subxt_core::utils::AccountId32,
5658                        pool_id: ::core::primitive::u32,
5659                    },
5660                    #[codec(index = 1)]
5661                    #[doc = "A member has became bonded in a pool."]
5662                    Bonded {
5663                        member: ::subxt::ext::subxt_core::utils::AccountId32,
5664                        pool_id: ::core::primitive::u32,
5665                        bonded: ::core::primitive::u128,
5666                        joined: ::core::primitive::bool,
5667                    },
5668                    #[codec(index = 2)]
5669                    #[doc = "A payout has been made to a member."]
5670                    PaidOut {
5671                        member: ::subxt::ext::subxt_core::utils::AccountId32,
5672                        pool_id: ::core::primitive::u32,
5673                        payout: ::core::primitive::u128,
5674                    },
5675                    #[codec(index = 3)]
5676                    #[doc = "A member has unbonded from their pool."]
5677                    #[doc = ""]
5678                    #[doc = "- `balance` is the corresponding balance of the number of points that has been"]
5679                    #[doc = "  requested to be unbonded (the argument of the `unbond` transaction) from the bonded"]
5680                    #[doc = "  pool."]
5681                    #[doc = "- `points` is the number of points that are issued as a result of `balance` being"]
5682                    #[doc = "dissolved into the corresponding unbonding pool."]
5683                    #[doc = "- `era` is the era in which the balance will be unbonded."]
5684                    #[doc = "In the absence of slashing, these values will match. In the presence of slashing, the"]
5685                    #[doc = "number of points that are issued in the unbonding pool will be less than the amount"]
5686                    #[doc = "requested to be unbonded."]
5687                    Unbonded {
5688                        member: ::subxt::ext::subxt_core::utils::AccountId32,
5689                        pool_id: ::core::primitive::u32,
5690                        balance: ::core::primitive::u128,
5691                        points: ::core::primitive::u128,
5692                        era: ::core::primitive::u32,
5693                    },
5694                    #[codec(index = 4)]
5695                    #[doc = "A member has withdrawn from their pool."]
5696                    #[doc = ""]
5697                    #[doc = "The given number of `points` have been dissolved in return of `balance`."]
5698                    #[doc = ""]
5699                    #[doc = "Similar to `Unbonded` event, in the absence of slashing, the ratio of point to balance"]
5700                    #[doc = "will be 1."]
5701                    Withdrawn {
5702                        member: ::subxt::ext::subxt_core::utils::AccountId32,
5703                        pool_id: ::core::primitive::u32,
5704                        balance: ::core::primitive::u128,
5705                        points: ::core::primitive::u128,
5706                    },
5707                    #[codec(index = 5)]
5708                    #[doc = "A pool has been destroyed."]
5709                    Destroyed { pool_id: ::core::primitive::u32 },
5710                    #[codec(index = 6)]
5711                    #[doc = "The state of a pool has changed"]
5712                    StateChanged {
5713                        pool_id: ::core::primitive::u32,
5714                        new_state: runtime_types::pallet_nomination_pools::PoolState,
5715                    },
5716                    #[codec(index = 7)]
5717                    #[doc = "A member has been removed from a pool."]
5718                    #[doc = ""]
5719                    #[doc = "The removal can be voluntary (withdrawn all unbonded funds) or involuntary (kicked)."]
5720                    #[doc = "Any funds that are still delegated (i.e. dangling delegation) are released and are"]
5721                    #[doc = "represented by `released_balance`."]
5722                    MemberRemoved {
5723                        pool_id: ::core::primitive::u32,
5724                        member: ::subxt::ext::subxt_core::utils::AccountId32,
5725                        released_balance: ::core::primitive::u128,
5726                    },
5727                    #[codec(index = 8)]
5728                    #[doc = "The roles of a pool have been updated to the given new roles. Note that the depositor"]
5729                    #[doc = "can never change."]
5730                    RolesUpdated {
5731                        root: ::core::option::Option<::subxt::ext::subxt_core::utils::AccountId32>,
5732                        bouncer:
5733                            ::core::option::Option<::subxt::ext::subxt_core::utils::AccountId32>,
5734                        nominator:
5735                            ::core::option::Option<::subxt::ext::subxt_core::utils::AccountId32>,
5736                    },
5737                    #[codec(index = 9)]
5738                    #[doc = "The active balance of pool `pool_id` has been slashed to `balance`."]
5739                    PoolSlashed {
5740                        pool_id: ::core::primitive::u32,
5741                        balance: ::core::primitive::u128,
5742                    },
5743                    #[codec(index = 10)]
5744                    #[doc = "The unbond pool at `era` of pool `pool_id` has been slashed to `balance`."]
5745                    UnbondingPoolSlashed {
5746                        pool_id: ::core::primitive::u32,
5747                        era: ::core::primitive::u32,
5748                        balance: ::core::primitive::u128,
5749                    },
5750                    #[codec(index = 11)]
5751                    #[doc = "A pool's commission setting has been changed."]
5752                    PoolCommissionUpdated {
5753                        pool_id: ::core::primitive::u32,
5754                        current: ::core::option::Option<(
5755                            runtime_types::sp_arithmetic::per_things::Perbill,
5756                            ::subxt::ext::subxt_core::utils::AccountId32,
5757                        )>,
5758                    },
5759                    #[codec(index = 12)]
5760                    #[doc = "A pool's maximum commission setting has been changed."]
5761                    PoolMaxCommissionUpdated {
5762                        pool_id: ::core::primitive::u32,
5763                        max_commission: runtime_types::sp_arithmetic::per_things::Perbill,
5764                    },
5765                    #[codec(index = 13)]
5766                    #[doc = "A pool's commission `change_rate` has been changed."]
5767                    PoolCommissionChangeRateUpdated {
5768                        pool_id: ::core::primitive::u32,
5769                        change_rate: runtime_types::pallet_nomination_pools::CommissionChangeRate<
5770                            ::core::primitive::u32,
5771                        >,
5772                    },
5773                    #[codec(index = 14)]
5774                    #[doc = "Pool commission claim permission has been updated."]
5775                    PoolCommissionClaimPermissionUpdated {
5776                        pool_id: ::core::primitive::u32,
5777                        permission: ::core::option::Option<
5778                            runtime_types::pallet_nomination_pools::CommissionClaimPermission<
5779                                ::subxt::ext::subxt_core::utils::AccountId32,
5780                            >,
5781                        >,
5782                    },
5783                    #[codec(index = 15)]
5784                    #[doc = "Pool commission has been claimed."]
5785                    PoolCommissionClaimed {
5786                        pool_id: ::core::primitive::u32,
5787                        commission: ::core::primitive::u128,
5788                    },
5789                    #[codec(index = 16)]
5790                    #[doc = "Topped up deficit in frozen ED of the reward pool."]
5791                    MinBalanceDeficitAdjusted {
5792                        pool_id: ::core::primitive::u32,
5793                        amount: ::core::primitive::u128,
5794                    },
5795                    #[codec(index = 17)]
5796                    #[doc = "Claimed excess frozen ED of af the reward pool."]
5797                    MinBalanceExcessAdjusted {
5798                        pool_id: ::core::primitive::u32,
5799                        amount: ::core::primitive::u128,
5800                    },
5801                }
5802                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5803                pub enum FreezeReason {
5804                    #[codec(index = 0)]
5805                    PoolMinBalance,
5806                }
5807            }
5808            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5809            pub enum BondExtra<_0> {
5810                #[codec(index = 0)]
5811                FreeBalance(_0),
5812                #[codec(index = 1)]
5813                Rewards,
5814            }
5815            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5816            pub struct BondedPoolInner {
5817                pub commission: runtime_types::pallet_nomination_pools::Commission,
5818                pub member_counter: ::core::primitive::u32,
5819                pub points: ::core::primitive::u128,
5820                pub roles: runtime_types::pallet_nomination_pools::PoolRoles<
5821                    ::subxt::ext::subxt_core::utils::AccountId32,
5822                >,
5823                pub state: runtime_types::pallet_nomination_pools::PoolState,
5824            }
5825            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5826            pub enum ClaimPermission {
5827                #[codec(index = 0)]
5828                Permissioned,
5829                #[codec(index = 1)]
5830                PermissionlessCompound,
5831                #[codec(index = 2)]
5832                PermissionlessWithdraw,
5833                #[codec(index = 3)]
5834                PermissionlessAll,
5835            }
5836            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5837            pub struct Commission {
5838                pub current: ::core::option::Option<(
5839                    runtime_types::sp_arithmetic::per_things::Perbill,
5840                    ::subxt::ext::subxt_core::utils::AccountId32,
5841                )>,
5842                pub max: ::core::option::Option<runtime_types::sp_arithmetic::per_things::Perbill>,
5843                pub change_rate: ::core::option::Option<
5844                    runtime_types::pallet_nomination_pools::CommissionChangeRate<
5845                        ::core::primitive::u32,
5846                    >,
5847                >,
5848                pub throttle_from: ::core::option::Option<::core::primitive::u32>,
5849                pub claim_permission: ::core::option::Option<
5850                    runtime_types::pallet_nomination_pools::CommissionClaimPermission<
5851                        ::subxt::ext::subxt_core::utils::AccountId32,
5852                    >,
5853                >,
5854            }
5855            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5856            pub struct CommissionChangeRate<_0> {
5857                pub max_increase: runtime_types::sp_arithmetic::per_things::Perbill,
5858                pub min_delay: _0,
5859            }
5860            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5861            pub enum CommissionClaimPermission<_0> {
5862                #[codec(index = 0)]
5863                Permissionless,
5864                #[codec(index = 1)]
5865                Account(_0),
5866            }
5867            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5868            pub enum ConfigOp<_0> {
5869                #[codec(index = 0)]
5870                Noop,
5871                #[codec(index = 1)]
5872                Set(_0),
5873                #[codec(index = 2)]
5874                Remove,
5875            }
5876            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5877            pub struct PoolMember {
5878                pub pool_id: ::core::primitive::u32,
5879                pub points: ::core::primitive::u128,
5880                pub last_recorded_reward_counter:
5881                    runtime_types::sp_arithmetic::fixed_point::FixedU128,
5882                pub unbonding_eras:
5883                    runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap<
5884                        ::core::primitive::u32,
5885                        ::core::primitive::u128,
5886                    >,
5887            }
5888            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5889            pub struct PoolRoles<_0> {
5890                pub depositor: _0,
5891                pub root: ::core::option::Option<_0>,
5892                pub nominator: ::core::option::Option<_0>,
5893                pub bouncer: ::core::option::Option<_0>,
5894            }
5895            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5896            pub enum PoolState {
5897                #[codec(index = 0)]
5898                Open,
5899                #[codec(index = 1)]
5900                Blocked,
5901                #[codec(index = 2)]
5902                Destroying,
5903            }
5904            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5905            pub struct RewardPool {
5906                pub last_recorded_reward_counter:
5907                    runtime_types::sp_arithmetic::fixed_point::FixedU128,
5908                pub last_recorded_total_payouts: ::core::primitive::u128,
5909                pub total_rewards_claimed: ::core::primitive::u128,
5910                pub total_commission_pending: ::core::primitive::u128,
5911                pub total_commission_claimed: ::core::primitive::u128,
5912            }
5913            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5914            pub struct SubPools {
5915                pub no_era: runtime_types::pallet_nomination_pools::UnbondPool,
5916                pub with_era:
5917                    runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap<
5918                        ::core::primitive::u32,
5919                        runtime_types::pallet_nomination_pools::UnbondPool,
5920                    >,
5921            }
5922            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5923            pub struct UnbondPool {
5924                pub points: ::core::primitive::u128,
5925                pub balance: ::core::primitive::u128,
5926            }
5927        }
5928        pub mod pallet_offences {
5929            use super::runtime_types;
5930            pub mod pallet {
5931                use super::runtime_types;
5932                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5933                #[doc = "Events type."]
5934                pub enum Event {
5935                    #[codec(index = 0)]
5936                    #[doc = "There is an offence reported of the given `kind` happened at the `session_index` and"]
5937                    #[doc = "(kind-specific) time slot. This event is not deposited for duplicate slashes."]
5938                    #[doc = "\\[kind, timeslot\\]."]
5939                    Offence {
5940                        kind: [::core::primitive::u8; 16usize],
5941                        timeslot: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
5942                    },
5943                }
5944            }
5945        }
5946        pub mod pallet_preimage {
5947            use super::runtime_types;
5948            pub mod pallet {
5949                use super::runtime_types;
5950                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5951                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
5952                pub enum Call {
5953                    #[codec(index = 0)]
5954                    #[doc = "Register a preimage on-chain."]
5955                    #[doc = ""]
5956                    #[doc = "If the preimage was previously requested, no fees or deposits are taken for providing"]
5957                    #[doc = "the preimage. Otherwise, a deposit is taken proportional to the size of the preimage."]
5958                    note_preimage {
5959                        bytes: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
5960                    },
5961                    #[codec(index = 1)]
5962                    #[doc = "Clear an unrequested preimage from the runtime storage."]
5963                    #[doc = ""]
5964                    #[doc = "If `len` is provided, then it will be a much cheaper operation."]
5965                    #[doc = ""]
5966                    #[doc = "- `hash`: The hash of the preimage to be removed from the store."]
5967                    #[doc = "- `len`: The length of the preimage of `hash`."]
5968                    unnote_preimage {
5969                        hash: ::subxt::ext::subxt_core::utils::H256,
5970                    },
5971                    #[codec(index = 2)]
5972                    #[doc = "Request a preimage be uploaded to the chain without paying any fees or deposits."]
5973                    #[doc = ""]
5974                    #[doc = "If the preimage requests has already been provided on-chain, we unreserve any deposit"]
5975                    #[doc = "a user may have paid, and take the control of the preimage out of their hands."]
5976                    request_preimage {
5977                        hash: ::subxt::ext::subxt_core::utils::H256,
5978                    },
5979                    #[codec(index = 3)]
5980                    #[doc = "Clear a previously made request for a preimage."]
5981                    #[doc = ""]
5982                    #[doc = "NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`."]
5983                    unrequest_preimage {
5984                        hash: ::subxt::ext::subxt_core::utils::H256,
5985                    },
5986                    #[codec(index = 4)]
5987                    #[doc = "Ensure that the a bulk of pre-images is upgraded."]
5988                    #[doc = ""]
5989                    #[doc = "The caller pays no fee if at least 90% of pre-images were successfully updated."]
5990                    ensure_updated {
5991                        hashes: ::subxt::ext::subxt_core::alloc::vec::Vec<
5992                            ::subxt::ext::subxt_core::utils::H256,
5993                        >,
5994                    },
5995                }
5996                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
5997                #[doc = "The `Error` enum of this pallet."]
5998                pub enum Error {
5999                    #[codec(index = 0)]
6000                    #[doc = "Preimage is too large to store on-chain."]
6001                    TooBig,
6002                    #[codec(index = 1)]
6003                    #[doc = "Preimage has already been noted on-chain."]
6004                    AlreadyNoted,
6005                    #[codec(index = 2)]
6006                    #[doc = "The user is not authorized to perform this action."]
6007                    NotAuthorized,
6008                    #[codec(index = 3)]
6009                    #[doc = "The preimage cannot be removed since it has not yet been noted."]
6010                    NotNoted,
6011                    #[codec(index = 4)]
6012                    #[doc = "A preimage may not be removed when there are outstanding requests."]
6013                    Requested,
6014                    #[codec(index = 5)]
6015                    #[doc = "The preimage request cannot be removed since no outstanding requests exist."]
6016                    NotRequested,
6017                    #[codec(index = 6)]
6018                    #[doc = "More than `MAX_HASH_UPGRADE_BULK_COUNT` hashes were requested to be upgraded at once."]
6019                    TooMany,
6020                    #[codec(index = 7)]
6021                    #[doc = "Too few hashes were requested to be upgraded (i.e. zero)."]
6022                    TooFew,
6023                }
6024                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
6025                #[doc = "The `Event` enum of this pallet"]
6026                pub enum Event {
6027                    #[codec(index = 0)]
6028                    #[doc = "A preimage has been noted."]
6029                    Noted {
6030                        hash: ::subxt::ext::subxt_core::utils::H256,
6031                    },
6032                    #[codec(index = 1)]
6033                    #[doc = "A preimage has been requested."]
6034                    Requested {
6035                        hash: ::subxt::ext::subxt_core::utils::H256,
6036                    },
6037                    #[codec(index = 2)]
6038                    #[doc = "A preimage has ben cleared."]
6039                    Cleared {
6040                        hash: ::subxt::ext::subxt_core::utils::H256,
6041                    },
6042                }
6043                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
6044                pub enum HoldReason {
6045                    #[codec(index = 0)]
6046                    Preimage,
6047                }
6048            }
6049            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
6050            pub enum OldRequestStatus<_0, _1> {
6051                #[codec(index = 0)]
6052                Unrequested {
6053                    deposit: (_0, _1),
6054                    len: ::core::primitive::u32,
6055                },
6056                #[codec(index = 1)]
6057                Requested {
6058                    deposit: ::core::option::Option<(_0, _1)>,
6059                    count: ::core::primitive::u32,
6060                    len: ::core::option::Option<::core::primitive::u32>,
6061                },
6062            }
6063            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
6064            pub enum RequestStatus<_0, _1> {
6065                #[codec(index = 0)]
6066                Unrequested {
6067                    ticket: (_0, _1),
6068                    len: ::core::primitive::u32,
6069                },
6070                #[codec(index = 1)]
6071                Requested {
6072                    maybe_ticket: ::core::option::Option<(_0, _1)>,
6073                    count: ::core::primitive::u32,
6074                    maybe_len: ::core::option::Option<::core::primitive::u32>,
6075                },
6076            }
6077        }
6078        pub mod pallet_proxy {
6079            use super::runtime_types;
6080            pub mod pallet {
6081                use super::runtime_types;
6082                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
6083                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
6084                pub enum Call {
6085                    #[codec(index = 0)]
6086                    #[doc = "Dispatch the given `call` from an account that the sender is authorised for through"]
6087                    #[doc = "`add_proxy`."]
6088                    #[doc = ""]
6089                    #[doc = "The dispatch origin for this call must be _Signed_."]
6090                    #[doc = ""]
6091                    #[doc = "Parameters:"]
6092                    #[doc = "- `real`: The account that the proxy will make a call on behalf of."]
6093                    #[doc = "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call."]
6094                    #[doc = "- `call`: The call to be made by the `real` account."]
6095                    proxy {
6096                        real: ::subxt::ext::subxt_core::utils::MultiAddress<
6097                            ::subxt::ext::subxt_core::utils::AccountId32,
6098                            (),
6099                        >,
6100                        force_proxy_type:
6101                            ::core::option::Option<runtime_types::vara_runtime::ProxyType>,
6102                        call: ::subxt::ext::subxt_core::alloc::boxed::Box<
6103                            runtime_types::vara_runtime::RuntimeCall,
6104                        >,
6105                    },
6106                    #[codec(index = 1)]
6107                    #[doc = "Register a proxy account for the sender that is able to make calls on its behalf."]
6108                    #[doc = ""]
6109                    #[doc = "The dispatch origin for this call must be _Signed_."]
6110                    #[doc = ""]
6111                    #[doc = "Parameters:"]
6112                    #[doc = "- `proxy`: The account that the `caller` would like to make a proxy."]
6113                    #[doc = "- `proxy_type`: The permissions allowed for this proxy account."]
6114                    #[doc = "- `delay`: The announcement period required of the initial proxy. Will generally be"]
6115                    #[doc = "zero."]
6116                    add_proxy {
6117                        delegate: ::subxt::ext::subxt_core::utils::MultiAddress<
6118                            ::subxt::ext::subxt_core::utils::AccountId32,
6119                            (),
6120                        >,
6121                        proxy_type: runtime_types::vara_runtime::ProxyType,
6122                        delay: ::core::primitive::u32,
6123                    },
6124                    #[codec(index = 2)]
6125                    #[doc = "Unregister a proxy account for the sender."]
6126                    #[doc = ""]
6127                    #[doc = "The dispatch origin for this call must be _Signed_."]
6128                    #[doc = ""]
6129                    #[doc = "Parameters:"]
6130                    #[doc = "- `proxy`: The account that the `caller` would like to remove as a proxy."]
6131                    #[doc = "- `proxy_type`: The permissions currently enabled for the removed proxy account."]
6132                    remove_proxy {
6133                        delegate: ::subxt::ext::subxt_core::utils::MultiAddress<
6134                            ::subxt::ext::subxt_core::utils::AccountId32,
6135                            (),
6136                        >,
6137                        proxy_type: runtime_types::vara_runtime::ProxyType,
6138                        delay: ::core::primitive::u32,
6139                    },
6140                    #[codec(index = 3)]
6141                    #[doc = "Unregister all proxy accounts for the sender."]
6142                    #[doc = ""]
6143                    #[doc = "The dispatch origin for this call must be _Signed_."]
6144                    #[doc = ""]
6145                    #[doc = "WARNING: This may be called on accounts created by `pure`, however if done, then"]
6146                    #[doc = "the unreserved fees will be inaccessible. **All access to this account will be lost.**"]
6147                    remove_proxies,
6148                    #[codec(index = 4)]
6149                    #[doc = "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and"]
6150                    #[doc = "initialize it with a proxy of `proxy_type` for `origin` sender."]
6151                    #[doc = ""]
6152                    #[doc = "Requires a `Signed` origin."]
6153                    #[doc = ""]
6154                    #[doc = "- `proxy_type`: The type of the proxy that the sender will be registered as over the"]
6155                    #[doc = "new account. This will almost always be the most permissive `ProxyType` possible to"]
6156                    #[doc = "allow for maximum flexibility."]
6157                    #[doc = "- `index`: A disambiguation index, in case this is called multiple times in the same"]
6158                    #[doc = "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just"]
6159                    #[doc = "want to use `0`."]
6160                    #[doc = "- `delay`: The announcement period required of the initial proxy. Will generally be"]
6161                    #[doc = "zero."]
6162                    #[doc = ""]
6163                    #[doc = "Fails with `Duplicate` if this has already been called in this transaction, from the"]
6164                    #[doc = "same sender, with the same parameters."]
6165                    #[doc = ""]
6166                    #[doc = "Fails if there are insufficient funds to pay for deposit."]
6167                    create_pure {
6168                        proxy_type: runtime_types::vara_runtime::ProxyType,
6169                        delay: ::core::primitive::u32,
6170                        index: ::core::primitive::u16,
6171                    },
6172                    #[codec(index = 5)]
6173                    #[doc = "Removes a previously spawned pure proxy."]
6174                    #[doc = ""]
6175                    #[doc = "WARNING: **All access to this account will be lost.** Any funds held in it will be"]
6176                    #[doc = "inaccessible."]
6177                    #[doc = ""]
6178                    #[doc = "Requires a `Signed` origin, and the sender account must have been created by a call to"]
6179                    #[doc = "`pure` with corresponding parameters."]
6180                    #[doc = ""]
6181                    #[doc = "- `spawner`: The account that originally called `pure` to create this account."]
6182                    #[doc = "- `index`: The disambiguation index originally passed to `pure`. Probably `0`."]
6183                    #[doc = "- `proxy_type`: The proxy type originally passed to `pure`."]
6184                    #[doc = "- `height`: The height of the chain when the call to `pure` was processed."]
6185                    #[doc = "- `ext_index`: The extrinsic index in which the call to `pure` was processed."]
6186                    #[doc = ""]
6187                    #[doc = "Fails with `NoPermission` in case the caller is not a previously created pure"]
6188                    #[doc = "account whose `pure` call has corresponding parameters."]
6189                    kill_pure {
6190                        spawner: ::subxt::ext::subxt_core::utils::MultiAddress<
6191                            ::subxt::ext::subxt_core::utils::AccountId32,
6192                            (),
6193                        >,
6194                        proxy_type: runtime_types::vara_runtime::ProxyType,
6195                        index: ::core::primitive::u16,
6196                        #[codec(compact)]
6197                        height: ::core::primitive::u32,
6198                        #[codec(compact)]
6199                        ext_index: ::core::primitive::u32,
6200                    },
6201                    #[codec(index = 6)]
6202                    #[doc = "Publish the hash of a proxy-call that will be made in the future."]
6203                    #[doc = ""]
6204                    #[doc = "This must be called some number of blocks before the corresponding `proxy` is attempted"]
6205                    #[doc = "if the delay associated with the proxy relationship is greater than zero."]
6206                    #[doc = ""]
6207                    #[doc = "No more than `MaxPending` announcements may be made at any one time."]
6208                    #[doc = ""]
6209                    #[doc = "This will take a deposit of `AnnouncementDepositFactor` as well as"]
6210                    #[doc = "`AnnouncementDepositBase` if there are no other pending announcements."]
6211                    #[doc = ""]
6212                    #[doc = "The dispatch origin for this call must be _Signed_ and a proxy of `real`."]
6213                    #[doc = ""]
6214                    #[doc = "Parameters:"]
6215                    #[doc = "- `real`: The account that the proxy will make a call on behalf of."]
6216                    #[doc = "- `call_hash`: The hash of the call to be made by the `real` account."]
6217                    announce {
6218                        real: ::subxt::ext::subxt_core::utils::MultiAddress<
6219                            ::subxt::ext::subxt_core::utils::AccountId32,
6220                            (),
6221                        >,
6222                        call_hash: ::subxt::ext::subxt_core::utils::H256,
6223                    },
6224                    #[codec(index = 7)]
6225                    #[doc = "Remove a given announcement."]
6226                    #[doc = ""]
6227                    #[doc = "May be called by a proxy account to remove a call they previously announced and return"]
6228                    #[doc = "the deposit."]
6229                    #[doc = ""]
6230                    #[doc = "The dispatch origin for this call must be _Signed_."]
6231                    #[doc = ""]
6232                    #[doc = "Parameters:"]
6233                    #[doc = "- `real`: The account that the proxy will make a call on behalf of."]
6234                    #[doc = "- `call_hash`: The hash of the call to be made by the `real` account."]
6235                    remove_announcement {
6236                        real: ::subxt::ext::subxt_core::utils::MultiAddress<
6237                            ::subxt::ext::subxt_core::utils::AccountId32,
6238                            (),
6239                        >,
6240                        call_hash: ::subxt::ext::subxt_core::utils::H256,
6241                    },
6242                    #[codec(index = 8)]
6243                    #[doc = "Remove the given announcement of a delegate."]
6244                    #[doc = ""]
6245                    #[doc = "May be called by a target (proxied) account to remove a call that one of their delegates"]
6246                    #[doc = "(`delegate`) has announced they want to execute. The deposit is returned."]
6247                    #[doc = ""]
6248                    #[doc = "The dispatch origin for this call must be _Signed_."]
6249                    #[doc = ""]
6250                    #[doc = "Parameters:"]
6251                    #[doc = "- `delegate`: The account that previously announced the call."]
6252                    #[doc = "- `call_hash`: The hash of the call to be made."]
6253                    reject_announcement {
6254                        delegate: ::subxt::ext::subxt_core::utils::MultiAddress<
6255                            ::subxt::ext::subxt_core::utils::AccountId32,
6256                            (),
6257                        >,
6258                        call_hash: ::subxt::ext::subxt_core::utils::H256,
6259                    },
6260                    #[codec(index = 9)]
6261                    #[doc = "Dispatch the given `call` from an account that the sender is authorized for through"]
6262                    #[doc = "`add_proxy`."]
6263                    #[doc = ""]
6264                    #[doc = "Removes any corresponding announcement(s)."]
6265                    #[doc = ""]
6266                    #[doc = "The dispatch origin for this call must be _Signed_."]
6267                    #[doc = ""]
6268                    #[doc = "Parameters:"]
6269                    #[doc = "- `real`: The account that the proxy will make a call on behalf of."]
6270                    #[doc = "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call."]
6271                    #[doc = "- `call`: The call to be made by the `real` account."]
6272                    proxy_announced {
6273                        delegate: ::subxt::ext::subxt_core::utils::MultiAddress<
6274                            ::subxt::ext::subxt_core::utils::AccountId32,
6275                            (),
6276                        >,
6277                        real: ::subxt::ext::subxt_core::utils::MultiAddress<
6278                            ::subxt::ext::subxt_core::utils::AccountId32,
6279                            (),
6280                        >,
6281                        force_proxy_type:
6282                            ::core::option::Option<runtime_types::vara_runtime::ProxyType>,
6283                        call: ::subxt::ext::subxt_core::alloc::boxed::Box<
6284                            runtime_types::vara_runtime::RuntimeCall,
6285                        >,
6286                    },
6287                }
6288                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
6289                #[doc = "The `Error` enum of this pallet."]
6290                pub enum Error {
6291                    #[codec(index = 0)]
6292                    #[doc = "There are too many proxies registered or too many announcements pending."]
6293                    TooMany,
6294                    #[codec(index = 1)]
6295                    #[doc = "Proxy registration not found."]
6296                    NotFound,
6297                    #[codec(index = 2)]
6298                    #[doc = "Sender is not a proxy of the account to be proxied."]
6299                    NotProxy,
6300                    #[codec(index = 3)]
6301                    #[doc = "A call which is incompatible with the proxy type's filter was attempted."]
6302                    Unproxyable,
6303                    #[codec(index = 4)]
6304                    #[doc = "Account is already a proxy."]
6305                    Duplicate,
6306                    #[codec(index = 5)]
6307                    #[doc = "Call may not be made by proxy because it may escalate its privileges."]
6308                    NoPermission,
6309                    #[codec(index = 6)]
6310                    #[doc = "Announcement, if made at all, was made too recently."]
6311                    Unannounced,
6312                    #[codec(index = 7)]
6313                    #[doc = "Cannot add self as proxy."]
6314                    NoSelfProxy,
6315                }
6316                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
6317                #[doc = "The `Event` enum of this pallet"]
6318                pub enum Event {
6319                    #[codec(index = 0)]
6320                    #[doc = "A proxy was executed correctly, with the given."]
6321                    ProxyExecuted {
6322                        result:
6323                            ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
6324                    },
6325                    #[codec(index = 1)]
6326                    #[doc = "A pure account has been created by new proxy with given"]
6327                    #[doc = "disambiguation index and proxy type."]
6328                    PureCreated {
6329                        pure: ::subxt::ext::subxt_core::utils::AccountId32,
6330                        who: ::subxt::ext::subxt_core::utils::AccountId32,
6331                        proxy_type: runtime_types::vara_runtime::ProxyType,
6332                        disambiguation_index: ::core::primitive::u16,
6333                    },
6334                    #[codec(index = 2)]
6335                    #[doc = "An announcement was placed to make a call in the future."]
6336                    Announced {
6337                        real: ::subxt::ext::subxt_core::utils::AccountId32,
6338                        proxy: ::subxt::ext::subxt_core::utils::AccountId32,
6339                        call_hash: ::subxt::ext::subxt_core::utils::H256,
6340                    },
6341                    #[codec(index = 3)]
6342                    #[doc = "A proxy was added."]
6343                    ProxyAdded {
6344                        delegator: ::subxt::ext::subxt_core::utils::AccountId32,
6345                        delegatee: ::subxt::ext::subxt_core::utils::AccountId32,
6346                        proxy_type: runtime_types::vara_runtime::ProxyType,
6347                        delay: ::core::primitive::u32,
6348                    },
6349                    #[codec(index = 4)]
6350                    #[doc = "A proxy was removed."]
6351                    ProxyRemoved {
6352                        delegator: ::subxt::ext::subxt_core::utils::AccountId32,
6353                        delegatee: ::subxt::ext::subxt_core::utils::AccountId32,
6354                        proxy_type: runtime_types::vara_runtime::ProxyType,
6355                        delay: ::core::primitive::u32,
6356                    },
6357                }
6358            }
6359            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
6360            pub struct Announcement<_0, _1, _2> {
6361                pub real: _0,
6362                pub call_hash: _1,
6363                pub height: _2,
6364            }
6365            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
6366            pub struct ProxyDefinition<_0, _1, _2> {
6367                pub delegate: _0,
6368                pub proxy_type: _1,
6369                pub delay: _2,
6370            }
6371        }
6372        pub mod pallet_ranked_collective {
6373            use super::runtime_types;
6374            pub mod pallet {
6375                use super::runtime_types;
6376                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
6377                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
6378                pub enum Call {
6379                    #[codec(index = 0)]
6380                    #[doc = "Introduce a new member."]
6381                    #[doc = ""]
6382                    #[doc = "- `origin`: Must be the `AddOrigin`."]
6383                    #[doc = "- `who`: Account of non-member which will become a member."]
6384                    #[doc = ""]
6385                    #[doc = "Weight: `O(1)`"]
6386                    add_member {
6387                        who: ::subxt::ext::subxt_core::utils::MultiAddress<
6388                            ::subxt::ext::subxt_core::utils::AccountId32,
6389                            (),
6390                        >,
6391                    },
6392                    #[codec(index = 1)]
6393                    #[doc = "Increment the rank of an existing member by one."]
6394                    #[doc = ""]
6395                    #[doc = "- `origin`: Must be the `PromoteOrigin`."]
6396                    #[doc = "- `who`: Account of existing member."]
6397                    #[doc = ""]
6398                    #[doc = "Weight: `O(1)`"]
6399                    promote_member {
6400                        who: ::subxt::ext::subxt_core::utils::MultiAddress<
6401                            ::subxt::ext::subxt_core::utils::AccountId32,
6402                            (),
6403                        >,
6404                    },
6405                    #[codec(index = 2)]
6406                    #[doc = "Decrement the rank of an existing member by one. If the member is already at rank zero,"]
6407                    #[doc = "then they are removed entirely."]
6408                    #[doc = ""]
6409                    #[doc = "- `origin`: Must be the `DemoteOrigin`."]
6410                    #[doc = "- `who`: Account of existing member of rank greater than zero."]
6411                    #[doc = ""]
6412                    #[doc = "Weight: `O(1)`, less if the member's index is highest in its rank."]
6413                    demote_member {
6414                        who: ::subxt::ext::subxt_core::utils::MultiAddress<
6415                            ::subxt::ext::subxt_core::utils::AccountId32,
6416                            (),
6417                        >,
6418                    },
6419                    #[codec(index = 3)]
6420                    #[doc = "Remove the member entirely."]
6421                    #[doc = ""]
6422                    #[doc = "- `origin`: Must be the `RemoveOrigin`."]
6423                    #[doc = "- `who`: Account of existing member of rank greater than zero."]
6424                    #[doc = "- `min_rank`: The rank of the member or greater."]
6425                    #[doc = ""]
6426                    #[doc = "Weight: `O(min_rank)`."]
6427                    remove_member {
6428                        who: ::subxt::ext::subxt_core::utils::MultiAddress<
6429                            ::subxt::ext::subxt_core::utils::AccountId32,
6430                            (),
6431                        >,
6432                        min_rank: ::core::primitive::u16,
6433                    },
6434                    #[codec(index = 4)]
6435                    #[doc = "Add an aye or nay vote for the sender to the given proposal."]
6436                    #[doc = ""]
6437                    #[doc = "- `origin`: Must be `Signed` by a member account."]
6438                    #[doc = "- `poll`: Index of a poll which is ongoing."]
6439                    #[doc = "- `aye`: `true` if the vote is to approve the proposal, `false` otherwise."]
6440                    #[doc = ""]
6441                    #[doc = "Transaction fees are be waived if the member is voting on any particular proposal"]
6442                    #[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"]
6443                    #[doc = "fee."]
6444                    #[doc = ""]
6445                    #[doc = "Weight: `O(1)`, less if there was no previous vote on the poll by the member."]
6446                    vote {
6447                        poll: ::core::primitive::u32,
6448                        aye: ::core::primitive::bool,
6449                    },
6450                    #[codec(index = 5)]
6451                    #[doc = "Remove votes from the given poll. It must have ended."]
6452                    #[doc = ""]
6453                    #[doc = "- `origin`: Must be `Signed` by any account."]
6454                    #[doc = "- `poll_index`: Index of a poll which is completed and for which votes continue to"]
6455                    #[doc = "  exist."]
6456                    #[doc = "- `max`: Maximum number of vote items from remove in this call."]
6457                    #[doc = ""]
6458                    #[doc = "Transaction fees are waived if the operation is successful."]
6459                    #[doc = ""]
6460                    #[doc = "Weight `O(max)` (less if there are fewer items to remove than `max`)."]
6461                    cleanup_poll {
6462                        poll_index: ::core::primitive::u32,
6463                        max: ::core::primitive::u32,
6464                    },
6465                    #[codec(index = 6)]
6466                    #[doc = "Exchanges a member with a new account and the same existing rank."]
6467                    #[doc = ""]
6468                    #[doc = "- `origin`: Must be the `ExchangeOrigin`."]
6469                    #[doc = "- `who`: Account of existing member of rank greater than zero to be exchanged."]
6470                    #[doc = "- `new_who`: New Account of existing member of rank greater than zero to exchanged to."]
6471                    exchange_member {
6472                        who: ::subxt::ext::subxt_core::utils::MultiAddress<
6473                            ::subxt::ext::subxt_core::utils::AccountId32,
6474                            (),
6475                        >,
6476                        new_who: ::subxt::ext::subxt_core::utils::MultiAddress<
6477                            ::subxt::ext::subxt_core::utils::AccountId32,
6478                            (),
6479                        >,
6480                    },
6481                }
6482                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
6483                #[doc = "The `Error` enum of this pallet."]
6484                pub enum Error {
6485                    #[codec(index = 0)]
6486                    #[doc = "Account is already a member."]
6487                    AlreadyMember,
6488                    #[codec(index = 1)]
6489                    #[doc = "Account is not a member."]
6490                    NotMember,
6491                    #[codec(index = 2)]
6492                    #[doc = "The given poll index is unknown or has closed."]
6493                    NotPolling,
6494                    #[codec(index = 3)]
6495                    #[doc = "The given poll is still ongoing."]
6496                    Ongoing,
6497                    #[codec(index = 4)]
6498                    #[doc = "There are no further records to be removed."]
6499                    NoneRemaining,
6500                    #[codec(index = 5)]
6501                    #[doc = "Unexpected error in state."]
6502                    Corruption,
6503                    #[codec(index = 6)]
6504                    #[doc = "The member's rank is too low to vote."]
6505                    RankTooLow,
6506                    #[codec(index = 7)]
6507                    #[doc = "The information provided is incorrect."]
6508                    InvalidWitness,
6509                    #[codec(index = 8)]
6510                    #[doc = "The origin is not sufficiently privileged to do the operation."]
6511                    NoPermission,
6512                    #[codec(index = 9)]
6513                    #[doc = "The new member to exchange is the same as the old member"]
6514                    SameMember,
6515                    #[codec(index = 10)]
6516                    #[doc = "The max member count for the rank has been reached."]
6517                    TooManyMembers,
6518                }
6519                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
6520                #[doc = "The `Event` enum of this pallet"]
6521                pub enum Event {
6522                    #[codec(index = 0)]
6523                    #[doc = "A member `who` has been added."]
6524                    MemberAdded {
6525                        who: ::subxt::ext::subxt_core::utils::AccountId32,
6526                    },
6527                    #[codec(index = 1)]
6528                    #[doc = "The member `who`se rank has been changed to the given `rank`."]
6529                    RankChanged {
6530                        who: ::subxt::ext::subxt_core::utils::AccountId32,
6531                        rank: ::core::primitive::u16,
6532                    },
6533                    #[codec(index = 2)]
6534                    #[doc = "The member `who` of given `rank` has been removed from the collective."]
6535                    MemberRemoved {
6536                        who: ::subxt::ext::subxt_core::utils::AccountId32,
6537                        rank: ::core::primitive::u16,
6538                    },
6539                    #[codec(index = 3)]
6540                    #[doc = "The member `who` has voted for the `poll` with the given `vote` leading to an updated"]
6541                    #[doc = "`tally`."]
6542                    Voted {
6543                        who: ::subxt::ext::subxt_core::utils::AccountId32,
6544                        poll: ::core::primitive::u32,
6545                        vote: runtime_types::pallet_ranked_collective::VoteRecord,
6546                        tally: runtime_types::pallet_ranked_collective::Tally,
6547                    },
6548                    #[codec(index = 4)]
6549                    #[doc = "The member `who` had their `AccountId` changed to `new_who`."]
6550                    MemberExchanged {
6551                        who: ::subxt::ext::subxt_core::utils::AccountId32,
6552                        new_who: ::subxt::ext::subxt_core::utils::AccountId32,
6553                    },
6554                }
6555            }
6556            #[derive(
6557                ::subxt::ext ::subxt_core::ext::codec::CompactAs,
6558                Debug,
6559                crate::gp::Decode,
6560                crate::gp::DecodeAsType,
6561                crate::gp::Encode,
6562            )]
6563            pub struct MemberRecord {
6564                pub rank: ::core::primitive::u16,
6565            }
6566            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
6567            pub struct Tally {
6568                pub bare_ayes: ::core::primitive::u32,
6569                pub ayes: ::core::primitive::u32,
6570                pub nays: ::core::primitive::u32,
6571            }
6572            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
6573            pub enum VoteRecord {
6574                #[codec(index = 0)]
6575                Aye(::core::primitive::u32),
6576                #[codec(index = 1)]
6577                Nay(::core::primitive::u32),
6578            }
6579        }
6580        pub mod pallet_referenda {
6581            use super::runtime_types;
6582            pub mod pallet {
6583                use super::runtime_types;
6584                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
6585                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
6586                pub enum Call {
6587                    #[codec(index = 0)]
6588                    #[doc = "Propose a referendum on a privileged action."]
6589                    #[doc = ""]
6590                    #[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"]
6591                    #[doc = "  available."]
6592                    #[doc = "- `proposal_origin`: The origin from which the proposal should be executed."]
6593                    #[doc = "- `proposal`: The proposal."]
6594                    #[doc = "- `enactment_moment`: The moment that the proposal should be enacted."]
6595                    #[doc = ""]
6596                    #[doc = "Emits `Submitted`."]
6597                    submit {
6598                        proposal_origin: ::subxt::ext::subxt_core::alloc::boxed::Box<
6599                            runtime_types::vara_runtime::OriginCaller,
6600                        >,
6601                        proposal: runtime_types::frame_support::traits::preimages::Bounded<
6602                            runtime_types::vara_runtime::RuntimeCall,
6603                            runtime_types::sp_runtime::traits::BlakeTwo256,
6604                        >,
6605                        enactment_moment:
6606                            runtime_types::frame_support::traits::schedule::DispatchTime<
6607                                ::core::primitive::u32,
6608                            >,
6609                    },
6610                    #[codec(index = 1)]
6611                    #[doc = "Post the Decision Deposit for a referendum."]
6612                    #[doc = ""]
6613                    #[doc = "- `origin`: must be `Signed` and the account must have funds available for the"]
6614                    #[doc = "  referendum's track's Decision Deposit."]
6615                    #[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"]
6616                    #[doc = "  posted."]
6617                    #[doc = ""]
6618                    #[doc = "Emits `DecisionDepositPlaced`."]
6619                    place_decision_deposit { index: ::core::primitive::u32 },
6620                    #[codec(index = 2)]
6621                    #[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."]
6622                    #[doc = ""]
6623                    #[doc = "- `origin`: must be `Signed` or `Root`."]
6624                    #[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"]
6625                    #[doc = "  refunded."]
6626                    #[doc = ""]
6627                    #[doc = "Emits `DecisionDepositRefunded`."]
6628                    refund_decision_deposit { index: ::core::primitive::u32 },
6629                    #[codec(index = 3)]
6630                    #[doc = "Cancel an ongoing referendum."]
6631                    #[doc = ""]
6632                    #[doc = "- `origin`: must be the `CancelOrigin`."]
6633                    #[doc = "- `index`: The index of the referendum to be cancelled."]
6634                    #[doc = ""]
6635                    #[doc = "Emits `Cancelled`."]
6636                    cancel { index: ::core::primitive::u32 },
6637                    #[codec(index = 4)]
6638                    #[doc = "Cancel an ongoing referendum and slash the deposits."]
6639                    #[doc = ""]
6640                    #[doc = "- `origin`: must be the `KillOrigin`."]
6641                    #[doc = "- `index`: The index of the referendum to be cancelled."]
6642                    #[doc = ""]
6643                    #[doc = "Emits `Killed` and `DepositSlashed`."]
6644                    kill { index: ::core::primitive::u32 },
6645                    #[codec(index = 5)]
6646                    #[doc = "Advance a referendum onto its next logical state. Only used internally."]
6647                    #[doc = ""]
6648                    #[doc = "- `origin`: must be `Root`."]
6649                    #[doc = "- `index`: the referendum to be advanced."]
6650                    nudge_referendum { index: ::core::primitive::u32 },
6651                    #[codec(index = 6)]
6652                    #[doc = "Advance a track onto its next logical state. Only used internally."]
6653                    #[doc = ""]
6654                    #[doc = "- `origin`: must be `Root`."]
6655                    #[doc = "- `track`: the track to be advanced."]
6656                    #[doc = ""]
6657                    #[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"]
6658                    #[doc = "`DecidingCount` is not yet updated. This means that we should either:"]
6659                    #[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"]
6660                    #[doc = "- decrement `DecidingCount`."]
6661                    one_fewer_deciding { track: ::core::primitive::u16 },
6662                    #[codec(index = 7)]
6663                    #[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."]
6664                    #[doc = ""]
6665                    #[doc = "- `origin`: must be `Signed` or `Root`."]
6666                    #[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"]
6667                    #[doc = "  refunded."]
6668                    #[doc = ""]
6669                    #[doc = "Emits `SubmissionDepositRefunded`."]
6670                    refund_submission_deposit { index: ::core::primitive::u32 },
6671                    #[codec(index = 8)]
6672                    #[doc = "Set or clear metadata of a referendum."]
6673                    #[doc = ""]
6674                    #[doc = "Parameters:"]
6675                    #[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"]
6676                    #[doc = "  metadata of a finished referendum."]
6677                    #[doc = "- `index`:  The index of a referendum to set or clear metadata for."]
6678                    #[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."]
6679                    set_metadata {
6680                        index: ::core::primitive::u32,
6681                        maybe_hash: ::core::option::Option<::subxt::ext::subxt_core::utils::H256>,
6682                    },
6683                }
6684                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
6685                #[doc = "The `Error` enum of this pallet."]
6686                pub enum Error {
6687                    #[codec(index = 0)]
6688                    #[doc = "Referendum is not ongoing."]
6689                    NotOngoing,
6690                    #[codec(index = 1)]
6691                    #[doc = "Referendum's decision deposit is already paid."]
6692                    HasDeposit,
6693                    #[codec(index = 2)]
6694                    #[doc = "The track identifier given was invalid."]
6695                    BadTrack,
6696                    #[codec(index = 3)]
6697                    #[doc = "There are already a full complement of referenda in progress for this track."]
6698                    Full,
6699                    #[codec(index = 4)]
6700                    #[doc = "The queue of the track is empty."]
6701                    QueueEmpty,
6702                    #[codec(index = 5)]
6703                    #[doc = "The referendum index provided is invalid in this context."]
6704                    BadReferendum,
6705                    #[codec(index = 6)]
6706                    #[doc = "There was nothing to do in the advancement."]
6707                    NothingToDo,
6708                    #[codec(index = 7)]
6709                    #[doc = "No track exists for the proposal origin."]
6710                    NoTrack,
6711                    #[codec(index = 8)]
6712                    #[doc = "Any deposit cannot be refunded until after the decision is over."]
6713                    Unfinished,
6714                    #[codec(index = 9)]
6715                    #[doc = "The deposit refunder is not the depositor."]
6716                    NoPermission,
6717                    #[codec(index = 10)]
6718                    #[doc = "The deposit cannot be refunded since none was made."]
6719                    NoDeposit,
6720                    #[codec(index = 11)]
6721                    #[doc = "The referendum status is invalid for this operation."]
6722                    BadStatus,
6723                    #[codec(index = 12)]
6724                    #[doc = "The preimage does not exist."]
6725                    PreimageNotExist,
6726                    #[codec(index = 13)]
6727                    #[doc = "The preimage is stored with a different length than the one provided."]
6728                    PreimageStoredWithDifferentLength,
6729                }
6730                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
6731                #[doc = "The `Event` enum of this pallet"]
6732                pub enum Event1 {
6733                    #[codec(index = 0)]
6734                    #[doc = "A referendum has been submitted."]
6735                    Submitted {
6736                        index: ::core::primitive::u32,
6737                        track: ::core::primitive::u16,
6738                        proposal: runtime_types::frame_support::traits::preimages::Bounded<
6739                            runtime_types::vara_runtime::RuntimeCall,
6740                            runtime_types::sp_runtime::traits::BlakeTwo256,
6741                        >,
6742                    },
6743                    #[codec(index = 1)]
6744                    #[doc = "The decision deposit has been placed."]
6745                    DecisionDepositPlaced {
6746                        index: ::core::primitive::u32,
6747                        who: ::subxt::ext::subxt_core::utils::AccountId32,
6748                        amount: ::core::primitive::u128,
6749                    },
6750                    #[codec(index = 2)]
6751                    #[doc = "The decision deposit has been refunded."]
6752                    DecisionDepositRefunded {
6753                        index: ::core::primitive::u32,
6754                        who: ::subxt::ext::subxt_core::utils::AccountId32,
6755                        amount: ::core::primitive::u128,
6756                    },
6757                    #[codec(index = 3)]
6758                    #[doc = "A deposit has been slashed."]
6759                    DepositSlashed {
6760                        who: ::subxt::ext::subxt_core::utils::AccountId32,
6761                        amount: ::core::primitive::u128,
6762                    },
6763                    #[codec(index = 4)]
6764                    #[doc = "A referendum has moved into the deciding phase."]
6765                    DecisionStarted {
6766                        index: ::core::primitive::u32,
6767                        track: ::core::primitive::u16,
6768                        proposal: runtime_types::frame_support::traits::preimages::Bounded<
6769                            runtime_types::vara_runtime::RuntimeCall,
6770                            runtime_types::sp_runtime::traits::BlakeTwo256,
6771                        >,
6772                        tally: runtime_types::pallet_conviction_voting::types::Tally<
6773                            ::core::primitive::u128,
6774                        >,
6775                    },
6776                    #[codec(index = 5)]
6777                    ConfirmStarted { index: ::core::primitive::u32 },
6778                    #[codec(index = 6)]
6779                    ConfirmAborted { index: ::core::primitive::u32 },
6780                    #[codec(index = 7)]
6781                    #[doc = "A referendum has ended its confirmation phase and is ready for approval."]
6782                    Confirmed {
6783                        index: ::core::primitive::u32,
6784                        tally: runtime_types::pallet_conviction_voting::types::Tally<
6785                            ::core::primitive::u128,
6786                        >,
6787                    },
6788                    #[codec(index = 8)]
6789                    #[doc = "A referendum has been approved and its proposal has been scheduled."]
6790                    Approved { index: ::core::primitive::u32 },
6791                    #[codec(index = 9)]
6792                    #[doc = "A proposal has been rejected by referendum."]
6793                    Rejected {
6794                        index: ::core::primitive::u32,
6795                        tally: runtime_types::pallet_conviction_voting::types::Tally<
6796                            ::core::primitive::u128,
6797                        >,
6798                    },
6799                    #[codec(index = 10)]
6800                    #[doc = "A referendum has been timed out without being decided."]
6801                    TimedOut {
6802                        index: ::core::primitive::u32,
6803                        tally: runtime_types::pallet_conviction_voting::types::Tally<
6804                            ::core::primitive::u128,
6805                        >,
6806                    },
6807                    #[codec(index = 11)]
6808                    #[doc = "A referendum has been cancelled."]
6809                    Cancelled {
6810                        index: ::core::primitive::u32,
6811                        tally: runtime_types::pallet_conviction_voting::types::Tally<
6812                            ::core::primitive::u128,
6813                        >,
6814                    },
6815                    #[codec(index = 12)]
6816                    #[doc = "A referendum has been killed."]
6817                    Killed {
6818                        index: ::core::primitive::u32,
6819                        tally: runtime_types::pallet_conviction_voting::types::Tally<
6820                            ::core::primitive::u128,
6821                        >,
6822                    },
6823                    #[codec(index = 13)]
6824                    #[doc = "The submission deposit has been refunded."]
6825                    SubmissionDepositRefunded {
6826                        index: ::core::primitive::u32,
6827                        who: ::subxt::ext::subxt_core::utils::AccountId32,
6828                        amount: ::core::primitive::u128,
6829                    },
6830                    #[codec(index = 14)]
6831                    #[doc = "Metadata for a referendum has been set."]
6832                    MetadataSet {
6833                        index: ::core::primitive::u32,
6834                        hash: ::subxt::ext::subxt_core::utils::H256,
6835                    },
6836                    #[codec(index = 15)]
6837                    #[doc = "Metadata for a referendum has been cleared."]
6838                    MetadataCleared {
6839                        index: ::core::primitive::u32,
6840                        hash: ::subxt::ext::subxt_core::utils::H256,
6841                    },
6842                }
6843                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
6844                #[doc = "The `Event` enum of this pallet"]
6845                pub enum Event2 {
6846                    #[codec(index = 0)]
6847                    #[doc = "A referendum has been submitted."]
6848                    Submitted {
6849                        index: ::core::primitive::u32,
6850                        track: ::core::primitive::u16,
6851                        proposal: runtime_types::frame_support::traits::preimages::Bounded<
6852                            runtime_types::vara_runtime::RuntimeCall,
6853                            runtime_types::sp_runtime::traits::BlakeTwo256,
6854                        >,
6855                    },
6856                    #[codec(index = 1)]
6857                    #[doc = "The decision deposit has been placed."]
6858                    DecisionDepositPlaced {
6859                        index: ::core::primitive::u32,
6860                        who: ::subxt::ext::subxt_core::utils::AccountId32,
6861                        amount: ::core::primitive::u128,
6862                    },
6863                    #[codec(index = 2)]
6864                    #[doc = "The decision deposit has been refunded."]
6865                    DecisionDepositRefunded {
6866                        index: ::core::primitive::u32,
6867                        who: ::subxt::ext::subxt_core::utils::AccountId32,
6868                        amount: ::core::primitive::u128,
6869                    },
6870                    #[codec(index = 3)]
6871                    #[doc = "A deposit has been slashed."]
6872                    DepositSlashed {
6873                        who: ::subxt::ext::subxt_core::utils::AccountId32,
6874                        amount: ::core::primitive::u128,
6875                    },
6876                    #[codec(index = 4)]
6877                    #[doc = "A referendum has moved into the deciding phase."]
6878                    DecisionStarted {
6879                        index: ::core::primitive::u32,
6880                        track: ::core::primitive::u16,
6881                        proposal: runtime_types::frame_support::traits::preimages::Bounded<
6882                            runtime_types::vara_runtime::RuntimeCall,
6883                            runtime_types::sp_runtime::traits::BlakeTwo256,
6884                        >,
6885                        tally: runtime_types::pallet_ranked_collective::Tally,
6886                    },
6887                    #[codec(index = 5)]
6888                    ConfirmStarted { index: ::core::primitive::u32 },
6889                    #[codec(index = 6)]
6890                    ConfirmAborted { index: ::core::primitive::u32 },
6891                    #[codec(index = 7)]
6892                    #[doc = "A referendum has ended its confirmation phase and is ready for approval."]
6893                    Confirmed {
6894                        index: ::core::primitive::u32,
6895                        tally: runtime_types::pallet_ranked_collective::Tally,
6896                    },
6897                    #[codec(index = 8)]
6898                    #[doc = "A referendum has been approved and its proposal has been scheduled."]
6899                    Approved { index: ::core::primitive::u32 },
6900                    #[codec(index = 9)]
6901                    #[doc = "A proposal has been rejected by referendum."]
6902                    Rejected {
6903                        index: ::core::primitive::u32,
6904                        tally: runtime_types::pallet_ranked_collective::Tally,
6905                    },
6906                    #[codec(index = 10)]
6907                    #[doc = "A referendum has been timed out without being decided."]
6908                    TimedOut {
6909                        index: ::core::primitive::u32,
6910                        tally: runtime_types::pallet_ranked_collective::Tally,
6911                    },
6912                    #[codec(index = 11)]
6913                    #[doc = "A referendum has been cancelled."]
6914                    Cancelled {
6915                        index: ::core::primitive::u32,
6916                        tally: runtime_types::pallet_ranked_collective::Tally,
6917                    },
6918                    #[codec(index = 12)]
6919                    #[doc = "A referendum has been killed."]
6920                    Killed {
6921                        index: ::core::primitive::u32,
6922                        tally: runtime_types::pallet_ranked_collective::Tally,
6923                    },
6924                    #[codec(index = 13)]
6925                    #[doc = "The submission deposit has been refunded."]
6926                    SubmissionDepositRefunded {
6927                        index: ::core::primitive::u32,
6928                        who: ::subxt::ext::subxt_core::utils::AccountId32,
6929                        amount: ::core::primitive::u128,
6930                    },
6931                    #[codec(index = 14)]
6932                    #[doc = "Metadata for a referendum has been set."]
6933                    MetadataSet {
6934                        index: ::core::primitive::u32,
6935                        hash: ::subxt::ext::subxt_core::utils::H256,
6936                    },
6937                    #[codec(index = 15)]
6938                    #[doc = "Metadata for a referendum has been cleared."]
6939                    MetadataCleared {
6940                        index: ::core::primitive::u32,
6941                        hash: ::subxt::ext::subxt_core::utils::H256,
6942                    },
6943                }
6944            }
6945            pub mod types {
6946                use super::runtime_types;
6947                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
6948                pub enum Curve {
6949                    #[codec(index = 0)]
6950                    LinearDecreasing {
6951                        length: runtime_types::sp_arithmetic::per_things::Perbill,
6952                        floor: runtime_types::sp_arithmetic::per_things::Perbill,
6953                        ceil: runtime_types::sp_arithmetic::per_things::Perbill,
6954                    },
6955                    #[codec(index = 1)]
6956                    SteppedDecreasing {
6957                        begin: runtime_types::sp_arithmetic::per_things::Perbill,
6958                        end: runtime_types::sp_arithmetic::per_things::Perbill,
6959                        step: runtime_types::sp_arithmetic::per_things::Perbill,
6960                        period: runtime_types::sp_arithmetic::per_things::Perbill,
6961                    },
6962                    #[codec(index = 2)]
6963                    Reciprocal {
6964                        factor: runtime_types::sp_arithmetic::fixed_point::FixedI64,
6965                        x_offset: runtime_types::sp_arithmetic::fixed_point::FixedI64,
6966                        y_offset: runtime_types::sp_arithmetic::fixed_point::FixedI64,
6967                    },
6968                }
6969                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
6970                pub struct DecidingStatus<_0> {
6971                    pub since: _0,
6972                    pub confirming: ::core::option::Option<_0>,
6973                }
6974                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
6975                pub struct Deposit<_0, _1> {
6976                    pub who: _0,
6977                    pub amount: _1,
6978                }
6979                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
6980                pub enum ReferendumInfo<_0, _1, _2, _3, _4, _5, _6, _7> {
6981                    #[codec(index = 0)]
6982                    Ongoing(
6983                        runtime_types::pallet_referenda::types::ReferendumStatus<
6984                            _0,
6985                            _1,
6986                            _2,
6987                            _3,
6988                            _4,
6989                            _5,
6990                            _6,
6991                            _7,
6992                        >,
6993                    ),
6994                    #[codec(index = 1)]
6995                    Approved(
6996                        _2,
6997                        ::core::option::Option<
6998                            runtime_types::pallet_referenda::types::Deposit<_6, _4>,
6999                        >,
7000                        ::core::option::Option<
7001                            runtime_types::pallet_referenda::types::Deposit<_6, _4>,
7002                        >,
7003                    ),
7004                    #[codec(index = 2)]
7005                    Rejected(
7006                        _2,
7007                        ::core::option::Option<
7008                            runtime_types::pallet_referenda::types::Deposit<_6, _4>,
7009                        >,
7010                        ::core::option::Option<
7011                            runtime_types::pallet_referenda::types::Deposit<_6, _4>,
7012                        >,
7013                    ),
7014                    #[codec(index = 3)]
7015                    Cancelled(
7016                        _2,
7017                        ::core::option::Option<
7018                            runtime_types::pallet_referenda::types::Deposit<_6, _4>,
7019                        >,
7020                        ::core::option::Option<
7021                            runtime_types::pallet_referenda::types::Deposit<_6, _4>,
7022                        >,
7023                    ),
7024                    #[codec(index = 4)]
7025                    TimedOut(
7026                        _2,
7027                        ::core::option::Option<
7028                            runtime_types::pallet_referenda::types::Deposit<_6, _4>,
7029                        >,
7030                        ::core::option::Option<
7031                            runtime_types::pallet_referenda::types::Deposit<_6, _4>,
7032                        >,
7033                    ),
7034                    #[codec(index = 5)]
7035                    Killed(_2),
7036                }
7037                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
7038                pub struct ReferendumStatus<_0, _1, _2, _3, _4, _5, _6, _7> {
7039                    pub track: _0,
7040                    pub origin: _1,
7041                    pub proposal: _3,
7042                    pub enactment: runtime_types::frame_support::traits::schedule::DispatchTime<_2>,
7043                    pub submitted: _2,
7044                    pub submission_deposit: runtime_types::pallet_referenda::types::Deposit<_6, _4>,
7045                    pub decision_deposit: ::core::option::Option<
7046                        runtime_types::pallet_referenda::types::Deposit<_6, _4>,
7047                    >,
7048                    pub deciding: ::core::option::Option<
7049                        runtime_types::pallet_referenda::types::DecidingStatus<_2>,
7050                    >,
7051                    pub tally: _5,
7052                    pub in_queue: ::core::primitive::bool,
7053                    pub alarm: ::core::option::Option<(_2, _7)>,
7054                }
7055                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
7056                pub struct TrackInfo<_0, _1> {
7057                    pub name: ::subxt::ext::subxt_core::alloc::string::String,
7058                    pub max_deciding: ::core::primitive::u32,
7059                    pub decision_deposit: _0,
7060                    pub prepare_period: _1,
7061                    pub decision_period: _1,
7062                    pub confirm_period: _1,
7063                    pub min_enactment_period: _1,
7064                    pub min_approval: runtime_types::pallet_referenda::types::Curve,
7065                    pub min_support: runtime_types::pallet_referenda::types::Curve,
7066                }
7067            }
7068        }
7069        pub mod pallet_scheduler {
7070            use super::runtime_types;
7071            pub mod pallet {
7072                use super::runtime_types;
7073                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
7074                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
7075                pub enum Call {
7076                    #[codec(index = 0)]
7077                    #[doc = "Anonymously schedule a task."]
7078                    schedule {
7079                        when: ::core::primitive::u32,
7080                        maybe_periodic: ::core::option::Option<(
7081                            ::core::primitive::u32,
7082                            ::core::primitive::u32,
7083                        )>,
7084                        priority: ::core::primitive::u8,
7085                        call: ::subxt::ext::subxt_core::alloc::boxed::Box<
7086                            runtime_types::vara_runtime::RuntimeCall,
7087                        >,
7088                    },
7089                    #[codec(index = 1)]
7090                    #[doc = "Cancel an anonymously scheduled task."]
7091                    cancel {
7092                        when: ::core::primitive::u32,
7093                        index: ::core::primitive::u32,
7094                    },
7095                    #[codec(index = 2)]
7096                    #[doc = "Schedule a named task."]
7097                    schedule_named {
7098                        id: [::core::primitive::u8; 32usize],
7099                        when: ::core::primitive::u32,
7100                        maybe_periodic: ::core::option::Option<(
7101                            ::core::primitive::u32,
7102                            ::core::primitive::u32,
7103                        )>,
7104                        priority: ::core::primitive::u8,
7105                        call: ::subxt::ext::subxt_core::alloc::boxed::Box<
7106                            runtime_types::vara_runtime::RuntimeCall,
7107                        >,
7108                    },
7109                    #[codec(index = 3)]
7110                    #[doc = "Cancel a named scheduled task."]
7111                    cancel_named {
7112                        id: [::core::primitive::u8; 32usize],
7113                    },
7114                    #[codec(index = 4)]
7115                    #[doc = "Anonymously schedule a task after a delay."]
7116                    schedule_after {
7117                        after: ::core::primitive::u32,
7118                        maybe_periodic: ::core::option::Option<(
7119                            ::core::primitive::u32,
7120                            ::core::primitive::u32,
7121                        )>,
7122                        priority: ::core::primitive::u8,
7123                        call: ::subxt::ext::subxt_core::alloc::boxed::Box<
7124                            runtime_types::vara_runtime::RuntimeCall,
7125                        >,
7126                    },
7127                    #[codec(index = 5)]
7128                    #[doc = "Schedule a named task after a delay."]
7129                    schedule_named_after {
7130                        id: [::core::primitive::u8; 32usize],
7131                        after: ::core::primitive::u32,
7132                        maybe_periodic: ::core::option::Option<(
7133                            ::core::primitive::u32,
7134                            ::core::primitive::u32,
7135                        )>,
7136                        priority: ::core::primitive::u8,
7137                        call: ::subxt::ext::subxt_core::alloc::boxed::Box<
7138                            runtime_types::vara_runtime::RuntimeCall,
7139                        >,
7140                    },
7141                    #[codec(index = 6)]
7142                    #[doc = "Set a retry configuration for a task so that, in case its scheduled run fails, it will"]
7143                    #[doc = "be retried after `period` blocks, for a total amount of `retries` retries or until it"]
7144                    #[doc = "succeeds."]
7145                    #[doc = ""]
7146                    #[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
7147                    #[doc = "agenda space, same as a regular task. If a periodic task fails, it will be scheduled"]
7148                    #[doc = "normally while the task is retrying."]
7149                    #[doc = ""]
7150                    #[doc = "Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic"]
7151                    #[doc = "clones of the original task. Their retry configuration will be derived from the"]
7152                    #[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
7153                    #[doc = "original `total_retries`."]
7154                    set_retry {
7155                        task: (::core::primitive::u32, ::core::primitive::u32),
7156                        retries: ::core::primitive::u8,
7157                        period: ::core::primitive::u32,
7158                    },
7159                    #[codec(index = 7)]
7160                    #[doc = "Set a retry configuration for a named task so that, in case its scheduled run fails, it"]
7161                    #[doc = "will be retried after `period` blocks, for a total amount of `retries` retries or until"]
7162                    #[doc = "it succeeds."]
7163                    #[doc = ""]
7164                    #[doc = "Tasks which need to be scheduled for a retry are still subject to weight metering and"]
7165                    #[doc = "agenda space, same as a regular task. If a periodic task fails, it will be scheduled"]
7166                    #[doc = "normally while the task is retrying."]
7167                    #[doc = ""]
7168                    #[doc = "Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic"]
7169                    #[doc = "clones of the original task. Their retry configuration will be derived from the"]
7170                    #[doc = "original task's configuration, but will have a lower value for `remaining` than the"]
7171                    #[doc = "original `total_retries`."]
7172                    set_retry_named {
7173                        id: [::core::primitive::u8; 32usize],
7174                        retries: ::core::primitive::u8,
7175                        period: ::core::primitive::u32,
7176                    },
7177                    #[codec(index = 8)]
7178                    #[doc = "Removes the retry configuration of a task."]
7179                    cancel_retry {
7180                        task: (::core::primitive::u32, ::core::primitive::u32),
7181                    },
7182                    #[codec(index = 9)]
7183                    #[doc = "Cancel the retry configuration of a named task."]
7184                    cancel_retry_named {
7185                        id: [::core::primitive::u8; 32usize],
7186                    },
7187                }
7188                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
7189                #[doc = "The `Error` enum of this pallet."]
7190                pub enum Error {
7191                    #[codec(index = 0)]
7192                    #[doc = "Failed to schedule a call"]
7193                    FailedToSchedule,
7194                    #[codec(index = 1)]
7195                    #[doc = "Cannot find the scheduled call."]
7196                    NotFound,
7197                    #[codec(index = 2)]
7198                    #[doc = "Given target block number is in the past."]
7199                    TargetBlockNumberInPast,
7200                    #[codec(index = 3)]
7201                    #[doc = "Reschedule failed because it does not change scheduled time."]
7202                    RescheduleNoChange,
7203                    #[codec(index = 4)]
7204                    #[doc = "Attempt to use a non-named function on a named task."]
7205                    Named,
7206                }
7207                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
7208                #[doc = "Events type."]
7209                pub enum Event {
7210                    #[codec(index = 0)]
7211                    #[doc = "Scheduled some task."]
7212                    Scheduled {
7213                        when: ::core::primitive::u32,
7214                        index: ::core::primitive::u32,
7215                    },
7216                    #[codec(index = 1)]
7217                    #[doc = "Canceled some task."]
7218                    Canceled {
7219                        when: ::core::primitive::u32,
7220                        index: ::core::primitive::u32,
7221                    },
7222                    #[codec(index = 2)]
7223                    #[doc = "Dispatched some task."]
7224                    Dispatched {
7225                        task: (::core::primitive::u32, ::core::primitive::u32),
7226                        id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
7227                        result:
7228                            ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
7229                    },
7230                    #[codec(index = 3)]
7231                    #[doc = "Set a retry configuration for some task."]
7232                    RetrySet {
7233                        task: (::core::primitive::u32, ::core::primitive::u32),
7234                        id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
7235                        period: ::core::primitive::u32,
7236                        retries: ::core::primitive::u8,
7237                    },
7238                    #[codec(index = 4)]
7239                    #[doc = "Cancel a retry configuration for some task."]
7240                    RetryCancelled {
7241                        task: (::core::primitive::u32, ::core::primitive::u32),
7242                        id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
7243                    },
7244                    #[codec(index = 5)]
7245                    #[doc = "The call for the provided hash was not found so the task has been aborted."]
7246                    CallUnavailable {
7247                        task: (::core::primitive::u32, ::core::primitive::u32),
7248                        id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
7249                    },
7250                    #[codec(index = 6)]
7251                    #[doc = "The given task was unable to be renewed since the agenda is full at that block."]
7252                    PeriodicFailed {
7253                        task: (::core::primitive::u32, ::core::primitive::u32),
7254                        id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
7255                    },
7256                    #[codec(index = 7)]
7257                    #[doc = "The given task was unable to be retried since the agenda is full at that block or there"]
7258                    #[doc = "was not enough weight to reschedule it."]
7259                    RetryFailed {
7260                        task: (::core::primitive::u32, ::core::primitive::u32),
7261                        id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
7262                    },
7263                    #[codec(index = 8)]
7264                    #[doc = "The given task can never be executed since it is overweight."]
7265                    PermanentlyOverweight {
7266                        task: (::core::primitive::u32, ::core::primitive::u32),
7267                        id: ::core::option::Option<[::core::primitive::u8; 32usize]>,
7268                    },
7269                }
7270            }
7271            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
7272            pub struct RetryConfig<_0> {
7273                pub total_retries: ::core::primitive::u8,
7274                pub remaining: ::core::primitive::u8,
7275                pub period: _0,
7276            }
7277            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
7278            pub struct Scheduled<_0, _1, _2, _3, _4> {
7279                pub maybe_id: ::core::option::Option<_0>,
7280                pub priority: ::core::primitive::u8,
7281                pub call: _1,
7282                pub maybe_periodic: ::core::option::Option<(_2, _2)>,
7283                pub origin: _3,
7284                #[codec(skip)]
7285                pub __ignore: ::core::marker::PhantomData<_4>,
7286            }
7287        }
7288        pub mod pallet_session {
7289            use super::runtime_types;
7290            pub mod pallet {
7291                use super::runtime_types;
7292                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
7293                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
7294                pub enum Call {
7295                    #[codec(index = 0)]
7296                    #[doc = "Sets the session key(s) of the function caller to `keys`."]
7297                    #[doc = "Allows an account to set its session key prior to becoming a validator."]
7298                    #[doc = "This doesn't take effect until the next session."]
7299                    #[doc = ""]
7300                    #[doc = "The dispatch origin of this function must be signed."]
7301                    #[doc = ""]
7302                    #[doc = "## Complexity"]
7303                    #[doc = "- `O(1)`. Actual cost depends on the number of length of `T::Keys::key_ids()` which is"]
7304                    #[doc = "  fixed."]
7305                    set_keys {
7306                        keys: runtime_types::vara_runtime::SessionKeys,
7307                        proof: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
7308                    },
7309                    #[codec(index = 1)]
7310                    #[doc = "Removes any session key(s) of the function caller."]
7311                    #[doc = ""]
7312                    #[doc = "This doesn't take effect until the next session."]
7313                    #[doc = ""]
7314                    #[doc = "The dispatch origin of this function must be Signed and the account must be either be"]
7315                    #[doc = "convertible to a validator ID using the chain's typical addressing system (this usually"]
7316                    #[doc = "means being a controller account) or directly convertible into a validator ID (which"]
7317                    #[doc = "usually means being a stash account)."]
7318                    #[doc = ""]
7319                    #[doc = "## Complexity"]
7320                    #[doc = "- `O(1)` in number of key types. Actual cost depends on the number of length of"]
7321                    #[doc = "  `T::Keys::key_ids()` which is fixed."]
7322                    purge_keys,
7323                }
7324                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
7325                #[doc = "Error for the session pallet."]
7326                pub enum Error {
7327                    #[codec(index = 0)]
7328                    #[doc = "Invalid ownership proof."]
7329                    InvalidProof,
7330                    #[codec(index = 1)]
7331                    #[doc = "No associated validator ID for account."]
7332                    NoAssociatedValidatorId,
7333                    #[codec(index = 2)]
7334                    #[doc = "Registered duplicate key."]
7335                    DuplicatedKey,
7336                    #[codec(index = 3)]
7337                    #[doc = "No keys are associated with this account."]
7338                    NoKeys,
7339                    #[codec(index = 4)]
7340                    #[doc = "Key setting account is not live, so it's impossible to associate keys."]
7341                    NoAccount,
7342                }
7343                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
7344                #[doc = "The `Event` enum of this pallet"]
7345                pub enum Event {
7346                    #[codec(index = 0)]
7347                    #[doc = "New session has happened. Note that the argument is the session index, not the"]
7348                    #[doc = "block number as the type might suggest."]
7349                    NewSession {
7350                        session_index: ::core::primitive::u32,
7351                    },
7352                }
7353            }
7354        }
7355        pub mod pallet_staking {
7356            use super::runtime_types;
7357            pub mod pallet {
7358                use super::runtime_types;
7359                pub mod pallet {
7360                    use super::runtime_types;
7361                    #[derive(
7362                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
7363                    )]
7364                    #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
7365                    pub enum Call {
7366                        #[codec(index = 0)]
7367                        #[doc = "Take the origin account as a stash and lock up `value` of its balance. `controller` will"]
7368                        #[doc = "be the account that controls it."]
7369                        #[doc = ""]
7370                        #[doc = "`value` must be more than the `minimum_balance` specified by `T::Currency`."]
7371                        #[doc = ""]
7372                        #[doc = "The dispatch origin for this call must be _Signed_ by the stash account."]
7373                        #[doc = ""]
7374                        #[doc = "Emits `Bonded`."]
7375                        #[doc = "## Complexity"]
7376                        #[doc = "- Independent of the arguments. Moderate complexity."]
7377                        #[doc = "- O(1)."]
7378                        #[doc = "- Three extra DB entries."]
7379                        #[doc = ""]
7380                        #[doc = "NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned"]
7381                        #[doc = "unless the `origin` falls below _existential deposit_ (or equal to 0) and gets removed"]
7382                        #[doc = "as dust."]
7383                        bond {
7384                            #[codec(compact)]
7385                            value: ::core::primitive::u128,
7386                            payee: runtime_types::pallet_staking::RewardDestination<
7387                                ::subxt::ext::subxt_core::utils::AccountId32,
7388                            >,
7389                        },
7390                        #[codec(index = 1)]
7391                        #[doc = "Add some extra amount that have appeared in the stash `free_balance` into the balance up"]
7392                        #[doc = "for staking."]
7393                        #[doc = ""]
7394                        #[doc = "The dispatch origin for this call must be _Signed_ by the stash, not the controller."]
7395                        #[doc = ""]
7396                        #[doc = "Use this if there are additional funds in your stash account that you wish to bond."]
7397                        #[doc = "Unlike [`bond`](Self::bond) or [`unbond`](Self::unbond) this function does not impose"]
7398                        #[doc = "any limitation on the amount that can be added."]
7399                        #[doc = ""]
7400                        #[doc = "Emits `Bonded`."]
7401                        #[doc = ""]
7402                        #[doc = "## Complexity"]
7403                        #[doc = "- Independent of the arguments. Insignificant complexity."]
7404                        #[doc = "- O(1)."]
7405                        bond_extra {
7406                            #[codec(compact)]
7407                            max_additional: ::core::primitive::u128,
7408                        },
7409                        #[codec(index = 2)]
7410                        #[doc = "Schedule a portion of the stash to be unlocked ready for transfer out after the bond"]
7411                        #[doc = "period ends. If this leaves an amount actively bonded less than"]
7412                        #[doc = "T::Currency::minimum_balance(), then it is increased to the full amount."]
7413                        #[doc = ""]
7414                        #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."]
7415                        #[doc = ""]
7416                        #[doc = "Once the unlock period is done, you can call `withdraw_unbonded` to actually move"]
7417                        #[doc = "the funds out of management ready for transfer."]
7418                        #[doc = ""]
7419                        #[doc = "No more than a limited number of unlocking chunks (see `MaxUnlockingChunks`)"]
7420                        #[doc = "can co-exists at the same time. If there are no unlocking chunks slots available"]
7421                        #[doc = "[`Call::withdraw_unbonded`] is called to remove some of the chunks (if possible)."]
7422                        #[doc = ""]
7423                        #[doc = "If a user encounters the `InsufficientBond` error when calling this extrinsic,"]
7424                        #[doc = "they should call `chill` first in order to free up their bonded funds."]
7425                        #[doc = ""]
7426                        #[doc = "Emits `Unbonded`."]
7427                        #[doc = ""]
7428                        #[doc = "See also [`Call::withdraw_unbonded`]."]
7429                        unbond {
7430                            #[codec(compact)]
7431                            value: ::core::primitive::u128,
7432                        },
7433                        #[codec(index = 3)]
7434                        #[doc = "Remove any unlocked chunks from the `unlocking` queue from our management."]
7435                        #[doc = ""]
7436                        #[doc = "This essentially frees up that balance to be used by the stash account to do whatever"]
7437                        #[doc = "it wants."]
7438                        #[doc = ""]
7439                        #[doc = "The dispatch origin for this call must be _Signed_ by the controller."]
7440                        #[doc = ""]
7441                        #[doc = "Emits `Withdrawn`."]
7442                        #[doc = ""]
7443                        #[doc = "See also [`Call::unbond`]."]
7444                        #[doc = ""]
7445                        #[doc = "## Parameters"]
7446                        #[doc = ""]
7447                        #[doc = "- `num_slashing_spans` indicates the number of metadata slashing spans to clear when"]
7448                        #[doc = "this call results in a complete removal of all the data related to the stash account."]
7449                        #[doc = "In this case, the `num_slashing_spans` must be larger or equal to the number of"]
7450                        #[doc = "slashing spans associated with the stash account in the [`SlashingSpans`] storage type,"]
7451                        #[doc = "otherwise the call will fail. The call weight is directly proportional to"]
7452                        #[doc = "`num_slashing_spans`."]
7453                        #[doc = ""]
7454                        #[doc = "## Complexity"]
7455                        #[doc = "O(S) where S is the number of slashing spans to remove"]
7456                        #[doc = "NOTE: Weight annotation is the kill scenario, we refund otherwise."]
7457                        withdraw_unbonded {
7458                            num_slashing_spans: ::core::primitive::u32,
7459                        },
7460                        #[codec(index = 4)]
7461                        #[doc = "Declare the desire to validate for the origin controller."]
7462                        #[doc = ""]
7463                        #[doc = "Effects will be felt at the beginning of the next era."]
7464                        #[doc = ""]
7465                        #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."]
7466                        validate {
7467                            prefs: runtime_types::pallet_staking::ValidatorPrefs,
7468                        },
7469                        #[codec(index = 5)]
7470                        #[doc = "Declare the desire to nominate `targets` for the origin controller."]
7471                        #[doc = ""]
7472                        #[doc = "Effects will be felt at the beginning of the next era."]
7473                        #[doc = ""]
7474                        #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."]
7475                        #[doc = ""]
7476                        #[doc = "## Complexity"]
7477                        #[doc = "- The transaction's complexity is proportional to the size of `targets` (N)"]
7478                        #[doc = "which is capped at CompactAssignments::LIMIT (T::MaxNominations)."]
7479                        #[doc = "- Both the reads and writes follow a similar pattern."]
7480                        nominate {
7481                            targets: ::subxt::ext::subxt_core::alloc::vec::Vec<
7482                                ::subxt::ext::subxt_core::utils::MultiAddress<
7483                                    ::subxt::ext::subxt_core::utils::AccountId32,
7484                                    (),
7485                                >,
7486                            >,
7487                        },
7488                        #[codec(index = 6)]
7489                        #[doc = "Declare no desire to either validate or nominate."]
7490                        #[doc = ""]
7491                        #[doc = "Effects will be felt at the beginning of the next era."]
7492                        #[doc = ""]
7493                        #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."]
7494                        #[doc = ""]
7495                        #[doc = "## Complexity"]
7496                        #[doc = "- Independent of the arguments. Insignificant complexity."]
7497                        #[doc = "- Contains one read."]
7498                        #[doc = "- Writes are limited to the `origin` account key."]
7499                        chill,
7500                        #[codec(index = 7)]
7501                        #[doc = "(Re-)set the payment target for a controller."]
7502                        #[doc = ""]
7503                        #[doc = "Effects will be felt instantly (as soon as this function is completed successfully)."]
7504                        #[doc = ""]
7505                        #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."]
7506                        #[doc = ""]
7507                        #[doc = "## Complexity"]
7508                        #[doc = "- O(1)"]
7509                        #[doc = "- Independent of the arguments. Insignificant complexity."]
7510                        #[doc = "- Contains a limited number of reads."]
7511                        #[doc = "- Writes are limited to the `origin` account key."]
7512                        #[doc = "---------"]
7513                        set_payee {
7514                            payee: runtime_types::pallet_staking::RewardDestination<
7515                                ::subxt::ext::subxt_core::utils::AccountId32,
7516                            >,
7517                        },
7518                        #[codec(index = 8)]
7519                        #[doc = "(Re-)sets the controller of a stash to the stash itself. This function previously"]
7520                        #[doc = "accepted a `controller` argument to set the controller to an account other than the"]
7521                        #[doc = "stash itself. This functionality has now been removed, now only setting the controller"]
7522                        #[doc = "to the stash, if it is not already."]
7523                        #[doc = ""]
7524                        #[doc = "Effects will be felt instantly (as soon as this function is completed successfully)."]
7525                        #[doc = ""]
7526                        #[doc = "The dispatch origin for this call must be _Signed_ by the stash, not the controller."]
7527                        #[doc = ""]
7528                        #[doc = "## Complexity"]
7529                        #[doc = "O(1)"]
7530                        #[doc = "- Independent of the arguments. Insignificant complexity."]
7531                        #[doc = "- Contains a limited number of reads."]
7532                        #[doc = "- Writes are limited to the `origin` account key."]
7533                        set_controller,
7534                        #[codec(index = 9)]
7535                        #[doc = "Sets the ideal number of validators."]
7536                        #[doc = ""]
7537                        #[doc = "The dispatch origin must be Root."]
7538                        #[doc = ""]
7539                        #[doc = "## Complexity"]
7540                        #[doc = "O(1)"]
7541                        set_validator_count {
7542                            #[codec(compact)]
7543                            new: ::core::primitive::u32,
7544                        },
7545                        #[codec(index = 10)]
7546                        #[doc = "Increments the ideal number of validators up to maximum of"]
7547                        #[doc = "`ElectionProviderBase::MaxWinners`."]
7548                        #[doc = ""]
7549                        #[doc = "The dispatch origin must be Root."]
7550                        #[doc = ""]
7551                        #[doc = "## Complexity"]
7552                        #[doc = "Same as [`Self::set_validator_count`]."]
7553                        increase_validator_count {
7554                            #[codec(compact)]
7555                            additional: ::core::primitive::u32,
7556                        },
7557                        #[codec(index = 11)]
7558                        #[doc = "Scale up the ideal number of validators by a factor up to maximum of"]
7559                        #[doc = "`ElectionProviderBase::MaxWinners`."]
7560                        #[doc = ""]
7561                        #[doc = "The dispatch origin must be Root."]
7562                        #[doc = ""]
7563                        #[doc = "## Complexity"]
7564                        #[doc = "Same as [`Self::set_validator_count`]."]
7565                        scale_validator_count {
7566                            factor: runtime_types::sp_arithmetic::per_things::Percent,
7567                        },
7568                        #[codec(index = 12)]
7569                        #[doc = "Force there to be no new eras indefinitely."]
7570                        #[doc = ""]
7571                        #[doc = "The dispatch origin must be Root."]
7572                        #[doc = ""]
7573                        #[doc = "# Warning"]
7574                        #[doc = ""]
7575                        #[doc = "The election process starts multiple blocks before the end of the era."]
7576                        #[doc = "Thus the election process may be ongoing when this is called. In this case the"]
7577                        #[doc = "election will continue until the next era is triggered."]
7578                        #[doc = ""]
7579                        #[doc = "## Complexity"]
7580                        #[doc = "- No arguments."]
7581                        #[doc = "- Weight: O(1)"]
7582                        force_no_eras,
7583                        #[codec(index = 13)]
7584                        #[doc = "Force there to be a new era at the end of the next session. After this, it will be"]
7585                        #[doc = "reset to normal (non-forced) behaviour."]
7586                        #[doc = ""]
7587                        #[doc = "The dispatch origin must be Root."]
7588                        #[doc = ""]
7589                        #[doc = "# Warning"]
7590                        #[doc = ""]
7591                        #[doc = "The election process starts multiple blocks before the end of the era."]
7592                        #[doc = "If this is called just before a new era is triggered, the election process may not"]
7593                        #[doc = "have enough blocks to get a result."]
7594                        #[doc = ""]
7595                        #[doc = "## Complexity"]
7596                        #[doc = "- No arguments."]
7597                        #[doc = "- Weight: O(1)"]
7598                        force_new_era,
7599                        #[codec(index = 14)]
7600                        #[doc = "Set the validators who cannot be slashed (if any)."]
7601                        #[doc = ""]
7602                        #[doc = "The dispatch origin must be Root."]
7603                        set_invulnerables {
7604                            invulnerables: ::subxt::ext::subxt_core::alloc::vec::Vec<
7605                                ::subxt::ext::subxt_core::utils::AccountId32,
7606                            >,
7607                        },
7608                        #[codec(index = 15)]
7609                        #[doc = "Force a current staker to become completely unstaked, immediately."]
7610                        #[doc = ""]
7611                        #[doc = "The dispatch origin must be Root."]
7612                        #[doc = ""]
7613                        #[doc = "## Parameters"]
7614                        #[doc = ""]
7615                        #[doc = "- `num_slashing_spans`: Refer to comments on [`Call::withdraw_unbonded`] for more"]
7616                        #[doc = "details."]
7617                        force_unstake {
7618                            stash: ::subxt::ext::subxt_core::utils::AccountId32,
7619                            num_slashing_spans: ::core::primitive::u32,
7620                        },
7621                        #[codec(index = 16)]
7622                        #[doc = "Force there to be a new era at the end of sessions indefinitely."]
7623                        #[doc = ""]
7624                        #[doc = "The dispatch origin must be Root."]
7625                        #[doc = ""]
7626                        #[doc = "# Warning"]
7627                        #[doc = ""]
7628                        #[doc = "The election process starts multiple blocks before the end of the era."]
7629                        #[doc = "If this is called just before a new era is triggered, the election process may not"]
7630                        #[doc = "have enough blocks to get a result."]
7631                        force_new_era_always,
7632                        #[codec(index = 17)]
7633                        #[doc = "Cancel enactment of a deferred slash."]
7634                        #[doc = ""]
7635                        #[doc = "Can be called by the `T::AdminOrigin`."]
7636                        #[doc = ""]
7637                        #[doc = "Parameters: era and indices of the slashes for that era to kill."]
7638                        cancel_deferred_slash {
7639                            era: ::core::primitive::u32,
7640                            slash_indices:
7641                                ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u32>,
7642                        },
7643                        #[codec(index = 18)]
7644                        #[doc = "Pay out next page of the stakers behind a validator for the given era."]
7645                        #[doc = ""]
7646                        #[doc = "- `validator_stash` is the stash account of the validator."]
7647                        #[doc = "- `era` may be any era between `[current_era - history_depth; current_era]`."]
7648                        #[doc = ""]
7649                        #[doc = "The origin of this call must be _Signed_. Any account can call this function, even if"]
7650                        #[doc = "it is not one of the stakers."]
7651                        #[doc = ""]
7652                        #[doc = "The reward payout could be paged in case there are too many nominators backing the"]
7653                        #[doc = "`validator_stash`. This call will payout unpaid pages in an ascending order. To claim a"]
7654                        #[doc = "specific page, use `payout_stakers_by_page`.`"]
7655                        #[doc = ""]
7656                        #[doc = "If all pages are claimed, it returns an error `InvalidPage`."]
7657                        payout_stakers {
7658                            validator_stash: ::subxt::ext::subxt_core::utils::AccountId32,
7659                            era: ::core::primitive::u32,
7660                        },
7661                        #[codec(index = 19)]
7662                        #[doc = "Rebond a portion of the stash scheduled to be unlocked."]
7663                        #[doc = ""]
7664                        #[doc = "The dispatch origin must be signed by the controller."]
7665                        #[doc = ""]
7666                        #[doc = "## Complexity"]
7667                        #[doc = "- Time complexity: O(L), where L is unlocking chunks"]
7668                        #[doc = "- Bounded by `MaxUnlockingChunks`."]
7669                        rebond {
7670                            #[codec(compact)]
7671                            value: ::core::primitive::u128,
7672                        },
7673                        #[codec(index = 20)]
7674                        #[doc = "Remove all data structures concerning a staker/stash once it is at a state where it can"]
7675                        #[doc = "be considered `dust` in the staking system. The requirements are:"]
7676                        #[doc = ""]
7677                        #[doc = "1. the `total_balance` of the stash is below existential deposit."]
7678                        #[doc = "2. or, the `ledger.total` of the stash is below existential deposit."]
7679                        #[doc = "3. or, existential deposit is zero and either `total_balance` or `ledger.total` is zero."]
7680                        #[doc = ""]
7681                        #[doc = "The former can happen in cases like a slash; the latter when a fully unbonded account"]
7682                        #[doc = "is still receiving staking rewards in `RewardDestination::Staked`."]
7683                        #[doc = ""]
7684                        #[doc = "It can be called by anyone, as long as `stash` meets the above requirements."]
7685                        #[doc = ""]
7686                        #[doc = "Refunds the transaction fees upon successful execution."]
7687                        #[doc = ""]
7688                        #[doc = "## Parameters"]
7689                        #[doc = ""]
7690                        #[doc = "- `num_slashing_spans`: Refer to comments on [`Call::withdraw_unbonded`] for more"]
7691                        #[doc = "details."]
7692                        reap_stash {
7693                            stash: ::subxt::ext::subxt_core::utils::AccountId32,
7694                            num_slashing_spans: ::core::primitive::u32,
7695                        },
7696                        #[codec(index = 21)]
7697                        #[doc = "Remove the given nominations from the calling validator."]
7698                        #[doc = ""]
7699                        #[doc = "Effects will be felt at the beginning of the next era."]
7700                        #[doc = ""]
7701                        #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."]
7702                        #[doc = ""]
7703                        #[doc = "- `who`: A list of nominator stash accounts who are nominating this validator which"]
7704                        #[doc = "  should no longer be nominating this validator."]
7705                        #[doc = ""]
7706                        #[doc = "Note: Making this call only makes sense if you first set the validator preferences to"]
7707                        #[doc = "block any further nominations."]
7708                        kick {
7709                            who: ::subxt::ext::subxt_core::alloc::vec::Vec<
7710                                ::subxt::ext::subxt_core::utils::MultiAddress<
7711                                    ::subxt::ext::subxt_core::utils::AccountId32,
7712                                    (),
7713                                >,
7714                            >,
7715                        },
7716                        #[codec(index = 22)]
7717                        #[doc = "Update the various staking configurations ."]
7718                        #[doc = ""]
7719                        #[doc = "* `min_nominator_bond`: The minimum active bond needed to be a nominator."]
7720                        #[doc = "* `min_validator_bond`: The minimum active bond needed to be a validator."]
7721                        #[doc = "* `max_nominator_count`: The max number of users who can be a nominator at once. When"]
7722                        #[doc = "  set to `None`, no limit is enforced."]
7723                        #[doc = "* `max_validator_count`: The max number of users who can be a validator at once. When"]
7724                        #[doc = "  set to `None`, no limit is enforced."]
7725                        #[doc = "* `chill_threshold`: The ratio of `max_nominator_count` or `max_validator_count` which"]
7726                        #[doc = "  should be filled in order for the `chill_other` transaction to work."]
7727                        #[doc = "* `min_commission`: The minimum amount of commission that each validators must maintain."]
7728                        #[doc = "  This is checked only upon calling `validate`. Existing validators are not affected."]
7729                        #[doc = ""]
7730                        #[doc = "RuntimeOrigin must be Root to call this function."]
7731                        #[doc = ""]
7732                        #[doc = "NOTE: Existing nominators and validators will not be affected by this update."]
7733                        #[doc = "to kick people under the new limits, `chill_other` should be called."]
7734                        set_staking_configs {
7735                            min_nominator_bond:
7736                                runtime_types::pallet_staking::pallet::pallet::ConfigOp<
7737                                    ::core::primitive::u128,
7738                                >,
7739                            min_validator_bond:
7740                                runtime_types::pallet_staking::pallet::pallet::ConfigOp<
7741                                    ::core::primitive::u128,
7742                                >,
7743                            max_nominator_count:
7744                                runtime_types::pallet_staking::pallet::pallet::ConfigOp<
7745                                    ::core::primitive::u32,
7746                                >,
7747                            max_validator_count:
7748                                runtime_types::pallet_staking::pallet::pallet::ConfigOp<
7749                                    ::core::primitive::u32,
7750                                >,
7751                            chill_threshold:
7752                                runtime_types::pallet_staking::pallet::pallet::ConfigOp<
7753                                    runtime_types::sp_arithmetic::per_things::Percent,
7754                                >,
7755                            min_commission: runtime_types::pallet_staking::pallet::pallet::ConfigOp<
7756                                runtime_types::sp_arithmetic::per_things::Perbill,
7757                            >,
7758                            max_staked_rewards:
7759                                runtime_types::pallet_staking::pallet::pallet::ConfigOp<
7760                                    runtime_types::sp_arithmetic::per_things::Percent,
7761                                >,
7762                        },
7763                        #[codec(index = 23)]
7764                        #[doc = "Declare a `controller` to stop participating as either a validator or nominator."]
7765                        #[doc = ""]
7766                        #[doc = "Effects will be felt at the beginning of the next era."]
7767                        #[doc = ""]
7768                        #[doc = "The dispatch origin for this call must be _Signed_, but can be called by anyone."]
7769                        #[doc = ""]
7770                        #[doc = "If the caller is the same as the controller being targeted, then no further checks are"]
7771                        #[doc = "enforced, and this function behaves just like `chill`."]
7772                        #[doc = ""]
7773                        #[doc = "If the caller is different than the controller being targeted, the following conditions"]
7774                        #[doc = "must be met:"]
7775                        #[doc = ""]
7776                        #[doc = "* `controller` must belong to a nominator who has become non-decodable,"]
7777                        #[doc = ""]
7778                        #[doc = "Or:"]
7779                        #[doc = ""]
7780                        #[doc = "* A `ChillThreshold` must be set and checked which defines how close to the max"]
7781                        #[doc = "  nominators or validators we must reach before users can start chilling one-another."]
7782                        #[doc = "* A `MaxNominatorCount` and `MaxValidatorCount` must be set which is used to determine"]
7783                        #[doc = "  how close we are to the threshold."]
7784                        #[doc = "* A `MinNominatorBond` and `MinValidatorBond` must be set and checked, which determines"]
7785                        #[doc = "  if this is a person that should be chilled because they have not met the threshold"]
7786                        #[doc = "  bond required."]
7787                        #[doc = ""]
7788                        #[doc = "This can be helpful if bond requirements are updated, and we need to remove old users"]
7789                        #[doc = "who do not satisfy these requirements."]
7790                        chill_other {
7791                            stash: ::subxt::ext::subxt_core::utils::AccountId32,
7792                        },
7793                        #[codec(index = 24)]
7794                        #[doc = "Force a validator to have at least the minimum commission. This will not affect a"]
7795                        #[doc = "validator who already has a commission greater than or equal to the minimum. Any account"]
7796                        #[doc = "can call this."]
7797                        force_apply_min_commission {
7798                            validator_stash: ::subxt::ext::subxt_core::utils::AccountId32,
7799                        },
7800                        #[codec(index = 25)]
7801                        #[doc = "Sets the minimum amount of commission that each validators must maintain."]
7802                        #[doc = ""]
7803                        #[doc = "This call has lower privilege requirements than `set_staking_config` and can be called"]
7804                        #[doc = "by the `T::AdminOrigin`. Root can always call this."]
7805                        set_min_commission {
7806                            new: runtime_types::sp_arithmetic::per_things::Perbill,
7807                        },
7808                        #[codec(index = 26)]
7809                        #[doc = "Pay out a page of the stakers behind a validator for the given era and page."]
7810                        #[doc = ""]
7811                        #[doc = "- `validator_stash` is the stash account of the validator."]
7812                        #[doc = "- `era` may be any era between `[current_era - history_depth; current_era]`."]
7813                        #[doc = "- `page` is the page index of nominators to pay out with value between 0 and"]
7814                        #[doc = "  `num_nominators / T::MaxExposurePageSize`."]
7815                        #[doc = ""]
7816                        #[doc = "The origin of this call must be _Signed_. Any account can call this function, even if"]
7817                        #[doc = "it is not one of the stakers."]
7818                        #[doc = ""]
7819                        #[doc = "If a validator has more than [`Config::MaxExposurePageSize`] nominators backing"]
7820                        #[doc = "them, then the list of nominators is paged, with each page being capped at"]
7821                        #[doc = "[`Config::MaxExposurePageSize`.] If a validator has more than one page of nominators,"]
7822                        #[doc = "the call needs to be made for each page separately in order for all the nominators"]
7823                        #[doc = "backing a validator to receive the reward. The nominators are not sorted across pages"]
7824                        #[doc = "and so it should not be assumed the highest staker would be on the topmost page and vice"]
7825                        #[doc = "versa. If rewards are not claimed in [`Config::HistoryDepth`] eras, they are lost."]
7826                        payout_stakers_by_page {
7827                            validator_stash: ::subxt::ext::subxt_core::utils::AccountId32,
7828                            era: ::core::primitive::u32,
7829                            page: ::core::primitive::u32,
7830                        },
7831                        #[codec(index = 27)]
7832                        #[doc = "Migrates an account's `RewardDestination::Controller` to"]
7833                        #[doc = "`RewardDestination::Account(controller)`."]
7834                        #[doc = ""]
7835                        #[doc = "Effects will be felt instantly (as soon as this function is completed successfully)."]
7836                        #[doc = ""]
7837                        #[doc = "This will waive the transaction fee if the `payee` is successfully migrated."]
7838                        update_payee {
7839                            controller: ::subxt::ext::subxt_core::utils::AccountId32,
7840                        },
7841                        #[codec(index = 28)]
7842                        #[doc = "Updates a batch of controller accounts to their corresponding stash account if they are"]
7843                        #[doc = "not the same. Ignores any controller accounts that do not exist, and does not operate if"]
7844                        #[doc = "the stash and controller are already the same."]
7845                        #[doc = ""]
7846                        #[doc = "Effects will be felt instantly (as soon as this function is completed successfully)."]
7847                        #[doc = ""]
7848                        #[doc = "The dispatch origin must be `T::AdminOrigin`."]
7849                        deprecate_controller_batch {
7850                            controllers:
7851                                runtime_types::bounded_collections::bounded_vec::BoundedVec<
7852                                    ::subxt::ext::subxt_core::utils::AccountId32,
7853                                >,
7854                        },
7855                        #[codec(index = 29)]
7856                        #[doc = "Restores the state of a ledger which is in an inconsistent state."]
7857                        #[doc = ""]
7858                        #[doc = "The requirements to restore a ledger are the following:"]
7859                        #[doc = "* The stash is bonded; or"]
7860                        #[doc = "* The stash is not bonded but it has a staking lock left behind; or"]
7861                        #[doc = "* If the stash has an associated ledger and its state is inconsistent; or"]
7862                        #[doc = "* If the ledger is not corrupted *but* its staking lock is out of sync."]
7863                        #[doc = ""]
7864                        #[doc = "The `maybe_*` input parameters will overwrite the corresponding data and metadata of the"]
7865                        #[doc = "ledger associated with the stash. If the input parameters are not set, the ledger will"]
7866                        #[doc = "be reset values from on-chain state."]
7867                        restore_ledger {
7868                            stash: ::subxt::ext::subxt_core::utils::AccountId32,
7869                            maybe_controller: ::core::option::Option<
7870                                ::subxt::ext::subxt_core::utils::AccountId32,
7871                            >,
7872                            maybe_total: ::core::option::Option<::core::primitive::u128>,
7873                            maybe_unlocking: ::core::option::Option<
7874                                runtime_types::bounded_collections::bounded_vec::BoundedVec<
7875                                    runtime_types::pallet_staking::UnlockChunk<
7876                                        ::core::primitive::u128,
7877                                    >,
7878                                >,
7879                            >,
7880                        },
7881                    }
7882                    #[derive(
7883                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
7884                    )]
7885                    pub enum ConfigOp<_0> {
7886                        #[codec(index = 0)]
7887                        Noop,
7888                        #[codec(index = 1)]
7889                        Set(_0),
7890                        #[codec(index = 2)]
7891                        Remove,
7892                    }
7893                    #[derive(
7894                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
7895                    )]
7896                    #[doc = "The `Error` enum of this pallet."]
7897                    pub enum Error {
7898                        #[codec(index = 0)]
7899                        #[doc = "Not a controller account."]
7900                        NotController,
7901                        #[codec(index = 1)]
7902                        #[doc = "Not a stash account."]
7903                        NotStash,
7904                        #[codec(index = 2)]
7905                        #[doc = "Stash is already bonded."]
7906                        AlreadyBonded,
7907                        #[codec(index = 3)]
7908                        #[doc = "Controller is already paired."]
7909                        AlreadyPaired,
7910                        #[codec(index = 4)]
7911                        #[doc = "Targets cannot be empty."]
7912                        EmptyTargets,
7913                        #[codec(index = 5)]
7914                        #[doc = "Duplicate index."]
7915                        DuplicateIndex,
7916                        #[codec(index = 6)]
7917                        #[doc = "Slash record index out of bounds."]
7918                        InvalidSlashIndex,
7919                        #[codec(index = 7)]
7920                        #[doc = "Cannot have a validator or nominator role, with value less than the minimum defined by"]
7921                        #[doc = "governance (see `MinValidatorBond` and `MinNominatorBond`). If unbonding is the"]
7922                        #[doc = "intention, `chill` first to remove one's role as validator/nominator."]
7923                        InsufficientBond,
7924                        #[codec(index = 8)]
7925                        #[doc = "Can not schedule more unlock chunks."]
7926                        NoMoreChunks,
7927                        #[codec(index = 9)]
7928                        #[doc = "Can not rebond without unlocking chunks."]
7929                        NoUnlockChunk,
7930                        #[codec(index = 10)]
7931                        #[doc = "Attempting to target a stash that still has funds."]
7932                        FundedTarget,
7933                        #[codec(index = 11)]
7934                        #[doc = "Invalid era to reward."]
7935                        InvalidEraToReward,
7936                        #[codec(index = 12)]
7937                        #[doc = "Invalid number of nominations."]
7938                        InvalidNumberOfNominations,
7939                        #[codec(index = 13)]
7940                        #[doc = "Items are not sorted and unique."]
7941                        NotSortedAndUnique,
7942                        #[codec(index = 14)]
7943                        #[doc = "Rewards for this era have already been claimed for this validator."]
7944                        AlreadyClaimed,
7945                        #[codec(index = 15)]
7946                        #[doc = "No nominators exist on this page."]
7947                        InvalidPage,
7948                        #[codec(index = 16)]
7949                        #[doc = "Incorrect previous history depth input provided."]
7950                        IncorrectHistoryDepth,
7951                        #[codec(index = 17)]
7952                        #[doc = "Incorrect number of slashing spans provided."]
7953                        IncorrectSlashingSpans,
7954                        #[codec(index = 18)]
7955                        #[doc = "Internal state has become somehow corrupted and the operation cannot continue."]
7956                        BadState,
7957                        #[codec(index = 19)]
7958                        #[doc = "Too many nomination targets supplied."]
7959                        TooManyTargets,
7960                        #[codec(index = 20)]
7961                        #[doc = "A nomination target was supplied that was blocked or otherwise not a validator."]
7962                        BadTarget,
7963                        #[codec(index = 21)]
7964                        #[doc = "The user has enough bond and thus cannot be chilled forcefully by an external person."]
7965                        CannotChillOther,
7966                        #[codec(index = 22)]
7967                        #[doc = "There are too many nominators in the system. Governance needs to adjust the staking"]
7968                        #[doc = "settings to keep things safe for the runtime."]
7969                        TooManyNominators,
7970                        #[codec(index = 23)]
7971                        #[doc = "There are too many validator candidates in the system. Governance needs to adjust the"]
7972                        #[doc = "staking settings to keep things safe for the runtime."]
7973                        TooManyValidators,
7974                        #[codec(index = 24)]
7975                        #[doc = "Commission is too low. Must be at least `MinCommission`."]
7976                        CommissionTooLow,
7977                        #[codec(index = 25)]
7978                        #[doc = "Some bound is not met."]
7979                        BoundNotMet,
7980                        #[codec(index = 26)]
7981                        #[doc = "Used when attempting to use deprecated controller account logic."]
7982                        ControllerDeprecated,
7983                        #[codec(index = 27)]
7984                        #[doc = "Cannot reset a ledger."]
7985                        CannotRestoreLedger,
7986                        #[codec(index = 28)]
7987                        #[doc = "Provided reward destination is not allowed."]
7988                        RewardDestinationRestricted,
7989                        #[codec(index = 29)]
7990                        #[doc = "Not enough funds available to withdraw."]
7991                        NotEnoughFunds,
7992                        #[codec(index = 30)]
7993                        #[doc = "Operation not allowed for virtual stakers."]
7994                        VirtualStakerNotAllowed,
7995                    }
7996                    #[derive(
7997                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
7998                    )]
7999                    #[doc = "The `Event` enum of this pallet"]
8000                    pub enum Event {
8001                        #[codec(index = 0)]
8002                        #[doc = "The era payout has been set; the first balance is the validator-payout; the second is"]
8003                        #[doc = "the remainder from the maximum amount of reward."]
8004                        EraPaid {
8005                            era_index: ::core::primitive::u32,
8006                            validator_payout: ::core::primitive::u128,
8007                            remainder: ::core::primitive::u128,
8008                        },
8009                        #[codec(index = 1)]
8010                        #[doc = "The nominator has been rewarded by this amount to this destination."]
8011                        Rewarded {
8012                            stash: ::subxt::ext::subxt_core::utils::AccountId32,
8013                            dest: runtime_types::pallet_staking::RewardDestination<
8014                                ::subxt::ext::subxt_core::utils::AccountId32,
8015                            >,
8016                            amount: ::core::primitive::u128,
8017                        },
8018                        #[codec(index = 2)]
8019                        #[doc = "A staker (validator or nominator) has been slashed by the given amount."]
8020                        Slashed {
8021                            staker: ::subxt::ext::subxt_core::utils::AccountId32,
8022                            amount: ::core::primitive::u128,
8023                        },
8024                        #[codec(index = 3)]
8025                        #[doc = "A slash for the given validator, for the given percentage of their stake, at the given"]
8026                        #[doc = "era as been reported."]
8027                        SlashReported {
8028                            validator: ::subxt::ext::subxt_core::utils::AccountId32,
8029                            fraction: runtime_types::sp_arithmetic::per_things::Perbill,
8030                            slash_era: ::core::primitive::u32,
8031                        },
8032                        #[codec(index = 4)]
8033                        #[doc = "An old slashing report from a prior era was discarded because it could"]
8034                        #[doc = "not be processed."]
8035                        OldSlashingReportDiscarded {
8036                            session_index: ::core::primitive::u32,
8037                        },
8038                        #[codec(index = 5)]
8039                        #[doc = "A new set of stakers was elected."]
8040                        StakersElected,
8041                        #[codec(index = 6)]
8042                        #[doc = "An account has bonded this amount. \\[stash, amount\\]"]
8043                        #[doc = ""]
8044                        #[doc = "NOTE: This event is only emitted when funds are bonded via a dispatchable. Notably,"]
8045                        #[doc = "it will not be emitted for staking rewards when they are added to stake."]
8046                        Bonded {
8047                            stash: ::subxt::ext::subxt_core::utils::AccountId32,
8048                            amount: ::core::primitive::u128,
8049                        },
8050                        #[codec(index = 7)]
8051                        #[doc = "An account has unbonded this amount."]
8052                        Unbonded {
8053                            stash: ::subxt::ext::subxt_core::utils::AccountId32,
8054                            amount: ::core::primitive::u128,
8055                        },
8056                        #[codec(index = 8)]
8057                        #[doc = "An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`"]
8058                        #[doc = "from the unlocking queue."]
8059                        Withdrawn {
8060                            stash: ::subxt::ext::subxt_core::utils::AccountId32,
8061                            amount: ::core::primitive::u128,
8062                        },
8063                        #[codec(index = 9)]
8064                        #[doc = "A nominator has been kicked from a validator."]
8065                        Kicked {
8066                            nominator: ::subxt::ext::subxt_core::utils::AccountId32,
8067                            stash: ::subxt::ext::subxt_core::utils::AccountId32,
8068                        },
8069                        #[codec(index = 10)]
8070                        #[doc = "The election failed. No new era is planned."]
8071                        StakingElectionFailed,
8072                        #[codec(index = 11)]
8073                        #[doc = "An account has stopped participating as either a validator or nominator."]
8074                        Chilled {
8075                            stash: ::subxt::ext::subxt_core::utils::AccountId32,
8076                        },
8077                        #[codec(index = 12)]
8078                        #[doc = "The stakers' rewards are getting paid."]
8079                        PayoutStarted {
8080                            era_index: ::core::primitive::u32,
8081                            validator_stash: ::subxt::ext::subxt_core::utils::AccountId32,
8082                        },
8083                        #[codec(index = 13)]
8084                        #[doc = "A validator has set their preferences."]
8085                        ValidatorPrefsSet {
8086                            stash: ::subxt::ext::subxt_core::utils::AccountId32,
8087                            prefs: runtime_types::pallet_staking::ValidatorPrefs,
8088                        },
8089                        #[codec(index = 14)]
8090                        #[doc = "Voters size limit reached."]
8091                        SnapshotVotersSizeExceeded { size: ::core::primitive::u32 },
8092                        #[codec(index = 15)]
8093                        #[doc = "Targets size limit reached."]
8094                        SnapshotTargetsSizeExceeded { size: ::core::primitive::u32 },
8095                        #[codec(index = 16)]
8096                        #[doc = "A new force era mode was set."]
8097                        ForceEra {
8098                            mode: runtime_types::pallet_staking::Forcing,
8099                        },
8100                        #[codec(index = 17)]
8101                        #[doc = "Report of a controller batch deprecation."]
8102                        ControllerBatchDeprecated { failures: ::core::primitive::u32 },
8103                    }
8104                }
8105            }
8106            pub mod slashing {
8107                use super::runtime_types;
8108                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8109                pub struct SlashingSpans {
8110                    pub span_index: ::core::primitive::u32,
8111                    pub last_start: ::core::primitive::u32,
8112                    pub last_nonzero_slash: ::core::primitive::u32,
8113                    pub prior: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u32>,
8114                }
8115                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8116                pub struct SpanRecord<_0> {
8117                    pub slashed: _0,
8118                    pub paid_out: _0,
8119                }
8120            }
8121            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8122            pub struct ActiveEraInfo {
8123                pub index: ::core::primitive::u32,
8124                pub start: ::core::option::Option<::core::primitive::u64>,
8125            }
8126            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8127            pub struct EraRewardPoints<_0> {
8128                pub total: ::core::primitive::u32,
8129                pub individual:
8130                    ::subxt::ext::subxt_core::utils::KeyedVec<_0, ::core::primitive::u32>,
8131            }
8132            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8133            pub enum Forcing {
8134                #[codec(index = 0)]
8135                NotForcing,
8136                #[codec(index = 1)]
8137                ForceNew,
8138                #[codec(index = 2)]
8139                ForceNone,
8140                #[codec(index = 3)]
8141                ForceAlways,
8142            }
8143            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8144            pub struct Nominations {
8145                pub targets: runtime_types::bounded_collections::bounded_vec::BoundedVec<
8146                    ::subxt::ext::subxt_core::utils::AccountId32,
8147                >,
8148                pub submitted_in: ::core::primitive::u32,
8149                pub suppressed: ::core::primitive::bool,
8150            }
8151            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8152            pub enum RewardDestination<_0> {
8153                #[codec(index = 0)]
8154                Staked,
8155                #[codec(index = 1)]
8156                Stash,
8157                #[codec(index = 2)]
8158                Controller,
8159                #[codec(index = 3)]
8160                Account(_0),
8161                #[codec(index = 4)]
8162                None,
8163            }
8164            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8165            pub struct StakingLedger {
8166                pub stash: ::subxt::ext::subxt_core::utils::AccountId32,
8167                #[codec(compact)]
8168                pub total: ::core::primitive::u128,
8169                #[codec(compact)]
8170                pub active: ::core::primitive::u128,
8171                pub unlocking: runtime_types::bounded_collections::bounded_vec::BoundedVec<
8172                    runtime_types::pallet_staking::UnlockChunk<::core::primitive::u128>,
8173                >,
8174                pub legacy_claimed_rewards:
8175                    runtime_types::bounded_collections::bounded_vec::BoundedVec<
8176                        ::core::primitive::u32,
8177                    >,
8178            }
8179            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8180            pub struct UnappliedSlash<_0, _1> {
8181                pub validator: _0,
8182                pub own: _1,
8183                pub others: ::subxt::ext::subxt_core::alloc::vec::Vec<(_0, _1)>,
8184                pub reporters: ::subxt::ext::subxt_core::alloc::vec::Vec<_0>,
8185                pub payout: _1,
8186            }
8187            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8188            pub struct UnlockChunk<_0> {
8189                #[codec(compact)]
8190                pub value: _0,
8191                #[codec(compact)]
8192                pub era: ::core::primitive::u32,
8193            }
8194            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8195            pub struct ValidatorPrefs {
8196                #[codec(compact)]
8197                pub commission: runtime_types::sp_arithmetic::per_things::Perbill,
8198                pub blocked: ::core::primitive::bool,
8199            }
8200        }
8201        pub mod pallet_sudo {
8202            use super::runtime_types;
8203            pub mod pallet {
8204                use super::runtime_types;
8205                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8206                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
8207                pub enum Call {
8208                    #[codec(index = 0)]
8209                    #[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
8210                    sudo {
8211                        call: ::subxt::ext::subxt_core::alloc::boxed::Box<
8212                            runtime_types::vara_runtime::RuntimeCall,
8213                        >,
8214                    },
8215                    #[codec(index = 1)]
8216                    #[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."]
8217                    #[doc = "This function does not check the weight of the call, and instead allows the"]
8218                    #[doc = "Sudo user to specify the weight of the call."]
8219                    #[doc = ""]
8220                    #[doc = "The dispatch origin for this call must be _Signed_."]
8221                    sudo_unchecked_weight {
8222                        call: ::subxt::ext::subxt_core::alloc::boxed::Box<
8223                            runtime_types::vara_runtime::RuntimeCall,
8224                        >,
8225                        weight: runtime_types::sp_weights::weight_v2::Weight,
8226                    },
8227                    #[codec(index = 2)]
8228                    #[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"]
8229                    #[doc = "key."]
8230                    set_key {
8231                        new: ::subxt::ext::subxt_core::utils::MultiAddress<
8232                            ::subxt::ext::subxt_core::utils::AccountId32,
8233                            (),
8234                        >,
8235                    },
8236                    #[codec(index = 3)]
8237                    #[doc = "Authenticates the sudo key and dispatches a function call with `Signed` origin from"]
8238                    #[doc = "a given account."]
8239                    #[doc = ""]
8240                    #[doc = "The dispatch origin for this call must be _Signed_."]
8241                    sudo_as {
8242                        who: ::subxt::ext::subxt_core::utils::MultiAddress<
8243                            ::subxt::ext::subxt_core::utils::AccountId32,
8244                            (),
8245                        >,
8246                        call: ::subxt::ext::subxt_core::alloc::boxed::Box<
8247                            runtime_types::vara_runtime::RuntimeCall,
8248                        >,
8249                    },
8250                    #[codec(index = 4)]
8251                    #[doc = "Permanently removes the sudo key."]
8252                    #[doc = ""]
8253                    #[doc = "**This cannot be un-done.**"]
8254                    remove_key,
8255                }
8256                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8257                #[doc = "Error for the Sudo pallet."]
8258                pub enum Error {
8259                    #[codec(index = 0)]
8260                    #[doc = "Sender must be the Sudo account."]
8261                    RequireSudo,
8262                }
8263                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8264                #[doc = "The `Event` enum of this pallet"]
8265                pub enum Event {
8266                    #[codec(index = 0)]
8267                    #[doc = "A sudo call just took place."]
8268                    Sudid {
8269                        sudo_result:
8270                            ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
8271                    },
8272                    #[codec(index = 1)]
8273                    #[doc = "The sudo key has been updated."]
8274                    KeyChanged {
8275                        old: ::core::option::Option<::subxt::ext::subxt_core::utils::AccountId32>,
8276                        new: ::subxt::ext::subxt_core::utils::AccountId32,
8277                    },
8278                    #[codec(index = 2)]
8279                    #[doc = "The key was permanently removed."]
8280                    KeyRemoved,
8281                    #[codec(index = 3)]
8282                    #[doc = "A [sudo_as](Pallet::sudo_as) call just took place."]
8283                    SudoAsDone {
8284                        sudo_result:
8285                            ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
8286                    },
8287                }
8288            }
8289        }
8290        pub mod pallet_timestamp {
8291            use super::runtime_types;
8292            pub mod pallet {
8293                use super::runtime_types;
8294                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8295                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
8296                pub enum Call {
8297                    #[codec(index = 0)]
8298                    #[doc = "Set the current time."]
8299                    #[doc = ""]
8300                    #[doc = "This call should be invoked exactly once per block. It will panic at the finalization"]
8301                    #[doc = "phase, if this call hasn't been invoked by that time."]
8302                    #[doc = ""]
8303                    #[doc = "The timestamp should be greater than the previous one by the amount specified by"]
8304                    #[doc = "[`Config::MinimumPeriod`]."]
8305                    #[doc = ""]
8306                    #[doc = "The dispatch origin for this call must be _None_."]
8307                    #[doc = ""]
8308                    #[doc = "This dispatch class is _Mandatory_ to ensure it gets executed in the block. Be aware"]
8309                    #[doc = "that changing the complexity of this call could result exhausting the resources in a"]
8310                    #[doc = "block to execute any other calls."]
8311                    #[doc = ""]
8312                    #[doc = "## Complexity"]
8313                    #[doc = "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)"]
8314                    #[doc = "- 1 storage read and 1 storage mutation (codec `O(1)` because of `DidUpdate::take` in"]
8315                    #[doc = "  `on_finalize`)"]
8316                    #[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."]
8317                    set {
8318                        #[codec(compact)]
8319                        now: ::core::primitive::u64,
8320                    },
8321                }
8322            }
8323        }
8324        pub mod pallet_transaction_payment {
8325            use super::runtime_types;
8326            pub mod pallet {
8327                use super::runtime_types;
8328                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8329                #[doc = "The `Event` enum of this pallet"]
8330                pub enum Event {
8331                    #[codec(index = 0)]
8332                    #[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"]
8333                    #[doc = "has been paid by `who`."]
8334                    TransactionFeePaid {
8335                        who: ::subxt::ext::subxt_core::utils::AccountId32,
8336                        actual_fee: ::core::primitive::u128,
8337                        tip: ::core::primitive::u128,
8338                    },
8339                }
8340            }
8341            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8342            pub struct ChargeTransactionPayment(#[codec(compact)] pub ::core::primitive::u128);
8343            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8344            pub enum Releases {
8345                #[codec(index = 0)]
8346                V1Ancient,
8347                #[codec(index = 1)]
8348                V2,
8349            }
8350        }
8351        pub mod pallet_treasury {
8352            use super::runtime_types;
8353            pub mod pallet {
8354                use super::runtime_types;
8355                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8356                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
8357                pub enum Call {
8358                    #[codec(index = 3)]
8359                    #[doc = "Propose and approve a spend of treasury funds."]
8360                    #[doc = ""]
8361                    #[doc = "## Dispatch Origin"]
8362                    #[doc = ""]
8363                    #[doc = "Must be [`Config::SpendOrigin`] with the `Success` value being at least `amount`."]
8364                    #[doc = ""]
8365                    #[doc = "### Details"]
8366                    #[doc = "NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the"]
8367                    #[doc = "beneficiary."]
8368                    #[doc = ""]
8369                    #[doc = "### Parameters"]
8370                    #[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."]
8371                    #[doc = "- `beneficiary`: The destination account for the transfer."]
8372                    #[doc = ""]
8373                    #[doc = "## Events"]
8374                    #[doc = ""]
8375                    #[doc = "Emits [`Event::SpendApproved`] if successful."]
8376                    spend_local {
8377                        #[codec(compact)]
8378                        amount: ::core::primitive::u128,
8379                        beneficiary: ::subxt::ext::subxt_core::utils::MultiAddress<
8380                            ::subxt::ext::subxt_core::utils::AccountId32,
8381                            (),
8382                        >,
8383                    },
8384                    #[codec(index = 4)]
8385                    #[doc = "Force a previously approved proposal to be removed from the approval queue."]
8386                    #[doc = ""]
8387                    #[doc = "## Dispatch Origin"]
8388                    #[doc = ""]
8389                    #[doc = "Must be [`Config::RejectOrigin`]."]
8390                    #[doc = ""]
8391                    #[doc = "## Details"]
8392                    #[doc = ""]
8393                    #[doc = "The original deposit will no longer be returned."]
8394                    #[doc = ""]
8395                    #[doc = "### Parameters"]
8396                    #[doc = "- `proposal_id`: The index of a proposal"]
8397                    #[doc = ""]
8398                    #[doc = "### Complexity"]
8399                    #[doc = "- O(A) where `A` is the number of approvals"]
8400                    #[doc = ""]
8401                    #[doc = "### Errors"]
8402                    #[doc = "- [`Error::ProposalNotApproved`]: The `proposal_id` supplied was not found in the"]
8403                    #[doc = "  approval queue, i.e., the proposal has not been approved. This could also mean the"]
8404                    #[doc = "  proposal does not exist altogether, thus there is no way it would have been approved"]
8405                    #[doc = "  in the first place."]
8406                    remove_approval {
8407                        #[codec(compact)]
8408                        proposal_id: ::core::primitive::u32,
8409                    },
8410                    #[codec(index = 5)]
8411                    #[doc = "Propose and approve a spend of treasury funds."]
8412                    #[doc = ""]
8413                    #[doc = "## Dispatch Origin"]
8414                    #[doc = ""]
8415                    #[doc = "Must be [`Config::SpendOrigin`] with the `Success` value being at least"]
8416                    #[doc = "`amount` of `asset_kind` in the native asset. The amount of `asset_kind` is converted"]
8417                    #[doc = "for assertion using the [`Config::BalanceConverter`]."]
8418                    #[doc = ""]
8419                    #[doc = "## Details"]
8420                    #[doc = ""]
8421                    #[doc = "Create an approved spend for transferring a specific `amount` of `asset_kind` to a"]
8422                    #[doc = "designated beneficiary. The spend must be claimed using the `payout` dispatchable within"]
8423                    #[doc = "the [`Config::PayoutPeriod`]."]
8424                    #[doc = ""]
8425                    #[doc = "### Parameters"]
8426                    #[doc = "- `asset_kind`: An indicator of the specific asset class to be spent."]
8427                    #[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."]
8428                    #[doc = "- `beneficiary`: The beneficiary of the spend."]
8429                    #[doc = "- `valid_from`: The block number from which the spend can be claimed. It can refer to"]
8430                    #[doc = "  the past if the resulting spend has not yet expired according to the"]
8431                    #[doc = "  [`Config::PayoutPeriod`]. If `None`, the spend can be claimed immediately after"]
8432                    #[doc = "  approval."]
8433                    #[doc = ""]
8434                    #[doc = "## Events"]
8435                    #[doc = ""]
8436                    #[doc = "Emits [`Event::AssetSpendApproved`] if successful."]
8437                    spend {
8438                        asset_kind: ::subxt::ext::subxt_core::alloc::boxed::Box<()>,
8439                        #[codec(compact)]
8440                        amount: ::core::primitive::u128,
8441                        beneficiary: ::subxt::ext::subxt_core::alloc::boxed::Box<
8442                            ::subxt::ext::subxt_core::utils::AccountId32,
8443                        >,
8444                        valid_from: ::core::option::Option<::core::primitive::u32>,
8445                    },
8446                    #[codec(index = 6)]
8447                    #[doc = "Claim a spend."]
8448                    #[doc = ""]
8449                    #[doc = "## Dispatch Origin"]
8450                    #[doc = ""]
8451                    #[doc = "Must be signed"]
8452                    #[doc = ""]
8453                    #[doc = "## Details"]
8454                    #[doc = ""]
8455                    #[doc = "Spends must be claimed within some temporal bounds. A spend may be claimed within one"]
8456                    #[doc = "[`Config::PayoutPeriod`] from the `valid_from` block."]
8457                    #[doc = "In case of a payout failure, the spend status must be updated with the `check_status`"]
8458                    #[doc = "dispatchable before retrying with the current function."]
8459                    #[doc = ""]
8460                    #[doc = "### Parameters"]
8461                    #[doc = "- `index`: The spend index."]
8462                    #[doc = ""]
8463                    #[doc = "## Events"]
8464                    #[doc = ""]
8465                    #[doc = "Emits [`Event::Paid`] if successful."]
8466                    payout { index: ::core::primitive::u32 },
8467                    #[codec(index = 7)]
8468                    #[doc = "Check the status of the spend and remove it from the storage if processed."]
8469                    #[doc = ""]
8470                    #[doc = "## Dispatch Origin"]
8471                    #[doc = ""]
8472                    #[doc = "Must be signed."]
8473                    #[doc = ""]
8474                    #[doc = "## Details"]
8475                    #[doc = ""]
8476                    #[doc = "The status check is a prerequisite for retrying a failed payout."]
8477                    #[doc = "If a spend has either succeeded or expired, it is removed from the storage by this"]
8478                    #[doc = "function. In such instances, transaction fees are refunded."]
8479                    #[doc = ""]
8480                    #[doc = "### Parameters"]
8481                    #[doc = "- `index`: The spend index."]
8482                    #[doc = ""]
8483                    #[doc = "## Events"]
8484                    #[doc = ""]
8485                    #[doc = "Emits [`Event::PaymentFailed`] if the spend payout has failed."]
8486                    #[doc = "Emits [`Event::SpendProcessed`] if the spend payout has succeed."]
8487                    check_status { index: ::core::primitive::u32 },
8488                    #[codec(index = 8)]
8489                    #[doc = "Void previously approved spend."]
8490                    #[doc = ""]
8491                    #[doc = "## Dispatch Origin"]
8492                    #[doc = ""]
8493                    #[doc = "Must be [`Config::RejectOrigin`]."]
8494                    #[doc = ""]
8495                    #[doc = "## Details"]
8496                    #[doc = ""]
8497                    #[doc = "A spend void is only possible if the payout has not been attempted yet."]
8498                    #[doc = ""]
8499                    #[doc = "### Parameters"]
8500                    #[doc = "- `index`: The spend index."]
8501                    #[doc = ""]
8502                    #[doc = "## Events"]
8503                    #[doc = ""]
8504                    #[doc = "Emits [`Event::AssetSpendVoided`] if successful."]
8505                    void_spend { index: ::core::primitive::u32 },
8506                }
8507                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8508                #[doc = "Error for the treasury pallet."]
8509                pub enum Error {
8510                    #[codec(index = 0)]
8511                    #[doc = "No proposal, bounty or spend at that index."]
8512                    InvalidIndex,
8513                    #[codec(index = 1)]
8514                    #[doc = "Too many approvals in the queue."]
8515                    TooManyApprovals,
8516                    #[codec(index = 2)]
8517                    #[doc = "The spend origin is valid but the amount it is allowed to spend is lower than the"]
8518                    #[doc = "amount to be spent."]
8519                    InsufficientPermission,
8520                    #[codec(index = 3)]
8521                    #[doc = "Proposal has not been approved."]
8522                    ProposalNotApproved,
8523                    #[codec(index = 4)]
8524                    #[doc = "The balance of the asset kind is not convertible to the balance of the native asset."]
8525                    FailedToConvertBalance,
8526                    #[codec(index = 5)]
8527                    #[doc = "The spend has expired and cannot be claimed."]
8528                    SpendExpired,
8529                    #[codec(index = 6)]
8530                    #[doc = "The spend is not yet eligible for payout."]
8531                    EarlyPayout,
8532                    #[codec(index = 7)]
8533                    #[doc = "The payment has already been attempted."]
8534                    AlreadyAttempted,
8535                    #[codec(index = 8)]
8536                    #[doc = "There was some issue with the mechanism of payment."]
8537                    PayoutError,
8538                    #[codec(index = 9)]
8539                    #[doc = "The payout was not yet attempted/claimed."]
8540                    NotAttempted,
8541                    #[codec(index = 10)]
8542                    #[doc = "The payment has neither failed nor succeeded yet."]
8543                    Inconclusive,
8544                }
8545                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8546                #[doc = "The `Event` enum of this pallet"]
8547                pub enum Event {
8548                    #[codec(index = 0)]
8549                    #[doc = "We have ended a spend period and will now allocate funds."]
8550                    Spending {
8551                        budget_remaining: ::core::primitive::u128,
8552                    },
8553                    #[codec(index = 1)]
8554                    #[doc = "Some funds have been allocated."]
8555                    Awarded {
8556                        proposal_index: ::core::primitive::u32,
8557                        award: ::core::primitive::u128,
8558                        account: ::subxt::ext::subxt_core::utils::AccountId32,
8559                    },
8560                    #[codec(index = 2)]
8561                    #[doc = "Some of our funds have been burnt."]
8562                    Burnt {
8563                        burnt_funds: ::core::primitive::u128,
8564                    },
8565                    #[codec(index = 3)]
8566                    #[doc = "Spending has finished; this is the amount that rolls over until next spend."]
8567                    Rollover {
8568                        rollover_balance: ::core::primitive::u128,
8569                    },
8570                    #[codec(index = 4)]
8571                    #[doc = "Some funds have been deposited."]
8572                    Deposit { value: ::core::primitive::u128 },
8573                    #[codec(index = 5)]
8574                    #[doc = "A new spend proposal has been approved."]
8575                    SpendApproved {
8576                        proposal_index: ::core::primitive::u32,
8577                        amount: ::core::primitive::u128,
8578                        beneficiary: ::subxt::ext::subxt_core::utils::AccountId32,
8579                    },
8580                    #[codec(index = 6)]
8581                    #[doc = "The inactive funds of the pallet have been updated."]
8582                    UpdatedInactive {
8583                        reactivated: ::core::primitive::u128,
8584                        deactivated: ::core::primitive::u128,
8585                    },
8586                    #[codec(index = 7)]
8587                    #[doc = "A new asset spend proposal has been approved."]
8588                    AssetSpendApproved {
8589                        index: ::core::primitive::u32,
8590                        asset_kind: (),
8591                        amount: ::core::primitive::u128,
8592                        beneficiary: ::subxt::ext::subxt_core::utils::AccountId32,
8593                        valid_from: ::core::primitive::u32,
8594                        expire_at: ::core::primitive::u32,
8595                    },
8596                    #[codec(index = 8)]
8597                    #[doc = "An approved spend was voided."]
8598                    AssetSpendVoided { index: ::core::primitive::u32 },
8599                    #[codec(index = 9)]
8600                    #[doc = "A payment happened."]
8601                    Paid {
8602                        index: ::core::primitive::u32,
8603                        payment_id: (),
8604                    },
8605                    #[codec(index = 10)]
8606                    #[doc = "A payment failed and can be retried."]
8607                    PaymentFailed {
8608                        index: ::core::primitive::u32,
8609                        payment_id: (),
8610                    },
8611                    #[codec(index = 11)]
8612                    #[doc = "A spend was processed and removed from the storage. It might have been successfully"]
8613                    #[doc = "paid or it may have expired."]
8614                    SpendProcessed { index: ::core::primitive::u32 },
8615                }
8616            }
8617            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8618            pub enum PaymentState<_0> {
8619                #[codec(index = 0)]
8620                Pending,
8621                #[codec(index = 1)]
8622                Attempted { id: _0 },
8623                #[codec(index = 2)]
8624                Failed,
8625            }
8626            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8627            pub struct Proposal<_0, _1> {
8628                pub proposer: _0,
8629                pub value: _1,
8630                pub beneficiary: _0,
8631                pub bond: _1,
8632            }
8633            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8634            pub struct SpendStatus<_0, _1, _2, _3, _4> {
8635                pub asset_kind: _0,
8636                pub amount: _1,
8637                pub beneficiary: _2,
8638                pub valid_from: _3,
8639                pub expire_at: _3,
8640                pub status: runtime_types::pallet_treasury::PaymentState<_0>,
8641                #[codec(skip)]
8642                pub __ignore: ::core::marker::PhantomData<_4>,
8643            }
8644        }
8645        pub mod pallet_utility {
8646            use super::runtime_types;
8647            pub mod pallet {
8648                use super::runtime_types;
8649                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8650                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
8651                pub enum Call {
8652                    #[codec(index = 0)]
8653                    #[doc = "Send a batch of dispatch calls."]
8654                    #[doc = ""]
8655                    #[doc = "May be called from any origin except `None`."]
8656                    #[doc = ""]
8657                    #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
8658                    #[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
8659                    #[doc = ""]
8660                    #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
8661                    #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
8662                    #[doc = ""]
8663                    #[doc = "## Complexity"]
8664                    #[doc = "- O(C) where C is the number of calls to be batched."]
8665                    #[doc = ""]
8666                    #[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"]
8667                    #[doc = "event is deposited. If a call failed and the batch was interrupted, then the"]
8668                    #[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"]
8669                    #[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"]
8670                    #[doc = "event is deposited."]
8671                    batch {
8672                        calls: ::subxt::ext::subxt_core::alloc::vec::Vec<
8673                            runtime_types::vara_runtime::RuntimeCall,
8674                        >,
8675                    },
8676                    #[codec(index = 1)]
8677                    #[doc = "Send a call through an indexed pseudonym of the sender."]
8678                    #[doc = ""]
8679                    #[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"]
8680                    #[doc = "use the same filter as the origin of this call."]
8681                    #[doc = ""]
8682                    #[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."]
8683                    #[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"]
8684                    #[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"]
8685                    #[doc = "in the Multisig pallet instead."]
8686                    #[doc = ""]
8687                    #[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."]
8688                    #[doc = ""]
8689                    #[doc = "The dispatch origin for this call must be _Signed_."]
8690                    as_derivative {
8691                        index: ::core::primitive::u16,
8692                        call: ::subxt::ext::subxt_core::alloc::boxed::Box<
8693                            runtime_types::vara_runtime::RuntimeCall,
8694                        >,
8695                    },
8696                    #[codec(index = 2)]
8697                    #[doc = "Send a batch of dispatch calls and atomically execute them."]
8698                    #[doc = "The whole transaction will rollback and fail if any of the calls failed."]
8699                    #[doc = ""]
8700                    #[doc = "May be called from any origin except `None`."]
8701                    #[doc = ""]
8702                    #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
8703                    #[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
8704                    #[doc = ""]
8705                    #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"]
8706                    #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
8707                    #[doc = ""]
8708                    #[doc = "## Complexity"]
8709                    #[doc = "- O(C) where C is the number of calls to be batched."]
8710                    batch_all {
8711                        calls: ::subxt::ext::subxt_core::alloc::vec::Vec<
8712                            runtime_types::vara_runtime::RuntimeCall,
8713                        >,
8714                    },
8715                    #[codec(index = 3)]
8716                    #[doc = "Dispatches a function call with a provided origin."]
8717                    #[doc = ""]
8718                    #[doc = "The dispatch origin for this call must be _Root_."]
8719                    #[doc = ""]
8720                    #[doc = "## Complexity"]
8721                    #[doc = "- O(1)."]
8722                    dispatch_as {
8723                        as_origin: ::subxt::ext::subxt_core::alloc::boxed::Box<
8724                            runtime_types::vara_runtime::OriginCaller,
8725                        >,
8726                        call: ::subxt::ext::subxt_core::alloc::boxed::Box<
8727                            runtime_types::vara_runtime::RuntimeCall,
8728                        >,
8729                    },
8730                    #[codec(index = 4)]
8731                    #[doc = "Send a batch of dispatch calls."]
8732                    #[doc = "Unlike `batch`, it allows errors and won't interrupt."]
8733                    #[doc = ""]
8734                    #[doc = "May be called from any origin except `None`."]
8735                    #[doc = ""]
8736                    #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"]
8737                    #[doc = "  exceed the constant: `batched_calls_limit` (available in constant metadata)."]
8738                    #[doc = ""]
8739                    #[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"]
8740                    #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."]
8741                    #[doc = ""]
8742                    #[doc = "## Complexity"]
8743                    #[doc = "- O(C) where C is the number of calls to be batched."]
8744                    force_batch {
8745                        calls: ::subxt::ext::subxt_core::alloc::vec::Vec<
8746                            runtime_types::vara_runtime::RuntimeCall,
8747                        >,
8748                    },
8749                    #[codec(index = 5)]
8750                    #[doc = "Dispatch a function call with a specified weight."]
8751                    #[doc = ""]
8752                    #[doc = "This function does not check the weight of the call, and instead allows the"]
8753                    #[doc = "Root origin to specify the weight of the call."]
8754                    #[doc = ""]
8755                    #[doc = "The dispatch origin for this call must be _Root_."]
8756                    with_weight {
8757                        call: ::subxt::ext::subxt_core::alloc::boxed::Box<
8758                            runtime_types::vara_runtime::RuntimeCall,
8759                        >,
8760                        weight: runtime_types::sp_weights::weight_v2::Weight,
8761                    },
8762                }
8763                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8764                #[doc = "The `Error` enum of this pallet."]
8765                pub enum Error {
8766                    #[codec(index = 0)]
8767                    #[doc = "Too many calls batched."]
8768                    TooManyCalls,
8769                }
8770                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8771                #[doc = "The `Event` enum of this pallet"]
8772                pub enum Event {
8773                    #[codec(index = 0)]
8774                    #[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"]
8775                    #[doc = "well as the error."]
8776                    BatchInterrupted {
8777                        index: ::core::primitive::u32,
8778                        error: runtime_types::sp_runtime::DispatchError,
8779                    },
8780                    #[codec(index = 1)]
8781                    #[doc = "Batch of dispatches completed fully with no error."]
8782                    BatchCompleted,
8783                    #[codec(index = 2)]
8784                    #[doc = "Batch of dispatches completed but has errors."]
8785                    BatchCompletedWithErrors,
8786                    #[codec(index = 3)]
8787                    #[doc = "A single item within a Batch of dispatches has completed with no error."]
8788                    ItemCompleted,
8789                    #[codec(index = 4)]
8790                    #[doc = "A single item within a Batch of dispatches has completed with error."]
8791                    ItemFailed {
8792                        error: runtime_types::sp_runtime::DispatchError,
8793                    },
8794                    #[codec(index = 5)]
8795                    #[doc = "A call was dispatched."]
8796                    DispatchedAs {
8797                        result:
8798                            ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>,
8799                    },
8800                }
8801            }
8802        }
8803        pub mod pallet_vesting {
8804            use super::runtime_types;
8805            pub mod pallet {
8806                use super::runtime_types;
8807                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8808                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
8809                pub enum Call {
8810                    #[codec(index = 0)]
8811                    #[doc = "Unlock any vested funds of the sender account."]
8812                    #[doc = ""]
8813                    #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have funds still"]
8814                    #[doc = "locked under this pallet."]
8815                    #[doc = ""]
8816                    #[doc = "Emits either `VestingCompleted` or `VestingUpdated`."]
8817                    #[doc = ""]
8818                    #[doc = "## Complexity"]
8819                    #[doc = "- `O(1)`."]
8820                    vest,
8821                    #[codec(index = 1)]
8822                    #[doc = "Unlock any vested funds of a `target` account."]
8823                    #[doc = ""]
8824                    #[doc = "The dispatch origin for this call must be _Signed_."]
8825                    #[doc = ""]
8826                    #[doc = "- `target`: The account whose vested funds should be unlocked. Must have funds still"]
8827                    #[doc = "locked under this pallet."]
8828                    #[doc = ""]
8829                    #[doc = "Emits either `VestingCompleted` or `VestingUpdated`."]
8830                    #[doc = ""]
8831                    #[doc = "## Complexity"]
8832                    #[doc = "- `O(1)`."]
8833                    vest_other {
8834                        target: ::subxt::ext::subxt_core::utils::MultiAddress<
8835                            ::subxt::ext::subxt_core::utils::AccountId32,
8836                            (),
8837                        >,
8838                    },
8839                    #[codec(index = 2)]
8840                    #[doc = "Create a vested transfer."]
8841                    #[doc = ""]
8842                    #[doc = "The dispatch origin for this call must be _Signed_."]
8843                    #[doc = ""]
8844                    #[doc = "- `target`: The account receiving the vested funds."]
8845                    #[doc = "- `schedule`: The vesting schedule attached to the transfer."]
8846                    #[doc = ""]
8847                    #[doc = "Emits `VestingCreated`."]
8848                    #[doc = ""]
8849                    #[doc = "NOTE: This will unlock all schedules through the current block."]
8850                    #[doc = ""]
8851                    #[doc = "## Complexity"]
8852                    #[doc = "- `O(1)`."]
8853                    vested_transfer {
8854                        target: ::subxt::ext::subxt_core::utils::MultiAddress<
8855                            ::subxt::ext::subxt_core::utils::AccountId32,
8856                            (),
8857                        >,
8858                        schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo<
8859                            ::core::primitive::u128,
8860                            ::core::primitive::u32,
8861                        >,
8862                    },
8863                    #[codec(index = 3)]
8864                    #[doc = "Force a vested transfer."]
8865                    #[doc = ""]
8866                    #[doc = "The dispatch origin for this call must be _Root_."]
8867                    #[doc = ""]
8868                    #[doc = "- `source`: The account whose funds should be transferred."]
8869                    #[doc = "- `target`: The account that should be transferred the vested funds."]
8870                    #[doc = "- `schedule`: The vesting schedule attached to the transfer."]
8871                    #[doc = ""]
8872                    #[doc = "Emits `VestingCreated`."]
8873                    #[doc = ""]
8874                    #[doc = "NOTE: This will unlock all schedules through the current block."]
8875                    #[doc = ""]
8876                    #[doc = "## Complexity"]
8877                    #[doc = "- `O(1)`."]
8878                    force_vested_transfer {
8879                        source: ::subxt::ext::subxt_core::utils::MultiAddress<
8880                            ::subxt::ext::subxt_core::utils::AccountId32,
8881                            (),
8882                        >,
8883                        target: ::subxt::ext::subxt_core::utils::MultiAddress<
8884                            ::subxt::ext::subxt_core::utils::AccountId32,
8885                            (),
8886                        >,
8887                        schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo<
8888                            ::core::primitive::u128,
8889                            ::core::primitive::u32,
8890                        >,
8891                    },
8892                    #[codec(index = 4)]
8893                    #[doc = "Merge two vesting schedules together, creating a new vesting schedule that unlocks over"]
8894                    #[doc = "the highest possible start and end blocks. If both schedules have already started the"]
8895                    #[doc = "current block will be used as the schedule start; with the caveat that if one schedule"]
8896                    #[doc = "is finished by the current block, the other will be treated as the new merged schedule,"]
8897                    #[doc = "unmodified."]
8898                    #[doc = ""]
8899                    #[doc = "NOTE: If `schedule1_index == schedule2_index` this is a no-op."]
8900                    #[doc = "NOTE: This will unlock all schedules through the current block prior to merging."]
8901                    #[doc = "NOTE: If both schedules have ended by the current block, no new schedule will be created"]
8902                    #[doc = "and both will be removed."]
8903                    #[doc = ""]
8904                    #[doc = "Merged schedule attributes:"]
8905                    #[doc = "- `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block,"]
8906                    #[doc = "  current_block)`."]
8907                    #[doc = "- `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`."]
8908                    #[doc = "- `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`."]
8909                    #[doc = ""]
8910                    #[doc = "The dispatch origin for this call must be _Signed_."]
8911                    #[doc = ""]
8912                    #[doc = "- `schedule1_index`: index of the first schedule to merge."]
8913                    #[doc = "- `schedule2_index`: index of the second schedule to merge."]
8914                    merge_schedules {
8915                        schedule1_index: ::core::primitive::u32,
8916                        schedule2_index: ::core::primitive::u32,
8917                    },
8918                    #[codec(index = 5)]
8919                    #[doc = "Force remove a vesting schedule"]
8920                    #[doc = ""]
8921                    #[doc = "The dispatch origin for this call must be _Root_."]
8922                    #[doc = ""]
8923                    #[doc = "- `target`: An account that has a vesting schedule"]
8924                    #[doc = "- `schedule_index`: The vesting schedule index that should be removed"]
8925                    force_remove_vesting_schedule {
8926                        target: ::subxt::ext::subxt_core::utils::MultiAddress<
8927                            ::subxt::ext::subxt_core::utils::AccountId32,
8928                            (),
8929                        >,
8930                        schedule_index: ::core::primitive::u32,
8931                    },
8932                }
8933                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8934                #[doc = "Error for the vesting pallet."]
8935                pub enum Error {
8936                    #[codec(index = 0)]
8937                    #[doc = "The account given is not vesting."]
8938                    NotVesting,
8939                    #[codec(index = 1)]
8940                    #[doc = "The account already has `MaxVestingSchedules` count of schedules and thus"]
8941                    #[doc = "cannot add another one. Consider merging existing schedules in order to add another."]
8942                    AtMaxVestingSchedules,
8943                    #[codec(index = 2)]
8944                    #[doc = "Amount being transferred is too low to create a vesting schedule."]
8945                    AmountLow,
8946                    #[codec(index = 3)]
8947                    #[doc = "An index was out of bounds of the vesting schedules."]
8948                    ScheduleIndexOutOfBounds,
8949                    #[codec(index = 4)]
8950                    #[doc = "Failed to create a new schedule because some parameter was invalid."]
8951                    InvalidScheduleParams,
8952                }
8953                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8954                #[doc = "The `Event` enum of this pallet"]
8955                pub enum Event {
8956                    #[codec(index = 0)]
8957                    #[doc = "The amount vested has been updated. This could indicate a change in funds available."]
8958                    #[doc = "The balance given is the amount which is left unvested (and thus locked)."]
8959                    VestingUpdated {
8960                        account: ::subxt::ext::subxt_core::utils::AccountId32,
8961                        unvested: ::core::primitive::u128,
8962                    },
8963                    #[codec(index = 1)]
8964                    #[doc = "An \\[account\\] has become fully vested."]
8965                    VestingCompleted {
8966                        account: ::subxt::ext::subxt_core::utils::AccountId32,
8967                    },
8968                }
8969            }
8970            pub mod vesting_info {
8971                use super::runtime_types;
8972                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8973                pub struct VestingInfo<_0, _1> {
8974                    pub locked: _0,
8975                    pub per_block: _0,
8976                    pub starting_block: _1,
8977                }
8978            }
8979            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8980            pub enum Releases {
8981                #[codec(index = 0)]
8982                V0,
8983                #[codec(index = 1)]
8984                V1,
8985            }
8986        }
8987        pub mod pallet_whitelist {
8988            use super::runtime_types;
8989            pub mod pallet {
8990                use super::runtime_types;
8991                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
8992                #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."]
8993                pub enum Call {
8994                    #[codec(index = 0)]
8995                    whitelist_call {
8996                        call_hash: ::subxt::ext::subxt_core::utils::H256,
8997                    },
8998                    #[codec(index = 1)]
8999                    remove_whitelisted_call {
9000                        call_hash: ::subxt::ext::subxt_core::utils::H256,
9001                    },
9002                    #[codec(index = 2)]
9003                    dispatch_whitelisted_call {
9004                        call_hash: ::subxt::ext::subxt_core::utils::H256,
9005                        call_encoded_len: ::core::primitive::u32,
9006                        call_weight_witness: runtime_types::sp_weights::weight_v2::Weight,
9007                    },
9008                    #[codec(index = 3)]
9009                    dispatch_whitelisted_call_with_preimage {
9010                        call: ::subxt::ext::subxt_core::alloc::boxed::Box<
9011                            runtime_types::vara_runtime::RuntimeCall,
9012                        >,
9013                    },
9014                }
9015                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9016                #[doc = "The `Error` enum of this pallet."]
9017                pub enum Error {
9018                    #[codec(index = 0)]
9019                    #[doc = "The preimage of the call hash could not be loaded."]
9020                    UnavailablePreImage,
9021                    #[codec(index = 1)]
9022                    #[doc = "The call could not be decoded."]
9023                    UndecodableCall,
9024                    #[codec(index = 2)]
9025                    #[doc = "The weight of the decoded call was higher than the witness."]
9026                    InvalidCallWeightWitness,
9027                    #[codec(index = 3)]
9028                    #[doc = "The call was not whitelisted."]
9029                    CallIsNotWhitelisted,
9030                    #[codec(index = 4)]
9031                    #[doc = "The call was already whitelisted; No-Op."]
9032                    CallAlreadyWhitelisted,
9033                }
9034                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9035                #[doc = "The `Event` enum of this pallet"]
9036                pub enum Event {
9037                    #[codec(index = 0)]
9038                    CallWhitelisted {
9039                        call_hash: ::subxt::ext::subxt_core::utils::H256,
9040                    },
9041                    #[codec(index = 1)]
9042                    WhitelistedCallRemoved {
9043                        call_hash: ::subxt::ext::subxt_core::utils::H256,
9044                    },
9045                    #[codec(index = 2)]
9046                    WhitelistedCallDispatched {
9047                        call_hash: ::subxt::ext::subxt_core::utils::H256,
9048                        result: ::core::result::Result<
9049                            runtime_types::frame_support::dispatch::PostDispatchInfo,
9050                            runtime_types::sp_runtime::DispatchErrorWithPostInfo<
9051                                runtime_types::frame_support::dispatch::PostDispatchInfo,
9052                            >,
9053                        >,
9054                    },
9055                }
9056            }
9057        }
9058        pub mod primitive_types {
9059            use super::runtime_types;
9060            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9061            pub struct U256(pub [::core::primitive::u64; 4usize]);
9062        }
9063        pub mod sp_arithmetic {
9064            use super::runtime_types;
9065            pub mod fixed_point {
9066                use super::runtime_types;
9067                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9068                pub struct FixedI64(pub ::core::primitive::i64);
9069                #[derive(
9070                    ::subxt::ext ::subxt_core::ext::codec::CompactAs,
9071                    Debug,
9072                    crate::gp::Decode,
9073                    crate::gp::DecodeAsType,
9074                    crate::gp::Encode,
9075                )]
9076                pub struct FixedU128(pub ::core::primitive::u128);
9077            }
9078            pub mod per_things {
9079                use super::runtime_types;
9080                #[derive(
9081                    ::subxt::ext ::subxt_core::ext::codec::CompactAs,
9082                    Debug,
9083                    crate::gp::Decode,
9084                    crate::gp::DecodeAsType,
9085                    crate::gp::Encode,
9086                )]
9087                pub struct PerU16(pub ::core::primitive::u16);
9088                #[derive(
9089                    ::subxt::ext ::subxt_core::ext::codec::CompactAs,
9090                    Debug,
9091                    crate::gp::Decode,
9092                    crate::gp::DecodeAsType,
9093                    crate::gp::Encode,
9094                )]
9095                pub struct Perbill(pub ::core::primitive::u32);
9096                #[derive(
9097                    ::subxt::ext ::subxt_core::ext::codec::CompactAs,
9098                    Debug,
9099                    crate::gp::Decode,
9100                    crate::gp::DecodeAsType,
9101                    crate::gp::Encode,
9102                )]
9103                pub struct Percent(pub ::core::primitive::u8);
9104                #[derive(
9105                    ::subxt::ext ::subxt_core::ext::codec::CompactAs,
9106                    Debug,
9107                    crate::gp::Decode,
9108                    crate::gp::DecodeAsType,
9109                    crate::gp::Encode,
9110                )]
9111                pub struct Permill(pub ::core::primitive::u32);
9112                #[derive(
9113                    ::subxt::ext ::subxt_core::ext::codec::CompactAs,
9114                    Debug,
9115                    crate::gp::Decode,
9116                    crate::gp::DecodeAsType,
9117                    crate::gp::Encode,
9118                )]
9119                pub struct Perquintill(pub ::core::primitive::u64);
9120            }
9121            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9122            pub enum ArithmeticError {
9123                #[codec(index = 0)]
9124                Underflow,
9125                #[codec(index = 1)]
9126                Overflow,
9127                #[codec(index = 2)]
9128                DivisionByZero,
9129            }
9130        }
9131        pub mod sp_authority_discovery {
9132            use super::runtime_types;
9133            pub mod app {
9134                use super::runtime_types;
9135                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9136                pub struct Public(pub [::core::primitive::u8; 32usize]);
9137            }
9138        }
9139        pub mod sp_consensus_babe {
9140            use super::runtime_types;
9141            pub mod app {
9142                use super::runtime_types;
9143                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9144                pub struct Public(pub [::core::primitive::u8; 32usize]);
9145            }
9146            pub mod digests {
9147                use super::runtime_types;
9148                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9149                pub enum NextConfigDescriptor {
9150                    #[codec(index = 1)]
9151                    V1 {
9152                        c: (::core::primitive::u64, ::core::primitive::u64),
9153                        allowed_slots: runtime_types::sp_consensus_babe::AllowedSlots,
9154                    },
9155                }
9156                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9157                pub enum PreDigest {
9158                    #[codec(index = 1)]
9159                    Primary(runtime_types::sp_consensus_babe::digests::PrimaryPreDigest),
9160                    #[codec(index = 2)]
9161                    SecondaryPlain(
9162                        runtime_types::sp_consensus_babe::digests::SecondaryPlainPreDigest,
9163                    ),
9164                    #[codec(index = 3)]
9165                    SecondaryVRF(runtime_types::sp_consensus_babe::digests::SecondaryVRFPreDigest),
9166                }
9167                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9168                pub struct PrimaryPreDigest {
9169                    pub authority_index: ::core::primitive::u32,
9170                    pub slot: runtime_types::sp_consensus_slots::Slot,
9171                    pub vrf_signature: runtime_types::sp_core::sr25519::vrf::VrfSignature,
9172                }
9173                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9174                pub struct SecondaryPlainPreDigest {
9175                    pub authority_index: ::core::primitive::u32,
9176                    pub slot: runtime_types::sp_consensus_slots::Slot,
9177                }
9178                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9179                pub struct SecondaryVRFPreDigest {
9180                    pub authority_index: ::core::primitive::u32,
9181                    pub slot: runtime_types::sp_consensus_slots::Slot,
9182                    pub vrf_signature: runtime_types::sp_core::sr25519::vrf::VrfSignature,
9183                }
9184            }
9185            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9186            pub enum AllowedSlots {
9187                #[codec(index = 0)]
9188                PrimarySlots,
9189                #[codec(index = 1)]
9190                PrimaryAndSecondaryPlainSlots,
9191                #[codec(index = 2)]
9192                PrimaryAndSecondaryVRFSlots,
9193            }
9194            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9195            pub struct BabeEpochConfiguration {
9196                pub c: (::core::primitive::u64, ::core::primitive::u64),
9197                pub allowed_slots: runtime_types::sp_consensus_babe::AllowedSlots,
9198            }
9199        }
9200        pub mod sp_consensus_grandpa {
9201            use super::runtime_types;
9202            pub mod app {
9203                use super::runtime_types;
9204                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9205                pub struct Public(pub [::core::primitive::u8; 32usize]);
9206                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9207                pub struct Signature(pub [::core::primitive::u8; 64usize]);
9208            }
9209            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9210            pub enum Equivocation<_0, _1> {
9211                #[codec(index = 0)]
9212                Prevote(
9213                    runtime_types::finality_grandpa::Equivocation<
9214                        runtime_types::sp_consensus_grandpa::app::Public,
9215                        runtime_types::finality_grandpa::Prevote<_0, _1>,
9216                        runtime_types::sp_consensus_grandpa::app::Signature,
9217                    >,
9218                ),
9219                #[codec(index = 1)]
9220                Precommit(
9221                    runtime_types::finality_grandpa::Equivocation<
9222                        runtime_types::sp_consensus_grandpa::app::Public,
9223                        runtime_types::finality_grandpa::Precommit<_0, _1>,
9224                        runtime_types::sp_consensus_grandpa::app::Signature,
9225                    >,
9226                ),
9227            }
9228            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9229            pub struct EquivocationProof<_0, _1> {
9230                pub set_id: ::core::primitive::u64,
9231                pub equivocation: runtime_types::sp_consensus_grandpa::Equivocation<_0, _1>,
9232            }
9233        }
9234        pub mod sp_consensus_slots {
9235            use super::runtime_types;
9236            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9237            pub struct EquivocationProof<_0, _1> {
9238                pub offender: _1,
9239                pub slot: runtime_types::sp_consensus_slots::Slot,
9240                pub first_header: _0,
9241                pub second_header: _0,
9242            }
9243            #[derive(
9244                ::subxt::ext ::subxt_core::ext::codec::CompactAs,
9245                Debug,
9246                crate::gp::Decode,
9247                crate::gp::DecodeAsType,
9248                crate::gp::Encode,
9249            )]
9250            pub struct Slot(pub ::core::primitive::u64);
9251        }
9252        pub mod sp_core {
9253            use super::runtime_types;
9254            pub mod crypto {
9255                use super::runtime_types;
9256                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9257                pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]);
9258            }
9259            pub mod sr25519 {
9260                use super::runtime_types;
9261                pub mod vrf {
9262                    use super::runtime_types;
9263                    #[derive(
9264                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
9265                    )]
9266                    pub struct VrfSignature {
9267                        pub pre_output: [::core::primitive::u8; 32usize],
9268                        pub proof: [::core::primitive::u8; 64usize],
9269                    }
9270                }
9271            }
9272            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9273            pub enum Void {}
9274        }
9275        pub mod sp_npos_elections {
9276            use super::runtime_types;
9277            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9278            pub struct ElectionScore {
9279                pub minimal_stake: ::core::primitive::u128,
9280                pub sum_stake: ::core::primitive::u128,
9281                pub sum_stake_squared: ::core::primitive::u128,
9282            }
9283            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9284            pub struct Support<_0> {
9285                pub total: ::core::primitive::u128,
9286                pub voters:
9287                    ::subxt::ext::subxt_core::alloc::vec::Vec<(_0, ::core::primitive::u128)>,
9288            }
9289        }
9290        pub mod sp_runtime {
9291            use super::runtime_types;
9292            pub mod generic {
9293                use super::runtime_types;
9294                pub mod digest {
9295                    use super::runtime_types;
9296                    #[derive(
9297                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
9298                    )]
9299                    pub struct Digest {
9300                        pub logs: ::subxt::ext::subxt_core::alloc::vec::Vec<
9301                            runtime_types::sp_runtime::generic::digest::DigestItem,
9302                        >,
9303                    }
9304                    #[derive(
9305                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
9306                    )]
9307                    pub enum DigestItem {
9308                        #[codec(index = 6)]
9309                        PreRuntime(
9310                            [::core::primitive::u8; 4usize],
9311                            ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
9312                        ),
9313                        #[codec(index = 4)]
9314                        Consensus(
9315                            [::core::primitive::u8; 4usize],
9316                            ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
9317                        ),
9318                        #[codec(index = 5)]
9319                        Seal(
9320                            [::core::primitive::u8; 4usize],
9321                            ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
9322                        ),
9323                        #[codec(index = 0)]
9324                        Other(::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>),
9325                        #[codec(index = 8)]
9326                        RuntimeEnvironmentUpdated,
9327                    }
9328                }
9329                pub mod era {
9330                    use super::runtime_types;
9331                    #[derive(
9332                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
9333                    )]
9334                    pub enum Era {
9335                        #[codec(index = 0)]
9336                        Immortal,
9337                        #[codec(index = 1)]
9338                        Mortal1(::core::primitive::u8),
9339                        #[codec(index = 2)]
9340                        Mortal2(::core::primitive::u8),
9341                        #[codec(index = 3)]
9342                        Mortal3(::core::primitive::u8),
9343                        #[codec(index = 4)]
9344                        Mortal4(::core::primitive::u8),
9345                        #[codec(index = 5)]
9346                        Mortal5(::core::primitive::u8),
9347                        #[codec(index = 6)]
9348                        Mortal6(::core::primitive::u8),
9349                        #[codec(index = 7)]
9350                        Mortal7(::core::primitive::u8),
9351                        #[codec(index = 8)]
9352                        Mortal8(::core::primitive::u8),
9353                        #[codec(index = 9)]
9354                        Mortal9(::core::primitive::u8),
9355                        #[codec(index = 10)]
9356                        Mortal10(::core::primitive::u8),
9357                        #[codec(index = 11)]
9358                        Mortal11(::core::primitive::u8),
9359                        #[codec(index = 12)]
9360                        Mortal12(::core::primitive::u8),
9361                        #[codec(index = 13)]
9362                        Mortal13(::core::primitive::u8),
9363                        #[codec(index = 14)]
9364                        Mortal14(::core::primitive::u8),
9365                        #[codec(index = 15)]
9366                        Mortal15(::core::primitive::u8),
9367                        #[codec(index = 16)]
9368                        Mortal16(::core::primitive::u8),
9369                        #[codec(index = 17)]
9370                        Mortal17(::core::primitive::u8),
9371                        #[codec(index = 18)]
9372                        Mortal18(::core::primitive::u8),
9373                        #[codec(index = 19)]
9374                        Mortal19(::core::primitive::u8),
9375                        #[codec(index = 20)]
9376                        Mortal20(::core::primitive::u8),
9377                        #[codec(index = 21)]
9378                        Mortal21(::core::primitive::u8),
9379                        #[codec(index = 22)]
9380                        Mortal22(::core::primitive::u8),
9381                        #[codec(index = 23)]
9382                        Mortal23(::core::primitive::u8),
9383                        #[codec(index = 24)]
9384                        Mortal24(::core::primitive::u8),
9385                        #[codec(index = 25)]
9386                        Mortal25(::core::primitive::u8),
9387                        #[codec(index = 26)]
9388                        Mortal26(::core::primitive::u8),
9389                        #[codec(index = 27)]
9390                        Mortal27(::core::primitive::u8),
9391                        #[codec(index = 28)]
9392                        Mortal28(::core::primitive::u8),
9393                        #[codec(index = 29)]
9394                        Mortal29(::core::primitive::u8),
9395                        #[codec(index = 30)]
9396                        Mortal30(::core::primitive::u8),
9397                        #[codec(index = 31)]
9398                        Mortal31(::core::primitive::u8),
9399                        #[codec(index = 32)]
9400                        Mortal32(::core::primitive::u8),
9401                        #[codec(index = 33)]
9402                        Mortal33(::core::primitive::u8),
9403                        #[codec(index = 34)]
9404                        Mortal34(::core::primitive::u8),
9405                        #[codec(index = 35)]
9406                        Mortal35(::core::primitive::u8),
9407                        #[codec(index = 36)]
9408                        Mortal36(::core::primitive::u8),
9409                        #[codec(index = 37)]
9410                        Mortal37(::core::primitive::u8),
9411                        #[codec(index = 38)]
9412                        Mortal38(::core::primitive::u8),
9413                        #[codec(index = 39)]
9414                        Mortal39(::core::primitive::u8),
9415                        #[codec(index = 40)]
9416                        Mortal40(::core::primitive::u8),
9417                        #[codec(index = 41)]
9418                        Mortal41(::core::primitive::u8),
9419                        #[codec(index = 42)]
9420                        Mortal42(::core::primitive::u8),
9421                        #[codec(index = 43)]
9422                        Mortal43(::core::primitive::u8),
9423                        #[codec(index = 44)]
9424                        Mortal44(::core::primitive::u8),
9425                        #[codec(index = 45)]
9426                        Mortal45(::core::primitive::u8),
9427                        #[codec(index = 46)]
9428                        Mortal46(::core::primitive::u8),
9429                        #[codec(index = 47)]
9430                        Mortal47(::core::primitive::u8),
9431                        #[codec(index = 48)]
9432                        Mortal48(::core::primitive::u8),
9433                        #[codec(index = 49)]
9434                        Mortal49(::core::primitive::u8),
9435                        #[codec(index = 50)]
9436                        Mortal50(::core::primitive::u8),
9437                        #[codec(index = 51)]
9438                        Mortal51(::core::primitive::u8),
9439                        #[codec(index = 52)]
9440                        Mortal52(::core::primitive::u8),
9441                        #[codec(index = 53)]
9442                        Mortal53(::core::primitive::u8),
9443                        #[codec(index = 54)]
9444                        Mortal54(::core::primitive::u8),
9445                        #[codec(index = 55)]
9446                        Mortal55(::core::primitive::u8),
9447                        #[codec(index = 56)]
9448                        Mortal56(::core::primitive::u8),
9449                        #[codec(index = 57)]
9450                        Mortal57(::core::primitive::u8),
9451                        #[codec(index = 58)]
9452                        Mortal58(::core::primitive::u8),
9453                        #[codec(index = 59)]
9454                        Mortal59(::core::primitive::u8),
9455                        #[codec(index = 60)]
9456                        Mortal60(::core::primitive::u8),
9457                        #[codec(index = 61)]
9458                        Mortal61(::core::primitive::u8),
9459                        #[codec(index = 62)]
9460                        Mortal62(::core::primitive::u8),
9461                        #[codec(index = 63)]
9462                        Mortal63(::core::primitive::u8),
9463                        #[codec(index = 64)]
9464                        Mortal64(::core::primitive::u8),
9465                        #[codec(index = 65)]
9466                        Mortal65(::core::primitive::u8),
9467                        #[codec(index = 66)]
9468                        Mortal66(::core::primitive::u8),
9469                        #[codec(index = 67)]
9470                        Mortal67(::core::primitive::u8),
9471                        #[codec(index = 68)]
9472                        Mortal68(::core::primitive::u8),
9473                        #[codec(index = 69)]
9474                        Mortal69(::core::primitive::u8),
9475                        #[codec(index = 70)]
9476                        Mortal70(::core::primitive::u8),
9477                        #[codec(index = 71)]
9478                        Mortal71(::core::primitive::u8),
9479                        #[codec(index = 72)]
9480                        Mortal72(::core::primitive::u8),
9481                        #[codec(index = 73)]
9482                        Mortal73(::core::primitive::u8),
9483                        #[codec(index = 74)]
9484                        Mortal74(::core::primitive::u8),
9485                        #[codec(index = 75)]
9486                        Mortal75(::core::primitive::u8),
9487                        #[codec(index = 76)]
9488                        Mortal76(::core::primitive::u8),
9489                        #[codec(index = 77)]
9490                        Mortal77(::core::primitive::u8),
9491                        #[codec(index = 78)]
9492                        Mortal78(::core::primitive::u8),
9493                        #[codec(index = 79)]
9494                        Mortal79(::core::primitive::u8),
9495                        #[codec(index = 80)]
9496                        Mortal80(::core::primitive::u8),
9497                        #[codec(index = 81)]
9498                        Mortal81(::core::primitive::u8),
9499                        #[codec(index = 82)]
9500                        Mortal82(::core::primitive::u8),
9501                        #[codec(index = 83)]
9502                        Mortal83(::core::primitive::u8),
9503                        #[codec(index = 84)]
9504                        Mortal84(::core::primitive::u8),
9505                        #[codec(index = 85)]
9506                        Mortal85(::core::primitive::u8),
9507                        #[codec(index = 86)]
9508                        Mortal86(::core::primitive::u8),
9509                        #[codec(index = 87)]
9510                        Mortal87(::core::primitive::u8),
9511                        #[codec(index = 88)]
9512                        Mortal88(::core::primitive::u8),
9513                        #[codec(index = 89)]
9514                        Mortal89(::core::primitive::u8),
9515                        #[codec(index = 90)]
9516                        Mortal90(::core::primitive::u8),
9517                        #[codec(index = 91)]
9518                        Mortal91(::core::primitive::u8),
9519                        #[codec(index = 92)]
9520                        Mortal92(::core::primitive::u8),
9521                        #[codec(index = 93)]
9522                        Mortal93(::core::primitive::u8),
9523                        #[codec(index = 94)]
9524                        Mortal94(::core::primitive::u8),
9525                        #[codec(index = 95)]
9526                        Mortal95(::core::primitive::u8),
9527                        #[codec(index = 96)]
9528                        Mortal96(::core::primitive::u8),
9529                        #[codec(index = 97)]
9530                        Mortal97(::core::primitive::u8),
9531                        #[codec(index = 98)]
9532                        Mortal98(::core::primitive::u8),
9533                        #[codec(index = 99)]
9534                        Mortal99(::core::primitive::u8),
9535                        #[codec(index = 100)]
9536                        Mortal100(::core::primitive::u8),
9537                        #[codec(index = 101)]
9538                        Mortal101(::core::primitive::u8),
9539                        #[codec(index = 102)]
9540                        Mortal102(::core::primitive::u8),
9541                        #[codec(index = 103)]
9542                        Mortal103(::core::primitive::u8),
9543                        #[codec(index = 104)]
9544                        Mortal104(::core::primitive::u8),
9545                        #[codec(index = 105)]
9546                        Mortal105(::core::primitive::u8),
9547                        #[codec(index = 106)]
9548                        Mortal106(::core::primitive::u8),
9549                        #[codec(index = 107)]
9550                        Mortal107(::core::primitive::u8),
9551                        #[codec(index = 108)]
9552                        Mortal108(::core::primitive::u8),
9553                        #[codec(index = 109)]
9554                        Mortal109(::core::primitive::u8),
9555                        #[codec(index = 110)]
9556                        Mortal110(::core::primitive::u8),
9557                        #[codec(index = 111)]
9558                        Mortal111(::core::primitive::u8),
9559                        #[codec(index = 112)]
9560                        Mortal112(::core::primitive::u8),
9561                        #[codec(index = 113)]
9562                        Mortal113(::core::primitive::u8),
9563                        #[codec(index = 114)]
9564                        Mortal114(::core::primitive::u8),
9565                        #[codec(index = 115)]
9566                        Mortal115(::core::primitive::u8),
9567                        #[codec(index = 116)]
9568                        Mortal116(::core::primitive::u8),
9569                        #[codec(index = 117)]
9570                        Mortal117(::core::primitive::u8),
9571                        #[codec(index = 118)]
9572                        Mortal118(::core::primitive::u8),
9573                        #[codec(index = 119)]
9574                        Mortal119(::core::primitive::u8),
9575                        #[codec(index = 120)]
9576                        Mortal120(::core::primitive::u8),
9577                        #[codec(index = 121)]
9578                        Mortal121(::core::primitive::u8),
9579                        #[codec(index = 122)]
9580                        Mortal122(::core::primitive::u8),
9581                        #[codec(index = 123)]
9582                        Mortal123(::core::primitive::u8),
9583                        #[codec(index = 124)]
9584                        Mortal124(::core::primitive::u8),
9585                        #[codec(index = 125)]
9586                        Mortal125(::core::primitive::u8),
9587                        #[codec(index = 126)]
9588                        Mortal126(::core::primitive::u8),
9589                        #[codec(index = 127)]
9590                        Mortal127(::core::primitive::u8),
9591                        #[codec(index = 128)]
9592                        Mortal128(::core::primitive::u8),
9593                        #[codec(index = 129)]
9594                        Mortal129(::core::primitive::u8),
9595                        #[codec(index = 130)]
9596                        Mortal130(::core::primitive::u8),
9597                        #[codec(index = 131)]
9598                        Mortal131(::core::primitive::u8),
9599                        #[codec(index = 132)]
9600                        Mortal132(::core::primitive::u8),
9601                        #[codec(index = 133)]
9602                        Mortal133(::core::primitive::u8),
9603                        #[codec(index = 134)]
9604                        Mortal134(::core::primitive::u8),
9605                        #[codec(index = 135)]
9606                        Mortal135(::core::primitive::u8),
9607                        #[codec(index = 136)]
9608                        Mortal136(::core::primitive::u8),
9609                        #[codec(index = 137)]
9610                        Mortal137(::core::primitive::u8),
9611                        #[codec(index = 138)]
9612                        Mortal138(::core::primitive::u8),
9613                        #[codec(index = 139)]
9614                        Mortal139(::core::primitive::u8),
9615                        #[codec(index = 140)]
9616                        Mortal140(::core::primitive::u8),
9617                        #[codec(index = 141)]
9618                        Mortal141(::core::primitive::u8),
9619                        #[codec(index = 142)]
9620                        Mortal142(::core::primitive::u8),
9621                        #[codec(index = 143)]
9622                        Mortal143(::core::primitive::u8),
9623                        #[codec(index = 144)]
9624                        Mortal144(::core::primitive::u8),
9625                        #[codec(index = 145)]
9626                        Mortal145(::core::primitive::u8),
9627                        #[codec(index = 146)]
9628                        Mortal146(::core::primitive::u8),
9629                        #[codec(index = 147)]
9630                        Mortal147(::core::primitive::u8),
9631                        #[codec(index = 148)]
9632                        Mortal148(::core::primitive::u8),
9633                        #[codec(index = 149)]
9634                        Mortal149(::core::primitive::u8),
9635                        #[codec(index = 150)]
9636                        Mortal150(::core::primitive::u8),
9637                        #[codec(index = 151)]
9638                        Mortal151(::core::primitive::u8),
9639                        #[codec(index = 152)]
9640                        Mortal152(::core::primitive::u8),
9641                        #[codec(index = 153)]
9642                        Mortal153(::core::primitive::u8),
9643                        #[codec(index = 154)]
9644                        Mortal154(::core::primitive::u8),
9645                        #[codec(index = 155)]
9646                        Mortal155(::core::primitive::u8),
9647                        #[codec(index = 156)]
9648                        Mortal156(::core::primitive::u8),
9649                        #[codec(index = 157)]
9650                        Mortal157(::core::primitive::u8),
9651                        #[codec(index = 158)]
9652                        Mortal158(::core::primitive::u8),
9653                        #[codec(index = 159)]
9654                        Mortal159(::core::primitive::u8),
9655                        #[codec(index = 160)]
9656                        Mortal160(::core::primitive::u8),
9657                        #[codec(index = 161)]
9658                        Mortal161(::core::primitive::u8),
9659                        #[codec(index = 162)]
9660                        Mortal162(::core::primitive::u8),
9661                        #[codec(index = 163)]
9662                        Mortal163(::core::primitive::u8),
9663                        #[codec(index = 164)]
9664                        Mortal164(::core::primitive::u8),
9665                        #[codec(index = 165)]
9666                        Mortal165(::core::primitive::u8),
9667                        #[codec(index = 166)]
9668                        Mortal166(::core::primitive::u8),
9669                        #[codec(index = 167)]
9670                        Mortal167(::core::primitive::u8),
9671                        #[codec(index = 168)]
9672                        Mortal168(::core::primitive::u8),
9673                        #[codec(index = 169)]
9674                        Mortal169(::core::primitive::u8),
9675                        #[codec(index = 170)]
9676                        Mortal170(::core::primitive::u8),
9677                        #[codec(index = 171)]
9678                        Mortal171(::core::primitive::u8),
9679                        #[codec(index = 172)]
9680                        Mortal172(::core::primitive::u8),
9681                        #[codec(index = 173)]
9682                        Mortal173(::core::primitive::u8),
9683                        #[codec(index = 174)]
9684                        Mortal174(::core::primitive::u8),
9685                        #[codec(index = 175)]
9686                        Mortal175(::core::primitive::u8),
9687                        #[codec(index = 176)]
9688                        Mortal176(::core::primitive::u8),
9689                        #[codec(index = 177)]
9690                        Mortal177(::core::primitive::u8),
9691                        #[codec(index = 178)]
9692                        Mortal178(::core::primitive::u8),
9693                        #[codec(index = 179)]
9694                        Mortal179(::core::primitive::u8),
9695                        #[codec(index = 180)]
9696                        Mortal180(::core::primitive::u8),
9697                        #[codec(index = 181)]
9698                        Mortal181(::core::primitive::u8),
9699                        #[codec(index = 182)]
9700                        Mortal182(::core::primitive::u8),
9701                        #[codec(index = 183)]
9702                        Mortal183(::core::primitive::u8),
9703                        #[codec(index = 184)]
9704                        Mortal184(::core::primitive::u8),
9705                        #[codec(index = 185)]
9706                        Mortal185(::core::primitive::u8),
9707                        #[codec(index = 186)]
9708                        Mortal186(::core::primitive::u8),
9709                        #[codec(index = 187)]
9710                        Mortal187(::core::primitive::u8),
9711                        #[codec(index = 188)]
9712                        Mortal188(::core::primitive::u8),
9713                        #[codec(index = 189)]
9714                        Mortal189(::core::primitive::u8),
9715                        #[codec(index = 190)]
9716                        Mortal190(::core::primitive::u8),
9717                        #[codec(index = 191)]
9718                        Mortal191(::core::primitive::u8),
9719                        #[codec(index = 192)]
9720                        Mortal192(::core::primitive::u8),
9721                        #[codec(index = 193)]
9722                        Mortal193(::core::primitive::u8),
9723                        #[codec(index = 194)]
9724                        Mortal194(::core::primitive::u8),
9725                        #[codec(index = 195)]
9726                        Mortal195(::core::primitive::u8),
9727                        #[codec(index = 196)]
9728                        Mortal196(::core::primitive::u8),
9729                        #[codec(index = 197)]
9730                        Mortal197(::core::primitive::u8),
9731                        #[codec(index = 198)]
9732                        Mortal198(::core::primitive::u8),
9733                        #[codec(index = 199)]
9734                        Mortal199(::core::primitive::u8),
9735                        #[codec(index = 200)]
9736                        Mortal200(::core::primitive::u8),
9737                        #[codec(index = 201)]
9738                        Mortal201(::core::primitive::u8),
9739                        #[codec(index = 202)]
9740                        Mortal202(::core::primitive::u8),
9741                        #[codec(index = 203)]
9742                        Mortal203(::core::primitive::u8),
9743                        #[codec(index = 204)]
9744                        Mortal204(::core::primitive::u8),
9745                        #[codec(index = 205)]
9746                        Mortal205(::core::primitive::u8),
9747                        #[codec(index = 206)]
9748                        Mortal206(::core::primitive::u8),
9749                        #[codec(index = 207)]
9750                        Mortal207(::core::primitive::u8),
9751                        #[codec(index = 208)]
9752                        Mortal208(::core::primitive::u8),
9753                        #[codec(index = 209)]
9754                        Mortal209(::core::primitive::u8),
9755                        #[codec(index = 210)]
9756                        Mortal210(::core::primitive::u8),
9757                        #[codec(index = 211)]
9758                        Mortal211(::core::primitive::u8),
9759                        #[codec(index = 212)]
9760                        Mortal212(::core::primitive::u8),
9761                        #[codec(index = 213)]
9762                        Mortal213(::core::primitive::u8),
9763                        #[codec(index = 214)]
9764                        Mortal214(::core::primitive::u8),
9765                        #[codec(index = 215)]
9766                        Mortal215(::core::primitive::u8),
9767                        #[codec(index = 216)]
9768                        Mortal216(::core::primitive::u8),
9769                        #[codec(index = 217)]
9770                        Mortal217(::core::primitive::u8),
9771                        #[codec(index = 218)]
9772                        Mortal218(::core::primitive::u8),
9773                        #[codec(index = 219)]
9774                        Mortal219(::core::primitive::u8),
9775                        #[codec(index = 220)]
9776                        Mortal220(::core::primitive::u8),
9777                        #[codec(index = 221)]
9778                        Mortal221(::core::primitive::u8),
9779                        #[codec(index = 222)]
9780                        Mortal222(::core::primitive::u8),
9781                        #[codec(index = 223)]
9782                        Mortal223(::core::primitive::u8),
9783                        #[codec(index = 224)]
9784                        Mortal224(::core::primitive::u8),
9785                        #[codec(index = 225)]
9786                        Mortal225(::core::primitive::u8),
9787                        #[codec(index = 226)]
9788                        Mortal226(::core::primitive::u8),
9789                        #[codec(index = 227)]
9790                        Mortal227(::core::primitive::u8),
9791                        #[codec(index = 228)]
9792                        Mortal228(::core::primitive::u8),
9793                        #[codec(index = 229)]
9794                        Mortal229(::core::primitive::u8),
9795                        #[codec(index = 230)]
9796                        Mortal230(::core::primitive::u8),
9797                        #[codec(index = 231)]
9798                        Mortal231(::core::primitive::u8),
9799                        #[codec(index = 232)]
9800                        Mortal232(::core::primitive::u8),
9801                        #[codec(index = 233)]
9802                        Mortal233(::core::primitive::u8),
9803                        #[codec(index = 234)]
9804                        Mortal234(::core::primitive::u8),
9805                        #[codec(index = 235)]
9806                        Mortal235(::core::primitive::u8),
9807                        #[codec(index = 236)]
9808                        Mortal236(::core::primitive::u8),
9809                        #[codec(index = 237)]
9810                        Mortal237(::core::primitive::u8),
9811                        #[codec(index = 238)]
9812                        Mortal238(::core::primitive::u8),
9813                        #[codec(index = 239)]
9814                        Mortal239(::core::primitive::u8),
9815                        #[codec(index = 240)]
9816                        Mortal240(::core::primitive::u8),
9817                        #[codec(index = 241)]
9818                        Mortal241(::core::primitive::u8),
9819                        #[codec(index = 242)]
9820                        Mortal242(::core::primitive::u8),
9821                        #[codec(index = 243)]
9822                        Mortal243(::core::primitive::u8),
9823                        #[codec(index = 244)]
9824                        Mortal244(::core::primitive::u8),
9825                        #[codec(index = 245)]
9826                        Mortal245(::core::primitive::u8),
9827                        #[codec(index = 246)]
9828                        Mortal246(::core::primitive::u8),
9829                        #[codec(index = 247)]
9830                        Mortal247(::core::primitive::u8),
9831                        #[codec(index = 248)]
9832                        Mortal248(::core::primitive::u8),
9833                        #[codec(index = 249)]
9834                        Mortal249(::core::primitive::u8),
9835                        #[codec(index = 250)]
9836                        Mortal250(::core::primitive::u8),
9837                        #[codec(index = 251)]
9838                        Mortal251(::core::primitive::u8),
9839                        #[codec(index = 252)]
9840                        Mortal252(::core::primitive::u8),
9841                        #[codec(index = 253)]
9842                        Mortal253(::core::primitive::u8),
9843                        #[codec(index = 254)]
9844                        Mortal254(::core::primitive::u8),
9845                        #[codec(index = 255)]
9846                        Mortal255(::core::primitive::u8),
9847                    }
9848                }
9849                pub mod header {
9850                    use super::runtime_types;
9851                    #[derive(
9852                        Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
9853                    )]
9854                    pub struct Header<_0> {
9855                        pub parent_hash: ::subxt::ext::subxt_core::utils::H256,
9856                        #[codec(compact)]
9857                        pub number: _0,
9858                        pub state_root: ::subxt::ext::subxt_core::utils::H256,
9859                        pub extrinsics_root: ::subxt::ext::subxt_core::utils::H256,
9860                        pub digest: runtime_types::sp_runtime::generic::digest::Digest,
9861                    }
9862                }
9863            }
9864            pub mod traits {
9865                use super::runtime_types;
9866                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9867                pub struct BlakeTwo256;
9868            }
9869            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9870            pub enum DispatchError {
9871                #[codec(index = 0)]
9872                Other,
9873                #[codec(index = 1)]
9874                CannotLookup,
9875                #[codec(index = 2)]
9876                BadOrigin,
9877                #[codec(index = 3)]
9878                Module(runtime_types::sp_runtime::ModuleError),
9879                #[codec(index = 4)]
9880                ConsumerRemaining,
9881                #[codec(index = 5)]
9882                NoProviders,
9883                #[codec(index = 6)]
9884                TooManyConsumers,
9885                #[codec(index = 7)]
9886                Token(runtime_types::sp_runtime::TokenError),
9887                #[codec(index = 8)]
9888                Arithmetic(runtime_types::sp_arithmetic::ArithmeticError),
9889                #[codec(index = 9)]
9890                Transactional(runtime_types::sp_runtime::TransactionalError),
9891                #[codec(index = 10)]
9892                Exhausted,
9893                #[codec(index = 11)]
9894                Corruption,
9895                #[codec(index = 12)]
9896                Unavailable,
9897                #[codec(index = 13)]
9898                RootNotAllowed,
9899            }
9900            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9901            pub struct DispatchErrorWithPostInfo<_0> {
9902                pub post_info: _0,
9903                pub error: runtime_types::sp_runtime::DispatchError,
9904            }
9905            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9906            pub struct ModuleError {
9907                pub index: ::core::primitive::u8,
9908                pub error: [::core::primitive::u8; 4usize],
9909            }
9910            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9911            pub enum MultiSignature {
9912                #[codec(index = 0)]
9913                Ed25519([::core::primitive::u8; 64usize]),
9914                #[codec(index = 1)]
9915                Sr25519([::core::primitive::u8; 64usize]),
9916                #[codec(index = 2)]
9917                Ecdsa([::core::primitive::u8; 65usize]),
9918            }
9919            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9920            pub enum TokenError {
9921                #[codec(index = 0)]
9922                FundsUnavailable,
9923                #[codec(index = 1)]
9924                OnlyProvider,
9925                #[codec(index = 2)]
9926                BelowMinimum,
9927                #[codec(index = 3)]
9928                CannotCreate,
9929                #[codec(index = 4)]
9930                UnknownAsset,
9931                #[codec(index = 5)]
9932                Frozen,
9933                #[codec(index = 6)]
9934                Unsupported,
9935                #[codec(index = 7)]
9936                CannotCreateHold,
9937                #[codec(index = 8)]
9938                NotExpendable,
9939                #[codec(index = 9)]
9940                Blocked,
9941            }
9942            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9943            pub enum TransactionalError {
9944                #[codec(index = 0)]
9945                LimitReached,
9946                #[codec(index = 1)]
9947                NoLayer,
9948            }
9949        }
9950        pub mod sp_session {
9951            use super::runtime_types;
9952            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9953            pub struct MembershipProof {
9954                pub session: ::core::primitive::u32,
9955                pub trie_nodes: ::subxt::ext::subxt_core::alloc::vec::Vec<
9956                    ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>,
9957                >,
9958                pub validator_count: ::core::primitive::u32,
9959            }
9960        }
9961        pub mod sp_staking {
9962            use super::runtime_types;
9963            pub mod offence {
9964                use super::runtime_types;
9965                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9966                pub struct OffenceDetails<_0, _1> {
9967                    pub offender: _1,
9968                    pub reporters: ::subxt::ext::subxt_core::alloc::vec::Vec<_0>,
9969                }
9970            }
9971            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9972            pub struct Exposure<_0, _1> {
9973                #[codec(compact)]
9974                pub total: _1,
9975                #[codec(compact)]
9976                pub own: _1,
9977                pub others: ::subxt::ext::subxt_core::alloc::vec::Vec<
9978                    runtime_types::sp_staking::IndividualExposure<_0, _1>,
9979                >,
9980            }
9981            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9982            pub struct ExposurePage<_0, _1> {
9983                #[codec(compact)]
9984                pub page_total: _1,
9985                pub others: ::subxt::ext::subxt_core::alloc::vec::Vec<
9986                    runtime_types::sp_staking::IndividualExposure<_0, _1>,
9987                >,
9988            }
9989            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9990            pub struct IndividualExposure<_0, _1> {
9991                pub who: _0,
9992                #[codec(compact)]
9993                pub value: _1,
9994            }
9995            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
9996            pub struct PagedExposureMetadata<_0> {
9997                #[codec(compact)]
9998                pub total: _0,
9999                #[codec(compact)]
10000                pub own: _0,
10001                pub nominator_count: ::core::primitive::u32,
10002                pub page_count: ::core::primitive::u32,
10003            }
10004        }
10005        pub mod sp_version {
10006            use super::runtime_types;
10007            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
10008            pub struct RuntimeVersion {
10009                pub spec_name: ::subxt::ext::subxt_core::alloc::string::String,
10010                pub impl_name: ::subxt::ext::subxt_core::alloc::string::String,
10011                pub authoring_version: ::core::primitive::u32,
10012                pub spec_version: ::core::primitive::u32,
10013                pub impl_version: ::core::primitive::u32,
10014                pub apis: ::subxt::ext::subxt_core::alloc::vec::Vec<(
10015                    [::core::primitive::u8; 8usize],
10016                    ::core::primitive::u32,
10017                )>,
10018                pub transaction_version: ::core::primitive::u32,
10019                pub state_version: ::core::primitive::u8,
10020            }
10021        }
10022        pub mod sp_weights {
10023            use super::runtime_types;
10024            pub mod weight_v2 {
10025                use super::runtime_types;
10026                #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
10027                pub struct Weight {
10028                    #[codec(compact)]
10029                    pub ref_time: ::core::primitive::u64,
10030                    #[codec(compact)]
10031                    pub proof_size: ::core::primitive::u64,
10032                }
10033            }
10034            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
10035            pub struct RuntimeDbWeight {
10036                pub read: ::core::primitive::u64,
10037                pub write: ::core::primitive::u64,
10038            }
10039        }
10040        pub mod vara_runtime {
10041            use super::runtime_types;
10042            pub mod governance {
10043                use super::runtime_types;
10044                pub mod origins {
10045                    use super::runtime_types;
10046                    pub mod pallet_custom_origins {
10047                        use super::runtime_types;
10048                        #[derive(
10049                            Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode,
10050                        )]
10051                        pub enum Origin {
10052                            #[codec(index = 0)]
10053                            StakingAdmin,
10054                            #[codec(index = 1)]
10055                            Treasurer,
10056                            #[codec(index = 2)]
10057                            FellowshipAdmin,
10058                            #[codec(index = 3)]
10059                            GeneralAdmin,
10060                            #[codec(index = 4)]
10061                            ReferendumCanceller,
10062                            #[codec(index = 5)]
10063                            ReferendumKiller,
10064                            #[codec(index = 6)]
10065                            SmallTipper,
10066                            #[codec(index = 7)]
10067                            BigTipper,
10068                            #[codec(index = 8)]
10069                            SmallSpender,
10070                            #[codec(index = 9)]
10071                            MediumSpender,
10072                            #[codec(index = 10)]
10073                            BigSpender,
10074                            #[codec(index = 11)]
10075                            WhitelistedCaller,
10076                            #[codec(index = 12)]
10077                            FellowshipInitiates,
10078                            #[codec(index = 13)]
10079                            Fellows,
10080                            #[codec(index = 14)]
10081                            FellowshipExperts,
10082                            #[codec(index = 15)]
10083                            FellowshipMasters,
10084                            #[codec(index = 16)]
10085                            Fellowship1Dan,
10086                            #[codec(index = 17)]
10087                            Fellowship2Dan,
10088                            #[codec(index = 18)]
10089                            Fellowship3Dan,
10090                            #[codec(index = 19)]
10091                            Fellowship4Dan,
10092                            #[codec(index = 20)]
10093                            Fellowship5Dan,
10094                            #[codec(index = 21)]
10095                            Fellowship6Dan,
10096                            #[codec(index = 22)]
10097                            Fellowship7Dan,
10098                            #[codec(index = 23)]
10099                            Fellowship8Dan,
10100                            #[codec(index = 24)]
10101                            Fellowship9Dan,
10102                        }
10103                    }
10104                }
10105            }
10106            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
10107            pub struct CustomCheckNonce(#[codec(compact)] pub ::core::primitive::u32);
10108            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
10109            pub struct NposSolution16 {
10110                pub votes1: ::subxt::ext::subxt_core::alloc::vec::Vec<(
10111                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u32>,
10112                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10113                )>,
10114                pub votes2: ::subxt::ext::subxt_core::alloc::vec::Vec<(
10115                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u32>,
10116                    (
10117                        ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10118                        ::subxt::ext::subxt_core::ext::codec::Compact<
10119                            runtime_types::sp_arithmetic::per_things::PerU16,
10120                        >,
10121                    ),
10122                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10123                )>,
10124                pub votes3: ::subxt::ext::subxt_core::alloc::vec::Vec<(
10125                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u32>,
10126                    [(
10127                        ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10128                        ::subxt::ext::subxt_core::ext::codec::Compact<
10129                            runtime_types::sp_arithmetic::per_things::PerU16,
10130                        >,
10131                    ); 2usize],
10132                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10133                )>,
10134                pub votes4: ::subxt::ext::subxt_core::alloc::vec::Vec<(
10135                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u32>,
10136                    [(
10137                        ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10138                        ::subxt::ext::subxt_core::ext::codec::Compact<
10139                            runtime_types::sp_arithmetic::per_things::PerU16,
10140                        >,
10141                    ); 3usize],
10142                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10143                )>,
10144                pub votes5: ::subxt::ext::subxt_core::alloc::vec::Vec<(
10145                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u32>,
10146                    [(
10147                        ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10148                        ::subxt::ext::subxt_core::ext::codec::Compact<
10149                            runtime_types::sp_arithmetic::per_things::PerU16,
10150                        >,
10151                    ); 4usize],
10152                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10153                )>,
10154                pub votes6: ::subxt::ext::subxt_core::alloc::vec::Vec<(
10155                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u32>,
10156                    [(
10157                        ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10158                        ::subxt::ext::subxt_core::ext::codec::Compact<
10159                            runtime_types::sp_arithmetic::per_things::PerU16,
10160                        >,
10161                    ); 5usize],
10162                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10163                )>,
10164                pub votes7: ::subxt::ext::subxt_core::alloc::vec::Vec<(
10165                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u32>,
10166                    [(
10167                        ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10168                        ::subxt::ext::subxt_core::ext::codec::Compact<
10169                            runtime_types::sp_arithmetic::per_things::PerU16,
10170                        >,
10171                    ); 6usize],
10172                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10173                )>,
10174                pub votes8: ::subxt::ext::subxt_core::alloc::vec::Vec<(
10175                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u32>,
10176                    [(
10177                        ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10178                        ::subxt::ext::subxt_core::ext::codec::Compact<
10179                            runtime_types::sp_arithmetic::per_things::PerU16,
10180                        >,
10181                    ); 7usize],
10182                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10183                )>,
10184                pub votes9: ::subxt::ext::subxt_core::alloc::vec::Vec<(
10185                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u32>,
10186                    [(
10187                        ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10188                        ::subxt::ext::subxt_core::ext::codec::Compact<
10189                            runtime_types::sp_arithmetic::per_things::PerU16,
10190                        >,
10191                    ); 8usize],
10192                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10193                )>,
10194                pub votes10: ::subxt::ext::subxt_core::alloc::vec::Vec<(
10195                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u32>,
10196                    [(
10197                        ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10198                        ::subxt::ext::subxt_core::ext::codec::Compact<
10199                            runtime_types::sp_arithmetic::per_things::PerU16,
10200                        >,
10201                    ); 9usize],
10202                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10203                )>,
10204                pub votes11: ::subxt::ext::subxt_core::alloc::vec::Vec<(
10205                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u32>,
10206                    [(
10207                        ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10208                        ::subxt::ext::subxt_core::ext::codec::Compact<
10209                            runtime_types::sp_arithmetic::per_things::PerU16,
10210                        >,
10211                    ); 10usize],
10212                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10213                )>,
10214                pub votes12: ::subxt::ext::subxt_core::alloc::vec::Vec<(
10215                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u32>,
10216                    [(
10217                        ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10218                        ::subxt::ext::subxt_core::ext::codec::Compact<
10219                            runtime_types::sp_arithmetic::per_things::PerU16,
10220                        >,
10221                    ); 11usize],
10222                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10223                )>,
10224                pub votes13: ::subxt::ext::subxt_core::alloc::vec::Vec<(
10225                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u32>,
10226                    [(
10227                        ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10228                        ::subxt::ext::subxt_core::ext::codec::Compact<
10229                            runtime_types::sp_arithmetic::per_things::PerU16,
10230                        >,
10231                    ); 12usize],
10232                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10233                )>,
10234                pub votes14: ::subxt::ext::subxt_core::alloc::vec::Vec<(
10235                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u32>,
10236                    [(
10237                        ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10238                        ::subxt::ext::subxt_core::ext::codec::Compact<
10239                            runtime_types::sp_arithmetic::per_things::PerU16,
10240                        >,
10241                    ); 13usize],
10242                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10243                )>,
10244                pub votes15: ::subxt::ext::subxt_core::alloc::vec::Vec<(
10245                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u32>,
10246                    [(
10247                        ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10248                        ::subxt::ext::subxt_core::ext::codec::Compact<
10249                            runtime_types::sp_arithmetic::per_things::PerU16,
10250                        >,
10251                    ); 14usize],
10252                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10253                )>,
10254                pub votes16: ::subxt::ext::subxt_core::alloc::vec::Vec<(
10255                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u32>,
10256                    [(
10257                        ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10258                        ::subxt::ext::subxt_core::ext::codec::Compact<
10259                            runtime_types::sp_arithmetic::per_things::PerU16,
10260                        >,
10261                    ); 15usize],
10262                    ::subxt::ext::subxt_core::ext::codec::Compact<::core::primitive::u16>,
10263                )>,
10264            }
10265            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
10266            pub enum OriginCaller {
10267                #[codec(index = 0)]
10268                system(
10269                    runtime_types::frame_support::dispatch::RawOrigin<
10270                        ::subxt::ext::subxt_core::utils::AccountId32,
10271                    >,
10272                ),
10273                #[codec(index = 20)]
10274                Origins(
10275                    runtime_types::vara_runtime::governance::origins::pallet_custom_origins::Origin,
10276                ),
10277                #[codec(index = 2)]
10278                Void(runtime_types::sp_core::Void),
10279            }
10280            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
10281            pub enum ProxyType {
10282                #[codec(index = 0)]
10283                Any,
10284                #[codec(index = 1)]
10285                NonTransfer,
10286                #[codec(index = 2)]
10287                Governance,
10288                #[codec(index = 3)]
10289                Staking,
10290                #[codec(index = 4)]
10291                IdentityJudgement,
10292                #[codec(index = 5)]
10293                CancelProxy,
10294            }
10295            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
10296            pub struct Runtime;
10297            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
10298            pub enum RuntimeCall {
10299                #[codec(index = 0)]
10300                System(runtime_types::frame_system::pallet::Call),
10301                #[codec(index = 1)]
10302                Timestamp(runtime_types::pallet_timestamp::pallet::Call),
10303                #[codec(index = 3)]
10304                Babe(runtime_types::pallet_babe::pallet::Call),
10305                #[codec(index = 4)]
10306                Grandpa(runtime_types::pallet_grandpa::pallet::Call),
10307                #[codec(index = 5)]
10308                Balances(runtime_types::pallet_balances::pallet::Call),
10309                #[codec(index = 7)]
10310                Session(runtime_types::pallet_session::pallet::Call),
10311                #[codec(index = 8)]
10312                Utility(runtime_types::pallet_utility::pallet::Call),
10313                #[codec(index = 10)]
10314                Vesting(runtime_types::pallet_vesting::pallet::Call),
10315                #[codec(index = 11)]
10316                BagsList(runtime_types::pallet_bags_list::pallet::Call),
10317                #[codec(index = 12)]
10318                ImOnline(runtime_types::pallet_im_online::pallet::Call),
10319                #[codec(index = 13)]
10320                Staking(runtime_types::pallet_staking::pallet::pallet::Call),
10321                #[codec(index = 14)]
10322                Treasury(runtime_types::pallet_treasury::pallet::Call),
10323                #[codec(index = 16)]
10324                ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Call),
10325                #[codec(index = 17)]
10326                Referenda(runtime_types::pallet_referenda::pallet::Call),
10327                #[codec(index = 18)]
10328                FellowshipCollective(runtime_types::pallet_ranked_collective::pallet::Call),
10329                #[codec(index = 19)]
10330                FellowshipReferenda(runtime_types::pallet_referenda::pallet::Call),
10331                #[codec(index = 21)]
10332                Whitelist(runtime_types::pallet_whitelist::pallet::Call),
10333                #[codec(index = 22)]
10334                Scheduler(runtime_types::pallet_scheduler::pallet::Call),
10335                #[codec(index = 23)]
10336                Preimage(runtime_types::pallet_preimage::pallet::Call),
10337                #[codec(index = 24)]
10338                Identity(runtime_types::pallet_identity::pallet::Call),
10339                #[codec(index = 25)]
10340                Proxy(runtime_types::pallet_proxy::pallet::Call),
10341                #[codec(index = 26)]
10342                Multisig(runtime_types::pallet_multisig::pallet::Call),
10343                #[codec(index = 27)]
10344                ElectionProviderMultiPhase(
10345                    runtime_types::pallet_election_provider_multi_phase::pallet::Call,
10346                ),
10347                #[codec(index = 29)]
10348                Bounties(runtime_types::pallet_bounties::pallet::Call),
10349                #[codec(index = 30)]
10350                ChildBounties(runtime_types::pallet_child_bounties::pallet::Call),
10351                #[codec(index = 31)]
10352                NominationPools(runtime_types::pallet_nomination_pools::pallet::Call),
10353                #[codec(index = 99)]
10354                Sudo(runtime_types::pallet_sudo::pallet::Call),
10355                #[codec(index = 104)]
10356                Gear(runtime_types::pallet_gear::pallet::Call),
10357                #[codec(index = 106)]
10358                StakingRewards(runtime_types::pallet_gear_staking_rewards::pallet::Call),
10359                #[codec(index = 107)]
10360                GearVoucher(runtime_types::pallet_gear_voucher::pallet::Call),
10361                #[codec(index = 110)]
10362                GearEthBridge(runtime_types::pallet_gear_eth_bridge::pallet::Call),
10363                #[codec(index = 199)]
10364                GearDebug(runtime_types::pallet_gear_debug::pallet::Call),
10365            }
10366            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
10367            pub enum RuntimeError {
10368                #[codec(index = 0)]
10369                System(runtime_types::frame_system::pallet::Error),
10370                #[codec(index = 3)]
10371                Babe(runtime_types::pallet_babe::pallet::Error),
10372                #[codec(index = 4)]
10373                Grandpa(runtime_types::pallet_grandpa::pallet::Error),
10374                #[codec(index = 5)]
10375                Balances(runtime_types::pallet_balances::pallet::Error),
10376                #[codec(index = 7)]
10377                Session(runtime_types::pallet_session::pallet::Error),
10378                #[codec(index = 8)]
10379                Utility(runtime_types::pallet_utility::pallet::Error),
10380                #[codec(index = 10)]
10381                Vesting(runtime_types::pallet_vesting::pallet::Error),
10382                #[codec(index = 11)]
10383                BagsList(runtime_types::pallet_bags_list::pallet::Error),
10384                #[codec(index = 12)]
10385                ImOnline(runtime_types::pallet_im_online::pallet::Error),
10386                #[codec(index = 13)]
10387                Staking(runtime_types::pallet_staking::pallet::pallet::Error),
10388                #[codec(index = 14)]
10389                Treasury(runtime_types::pallet_treasury::pallet::Error),
10390                #[codec(index = 16)]
10391                ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Error),
10392                #[codec(index = 17)]
10393                Referenda(runtime_types::pallet_referenda::pallet::Error),
10394                #[codec(index = 18)]
10395                FellowshipCollective(runtime_types::pallet_ranked_collective::pallet::Error),
10396                #[codec(index = 19)]
10397                FellowshipReferenda(runtime_types::pallet_referenda::pallet::Error),
10398                #[codec(index = 21)]
10399                Whitelist(runtime_types::pallet_whitelist::pallet::Error),
10400                #[codec(index = 22)]
10401                Scheduler(runtime_types::pallet_scheduler::pallet::Error),
10402                #[codec(index = 23)]
10403                Preimage(runtime_types::pallet_preimage::pallet::Error),
10404                #[codec(index = 24)]
10405                Identity(runtime_types::pallet_identity::pallet::Error),
10406                #[codec(index = 25)]
10407                Proxy(runtime_types::pallet_proxy::pallet::Error),
10408                #[codec(index = 26)]
10409                Multisig(runtime_types::pallet_multisig::pallet::Error),
10410                #[codec(index = 27)]
10411                ElectionProviderMultiPhase(
10412                    runtime_types::pallet_election_provider_multi_phase::pallet::Error,
10413                ),
10414                #[codec(index = 29)]
10415                Bounties(runtime_types::pallet_bounties::pallet::Error),
10416                #[codec(index = 30)]
10417                ChildBounties(runtime_types::pallet_child_bounties::pallet::Error),
10418                #[codec(index = 31)]
10419                NominationPools(runtime_types::pallet_nomination_pools::pallet::Error),
10420                #[codec(index = 99)]
10421                Sudo(runtime_types::pallet_sudo::pallet::Error),
10422                #[codec(index = 100)]
10423                GearProgram(runtime_types::pallet_gear_program::pallet::Error),
10424                #[codec(index = 101)]
10425                GearMessenger(runtime_types::pallet_gear_messenger::pallet::Error),
10426                #[codec(index = 102)]
10427                GearScheduler(runtime_types::pallet_gear_scheduler::pallet::Error),
10428                #[codec(index = 103)]
10429                GearGas(runtime_types::pallet_gear_gas::pallet::Error),
10430                #[codec(index = 104)]
10431                Gear(runtime_types::pallet_gear::pallet::Error),
10432                #[codec(index = 106)]
10433                StakingRewards(runtime_types::pallet_gear_staking_rewards::pallet::Error),
10434                #[codec(index = 107)]
10435                GearVoucher(runtime_types::pallet_gear_voucher::pallet::Error),
10436                #[codec(index = 108)]
10437                GearBank(runtime_types::pallet_gear_bank::pallet::Error),
10438                #[codec(index = 110)]
10439                GearEthBridge(runtime_types::pallet_gear_eth_bridge::pallet::Error),
10440                #[codec(index = 199)]
10441                GearDebug(runtime_types::pallet_gear_debug::pallet::Error),
10442            }
10443            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
10444            pub enum RuntimeEvent {
10445                #[codec(index = 0)]
10446                System(runtime_types::frame_system::pallet::Event),
10447                #[codec(index = 4)]
10448                Grandpa(runtime_types::pallet_grandpa::pallet::Event),
10449                #[codec(index = 5)]
10450                Balances(runtime_types::pallet_balances::pallet::Event),
10451                #[codec(index = 6)]
10452                TransactionPayment(runtime_types::pallet_transaction_payment::pallet::Event),
10453                #[codec(index = 7)]
10454                Session(runtime_types::pallet_session::pallet::Event),
10455                #[codec(index = 8)]
10456                Utility(runtime_types::pallet_utility::pallet::Event),
10457                #[codec(index = 10)]
10458                Vesting(runtime_types::pallet_vesting::pallet::Event),
10459                #[codec(index = 11)]
10460                BagsList(runtime_types::pallet_bags_list::pallet::Event),
10461                #[codec(index = 12)]
10462                ImOnline(runtime_types::pallet_im_online::pallet::Event),
10463                #[codec(index = 13)]
10464                Staking(runtime_types::pallet_staking::pallet::pallet::Event),
10465                #[codec(index = 14)]
10466                Treasury(runtime_types::pallet_treasury::pallet::Event),
10467                #[codec(index = 16)]
10468                ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Event),
10469                #[codec(index = 17)]
10470                Referenda(runtime_types::pallet_referenda::pallet::Event1),
10471                #[codec(index = 18)]
10472                FellowshipCollective(runtime_types::pallet_ranked_collective::pallet::Event),
10473                #[codec(index = 19)]
10474                FellowshipReferenda(runtime_types::pallet_referenda::pallet::Event2),
10475                #[codec(index = 21)]
10476                Whitelist(runtime_types::pallet_whitelist::pallet::Event),
10477                #[codec(index = 22)]
10478                Scheduler(runtime_types::pallet_scheduler::pallet::Event),
10479                #[codec(index = 23)]
10480                Preimage(runtime_types::pallet_preimage::pallet::Event),
10481                #[codec(index = 24)]
10482                Identity(runtime_types::pallet_identity::pallet::Event),
10483                #[codec(index = 25)]
10484                Proxy(runtime_types::pallet_proxy::pallet::Event),
10485                #[codec(index = 26)]
10486                Multisig(runtime_types::pallet_multisig::pallet::Event),
10487                #[codec(index = 27)]
10488                ElectionProviderMultiPhase(
10489                    runtime_types::pallet_election_provider_multi_phase::pallet::Event,
10490                ),
10491                #[codec(index = 28)]
10492                Offences(runtime_types::pallet_offences::pallet::Event),
10493                #[codec(index = 29)]
10494                Bounties(runtime_types::pallet_bounties::pallet::Event),
10495                #[codec(index = 30)]
10496                ChildBounties(runtime_types::pallet_child_bounties::pallet::Event),
10497                #[codec(index = 31)]
10498                NominationPools(runtime_types::pallet_nomination_pools::pallet::Event),
10499                #[codec(index = 99)]
10500                Sudo(runtime_types::pallet_sudo::pallet::Event),
10501                #[codec(index = 104)]
10502                Gear(runtime_types::pallet_gear::pallet::Event),
10503                #[codec(index = 106)]
10504                StakingRewards(runtime_types::pallet_gear_staking_rewards::pallet::Event),
10505                #[codec(index = 107)]
10506                GearVoucher(runtime_types::pallet_gear_voucher::pallet::Event),
10507                #[codec(index = 110)]
10508                GearEthBridge(runtime_types::pallet_gear_eth_bridge::pallet::Event),
10509                #[codec(index = 199)]
10510                GearDebug(runtime_types::pallet_gear_debug::pallet::Event),
10511            }
10512            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
10513            pub enum RuntimeFreezeReason {
10514                #[codec(index = 31)]
10515                NominationPools(runtime_types::pallet_nomination_pools::pallet::FreezeReason),
10516            }
10517            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
10518            pub enum RuntimeHoldReason {
10519                #[codec(index = 23)]
10520                Preimage(runtime_types::pallet_preimage::pallet::HoldReason),
10521            }
10522            #[derive(Debug, crate::gp::Decode, crate::gp::DecodeAsType, crate::gp::Encode)]
10523            pub struct SessionKeys {
10524                pub babe: runtime_types::sp_consensus_babe::app::Public,
10525                pub grandpa: runtime_types::sp_consensus_grandpa::app::Public,
10526                pub im_online: runtime_types::pallet_im_online::sr25519::app_sr25519::Public,
10527                pub authority_discovery: runtime_types::sp_authority_discovery::app::Public,
10528            }
10529        }
10530    }
10531}
10532pub mod calls {
10533    #[doc = r" Show the call info."]
10534    pub trait CallInfo {
10535        const PALLET: &'static str;
10536        #[doc = r" returns call name."]
10537        fn call_name(&self) -> &'static str;
10538    }
10539    #[doc = "Calls of pallet `Babe`."]
10540    pub enum BabeCall {
10541        ReportEquivocation,
10542        ReportEquivocationUnsigned,
10543        PlanConfigChange,
10544    }
10545    impl CallInfo for BabeCall {
10546        const PALLET: &'static str = "Babe";
10547        fn call_name(&self) -> &'static str {
10548            match self {
10549                Self::ReportEquivocation => "report_equivocation",
10550                Self::ReportEquivocationUnsigned => "report_equivocation_unsigned",
10551                Self::PlanConfigChange => "plan_config_change",
10552            }
10553        }
10554    }
10555    #[doc = "Calls of pallet `BagsList`."]
10556    pub enum BagsListCall {
10557        Rebag,
10558        PutInFrontOf,
10559        PutInFrontOfOther,
10560    }
10561    impl CallInfo for BagsListCall {
10562        const PALLET: &'static str = "BagsList";
10563        fn call_name(&self) -> &'static str {
10564            match self {
10565                Self::Rebag => "rebag",
10566                Self::PutInFrontOf => "put_in_front_of",
10567                Self::PutInFrontOfOther => "put_in_front_of_other",
10568            }
10569        }
10570    }
10571    #[doc = "Calls of pallet `Balances`."]
10572    pub enum BalancesCall {
10573        TransferAllowDeath,
10574        ForceTransfer,
10575        TransferKeepAlive,
10576        TransferAll,
10577        ForceUnreserve,
10578        UpgradeAccounts,
10579        ForceSetBalance,
10580        ForceAdjustTotalIssuance,
10581        Burn,
10582    }
10583    impl CallInfo for BalancesCall {
10584        const PALLET: &'static str = "Balances";
10585        fn call_name(&self) -> &'static str {
10586            match self {
10587                Self::TransferAllowDeath => "transfer_allow_death",
10588                Self::ForceTransfer => "force_transfer",
10589                Self::TransferKeepAlive => "transfer_keep_alive",
10590                Self::TransferAll => "transfer_all",
10591                Self::ForceUnreserve => "force_unreserve",
10592                Self::UpgradeAccounts => "upgrade_accounts",
10593                Self::ForceSetBalance => "force_set_balance",
10594                Self::ForceAdjustTotalIssuance => "force_adjust_total_issuance",
10595                Self::Burn => "burn",
10596            }
10597        }
10598    }
10599    #[doc = "Calls of pallet `Bounties`."]
10600    pub enum BountiesCall {
10601        ProposeBounty,
10602        ApproveBounty,
10603        ProposeCurator,
10604        UnassignCurator,
10605        AcceptCurator,
10606        AwardBounty,
10607        ClaimBounty,
10608        CloseBounty,
10609        ExtendBountyExpiry,
10610    }
10611    impl CallInfo for BountiesCall {
10612        const PALLET: &'static str = "Bounties";
10613        fn call_name(&self) -> &'static str {
10614            match self {
10615                Self::ProposeBounty => "propose_bounty",
10616                Self::ApproveBounty => "approve_bounty",
10617                Self::ProposeCurator => "propose_curator",
10618                Self::UnassignCurator => "unassign_curator",
10619                Self::AcceptCurator => "accept_curator",
10620                Self::AwardBounty => "award_bounty",
10621                Self::ClaimBounty => "claim_bounty",
10622                Self::CloseBounty => "close_bounty",
10623                Self::ExtendBountyExpiry => "extend_bounty_expiry",
10624            }
10625        }
10626    }
10627    #[doc = "Calls of pallet `ChildBounties`."]
10628    pub enum ChildBountiesCall {
10629        AddChildBounty,
10630        ProposeCurator,
10631        AcceptCurator,
10632        UnassignCurator,
10633        AwardChildBounty,
10634        ClaimChildBounty,
10635        CloseChildBounty,
10636    }
10637    impl CallInfo for ChildBountiesCall {
10638        const PALLET: &'static str = "ChildBounties";
10639        fn call_name(&self) -> &'static str {
10640            match self {
10641                Self::AddChildBounty => "add_child_bounty",
10642                Self::ProposeCurator => "propose_curator",
10643                Self::AcceptCurator => "accept_curator",
10644                Self::UnassignCurator => "unassign_curator",
10645                Self::AwardChildBounty => "award_child_bounty",
10646                Self::ClaimChildBounty => "claim_child_bounty",
10647                Self::CloseChildBounty => "close_child_bounty",
10648            }
10649        }
10650    }
10651    #[doc = "Calls of pallet `ConvictionVoting`."]
10652    pub enum ConvictionVotingCall {
10653        Vote,
10654        Delegate,
10655        Undelegate,
10656        Unlock,
10657        RemoveVote,
10658        RemoveOtherVote,
10659    }
10660    impl CallInfo for ConvictionVotingCall {
10661        const PALLET: &'static str = "ConvictionVoting";
10662        fn call_name(&self) -> &'static str {
10663            match self {
10664                Self::Vote => "vote",
10665                Self::Delegate => "delegate",
10666                Self::Undelegate => "undelegate",
10667                Self::Unlock => "unlock",
10668                Self::RemoveVote => "remove_vote",
10669                Self::RemoveOtherVote => "remove_other_vote",
10670            }
10671        }
10672    }
10673    #[doc = "Calls of pallet `ElectionProviderMultiPhase`."]
10674    pub enum ElectionProviderMultiPhaseCall {
10675        SubmitUnsigned,
10676        SetMinimumUntrustedScore,
10677        SetEmergencyElectionResult,
10678        Submit,
10679        GovernanceFallback,
10680    }
10681    impl CallInfo for ElectionProviderMultiPhaseCall {
10682        const PALLET: &'static str = "ElectionProviderMultiPhase";
10683        fn call_name(&self) -> &'static str {
10684            match self {
10685                Self::SubmitUnsigned => "submit_unsigned",
10686                Self::SetMinimumUntrustedScore => "set_minimum_untrusted_score",
10687                Self::SetEmergencyElectionResult => "set_emergency_election_result",
10688                Self::Submit => "submit",
10689                Self::GovernanceFallback => "governance_fallback",
10690            }
10691        }
10692    }
10693    #[doc = "Calls of pallet `FellowshipCollective`."]
10694    pub enum FellowshipCollectiveCall {
10695        AddMember,
10696        PromoteMember,
10697        DemoteMember,
10698        RemoveMember,
10699        Vote,
10700        CleanupPoll,
10701        ExchangeMember,
10702    }
10703    impl CallInfo for FellowshipCollectiveCall {
10704        const PALLET: &'static str = "FellowshipCollective";
10705        fn call_name(&self) -> &'static str {
10706            match self {
10707                Self::AddMember => "add_member",
10708                Self::PromoteMember => "promote_member",
10709                Self::DemoteMember => "demote_member",
10710                Self::RemoveMember => "remove_member",
10711                Self::Vote => "vote",
10712                Self::CleanupPoll => "cleanup_poll",
10713                Self::ExchangeMember => "exchange_member",
10714            }
10715        }
10716    }
10717    #[doc = "Calls of pallet `FellowshipReferenda`."]
10718    pub enum FellowshipReferendaCall {
10719        Submit,
10720        PlaceDecisionDeposit,
10721        RefundDecisionDeposit,
10722        Cancel,
10723        Kill,
10724        NudgeReferendum,
10725        OneFewerDeciding,
10726        RefundSubmissionDeposit,
10727        SetMetadata,
10728    }
10729    impl CallInfo for FellowshipReferendaCall {
10730        const PALLET: &'static str = "FellowshipReferenda";
10731        fn call_name(&self) -> &'static str {
10732            match self {
10733                Self::Submit => "submit",
10734                Self::PlaceDecisionDeposit => "place_decision_deposit",
10735                Self::RefundDecisionDeposit => "refund_decision_deposit",
10736                Self::Cancel => "cancel",
10737                Self::Kill => "kill",
10738                Self::NudgeReferendum => "nudge_referendum",
10739                Self::OneFewerDeciding => "one_fewer_deciding",
10740                Self::RefundSubmissionDeposit => "refund_submission_deposit",
10741                Self::SetMetadata => "set_metadata",
10742            }
10743        }
10744    }
10745    #[doc = "Calls of pallet `Gear`."]
10746    pub enum GearCall {
10747        UploadCode,
10748        UploadProgram,
10749        CreateProgram,
10750        SendMessage,
10751        SendReply,
10752        ClaimValue,
10753        Run,
10754        SetExecuteInherent,
10755        ClaimValueToInheritor,
10756    }
10757    impl CallInfo for GearCall {
10758        const PALLET: &'static str = "Gear";
10759        fn call_name(&self) -> &'static str {
10760            match self {
10761                Self::UploadCode => "upload_code",
10762                Self::UploadProgram => "upload_program",
10763                Self::CreateProgram => "create_program",
10764                Self::SendMessage => "send_message",
10765                Self::SendReply => "send_reply",
10766                Self::ClaimValue => "claim_value",
10767                Self::Run => "run",
10768                Self::SetExecuteInherent => "set_execute_inherent",
10769                Self::ClaimValueToInheritor => "claim_value_to_inheritor",
10770            }
10771        }
10772    }
10773    #[doc = "Calls of pallet `GearDebug`."]
10774    pub enum GearDebugCall {
10775        EnableDebugMode,
10776        ExhaustBlockResources,
10777    }
10778    impl CallInfo for GearDebugCall {
10779        const PALLET: &'static str = "GearDebug";
10780        fn call_name(&self) -> &'static str {
10781            match self {
10782                Self::EnableDebugMode => "enable_debug_mode",
10783                Self::ExhaustBlockResources => "exhaust_block_resources",
10784            }
10785        }
10786    }
10787    #[doc = "Calls of pallet `GearEthBridge`."]
10788    pub enum GearEthBridgeCall {
10789        Pause,
10790        Unpause,
10791        SendEthMessage,
10792        SetFee,
10793    }
10794    impl CallInfo for GearEthBridgeCall {
10795        const PALLET: &'static str = "GearEthBridge";
10796        fn call_name(&self) -> &'static str {
10797            match self {
10798                Self::Pause => "pause",
10799                Self::Unpause => "unpause",
10800                Self::SendEthMessage => "send_eth_message",
10801                Self::SetFee => "set_fee",
10802            }
10803        }
10804    }
10805    #[doc = "Calls of pallet `GearVoucher`."]
10806    pub enum GearVoucherCall {
10807        Issue,
10808        Call,
10809        Revoke,
10810        Update,
10811        Decline,
10812    }
10813    impl CallInfo for GearVoucherCall {
10814        const PALLET: &'static str = "GearVoucher";
10815        fn call_name(&self) -> &'static str {
10816            match self {
10817                Self::Issue => "issue",
10818                Self::Call => "call",
10819                Self::Revoke => "revoke",
10820                Self::Update => "update",
10821                Self::Decline => "decline",
10822            }
10823        }
10824    }
10825    #[doc = "Calls of pallet `Grandpa`."]
10826    pub enum GrandpaCall {
10827        ReportEquivocation,
10828        ReportEquivocationUnsigned,
10829        NoteStalled,
10830    }
10831    impl CallInfo for GrandpaCall {
10832        const PALLET: &'static str = "Grandpa";
10833        fn call_name(&self) -> &'static str {
10834            match self {
10835                Self::ReportEquivocation => "report_equivocation",
10836                Self::ReportEquivocationUnsigned => "report_equivocation_unsigned",
10837                Self::NoteStalled => "note_stalled",
10838            }
10839        }
10840    }
10841    #[doc = "Calls of pallet `Identity`."]
10842    pub enum IdentityCall {
10843        AddRegistrar,
10844        SetIdentity,
10845        SetSubs,
10846        ClearIdentity,
10847        RequestJudgement,
10848        CancelRequest,
10849        SetFee,
10850        SetAccountId,
10851        SetFields,
10852        ProvideJudgement,
10853        KillIdentity,
10854        AddSub,
10855        RenameSub,
10856        RemoveSub,
10857        QuitSub,
10858        AddUsernameAuthority,
10859        RemoveUsernameAuthority,
10860        SetUsernameFor,
10861        AcceptUsername,
10862        RemoveExpiredApproval,
10863        SetPrimaryUsername,
10864        RemoveDanglingUsername,
10865    }
10866    impl CallInfo for IdentityCall {
10867        const PALLET: &'static str = "Identity";
10868        fn call_name(&self) -> &'static str {
10869            match self {
10870                Self::AddRegistrar => "add_registrar",
10871                Self::SetIdentity => "set_identity",
10872                Self::SetSubs => "set_subs",
10873                Self::ClearIdentity => "clear_identity",
10874                Self::RequestJudgement => "request_judgement",
10875                Self::CancelRequest => "cancel_request",
10876                Self::SetFee => "set_fee",
10877                Self::SetAccountId => "set_account_id",
10878                Self::SetFields => "set_fields",
10879                Self::ProvideJudgement => "provide_judgement",
10880                Self::KillIdentity => "kill_identity",
10881                Self::AddSub => "add_sub",
10882                Self::RenameSub => "rename_sub",
10883                Self::RemoveSub => "remove_sub",
10884                Self::QuitSub => "quit_sub",
10885                Self::AddUsernameAuthority => "add_username_authority",
10886                Self::RemoveUsernameAuthority => "remove_username_authority",
10887                Self::SetUsernameFor => "set_username_for",
10888                Self::AcceptUsername => "accept_username",
10889                Self::RemoveExpiredApproval => "remove_expired_approval",
10890                Self::SetPrimaryUsername => "set_primary_username",
10891                Self::RemoveDanglingUsername => "remove_dangling_username",
10892            }
10893        }
10894    }
10895    #[doc = "Calls of pallet `ImOnline`."]
10896    pub enum ImOnlineCall {
10897        Heartbeat,
10898    }
10899    impl CallInfo for ImOnlineCall {
10900        const PALLET: &'static str = "ImOnline";
10901        fn call_name(&self) -> &'static str {
10902            match self {
10903                Self::Heartbeat => "heartbeat",
10904            }
10905        }
10906    }
10907    #[doc = "Calls of pallet `Multisig`."]
10908    pub enum MultisigCall {
10909        AsMultiThreshold1,
10910        AsMulti,
10911        ApproveAsMulti,
10912        CancelAsMulti,
10913    }
10914    impl CallInfo for MultisigCall {
10915        const PALLET: &'static str = "Multisig";
10916        fn call_name(&self) -> &'static str {
10917            match self {
10918                Self::AsMultiThreshold1 => "as_multi_threshold_1",
10919                Self::AsMulti => "as_multi",
10920                Self::ApproveAsMulti => "approve_as_multi",
10921                Self::CancelAsMulti => "cancel_as_multi",
10922            }
10923        }
10924    }
10925    #[doc = "Calls of pallet `NominationPools`."]
10926    pub enum NominationPoolsCall {
10927        Join,
10928        BondExtra,
10929        ClaimPayout,
10930        Unbond,
10931        PoolWithdrawUnbonded,
10932        WithdrawUnbonded,
10933        Create,
10934        CreateWithPoolId,
10935        Nominate,
10936        SetState,
10937        SetMetadata,
10938        SetConfigs,
10939        UpdateRoles,
10940        Chill,
10941        BondExtraOther,
10942        SetClaimPermission,
10943        ClaimPayoutOther,
10944        SetCommission,
10945        SetCommissionMax,
10946        SetCommissionChangeRate,
10947        ClaimCommission,
10948        AdjustPoolDeposit,
10949        SetCommissionClaimPermission,
10950        ApplySlash,
10951        MigrateDelegation,
10952        MigratePoolToDelegateStake,
10953    }
10954    impl CallInfo for NominationPoolsCall {
10955        const PALLET: &'static str = "NominationPools";
10956        fn call_name(&self) -> &'static str {
10957            match self {
10958                Self::Join => "join",
10959                Self::BondExtra => "bond_extra",
10960                Self::ClaimPayout => "claim_payout",
10961                Self::Unbond => "unbond",
10962                Self::PoolWithdrawUnbonded => "pool_withdraw_unbonded",
10963                Self::WithdrawUnbonded => "withdraw_unbonded",
10964                Self::Create => "create",
10965                Self::CreateWithPoolId => "create_with_pool_id",
10966                Self::Nominate => "nominate",
10967                Self::SetState => "set_state",
10968                Self::SetMetadata => "set_metadata",
10969                Self::SetConfigs => "set_configs",
10970                Self::UpdateRoles => "update_roles",
10971                Self::Chill => "chill",
10972                Self::BondExtraOther => "bond_extra_other",
10973                Self::SetClaimPermission => "set_claim_permission",
10974                Self::ClaimPayoutOther => "claim_payout_other",
10975                Self::SetCommission => "set_commission",
10976                Self::SetCommissionMax => "set_commission_max",
10977                Self::SetCommissionChangeRate => "set_commission_change_rate",
10978                Self::ClaimCommission => "claim_commission",
10979                Self::AdjustPoolDeposit => "adjust_pool_deposit",
10980                Self::SetCommissionClaimPermission => "set_commission_claim_permission",
10981                Self::ApplySlash => "apply_slash",
10982                Self::MigrateDelegation => "migrate_delegation",
10983                Self::MigratePoolToDelegateStake => "migrate_pool_to_delegate_stake",
10984            }
10985        }
10986    }
10987    #[doc = "Calls of pallet `Preimage`."]
10988    pub enum PreimageCall {
10989        NotePreimage,
10990        UnnotePreimage,
10991        RequestPreimage,
10992        UnrequestPreimage,
10993        EnsureUpdated,
10994    }
10995    impl CallInfo for PreimageCall {
10996        const PALLET: &'static str = "Preimage";
10997        fn call_name(&self) -> &'static str {
10998            match self {
10999                Self::NotePreimage => "note_preimage",
11000                Self::UnnotePreimage => "unnote_preimage",
11001                Self::RequestPreimage => "request_preimage",
11002                Self::UnrequestPreimage => "unrequest_preimage",
11003                Self::EnsureUpdated => "ensure_updated",
11004            }
11005        }
11006    }
11007    #[doc = "Calls of pallet `Proxy`."]
11008    pub enum ProxyCall {
11009        Proxy,
11010        AddProxy,
11011        RemoveProxy,
11012        RemoveProxies,
11013        CreatePure,
11014        KillPure,
11015        Announce,
11016        RemoveAnnouncement,
11017        RejectAnnouncement,
11018        ProxyAnnounced,
11019    }
11020    impl CallInfo for ProxyCall {
11021        const PALLET: &'static str = "Proxy";
11022        fn call_name(&self) -> &'static str {
11023            match self {
11024                Self::Proxy => "proxy",
11025                Self::AddProxy => "add_proxy",
11026                Self::RemoveProxy => "remove_proxy",
11027                Self::RemoveProxies => "remove_proxies",
11028                Self::CreatePure => "create_pure",
11029                Self::KillPure => "kill_pure",
11030                Self::Announce => "announce",
11031                Self::RemoveAnnouncement => "remove_announcement",
11032                Self::RejectAnnouncement => "reject_announcement",
11033                Self::ProxyAnnounced => "proxy_announced",
11034            }
11035        }
11036    }
11037    #[doc = "Calls of pallet `Referenda`."]
11038    pub enum ReferendaCall {
11039        Submit,
11040        PlaceDecisionDeposit,
11041        RefundDecisionDeposit,
11042        Cancel,
11043        Kill,
11044        NudgeReferendum,
11045        OneFewerDeciding,
11046        RefundSubmissionDeposit,
11047        SetMetadata,
11048    }
11049    impl CallInfo for ReferendaCall {
11050        const PALLET: &'static str = "Referenda";
11051        fn call_name(&self) -> &'static str {
11052            match self {
11053                Self::Submit => "submit",
11054                Self::PlaceDecisionDeposit => "place_decision_deposit",
11055                Self::RefundDecisionDeposit => "refund_decision_deposit",
11056                Self::Cancel => "cancel",
11057                Self::Kill => "kill",
11058                Self::NudgeReferendum => "nudge_referendum",
11059                Self::OneFewerDeciding => "one_fewer_deciding",
11060                Self::RefundSubmissionDeposit => "refund_submission_deposit",
11061                Self::SetMetadata => "set_metadata",
11062            }
11063        }
11064    }
11065    #[doc = "Calls of pallet `Scheduler`."]
11066    pub enum SchedulerCall {
11067        Schedule,
11068        Cancel,
11069        ScheduleNamed,
11070        CancelNamed,
11071        ScheduleAfter,
11072        ScheduleNamedAfter,
11073        SetRetry,
11074        SetRetryNamed,
11075        CancelRetry,
11076        CancelRetryNamed,
11077    }
11078    impl CallInfo for SchedulerCall {
11079        const PALLET: &'static str = "Scheduler";
11080        fn call_name(&self) -> &'static str {
11081            match self {
11082                Self::Schedule => "schedule",
11083                Self::Cancel => "cancel",
11084                Self::ScheduleNamed => "schedule_named",
11085                Self::CancelNamed => "cancel_named",
11086                Self::ScheduleAfter => "schedule_after",
11087                Self::ScheduleNamedAfter => "schedule_named_after",
11088                Self::SetRetry => "set_retry",
11089                Self::SetRetryNamed => "set_retry_named",
11090                Self::CancelRetry => "cancel_retry",
11091                Self::CancelRetryNamed => "cancel_retry_named",
11092            }
11093        }
11094    }
11095    #[doc = "Calls of pallet `Session`."]
11096    pub enum SessionCall {
11097        SetKeys,
11098        PurgeKeys,
11099    }
11100    impl CallInfo for SessionCall {
11101        const PALLET: &'static str = "Session";
11102        fn call_name(&self) -> &'static str {
11103            match self {
11104                Self::SetKeys => "set_keys",
11105                Self::PurgeKeys => "purge_keys",
11106            }
11107        }
11108    }
11109    #[doc = "Calls of pallet `Staking`."]
11110    pub enum StakingCall {
11111        Bond,
11112        BondExtra,
11113        Unbond,
11114        WithdrawUnbonded,
11115        Validate,
11116        Nominate,
11117        Chill,
11118        SetPayee,
11119        SetController,
11120        SetValidatorCount,
11121        IncreaseValidatorCount,
11122        ScaleValidatorCount,
11123        ForceNoEras,
11124        ForceNewEra,
11125        SetInvulnerables,
11126        ForceUnstake,
11127        ForceNewEraAlways,
11128        CancelDeferredSlash,
11129        PayoutStakers,
11130        Rebond,
11131        ReapStash,
11132        Kick,
11133        SetStakingConfigs,
11134        ChillOther,
11135        ForceApplyMinCommission,
11136        SetMinCommission,
11137        PayoutStakersByPage,
11138        UpdatePayee,
11139        DeprecateControllerBatch,
11140        RestoreLedger,
11141    }
11142    impl CallInfo for StakingCall {
11143        const PALLET: &'static str = "Staking";
11144        fn call_name(&self) -> &'static str {
11145            match self {
11146                Self::Bond => "bond",
11147                Self::BondExtra => "bond_extra",
11148                Self::Unbond => "unbond",
11149                Self::WithdrawUnbonded => "withdraw_unbonded",
11150                Self::Validate => "validate",
11151                Self::Nominate => "nominate",
11152                Self::Chill => "chill",
11153                Self::SetPayee => "set_payee",
11154                Self::SetController => "set_controller",
11155                Self::SetValidatorCount => "set_validator_count",
11156                Self::IncreaseValidatorCount => "increase_validator_count",
11157                Self::ScaleValidatorCount => "scale_validator_count",
11158                Self::ForceNoEras => "force_no_eras",
11159                Self::ForceNewEra => "force_new_era",
11160                Self::SetInvulnerables => "set_invulnerables",
11161                Self::ForceUnstake => "force_unstake",
11162                Self::ForceNewEraAlways => "force_new_era_always",
11163                Self::CancelDeferredSlash => "cancel_deferred_slash",
11164                Self::PayoutStakers => "payout_stakers",
11165                Self::Rebond => "rebond",
11166                Self::ReapStash => "reap_stash",
11167                Self::Kick => "kick",
11168                Self::SetStakingConfigs => "set_staking_configs",
11169                Self::ChillOther => "chill_other",
11170                Self::ForceApplyMinCommission => "force_apply_min_commission",
11171                Self::SetMinCommission => "set_min_commission",
11172                Self::PayoutStakersByPage => "payout_stakers_by_page",
11173                Self::UpdatePayee => "update_payee",
11174                Self::DeprecateControllerBatch => "deprecate_controller_batch",
11175                Self::RestoreLedger => "restore_ledger",
11176            }
11177        }
11178    }
11179    #[doc = "Calls of pallet `StakingRewards`."]
11180    pub enum StakingRewardsCall {
11181        Refill,
11182        ForceRefill,
11183        Withdraw,
11184        AlignSupply,
11185    }
11186    impl CallInfo for StakingRewardsCall {
11187        const PALLET: &'static str = "StakingRewards";
11188        fn call_name(&self) -> &'static str {
11189            match self {
11190                Self::Refill => "refill",
11191                Self::ForceRefill => "force_refill",
11192                Self::Withdraw => "withdraw",
11193                Self::AlignSupply => "align_supply",
11194            }
11195        }
11196    }
11197    #[doc = "Calls of pallet `Sudo`."]
11198    pub enum SudoCall {
11199        Sudo,
11200        SudoUncheckedWeight,
11201        SetKey,
11202        SudoAs,
11203        RemoveKey,
11204    }
11205    impl CallInfo for SudoCall {
11206        const PALLET: &'static str = "Sudo";
11207        fn call_name(&self) -> &'static str {
11208            match self {
11209                Self::Sudo => "sudo",
11210                Self::SudoUncheckedWeight => "sudo_unchecked_weight",
11211                Self::SetKey => "set_key",
11212                Self::SudoAs => "sudo_as",
11213                Self::RemoveKey => "remove_key",
11214            }
11215        }
11216    }
11217    #[doc = "Calls of pallet `System`."]
11218    pub enum SystemCall {
11219        Remark,
11220        SetHeapPages,
11221        SetCode,
11222        SetCodeWithoutChecks,
11223        SetStorage,
11224        KillStorage,
11225        KillPrefix,
11226        RemarkWithEvent,
11227        AuthorizeUpgrade,
11228        AuthorizeUpgradeWithoutChecks,
11229        ApplyAuthorizedUpgrade,
11230    }
11231    impl CallInfo for SystemCall {
11232        const PALLET: &'static str = "System";
11233        fn call_name(&self) -> &'static str {
11234            match self {
11235                Self::Remark => "remark",
11236                Self::SetHeapPages => "set_heap_pages",
11237                Self::SetCode => "set_code",
11238                Self::SetCodeWithoutChecks => "set_code_without_checks",
11239                Self::SetStorage => "set_storage",
11240                Self::KillStorage => "kill_storage",
11241                Self::KillPrefix => "kill_prefix",
11242                Self::RemarkWithEvent => "remark_with_event",
11243                Self::AuthorizeUpgrade => "authorize_upgrade",
11244                Self::AuthorizeUpgradeWithoutChecks => "authorize_upgrade_without_checks",
11245                Self::ApplyAuthorizedUpgrade => "apply_authorized_upgrade",
11246            }
11247        }
11248    }
11249    #[doc = "Calls of pallet `Timestamp`."]
11250    pub enum TimestampCall {
11251        Set,
11252    }
11253    impl CallInfo for TimestampCall {
11254        const PALLET: &'static str = "Timestamp";
11255        fn call_name(&self) -> &'static str {
11256            match self {
11257                Self::Set => "set",
11258            }
11259        }
11260    }
11261    #[doc = "Calls of pallet `Treasury`."]
11262    pub enum TreasuryCall {
11263        SpendLocal,
11264        RemoveApproval,
11265        Spend,
11266        Payout,
11267        CheckStatus,
11268        VoidSpend,
11269    }
11270    impl CallInfo for TreasuryCall {
11271        const PALLET: &'static str = "Treasury";
11272        fn call_name(&self) -> &'static str {
11273            match self {
11274                Self::SpendLocal => "spend_local",
11275                Self::RemoveApproval => "remove_approval",
11276                Self::Spend => "spend",
11277                Self::Payout => "payout",
11278                Self::CheckStatus => "check_status",
11279                Self::VoidSpend => "void_spend",
11280            }
11281        }
11282    }
11283    #[doc = "Calls of pallet `Utility`."]
11284    pub enum UtilityCall {
11285        Batch,
11286        AsDerivative,
11287        BatchAll,
11288        DispatchAs,
11289        ForceBatch,
11290        WithWeight,
11291    }
11292    impl CallInfo for UtilityCall {
11293        const PALLET: &'static str = "Utility";
11294        fn call_name(&self) -> &'static str {
11295            match self {
11296                Self::Batch => "batch",
11297                Self::AsDerivative => "as_derivative",
11298                Self::BatchAll => "batch_all",
11299                Self::DispatchAs => "dispatch_as",
11300                Self::ForceBatch => "force_batch",
11301                Self::WithWeight => "with_weight",
11302            }
11303        }
11304    }
11305    #[doc = "Calls of pallet `Vesting`."]
11306    pub enum VestingCall {
11307        Vest,
11308        VestOther,
11309        VestedTransfer,
11310        ForceVestedTransfer,
11311        MergeSchedules,
11312        ForceRemoveVestingSchedule,
11313    }
11314    impl CallInfo for VestingCall {
11315        const PALLET: &'static str = "Vesting";
11316        fn call_name(&self) -> &'static str {
11317            match self {
11318                Self::Vest => "vest",
11319                Self::VestOther => "vest_other",
11320                Self::VestedTransfer => "vested_transfer",
11321                Self::ForceVestedTransfer => "force_vested_transfer",
11322                Self::MergeSchedules => "merge_schedules",
11323                Self::ForceRemoveVestingSchedule => "force_remove_vesting_schedule",
11324            }
11325        }
11326    }
11327    #[doc = "Calls of pallet `Whitelist`."]
11328    pub enum WhitelistCall {
11329        WhitelistCall,
11330        RemoveWhitelistedCall,
11331        DispatchWhitelistedCall,
11332        DispatchWhitelistedCallWithPreimage,
11333    }
11334    impl CallInfo for WhitelistCall {
11335        const PALLET: &'static str = "Whitelist";
11336        fn call_name(&self) -> &'static str {
11337            match self {
11338                Self::WhitelistCall => "whitelist_call",
11339                Self::RemoveWhitelistedCall => "remove_whitelisted_call",
11340                Self::DispatchWhitelistedCall => "dispatch_whitelisted_call",
11341                Self::DispatchWhitelistedCallWithPreimage => {
11342                    "dispatch_whitelisted_call_with_preimage"
11343                }
11344            }
11345        }
11346    }
11347}
11348pub mod storage {
11349    #[doc = r" Show the call info."]
11350    pub trait StorageInfo {
11351        const PALLET: &'static str;
11352        #[doc = r" returns call name."]
11353        fn storage_name(&self) -> &'static str;
11354    }
11355    #[doc = "Storage of pallet `AuthorityDiscovery`."]
11356    pub enum AuthorityDiscoveryStorage {
11357        Keys,
11358        NextKeys,
11359    }
11360    impl StorageInfo for AuthorityDiscoveryStorage {
11361        const PALLET: &'static str = "AuthorityDiscovery";
11362        fn storage_name(&self) -> &'static str {
11363            match self {
11364                Self::Keys => "Keys",
11365                Self::NextKeys => "NextKeys",
11366            }
11367        }
11368    }
11369    #[doc = "Storage of pallet `Authorship`."]
11370    pub enum AuthorshipStorage {
11371        Author,
11372    }
11373    impl StorageInfo for AuthorshipStorage {
11374        const PALLET: &'static str = "Authorship";
11375        fn storage_name(&self) -> &'static str {
11376            match self {
11377                Self::Author => "Author",
11378            }
11379        }
11380    }
11381    #[doc = "Storage of pallet `Babe`."]
11382    pub enum BabeStorage {
11383        EpochIndex,
11384        Authorities,
11385        GenesisSlot,
11386        CurrentSlot,
11387        Randomness,
11388        PendingEpochConfigChange,
11389        NextRandomness,
11390        NextAuthorities,
11391        SegmentIndex,
11392        UnderConstruction,
11393        Initialized,
11394        AuthorVrfRandomness,
11395        EpochStart,
11396        Lateness,
11397        EpochConfig,
11398        NextEpochConfig,
11399        SkippedEpochs,
11400    }
11401    impl StorageInfo for BabeStorage {
11402        const PALLET: &'static str = "Babe";
11403        fn storage_name(&self) -> &'static str {
11404            match self {
11405                Self::EpochIndex => "EpochIndex",
11406                Self::Authorities => "Authorities",
11407                Self::GenesisSlot => "GenesisSlot",
11408                Self::CurrentSlot => "CurrentSlot",
11409                Self::Randomness => "Randomness",
11410                Self::PendingEpochConfigChange => "PendingEpochConfigChange",
11411                Self::NextRandomness => "NextRandomness",
11412                Self::NextAuthorities => "NextAuthorities",
11413                Self::SegmentIndex => "SegmentIndex",
11414                Self::UnderConstruction => "UnderConstruction",
11415                Self::Initialized => "Initialized",
11416                Self::AuthorVrfRandomness => "AuthorVrfRandomness",
11417                Self::EpochStart => "EpochStart",
11418                Self::Lateness => "Lateness",
11419                Self::EpochConfig => "EpochConfig",
11420                Self::NextEpochConfig => "NextEpochConfig",
11421                Self::SkippedEpochs => "SkippedEpochs",
11422            }
11423        }
11424    }
11425    #[doc = "Storage of pallet `BagsList`."]
11426    pub enum BagsListStorage {
11427        ListNodes,
11428        CounterForListNodes,
11429        ListBags,
11430    }
11431    impl StorageInfo for BagsListStorage {
11432        const PALLET: &'static str = "BagsList";
11433        fn storage_name(&self) -> &'static str {
11434            match self {
11435                Self::ListNodes => "ListNodes",
11436                Self::CounterForListNodes => "CounterForListNodes",
11437                Self::ListBags => "ListBags",
11438            }
11439        }
11440    }
11441    #[doc = "Storage of pallet `Balances`."]
11442    pub enum BalancesStorage {
11443        TotalIssuance,
11444        InactiveIssuance,
11445        Account,
11446        Locks,
11447        Reserves,
11448        Holds,
11449        Freezes,
11450    }
11451    impl StorageInfo for BalancesStorage {
11452        const PALLET: &'static str = "Balances";
11453        fn storage_name(&self) -> &'static str {
11454            match self {
11455                Self::TotalIssuance => "TotalIssuance",
11456                Self::InactiveIssuance => "InactiveIssuance",
11457                Self::Account => "Account",
11458                Self::Locks => "Locks",
11459                Self::Reserves => "Reserves",
11460                Self::Holds => "Holds",
11461                Self::Freezes => "Freezes",
11462            }
11463        }
11464    }
11465    #[doc = "Storage of pallet `Bounties`."]
11466    pub enum BountiesStorage {
11467        BountyCount,
11468        Bounties,
11469        BountyDescriptions,
11470        BountyApprovals,
11471    }
11472    impl StorageInfo for BountiesStorage {
11473        const PALLET: &'static str = "Bounties";
11474        fn storage_name(&self) -> &'static str {
11475            match self {
11476                Self::BountyCount => "BountyCount",
11477                Self::Bounties => "Bounties",
11478                Self::BountyDescriptions => "BountyDescriptions",
11479                Self::BountyApprovals => "BountyApprovals",
11480            }
11481        }
11482    }
11483    #[doc = "Storage of pallet `ChildBounties`."]
11484    pub enum ChildBountiesStorage {
11485        ChildBountyCount,
11486        ParentChildBounties,
11487        ChildBounties,
11488        ChildBountyDescriptions,
11489        ChildrenCuratorFees,
11490    }
11491    impl StorageInfo for ChildBountiesStorage {
11492        const PALLET: &'static str = "ChildBounties";
11493        fn storage_name(&self) -> &'static str {
11494            match self {
11495                Self::ChildBountyCount => "ChildBountyCount",
11496                Self::ParentChildBounties => "ParentChildBounties",
11497                Self::ChildBounties => "ChildBounties",
11498                Self::ChildBountyDescriptions => "ChildBountyDescriptions",
11499                Self::ChildrenCuratorFees => "ChildrenCuratorFees",
11500            }
11501        }
11502    }
11503    #[doc = "Storage of pallet `ConvictionVoting`."]
11504    pub enum ConvictionVotingStorage {
11505        VotingFor,
11506        ClassLocksFor,
11507    }
11508    impl StorageInfo for ConvictionVotingStorage {
11509        const PALLET: &'static str = "ConvictionVoting";
11510        fn storage_name(&self) -> &'static str {
11511            match self {
11512                Self::VotingFor => "VotingFor",
11513                Self::ClassLocksFor => "ClassLocksFor",
11514            }
11515        }
11516    }
11517    #[doc = "Storage of pallet `ElectionProviderMultiPhase`."]
11518    pub enum ElectionProviderMultiPhaseStorage {
11519        Round,
11520        CurrentPhase,
11521        QueuedSolution,
11522        Snapshot,
11523        DesiredTargets,
11524        SnapshotMetadata,
11525        SignedSubmissionNextIndex,
11526        SignedSubmissionIndices,
11527        SignedSubmissionsMap,
11528        MinimumUntrustedScore,
11529    }
11530    impl StorageInfo for ElectionProviderMultiPhaseStorage {
11531        const PALLET: &'static str = "ElectionProviderMultiPhase";
11532        fn storage_name(&self) -> &'static str {
11533            match self {
11534                Self::Round => "Round",
11535                Self::CurrentPhase => "CurrentPhase",
11536                Self::QueuedSolution => "QueuedSolution",
11537                Self::Snapshot => "Snapshot",
11538                Self::DesiredTargets => "DesiredTargets",
11539                Self::SnapshotMetadata => "SnapshotMetadata",
11540                Self::SignedSubmissionNextIndex => "SignedSubmissionNextIndex",
11541                Self::SignedSubmissionIndices => "SignedSubmissionIndices",
11542                Self::SignedSubmissionsMap => "SignedSubmissionsMap",
11543                Self::MinimumUntrustedScore => "MinimumUntrustedScore",
11544            }
11545        }
11546    }
11547    #[doc = "Storage of pallet `FellowshipCollective`."]
11548    pub enum FellowshipCollectiveStorage {
11549        MemberCount,
11550        Members,
11551        IdToIndex,
11552        IndexToId,
11553        Voting,
11554        VotingCleanup,
11555    }
11556    impl StorageInfo for FellowshipCollectiveStorage {
11557        const PALLET: &'static str = "FellowshipCollective";
11558        fn storage_name(&self) -> &'static str {
11559            match self {
11560                Self::MemberCount => "MemberCount",
11561                Self::Members => "Members",
11562                Self::IdToIndex => "IdToIndex",
11563                Self::IndexToId => "IndexToId",
11564                Self::Voting => "Voting",
11565                Self::VotingCleanup => "VotingCleanup",
11566            }
11567        }
11568    }
11569    #[doc = "Storage of pallet `FellowshipReferenda`."]
11570    pub enum FellowshipReferendaStorage {
11571        ReferendumCount,
11572        ReferendumInfoFor,
11573        TrackQueue,
11574        DecidingCount,
11575        MetadataOf,
11576    }
11577    impl StorageInfo for FellowshipReferendaStorage {
11578        const PALLET: &'static str = "FellowshipReferenda";
11579        fn storage_name(&self) -> &'static str {
11580            match self {
11581                Self::ReferendumCount => "ReferendumCount",
11582                Self::ReferendumInfoFor => "ReferendumInfoFor",
11583                Self::TrackQueue => "TrackQueue",
11584                Self::DecidingCount => "DecidingCount",
11585                Self::MetadataOf => "MetadataOf",
11586            }
11587        }
11588    }
11589    #[doc = "Storage of pallet `Gear`."]
11590    pub enum GearStorage {
11591        ExecuteInherent,
11592        BlockNumber,
11593        GearRunInBlock,
11594    }
11595    impl StorageInfo for GearStorage {
11596        const PALLET: &'static str = "Gear";
11597        fn storage_name(&self) -> &'static str {
11598            match self {
11599                Self::ExecuteInherent => "ExecuteInherent",
11600                Self::BlockNumber => "BlockNumber",
11601                Self::GearRunInBlock => "GearRunInBlock",
11602            }
11603        }
11604    }
11605    #[doc = "Storage of pallet `GearBank`."]
11606    pub enum GearBankStorage {
11607        Bank,
11608        BankAddress,
11609        UnusedValue,
11610        OnFinalizeTransfers,
11611        OnFinalizeValue,
11612    }
11613    impl StorageInfo for GearBankStorage {
11614        const PALLET: &'static str = "GearBank";
11615        fn storage_name(&self) -> &'static str {
11616            match self {
11617                Self::Bank => "Bank",
11618                Self::BankAddress => "BankAddress",
11619                Self::UnusedValue => "UnusedValue",
11620                Self::OnFinalizeTransfers => "OnFinalizeTransfers",
11621                Self::OnFinalizeValue => "OnFinalizeValue",
11622            }
11623        }
11624    }
11625    #[doc = "Storage of pallet `GearDebug`."]
11626    pub enum GearDebugStorage {
11627        DebugMode,
11628        RemapId,
11629        ProgramsMap,
11630    }
11631    impl StorageInfo for GearDebugStorage {
11632        const PALLET: &'static str = "GearDebug";
11633        fn storage_name(&self) -> &'static str {
11634            match self {
11635                Self::DebugMode => "DebugMode",
11636                Self::RemapId => "RemapId",
11637                Self::ProgramsMap => "ProgramsMap",
11638            }
11639        }
11640    }
11641    #[doc = "Storage of pallet `GearEthBridge`."]
11642    pub enum GearEthBridgeStorage {
11643        Initialized,
11644        Paused,
11645        AuthoritySetHash,
11646        QueueMerkleRoot,
11647        Queue,
11648        SessionsTimer,
11649        ClearTimer,
11650        MessageNonce,
11651        QueueChanged,
11652        TransportFee,
11653    }
11654    impl StorageInfo for GearEthBridgeStorage {
11655        const PALLET: &'static str = "GearEthBridge";
11656        fn storage_name(&self) -> &'static str {
11657            match self {
11658                Self::Initialized => "Initialized",
11659                Self::Paused => "Paused",
11660                Self::AuthoritySetHash => "AuthoritySetHash",
11661                Self::QueueMerkleRoot => "QueueMerkleRoot",
11662                Self::Queue => "Queue",
11663                Self::SessionsTimer => "SessionsTimer",
11664                Self::ClearTimer => "ClearTimer",
11665                Self::MessageNonce => "MessageNonce",
11666                Self::QueueChanged => "QueueChanged",
11667                Self::TransportFee => "TransportFee",
11668            }
11669        }
11670    }
11671    #[doc = "Storage of pallet `GearGas`."]
11672    pub enum GearGasStorage {
11673        TotalIssuance,
11674        GasNodes,
11675        Allowance,
11676    }
11677    impl StorageInfo for GearGasStorage {
11678        const PALLET: &'static str = "GearGas";
11679        fn storage_name(&self) -> &'static str {
11680            match self {
11681                Self::TotalIssuance => "TotalIssuance",
11682                Self::GasNodes => "GasNodes",
11683                Self::Allowance => "Allowance",
11684            }
11685        }
11686    }
11687    #[doc = "Storage of pallet `GearMessenger`."]
11688    pub enum GearMessengerStorage {
11689        Dequeued,
11690        Dispatches,
11691        CounterForDispatches,
11692        Head,
11693        Mailbox,
11694        QueueProcessing,
11695        Sent,
11696        Tail,
11697        Waitlist,
11698        DispatchStash,
11699    }
11700    impl StorageInfo for GearMessengerStorage {
11701        const PALLET: &'static str = "GearMessenger";
11702        fn storage_name(&self) -> &'static str {
11703            match self {
11704                Self::Dequeued => "Dequeued",
11705                Self::Dispatches => "Dispatches",
11706                Self::CounterForDispatches => "CounterForDispatches",
11707                Self::Head => "Head",
11708                Self::Mailbox => "Mailbox",
11709                Self::QueueProcessing => "QueueProcessing",
11710                Self::Sent => "Sent",
11711                Self::Tail => "Tail",
11712                Self::Waitlist => "Waitlist",
11713                Self::DispatchStash => "DispatchStash",
11714            }
11715        }
11716    }
11717    #[doc = "Storage of pallet `GearProgram`."]
11718    pub enum GearProgramStorage {
11719        CodeStorage,
11720        CodeLenStorage,
11721        OriginalCodeStorage,
11722        MetadataStorage,
11723        AllocationsStorage,
11724        ProgramStorage,
11725        MemoryPages,
11726    }
11727    impl StorageInfo for GearProgramStorage {
11728        const PALLET: &'static str = "GearProgram";
11729        fn storage_name(&self) -> &'static str {
11730            match self {
11731                Self::CodeStorage => "CodeStorage",
11732                Self::CodeLenStorage => "CodeLenStorage",
11733                Self::OriginalCodeStorage => "OriginalCodeStorage",
11734                Self::MetadataStorage => "MetadataStorage",
11735                Self::AllocationsStorage => "AllocationsStorage",
11736                Self::ProgramStorage => "ProgramStorage",
11737                Self::MemoryPages => "MemoryPages",
11738            }
11739        }
11740    }
11741    #[doc = "Storage of pallet `GearScheduler`."]
11742    pub enum GearSchedulerStorage {
11743        FirstIncompleteTasksBlock,
11744        TaskPool,
11745    }
11746    impl StorageInfo for GearSchedulerStorage {
11747        const PALLET: &'static str = "GearScheduler";
11748        fn storage_name(&self) -> &'static str {
11749            match self {
11750                Self::FirstIncompleteTasksBlock => "FirstIncompleteTasksBlock",
11751                Self::TaskPool => "TaskPool",
11752            }
11753        }
11754    }
11755    #[doc = "Storage of pallet `GearVoucher`."]
11756    pub enum GearVoucherStorage {
11757        Issued,
11758        Vouchers,
11759    }
11760    impl StorageInfo for GearVoucherStorage {
11761        const PALLET: &'static str = "GearVoucher";
11762        fn storage_name(&self) -> &'static str {
11763            match self {
11764                Self::Issued => "Issued",
11765                Self::Vouchers => "Vouchers",
11766            }
11767        }
11768    }
11769    #[doc = "Storage of pallet `Grandpa`."]
11770    pub enum GrandpaStorage {
11771        State,
11772        PendingChange,
11773        NextForced,
11774        Stalled,
11775        CurrentSetId,
11776        SetIdSession,
11777        Authorities,
11778    }
11779    impl StorageInfo for GrandpaStorage {
11780        const PALLET: &'static str = "Grandpa";
11781        fn storage_name(&self) -> &'static str {
11782            match self {
11783                Self::State => "State",
11784                Self::PendingChange => "PendingChange",
11785                Self::NextForced => "NextForced",
11786                Self::Stalled => "Stalled",
11787                Self::CurrentSetId => "CurrentSetId",
11788                Self::SetIdSession => "SetIdSession",
11789                Self::Authorities => "Authorities",
11790            }
11791        }
11792    }
11793    #[doc = "Storage of pallet `Historical`."]
11794    pub enum HistoricalStorage {
11795        HistoricalSessions,
11796        StoredRange,
11797    }
11798    impl StorageInfo for HistoricalStorage {
11799        const PALLET: &'static str = "Historical";
11800        fn storage_name(&self) -> &'static str {
11801            match self {
11802                Self::HistoricalSessions => "HistoricalSessions",
11803                Self::StoredRange => "StoredRange",
11804            }
11805        }
11806    }
11807    #[doc = "Storage of pallet `Identity`."]
11808    pub enum IdentityStorage {
11809        IdentityOf,
11810        SuperOf,
11811        SubsOf,
11812        Registrars,
11813        UsernameAuthorities,
11814        AccountOfUsername,
11815        PendingUsernames,
11816    }
11817    impl StorageInfo for IdentityStorage {
11818        const PALLET: &'static str = "Identity";
11819        fn storage_name(&self) -> &'static str {
11820            match self {
11821                Self::IdentityOf => "IdentityOf",
11822                Self::SuperOf => "SuperOf",
11823                Self::SubsOf => "SubsOf",
11824                Self::Registrars => "Registrars",
11825                Self::UsernameAuthorities => "UsernameAuthorities",
11826                Self::AccountOfUsername => "AccountOfUsername",
11827                Self::PendingUsernames => "PendingUsernames",
11828            }
11829        }
11830    }
11831    #[doc = "Storage of pallet `ImOnline`."]
11832    pub enum ImOnlineStorage {
11833        HeartbeatAfter,
11834        Keys,
11835        ReceivedHeartbeats,
11836        AuthoredBlocks,
11837    }
11838    impl StorageInfo for ImOnlineStorage {
11839        const PALLET: &'static str = "ImOnline";
11840        fn storage_name(&self) -> &'static str {
11841            match self {
11842                Self::HeartbeatAfter => "HeartbeatAfter",
11843                Self::Keys => "Keys",
11844                Self::ReceivedHeartbeats => "ReceivedHeartbeats",
11845                Self::AuthoredBlocks => "AuthoredBlocks",
11846            }
11847        }
11848    }
11849    #[doc = "Storage of pallet `Multisig`."]
11850    pub enum MultisigStorage {
11851        Multisigs,
11852    }
11853    impl StorageInfo for MultisigStorage {
11854        const PALLET: &'static str = "Multisig";
11855        fn storage_name(&self) -> &'static str {
11856            match self {
11857                Self::Multisigs => "Multisigs",
11858            }
11859        }
11860    }
11861    #[doc = "Storage of pallet `NominationPools`."]
11862    pub enum NominationPoolsStorage {
11863        TotalValueLocked,
11864        MinJoinBond,
11865        MinCreateBond,
11866        MaxPools,
11867        MaxPoolMembers,
11868        MaxPoolMembersPerPool,
11869        GlobalMaxCommission,
11870        PoolMembers,
11871        CounterForPoolMembers,
11872        BondedPools,
11873        CounterForBondedPools,
11874        RewardPools,
11875        CounterForRewardPools,
11876        SubPoolsStorage,
11877        CounterForSubPoolsStorage,
11878        Metadata,
11879        CounterForMetadata,
11880        LastPoolId,
11881        ReversePoolIdLookup,
11882        CounterForReversePoolIdLookup,
11883        ClaimPermissions,
11884    }
11885    impl StorageInfo for NominationPoolsStorage {
11886        const PALLET: &'static str = "NominationPools";
11887        fn storage_name(&self) -> &'static str {
11888            match self {
11889                Self::TotalValueLocked => "TotalValueLocked",
11890                Self::MinJoinBond => "MinJoinBond",
11891                Self::MinCreateBond => "MinCreateBond",
11892                Self::MaxPools => "MaxPools",
11893                Self::MaxPoolMembers => "MaxPoolMembers",
11894                Self::MaxPoolMembersPerPool => "MaxPoolMembersPerPool",
11895                Self::GlobalMaxCommission => "GlobalMaxCommission",
11896                Self::PoolMembers => "PoolMembers",
11897                Self::CounterForPoolMembers => "CounterForPoolMembers",
11898                Self::BondedPools => "BondedPools",
11899                Self::CounterForBondedPools => "CounterForBondedPools",
11900                Self::RewardPools => "RewardPools",
11901                Self::CounterForRewardPools => "CounterForRewardPools",
11902                Self::SubPoolsStorage => "SubPoolsStorage",
11903                Self::CounterForSubPoolsStorage => "CounterForSubPoolsStorage",
11904                Self::Metadata => "Metadata",
11905                Self::CounterForMetadata => "CounterForMetadata",
11906                Self::LastPoolId => "LastPoolId",
11907                Self::ReversePoolIdLookup => "ReversePoolIdLookup",
11908                Self::CounterForReversePoolIdLookup => "CounterForReversePoolIdLookup",
11909                Self::ClaimPermissions => "ClaimPermissions",
11910            }
11911        }
11912    }
11913    #[doc = "Storage of pallet `Offences`."]
11914    pub enum OffencesStorage {
11915        Reports,
11916        ConcurrentReportsIndex,
11917    }
11918    impl StorageInfo for OffencesStorage {
11919        const PALLET: &'static str = "Offences";
11920        fn storage_name(&self) -> &'static str {
11921            match self {
11922                Self::Reports => "Reports",
11923                Self::ConcurrentReportsIndex => "ConcurrentReportsIndex",
11924            }
11925        }
11926    }
11927    #[doc = "Storage of pallet `Preimage`."]
11928    pub enum PreimageStorage {
11929        StatusFor,
11930        RequestStatusFor,
11931        PreimageFor,
11932    }
11933    impl StorageInfo for PreimageStorage {
11934        const PALLET: &'static str = "Preimage";
11935        fn storage_name(&self) -> &'static str {
11936            match self {
11937                Self::StatusFor => "StatusFor",
11938                Self::RequestStatusFor => "RequestStatusFor",
11939                Self::PreimageFor => "PreimageFor",
11940            }
11941        }
11942    }
11943    #[doc = "Storage of pallet `Proxy`."]
11944    pub enum ProxyStorage {
11945        Proxies,
11946        Announcements,
11947    }
11948    impl StorageInfo for ProxyStorage {
11949        const PALLET: &'static str = "Proxy";
11950        fn storage_name(&self) -> &'static str {
11951            match self {
11952                Self::Proxies => "Proxies",
11953                Self::Announcements => "Announcements",
11954            }
11955        }
11956    }
11957    #[doc = "Storage of pallet `Referenda`."]
11958    pub enum ReferendaStorage {
11959        ReferendumCount,
11960        ReferendumInfoFor,
11961        TrackQueue,
11962        DecidingCount,
11963        MetadataOf,
11964    }
11965    impl StorageInfo for ReferendaStorage {
11966        const PALLET: &'static str = "Referenda";
11967        fn storage_name(&self) -> &'static str {
11968            match self {
11969                Self::ReferendumCount => "ReferendumCount",
11970                Self::ReferendumInfoFor => "ReferendumInfoFor",
11971                Self::TrackQueue => "TrackQueue",
11972                Self::DecidingCount => "DecidingCount",
11973                Self::MetadataOf => "MetadataOf",
11974            }
11975        }
11976    }
11977    #[doc = "Storage of pallet `Scheduler`."]
11978    pub enum SchedulerStorage {
11979        IncompleteSince,
11980        Agenda,
11981        Retries,
11982        Lookup,
11983    }
11984    impl StorageInfo for SchedulerStorage {
11985        const PALLET: &'static str = "Scheduler";
11986        fn storage_name(&self) -> &'static str {
11987            match self {
11988                Self::IncompleteSince => "IncompleteSince",
11989                Self::Agenda => "Agenda",
11990                Self::Retries => "Retries",
11991                Self::Lookup => "Lookup",
11992            }
11993        }
11994    }
11995    #[doc = "Storage of pallet `Session`."]
11996    pub enum SessionStorage {
11997        Validators,
11998        CurrentIndex,
11999        QueuedChanged,
12000        QueuedKeys,
12001        DisabledValidators,
12002        NextKeys,
12003        KeyOwner,
12004    }
12005    impl StorageInfo for SessionStorage {
12006        const PALLET: &'static str = "Session";
12007        fn storage_name(&self) -> &'static str {
12008            match self {
12009                Self::Validators => "Validators",
12010                Self::CurrentIndex => "CurrentIndex",
12011                Self::QueuedChanged => "QueuedChanged",
12012                Self::QueuedKeys => "QueuedKeys",
12013                Self::DisabledValidators => "DisabledValidators",
12014                Self::NextKeys => "NextKeys",
12015                Self::KeyOwner => "KeyOwner",
12016            }
12017        }
12018    }
12019    #[doc = "Storage of pallet `Staking`."]
12020    pub enum StakingStorage {
12021        ValidatorCount,
12022        MinimumValidatorCount,
12023        Invulnerables,
12024        Bonded,
12025        MinNominatorBond,
12026        MinValidatorBond,
12027        MinimumActiveStake,
12028        MinCommission,
12029        Ledger,
12030        Payee,
12031        Validators,
12032        CounterForValidators,
12033        MaxValidatorsCount,
12034        Nominators,
12035        CounterForNominators,
12036        VirtualStakers,
12037        CounterForVirtualStakers,
12038        MaxNominatorsCount,
12039        CurrentEra,
12040        ActiveEra,
12041        ErasStartSessionIndex,
12042        ErasStakers,
12043        ErasStakersOverview,
12044        ErasStakersClipped,
12045        ErasStakersPaged,
12046        ClaimedRewards,
12047        ErasValidatorPrefs,
12048        ErasValidatorReward,
12049        ErasRewardPoints,
12050        ErasTotalStake,
12051        ForceEra,
12052        MaxStakedRewards,
12053        SlashRewardFraction,
12054        CanceledSlashPayout,
12055        UnappliedSlashes,
12056        BondedEras,
12057        ValidatorSlashInEra,
12058        NominatorSlashInEra,
12059        SlashingSpans,
12060        SpanSlash,
12061        CurrentPlannedSession,
12062        DisabledValidators,
12063        ChillThreshold,
12064    }
12065    impl StorageInfo for StakingStorage {
12066        const PALLET: &'static str = "Staking";
12067        fn storage_name(&self) -> &'static str {
12068            match self {
12069                Self::ValidatorCount => "ValidatorCount",
12070                Self::MinimumValidatorCount => "MinimumValidatorCount",
12071                Self::Invulnerables => "Invulnerables",
12072                Self::Bonded => "Bonded",
12073                Self::MinNominatorBond => "MinNominatorBond",
12074                Self::MinValidatorBond => "MinValidatorBond",
12075                Self::MinimumActiveStake => "MinimumActiveStake",
12076                Self::MinCommission => "MinCommission",
12077                Self::Ledger => "Ledger",
12078                Self::Payee => "Payee",
12079                Self::Validators => "Validators",
12080                Self::CounterForValidators => "CounterForValidators",
12081                Self::MaxValidatorsCount => "MaxValidatorsCount",
12082                Self::Nominators => "Nominators",
12083                Self::CounterForNominators => "CounterForNominators",
12084                Self::VirtualStakers => "VirtualStakers",
12085                Self::CounterForVirtualStakers => "CounterForVirtualStakers",
12086                Self::MaxNominatorsCount => "MaxNominatorsCount",
12087                Self::CurrentEra => "CurrentEra",
12088                Self::ActiveEra => "ActiveEra",
12089                Self::ErasStartSessionIndex => "ErasStartSessionIndex",
12090                Self::ErasStakers => "ErasStakers",
12091                Self::ErasStakersOverview => "ErasStakersOverview",
12092                Self::ErasStakersClipped => "ErasStakersClipped",
12093                Self::ErasStakersPaged => "ErasStakersPaged",
12094                Self::ClaimedRewards => "ClaimedRewards",
12095                Self::ErasValidatorPrefs => "ErasValidatorPrefs",
12096                Self::ErasValidatorReward => "ErasValidatorReward",
12097                Self::ErasRewardPoints => "ErasRewardPoints",
12098                Self::ErasTotalStake => "ErasTotalStake",
12099                Self::ForceEra => "ForceEra",
12100                Self::MaxStakedRewards => "MaxStakedRewards",
12101                Self::SlashRewardFraction => "SlashRewardFraction",
12102                Self::CanceledSlashPayout => "CanceledSlashPayout",
12103                Self::UnappliedSlashes => "UnappliedSlashes",
12104                Self::BondedEras => "BondedEras",
12105                Self::ValidatorSlashInEra => "ValidatorSlashInEra",
12106                Self::NominatorSlashInEra => "NominatorSlashInEra",
12107                Self::SlashingSpans => "SlashingSpans",
12108                Self::SpanSlash => "SpanSlash",
12109                Self::CurrentPlannedSession => "CurrentPlannedSession",
12110                Self::DisabledValidators => "DisabledValidators",
12111                Self::ChillThreshold => "ChillThreshold",
12112            }
12113        }
12114    }
12115    #[doc = "Storage of pallet `StakingRewards`."]
12116    pub enum StakingRewardsStorage {
12117        TargetInflation,
12118        IdealStakingRatio,
12119        NonStakeableShare,
12120        FilteredAccounts,
12121    }
12122    impl StorageInfo for StakingRewardsStorage {
12123        const PALLET: &'static str = "StakingRewards";
12124        fn storage_name(&self) -> &'static str {
12125            match self {
12126                Self::TargetInflation => "TargetInflation",
12127                Self::IdealStakingRatio => "IdealStakingRatio",
12128                Self::NonStakeableShare => "NonStakeableShare",
12129                Self::FilteredAccounts => "FilteredAccounts",
12130            }
12131        }
12132    }
12133    #[doc = "Storage of pallet `Sudo`."]
12134    pub enum SudoStorage {
12135        Key,
12136    }
12137    impl StorageInfo for SudoStorage {
12138        const PALLET: &'static str = "Sudo";
12139        fn storage_name(&self) -> &'static str {
12140            match self {
12141                Self::Key => "Key",
12142            }
12143        }
12144    }
12145    #[doc = "Storage of pallet `System`."]
12146    pub enum SystemStorage {
12147        Account,
12148        ExtrinsicCount,
12149        InherentsApplied,
12150        BlockWeight,
12151        AllExtrinsicsLen,
12152        BlockHash,
12153        ExtrinsicData,
12154        Number,
12155        ParentHash,
12156        Digest,
12157        Events,
12158        EventCount,
12159        EventTopics,
12160        LastRuntimeUpgrade,
12161        UpgradedToU32RefCount,
12162        UpgradedToTripleRefCount,
12163        ExecutionPhase,
12164        AuthorizedUpgrade,
12165    }
12166    impl StorageInfo for SystemStorage {
12167        const PALLET: &'static str = "System";
12168        fn storage_name(&self) -> &'static str {
12169            match self {
12170                Self::Account => "Account",
12171                Self::ExtrinsicCount => "ExtrinsicCount",
12172                Self::InherentsApplied => "InherentsApplied",
12173                Self::BlockWeight => "BlockWeight",
12174                Self::AllExtrinsicsLen => "AllExtrinsicsLen",
12175                Self::BlockHash => "BlockHash",
12176                Self::ExtrinsicData => "ExtrinsicData",
12177                Self::Number => "Number",
12178                Self::ParentHash => "ParentHash",
12179                Self::Digest => "Digest",
12180                Self::Events => "Events",
12181                Self::EventCount => "EventCount",
12182                Self::EventTopics => "EventTopics",
12183                Self::LastRuntimeUpgrade => "LastRuntimeUpgrade",
12184                Self::UpgradedToU32RefCount => "UpgradedToU32RefCount",
12185                Self::UpgradedToTripleRefCount => "UpgradedToTripleRefCount",
12186                Self::ExecutionPhase => "ExecutionPhase",
12187                Self::AuthorizedUpgrade => "AuthorizedUpgrade",
12188            }
12189        }
12190    }
12191    #[doc = "Storage of pallet `Timestamp`."]
12192    pub enum TimestampStorage {
12193        Now,
12194        DidUpdate,
12195    }
12196    impl StorageInfo for TimestampStorage {
12197        const PALLET: &'static str = "Timestamp";
12198        fn storage_name(&self) -> &'static str {
12199            match self {
12200                Self::Now => "Now",
12201                Self::DidUpdate => "DidUpdate",
12202            }
12203        }
12204    }
12205    #[doc = "Storage of pallet `TransactionPayment`."]
12206    pub enum TransactionPaymentStorage {
12207        NextFeeMultiplier,
12208        StorageVersion,
12209    }
12210    impl StorageInfo for TransactionPaymentStorage {
12211        const PALLET: &'static str = "TransactionPayment";
12212        fn storage_name(&self) -> &'static str {
12213            match self {
12214                Self::NextFeeMultiplier => "NextFeeMultiplier",
12215                Self::StorageVersion => "StorageVersion",
12216            }
12217        }
12218    }
12219    #[doc = "Storage of pallet `Treasury`."]
12220    pub enum TreasuryStorage {
12221        ProposalCount,
12222        Proposals,
12223        Deactivated,
12224        Approvals,
12225        SpendCount,
12226        Spends,
12227    }
12228    impl StorageInfo for TreasuryStorage {
12229        const PALLET: &'static str = "Treasury";
12230        fn storage_name(&self) -> &'static str {
12231            match self {
12232                Self::ProposalCount => "ProposalCount",
12233                Self::Proposals => "Proposals",
12234                Self::Deactivated => "Deactivated",
12235                Self::Approvals => "Approvals",
12236                Self::SpendCount => "SpendCount",
12237                Self::Spends => "Spends",
12238            }
12239        }
12240    }
12241    #[doc = "Storage of pallet `Vesting`."]
12242    pub enum VestingStorage {
12243        Vesting,
12244        StorageVersion,
12245    }
12246    impl StorageInfo for VestingStorage {
12247        const PALLET: &'static str = "Vesting";
12248        fn storage_name(&self) -> &'static str {
12249            match self {
12250                Self::Vesting => "Vesting",
12251                Self::StorageVersion => "StorageVersion",
12252            }
12253        }
12254    }
12255    #[doc = "Storage of pallet `Whitelist`."]
12256    pub enum WhitelistStorage {
12257        WhitelistedCall,
12258    }
12259    impl StorageInfo for WhitelistStorage {
12260        const PALLET: &'static str = "Whitelist";
12261        fn storage_name(&self) -> &'static str {
12262            match self {
12263                Self::WhitelistedCall => "WhitelistedCall",
12264            }
12265        }
12266    }
12267}
12268pub mod exports {
12269    use crate::metadata::runtime_types;
12270    pub mod system {
12271        pub use super::runtime_types::frame_system::pallet::Event;
12272    }
12273    pub mod grandpa {
12274        pub use super::runtime_types::pallet_grandpa::pallet::Event;
12275    }
12276    pub mod balances {
12277        pub use super::runtime_types::pallet_balances::pallet::Event;
12278    }
12279    pub mod transaction_payment {
12280        pub use super::runtime_types::pallet_transaction_payment::pallet::Event;
12281    }
12282    pub mod session {
12283        pub use super::runtime_types::pallet_session::pallet::Event;
12284    }
12285    pub mod utility {
12286        pub use super::runtime_types::pallet_utility::pallet::Event;
12287    }
12288    pub mod vesting {
12289        pub use super::runtime_types::pallet_vesting::pallet::Event;
12290    }
12291    pub mod bags_list {
12292        pub use super::runtime_types::pallet_bags_list::pallet::Event;
12293    }
12294    pub mod im_online {
12295        pub use super::runtime_types::pallet_im_online::pallet::Event;
12296    }
12297    pub mod staking {
12298        pub use super::runtime_types::pallet_staking::pallet::pallet::Event;
12299    }
12300    pub mod treasury {
12301        pub use super::runtime_types::pallet_treasury::pallet::Event;
12302    }
12303    pub mod conviction_voting {
12304        pub use super::runtime_types::pallet_conviction_voting::pallet::Event;
12305    }
12306    pub mod referenda {
12307        pub use super::runtime_types::pallet_referenda::pallet::Event1 as Event;
12308    }
12309    pub mod fellowship_collective {
12310        pub use super::runtime_types::pallet_ranked_collective::pallet::Event;
12311    }
12312    pub mod fellowship_referenda {
12313        pub use super::runtime_types::pallet_referenda::pallet::Event2 as Event;
12314    }
12315    pub mod whitelist {
12316        pub use super::runtime_types::pallet_whitelist::pallet::Event;
12317    }
12318    pub mod scheduler {
12319        pub use super::runtime_types::pallet_scheduler::pallet::Event;
12320    }
12321    pub mod preimage {
12322        pub use super::runtime_types::pallet_preimage::pallet::Event;
12323    }
12324    pub mod identity {
12325        pub use super::runtime_types::pallet_identity::pallet::Event;
12326    }
12327    pub mod proxy {
12328        pub use super::runtime_types::pallet_proxy::pallet::Event;
12329    }
12330    pub mod multisig {
12331        pub use super::runtime_types::pallet_multisig::pallet::Event;
12332    }
12333    pub mod election_provider_multi_phase {
12334        pub use super::runtime_types::pallet_election_provider_multi_phase::pallet::Event;
12335    }
12336    pub mod offences {
12337        pub use super::runtime_types::pallet_offences::pallet::Event;
12338    }
12339    pub mod bounties {
12340        pub use super::runtime_types::pallet_bounties::pallet::Event;
12341    }
12342    pub mod child_bounties {
12343        pub use super::runtime_types::pallet_child_bounties::pallet::Event;
12344    }
12345    pub mod nomination_pools {
12346        pub use super::runtime_types::pallet_nomination_pools::pallet::Event;
12347    }
12348    pub mod sudo {
12349        pub use super::runtime_types::pallet_sudo::pallet::Event;
12350    }
12351    pub mod gear {
12352        pub use super::runtime_types::pallet_gear::pallet::Event;
12353    }
12354    pub mod staking_rewards {
12355        pub use super::runtime_types::pallet_gear_staking_rewards::pallet::Event;
12356    }
12357    pub mod gear_voucher {
12358        pub use super::runtime_types::pallet_gear_voucher::pallet::Event;
12359    }
12360    pub mod gear_eth_bridge {
12361        pub use super::runtime_types::pallet_gear_eth_bridge::pallet::Event;
12362    }
12363    pub mod gear_debug {
12364        pub use super::runtime_types::pallet_gear_debug::pallet::Event;
12365    }
12366}