{
  "magicNumber": 1635018093,
  "metadata": {
    "v14": {
      "pallets": [
        {
          "name": "System",
          "storage": {
            "prefix": "System",
            "items": [
              {
                "name": "Account",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 0,
                    "value": 3
                  }
                },
                "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080",
                "docs": [
                  " The full account information for a particular account ID."
                ]
              },
              {
                "name": "ExtrinsicCount",
                "modifier": "Optional",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00",
                "docs": [
                  " Total extrinsics count for the current block."
                ]
              },
              {
                "name": "InherentsApplied",
                "modifier": "Default",
                "type": {
                  "plain": 8
                },
                "fallback": "0x00",
                "docs": [
                  " Whether all inherents have been applied."
                ]
              },
              {
                "name": "BlockWeight",
                "modifier": "Default",
                "type": {
                  "plain": 9
                },
                "fallback": "0x000000000000",
                "docs": [
                  " The current weight for the block."
                ]
              },
              {
                "name": "AllExtrinsicsLen",
                "modifier": "Optional",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00",
                "docs": [
                  " Total length (in bytes) for all extrinsics put together, for the current block."
                ]
              },
              {
                "name": "BlockHash",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 13
                  }
                },
                "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",
                "docs": [
                  " Map of block numbers to block hashes."
                ]
              },
              {
                "name": "ExtrinsicData",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 14
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Extrinsics data for the current block (maps an extrinsic's index to its data)."
                ]
              },
              {
                "name": "Number",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " The current block number being processed. Set by `execute_block`."
                ]
              },
              {
                "name": "ParentHash",
                "modifier": "Default",
                "type": {
                  "plain": 13
                },
                "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",
                "docs": [
                  " Hash of the previous block."
                ]
              },
              {
                "name": "Digest",
                "modifier": "Default",
                "type": {
                  "plain": 15
                },
                "fallback": "0x00",
                "docs": [
                  " Digest of the current block, also part of the block header."
                ]
              },
              {
                "name": "Events",
                "modifier": "Default",
                "type": {
                  "plain": 19
                },
                "fallback": "0x00",
                "docs": [
                  " Events deposited for the current block.",
                  "",
                  " NOTE: The item is unbound and should therefore never be read on chain.",
                  " It could otherwise inflate the PoV size of a block.",
                  "",
                  " Events have a large in-memory size. Box the events to not go out-of-memory",
                  " just in case someone still reads them from within the runtime."
                ]
              },
              {
                "name": "EventCount",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " The number of events in the `Events<T>` list."
                ]
              },
              {
                "name": "EventTopics",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 13,
                    "value": 528
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Mapping between a topic (represented by T::Hash) and a vector of indexes",
                  " of events in the `<Events<T>>` list.",
                  "",
                  " All topic vectors have deterministic storage locations depending on the topic. This",
                  " allows light-clients to leverage the changes trie storage tracking mechanism and",
                  " in case of changes fetch the list of events of interest.",
                  "",
                  " The value has the type `(BlockNumberFor<T>, EventIndex)` because if we used only just",
                  " the `EventIndex` then in case if the topic has the same contents on the next block",
                  " no notification will be triggered thus the event might be lost."
                ]
              },
              {
                "name": "LastRuntimeUpgrade",
                "modifier": "Optional",
                "type": {
                  "plain": 529
                },
                "fallback": "0x00",
                "docs": [
                  " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened."
                ]
              },
              {
                "name": "UpgradedToU32RefCount",
                "modifier": "Default",
                "type": {
                  "plain": 8
                },
                "fallback": "0x00",
                "docs": [
                  " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not."
                ]
              },
              {
                "name": "UpgradedToTripleRefCount",
                "modifier": "Default",
                "type": {
                  "plain": 8
                },
                "fallback": "0x00",
                "docs": [
                  " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False",
                  " (default) if not."
                ]
              },
              {
                "name": "ExecutionPhase",
                "modifier": "Optional",
                "type": {
                  "plain": 527
                },
                "fallback": "0x00",
                "docs": [
                  " The execution phase of the block."
                ]
              },
              {
                "name": "AuthorizedUpgrade",
                "modifier": "Optional",
                "type": {
                  "plain": 531
                },
                "fallback": "0x00",
                "docs": [
                  " `Some` if a code upgrade has been authorized."
                ]
              }
            ]
          },
          "calls": {
            "type": 88
          },
          "events": {
            "type": 22
          },
          "constants": [
            {
              "name": "BlockWeights",
              "type": 532,
              "value": "0x07a81a0a5303000b00204aa9d10113ffffffffffffffff4273bb1d00010b30f3708f580113a3703d0ad7a370bd010b0098f73e5d0113ffffffffffffffbf0100004273bb1d00010b307bc3f9cc0113a3703d0ad7a370fd010b00204aa9d10113ffffffffffffffff01070088526a741300000000000000404273bb1d00000000",
              "docs": [
                " Block & extrinsics weights: base values and limits."
              ]
            },
            {
              "name": "BlockLength",
              "type": 535,
              "value": "0x00003c000000500000005000",
              "docs": [
                " The maximum length of a block (in bytes)."
              ]
            },
            {
              "name": "BlockHashCount",
              "type": 4,
              "value": "0x00100000",
              "docs": [
                " Maximum number of block number to block hash mappings to keep (oldest pruned first)."
              ]
            },
            {
              "name": "DbWeight",
              "type": 537,
              "value": "0x40787d010000000000e1f50500000000",
              "docs": [
                " The weight of runtime database operations the runtime can invoke."
              ]
            },
            {
              "name": "Version",
              "type": 538,
              "value": "0x186b7573616d61347061726974792d6b7573616d6102000000f84d0f00000000005cc51ff1fa3f5d0cca01000000df6acb689907609b0500000037e397fc7c91f5e40200000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000af2c0297a23e6d3d0b00000049eaaf1b548a0cb00300000091d5df18b0d2cf58020000002a5e924655399e6001000000ed99c5acb25eedf503000000cbca25e39f14238702000000687ad44ad37f03c201000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000f3ff14d5ab527059030000006ff52ee858e6c5bd0100000091b1c8b16328eb92010000009ffb505aa738d69c0100000017a6bc0d0062aeb30100000018ef58a3b67ba77001000000fbc577b9d747efd6010000001a00000001",
              "docs": [
                " Get the chain's in-code version."
              ]
            },
            {
              "name": "SS58Prefix",
              "type": 85,
              "value": "0x0200",
              "docs": [
                " The designated SS58 prefix of this chain.",
                "",
                " This replaces the \"ss58Format\" property declared in the chain spec. Reason is",
                " that the runtime should know about the prefix in order to make use of it as",
                " an identifier of the chain."
              ]
            }
          ],
          "errors": {
            "type": 542
          },
          "index": 0
        },
        {
          "name": "Babe",
          "storage": {
            "prefix": "Babe",
            "items": [
              {
                "name": "EpochIndex",
                "modifier": "Default",
                "type": {
                  "plain": 12
                },
                "fallback": "0x0000000000000000",
                "docs": [
                  " Current epoch index."
                ]
              },
              {
                "name": "Authorities",
                "modifier": "Default",
                "type": {
                  "plain": 543
                },
                "fallback": "0x00",
                "docs": [
                  " Current epoch authorities."
                ]
              },
              {
                "name": "GenesisSlot",
                "modifier": "Default",
                "type": {
                  "plain": 96
                },
                "fallback": "0x0000000000000000",
                "docs": [
                  " The slot at which the first epoch actually started. This is 0",
                  " until the first block of the chain."
                ]
              },
              {
                "name": "CurrentSlot",
                "modifier": "Default",
                "type": {
                  "plain": 96
                },
                "fallback": "0x0000000000000000",
                "docs": [
                  " Current slot number."
                ]
              },
              {
                "name": "Randomness",
                "modifier": "Default",
                "type": {
                  "plain": 1
                },
                "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",
                "docs": [
                  " The epoch randomness for the *current* epoch.",
                  "",
                  " # Security",
                  "",
                  " This MUST NOT be used for gambling, as it can be influenced by a",
                  " malicious validator in the short term. It MAY be used in many",
                  " cryptographic protocols, however, so long as one remembers that this",
                  " (like everything else on-chain) it is public. For example, it can be",
                  " used where a number is needed that cannot have been chosen by an",
                  " adversary, for purposes such as public-coin zero-knowledge proofs."
                ]
              },
              {
                "name": "PendingEpochConfigChange",
                "modifier": "Optional",
                "type": {
                  "plain": 98
                },
                "fallback": "0x00",
                "docs": [
                  " Pending epoch configuration change that will be applied when the next epoch is enacted."
                ]
              },
              {
                "name": "NextRandomness",
                "modifier": "Default",
                "type": {
                  "plain": 1
                },
                "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",
                "docs": [
                  " Next epoch randomness."
                ]
              },
              {
                "name": "NextAuthorities",
                "modifier": "Default",
                "type": {
                  "plain": 543
                },
                "fallback": "0x00",
                "docs": [
                  " Next epoch authorities."
                ]
              },
              {
                "name": "SegmentIndex",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " Randomness under construction.",
                  "",
                  " We make a trade-off between storage accesses and list length.",
                  " We store the under-construction randomness in segments of up to",
                  " `UNDER_CONSTRUCTION_SEGMENT_LENGTH`.",
                  "",
                  " Once a segment reaches this length, we begin the next one.",
                  " We reset all segments and return to `0` at the beginning of every",
                  " epoch."
                ]
              },
              {
                "name": "UnderConstruction",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 546
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " TWOX-NOTE: `SegmentIndex` is an increasing integer, so this is okay."
                ]
              },
              {
                "name": "Initialized",
                "modifier": "Optional",
                "type": {
                  "plain": 548
                },
                "fallback": "0x00",
                "docs": [
                  " Temporary value (cleared at block finalization) which is `Some`",
                  " if per-block initialization has already been called for current block."
                ]
              },
              {
                "name": "AuthorVrfRandomness",
                "modifier": "Default",
                "type": {
                  "plain": 492
                },
                "fallback": "0x00",
                "docs": [
                  " This field should always be populated during block processing unless",
                  " secondary plain slots are enabled (which don't contain a VRF output).",
                  "",
                  " It is set in `on_finalize`, before it will contain the value from the last block."
                ]
              },
              {
                "name": "EpochStart",
                "modifier": "Default",
                "type": {
                  "plain": 189
                },
                "fallback": "0x0000000000000000",
                "docs": [
                  " The block numbers when the last and current epoch have started, respectively `N-1` and",
                  " `N`.",
                  " NOTE: We track this is in order to annotate the block number when a given pool of",
                  " entropy was fixed (i.e. it was known to chain observers). Since epochs are defined in",
                  " slots, which may be skipped, the block numbers may not line up with the slot numbers."
                ]
              },
              {
                "name": "Lateness",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " How late the current block is compared to its parent.",
                  "",
                  " This entry is populated as part of block execution and is cleaned up",
                  " on block finalization. Querying this storage entry outside of block",
                  " execution context should always yield zero."
                ]
              },
              {
                "name": "EpochConfig",
                "modifier": "Optional",
                "type": {
                  "plain": 554
                },
                "fallback": "0x00",
                "docs": [
                  " The configuration for the current epoch. Should never be `None` as it is initialized in",
                  " genesis."
                ]
              },
              {
                "name": "NextEpochConfig",
                "modifier": "Optional",
                "type": {
                  "plain": 554
                },
                "fallback": "0x00",
                "docs": [
                  " The configuration for the next epoch, `None` if the config will not change",
                  " (you can fallback to `EpochConfig` instead in that case)."
                ]
              },
              {
                "name": "SkippedEpochs",
                "modifier": "Default",
                "type": {
                  "plain": 555
                },
                "fallback": "0x00",
                "docs": [
                  " A list of the last 100 skipped epochs and the corresponding session index",
                  " when the epoch was skipped.",
                  "",
                  " This is only used for validating equivocation proofs. An equivocation proof",
                  " must contains a key-ownership proof for a given session, therefore we need a",
                  " way to tie together sessions and epoch indices, i.e. we need to validate that",
                  " a validator was the owner of a given key on a given session, and what the",
                  " active epoch index was during that session."
                ]
              }
            ]
          },
          "calls": {
            "type": 92
          },
          "events": null,
          "constants": [
            {
              "name": "EpochDuration",
              "type": 12,
              "value": "0x5802000000000000",
              "docs": [
                " The amount of time, in slots, that each epoch should last.",
                " NOTE: Currently it is not possible to change the epoch duration after",
                " the chain has started. Attempting to do so will brick block production."
              ]
            },
            {
              "name": "ExpectedBlockTime",
              "type": 12,
              "value": "0x7017000000000000",
              "docs": [
                " The expected average block time at which BABE should be creating",
                " blocks. Since BABE is probabilistic it is not trivial to figure out",
                " what the expected average block time should be based on the slot",
                " duration and the security parameter `c` (where `1 - c` represents",
                " the probability of a slot being empty)."
              ]
            },
            {
              "name": "MaxAuthorities",
              "type": 4,
              "value": "0xa0860100",
              "docs": [
                " Max number of authorities allowed"
              ]
            },
            {
              "name": "MaxNominators",
              "type": 4,
              "value": "0x00020000",
              "docs": [
                " The maximum number of nominators for each validator."
              ]
            }
          ],
          "errors": {
            "type": 558
          },
          "index": 1
        },
        {
          "name": "Timestamp",
          "storage": {
            "prefix": "Timestamp",
            "items": [
              {
                "name": "Now",
                "modifier": "Default",
                "type": {
                  "plain": 12
                },
                "fallback": "0x0000000000000000",
                "docs": [
                  " The current time for the current block."
                ]
              },
              {
                "name": "DidUpdate",
                "modifier": "Default",
                "type": {
                  "plain": 8
                },
                "fallback": "0x00",
                "docs": [
                  " Whether the timestamp has been updated in this block.",
                  "",
                  " This value is updated to `true` upon successful submission of a timestamp by a node.",
                  " It is then checked at the end of each block execution in the `on_finalize` hook."
                ]
              }
            ]
          },
          "calls": {
            "type": 101
          },
          "events": null,
          "constants": [
            {
              "name": "MinimumPeriod",
              "type": 12,
              "value": "0xb80b000000000000",
              "docs": [
                " The minimum period between blocks.",
                "",
                " Be aware that this is different to the *expected* period that the block production",
                " apparatus provides. Your chosen consensus system will generally work with this to",
                " determine a sensible block time. For example, in the Aura pallet it will be double this",
                " period on default settings."
              ]
            }
          ],
          "errors": null,
          "index": 2
        },
        {
          "name": "Indices",
          "storage": {
            "prefix": "Indices",
            "items": [
              {
                "name": "Accounts",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 4,
                    "value": 559
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The lookup from index to account."
                ]
              }
            ]
          },
          "calls": {
            "type": 102
          },
          "events": {
            "type": 31
          },
          "constants": [
            {
              "name": "Deposit",
              "type": 6,
              "value": "0x344dd2c2070000000000000000000000",
              "docs": [
                " The deposit needed for reserving an index."
              ]
            }
          ],
          "errors": {
            "type": 560
          },
          "index": 3
        },
        {
          "name": "Balances",
          "storage": {
            "prefix": "Balances",
            "items": [
              {
                "name": "TotalIssuance",
                "modifier": "Default",
                "type": {
                  "plain": 6
                },
                "fallback": "0x00000000000000000000000000000000",
                "docs": [
                  " The total units issued in the system."
                ]
              },
              {
                "name": "InactiveIssuance",
                "modifier": "Default",
                "type": {
                  "plain": 6
                },
                "fallback": "0x00000000000000000000000000000000",
                "docs": [
                  " The total units of outstanding deactivated balance in the system."
                ]
              },
              {
                "name": "Account",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 0,
                    "value": 5
                  }
                },
                "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080",
                "docs": [
                  " The Balances pallet example of storing the balance of an account.",
                  "",
                  " # Example",
                  "",
                  " ```nocompile",
                  "  impl pallet_balances::Config for Runtime {",
                  "    type AccountStore = StorageMapShim<Self::Account<Runtime>, frame_system::Provider<Runtime>, AccountId, Self::AccountData<Balance>>",
                  "  }",
                  " ```",
                  "",
                  " You can also store the balance of an account in the `System` pallet.",
                  "",
                  " # Example",
                  "",
                  " ```nocompile",
                  "  impl pallet_balances::Config for Runtime {",
                  "   type AccountStore = System",
                  "  }",
                  " ```",
                  "",
                  " But this comes with tradeoffs, storing account balances in the system pallet stores",
                  " `frame_system` data alongside the account data contrary to storing account balances in the",
                  " `Balances` pallet, which uses a `StorageMap` to store balances data only.",
                  " NOTE: This is only used in the case that this pallet is used to store balances."
                ]
              },
              {
                "name": "Locks",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 0,
                    "value": 561
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Any liquidity locks on some account balances.",
                  " NOTE: Should only be accessed when setting, changing and freeing a lock.",
                  "",
                  " Use of locks is deprecated in favour of freezes. See `https://github.com/pezkuwichain/bizinikiwi/pull/12951/`"
                ]
              },
              {
                "name": "Reserves",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 0,
                    "value": 565
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Named reserves on some account balances.",
                  "",
                  " Use of reserves is deprecated in favour of holds. See `https://github.com/pezkuwichain/bizinikiwi/pull/12951/`"
                ]
              },
              {
                "name": "Holds",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 0,
                    "value": 568
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Holds on account balances."
                ]
              },
              {
                "name": "Freezes",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 0,
                    "value": 574
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Freeze locks on account balances."
                ]
              }
            ]
          },
          "calls": {
            "type": 106
          },
          "events": {
            "type": 32
          },
          "constants": [
            {
              "name": "ExistentialDeposit",
              "type": 6,
              "value": "0x5543de13000000000000000000000000",
              "docs": [
                " The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!",
                "",
                " If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for",
                " this pallet. However, you do so at your own risk: this will open up a major DoS vector.",
                " In case you have multiple sources of provider references, you may also get unexpected",
                " behaviour if you set this to zero.",
                "",
                " Bottom line: Do yourself a favour and make it at least one!"
              ]
            },
            {
              "name": "MaxLocks",
              "type": 4,
              "value": "0x32000000",
              "docs": [
                " The maximum number of locks that should exist on an account.",
                " Not strictly enforced, but used for weight estimation.",
                "",
                " Use of locks is deprecated in favour of freezes. See `https://github.com/pezkuwichain/bizinikiwi/pull/12951/`"
              ]
            },
            {
              "name": "MaxReserves",
              "type": 4,
              "value": "0x32000000",
              "docs": [
                " The maximum number of named reserves that can exist on an account.",
                "",
                " Use of reserves is deprecated in favour of holds. See `https://github.com/pezkuwichain/bizinikiwi/pull/12951/`"
              ]
            },
            {
              "name": "MaxFreezes",
              "type": 4,
              "value": "0x08000000",
              "docs": [
                " The maximum number of individual freeze locks that can exist on an account at any time."
              ]
            }
          ],
          "errors": {
            "type": 579
          },
          "index": 4
        },
        {
          "name": "TransactionPayment",
          "storage": {
            "prefix": "TransactionPayment",
            "items": [
              {
                "name": "NextFeeMultiplier",
                "modifier": "Default",
                "type": {
                  "plain": 456
                },
                "fallback": "0x000064a7b3b6e00d0000000000000000",
                "docs": []
              },
              {
                "name": "StorageVersion",
                "modifier": "Default",
                "type": {
                  "plain": 580
                },
                "fallback": "0x00",
                "docs": []
              }
            ]
          },
          "calls": null,
          "events": {
            "type": 34
          },
          "constants": [
            {
              "name": "OperationalFeeMultiplier",
              "type": 2,
              "value": "0x05",
              "docs": [
                " A fee multiplier for `Operational` extrinsics to compute \"virtual tip\" to boost their",
                " `priority`",
                "",
                " This value is multiplied by the `final_fee` to obtain a \"virtual tip\" that is later",
                " added to a tip component in regular `priority` calculations.",
                " It means that a `Normal` transaction can front-run a similarly-sized `Operational`",
                " extrinsic (with no tip), by including a tip value greater than the virtual tip.",
                "",
                " ```rust,ignore",
                " // For `Normal`",
                " let priority = priority_calc(tip);",
                "",
                " // For `Operational`",
                " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;",
                " let priority = priority_calc(tip + virtual_tip);",
                " ```",
                "",
                " Note that since we use `final_fee` the multiplier applies also to the regular `tip`",
                " sent with the transaction. So, not only does the transaction get a priority bump based",
                " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`",
                " transactions."
              ]
            }
          ],
          "errors": null,
          "index": 33
        },
        {
          "name": "Authorship",
          "storage": {
            "prefix": "Authorship",
            "items": [
              {
                "name": "Author",
                "modifier": "Optional",
                "type": {
                  "plain": 0
                },
                "fallback": "0x00",
                "docs": [
                  " Author of current block."
                ]
              }
            ]
          },
          "calls": null,
          "events": null,
          "constants": [],
          "errors": null,
          "index": 5
        },
        {
          "name": "Staking",
          "storage": {
            "prefix": "Staking",
            "items": [
              {
                "name": "ValidatorCount",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " The ideal number of active validators."
                ]
              },
              {
                "name": "MinimumValidatorCount",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " Minimum number of staking participants before emergency conditions are imposed."
                ]
              },
              {
                "name": "Invulnerables",
                "modifier": "Default",
                "type": {
                  "plain": 107
                },
                "fallback": "0x00",
                "docs": [
                  " Any validators that may never be slashed or forcibly kicked. It's a Vec since they're",
                  " easy to initialize and the performance hit is minimal (we expect no more than four",
                  " invulnerables) and restricted to testnets."
                ]
              },
              {
                "name": "Bonded",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 0,
                    "value": 0
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Map from all locked \"stash\" accounts to the controller account.",
                  "",
                  " TWOX-NOTE: SAFE since `AccountId` is a secure hash."
                ]
              },
              {
                "name": "MinNominatorBond",
                "modifier": "Default",
                "type": {
                  "plain": 6
                },
                "fallback": "0x00000000000000000000000000000000",
                "docs": [
                  " The minimum active bond to become and maintain the role of a nominator."
                ]
              },
              {
                "name": "MinValidatorBond",
                "modifier": "Default",
                "type": {
                  "plain": 6
                },
                "fallback": "0x00000000000000000000000000000000",
                "docs": [
                  " The minimum active bond to become and maintain the role of a validator."
                ]
              },
              {
                "name": "MinimumActiveStake",
                "modifier": "Default",
                "type": {
                  "plain": 6
                },
                "fallback": "0x00000000000000000000000000000000",
                "docs": [
                  " The minimum active nominator stake of the last successful election."
                ]
              },
              {
                "name": "MinCommission",
                "modifier": "Default",
                "type": {
                  "plain": 37
                },
                "fallback": "0x00000000",
                "docs": [
                  " The minimum amount of commission that validators can set.",
                  "",
                  " If set to `0`, no limit exists."
                ]
              },
              {
                "name": "Ledger",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 0,
                    "value": 581
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Map from all (unlocked) \"controller\" accounts to the info regarding the staking.",
                  "",
                  " Note: All the reads and mutations to this storage *MUST* be done through the methods exposed",
                  " by [`StakingLedger`] to ensure data and lock consistency."
                ]
              },
              {
                "name": "Payee",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 0,
                    "value": 36
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Where the reward payment should be made. Keyed by stash.",
                  "",
                  " TWOX-NOTE: SAFE since `AccountId` is a secure hash."
                ]
              },
              {
                "name": "Validators",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 0,
                    "value": 38
                  }
                },
                "fallback": "0x0000",
                "docs": [
                  " The map from (wannabe) validator stash key to the preferences of that validator.",
                  "",
                  " TWOX-NOTE: SAFE since `AccountId` is a secure hash."
                ]
              },
              {
                "name": "CounterForValidators",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  "Counter for the related counted storage map"
                ]
              },
              {
                "name": "MaxValidatorsCount",
                "modifier": "Optional",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00",
                "docs": [
                  " The maximum validator count before we stop allowing new validators to join.",
                  "",
                  " When this value is not set, no limits are enforced."
                ]
              },
              {
                "name": "Nominators",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 0,
                    "value": 583
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The map from nominator stash key to their nomination preferences, namely the validators that",
                  " they wish to support.",
                  "",
                  " Note that the keys of this storage map might become non-decodable in case the",
                  " account's [`NominationsQuota::MaxNominations`] configuration is decreased.",
                  " In this rare case, these nominators",
                  " are still existent in storage, their key is correct and retrievable (i.e. `contains_key`",
                  " indicates that they exist), but their value cannot be decoded. Therefore, the non-decodable",
                  " nominators will effectively not-exist, until they re-submit their preferences such that it",
                  " is within the bounds of the newly set `Config::MaxNominations`.",
                  "",
                  " This implies that `::iter_keys().count()` and `::iter().count()` might return different",
                  " values for this map. Moreover, the main `::count()` is aligned with the former, namely the",
                  " number of keys that exist.",
                  "",
                  " Lastly, if any of the nominators become non-decodable, they can be chilled immediately via",
                  " [`Call::chill_other`] dispatchable by anyone.",
                  "",
                  " TWOX-NOTE: SAFE since `AccountId` is a secure hash."
                ]
              },
              {
                "name": "CounterForNominators",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  "Counter for the related counted storage map"
                ]
              },
              {
                "name": "VirtualStakers",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 0,
                    "value": 104
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Stakers whose funds are managed by other pallets.",
                  "",
                  " This pallet does not apply any locks on them, therefore they are only virtually bonded. They",
                  " are expected to be keyless accounts and hence should not be allowed to mutate their ledger",
                  " directly via this pallet. Instead, these accounts are managed by other pallets and accessed",
                  " via low level apis. We keep track of them to do minimal integrity checks."
                ]
              },
              {
                "name": "CounterForVirtualStakers",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  "Counter for the related counted storage map"
                ]
              },
              {
                "name": "MaxNominatorsCount",
                "modifier": "Optional",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00",
                "docs": [
                  " The maximum nominator count before we stop allowing new validators to join.",
                  "",
                  " When this value is not set, no limits are enforced."
                ]
              },
              {
                "name": "CurrentEra",
                "modifier": "Optional",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00",
                "docs": [
                  " The current era index.",
                  "",
                  " This is the latest planned era, depending on how the Session pallet queues the validator",
                  " set, it might be active or not."
                ]
              },
              {
                "name": "ActiveEra",
                "modifier": "Optional",
                "type": {
                  "plain": 585
                },
                "fallback": "0x00",
                "docs": [
                  " The active era information, it holds index and start.",
                  "",
                  " The active era is the era being currently rewarded. Validator set of this era must be",
                  " equal to [`SessionInterface::validators`]."
                ]
              },
              {
                "name": "ErasStartSessionIndex",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 4
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The session index at which the era start for the last [`Config::HistoryDepth`] eras.",
                  "",
                  " Note: This tracks the starting session (i.e. session index when era start being active)",
                  " for the eras in `[CurrentEra - HISTORY_DEPTH, CurrentEra]`."
                ]
              },
              {
                "name": "ErasStakers",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Twox64Concat"
                    ],
                    "key": 587,
                    "value": 588
                  }
                },
                "fallback": "0x000000",
                "docs": [
                  " Exposure of validator at era.",
                  "",
                  " This is keyed first by the era index to allow bulk deletion and then the stash account.",
                  "",
                  " Is it removed after [`Config::HistoryDepth`] eras.",
                  " If stakers hasn't been set or has been removed then empty exposure is returned.",
                  "",
                  " Note: Deprecated since v14. Use `EraInfo` instead to work with exposures."
                ]
              },
              {
                "name": "ErasStakersOverview",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Twox64Concat"
                    ],
                    "key": 587,
                    "value": 591
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Summary of validator exposure at a given era.",
                  "",
                  " This contains the total stake in support of the validator and their own stake. In addition,",
                  " it can also be used to get the number of nominators backing this validator and the number of",
                  " exposure pages they are divided into. The page count is useful to determine the number of",
                  " pages of rewards that needs to be claimed.",
                  "",
                  " This is keyed first by the era index to allow bulk deletion and then the stash account.",
                  " Should only be accessed through `EraInfo`.",
                  "",
                  " Is it removed after [`Config::HistoryDepth`] eras.",
                  " If stakers hasn't been set or has been removed then empty overview is returned."
                ]
              },
              {
                "name": "ErasStakersClipped",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Twox64Concat"
                    ],
                    "key": 587,
                    "value": 588
                  }
                },
                "fallback": "0x000000",
                "docs": [
                  " Clipped Exposure of validator at era.",
                  "",
                  " Note: This is deprecated, should be used as read-only and will be removed in the future.",
                  " New `Exposure`s are stored in a paged manner in `ErasStakersPaged` instead.",
                  "",
                  " This is similar to [`ErasStakers`] but number of nominators exposed is reduced to the",
                  " `T::MaxExposurePageSize` biggest stakers.",
                  " (Note: the field `total` and `own` of the exposure remains unchanged).",
                  " This is used to limit the i/o cost for the nominator payout.",
                  "",
                  " This is keyed fist by the era index to allow bulk deletion and then the stash account.",
                  "",
                  " It is removed after [`Config::HistoryDepth`] eras.",
                  " If stakers hasn't been set or has been removed then empty exposure is returned.",
                  "",
                  " Note: Deprecated since v14. Use `EraInfo` instead to work with exposures."
                ]
              },
              {
                "name": "ErasStakersPaged",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Twox64Concat",
                      "Twox64Concat"
                    ],
                    "key": 592,
                    "value": 593
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Paginated exposure of a validator at given era.",
                  "",
                  " This is keyed first by the era index to allow bulk deletion, then stash account and finally",
                  " the page. Should only be accessed through `EraInfo`.",
                  "",
                  " This is cleared after [`Config::HistoryDepth`] eras."
                ]
              },
              {
                "name": "ClaimedRewards",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Twox64Concat"
                    ],
                    "key": 587,
                    "value": 112
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " History of claimed paged rewards by era and validator.",
                  "",
                  " This is keyed by era and validator stash which maps to the set of page indexes which have",
                  " been claimed.",
                  "",
                  " It is removed after [`Config::HistoryDepth`] eras."
                ]
              },
              {
                "name": "ErasValidatorPrefs",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Twox64Concat"
                    ],
                    "key": 587,
                    "value": 38
                  }
                },
                "fallback": "0x0000",
                "docs": [
                  " Similar to `ErasStakers`, this holds the preferences of validators.",
                  "",
                  " This is keyed first by the era index to allow bulk deletion and then the stash account.",
                  "",
                  " Is it removed after [`Config::HistoryDepth`] eras."
                ]
              },
              {
                "name": "ErasValidatorReward",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 6
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The total validator era payout for the last [`Config::HistoryDepth`] eras.",
                  "",
                  " Eras that haven't finished yet or has been removed doesn't have reward."
                ]
              },
              {
                "name": "ErasRewardPoints",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 594
                  }
                },
                "fallback": "0x0000000000",
                "docs": [
                  " Rewards for the last [`Config::HistoryDepth`] eras.",
                  " If reward hasn't been set or has been removed then 0 reward is returned."
                ]
              },
              {
                "name": "ErasTotalStake",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 6
                  }
                },
                "fallback": "0x00000000000000000000000000000000",
                "docs": [
                  " The total amount staked for the last [`Config::HistoryDepth`] eras.",
                  " If total hasn't been set or has been removed then 0 stake is returned."
                ]
              },
              {
                "name": "ForceEra",
                "modifier": "Default",
                "type": {
                  "plain": 40
                },
                "fallback": "0x00",
                "docs": [
                  " Mode of era forcing."
                ]
              },
              {
                "name": "MaxStakedRewards",
                "modifier": "Optional",
                "type": {
                  "plain": 111
                },
                "fallback": "0x00",
                "docs": [
                  " Maximum staked rewards, i.e. the percentage of the era inflation that",
                  " is used for stake rewards.",
                  " See [Era payout](./index.html#era-payout)."
                ]
              },
              {
                "name": "SlashRewardFraction",
                "modifier": "Default",
                "type": {
                  "plain": 37
                },
                "fallback": "0x00000000",
                "docs": [
                  " The percentage of the slash that is distributed to reporters.",
                  "",
                  " The rest of the slashed value is handled by the `Slash`."
                ]
              },
              {
                "name": "CanceledSlashPayout",
                "modifier": "Default",
                "type": {
                  "plain": 6
                },
                "fallback": "0x00000000000000000000000000000000",
                "docs": [
                  " The amount of currency given to reporters of a slash event which was",
                  " canceled by extraordinary circumstances (e.g. governance)."
                ]
              },
              {
                "name": "UnappliedSlashes",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 598
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " All unapplied slashes that are queued for later."
                ]
              },
              {
                "name": "BondedEras",
                "modifier": "Default",
                "type": {
                  "plain": 528
                },
                "fallback": "0x00",
                "docs": [
                  " A mapping from still-bonded eras to the first session index of that era.",
                  "",
                  " Must contains information for eras for the range:",
                  " `[active_era - bounding_duration; active_era]`"
                ]
              },
              {
                "name": "ValidatorSlashInEra",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Twox64Concat"
                    ],
                    "key": 587,
                    "value": 600
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " All slashing events on validators, mapped by era to the highest slash proportion",
                  " and slash value of the era."
                ]
              },
              {
                "name": "NominatorSlashInEra",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Twox64Concat"
                    ],
                    "key": 587,
                    "value": 6
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " All slashing events on nominators, mapped by era to the highest slash value of the era."
                ]
              },
              {
                "name": "SlashingSpans",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 0,
                    "value": 601
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Slashing spans for stash accounts."
                ]
              },
              {
                "name": "SpanSlash",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 597,
                    "value": 602
                  }
                },
                "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",
                "docs": [
                  " Records information about the maximum slash of a stash within a slashing span,",
                  " as well as how much reward has been paid out."
                ]
              },
              {
                "name": "CurrentPlannedSession",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " The last planned session scheduled by the session pallet.",
                  "",
                  " This is basically in sync with the call to [`pallet_session::SessionManager::new_session`]."
                ]
              },
              {
                "name": "DisabledValidators",
                "modifier": "Default",
                "type": {
                  "plain": 112
                },
                "fallback": "0x00",
                "docs": [
                  " Indices of validators that have offended in the active era. The offenders are disabled for a",
                  " whole era. For this reason they are kept here - only staking pallet knows about eras. The",
                  " implementor of [`DisablingStrategy`] defines if a validator should be disabled which",
                  " implicitly means that the implementor also controls the max number of disabled validators.",
                  "",
                  " The vec is always kept sorted so that we can find whether a given validator has previously",
                  " offended using binary search."
                ]
              },
              {
                "name": "ChillThreshold",
                "modifier": "Optional",
                "type": {
                  "plain": 111
                },
                "fallback": "0x00",
                "docs": [
                  " The threshold for when users can start calling `chill_other` for other validators /",
                  " nominators. The threshold is compared to the actual number of validators / nominators",
                  " (`CountFor*`) in the system compared to the configured max (`Max*Count`)."
                ]
              }
            ]
          },
          "calls": {
            "type": 109
          },
          "events": {
            "type": 35
          },
          "constants": [
            {
              "name": "HistoryDepth",
              "type": 4,
              "value": "0x54000000",
              "docs": [
                " Number of eras to keep in history.",
                "",
                " Following information is kept for eras in `[current_era -",
                " HistoryDepth, current_era]`: `ErasStakers`, `ErasStakersClipped`,",
                " `ErasValidatorPrefs`, `ErasValidatorReward`, `ErasRewardPoints`,",
                " `ErasTotalStake`, `ErasStartSessionIndex`, `ClaimedRewards`, `ErasStakersPaged`,",
                " `ErasStakersOverview`.",
                "",
                " Must be more than the number of eras delayed by session.",
                " I.e. active era must always be in history. I.e. `active_era >",
                " current_era - history_depth` must be guaranteed.",
                "",
                " If migrating an existing pallet from storage value to config value,",
                " this should be set to same value or greater as in storage.",
                "",
                " Note: `HistoryDepth` is used as the upper bound for the `BoundedVec`",
                " item `StakingLedger.legacy_claimed_rewards`. Setting this value lower than",
                " the existing value can lead to inconsistencies in the",
                " `StakingLedger` and will need to be handled properly in a migration.",
                " The test `reducing_history_depth_abrupt` shows this effect."
              ]
            },
            {
              "name": "SessionsPerEra",
              "type": 4,
              "value": "0x06000000",
              "docs": [
                " Number of sessions per era."
              ]
            },
            {
              "name": "BondingDuration",
              "type": 4,
              "value": "0x1c000000",
              "docs": [
                " Number of eras that staked funds must remain bonded for."
              ]
            },
            {
              "name": "SlashDeferDuration",
              "type": 4,
              "value": "0x1b000000",
              "docs": [
                " Number of eras that slashes are deferred by, after computation.",
                "",
                " This should be less than the bonding duration. Set to 0 if slashes",
                " should be applied immediately, without opportunity for intervention."
              ]
            },
            {
              "name": "MaxExposurePageSize",
              "type": 4,
              "value": "0x00020000",
              "docs": [
                " The maximum size of each `T::ExposurePage`.",
                "",
                " An `ExposurePage` is weakly bounded to a maximum of `MaxExposurePageSize`",
                " nominators.",
                "",
                " For older non-paged exposure, a reward payout was restricted to the top",
                " `MaxExposurePageSize` nominators. This is to limit the i/o cost for the",
                " nominator payout.",
                "",
                " Note: `MaxExposurePageSize` is used to bound `ClaimedRewards` and is unsafe to reduce",
                " without handling it in a migration."
              ]
            },
            {
              "name": "MaxUnlockingChunks",
              "type": 4,
              "value": "0x20000000",
              "docs": [
                " The maximum number of `unlocking` chunks a [`StakingLedger`] can",
                " have. Effectively determines how many unique eras a staker may be",
                " unbonding in.",
                "",
                " Note: `MaxUnlockingChunks` is used as the upper bound for the",
                " `BoundedVec` item `StakingLedger.unlocking`. Setting this value",
                " lower than the existing value can lead to inconsistencies in the",
                " `StakingLedger` and will need to be handled properly in a runtime",
                " migration. The test `reducing_max_unlocking_chunks_abrupt` shows",
                " this effect."
              ]
            }
          ],
          "errors": {
            "type": 603
          },
          "index": 6
        },
        {
          "name": "Offences",
          "storage": {
            "prefix": "Offences",
            "items": [
              {
                "name": "Reports",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 13,
                    "value": 604
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The primary structure that holds all offence records keyed by report identifiers."
                ]
              },
              {
                "name": "ConcurrentReportsIndex",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Twox64Concat"
                    ],
                    "key": 606,
                    "value": 197
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " A vector of reports of the same kind that happened at the same time slot."
                ]
              }
            ]
          },
          "calls": null,
          "events": {
            "type": 41
          },
          "constants": [],
          "errors": null,
          "index": 7
        },
        {
          "name": "Historical",
          "storage": {
            "prefix": "Historical",
            "items": [
              {
                "name": "HistoricalSessions",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 607
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Mapping from historical session indices to session-data root hash and validator count."
                ]
              },
              {
                "name": "StoredRange",
                "modifier": "Optional",
                "type": {
                  "plain": 189
                },
                "fallback": "0x00",
                "docs": [
                  " The range of historical sessions we store. [first, last)"
                ]
              }
            ]
          },
          "calls": null,
          "events": null,
          "constants": [],
          "errors": null,
          "index": 34
        },
        {
          "name": "Session",
          "storage": {
            "prefix": "Session",
            "items": [
              {
                "name": "Validators",
                "modifier": "Default",
                "type": {
                  "plain": 107
                },
                "fallback": "0x00",
                "docs": [
                  " The current set of validators."
                ]
              },
              {
                "name": "CurrentIndex",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " Current index of the session."
                ]
              },
              {
                "name": "QueuedChanged",
                "modifier": "Default",
                "type": {
                  "plain": 8
                },
                "fallback": "0x00",
                "docs": [
                  " True if the underlying economic identities or weighting behind the validators",
                  " has changed in the queued validator set."
                ]
              },
              {
                "name": "QueuedKeys",
                "modifier": "Default",
                "type": {
                  "plain": 608
                },
                "fallback": "0x00",
                "docs": [
                  " The queued keys for the next session. When the next session begins, these keys",
                  " will be used to determine the validator's session keys."
                ]
              },
              {
                "name": "DisabledValidators",
                "modifier": "Default",
                "type": {
                  "plain": 112
                },
                "fallback": "0x00",
                "docs": [
                  " Indices of disabled validators.",
                  "",
                  " The vec is always kept sorted so that we can find whether a given validator is",
                  " disabled using binary search. It gets cleared when `on_session_ending` returns",
                  " a new set of identities."
                ]
              },
              {
                "name": "NextKeys",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 0,
                    "value": 125
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The next session keys for a validator."
                ]
              },
              {
                "name": "KeyOwner",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 610,
                    "value": 0
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The owner of a key. The key is the `KeyTypeId` + the encoded key."
                ]
              }
            ]
          },
          "calls": {
            "type": 124
          },
          "events": {
            "type": 43
          },
          "constants": [],
          "errors": {
            "type": 612
          },
          "index": 8
        },
        {
          "name": "Grandpa",
          "storage": {
            "prefix": "Grandpa",
            "items": [
              {
                "name": "State",
                "modifier": "Default",
                "type": {
                  "plain": 613
                },
                "fallback": "0x00",
                "docs": [
                  " State of the current authority set."
                ]
              },
              {
                "name": "PendingChange",
                "modifier": "Optional",
                "type": {
                  "plain": 614
                },
                "fallback": "0x00",
                "docs": [
                  " Pending change: (signaled at, scheduled change)."
                ]
              },
              {
                "name": "NextForced",
                "modifier": "Optional",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00",
                "docs": [
                  " next block number where we can force a change."
                ]
              },
              {
                "name": "Stalled",
                "modifier": "Optional",
                "type": {
                  "plain": 189
                },
                "fallback": "0x00",
                "docs": [
                  " `true` if we are currently stalled."
                ]
              },
              {
                "name": "CurrentSetId",
                "modifier": "Default",
                "type": {
                  "plain": 12
                },
                "fallback": "0x0000000000000000",
                "docs": [
                  " The number of changes (both in terms of keys and underlying economic responsibilities)",
                  " in the \"set\" of Grandpa validators from genesis."
                ]
              },
              {
                "name": "SetIdSession",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 12,
                    "value": 4
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " A mapping from grandpa set ID to the index of the *most recent* session for which its",
                  " members were responsible.",
                  "",
                  " This is only used for validating equivocation proofs. An equivocation proof must",
                  " contains a key-ownership proof for a given session, therefore we need a way to tie",
                  " together sessions and GRANDPA set ids, i.e. we need to validate that a validator",
                  " was the owner of a given key on a given session, and what the active set ID was",
                  " during that session.",
                  "",
                  " TWOX-NOTE: `SetId` is not under user control."
                ]
              },
              {
                "name": "Authorities",
                "modifier": "Default",
                "type": {
                  "plain": 615
                },
                "fallback": "0x00",
                "docs": [
                  " The current list of authorities."
                ]
              }
            ]
          },
          "calls": {
            "type": 131
          },
          "events": {
            "type": 44
          },
          "constants": [
            {
              "name": "MaxAuthorities",
              "type": 4,
              "value": "0xa0860100",
              "docs": [
                " Max Authorities in use"
              ]
            },
            {
              "name": "MaxNominators",
              "type": 4,
              "value": "0x00020000",
              "docs": [
                " The maximum number of nominators for each validator."
              ]
            },
            {
              "name": "MaxSetIdSessionEntries",
              "type": 12,
              "value": "0xa800000000000000",
              "docs": [
                " The maximum number of entries to keep in the set id to session index mapping.",
                "",
                " Since the `SetIdSession` map is only used for validating equivocations this",
                " value should relate to the bonding duration of whatever staking system is",
                " being used (if any). If equivocation handling is not enabled then this value",
                " can be zero."
              ]
            }
          ],
          "errors": {
            "type": 616
          },
          "index": 10
        },
        {
          "name": "AuthorityDiscovery",
          "storage": {
            "prefix": "AuthorityDiscovery",
            "items": [
              {
                "name": "Keys",
                "modifier": "Default",
                "type": {
                  "plain": 617
                },
                "fallback": "0x00",
                "docs": [
                  " Keys of the current authority set."
                ]
              },
              {
                "name": "NextKeys",
                "modifier": "Default",
                "type": {
                  "plain": 617
                },
                "fallback": "0x00",
                "docs": [
                  " Keys of the next authority set."
                ]
              }
            ]
          },
          "calls": null,
          "events": null,
          "constants": [],
          "errors": null,
          "index": 12
        },
        {
          "name": "Treasury",
          "storage": {
            "prefix": "Treasury",
            "items": [
              {
                "name": "ProposalCount",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " Number of proposals that have been made."
                ]
              },
              {
                "name": "Proposals",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 619
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Proposals that have been made."
                ]
              },
              {
                "name": "Deactivated",
                "modifier": "Default",
                "type": {
                  "plain": 6
                },
                "fallback": "0x00000000000000000000000000000000",
                "docs": [
                  " The amount which has been reported as inactive to Currency."
                ]
              },
              {
                "name": "Approvals",
                "modifier": "Default",
                "type": {
                  "plain": 620
                },
                "fallback": "0x00",
                "docs": [
                  " Proposal indices that have been approved but not yet awarded."
                ]
              },
              {
                "name": "SpendCount",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " The count of spends that have been made."
                ]
              },
              {
                "name": "Spends",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 621
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Spends that have been approved and being processed."
                ]
              }
            ]
          },
          "calls": {
            "type": 142
          },
          "events": {
            "type": 48
          },
          "constants": [
            {
              "name": "SpendPeriod",
              "type": 4,
              "value": "0x80510100",
              "docs": [
                " Period between successive spends."
              ]
            },
            {
              "name": "Burn",
              "type": 623,
              "value": "0xd0070000",
              "docs": [
                " Percentage of spare funds (if any) that are burnt per spend period."
              ]
            },
            {
              "name": "PalletId",
              "type": 624,
              "value": "0x70792f7472737279",
              "docs": [
                " The treasury's pallet id, used for deriving its sovereign account ID."
              ]
            },
            {
              "name": "MaxApprovals",
              "type": 4,
              "value": "0x64000000",
              "docs": [
                " The maximum number of approvals that can wait in the spending queue.",
                "",
                " NOTE: This parameter is also used within the Bounties Pallet extension if enabled."
              ]
            },
            {
              "name": "PayoutPeriod",
              "type": 4,
              "value": "0x80970600",
              "docs": [
                " The period during which an approved treasury spend has to be claimed."
              ]
            }
          ],
          "errors": {
            "type": 625
          },
          "index": 18
        },
        {
          "name": "ConvictionVoting",
          "storage": {
            "prefix": "ConvictionVoting",
            "items": [
              {
                "name": "VotingFor",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Twox64Concat"
                    ],
                    "key": 626,
                    "value": 627
                  }
                },
                "fallback": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                "docs": [
                  " All voting for a particular voter in a particular voting class. We store the balance for the",
                  " number of votes that we have recorded."
                ]
              },
              {
                "name": "ClassLocksFor",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 0,
                    "value": 635
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The voting classes which have a non-zero lock requirement and the lock amounts which they",
                  " require. The actual amount locked on behalf of this pallet should always be the maximum of",
                  " this list."
                ]
              }
            ]
          },
          "calls": {
            "type": 144
          },
          "events": {
            "type": 83
          },
          "constants": [
            {
              "name": "MaxVotes",
              "type": 4,
              "value": "0x00020000",
              "docs": [
                " The maximum number of concurrent votes an account may have.",
                "",
                " Also used to compute weight, an overly large value can lead to extrinsics with large",
                " weight estimation: see `delegate` for instance."
              ]
            },
            {
              "name": "VoteLockingPeriod",
              "type": 4,
              "value": "0xc0890100",
              "docs": [
                " The minimum period of vote locking.",
                "",
                " It should be no shorter than enactment period to ensure that in the case of an approval,",
                " those successful voters are locked into the consequences that their votes entail."
              ]
            }
          ],
          "errors": {
            "type": 638
          },
          "index": 20
        },
        {
          "name": "Referenda",
          "storage": {
            "prefix": "Referenda",
            "items": [
              {
                "name": "ReferendumCount",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " The next free referendum index, aka the number of referenda started so far."
                ]
              },
              {
                "name": "ReferendumInfoFor",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 4,
                    "value": 639
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Information concerning any given referendum."
                ]
              },
              {
                "name": "TrackQueue",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 85,
                    "value": 647
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The sorted list of referenda ready to be decided but not yet being decided, ordered by",
                  " conviction-weighted approvals.",
                  "",
                  " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."
                ]
              },
              {
                "name": "DecidingCount",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 85,
                    "value": 4
                  }
                },
                "fallback": "0x00000000",
                "docs": [
                  " The number of referenda being decided currently."
                ]
              },
              {
                "name": "MetadataOf",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 4,
                    "value": 13
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The metadata is a general information concerning the referendum.",
                  " The `Hash` refers to the preimage of the `Preimages` provider which can be a JSON",
                  " dump or IPFS hash of a JSON file.",
                  "",
                  " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)",
                  " large preimages."
                ]
              }
            ]
          },
          "calls": {
            "type": 149
          },
          "events": {
            "type": 84
          },
          "constants": [
            {
              "name": "SubmissionDeposit",
              "type": 6,
              "value": "0x554dd2c2070000000000000000000000",
              "docs": [
                " The minimum amount to be used as a deposit for a public referendum proposal."
              ]
            },
            {
              "name": "MaxQueued",
              "type": 4,
              "value": "0x64000000",
              "docs": [
                " Maximum size of the referendum queue for a single track."
              ]
            },
            {
              "name": "UndecidingTimeout",
              "type": 4,
              "value": "0x80130300",
              "docs": [
                " The number of blocks after submission that a referendum must begin being decided by.",
                " Once this passes, then anyone may cancel the referendum."
              ]
            },
            {
              "name": "AlarmInterval",
              "type": 4,
              "value": "0x01000000",
              "docs": [
                " Quantization level for the referendum wakeup scheduler. A higher number will result in",
                " fewer storage reads/writes needed for smaller voters, but also result in delays to the",
                " automatic referendum status changes. Explicit servicing instructions are unaffected."
              ]
            },
            {
              "name": "Tracks",
              "type": 650,
              "value": "0x40000010726f6f740100000020d33f25a6d70b000000000000000000b00400008013030040380000403800000290d73e0d000000005743de13000000005443de13000000000000ca9a3b000000000065cd1d01004877686974656c69737465645f63616c6c65726400000050c8ec362a2f010000000000000000002c01000080130300640000006400000002ec972510000000007b573c170000000042392f1200000000020e00840000000000d6e61f0100000000396279020000000002003c776973685f666f725f6368616e67650a000000a090d96d545e02000000000000000000b00400008013030040380000640000000290d73e0d000000005743de13000000005443de13000000000000ca9a3b000000000065cd1d0a00347374616b696e675f61646d696e0a0000002864761b959700000000000000000000b004000080130300080700006400000000c94330240065cd1d00ca9a3b025d6f780000000000e82eed00000000008c6889ffffffffff0b00247472656173757265720a00000008147e05511e00000000000000000000b00400008013030080700000403800000290d73e0d000000005743de13000000005443de13000000000000ca9a3b000000000065cd1d0c002c6c656173655f61646d696e0a0000002864761b959700000000000000000000b004000080130300080700006400000000c94330240065cd1d00ca9a3b025d6f780000000000e82eed00000000008c6889ffffffffff0d004066656c6c6f77736869705f61646d696e0a0000002864761b959700000000000000000000b004000080130300080700006400000000c94330240065cd1d00ca9a3b025d6f780000000000e82eed00000000008c6889ffffffffff0e003467656e6572616c5f61646d696e0a0000002864761b959700000000000000000000b00400008013030008070000640000000290d73e0d000000005743de13000000005443de13000000000259a2f40200000000a3296b05000000002e6b4afdffffffff0f003461756374696f6e5f61646d696e0a0000002864761b959700000000000000000000b00400008013030008070000640000000290d73e0d000000005743de13000000005443de13000000000259a2f40200000000a3296b05000000002e6b4afdffffffff1400507265666572656e64756d5f63616e63656c6c6572e803000050c8ec362a2f01000000000000000000b0040000c0890100080700006400000000c94330240065cd1d00ca9a3b025d6f780000000000e82eed00000000008c6889ffffffffff1500447265666572656e64756d5f6b696c6c6572e803000090e99f12d3eb05000000000000000000b004000080130300080700006400000000c94330240065cd1d00ca9a3b025d6f780000000000e82eed00000000008c6889ffffffffff1e0030736d616c6c5f746970706572c8000000554dd2c20700000000000000000000000a000000c0890100640000000a00000000499149150065cd1d00ca9a3b02f9ba1800000000002a4d3100000000006b59e7ffffffffff1f00286269675f746970706572640000005205379c4d000000000000000000000064000000c0890100580200006400000000499149150065cd1d00ca9a3b02694f3f000000000035967d0000000000e534c1ffffffffff200034736d616c6c5f7370656e646572320000003435261a0803000000000000000000006009000080130300201c00004038000000c94330240065cd1d00ca9a3b025d6f780000000000e82eed00000000008c6889ffffffffff2100386d656469756d5f7370656e64657232000000686a4c3410060000000000000000000060090000801303004038000040380000005b01f6300065cd1d00ca9a3b021161db0000000000bfd1aa010000000020972affffffffff22002c6269675f7370656e64657232000000d0d49868200c00000000000000000000600900008013030080700000403800000000ca9a3b0065cd1d00ca9a3b02413cb00100000000755d34030000000045d165feffffffff",
              "docs": [
                " Information concerning the different referendum tracks."
              ]
            }
          ],
          "errors": {
            "type": 656
          },
          "index": 21
        },
        {
          "name": "FellowshipCollective",
          "storage": {
            "prefix": "FellowshipCollective",
            "items": [
              {
                "name": "MemberCount",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 85,
                    "value": 4
                  }
                },
                "fallback": "0x00000000",
                "docs": [
                  " The number of members in the collective who have at least the rank according to the index",
                  " of the vec."
                ]
              },
              {
                "name": "Members",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 0,
                    "value": 657
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The current members of the collective."
                ]
              },
              {
                "name": "IdToIndex",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Twox64Concat"
                    ],
                    "key": 658,
                    "value": 4
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The index of each ranks's member into the group of members who have at least that rank."
                ]
              },
              {
                "name": "IndexToId",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Twox64Concat"
                    ],
                    "key": 659,
                    "value": 0
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The members in the collective by index. All indices in the range `0..MemberCount` will",
                  " return `Some`, however a member's index is not guaranteed to remain unchanged over time."
                ]
              },
              {
                "name": "Voting",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat",
                      "Twox64Concat"
                    ],
                    "key": 587,
                    "value": 470
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Votes on a given proposal, if it is ongoing."
                ]
              },
              {
                "name": "VotingCleanup",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 4,
                    "value": 660
                  }
                },
                "fallback": "0x00",
                "docs": []
              }
            ]
          },
          "calls": {
            "type": 159
          },
          "events": {
            "type": 469
          },
          "constants": [],
          "errors": {
            "type": 661
          },
          "index": 22
        },
        {
          "name": "FellowshipReferenda",
          "storage": {
            "prefix": "FellowshipReferenda",
            "items": [
              {
                "name": "ReferendumCount",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " The next free referendum index, aka the number of referenda started so far."
                ]
              },
              {
                "name": "ReferendumInfoFor",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 4,
                    "value": 662
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Information concerning any given referendum."
                ]
              },
              {
                "name": "TrackQueue",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 85,
                    "value": 664
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The sorted list of referenda ready to be decided but not yet being decided, ordered by",
                  " conviction-weighted approvals.",
                  "",
                  " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."
                ]
              },
              {
                "name": "DecidingCount",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 85,
                    "value": 4
                  }
                },
                "fallback": "0x00000000",
                "docs": [
                  " The number of referenda being decided currently."
                ]
              },
              {
                "name": "MetadataOf",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 4,
                    "value": 13
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The metadata is a general information concerning the referendum.",
                  " The `Hash` refers to the preimage of the `Preimages` provider which can be a JSON",
                  " dump or IPFS hash of a JSON file.",
                  "",
                  " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)",
                  " large preimages."
                ]
              }
            ]
          },
          "calls": {
            "type": 160
          },
          "events": {
            "type": 472
          },
          "constants": [
            {
              "name": "SubmissionDeposit",
              "type": 6,
              "value": "0x00000000000000000000000000000000",
              "docs": [
                " The minimum amount to be used as a deposit for a public referendum proposal."
              ]
            },
            {
              "name": "MaxQueued",
              "type": 4,
              "value": "0x64000000",
              "docs": [
                " Maximum size of the referendum queue for a single track."
              ]
            },
            {
              "name": "UndecidingTimeout",
              "type": 4,
              "value": "0xc0890100",
              "docs": [
                " The number of blocks after submission that a referendum must begin being decided by.",
                " Once this passes, then anyone may cancel the referendum."
              ]
            },
            {
              "name": "AlarmInterval",
              "type": 4,
              "value": "0x01000000",
              "docs": [
                " Quantization level for the referendum wakeup scheduler. A higher number will result in",
                " fewer storage reads/writes needed for smaller voters, but also result in delays to the",
                " automatic referendum status changes. Explicit servicing instructions are unaffected."
              ]
            },
            {
              "name": "Tracks",
              "type": 650,
              "value": "0x2800002863616e646964617465730a0000003435261a0803000000000000000000002c010000c08901002c0100000a0000000000ca9a3b0065cd1d00ca9a3b0000ca9a3b000000000065cd1d01001c6d656d626572730a0000005205379c4d00000000000000000000002c010000c08901002c0100000a0000000000ca9a3b0065cd1d00ca9a3b0000ca9a3b000000000065cd1d02002c70726f66696369656e74730a0000005205379c4d00000000000000000000002c010000c08901002c0100000a0000000000ca9a3b0065cd1d00ca9a3b0000ca9a3b000000000065cd1d03001c66656c6c6f77730a0000005205379c4d00000000000000000000002c010000c08901002c0100000a0000000000ca9a3b0065cd1d00ca9a3b0000ca9a3b000000000065cd1d04003873656e696f722066656c6c6f77730a0000005205379c4d00000000000000000000002c010000c08901002c0100000a0000000000ca9a3b0065cd1d00ca9a3b0000ca9a3b000000000065cd1d05001c657870657274730a000000554dd2c20700000000000000000000002c010000c08901002c0100000a0000000000ca9a3b0065cd1d00ca9a3b0000ca9a3b000000000065cd1d06003873656e696f7220657870657274730a000000554dd2c20700000000000000000000002c010000c08901002c0100000a0000000000ca9a3b0065cd1d00ca9a3b0000ca9a3b000000000065cd1d07001c6d6173746572730a000000554dd2c20700000000000000000000002c010000c08901002c0100000a0000000000ca9a3b0065cd1d00ca9a3b0000ca9a3b000000000065cd1d08003873656e696f72206d6173746572730a000000554dd2c20700000000000000000000002c010000c08901002c0100000a0000000000ca9a3b0065cd1d00ca9a3b0000ca9a3b000000000065cd1d0900346772616e64206d6173746572730a000000554dd2c20700000000000000000000002c010000c08901002c0100000a0000000000ca9a3b0065cd1d00ca9a3b0000ca9a3b000000000065cd1d",
              "docs": [
                " Information concerning the different referendum tracks."
              ]
            }
          ],
          "errors": {
            "type": 665
          },
          "index": 23
        },
        {
          "name": "Origins",
          "storage": null,
          "calls": null,
          "events": null,
          "constants": [],
          "errors": null,
          "index": 43
        },
        {
          "name": "Whitelist",
          "storage": {
            "prefix": "Whitelist",
            "items": [
              {
                "name": "WhitelistedCall",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 13,
                    "value": 104
                  }
                },
                "fallback": "0x00",
                "docs": []
              }
            ]
          },
          "calls": {
            "type": 161
          },
          "events": {
            "type": 473
          },
          "constants": [],
          "errors": {
            "type": 666
          },
          "index": 44
        },
        {
          "name": "Parameters",
          "storage": {
            "prefix": "Parameters",
            "items": [
              {
                "name": "Parameters",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 479,
                    "value": 482
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Stored parameters."
                ]
              }
            ]
          },
          "calls": {
            "type": 162
          },
          "events": {
            "type": 478
          },
          "constants": [],
          "errors": null,
          "index": 46
        },
        {
          "name": "Claims",
          "storage": {
            "prefix": "Claims",
            "items": [
              {
                "name": "Claims",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Identity"
                    ],
                    "key": 176,
                    "value": 6
                  }
                },
                "fallback": "0x00",
                "docs": []
              },
              {
                "name": "Total",
                "modifier": "Default",
                "type": {
                  "plain": 6
                },
                "fallback": "0x00000000000000000000000000000000",
                "docs": []
              },
              {
                "name": "Vesting",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Identity"
                    ],
                    "key": 176,
                    "value": 178
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Vesting schedule for a claim.",
                  " First balance is the total amount that should be held for vesting.",
                  " Second balance is how much should be unlocked per block.",
                  " The block number is when the vesting should start."
                ]
              },
              {
                "name": "Signing",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Identity"
                    ],
                    "key": 176,
                    "value": 180
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The statement kind that must be signed, if any."
                ]
              },
              {
                "name": "Preclaims",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Identity"
                    ],
                    "key": 0,
                    "value": 176
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Pre-claimed Ethereum accounts, by the Account ID that they are claimed to."
                ]
              }
            ]
          },
          "calls": {
            "type": 173
          },
          "events": {
            "type": 484
          },
          "constants": [
            {
              "name": "Prefix",
              "type": 14,
              "value": "0x7c506179204b534d7320746f20746865204b7573616d61206163636f756e743a",
              "docs": []
            }
          ],
          "errors": {
            "type": 667
          },
          "index": 19
        },
        {
          "name": "Utility",
          "storage": null,
          "calls": {
            "type": 181
          },
          "events": {
            "type": 485
          },
          "constants": [
            {
              "name": "batched_calls_limit",
              "type": 4,
              "value": "0xaa2a0000",
              "docs": [
                " The limit on the number of batched calls."
              ]
            }
          ],
          "errors": {
            "type": 668
          },
          "index": 24
        },
        {
          "name": "Society",
          "storage": {
            "prefix": "Society",
            "items": [
              {
                "name": "Parameters",
                "modifier": "Optional",
                "type": {
                  "plain": 488
                },
                "fallback": "0x00",
                "docs": [
                  " The max number of members for the society at one time."
                ]
              },
              {
                "name": "Pot",
                "modifier": "Default",
                "type": {
                  "plain": 6
                },
                "fallback": "0x00000000000000000000000000000000",
                "docs": [
                  " Amount of our account balance that is specifically for the next round's bid(s)."
                ]
              },
              {
                "name": "Founder",
                "modifier": "Optional",
                "type": {
                  "plain": 0
                },
                "fallback": "0x00",
                "docs": [
                  " The first member."
                ]
              },
              {
                "name": "Head",
                "modifier": "Optional",
                "type": {
                  "plain": 0
                },
                "fallback": "0x00",
                "docs": [
                  " The most primary from the most recently approved rank 0 members in the society."
                ]
              },
              {
                "name": "Rules",
                "modifier": "Optional",
                "type": {
                  "plain": 13
                },
                "fallback": "0x00",
                "docs": [
                  " A hash of the rules of this society concerning membership. Can only be set once and",
                  " only by the founder."
                ]
              },
              {
                "name": "Members",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 0,
                    "value": 669
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The current members and their rank. Doesn't include `SuspendedMembers`."
                ]
              },
              {
                "name": "Payouts",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 0,
                    "value": 672
                  }
                },
                "fallback": "0x0000000000000000000000000000000000",
                "docs": [
                  " Information regarding rank-0 payouts, past and future."
                ]
              },
              {
                "name": "MemberCount",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " The number of items in `Members` currently. (Doesn't include `SuspendedMembers`.)"
                ]
              },
              {
                "name": "MemberByIndex",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 0
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The current items in `Members` keyed by their unique index. Keys are densely populated",
                  " `0..MemberCount` (does not include `MemberCount`)."
                ]
              },
              {
                "name": "SuspendedMembers",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 0,
                    "value": 669
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The set of suspended members, with their old membership record."
                ]
              },
              {
                "name": "RoundCount",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " The number of rounds which have passed."
                ]
              },
              {
                "name": "Bids",
                "modifier": "Default",
                "type": {
                  "plain": 674
                },
                "fallback": "0x00",
                "docs": [
                  " The current bids, stored ordered by the value of the bid."
                ]
              },
              {
                "name": "Candidates",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 0,
                    "value": 678
                  }
                },
                "fallback": "0x00",
                "docs": []
              },
              {
                "name": "Skeptic",
                "modifier": "Optional",
                "type": {
                  "plain": 0
                },
                "fallback": "0x00",
                "docs": [
                  " The current skeptic."
                ]
              },
              {
                "name": "Votes",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Twox64Concat"
                    ],
                    "key": 680,
                    "value": 681
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Double map from Candidate -> Voter -> (Maybe) Vote."
                ]
              },
              {
                "name": "VoteClearCursor",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 0,
                    "value": 682
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Clear-cursor for Vote, map from Candidate -> (Maybe) Cursor."
                ]
              },
              {
                "name": "NextHead",
                "modifier": "Optional",
                "type": {
                  "plain": 683
                },
                "fallback": "0x00",
                "docs": [
                  " At the end of the claim period, this contains the most recently approved members (along with",
                  " their bid and round ID) who is from the most recent round with the lowest bid. They will",
                  " become the new `Head`."
                ]
              },
              {
                "name": "ChallengeRoundCount",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " The number of challenge rounds there have been. Used to identify stale DefenderVotes."
                ]
              },
              {
                "name": "Defending",
                "modifier": "Optional",
                "type": {
                  "plain": 684
                },
                "fallback": "0x00",
                "docs": [
                  " The defending member currently being challenged, along with a running tally of votes."
                ]
              },
              {
                "name": "DefenderVotes",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Twox64Concat"
                    ],
                    "key": 587,
                    "value": 681
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Votes for the defender, keyed by challenge round."
                ]
              }
            ]
          },
          "calls": {
            "type": 183
          },
          "events": {
            "type": 487
          },
          "constants": [
            {
              "name": "PalletId",
              "type": 624,
              "value": "0x70792f736f636965",
              "docs": [
                " The societies's pallet id"
              ]
            },
            {
              "name": "GraceStrikes",
              "type": 4,
              "value": "0x0a000000",
              "docs": [
                " The maximum number of strikes before a member gets funds slashed."
              ]
            },
            {
              "name": "PeriodSpend",
              "type": 6,
              "value": "0x040abf82280f00000000000000000000",
              "docs": [
                " The amount of incentive paid within each period. Doesn't include VoterTip."
              ]
            },
            {
              "name": "VotingPeriod",
              "type": 4,
              "value": "0x40190100",
              "docs": [
                " The number of blocks on which new candidates should be voted on. Together with",
                " `ClaimPeriod`, this sums to the number of blocks between candidate intake periods."
              ]
            },
            {
              "name": "ClaimPeriod",
              "type": 4,
              "value": "0x80700000",
              "docs": [
                " The number of blocks on which new candidates can claim their membership and be the",
                " named head."
              ]
            },
            {
              "name": "MaxLockDuration",
              "type": 4,
              "value": "0x004eed00",
              "docs": [
                " The maximum duration of the payout lock."
              ]
            },
            {
              "name": "ChallengePeriod",
              "type": 4,
              "value": "0xc0890100",
              "docs": [
                " The number of blocks between membership challenges."
              ]
            },
            {
              "name": "MaxPayouts",
              "type": 4,
              "value": "0x08000000",
              "docs": [
                " The maximum number of payouts a member may have waiting unclaimed."
              ]
            },
            {
              "name": "MaxBids",
              "type": 4,
              "value": "0x00020000",
              "docs": [
                " The maximum number of bids at once."
              ]
            }
          ],
          "errors": {
            "type": 685
          },
          "index": 26
        },
        {
          "name": "Recovery",
          "storage": {
            "prefix": "Recovery",
            "items": [
              {
                "name": "Recoverable",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 0,
                    "value": 686
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The set of recoverable accounts and their recovery configuration."
                ]
              },
              {
                "name": "ActiveRecoveries",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Twox64Concat"
                    ],
                    "key": 680,
                    "value": 688
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Active recovery attempts.",
                  "",
                  " First account is the account to be recovered, and the second account",
                  " is the user trying to recover the account."
                ]
              },
              {
                "name": "Proxy",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 0,
                    "value": 0
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The list of allowed proxy accounts.",
                  "",
                  " Map from the user who can access it to the recovered account."
                ]
              }
            ]
          },
          "calls": {
            "type": 184
          },
          "events": {
            "type": 489
          },
          "constants": [
            {
              "name": "ConfigDepositBase",
              "type": 6,
              "value": "0x04821bce260000000000000000000000",
              "docs": [
                " The base amount of currency needed to reserve for creating a recovery configuration.",
                "",
                " This is held for an additional storage item whose value size is",
                " `2 + sizeof(BlockNumber, Balance)` bytes."
              ]
            },
            {
              "name": "FriendDepositFactor",
              "type": 6,
              "value": "0x9a2669e1030000000000000000000000",
              "docs": [
                " The amount of currency needed per additional user when creating a recovery",
                " configuration.",
                "",
                " This is held for adding `sizeof(AccountId)` bytes more into a pre-existing storage",
                " value."
              ]
            },
            {
              "name": "MaxFriends",
              "type": 4,
              "value": "0x09000000",
              "docs": [
                " The maximum amount of friends allowed in a recovery configuration.",
                "",
                " NOTE: The threshold programmed in this Pallet uses u16, so it does",
                " not really make sense to have a limit here greater than u16::MAX.",
                " But also, that is a lot more than you should probably set this value",
                " to anyway..."
              ]
            },
            {
              "name": "RecoveryDeposit",
              "type": 6,
              "value": "0x04821bce260000000000000000000000",
              "docs": [
                " The base amount of currency needed to reserve for starting a recovery.",
                "",
                " This is primarily held for deterring malicious recovery attempts, and should",
                " have a value large enough that a bad actor would choose not to place this",
                " deposit. It also acts to fund additional storage item whose value size is",
                " `sizeof(BlockNumber, Balance + T * AccountId)` bytes. Where T is a configurable",
                " threshold."
              ]
            }
          ],
          "errors": {
            "type": 689
          },
          "index": 27
        },
        {
          "name": "Vesting",
          "storage": {
            "prefix": "Vesting",
            "items": [
              {
                "name": "Vesting",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 0,
                    "value": 690
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Information regarding the vesting of a given account."
                ]
              },
              {
                "name": "StorageVersion",
                "modifier": "Default",
                "type": {
                  "plain": 692
                },
                "fallback": "0x00",
                "docs": [
                  " Storage version of the pallet.",
                  "",
                  " New networks start with latest version, as determined by the genesis build."
                ]
              }
            ]
          },
          "calls": {
            "type": 185
          },
          "events": {
            "type": 490
          },
          "constants": [
            {
              "name": "MinVestedTransfer",
              "type": 6,
              "value": "0x344dd2c2070000000000000000000000",
              "docs": [
                " The minimum amount transferred to call `vested_transfer`."
              ]
            },
            {
              "name": "MaxVestingSchedules",
              "type": 4,
              "value": "0x1c000000",
              "docs": []
            }
          ],
          "errors": {
            "type": 693
          },
          "index": 28
        },
        {
          "name": "Scheduler",
          "storage": {
            "prefix": "Scheduler",
            "items": [
              {
                "name": "IncompleteSince",
                "modifier": "Optional",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00",
                "docs": []
              },
              {
                "name": "Agenda",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 694
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Items to be executed, indexed by the block number that they should be executed on."
                ]
              },
              {
                "name": "Retries",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 189,
                    "value": 698
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Retry configurations for items to be executed, indexed by task address."
                ]
              },
              {
                "name": "Lookup",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 1,
                    "value": 189
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Lookup from a name to the block number and index of the task.",
                  "",
                  " For v3 -> v4 the previously unbounded identities are Blake2-256 hashed to form the v4",
                  " identities."
                ]
              }
            ]
          },
          "calls": {
            "type": 187
          },
          "events": {
            "type": 491
          },
          "constants": [
            {
              "name": "MaximumWeight",
              "type": 10,
              "value": "0x0b00806e87740113cccccccccccccccc",
              "docs": [
                " The maximum weight that may be scheduled per block for any dispatchables."
              ]
            },
            {
              "name": "MaxScheduledPerBlock",
              "type": 4,
              "value": "0x32000000",
              "docs": [
                " The maximum number of scheduled calls in the queue for a single block.",
                "",
                " NOTE:",
                " + Dependent pallets' benchmarks might require a higher limit for the setting. Set a",
                " higher limit under `runtime-benchmarks` feature."
              ]
            }
          ],
          "errors": {
            "type": 699
          },
          "index": 29
        },
        {
          "name": "Proxy",
          "storage": {
            "prefix": "Proxy",
            "items": [
              {
                "name": "Proxies",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 0,
                    "value": 700
                  }
                },
                "fallback": "0x0000000000000000000000000000000000",
                "docs": [
                  " The set of account proxies. Maps the account which has delegated to the accounts",
                  " which are being delegated to, together with the amount held on deposit."
                ]
              },
              {
                "name": "Announcements",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 0,
                    "value": 704
                  }
                },
                "fallback": "0x0000000000000000000000000000000000",
                "docs": [
                  " The announcements made by the proxy (key)."
                ]
              }
            ]
          },
          "calls": {
            "type": 190
          },
          "events": {
            "type": 493
          },
          "constants": [
            {
              "name": "ProxyDepositBase",
              "type": 6,
              "value": "0xb00953489b0000000000000000000000",
              "docs": [
                " The base amount of currency needed to reserve for creating a proxy.",
                "",
                " This is held for an additional storage item whose value size is",
                " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes."
              ]
            },
            {
              "name": "ProxyDepositFactor",
              "type": 6,
              "value": "0xb4a69041000000000000000000000000",
              "docs": [
                " The amount of currency needed per proxy added.",
                "",
                " This is held for adding 32 bytes plus an instance of `ProxyType` more into a",
                " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take",
                " into account `32 + proxy_type.encode().len()` bytes of data."
              ]
            },
            {
              "name": "MaxProxies",
              "type": 4,
              "value": "0x20000000",
              "docs": [
                " The maximum amount of proxies allowed for a single account."
              ]
            },
            {
              "name": "MaxPending",
              "type": 4,
              "value": "0x20000000",
              "docs": [
                " The maximum amount of time-delayed announcements that are allowed to be pending."
              ]
            },
            {
              "name": "AnnouncementDepositBase",
              "type": 6,
              "value": "0xb00953489b0000000000000000000000",
              "docs": [
                " The base amount of currency needed to reserve for creating an announcement.",
                "",
                " This is held when a new storage item holding a `Balance` is created (typically 16",
                " bytes)."
              ]
            },
            {
              "name": "AnnouncementDepositFactor",
              "type": 6,
              "value": "0x684d2183000000000000000000000000",
              "docs": [
                " The amount of currency needed per announcement made.",
                "",
                " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)",
                " into a pre-existing storage value."
              ]
            }
          ],
          "errors": {
            "type": 708
          },
          "index": 30
        },
        {
          "name": "Multisig",
          "storage": {
            "prefix": "Multisig",
            "items": [
              {
                "name": "Multisigs",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Blake2_128Concat"
                    ],
                    "key": 709,
                    "value": 710
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The set of open multisig operations."
                ]
              }
            ]
          },
          "calls": {
            "type": 193
          },
          "events": {
            "type": 494
          },
          "constants": [
            {
              "name": "DepositBase",
              "type": 6,
              "value": "0xf01945e79b0000000000000000000000",
              "docs": [
                " The base amount of currency needed to reserve for creating a multisig execution or to",
                " store a dispatch call for later.",
                "",
                " This is held for an additional storage item whose value size is",
                " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is",
                " `32 + sizeof(AccountId)` bytes."
              ]
            },
            {
              "name": "DepositFactor",
              "type": 6,
              "value": "0x8006943f000000000000000000000000",
              "docs": [
                " The amount of currency needed per unit threshold when creating a multisig execution.",
                "",
                " This is held for adding 32 bytes more into a pre-existing storage value."
              ]
            },
            {
              "name": "MaxSignatories",
              "type": 4,
              "value": "0x64000000",
              "docs": [
                " The maximum amount of signatories allowed in the multisig."
              ]
            }
          ],
          "errors": {
            "type": 712
          },
          "index": 31
        },
        {
          "name": "Preimage",
          "storage": {
            "prefix": "Preimage",
            "items": [
              {
                "name": "StatusFor",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Identity"
                    ],
                    "key": 13,
                    "value": 713
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The request status of a given hash."
                ]
              },
              {
                "name": "RequestStatusFor",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Identity"
                    ],
                    "key": 13,
                    "value": 715
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The request status of a given hash."
                ]
              },
              {
                "name": "PreimageFor",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Identity"
                    ],
                    "key": 607,
                    "value": 719
                  }
                },
                "fallback": "0x00",
                "docs": []
              }
            ]
          },
          "calls": {
            "type": 196
          },
          "events": {
            "type": 495
          },
          "constants": [],
          "errors": {
            "type": 720
          },
          "index": 32
        },
        {
          "name": "Bounties",
          "storage": {
            "prefix": "Bounties",
            "items": [
              {
                "name": "BountyCount",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " Number of bounty proposals that have been made."
                ]
              },
              {
                "name": "Bounties",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 721
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Bounties that have been made."
                ]
              },
              {
                "name": "BountyDescriptions",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 723
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The description of each bounty."
                ]
              },
              {
                "name": "BountyApprovals",
                "modifier": "Default",
                "type": {
                  "plain": 620
                },
                "fallback": "0x00",
                "docs": [
                  " Bounty indices that have been approved but not yet funded."
                ]
              }
            ]
          },
          "calls": {
            "type": 198
          },
          "events": {
            "type": 496
          },
          "constants": [
            {
              "name": "BountyDepositBase",
              "type": 6,
              "value": "0x344dd2c2070000000000000000000000",
              "docs": [
                " The amount held on deposit for placing a bounty proposal."
              ]
            },
            {
              "name": "BountyDepositPayoutDelay",
              "type": 4,
              "value": "0x00000000",
              "docs": [
                " The delay period for which a bounty beneficiary need to wait before claim the payout."
              ]
            },
            {
              "name": "BountyUpdatePeriod",
              "type": 4,
              "value": "0x80c61300",
              "docs": [
                " Bounty duration in blocks."
              ]
            },
            {
              "name": "CuratorDepositMultiplier",
              "type": 623,
              "value": "0x20a10700",
              "docs": [
                " The curator deposit is calculated as a percentage of the curator fee.",
                "",
                " This deposit has optional upper and lower bounds with `CuratorDepositMax` and",
                " `CuratorDepositMin`."
              ]
            },
            {
              "name": "CuratorDepositMax",
              "type": 119,
              "value": "0x0104821bce260000000000000000000000",
              "docs": [
                " Maximum amount of funds that should be placed in a deposit for making a proposal."
              ]
            },
            {
              "name": "CuratorDepositMin",
              "type": 119,
              "value": "0x0152a1aec6000000000000000000000000",
              "docs": [
                " Minimum amount of funds that should be placed in a deposit for making a proposal."
              ]
            },
            {
              "name": "BountyValueMinimum",
              "type": 6,
              "value": "0x689aa4850f0000000000000000000000",
              "docs": [
                " Minimum value for a bounty."
              ]
            },
            {
              "name": "DataDepositPerByte",
              "type": 6,
              "value": "0x5543de13000000000000000000000000",
              "docs": [
                " The amount held on deposit per byte within the tip report reason or bounty description."
              ]
            },
            {
              "name": "MaximumReasonLength",
              "type": 4,
              "value": "0x00400000",
              "docs": [
                " Maximum acceptable reason length.",
                "",
                " Benchmarks depend on this value, be sure to update weights file when changing this value"
              ]
            }
          ],
          "errors": {
            "type": 724
          },
          "index": 35
        },
        {
          "name": "ChildBounties",
          "storage": {
            "prefix": "ChildBounties",
            "items": [
              {
                "name": "ChildBountyCount",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " Number of total child bounties."
                ]
              },
              {
                "name": "ParentChildBounties",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 4
                  }
                },
                "fallback": "0x00000000",
                "docs": [
                  " Number of child bounties per parent bounty.",
                  " Map of parent bounty index to number of child bounties."
                ]
              },
              {
                "name": "ChildBounties",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Twox64Concat"
                    ],
                    "key": 189,
                    "value": 725
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Child bounties that have been added."
                ]
              },
              {
                "name": "ChildBountyDescriptions",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 723
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The description of each child-bounty."
                ]
              },
              {
                "name": "ChildrenCuratorFees",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 6
                  }
                },
                "fallback": "0x00000000000000000000000000000000",
                "docs": [
                  " The cumulative child-bounty curator fee for each parent bounty."
                ]
              }
            ]
          },
          "calls": {
            "type": 199
          },
          "events": {
            "type": 497
          },
          "constants": [
            {
              "name": "MaxActiveChildBountyCount",
              "type": 4,
              "value": "0x64000000",
              "docs": [
                " Maximum number of child bounties that can be added to a parent bounty."
              ]
            },
            {
              "name": "ChildBountyValueMinimum",
              "type": 6,
              "value": "0xa4425d8d010000000000000000000000",
              "docs": [
                " Minimum value for a child-bounty."
              ]
            }
          ],
          "errors": {
            "type": 727
          },
          "index": 40
        },
        {
          "name": "ElectionProviderMultiPhase",
          "storage": {
            "prefix": "ElectionProviderMultiPhase",
            "items": [
              {
                "name": "Round",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x01000000",
                "docs": [
                  " Internal counter for the number of rounds.",
                  "",
                  " This is useful for de-duplication of transactions submitted to the pool, and general",
                  " diagnostics of the pallet.",
                  "",
                  " This is merely incremented once per every time that an upstream `elect` is called."
                ]
              },
              {
                "name": "CurrentPhase",
                "modifier": "Default",
                "type": {
                  "plain": 500
                },
                "fallback": "0x00",
                "docs": [
                  " Current phase."
                ]
              },
              {
                "name": "QueuedSolution",
                "modifier": "Optional",
                "type": {
                  "plain": 728
                },
                "fallback": "0x00",
                "docs": [
                  " Current best solution, signed or unsigned, queued to be returned upon `elect`.",
                  "",
                  " Always sorted by score."
                ]
              },
              {
                "name": "Snapshot",
                "modifier": "Optional",
                "type": {
                  "plain": 730
                },
                "fallback": "0x00",
                "docs": [
                  " Snapshot data of the round.",
                  "",
                  " This is created at the beginning of the signed phase and cleared upon calling `elect`.",
                  " Note: This storage type must only be mutated through [`SnapshotWrapper`]."
                ]
              },
              {
                "name": "DesiredTargets",
                "modifier": "Optional",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00",
                "docs": [
                  " Desired number of targets to elect for this round.",
                  "",
                  " Only exists when [`Snapshot`] is present.",
                  " Note: This storage type must only be mutated through [`SnapshotWrapper`]."
                ]
              },
              {
                "name": "SnapshotMetadata",
                "modifier": "Optional",
                "type": {
                  "plain": 278
                },
                "fallback": "0x00",
                "docs": [
                  " The metadata of the [`RoundSnapshot`]",
                  "",
                  " Only exists when [`Snapshot`] is present.",
                  " Note: This storage type must only be mutated through [`SnapshotWrapper`]."
                ]
              },
              {
                "name": "SignedSubmissionNextIndex",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " The next index to be assigned to an incoming signed submission.",
                  "",
                  " Every accepted submission is assigned a unique index; that index is bound to that particular",
                  " submission for the duration of the election. On election finalization, the next index is",
                  " reset to 0.",
                  "",
                  " We can't just use `SignedSubmissionIndices.len()`, because that's a bounded set; past its",
                  " capacity, it will simply saturate. We can't just iterate over `SignedSubmissionsMap`,",
                  " because iteration is slow. Instead, we store the value here."
                ]
              },
              {
                "name": "SignedSubmissionIndices",
                "modifier": "Default",
                "type": {
                  "plain": 733
                },
                "fallback": "0x00",
                "docs": [
                  " A sorted, bounded vector of `(score, block_number, index)`, where each `index` points to a",
                  " value in `SignedSubmissions`.",
                  "",
                  " We never need to process more than a single signed submission at a time. Signed submissions",
                  " can be quite large, so we're willing to pay the cost of multiple database accesses to access",
                  " them one at a time instead of reading and decoding all of them at once."
                ]
              },
              {
                "name": "SignedSubmissionsMap",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 736
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Unchecked, signed solutions.",
                  "",
                  " Together with `SubmissionIndices`, this stores a bounded set of `SignedSubmissions` while",
                  " allowing us to keep only a single one in memory at a time.",
                  "",
                  " Twox note: the key of the map is an auto-incrementing index which users cannot inspect or",
                  " affect; we shouldn't need a cryptographically secure hasher."
                ]
              },
              {
                "name": "MinimumUntrustedScore",
                "modifier": "Optional",
                "type": {
                  "plain": 277
                },
                "fallback": "0x00",
                "docs": [
                  " The minimum score that each 'untrusted' solution must attain in order to be considered",
                  " feasible.",
                  "",
                  " Can be set via `set_minimum_untrusted_score`."
                ]
              }
            ]
          },
          "calls": {
            "type": 200
          },
          "events": {
            "type": 498
          },
          "constants": [
            {
              "name": "BetterSignedThreshold",
              "type": 37,
              "value": "0x00000000",
              "docs": [
                " The minimum amount of improvement to the solution score that defines a solution as",
                " \"better\" in the Signed phase."
              ]
            },
            {
              "name": "OffchainRepeat",
              "type": 4,
              "value": "0x12000000",
              "docs": [
                " The repeat threshold of the offchain worker.",
                "",
                " For example, if it is 5, that means that at least 5 blocks will elapse between attempts",
                " to submit the worker's solution."
              ]
            },
            {
              "name": "MinerTxPriority",
              "type": 12,
              "value": "0x65666666666666e6",
              "docs": [
                " The priority of the unsigned transaction submitted in the unsigned-phase"
              ]
            },
            {
              "name": "SignedMaxSubmissions",
              "type": 4,
              "value": "0x10000000",
              "docs": [
                " Maximum number of signed submissions that can be queued.",
                "",
                " It is best to avoid adjusting this during an election, as it impacts downstream data",
                " structures. In particular, `SignedSubmissionIndices<T>` is bounded on this value. If you",
                " update this value during an election, you _must_ ensure that",
                " `SignedSubmissionIndices.len()` is less than or equal to the new value. Otherwise,",
                " attempts to submit new solutions may cause a runtime panic."
              ]
            },
            {
              "name": "SignedMaxWeight",
              "type": 10,
              "value": "0x0b88d8663c550113a3703d0ad7a370bd",
              "docs": [
                " Maximum weight of a signed solution.",
                "",
                " If [`Config::MinerConfig`] is being implemented to submit signed solutions (outside of",
                " this pallet), then [`MinerConfig::solution_weight`] is used to compare against",
                " this value."
              ]
            },
            {
              "name": "SignedMaxRefunds",
              "type": 4,
              "value": "0x04000000",
              "docs": [
                " The maximum amount of unchecked solutions to refund the call fee for."
              ]
            },
            {
              "name": "SignedRewardBase",
              "type": 6,
              "value": "0x00e87648170000000000000000000000",
              "docs": [
                " Base reward for a signed solution"
              ]
            },
            {
              "name": "SignedDepositByte",
              "type": 6,
              "value": "0x90f70400000000000000000000000000",
              "docs": [
                " Per-byte deposit for a signed solution."
              ]
            },
            {
              "name": "SignedDepositWeight",
              "type": 6,
              "value": "0x00000000000000000000000000000000",
              "docs": [
                " Per-weight deposit for a signed solution."
              ]
            },
            {
              "name": "MaxWinners",
              "type": 4,
              "value": "0xd0070000",
              "docs": [
                " The maximum number of winners that can be elected by this `ElectionProvider`",
                " implementation.",
                "",
                " Note: This must always be greater or equal to `T::DataProvider::desired_targets()`."
              ]
            },
            {
              "name": "MinerMaxLength",
              "type": 4,
              "value": "0x00003600",
              "docs": []
            },
            {
              "name": "MinerMaxWeight",
              "type": 10,
              "value": "0x0b88d8663c550113a3703d0ad7a370bd",
              "docs": []
            },
            {
              "name": "MinerMaxVotesPerVoter",
              "type": 4,
              "value": "0x18000000",
              "docs": []
            },
            {
              "name": "MinerMaxWinners",
              "type": 4,
              "value": "0xd0070000",
              "docs": []
            }
          ],
          "errors": {
            "type": 737
          },
          "index": 37
        },
        {
          "name": "Nis",
          "storage": {
            "prefix": "Nis",
            "items": [
              {
                "name": "QueueTotals",
                "modifier": "Default",
                "type": {
                  "plain": 738
                },
                "fallback": "[encoded data, 20006 characters]",
                "docs": [
                  " The totals of items and balances within each queue. Saves a lot of storage reads in the",
                  " case of sparsely packed queues.",
                  "",
                  " The vector is indexed by duration in `Period`s, offset by one, so information on the queue",
                  " whose duration is one `Period` would be storage `0`."
                ]
              },
              {
                "name": "Queues",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 4,
                    "value": 739
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The queues of bids. Indexed by duration (in `Period`s)."
                ]
              },
              {
                "name": "Summary",
                "modifier": "Default",
                "type": {
                  "plain": 742
                },
                "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000",
                "docs": [
                  " Summary information over the general state."
                ]
              },
              {
                "name": "Receipts",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 4,
                    "value": 743
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The currently outstanding receipts, indexed according to the order of creation."
                ]
              }
            ]
          },
          "calls": {
            "type": 285
          },
          "events": {
            "type": 502
          },
          "constants": [
            {
              "name": "PalletId",
              "type": 624,
              "value": "0x70792f6e69732020",
              "docs": [
                " The treasury's pallet id, used for deriving its sovereign account ID."
              ]
            },
            {
              "name": "QueueCount",
              "type": 4,
              "value": "0xf4010000",
              "docs": [
                " Number of duration queues in total. This sets the maximum duration supported, which is",
                " this value multiplied by `Period`."
              ]
            },
            {
              "name": "MaxQueueLen",
              "type": 4,
              "value": "0xe8030000",
              "docs": [
                " Maximum number of items that may be in each duration queue.",
                "",
                " Must be larger than zero."
              ]
            },
            {
              "name": "FifoQueueLen",
              "type": 4,
              "value": "0xfa000000",
              "docs": [
                " Portion of the queue which is free from ordering and just a FIFO.",
                "",
                " Must be no greater than `MaxQueueLen`."
              ]
            },
            {
              "name": "BasePeriod",
              "type": 4,
              "value": "0xc0890100",
              "docs": [
                " The base period for the duration queues. This is the common multiple across all",
                " supported freezing durations that can be bid upon."
              ]
            },
            {
              "name": "MinBid",
              "type": 6,
              "value": "0x3435261a080300000000000000000000",
              "docs": [
                " The minimum amount of funds that may be placed in a bid. Note that this",
                " does not actually limit the amount which may be represented in a receipt since bids may",
                " be split up by the system.",
                "",
                " It should be at least big enough to ensure that there is no possible storage spam attack",
                " or queue-filling attack."
              ]
            },
            {
              "name": "MinReceipt",
              "type": 167,
              "value": "0x00e8764817000000",
              "docs": [
                " The minimum amount of funds which may intentionally be left remaining under a single",
                " receipt."
              ]
            },
            {
              "name": "IntakePeriod",
              "type": 4,
              "value": "0x32000000",
              "docs": [
                " The number of blocks between consecutive attempts to dequeue bids and create receipts.",
                "",
                " A larger value results in fewer storage hits each block, but a slower period to get to",
                " the target."
              ]
            },
            {
              "name": "MaxIntakeWeight",
              "type": 10,
              "value": "0x0700d0ed902e139999999999999919",
              "docs": [
                " The maximum amount of bids that can consolidated into receipts in a single intake. A",
                " larger value here means less of the block available for transactions should there be a",
                " glut of bids."
              ]
            },
            {
              "name": "ThawThrottle",
              "type": 744,
              "value": "0x0000d9e9ac2d780305000000",
              "docs": [
                " The maximum proportion which may be thawed and the period over which it is reset."
              ]
            }
          ],
          "errors": {
            "type": 745
          },
          "index": 38
        },
        {
          "name": "NisCounterpartBalances",
          "storage": {
            "prefix": "NisCounterpartBalances",
            "items": [
              {
                "name": "TotalIssuance",
                "modifier": "Default",
                "type": {
                  "plain": 6
                },
                "fallback": "0x00000000000000000000000000000000",
                "docs": [
                  " The total units issued in the system."
                ]
              },
              {
                "name": "InactiveIssuance",
                "modifier": "Default",
                "type": {
                  "plain": 6
                },
                "fallback": "0x00000000000000000000000000000000",
                "docs": [
                  " The total units of outstanding deactivated balance in the system."
                ]
              },
              {
                "name": "Account",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 0,
                    "value": 5
                  }
                },
                "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080",
                "docs": [
                  " The Balances pallet example of storing the balance of an account.",
                  "",
                  " # Example",
                  "",
                  " ```nocompile",
                  "  impl pallet_balances::Config for Runtime {",
                  "    type AccountStore = StorageMapShim<Self::Account<Runtime>, frame_system::Provider<Runtime>, AccountId, Self::AccountData<Balance>>",
                  "  }",
                  " ```",
                  "",
                  " You can also store the balance of an account in the `System` pallet.",
                  "",
                  " # Example",
                  "",
                  " ```nocompile",
                  "  impl pallet_balances::Config for Runtime {",
                  "   type AccountStore = System",
                  "  }",
                  " ```",
                  "",
                  " But this comes with tradeoffs, storing account balances in the system pallet stores",
                  " `frame_system` data alongside the account data contrary to storing account balances in the",
                  " `Balances` pallet, which uses a `StorageMap` to store balances data only.",
                  " NOTE: This is only used in the case that this pallet is used to store balances."
                ]
              },
              {
                "name": "Locks",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 0,
                    "value": 746
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Any liquidity locks on some account balances.",
                  " NOTE: Should only be accessed when setting, changing and freeing a lock.",
                  "",
                  " Use of locks is deprecated in favour of freezes. See `https://github.com/pezkuwichain/bizinikiwi/pull/12951/`"
                ]
              },
              {
                "name": "Reserves",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 0,
                    "value": 747
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Named reserves on some account balances.",
                  "",
                  " Use of reserves is deprecated in favour of holds. See `https://github.com/pezkuwichain/bizinikiwi/pull/12951/`"
                ]
              },
              {
                "name": "Holds",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 0,
                    "value": 568
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Holds on account balances."
                ]
              },
              {
                "name": "Freezes",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 0,
                    "value": 748
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Freeze locks on account balances."
                ]
              }
            ]
          },
          "calls": {
            "type": 286
          },
          "events": {
            "type": 503
          },
          "constants": [
            {
              "name": "ExistentialDeposit",
              "type": 6,
              "value": "0x00e40b54020000000000000000000000",
              "docs": [
                " The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!",
                "",
                " If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for",
                " this pallet. However, you do so at your own risk: this will open up a major DoS vector.",
                " In case you have multiple sources of provider references, you may also get unexpected",
                " behaviour if you set this to zero.",
                "",
                " Bottom line: Do yourself a favour and make it at least one!"
              ]
            },
            {
              "name": "MaxLocks",
              "type": 4,
              "value": "0x04000000",
              "docs": [
                " The maximum number of locks that should exist on an account.",
                " Not strictly enforced, but used for weight estimation.",
                "",
                " Use of locks is deprecated in favour of freezes. See `https://github.com/pezkuwichain/bizinikiwi/pull/12951/`"
              ]
            },
            {
              "name": "MaxReserves",
              "type": 4,
              "value": "0x04000000",
              "docs": [
                " The maximum number of named reserves that can exist on an account.",
                "",
                " Use of reserves is deprecated in favour of holds. See `https://github.com/pezkuwichain/bizinikiwi/pull/12951/`"
              ]
            },
            {
              "name": "MaxFreezes",
              "type": 4,
              "value": "0x01000000",
              "docs": [
                " The maximum number of individual freeze locks that can exist on an account at any time."
              ]
            }
          ],
          "errors": {
            "type": 751
          },
          "index": 45
        },
        {
          "name": "VoterList",
          "storage": {
            "prefix": "VoterList",
            "items": [
              {
                "name": "ListNodes",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 0,
                    "value": 752
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " A single node, within some bag.",
                  "",
                  " Nodes store links forward and back within their respective bags."
                ]
              },
              {
                "name": "CounterForListNodes",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  "Counter for the related counted storage map"
                ]
              },
              {
                "name": "ListBags",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 12,
                    "value": 753
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " A bag stored in storage.",
                  "",
                  " Stores a `Bag` struct, which stores head and tail pointers to itself."
                ]
              }
            ]
          },
          "calls": {
            "type": 287
          },
          "events": {
            "type": 504
          },
          "constants": [
            {
              "name": "BagThresholds",
              "type": 754,
              "value": "0x210355a0fc0100000000daa64602000000006e739b02000000007997fc0200000000d0de6b03000000003358eb03000000000d5f7d04000000009aa6240500000000b146e4050000000067cabf0600000000d640bb07000000005350db0800000000714c250a00000000364f9f0b000000000056500d000000009862400f000000001ba17811000000006593031400000000cd42ed16000000002079431a00000000e401161e000000001ef5762200000000f90c7b2700000000e0073a2d00000000e818cf33000000008c68593b000000002ea8fc43000000000abbe14d00000000c3773759000000001986336600000000e85c13750000000018651d8600000000e846a29900000000be67feaf00000000849f9bc900000000ad2df3e60000000028f78f0801000000d817112f01000000bed32c5b01000000c2f5b38d010000000aac95c7010000002bf4e3090200000022acd855020000001060dbac020000002ef08710030000007c2eb682030000002b988205040000001754589b040000009da5fc4605000000ff099c0b060000006c3ed9ec06000000c475deee07000000960f711609000000aa2d08690a000000f892e6ec0b0000008c4638a90d000000978634a60f0000006dac44ed1100000078b93089140000001660528617000000e479cff21a0000004000ddde1e000000ffc30b5d23000000824fa082280000002793f7672e000000a638fa283500000048bfa0e53c00000047d28ac245000000c5a5ace94f000000f68e158b5b0000009083d3dd6800000066b5f72078000000cf1bc19c89000000fc6ff2a39d0000001eef5995b4000000c02092ddce000000b2ed03f9ec000000078933760f010000d30e63f8360100001252973a64010000e1230d1398010000a0722f77d301000078012180170200006533ef6f65020000428586b7be02000028e784fd24030000b13f0a269a030000d016ac5b2004000022c8b619ba04000079c7ec376a050000e092fbf7330600003d05e6141b070000f701add423080000d8108a1c53090000c8ab1b88ae0a0000b2eff0833c0c0000e858f26b040e00000f7d37ae0e100000d5a7eef264120000583f134a121500001753cb5f231800005c3664b8a61b0000a61a0af5ac1f000033f27f22492400004b3a4c1391290000288805c79d2f000037d3a7e08b360000ffa1222e7c3e0000f0c4a14394470000e5ad6f2dff510000076ebb3bee5d0000abf006ec996b00008c6c8ef4427b00003ad69a76338d0000ba57695dc0a100005dda24f04ab90000b66f609e42d400007655960f27f30000258d6c7f8a1601005169eb71143f0100b9be72cc846d01003c4b1762b7a20100cc2f3404a8df0100f7276e2a77250200480b33486f7502001d5cf5e80ad102000f6410b0fb390300a904775d32b203002de121fde73b040030afb76ca8d90400fb753e695e8e05003c44e45d615d06002cb93b35854a0700a8f8cb772c5a08007a48b90d5d9109003d3dc705d8f50a000d1e42d2348e0c001cb0be7c00620e0024796364e17910001b8ded2fc0df1200d3e942b5f69e1500e8ca99b485c41800d0c88c65525f1c00c2f577f96c8020000abce260613b250074bd4dd293a62a00ec4b61c8aadb300048b0376d08f83700c01384b1551d4000dc2bfda12172490070b645ed972254006cfc51fa516160006c93086d46686e009caae886db797e00c036837621e29000a0649b653af8a50028a34ceef61fbe00385aa297aecbd900483335165d7ef900d0cae4520ece1d010090a7aea4664701e09d92a5060d770130778edcc2a2ad01d00bb8d53b2aec0140b18c096fcb3302805193026ed98502a0f6d663a3d8e30260bbcb8701864f03a045f8b63cdfca0340816de8372c5804405e20a9d009fa04808d72453d76b30580f35bc037df8706804eeca838327b0700b198a10eef9108800b2f9b2a3dd10980a2489405043f0b00724c5a1307e20c00d8f897c605c20e009890be3de0e71000434f6546c15d1300d61cff7d4e2f16009b32b873df691900008775d0bc1c1d00da56ebaf68592100dacb4281f13326003c889ef750c32b000ab7e6cbd8213200346dad52af6d39005047e9335ec9410024ee18e8755c4b0038d4b40049545600087d76b2c2e46200981c03995c497100881e553f38c68100b0cb90a161a99400284fe59e404caa00c0e54a304015c30060cd7437b379dfffffffffffffffff",
              "docs": [
                " The list of thresholds separating the various bags.",
                "",
                " Ids are separated into unsorted bags according to their score. This specifies the",
                " thresholds separating the bags. An id's bag is the largest bag for which the id's score",
                " is less than or equal to its upper threshold.",
                "",
                " When ids are iterated, higher bags are iterated completely before lower bags. This means",
                " that iteration is _semi-sorted_: ids of higher score tend to come before ids of lower",
                " score, but peer ids within a particular bag are sorted in insertion order.",
                "",
                " # Expressing the constant",
                "",
                " This constant must be sorted in strictly increasing order. Duplicate items are not",
                " permitted.",
                "",
                " There is an implied upper limit of `Score::MAX`; that value does not need to be",
                " specified within the bag. For any two threshold lists, if one ends with",
                " `Score::MAX`, the other one does not, and they are otherwise equal, the two",
                " lists will behave identically.",
                "",
                " # Calculation",
                "",
                " It is recommended to generate the set of thresholds in a geometric series, such that",
                " there exists some constant ratio such that `threshold[k + 1] == (threshold[k] *",
                " constant_ratio).max(threshold[k] + 1)` for all `k`.",
                "",
                " The helpers in the `/utils/frame/generate-bags` module can simplify this calculation.",
                "",
                " # Examples",
                "",
                " - If `BagThresholds::get().is_empty()`, then all ids are put into the same bag, and",
                "   iteration is strictly in insertion order.",
                " - If `BagThresholds::get().len() == 64`, and the thresholds are determined according to",
                "   the procedure given above, then the constant ratio is equal to 2.",
                " - If `BagThresholds::get().len() == 200`, and the thresholds are determined according to",
                "   the procedure given above, then the constant ratio is approximately equal to 1.248.",
                " - If the threshold list begins `[1, 2, 3, ...]`, then an id with score 0 or 1 will fall",
                "   into bag 0, an id with score 2 will fall into bag 1, etc.",
                "",
                " # Migration",
                "",
                " In the event that this list ever changes, a copy of the old bags list must be retained.",
                " With that `List::migrate` can be called, which will perform the appropriate migration."
              ]
            }
          ],
          "errors": {
            "type": 755
          },
          "index": 39
        },
        {
          "name": "NominationPools",
          "storage": {
            "prefix": "NominationPools",
            "items": [
              {
                "name": "TotalValueLocked",
                "modifier": "Default",
                "type": {
                  "plain": 6
                },
                "fallback": "0x00000000000000000000000000000000",
                "docs": [
                  " The sum of funds across all pools.",
                  "",
                  " This might be lower but never higher than the sum of `total_balance` of all [`PoolMembers`]",
                  " because calling `pool_withdraw_unbonded` might decrease the total stake of the pool's",
                  " `bonded_account` without adjusting the pallet-internal `UnbondingPool`'s."
                ]
              },
              {
                "name": "MinJoinBond",
                "modifier": "Default",
                "type": {
                  "plain": 6
                },
                "fallback": "0x00000000000000000000000000000000",
                "docs": [
                  " Minimum amount to bond to join a pool."
                ]
              },
              {
                "name": "MinCreateBond",
                "modifier": "Default",
                "type": {
                  "plain": 6
                },
                "fallback": "0x00000000000000000000000000000000",
                "docs": [
                  " Minimum bond required to create a pool.",
                  "",
                  " This is the amount that the depositor must put as their initial stake in the pool, as an",
                  " indication of \"skin in the game\".",
                  "",
                  " This is the value that will always exist in the staking ledger of the pool bonded account",
                  " while all other accounts leave."
                ]
              },
              {
                "name": "MaxPools",
                "modifier": "Optional",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00",
                "docs": [
                  " Maximum number of nomination pools that can exist. If `None`, then an unbounded number of",
                  " pools can exist."
                ]
              },
              {
                "name": "MaxPoolMembers",
                "modifier": "Optional",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00",
                "docs": [
                  " Maximum number of members that can exist in the system. If `None`, then the count",
                  " members are not bound on a system wide basis."
                ]
              },
              {
                "name": "MaxPoolMembersPerPool",
                "modifier": "Optional",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00",
                "docs": [
                  " Maximum number of members that may belong to pool. If `None`, then the count of",
                  " members is not bound on a per pool basis."
                ]
              },
              {
                "name": "GlobalMaxCommission",
                "modifier": "Optional",
                "type": {
                  "plain": 37
                },
                "fallback": "0x00",
                "docs": [
                  " The maximum commission that can be charged by a pool. Used on commission payouts to bound",
                  " pool commissions that are > `GlobalMaxCommission`, necessary if a future",
                  " `GlobalMaxCommission` is lower than some current pool commissions."
                ]
              },
              {
                "name": "PoolMembers",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 0,
                    "value": 757
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Active members.",
                  "",
                  " TWOX-NOTE: SAFE since `AccountId` is a secure hash."
                ]
              },
              {
                "name": "CounterForPoolMembers",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  "Counter for the related counted storage map"
                ]
              },
              {
                "name": "BondedPools",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 760
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Storage for bonded pools."
                ]
              },
              {
                "name": "CounterForBondedPools",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  "Counter for the related counted storage map"
                ]
              },
              {
                "name": "RewardPools",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 765
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Reward pools. This is where there rewards for each pool accumulate. When a members payout is",
                  " claimed, the balance comes out of the reward pool. Keyed by the bonded pools account."
                ]
              },
              {
                "name": "CounterForRewardPools",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  "Counter for the related counted storage map"
                ]
              },
              {
                "name": "SubPoolsStorage",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 766
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Groups of unbonding pools. Each group of unbonding pools belongs to a",
                  " bonded pool, hence the name sub-pools. Keyed by the bonded pools account."
                ]
              },
              {
                "name": "CounterForSubPoolsStorage",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  "Counter for the related counted storage map"
                ]
              },
              {
                "name": "Metadata",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 772
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Metadata for the pool."
                ]
              },
              {
                "name": "CounterForMetadata",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  "Counter for the related counted storage map"
                ]
              },
              {
                "name": "LastPoolId",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " Ever increasing number of all pools created so far."
                ]
              },
              {
                "name": "ReversePoolIdLookup",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 0,
                    "value": 4
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " A reverse lookup from the pool's account id to its id.",
                  "",
                  " This is only used for slashing and on automatic withdraw update. In all other instances, the",
                  " pool id is used, and the accounts are deterministically derived from it."
                ]
              },
              {
                "name": "CounterForReversePoolIdLookup",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  "Counter for the related counted storage map"
                ]
              },
              {
                "name": "ClaimPermissions",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 0,
                    "value": 295
                  }
                },
                "fallback": "0x02",
                "docs": [
                  " Map from a pool member account to their opted claim permission."
                ]
              }
            ]
          },
          "calls": {
            "type": 288
          },
          "events": {
            "type": 505
          },
          "constants": [
            {
              "name": "PalletId",
              "type": 624,
              "value": "0x70792f6e6f706c73",
              "docs": [
                " The nomination pool's pallet id."
              ]
            },
            {
              "name": "MaxPointsToBalance",
              "type": 2,
              "value": "0x0a",
              "docs": [
                " The maximum pool points-to-balance ratio that an `open` pool can have.",
                "",
                " This is important in the event slashing takes place and the pool's points-to-balance",
                " ratio becomes disproportional.",
                "",
                " Moreover, this relates to the `RewardCounter` type as well, as the arithmetic operations",
                " are a function of number of points, and by setting this value to e.g. 10, you ensure",
                " that the total number of points in the system are at most 10 times the total_issuance of",
                " the chain, in the absolute worse case.",
                "",
                " For a value of 10, the threshold would be a pool points-to-balance ratio of 10:1.",
                " Such a scenario would also be the equivalent of the pool being 90% slashed."
              ]
            },
            {
              "name": "MaxUnbonding",
              "type": 4,
              "value": "0x20000000",
              "docs": [
                " The maximum number of simultaneous unbonding chunks that can exist per member."
              ]
            }
          ],
          "errors": {
            "type": 773
          },
          "index": 41
        },
        {
          "name": "FastUnstake",
          "storage": {
            "prefix": "FastUnstake",
            "items": [
              {
                "name": "Head",
                "modifier": "Optional",
                "type": {
                  "plain": 775
                },
                "fallback": "0x00",
                "docs": [
                  " The current \"head of the queue\" being unstaked.",
                  "",
                  " The head in itself can be a batch of up to [`Config::BatchSize`] stakers."
                ]
              },
              {
                "name": "Queue",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 0,
                    "value": 6
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The map of all accounts wishing to be unstaked.",
                  "",
                  " Keeps track of `AccountId` wishing to unstake and it's corresponding deposit."
                ]
              },
              {
                "name": "CounterForQueue",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  "Counter for the related counted storage map"
                ]
              },
              {
                "name": "ErasToCheckPerBlock",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " Number of eras to check per block.",
                  "",
                  " If set to 0, this pallet does absolutely nothing. Cannot be set to more than",
                  " [`Config::MaxErasToCheckPerBlock`].",
                  "",
                  " Based on the amount of weight available at [`Pallet::on_idle`], up to this many eras are",
                  " checked. The checking is represented by updating [`UnstakeRequest::checked`], which is",
                  " stored in [`Head`]."
                ]
              }
            ]
          },
          "calls": {
            "type": 301
          },
          "events": {
            "type": 506
          },
          "constants": [
            {
              "name": "Deposit",
              "type": 6,
              "value": "0x344dd2c2070000000000000000000000",
              "docs": [
                " Deposit to take for unstaking, to make sure we're able to slash the it in order to cover",
                " the costs of resources on unsuccessful unstake."
              ]
            }
          ],
          "errors": {
            "type": 778
          },
          "index": 42
        },
        {
          "name": "TeyrchainsOrigin",
          "storage": null,
          "calls": null,
          "events": null,
          "constants": [],
          "errors": null,
          "index": 50
        },
        {
          "name": "Configuration",
          "storage": {
            "prefix": "Configuration",
            "items": [
              {
                "name": "ActiveConfig",
                "modifier": "Default",
                "type": {
                  "plain": 779
                },
                "fallback": "0x00003000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000064000000010000000100000000000000000000000000000002000000020000000200000000010000000100000001000000000100000000000000000000001027000080b2e60e80c3c9018096980000000000000000000000000005000000",
                "docs": [
                  " The active configuration for the current session."
                ]
              },
              {
                "name": "PendingConfigs",
                "modifier": "Default",
                "type": {
                  "plain": 780
                },
                "fallback": "0x00",
                "docs": [
                  " Pending configuration changes.",
                  "",
                  " This is a list of configuration changes, each with a session index at which it should",
                  " be applied.",
                  "",
                  " The list is sorted ascending by session index. Also, this list can only contain at most",
                  " 2 items: for the next session and for the `scheduled_session`."
                ]
              },
              {
                "name": "BypassConsistencyCheck",
                "modifier": "Default",
                "type": {
                  "plain": 8
                },
                "fallback": "0x00",
                "docs": [
                  " If this is set, then the configuration setters will bypass the consistency checks. This",
                  " is meant to be used only as the last resort."
                ]
              }
            ]
          },
          "calls": {
            "type": 302
          },
          "events": null,
          "constants": [],
          "errors": {
            "type": 782
          },
          "index": 51
        },
        {
          "name": "ParasShared",
          "storage": {
            "prefix": "ParasShared",
            "items": [
              {
                "name": "CurrentSessionIndex",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " The current session index."
                ]
              },
              {
                "name": "ActiveValidatorIndices",
                "modifier": "Default",
                "type": {
                  "plain": 783
                },
                "fallback": "0x00",
                "docs": [
                  " All the validators actively participating in teyrchain consensus.",
                  " Indices are into the broader validator set."
                ]
              },
              {
                "name": "ActiveValidatorKeys",
                "modifier": "Default",
                "type": {
                  "plain": 784
                },
                "fallback": "0x00",
                "docs": [
                  " The teyrchain attestation keys of the validators actively participating in teyrchain",
                  " consensus. This should be the same length as `ActiveValidatorIndices`."
                ]
              },
              {
                "name": "AllowedRelayParents",
                "modifier": "Default",
                "type": {
                  "plain": 785
                },
                "fallback": "0x0000000000",
                "docs": [
                  " All allowed relay-parents."
                ]
              }
            ]
          },
          "calls": {
            "type": 311
          },
          "events": null,
          "constants": [],
          "errors": null,
          "index": 52
        },
        {
          "name": "ParaInclusion",
          "storage": {
            "prefix": "ParaInclusion",
            "items": [
              {
                "name": "V1",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 788
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Candidates pending availability by `ParaId`. They form a chain starting from the latest",
                  " included head of the para.",
                  " Use a different prefix post-migration to v1, since the v0 `PendingAvailability` storage",
                  " would otherwise have the exact same prefix which could cause undefined behaviour when doing",
                  " the migration."
                ]
              }
            ]
          },
          "calls": {
            "type": 312
          },
          "events": {
            "type": 507
          },
          "constants": [],
          "errors": {
            "type": 790
          },
          "index": 53
        },
        {
          "name": "ParaInherent",
          "storage": {
            "prefix": "ParaInherent",
            "items": [
              {
                "name": "Included",
                "modifier": "Optional",
                "type": {
                  "plain": 104
                },
                "fallback": "0x00",
                "docs": [
                  " Whether the paras inherent was included within this block.",
                  "",
                  " The `Option<()>` is effectively a `bool`, but it never hits storage in the `None` variant",
                  " due to the guarantees of FRAME's storage APIs.",
                  "",
                  " If this is `None` at the end of the block, we panic and render the block invalid."
                ]
              },
              {
                "name": "OnChainVotes",
                "modifier": "Optional",
                "type": {
                  "plain": 791
                },
                "fallback": "0x00",
                "docs": [
                  " Scraped on chain data for extracting resolved disputes as well as backing votes."
                ]
              }
            ]
          },
          "calls": {
            "type": 313
          },
          "events": null,
          "constants": [],
          "errors": {
            "type": 796
          },
          "index": 54
        },
        {
          "name": "ParaScheduler",
          "storage": {
            "prefix": "ParaScheduler",
            "items": [
              {
                "name": "ValidatorGroups",
                "modifier": "Default",
                "type": {
                  "plain": 797
                },
                "fallback": "0x00",
                "docs": [
                  " All the validator groups. One for each core. Indices are into `ActiveValidators` - not the",
                  " broader set of Pezkuwi validators, but instead just the subset used for teyrchains during",
                  " this session.",
                  "",
                  " Bound: The number of cores is the sum of the numbers of teyrchains and parathread",
                  " multiplexers. Reasonably, 100-1000. The dominant factor is the number of validators: safe",
                  " upper bound at 10k."
                ]
              },
              {
                "name": "AvailabilityCores",
                "modifier": "Default",
                "type": {
                  "plain": 798
                },
                "fallback": "0x00",
                "docs": [
                  " One entry for each availability core. The i'th teyrchain belongs to the i'th core, with the",
                  " remaining cores all being on demand teyrchain multiplexers.",
                  "",
                  " Bounded by the maximum of either of these two values:",
                  "   * The number of teyrchains and parathread multiplexers",
                  "   * The number of validators divided by `configuration.max_validators_per_core`."
                ]
              },
              {
                "name": "SessionStartBlock",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " The block number where the session start occurred. Used to track how many group rotations",
                  " have occurred.",
                  "",
                  " Note that in the context of teyrchains modules the session change is signaled during",
                  " the block and enacted at the end of the block (at the finalization stage, to be exact).",
                  " Thus for all intents and purposes the effect of the session change is observed at the",
                  " block following the session change, block number of which we save in this storage value."
                ]
              },
              {
                "name": "ClaimQueue",
                "modifier": "Default",
                "type": {
                  "plain": 802
                },
                "fallback": "0x00",
                "docs": [
                  " One entry for each availability core. The `VecDeque` represents the assignments to be",
                  " scheduled on that core. The value contained here will not be valid after the end of",
                  " a block. Runtime APIs should be used to determine scheduled cores for the upcoming block."
                ]
              }
            ]
          },
          "calls": null,
          "events": null,
          "constants": [],
          "errors": null,
          "index": 55
        },
        {
          "name": "Paras",
          "storage": {
            "prefix": "Paras",
            "items": [
              {
                "name": "PvfActiveVoteMap",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 328,
                    "value": 806
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " All currently active PVF pre-checking votes.",
                  "",
                  " Invariant:",
                  " - There are no PVF pre-checking votes that exists in list but not in the set and vice versa."
                ]
              },
              {
                "name": "PvfActiveVoteList",
                "modifier": "Default",
                "type": {
                  "plain": 810
                },
                "fallback": "0x00",
                "docs": [
                  " The list of all currently active PVF votes. Auxiliary to `PvfActiveVoteMap`."
                ]
              },
              {
                "name": "Teyrchains",
                "modifier": "Default",
                "type": {
                  "plain": 811
                },
                "fallback": "0x00",
                "docs": [
                  " All lease holding teyrchains. Ordered ascending by `ParaId`. On demand teyrchains are not",
                  " included.",
                  "",
                  " Consider using the [`TeyrchainsCache`] type of modifying."
                ]
              },
              {
                "name": "ParaLifecycles",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 812
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The current lifecycle of a all known Para IDs."
                ]
              },
              {
                "name": "Heads",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 336
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The head-data of every registered para."
                ]
              },
              {
                "name": "MostRecentContext",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 4
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The context (relay-chain block number) of the most recent teyrchain head."
                ]
              },
              {
                "name": "CurrentCodeHash",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 328
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The validation code hash of every live para.",
                  "",
                  " Corresponding code can be retrieved with [`CodeByHash`]."
                ]
              },
              {
                "name": "PastCodeHash",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 813,
                    "value": 328
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Actual past code hash, indicated by the para id as well as the block number at which it",
                  " became outdated.",
                  "",
                  " Corresponding code can be retrieved with [`CodeByHash`]."
                ]
              },
              {
                "name": "PastCodeMeta",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 814
                  }
                },
                "fallback": "0x0000",
                "docs": [
                  " Past code of teyrchains. The teyrchains themselves may not be registered anymore,",
                  " but we also keep their code on-chain for the same amount of time as outdated code",
                  " to keep it available for approval checkers."
                ]
              },
              {
                "name": "PastCodePruning",
                "modifier": "Default",
                "type": {
                  "plain": 817
                },
                "fallback": "0x00",
                "docs": [
                  " Which paras have past code that needs pruning and the relay-chain block at which the code",
                  " was replaced. Note that this is the actual height of the included block, not the expected",
                  " height at which the code upgrade would be applied, although they may be equal.",
                  " This is to ensure the entire acceptance period is covered, not an offset acceptance period",
                  " starting from the time at which the teyrchain perceives a code upgrade as having occurred.",
                  " Multiple entries for a single para are permitted. Ordered ascending by block number."
                ]
              },
              {
                "name": "FutureCodeUpgrades",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 4
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The block number at which the planned code change is expected for a teyrchain.",
                  "",
                  " The change will be applied after the first parablock for this ID included which executes",
                  " in the context of a relay chain block with a number >= `expected_at`."
                ]
              },
              {
                "name": "FutureCodeUpgradesAt",
                "modifier": "Default",
                "type": {
                  "plain": 817
                },
                "fallback": "0x00",
                "docs": [
                  " The list of upcoming future code upgrades.",
                  "",
                  " Each item is a pair of the teyrchain and the expected block at which the upgrade should be",
                  " applied. The upgrade will be applied at the given relay chain block. In contrast to",
                  " [`FutureCodeUpgrades`] this code upgrade will be applied regardless the teyrchain making any",
                  " progress or not.",
                  "",
                  " Ordered ascending by block number."
                ]
              },
              {
                "name": "FutureCodeHash",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 328
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The actual future code hash of a para.",
                  "",
                  " Corresponding code can be retrieved with [`CodeByHash`]."
                ]
              },
              {
                "name": "UpgradeGoAheadSignal",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 818
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " This is used by the relay-chain to communicate to a teyrchain a go-ahead with in the upgrade",
                  " procedure.",
                  "",
                  " This value is absent when there are no upgrades scheduled or during the time the relay chain",
                  " performs the checks. It is set at the first relay-chain block when the corresponding",
                  " teyrchain can switch its upgrade function. As soon as the teyrchain's block is included, the",
                  " value gets reset to `None`.",
                  "",
                  " NOTE that this field is used by teyrchains via merkle storage proofs, therefore changing",
                  " the format will require migration of teyrchains."
                ]
              },
              {
                "name": "UpgradeRestrictionSignal",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 819
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " This is used by the relay-chain to communicate that there are restrictions for performing",
                  " an upgrade for this teyrchain.",
                  "",
                  " This may be a because the teyrchain waits for the upgrade cooldown to expire. Another",
                  " potential use case is when we want to perform some maintenance (such as storage migration)",
                  " we could restrict upgrades to make the process simpler.",
                  "",
                  " NOTE that this field is used by teyrchains via merkle storage proofs, therefore changing",
                  " the format will require migration of teyrchains."
                ]
              },
              {
                "name": "UpgradeCooldowns",
                "modifier": "Default",
                "type": {
                  "plain": 817
                },
                "fallback": "0x00",
                "docs": [
                  " The list of teyrchains that are awaiting for their upgrade restriction to cooldown.",
                  "",
                  " Ordered ascending by block number."
                ]
              },
              {
                "name": "UpcomingUpgrades",
                "modifier": "Default",
                "type": {
                  "plain": 817
                },
                "fallback": "0x00",
                "docs": [
                  " The list of upcoming code upgrades.",
                  "",
                  " Each item is a pair of which para performs a code upgrade and at which relay-chain block it",
                  " is expected at.",
                  "",
                  " Ordered ascending by block number."
                ]
              },
              {
                "name": "ActionsQueue",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 811
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The actions to perform during the start of a specific session index."
                ]
              },
              {
                "name": "UpcomingParasGenesis",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 820
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Upcoming paras instantiation arguments.",
                  "",
                  " NOTE that after PVF pre-checking is enabled the para genesis arg will have it's code set",
                  " to empty. Instead, the code will be saved into the storage right away via `CodeByHash`."
                ]
              },
              {
                "name": "CodeByHashRefs",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Identity"
                    ],
                    "key": 328,
                    "value": 4
                  }
                },
                "fallback": "0x00000000",
                "docs": [
                  " The number of reference on the validation code in [`CodeByHash`] storage."
                ]
              },
              {
                "name": "CodeByHash",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Identity"
                    ],
                    "key": 328,
                    "value": 335
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Validation code stored by its hash.",
                  "",
                  " This storage is consistent with [`FutureCodeHash`], [`CurrentCodeHash`] and",
                  " [`PastCodeHash`]."
                ]
              }
            ]
          },
          "calls": {
            "type": 348
          },
          "events": {
            "type": 511
          },
          "constants": [
            {
              "name": "UnsignedPriority",
              "type": 12,
              "value": "0xffffffffffffffff",
              "docs": []
            }
          ],
          "errors": {
            "type": 821
          },
          "index": 56
        },
        {
          "name": "Initializer",
          "storage": {
            "prefix": "Initializer",
            "items": [
              {
                "name": "HasInitialized",
                "modifier": "Optional",
                "type": {
                  "plain": 104
                },
                "fallback": "0x00",
                "docs": [
                  " Whether the teyrchains modules have been initialized within this block.",
                  "",
                  " Semantically a `bool`, but this guarantees it should never hit the trie,",
                  " as this is cleared in `on_finalize` and Frame optimizes `None` values to be empty values.",
                  "",
                  " As a `bool`, `set(false)` and `remove()` both lead to the next `get()` being false, but one",
                  " of them writes to the trie and one does not. This confusion makes `Option<()>` more suitable",
                  " for the semantics of this variable."
                ]
              },
              {
                "name": "BufferedSessionChanges",
                "modifier": "Default",
                "type": {
                  "plain": 822
                },
                "fallback": "0x00",
                "docs": [
                  " Buffered session changes along with the block number at which they should be applied.",
                  "",
                  " Typically this will be empty or one element long. Apart from that this item never hits",
                  " the storage.",
                  "",
                  " However this is a `Vec` regardless to handle various edge cases that may occur at runtime",
                  " upgrade boundaries or if governance intervenes."
                ]
              }
            ]
          },
          "calls": {
            "type": 350
          },
          "events": null,
          "constants": [],
          "errors": null,
          "index": 57
        },
        {
          "name": "Dmp",
          "storage": {
            "prefix": "Dmp",
            "items": [
              {
                "name": "DownwardMessageQueues",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 824
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The downward messages addressed for a certain para."
                ]
              },
              {
                "name": "DownwardMessageQueueHeads",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 13
                  }
                },
                "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",
                "docs": [
                  " A mapping that stores the downward message queue MQC head for each para.",
                  "",
                  " Each link in this chain has a form:",
                  " `(prev_head, B, H(M))`, where",
                  " - `prev_head`: is the previous head hash or zero if none.",
                  " - `B`: is the relay-chain block number in which a message was appended.",
                  " - `H(M)`: is the hash of the message being appended."
                ]
              },
              {
                "name": "DeliveryFeeFactor",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 456
                  }
                },
                "fallback": "0x000064a7b3b6e00d0000000000000000",
                "docs": [
                  " The factor to multiply the base delivery fee by."
                ]
              }
            ]
          },
          "calls": null,
          "events": null,
          "constants": [],
          "errors": null,
          "index": 58
        },
        {
          "name": "Hrmp",
          "storage": {
            "prefix": "Hrmp",
            "items": [
              {
                "name": "HrmpOpenChannelRequests",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 352,
                    "value": 826
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The set of pending HRMP open channel requests.",
                  "",
                  " The set is accompanied by a list for iteration.",
                  "",
                  " Invariant:",
                  " - There are no channels that exists in list but not in the set and vice versa."
                ]
              },
              {
                "name": "HrmpOpenChannelRequestsList",
                "modifier": "Default",
                "type": {
                  "plain": 827
                },
                "fallback": "0x00",
                "docs": []
              },
              {
                "name": "HrmpOpenChannelRequestCount",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 4
                  }
                },
                "fallback": "0x00000000",
                "docs": [
                  " This mapping tracks how many open channel requests are initiated by a given sender para.",
                  " Invariant: `HrmpOpenChannelRequests` should contain the same number of items that has",
                  " `(X, _)` as the number of `HrmpOpenChannelRequestCount` for `X`."
                ]
              },
              {
                "name": "HrmpAcceptedChannelRequestCount",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 4
                  }
                },
                "fallback": "0x00000000",
                "docs": [
                  " This mapping tracks how many open channel requests were accepted by a given recipient para.",
                  " Invariant: `HrmpOpenChannelRequests` should contain the same number of items `(_, X)` with",
                  " `confirmed` set to true, as the number of `HrmpAcceptedChannelRequestCount` for `X`."
                ]
              },
              {
                "name": "HrmpCloseChannelRequests",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 352,
                    "value": 104
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " A set of pending HRMP close channel requests that are going to be closed during the session",
                  " change. Used for checking if a given channel is registered for closure.",
                  "",
                  " The set is accompanied by a list for iteration.",
                  "",
                  " Invariant:",
                  " - There are no channels that exists in list but not in the set and vice versa."
                ]
              },
              {
                "name": "HrmpCloseChannelRequestsList",
                "modifier": "Default",
                "type": {
                  "plain": 827
                },
                "fallback": "0x00",
                "docs": []
              },
              {
                "name": "HrmpWatermarks",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 4
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The HRMP watermark associated with each para.",
                  " Invariant:",
                  " - each para `P` used here as a key should satisfy `Paras::is_valid_para(P)` within a",
                  "   session."
                ]
              },
              {
                "name": "HrmpChannels",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 352,
                    "value": 828
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " HRMP channel data associated with each para.",
                  " Invariant:",
                  " - each participant in the channel should satisfy `Paras::is_valid_para(P)` within a session."
                ]
              },
              {
                "name": "HrmpIngressChannelsIndex",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 811
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Ingress/egress indexes allow to find all the senders and receivers given the opposite side.",
                  " I.e.",
                  "",
                  " (a) ingress index allows to find all the senders for a given recipient.",
                  " (b) egress index allows to find all the recipients for a given sender.",
                  "",
                  " Invariants:",
                  " - for each ingress index entry for `P` each item `I` in the index should present in",
                  "   `HrmpChannels` as `(I, P)`.",
                  " - for each egress index entry for `P` each item `E` in the index should present in",
                  "   `HrmpChannels` as `(P, E)`.",
                  " - there should be no other dangling channels in `HrmpChannels`.",
                  " - the vectors are sorted."
                ]
              },
              {
                "name": "HrmpEgressChannelsIndex",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 811
                  }
                },
                "fallback": "0x00",
                "docs": []
              },
              {
                "name": "HrmpChannelContents",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 352,
                    "value": 829
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Storage for the messages for each channel.",
                  " Invariant: cannot be non-empty if the corresponding channel in `HrmpChannels` is `None`."
                ]
              },
              {
                "name": "HrmpChannelDigests",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 831
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Maintains a mapping that can be used to answer the question: What paras sent a message at",
                  " the given block number for a given receiver. Invariants:",
                  " - The inner `Vec<ParaId>` is never empty.",
                  " - The inner `Vec<ParaId>` cannot store two same `ParaId`.",
                  " - The outer vector is sorted ascending by block number and cannot store two items with the",
                  "   same block number."
                ]
              }
            ]
          },
          "calls": {
            "type": 351
          },
          "events": {
            "type": 512
          },
          "constants": [],
          "errors": {
            "type": 833
          },
          "index": 60
        },
        {
          "name": "ParaSessionInfo",
          "storage": {
            "prefix": "ParaSessionInfo",
            "items": [
              {
                "name": "AssignmentKeysUnsafe",
                "modifier": "Default",
                "type": {
                  "plain": 834
                },
                "fallback": "0x00",
                "docs": [
                  " Assignment keys for the current session.",
                  " Note that this API is private due to it being prone to 'off-by-one' at session boundaries.",
                  " When in doubt, use `Sessions` API instead."
                ]
              },
              {
                "name": "EarliestStoredSession",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " The earliest session for which previous session info is stored."
                ]
              },
              {
                "name": "Sessions",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Identity"
                    ],
                    "key": 4,
                    "value": 835
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Session information in a rolling window.",
                  " Should have an entry in range `EarliestStoredSession..=CurrentSessionIndex`.",
                  " Does not have any entries before the session index in the first session change notification."
                ]
              },
              {
                "name": "AccountKeys",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Identity"
                    ],
                    "key": 4,
                    "value": 107
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The validator account keys of the validators actively participating in teyrchain consensus."
                ]
              },
              {
                "name": "SessionExecutorParams",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Identity"
                    ],
                    "key": 4,
                    "value": 304
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Executor parameter set for a given session index"
                ]
              }
            ]
          },
          "calls": null,
          "events": null,
          "constants": [],
          "errors": null,
          "index": 61
        },
        {
          "name": "ParasDisputes",
          "storage": {
            "prefix": "ParasDisputes",
            "items": [
              {
                "name": "LastPrunedSession",
                "modifier": "Optional",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00",
                "docs": [
                  " The last pruned session, if any. All data stored by this module",
                  " references sessions."
                ]
              },
              {
                "name": "Disputes",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Blake2_128Concat"
                    ],
                    "key": 838,
                    "value": 839
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " All ongoing or concluded disputes for the last several sessions."
                ]
              },
              {
                "name": "BackersOnDisputes",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Blake2_128Concat"
                    ],
                    "key": 838,
                    "value": 840
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Backing votes stored for each dispute.",
                  " This storage is used for slashing."
                ]
              },
              {
                "name": "Included",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Blake2_128Concat"
                    ],
                    "key": 838,
                    "value": 4
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " All included blocks on the chain, as well as the block number in this chain that",
                  " should be reverted back to if the candidate is disputed and determined to be invalid."
                ]
              },
              {
                "name": "Frozen",
                "modifier": "Default",
                "type": {
                  "plain": 143
                },
                "fallback": "0x00",
                "docs": [
                  " Whether the chain is frozen. Starts as `None`. When this is `Some`,",
                  " the chain will not accept any new teyrchain blocks for backing or inclusion,",
                  " and its value indicates the last valid block number in the chain.",
                  " It can only be set back to `None` by governance intervention."
                ]
              }
            ]
          },
          "calls": {
            "type": 353
          },
          "events": {
            "type": 513
          },
          "constants": [],
          "errors": {
            "type": 841
          },
          "index": 62
        },
        {
          "name": "ParasSlashing",
          "storage": {
            "prefix": "ParasSlashing",
            "items": [
              {
                "name": "UnappliedSlashes",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Blake2_128Concat"
                    ],
                    "key": 838,
                    "value": 842
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Validators pending dispute slashes."
                ]
              },
              {
                "name": "ValidatorSetCounts",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 4
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " `ValidatorSetCount` per session."
                ]
              }
            ]
          },
          "calls": {
            "type": 354
          },
          "events": null,
          "constants": [],
          "errors": {
            "type": 846
          },
          "index": 63
        },
        {
          "name": "OnDemandAssignmentProvider",
          "storage": {
            "prefix": "OnDemandAssignmentProvider",
            "items": [
              {
                "name": "ParaIdAffinity",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 847
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Maps a `ParaId` to `CoreIndex` and keeps track of how many assignments the scheduler has in",
                  " it's lookahead. Keeping track of this affinity prevents parallel execution of the same",
                  " `ParaId` on two or more `CoreIndex`es."
                ]
              },
              {
                "name": "QueueStatus",
                "modifier": "Default",
                "type": {
                  "plain": 848
                },
                "fallback": "0x000064a7b3b6e00d0000000000000000000000000000000000",
                "docs": [
                  " Overall status of queue (both free + affinity entries)"
                ]
              },
              {
                "name": "FreeEntries",
                "modifier": "Default",
                "type": {
                  "plain": 853
                },
                "fallback": "0x00",
                "docs": [
                  " Priority queue for all orders which don't yet (or not any more) have any core affinity."
                ]
              },
              {
                "name": "AffinityEntries",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 509,
                    "value": 853
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Queue entries that are currently bound to a particular core due to core affinity."
                ]
              },
              {
                "name": "Revenue",
                "modifier": "Default",
                "type": {
                  "plain": 856
                },
                "fallback": "0x00",
                "docs": [
                  " Keeps track of accumulated revenue from on demand order sales."
                ]
              }
            ]
          },
          "calls": {
            "type": 358
          },
          "events": {
            "type": 516
          },
          "constants": [
            {
              "name": "TrafficDefaultValue",
              "type": 456,
              "value": "0x000064a7b3b6e00d0000000000000000",
              "docs": [
                " The default value for the spot traffic multiplier."
              ]
            },
            {
              "name": "MaxHistoricalRevenue",
              "type": 4,
              "value": "0xa0000000",
              "docs": [
                " The maximum number of blocks some historical revenue",
                " information stored for."
              ]
            },
            {
              "name": "PalletId",
              "type": 624,
              "value": "0x70792f6f6e646d64",
              "docs": [
                " Identifier for the internal revenue balance."
              ]
            }
          ],
          "errors": {
            "type": 858
          },
          "index": 64
        },
        {
          "name": "CoretimeAssignmentProvider",
          "storage": {
            "prefix": "CoretimeAssignmentProvider",
            "items": [
              {
                "name": "CoreSchedules",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox256"
                    ],
                    "key": 859,
                    "value": 860
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Scheduled assignment sets.",
                  "",
                  " Assignments as of the given block number. They will go into state once the block number is",
                  " reached (and replace whatever was in there before)."
                ]
              },
              {
                "name": "CoreDescriptors",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox256"
                    ],
                    "key": 509,
                    "value": 861
                  }
                },
                "fallback": "0x0000",
                "docs": [
                  " Assignments which are currently active.",
                  "",
                  " They will be picked from `PendingAssignments` once we reach the scheduled block number in",
                  " `PendingAssignments`."
                ]
              }
            ]
          },
          "calls": null,
          "events": null,
          "constants": [],
          "errors": {
            "type": 869
          },
          "index": 65
        },
        {
          "name": "Registrar",
          "storage": {
            "prefix": "Registrar",
            "items": [
              {
                "name": "PendingSwap",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 154
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Pending swap operations."
                ]
              },
              {
                "name": "Paras",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 870
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Amount held on deposit for each para and the original depositor.",
                  "",
                  " The given account ID is responsible for registering the code and initial head data, but may",
                  " only do so if it isn't yet registered. (After that, it's up to governance to do so.)"
                ]
              },
              {
                "name": "NextFreeParaId",
                "modifier": "Default",
                "type": {
                  "plain": 154
                },
                "fallback": "0x00000000",
                "docs": [
                  " The next free `ParaId`."
                ]
              }
            ]
          },
          "calls": {
            "type": 359
          },
          "events": {
            "type": 517
          },
          "constants": [
            {
              "name": "ParaDeposit",
              "type": 6,
              "value": "0x0080ca39612400000000000000000000",
              "docs": [
                " The deposit to be paid to run a on-demand teyrchain.",
                " This should include the cost for storing the genesis head and validation code."
              ]
            },
            {
              "name": "DataDepositPerByte",
              "type": 6,
              "value": "0x5543de13000000000000000000000000",
              "docs": [
                " The deposit to be paid per byte stored on chain."
              ]
            }
          ],
          "errors": {
            "type": 871
          },
          "index": 70
        },
        {
          "name": "Slots",
          "storage": {
            "prefix": "Slots",
            "items": [
              {
                "name": "Leases",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 872
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Amounts held on deposit for each (possibly future) leased teyrchain.",
                  "",
                  " The actual amount locked on its behalf by any account at any time is the maximum of the",
                  " second values of the items in this list whose first value is the account.",
                  "",
                  " The first item in the list is the amount locked for the current Lease Period. Following",
                  " items are for the subsequent lease periods.",
                  "",
                  " The default value (an empty list) implies that the teyrchain no longer exists (or never",
                  " existed) as far as this pallet is concerned.",
                  "",
                  " If a teyrchain doesn't exist *yet* but is scheduled to exist in the future, then it",
                  " will be left-padded with one or more `None`s to denote the fact that nothing is held on",
                  " deposit for the non-existent chain currently, but is held at some point in the future.",
                  "",
                  " It is illegal for a `None` value to trail in the list."
                ]
              }
            ]
          },
          "calls": {
            "type": 360
          },
          "events": {
            "type": 518
          },
          "constants": [
            {
              "name": "LeasePeriod",
              "type": 4,
              "value": "0x803a0900",
              "docs": [
                " The number of blocks over which a single period lasts."
              ]
            },
            {
              "name": "LeaseOffset",
              "type": 4,
              "value": "0x00000000",
              "docs": [
                " The number of blocks to offset each lease period by."
              ]
            }
          ],
          "errors": {
            "type": 873
          },
          "index": 71
        },
        {
          "name": "Auctions",
          "storage": {
            "prefix": "Auctions",
            "items": [
              {
                "name": "AuctionCounter",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " Number of auctions started so far."
                ]
              },
              {
                "name": "AuctionInfo",
                "modifier": "Optional",
                "type": {
                  "plain": 189
                },
                "fallback": "0x00",
                "docs": [
                  " Information relating to the current auction, if there is one.",
                  "",
                  " The first item in the tuple is the lease period index that the first of the four",
                  " contiguous lease periods on auction is for. The second is the block number when the",
                  " auction will \"begin to end\", i.e. the first block of the Ending Period of the auction."
                ]
              },
              {
                "name": "ReservedAmounts",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 874,
                    "value": 6
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Amounts currently reserved in the accounts of the bidders currently winning",
                  " (sub-)ranges."
                ]
              },
              {
                "name": "Winning",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 4,
                    "value": 875
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The winning bids for each of the 10 ranges at each sample in the final Ending Period of",
                  " the current auction. The map's key is the 0-based index into the Sample Size. The",
                  " first sample of the ending period is 0; the last is `Sample Size - 1`."
                ]
              }
            ]
          },
          "calls": {
            "type": 361
          },
          "events": {
            "type": 519
          },
          "constants": [
            {
              "name": "EndingPeriod",
              "type": 4,
              "value": "0x40190100",
              "docs": [
                " The number of blocks over which an auction may be retroactively ended."
              ]
            },
            {
              "name": "SampleLength",
              "type": 4,
              "value": "0x14000000",
              "docs": [
                " The length of each sample to take during the ending period.",
                "",
                " `EndingPeriod` / `SampleLength` = Total # of Samples"
              ]
            },
            {
              "name": "SlotRangeCount",
              "type": 4,
              "value": "0x24000000",
              "docs": []
            },
            {
              "name": "LeasePeriodsPerSlot",
              "type": 4,
              "value": "0x08000000",
              "docs": []
            }
          ],
          "errors": {
            "type": 878
          },
          "index": 72
        },
        {
          "name": "Crowdloan",
          "storage": {
            "prefix": "Crowdloan",
            "items": [
              {
                "name": "Funds",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 154,
                    "value": 879
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Info on all of the funds."
                ]
              },
              {
                "name": "NewRaise",
                "modifier": "Default",
                "type": {
                  "plain": 811
                },
                "fallback": "0x00",
                "docs": [
                  " The funds that have had additional contributions during the last block. This is used",
                  " in order to determine which funds should submit new or updated bids."
                ]
              },
              {
                "name": "EndingsCount",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " The number of auctions that have entered into their ending period so far."
                ]
              },
              {
                "name": "NextFundIndex",
                "modifier": "Default",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00000000",
                "docs": [
                  " Tracker for the next available fund index"
                ]
              }
            ]
          },
          "calls": {
            "type": 363
          },
          "events": {
            "type": 520
          },
          "constants": [
            {
              "name": "PalletId",
              "type": 624,
              "value": "0x70792f6366756e64",
              "docs": [
                " `PalletId` for the crowdloan pallet. An appropriate value could be",
                " `PalletId(*b\"py/cfund\")`"
              ]
            },
            {
              "name": "MinContribution",
              "type": 6,
              "value": "0x180ca5d4e80000000000000000000000",
              "docs": [
                " The minimum amount that may be contributed into a crowdloan. Should almost certainly be",
                " at least `ExistentialDeposit`."
              ]
            },
            {
              "name": "RemoveKeysLimit",
              "type": 4,
              "value": "0xe8030000",
              "docs": [
                " Max number of storage keys to remove per extrinsic call."
              ]
            }
          ],
          "errors": {
            "type": 881
          },
          "index": 73
        },
        {
          "name": "Coretime",
          "storage": null,
          "calls": {
            "type": 368
          },
          "events": {
            "type": 521
          },
          "constants": [
            {
              "name": "BrokerId",
              "type": 4,
              "value": "0xed030000",
              "docs": [
                " The ParaId of the coretime chain."
              ]
            },
            {
              "name": "BrokerPotLocation",
              "type": 62,
              "value": "0x0101006d6f646c70792f62726f6b650000000000000000000000000000000000000000",
              "docs": [
                " The coretime chain pot location."
              ]
            }
          ],
          "errors": {
            "type": 882
          },
          "index": 74
        },
        {
          "name": "XcmPallet",
          "storage": {
            "prefix": "XcmPallet",
            "items": [
              {
                "name": "QueryCounter",
                "modifier": "Default",
                "type": {
                  "plain": 12
                },
                "fallback": "0x0000000000000000",
                "docs": [
                  " The latest available query index."
                ]
              },
              {
                "name": "Queries",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 12,
                    "value": 883
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The ongoing queries."
                ]
              },
              {
                "name": "AssetTraps",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Identity"
                    ],
                    "key": 13,
                    "value": 4
                  }
                },
                "fallback": "0x00000000",
                "docs": [
                  " The existing asset traps.",
                  "",
                  " Key is the blake2 256 hash of (origin, versioned `Assets`) pair. Value is the number of",
                  " times this pair has been trapped (usually just 1 if it exists at all)."
                ]
              },
              {
                "name": "SafeXcmVersion",
                "modifier": "Optional",
                "type": {
                  "plain": 4
                },
                "fallback": "0x00",
                "docs": [
                  " Default version to encode XCM when latest version of destination is unknown. If `None`,",
                  " then the destinations whose XCM version is unknown are considered unreachable."
                ]
              },
              {
                "name": "SupportedVersion",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Blake2_128Concat"
                    ],
                    "key": 888,
                    "value": 4
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The Latest versions that we know various locations support."
                ]
              },
              {
                "name": "VersionNotifiers",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Blake2_128Concat"
                    ],
                    "key": 888,
                    "value": 12
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " All locations that we have requested version notifications from."
                ]
              },
              {
                "name": "VersionNotifyTargets",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Blake2_128Concat"
                    ],
                    "key": 888,
                    "value": 889
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The target locations that are subscribed to our version changes, as well as the most recent",
                  " of our versions we informed them of."
                ]
              },
              {
                "name": "VersionDiscoveryQueue",
                "modifier": "Default",
                "type": {
                  "plain": 890
                },
                "fallback": "0x00",
                "docs": [
                  " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and",
                  " the `u32` counter is the number of times that a send to the destination has been attempted,",
                  " which is used as a prioritization."
                ]
              },
              {
                "name": "CurrentMigration",
                "modifier": "Optional",
                "type": {
                  "plain": 893
                },
                "fallback": "0x00",
                "docs": [
                  " The current migration's stage, if any."
                ]
              },
              {
                "name": "RemoteLockedFungibles",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Blake2_128Concat",
                      "Blake2_128Concat"
                    ],
                    "key": 895,
                    "value": 896
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Fungible assets which we know are locked on a remote chain."
                ]
              },
              {
                "name": "LockedFungibles",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 0,
                    "value": 900
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Fungible assets which we know are locked on this chain."
                ]
              },
              {
                "name": "XcmExecutionSuspended",
                "modifier": "Default",
                "type": {
                  "plain": 8
                },
                "fallback": "0x00",
                "docs": [
                  " Global suspension state of the XCM executor."
                ]
              },
              {
                "name": "ShouldRecordXcm",
                "modifier": "Default",
                "type": {
                  "plain": 8
                },
                "fallback": "0x00",
                "docs": [
                  " Whether or not incoming XCMs (both executed locally and received) should be recorded.",
                  " Only one XCM program will be recorded at a time.",
                  " This is meant to be used in runtime APIs, and it's advised it stays false",
                  " for all other use cases, so as to not degrade regular performance.",
                  "",
                  " Only relevant if this pallet is being used as the [`xcm_executor::traits::RecordXcm`]",
                  " implementation in the XCM executor configuration."
                ]
              },
              {
                "name": "RecordedXcm",
                "modifier": "Optional",
                "type": {
                  "plain": 420
                },
                "fallback": "0x00",
                "docs": [
                  " If [`ShouldRecordXcm`] is set to true, then the last XCM program executed locally",
                  " will be stored here.",
                  " Runtime APIs can fetch the XCM that was executed by accessing this value.",
                  "",
                  " Only relevant if this pallet is being used as the [`xcm_executor::traits::RecordXcm`]",
                  " implementation in the XCM executor configuration."
                ]
              }
            ]
          },
          "calls": {
            "type": 373
          },
          "events": {
            "type": 522
          },
          "constants": [],
          "errors": {
            "type": 903
          },
          "index": 99
        },
        {
          "name": "MessageQueue",
          "storage": {
            "prefix": "MessageQueue",
            "items": [
              {
                "name": "BookStateFor",
                "modifier": "Default",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 453,
                    "value": 904
                  }
                },
                "fallback": "0x0000000000000000000000000000000000000000000000000000000000",
                "docs": [
                  " The index of the first and last (non-empty) pages."
                ]
              },
              {
                "name": "ServiceHead",
                "modifier": "Optional",
                "type": {
                  "plain": 453
                },
                "fallback": "0x00",
                "docs": [
                  " The origin at which we should begin servicing."
                ]
              },
              {
                "name": "Pages",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat",
                      "Twox64Concat"
                    ],
                    "key": 907,
                    "value": 908
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " The map of page indices to pages."
                ]
              }
            ]
          },
          "calls": {
            "type": 452
          },
          "events": {
            "type": 524
          },
          "constants": [
            {
              "name": "HeapSize",
              "type": 4,
              "value": "0x00000100",
              "docs": [
                " The size of the page; this implies the maximum message size which can be sent.",
                "",
                " A good value depends on the expected message sizes, their weights, the weight that is",
                " available for processing them and the maximal needed message size. The maximal message",
                " size is slightly lower than this as defined by [`MaxMessageLenOf`]."
              ]
            },
            {
              "name": "MaxStale",
              "type": 4,
              "value": "0x10000000",
              "docs": [
                " The maximum number of stale pages (i.e. of overweight messages) allowed before culling",
                " can happen. Once there are more stale pages than this, then historical pages may be",
                " dropped, even if they contain unprocessed overweight messages."
              ]
            },
            {
              "name": "ServiceWeight",
              "type": 476,
              "value": "0x010700a0db215d133333333333333333",
              "docs": [
                " The amount of weight (if any) which should be provided to the message queue for",
                " servicing enqueued items `on_initialize`.",
                "",
                " This may be legitimately `None` in the case that you will call",
                " `ServiceQueues::service_queues` manually or set [`Self::IdleMaxServiceWeight`] to have",
                " it run in `on_idle`."
              ]
            },
            {
              "name": "IdleMaxServiceWeight",
              "type": 476,
              "value": "0x010700a0db215d133333333333333333",
              "docs": [
                " The maximum amount of weight (if any) to be used from remaining weight `on_idle` which",
                " should be provided to the message queue for servicing enqueued items `on_idle`.",
                " Useful for teyrchains to process messages at the same block they are received.",
                "",
                " If `None`, it will not call `ServiceQueues::service_queues` in `on_idle`."
              ]
            }
          ],
          "errors": {
            "type": 910
          },
          "index": 100
        },
        {
          "name": "AssetRate",
          "storage": {
            "prefix": "AssetRate",
            "items": [
              {
                "name": "ConversionRateToNative",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Blake2_128Concat"
                    ],
                    "key": 49,
                    "value": 456
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Maps an asset to its fixed point representation in the native balance.",
                  "",
                  " E.g. `native_amount = asset_amount * ConversionRateToNative::<T>::get(asset_kind)`"
                ]
              }
            ]
          },
          "calls": {
            "type": 455
          },
          "events": {
            "type": 526
          },
          "constants": [],
          "errors": {
            "type": 911
          },
          "index": 101
        },
        {
          "name": "Beefy",
          "storage": {
            "prefix": "Beefy",
            "items": [
              {
                "name": "Authorities",
                "modifier": "Default",
                "type": {
                  "plain": 912
                },
                "fallback": "0x00",
                "docs": [
                  " The current authorities set"
                ]
              },
              {
                "name": "ValidatorSetId",
                "modifier": "Default",
                "type": {
                  "plain": 12
                },
                "fallback": "0x0000000000000000",
                "docs": [
                  " The current validator set id"
                ]
              },
              {
                "name": "NextAuthorities",
                "modifier": "Default",
                "type": {
                  "plain": 912
                },
                "fallback": "0x00",
                "docs": [
                  " Authorities set scheduled to be used with the next session"
                ]
              },
              {
                "name": "SetIdSession",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Twox64Concat"
                    ],
                    "key": 12,
                    "value": 4
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " A mapping from BEEFY set ID to the index of the *most recent* session for which its",
                  " members were responsible.",
                  "",
                  " This is only used for validating equivocation proofs. An equivocation proof must",
                  " contains a key-ownership proof for a given session, therefore we need a way to tie",
                  " together sessions and BEEFY set ids, i.e. we need to validate that a validator",
                  " was the owner of a given key on a given session, and what the active set ID was",
                  " during that session.",
                  "",
                  " TWOX-NOTE: `ValidatorSetId` is not under user control."
                ]
              },
              {
                "name": "GenesisBlock",
                "modifier": "Default",
                "type": {
                  "plain": 143
                },
                "fallback": "0x00",
                "docs": [
                  " Block number where BEEFY consensus is enabled/started.",
                  " By changing this (through privileged `set_new_genesis()`), BEEFY consensus is effectively",
                  " restarted from the newly set block number."
                ]
              }
            ]
          },
          "calls": {
            "type": 457
          },
          "events": null,
          "constants": [
            {
              "name": "MaxAuthorities",
              "type": 4,
              "value": "0xa0860100",
              "docs": [
                " The maximum number of authorities that can be added."
              ]
            },
            {
              "name": "MaxNominators",
              "type": 4,
              "value": "0x00020000",
              "docs": [
                " The maximum number of nominators for each validator."
              ]
            },
            {
              "name": "MaxSetIdSessionEntries",
              "type": 12,
              "value": "0xa800000000000000",
              "docs": [
                " The maximum number of entries to keep in the set id to session index mapping.",
                "",
                " Since the `SetIdSession` map is only used for validating equivocations this",
                " value should relate to the bonding duration of whatever staking system is",
                " being used (if any). If equivocation handling is not enabled then this value",
                " can be zero."
              ]
            }
          ],
          "errors": {
            "type": 914
          },
          "index": 200
        },
        {
          "name": "Mmr",
          "storage": {
            "prefix": "Mmr",
            "items": [
              {
                "name": "RootHash",
                "modifier": "Default",
                "type": {
                  "plain": 13
                },
                "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",
                "docs": [
                  " Latest MMR Root hash."
                ]
              },
              {
                "name": "NumberOfLeaves",
                "modifier": "Default",
                "type": {
                  "plain": 12
                },
                "fallback": "0x0000000000000000",
                "docs": [
                  " Current size of the MMR (number of leaves)."
                ]
              },
              {
                "name": "Nodes",
                "modifier": "Optional",
                "type": {
                  "map": {
                    "hashers": [
                      "Identity"
                    ],
                    "key": 12,
                    "value": 13
                  }
                },
                "fallback": "0x00",
                "docs": [
                  " Hashes of the nodes in the MMR.",
                  "",
                  " Note this collection only contains MMR peaks, the inner nodes (and leaves)",
                  " are pruned and only stored in the Offchain DB."
                ]
              }
            ]
          },
          "calls": null,
          "events": null,
          "constants": [],
          "errors": null,
          "index": 201
        },
        {
          "name": "BeefyMmrLeaf",
          "storage": {
            "prefix": "BeefyMmrLeaf",
            "items": [
              {
                "name": "BeefyAuthorities",
                "modifier": "Default",
                "type": {
                  "plain": 915
                },
                "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                "docs": [
                  " Details of current BEEFY authority set."
                ]
              },
              {
                "name": "BeefyNextAuthorities",
                "modifier": "Default",
                "type": {
                  "plain": 915
                },
                "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                "docs": [
                  " Details of next BEEFY authority set.",
                  "",
                  " This storage entry is used as cache for calls to `update_beefy_next_authority_set`."
                ]
              }
            ]
          },
          "calls": null,
          "events": null,
          "constants": [],
          "errors": null,
          "index": 202
        }
      ],
      "extrinsic": {
        "type": 916,
        "version": 4,
        "signedExtensions": [
          {
            "identifier": "CheckNonZeroSender",
            "type": 918,
            "additionalSigned": 104
          },
          {
            "identifier": "CheckSpecVersion",
            "type": 919,
            "additionalSigned": 4
          },
          {
            "identifier": "CheckTxVersion",
            "type": 920,
            "additionalSigned": 4
          },
          {
            "identifier": "CheckGenesis",
            "type": 921,
            "additionalSigned": 13
          },
          {
            "identifier": "CheckMortality",
            "type": 922,
            "additionalSigned": 13
          },
          {
            "identifier": "CheckNonce",
            "type": 924,
            "additionalSigned": 104
          },
          {
            "identifier": "CheckWeight",
            "type": 925,
            "additionalSigned": 104
          },
          {
            "identifier": "ChargeTransactionPayment",
            "type": 926,
            "additionalSigned": 104
          },
          {
            "identifier": "CheckMetadataHash",
            "type": 927,
            "additionalSigned": 492
          }
        ]
      },
      "type": 929
    }
  }
}