diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 90cdfa2..7ac4fcf 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -11,7 +11,8 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v3 - name: setup uses: actions-rs/toolchain@v1 @@ -32,6 +33,9 @@ jobs: cargo clippy --version cargo clippy --all-targets -- -D warnings + - name: machete + uses: bnjbvr/cargo-machete@main + - name: check run: | cargo check diff --git a/.gitignore b/.gitignore index ebcbf42..5a76e8f 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ .idea Cargo.lock + +/artifacts/*.rs diff --git a/Cargo.lock b/Cargo.lock index def5cb8..c4a07f2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -56,24 +56,12 @@ version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - [[package]] name = "cfg-if" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "crunchy" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" - [[package]] name = "crypto-common" version = "0.1.6" @@ -84,41 +72,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "darling" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 1.0.109", -] - -[[package]] -name = "darling_macro" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" -dependencies = [ - "darling_core", - "quote", - "syn 1.0.109", -] - [[package]] name = "derive_more" version = "0.99.17" @@ -160,29 +113,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] -name = "fixed-hash" -version = "0.8.0" +name = "frame-metadata" +version = "15.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +checksum = "878babb0b136e731cc77ec2fd883ff02745ff21e6fb662729953d44923df009c" dependencies = [ - "static_assertions", + "cfg-if", + "parity-scale-codec", + "scale-info", ] -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - [[package]] name = "frame-metadata" -version = "15.1.0" +version = "16.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "878babb0b136e731cc77ec2fd883ff02745ff21e6fb662729953d44923df009c" +checksum = "87cf1549fba25a6fcac22785b61698317d958e96cac72a59102ea45b9ae64692" dependencies = [ "cfg-if", "parity-scale-codec", "scale-info", + "serde", ] [[package]] @@ -218,18 +168,6 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - [[package]] name = "impl-trait-for-tuples" version = "0.2.2" @@ -257,12 +195,6 @@ version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8" -[[package]] -name = "itoa" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" - [[package]] name = "libc" version = "0.2.150" @@ -339,16 +271,6 @@ dependencies = [ "syn 2.0.39", ] -[[package]] -name = "primitive-types" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" -dependencies = [ - "fixed-hash", - "uint", -] - [[package]] name = "proc-macro-crate" version = "1.3.1" @@ -413,12 +335,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "ryu" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" - [[package]] name = "scale-bits" version = "0.4.0" @@ -430,21 +346,6 @@ dependencies = [ "serde", ] -[[package]] -name = "scale-decode" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7789f5728e4e954aaa20cadcc370b99096fb8645fca3c9333ace44bb18f30095" -dependencies = [ - "derive_more", - "parity-scale-codec", - "primitive-types", - "scale-bits", - "scale-decode-derive", - "scale-info", - "smallvec", -] - [[package]] name = "scale-decode" version = "0.10.0" @@ -458,19 +359,6 @@ dependencies = [ "smallvec", ] -[[package]] -name = "scale-decode-derive" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27873eb6005868f8cc72dcfe109fae664cf51223d35387bc2f28be4c28d94c47" -dependencies = [ - "darling", - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "scale-encode" version = "0.5.0" @@ -479,26 +367,11 @@ checksum = "6d70cb4b29360105483fac1ed567ff95d65224a14dd275b6303ed0a654c78de5" dependencies = [ "derive_more", "parity-scale-codec", - "primitive-types", "scale-bits", - "scale-encode-derive", "scale-info", "smallvec", ] -[[package]] -name = "scale-encode-derive" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "995491f110efdc6bea96d6a746140e32bfceb4ea47510750a5467295a4707a25" -dependencies = [ - "darling", - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "scale-info" version = "2.10.0" @@ -530,18 +403,14 @@ name = "scale-typegen" version = "0.0.1" dependencies = [ "bitvec", + "frame-metadata 16.0.0", "parity-scale-codec", "pretty_assertions", "prettyplease", "proc-macro2", "quote", "scale-bits", - "scale-decode 0.9.0", - "scale-encode", "scale-info", - "serde", - "serde_json", - "smallvec", "syn 2.0.39", "thiserror", ] @@ -563,6 +432,7 @@ dependencies = [ "scale-typegen", "scale-value", "smallvec", + "syn 2.0.39", ] [[package]] @@ -575,10 +445,10 @@ dependencies = [ "blake2", "derive_more", "either", - "frame-metadata", + "frame-metadata 15.1.0", "parity-scale-codec", "scale-bits", - "scale-decode 0.10.0", + "scale-decode", "scale-encode", "scale-info", "serde", @@ -605,35 +475,12 @@ dependencies = [ "syn 2.0.39", ] -[[package]] -name = "serde_json" -version = "1.0.108" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" -dependencies = [ - "itoa", - "ryu", - "serde", -] - [[package]] name = "smallvec" version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - [[package]] name = "subtle" version = "2.5.0" @@ -711,18 +558,6 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" -[[package]] -name = "uint" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" -dependencies = [ - "byteorder", - "crunchy", - "hex", - "static_assertions", -] - [[package]] name = "unicode-ident" version = "1.0.12" diff --git a/Cargo.toml b/Cargo.toml index bf8710f..0f6fee9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,22 +23,18 @@ parity-scale-codec = { version = "3.6.5", features = ["derive"] } proc-macro2 = "1.0.69" quote = "1.0.33" scale-bits = "0.4.0" -scale-info = { version = "2.10.0", features = [ - "derive", - "bitvec", - "decode", - "docs", - "serde", -] } -smallvec = "1.11.2" +scale-info = { version = "2.10.0", features = ["derive", "bitvec", "decode", "docs", "serde"] } +smallvec = "1.10.0" syn = { version = "2.0.38", features = ["full", "extra-traits"] } thiserror = "1.0.50" prettyplease = "0.2.15" scale-decode = "0.9.0" scale-encode = "0.5.0" -serde = "1.0.192" -serde_json = "1.0.108" +frame-metadata = { version = "16.0.0", default-features = false, features = ["current", "std"] } bitvec = { version = "1", default-features = false } pretty_assertions = "1.4.0" anyhow = "1.0.75" -# crates +peekmore = "1.3.0" +scale-value = { version = "0.13.0" } +rand_chacha = { version = "0.3.1" } +rand = { version = "0.8.5" } diff --git a/artifacts/polkadot.json b/artifacts/polkadot.json deleted file mode 100644 index 5edd6eb..0000000 --- a/artifacts/polkadot.json +++ /dev/null @@ -1,47956 +0,0 @@ -[ - 1635018093, - { - "V15": { - "types": { - "types": [ - { - "id": 0, - "type": { - "path": ["sp_core", "crypto", "AccountId32"], - "def": { - "composite": { - "fields": [ - { - "type": 1, - "typeName": "[u8; 32]" - } - ] - } - } - } - }, - { - "id": 1, - "type": { - "def": { - "array": { - "len": 32, - "type": 2 - } - } - } - }, - { - "id": 2, - "type": { - "def": { - "primitive": "u8" - } - } - }, - { - "id": 3, - "type": { - "path": ["frame_system", "AccountInfo"], - "params": [ - { - "name": "Nonce", - "type": 4 - }, - { - "name": "AccountData", - "type": 5 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "nonce", - "type": 4, - "typeName": "Nonce" - }, - { - "name": "consumers", - "type": 4, - "typeName": "RefCount" - }, - { - "name": "providers", - "type": 4, - "typeName": "RefCount" - }, - { - "name": "sufficients", - "type": 4, - "typeName": "RefCount" - }, - { - "name": "data", - "type": 5, - "typeName": "AccountData" - } - ] - } - } - } - }, - { - "id": 4, - "type": { - "def": { - "primitive": "u32" - } - } - }, - { - "id": 5, - "type": { - "path": ["pallet_balances", "types", "AccountData"], - "params": [ - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "free", - "type": 6, - "typeName": "Balance" - }, - { - "name": "reserved", - "type": 6, - "typeName": "Balance" - }, - { - "name": "frozen", - "type": 6, - "typeName": "Balance" - }, - { - "name": "flags", - "type": 7, - "typeName": "ExtraFlags" - } - ] - } - } - } - }, - { - "id": 6, - "type": { - "def": { - "primitive": "u128" - } - } - }, - { - "id": 7, - "type": { - "path": ["pallet_balances", "types", "ExtraFlags"], - "def": { - "composite": { - "fields": [ - { - "type": 6, - "typeName": "u128" - } - ] - } - } - } - }, - { - "id": 8, - "type": { - "path": ["frame_support", "dispatch", "PerDispatchClass"], - "params": [ - { - "name": "T", - "type": 9 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "normal", - "type": 9, - "typeName": "T" - }, - { - "name": "operational", - "type": 9, - "typeName": "T" - }, - { - "name": "mandatory", - "type": 9, - "typeName": "T" - } - ] - } - } - } - }, - { - "id": 9, - "type": { - "path": ["sp_weights", "weight_v2", "Weight"], - "def": { - "composite": { - "fields": [ - { - "name": "ref_time", - "type": 10, - "typeName": "u64" - }, - { - "name": "proof_size", - "type": 10, - "typeName": "u64" - } - ] - } - } - } - }, - { - "id": 10, - "type": { - "def": { - "compact": { - "type": 11 - } - } - } - }, - { - "id": 11, - "type": { - "def": { - "primitive": "u64" - } - } - }, - { - "id": 12, - "type": { - "path": ["primitive_types", "H256"], - "def": { - "composite": { - "fields": [ - { - "type": 1, - "typeName": "[u8; 32]" - } - ] - } - } - } - }, - { - "id": 13, - "type": { - "def": { - "sequence": { - "type": 2 - } - } - } - }, - { - "id": 14, - "type": { - "path": ["sp_runtime", "generic", "digest", "Digest"], - "def": { - "composite": { - "fields": [ - { - "name": "logs", - "type": 15, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 15, - "type": { - "def": { - "sequence": { - "type": 16 - } - } - } - }, - { - "id": 16, - "type": { - "path": ["sp_runtime", "generic", "digest", "DigestItem"], - "def": { - "variant": { - "variants": [ - { - "name": "PreRuntime", - "fields": [ - { - "type": 17, - "typeName": "ConsensusEngineId" - }, - { - "type": 13, - "typeName": "Vec" - } - ], - "index": 6 - }, - { - "name": "Consensus", - "fields": [ - { - "type": 17, - "typeName": "ConsensusEngineId" - }, - { - "type": 13, - "typeName": "Vec" - } - ], - "index": 4 - }, - { - "name": "Seal", - "fields": [ - { - "type": 17, - "typeName": "ConsensusEngineId" - }, - { - "type": 13, - "typeName": "Vec" - } - ], - "index": 5 - }, - { - "name": "Other", - "fields": [ - { - "type": 13, - "typeName": "Vec" - } - ], - "index": 0 - }, - { - "name": "RuntimeEnvironmentUpdated", - "index": 8 - } - ] - } - } - } - }, - { - "id": 17, - "type": { - "def": { - "array": { - "len": 4, - "type": 2 - } - } - } - }, - { - "id": 18, - "type": { - "def": { - "sequence": { - "type": 19 - } - } - } - }, - { - "id": 19, - "type": { - "path": ["frame_system", "EventRecord"], - "params": [ - { - "name": "E", - "type": 20 - }, - { - "name": "T", - "type": 12 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "phase", - "type": 177, - "typeName": "Phase" - }, - { - "name": "event", - "type": 20, - "typeName": "E" - }, - { - "name": "topics", - "type": 178, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 20, - "type": { - "path": ["rococo_runtime", "RuntimeEvent"], - "def": { - "variant": { - "variants": [ - { - "name": "System", - "fields": [ - { - "type": 21, - "typeName": "frame_system::Event" - } - ], - "index": 0 - }, - { - "name": "Indices", - "fields": [ - { - "type": 30, - "typeName": "pallet_indices::Event" - } - ], - "index": 3 - }, - { - "name": "Balances", - "fields": [ - { - "type": 31, - "typeName": "pallet_balances::Event" - } - ], - "index": 4 - }, - { - "name": "TransactionPayment", - "fields": [ - { - "type": 33, - "typeName": "pallet_transaction_payment::Event" - } - ], - "index": 33 - }, - { - "name": "Offences", - "fields": [ - { - "type": 34, - "typeName": "pallet_offences::Event" - } - ], - "index": 7 - }, - { - "name": "Session", - "fields": [ - { - "type": 36, - "typeName": "pallet_session::Event" - } - ], - "index": 8 - }, - { - "name": "Grandpa", - "fields": [ - { - "type": 37, - "typeName": "pallet_grandpa::Event" - } - ], - "index": 10 - }, - { - "name": "ImOnline", - "fields": [ - { - "type": 42, - "typeName": "pallet_im_online::Event" - } - ], - "index": 11 - }, - { - "name": "Democracy", - "fields": [ - { - "type": 48, - "typeName": "pallet_democracy::Event" - } - ], - "index": 13 - }, - { - "name": "Council", - "fields": [ - { - "type": 53, - "typeName": "pallet_collective::Event" - } - ], - "index": 14 - }, - { - "name": "TechnicalCommittee", - "fields": [ - { - "type": 56, - "typeName": "pallet_collective::Event" - } - ], - "index": 15 - }, - { - "name": "PhragmenElection", - "fields": [ - { - "type": 57, - "typeName": "pallet_elections_phragmen::Event" - } - ], - "index": 16 - }, - { - "name": "TechnicalMembership", - "fields": [ - { - "type": 60, - "typeName": "pallet_membership::Event" - } - ], - "index": 17 - }, - { - "name": "Treasury", - "fields": [ - { - "type": 61, - "typeName": "pallet_treasury::Event" - } - ], - "index": 18 - }, - { - "name": "Claims", - "fields": [ - { - "type": 62, - "typeName": "claims::Event" - } - ], - "index": 19 - }, - { - "name": "Utility", - "fields": [ - { - "type": 65, - "typeName": "pallet_utility::Event" - } - ], - "index": 24 - }, - { - "name": "Identity", - "fields": [ - { - "type": 66, - "typeName": "pallet_identity::Event" - } - ], - "index": 25 - }, - { - "name": "Society", - "fields": [ - { - "type": 67, - "typeName": "pallet_society::Event" - } - ], - "index": 26 - }, - { - "name": "Recovery", - "fields": [ - { - "type": 70, - "typeName": "pallet_recovery::Event" - } - ], - "index": 27 - }, - { - "name": "Vesting", - "fields": [ - { - "type": 71, - "typeName": "pallet_vesting::Event" - } - ], - "index": 28 - }, - { - "name": "Scheduler", - "fields": [ - { - "type": 72, - "typeName": "pallet_scheduler::Event" - } - ], - "index": 29 - }, - { - "name": "Proxy", - "fields": [ - { - "type": 75, - "typeName": "pallet_proxy::Event" - } - ], - "index": 30 - }, - { - "name": "Multisig", - "fields": [ - { - "type": 78, - "typeName": "pallet_multisig::Event" - } - ], - "index": 31 - }, - { - "name": "Preimage", - "fields": [ - { - "type": 80, - "typeName": "pallet_preimage::Event" - } - ], - "index": 32 - }, - { - "name": "Bounties", - "fields": [ - { - "type": 81, - "typeName": "pallet_bounties::Event" - } - ], - "index": 35 - }, - { - "name": "ChildBounties", - "fields": [ - { - "type": 82, - "typeName": "pallet_child_bounties::Event" - } - ], - "index": 40 - }, - { - "name": "Tips", - "fields": [ - { - "type": 83, - "typeName": "pallet_tips::Event" - } - ], - "index": 36 - }, - { - "name": "Nis", - "fields": [ - { - "type": 84, - "typeName": "pallet_nis::Event" - } - ], - "index": 38 - }, - { - "name": "NisCounterpartBalances", - "fields": [ - { - "type": 86, - "typeName": "pallet_balances::Event" - } - ], - "index": 45 - }, - { - "name": "ParaInclusion", - "fields": [ - { - "type": 87, - "typeName": "parachains_inclusion::Event" - } - ], - "index": 53 - }, - { - "name": "Paras", - "fields": [ - { - "type": 99, - "typeName": "parachains_paras::Event" - } - ], - "index": 56 - }, - { - "name": "Hrmp", - "fields": [ - { - "type": 100, - "typeName": "parachains_hrmp::Event" - } - ], - "index": 60 - }, - { - "name": "ParasDisputes", - "fields": [ - { - "type": 102, - "typeName": "parachains_disputes::Event" - } - ], - "index": 62 - }, - { - "name": "MessageQueue", - "fields": [ - { - "type": 106, - "typeName": "pallet_message_queue::Event" - } - ], - "index": 64 - }, - { - "name": "OnDemandAssignmentProvider", - "fields": [ - { - "type": 110, - "typeName": "parachains_assigner_on_demand::Event" - } - ], - "index": 66 - }, - { - "name": "Registrar", - "fields": [ - { - "type": 112, - "typeName": "paras_registrar::Event" - } - ], - "index": 70 - }, - { - "name": "Slots", - "fields": [ - { - "type": 113, - "typeName": "slots::Event" - } - ], - "index": 71 - }, - { - "name": "Auctions", - "fields": [ - { - "type": 114, - "typeName": "auctions::Event" - } - ], - "index": 72 - }, - { - "name": "Crowdloan", - "fields": [ - { - "type": 115, - "typeName": "crowdloan::Event" - } - ], - "index": 73 - }, - { - "name": "XcmPallet", - "fields": [ - { - "type": 116, - "typeName": "pallet_xcm::Event" - } - ], - "index": 99 - }, - { - "name": "AssignedSlots", - "fields": [ - { - "type": 170, - "typeName": "assigned_slots::Event" - } - ], - "index": 251 - }, - { - "name": "ValidatorManager", - "fields": [ - { - "type": 171, - "typeName": "validator_manager::Event" - } - ], - "index": 252 - }, - { - "name": "StateTrieMigration", - "fields": [ - { - "type": 172, - "typeName": "pallet_state_trie_migration::Event" - } - ], - "index": 254 - }, - { - "name": "Sudo", - "fields": [ - { - "type": 175, - "typeName": "pallet_sudo::Event" - } - ], - "index": 255 - } - ] - } - } - } - }, - { - "id": 21, - "type": { - "path": ["frame_system", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "ExtrinsicSuccess", - "fields": [ - { - "name": "dispatch_info", - "type": 22, - "typeName": "DispatchInfo" - } - ], - "index": 0, - "docs": ["An extrinsic completed successfully."] - }, - { - "name": "ExtrinsicFailed", - "fields": [ - { - "name": "dispatch_error", - "type": 25, - "typeName": "DispatchError" - }, - { - "name": "dispatch_info", - "type": 22, - "typeName": "DispatchInfo" - } - ], - "index": 1, - "docs": ["An extrinsic failed."] - }, - { - "name": "CodeUpdated", - "index": 2, - "docs": ["`:code` was updated."] - }, - { - "name": "NewAccount", - "fields": [ - { - "name": "account", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 3, - "docs": ["A new account was created."] - }, - { - "name": "KilledAccount", - "fields": [ - { - "name": "account", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 4, - "docs": ["An account was reaped."] - }, - { - "name": "Remarked", - "fields": [ - { - "name": "sender", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "hash", - "type": 12, - "typeName": "T::Hash" - } - ], - "index": 5, - "docs": ["On on-chain remark happened."] - } - ] - } - }, - "docs": ["Event for the System pallet."] - } - }, - { - "id": 22, - "type": { - "path": ["frame_support", "dispatch", "DispatchInfo"], - "def": { - "composite": { - "fields": [ - { - "name": "weight", - "type": 9, - "typeName": "Weight" - }, - { - "name": "class", - "type": 23, - "typeName": "DispatchClass" - }, - { - "name": "pays_fee", - "type": 24, - "typeName": "Pays" - } - ] - } - } - } - }, - { - "id": 23, - "type": { - "path": ["frame_support", "dispatch", "DispatchClass"], - "def": { - "variant": { - "variants": [ - { - "name": "Normal", - "index": 0 - }, - { - "name": "Operational", - "index": 1 - }, - { - "name": "Mandatory", - "index": 2 - } - ] - } - } - } - }, - { - "id": 24, - "type": { - "path": ["frame_support", "dispatch", "Pays"], - "def": { - "variant": { - "variants": [ - { - "name": "Yes", - "index": 0 - }, - { - "name": "No", - "index": 1 - } - ] - } - } - } - }, - { - "id": 25, - "type": { - "path": ["sp_runtime", "DispatchError"], - "def": { - "variant": { - "variants": [ - { - "name": "Other", - "index": 0 - }, - { - "name": "CannotLookup", - "index": 1 - }, - { - "name": "BadOrigin", - "index": 2 - }, - { - "name": "Module", - "fields": [ - { - "type": 26, - "typeName": "ModuleError" - } - ], - "index": 3 - }, - { - "name": "ConsumerRemaining", - "index": 4 - }, - { - "name": "NoProviders", - "index": 5 - }, - { - "name": "TooManyConsumers", - "index": 6 - }, - { - "name": "Token", - "fields": [ - { - "type": 27, - "typeName": "TokenError" - } - ], - "index": 7 - }, - { - "name": "Arithmetic", - "fields": [ - { - "type": 28, - "typeName": "ArithmeticError" - } - ], - "index": 8 - }, - { - "name": "Transactional", - "fields": [ - { - "type": 29, - "typeName": "TransactionalError" - } - ], - "index": 9 - }, - { - "name": "Exhausted", - "index": 10 - }, - { - "name": "Corruption", - "index": 11 - }, - { - "name": "Unavailable", - "index": 12 - }, - { - "name": "RootNotAllowed", - "index": 13 - } - ] - } - } - } - }, - { - "id": 26, - "type": { - "path": ["sp_runtime", "ModuleError"], - "def": { - "composite": { - "fields": [ - { - "name": "index", - "type": 2, - "typeName": "u8" - }, - { - "name": "error", - "type": 17, - "typeName": "[u8; MAX_MODULE_ERROR_ENCODED_SIZE]" - } - ] - } - } - } - }, - { - "id": 27, - "type": { - "path": ["sp_runtime", "TokenError"], - "def": { - "variant": { - "variants": [ - { - "name": "FundsUnavailable", - "index": 0 - }, - { - "name": "OnlyProvider", - "index": 1 - }, - { - "name": "BelowMinimum", - "index": 2 - }, - { - "name": "CannotCreate", - "index": 3 - }, - { - "name": "UnknownAsset", - "index": 4 - }, - { - "name": "Frozen", - "index": 5 - }, - { - "name": "Unsupported", - "index": 6 - }, - { - "name": "CannotCreateHold", - "index": 7 - }, - { - "name": "NotExpendable", - "index": 8 - }, - { - "name": "Blocked", - "index": 9 - } - ] - } - } - } - }, - { - "id": 28, - "type": { - "path": ["sp_arithmetic", "ArithmeticError"], - "def": { - "variant": { - "variants": [ - { - "name": "Underflow", - "index": 0 - }, - { - "name": "Overflow", - "index": 1 - }, - { - "name": "DivisionByZero", - "index": 2 - } - ] - } - } - } - }, - { - "id": 29, - "type": { - "path": ["sp_runtime", "TransactionalError"], - "def": { - "variant": { - "variants": [ - { - "name": "LimitReached", - "index": 0 - }, - { - "name": "NoLayer", - "index": 1 - } - ] - } - } - } - }, - { - "id": 30, - "type": { - "path": ["pallet_indices", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "IndexAssigned", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "index", - "type": 4, - "typeName": "T::AccountIndex" - } - ], - "index": 0, - "docs": ["A account index was assigned."] - }, - { - "name": "IndexFreed", - "fields": [ - { - "name": "index", - "type": 4, - "typeName": "T::AccountIndex" - } - ], - "index": 1, - "docs": [ - "A account index has been freed up (unassigned)." - ] - }, - { - "name": "IndexFrozen", - "fields": [ - { - "name": "index", - "type": 4, - "typeName": "T::AccountIndex" - }, - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 2, - "docs": [ - "A account index has been frozen to its current account ID." - ] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 31, - "type": { - "path": ["pallet_balances", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Endowed", - "fields": [ - { - "name": "account", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "free_balance", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 0, - "docs": ["An account was created with some free balance."] - }, - { - "name": "DustLost", - "fields": [ - { - "name": "account", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 1, - "docs": [ - "An account was removed whose balance was non-zero but below ExistentialDeposit,", - "resulting in an outright loss." - ] - }, - { - "name": "Transfer", - "fields": [ - { - "name": "from", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "to", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 2, - "docs": ["Transfer succeeded."] - }, - { - "name": "BalanceSet", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "free", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 3, - "docs": ["A balance was set by root."] - }, - { - "name": "Reserved", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 4, - "docs": [ - "Some balance was reserved (moved from free to reserved)." - ] - }, - { - "name": "Unreserved", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 5, - "docs": [ - "Some balance was unreserved (moved from reserved to free)." - ] - }, - { - "name": "ReserveRepatriated", - "fields": [ - { - "name": "from", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "to", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - }, - { - "name": "destination_status", - "type": 32, - "typeName": "Status" - } - ], - "index": 6, - "docs": [ - "Some balance was moved from the reserve of the first account to the second account.", - "Final argument indicates the destination balance type." - ] - }, - { - "name": "Deposit", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 7, - "docs": [ - "Some amount was deposited (e.g. for transaction fees)." - ] - }, - { - "name": "Withdraw", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 8, - "docs": [ - "Some amount was withdrawn from the account (e.g. for transaction fees)." - ] - }, - { - "name": "Slashed", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 9, - "docs": [ - "Some amount was removed from the account (e.g. for misbehavior)." - ] - }, - { - "name": "Minted", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 10, - "docs": ["Some amount was minted into an account."] - }, - { - "name": "Burned", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 11, - "docs": ["Some amount was burned from an account."] - }, - { - "name": "Suspended", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 12, - "docs": [ - "Some amount was suspended from an account (it can be restored later)." - ] - }, - { - "name": "Restored", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 13, - "docs": ["Some amount was restored into an account."] - }, - { - "name": "Upgraded", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 14, - "docs": ["An account was upgraded."] - }, - { - "name": "Issued", - "fields": [ - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 15, - "docs": [ - "Total issuance was increased by `amount`, creating a credit to be balanced." - ] - }, - { - "name": "Rescinded", - "fields": [ - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 16, - "docs": [ - "Total issuance was decreased by `amount`, creating a debt to be balanced." - ] - }, - { - "name": "Locked", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 17, - "docs": ["Some balance was locked."] - }, - { - "name": "Unlocked", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 18, - "docs": ["Some balance was unlocked."] - }, - { - "name": "Frozen", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 19, - "docs": ["Some balance was frozen."] - }, - { - "name": "Thawed", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 20, - "docs": ["Some balance was thawed."] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 32, - "type": { - "path": [ - "frame_support", - "traits", - "tokens", - "misc", - "BalanceStatus" - ], - "def": { - "variant": { - "variants": [ - { - "name": "Free", - "index": 0 - }, - { - "name": "Reserved", - "index": 1 - } - ] - } - } - } - }, - { - "id": 33, - "type": { - "path": ["pallet_transaction_payment", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "TransactionFeePaid", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "actual_fee", - "type": 6, - "typeName": "BalanceOf" - }, - { - "name": "tip", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 0, - "docs": [ - "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", - "has been paid by `who`." - ] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 34, - "type": { - "path": ["pallet_offences", "pallet", "Event"], - "def": { - "variant": { - "variants": [ - { - "name": "Offence", - "fields": [ - { - "name": "kind", - "type": 35, - "typeName": "Kind" - }, - { - "name": "timeslot", - "type": 13, - "typeName": "OpaqueTimeSlot" - } - ], - "index": 0, - "docs": [ - "There is an offence reported of the given `kind` happened at the `session_index` and", - "(kind-specific) time slot. This event is not deposited for duplicate slashes.", - "\\[kind, timeslot\\]." - ] - } - ] - } - }, - "docs": ["Events type."] - } - }, - { - "id": 35, - "type": { - "def": { - "array": { - "len": 16, - "type": 2 - } - } - } - }, - { - "id": 36, - "type": { - "path": ["pallet_session", "pallet", "Event"], - "def": { - "variant": { - "variants": [ - { - "name": "NewSession", - "fields": [ - { - "name": "session_index", - "type": 4, - "typeName": "SessionIndex" - } - ], - "index": 0, - "docs": [ - "New session has happened. Note that the argument is the session index, not the", - "block number as the type might suggest." - ] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 37, - "type": { - "path": ["pallet_grandpa", "pallet", "Event"], - "def": { - "variant": { - "variants": [ - { - "name": "NewAuthorities", - "fields": [ - { - "name": "authority_set", - "type": 38, - "typeName": "AuthorityList" - } - ], - "index": 0, - "docs": ["New authority set has been applied."] - }, - { - "name": "Paused", - "index": 1, - "docs": ["Current authority set has been paused."] - }, - { - "name": "Resumed", - "index": 2, - "docs": ["Current authority set has been resumed."] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 38, - "type": { - "def": { - "sequence": { - "type": 39 - } - } - } - }, - { - "id": 39, - "type": { - "def": { - "tuple": [40, 11] - } - } - }, - { - "id": 40, - "type": { - "path": ["sp_consensus_grandpa", "app", "Public"], - "def": { - "composite": { - "fields": [ - { - "type": 41, - "typeName": "ed25519::Public" - } - ] - } - } - } - }, - { - "id": 41, - "type": { - "path": ["sp_core", "ed25519", "Public"], - "def": { - "composite": { - "fields": [ - { - "type": 1, - "typeName": "[u8; 32]" - } - ] - } - } - } - }, - { - "id": 42, - "type": { - "path": ["pallet_im_online", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "HeartbeatReceived", - "fields": [ - { - "name": "authority_id", - "type": 43, - "typeName": "T::AuthorityId" - } - ], - "index": 0, - "docs": [ - "A new heartbeat was received from `AuthorityId`." - ] - }, - { - "name": "AllGood", - "index": 1, - "docs": [ - "At the end of the session, no offence was committed." - ] - }, - { - "name": "SomeOffline", - "fields": [ - { - "name": "offline", - "type": 45, - "typeName": "Vec>" - } - ], - "index": 2, - "docs": [ - "At the end of the session, at least one validator was found to be offline." - ] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 43, - "type": { - "path": ["pallet_im_online", "sr25519", "app_sr25519", "Public"], - "def": { - "composite": { - "fields": [ - { - "type": 44, - "typeName": "sr25519::Public" - } - ] - } - } - } - }, - { - "id": 44, - "type": { - "path": ["sp_core", "sr25519", "Public"], - "def": { - "composite": { - "fields": [ - { - "type": 1, - "typeName": "[u8; 32]" - } - ] - } - } - } - }, - { - "id": 45, - "type": { - "def": { - "sequence": { - "type": 46 - } - } - } - }, - { - "id": 46, - "type": { - "def": { - "tuple": [0, 47] - } - } - }, - { - "id": 47, - "type": { - "def": { - "tuple": [] - } - } - }, - { - "id": 48, - "type": { - "path": ["pallet_democracy", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Proposed", - "fields": [ - { - "name": "proposal_index", - "type": 4, - "typeName": "PropIndex" - }, - { - "name": "deposit", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 0, - "docs": [ - "A motion has been proposed by a public account." - ] - }, - { - "name": "Tabled", - "fields": [ - { - "name": "proposal_index", - "type": 4, - "typeName": "PropIndex" - }, - { - "name": "deposit", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 1, - "docs": [ - "A public proposal has been tabled for referendum vote." - ] - }, - { - "name": "ExternalTabled", - "index": 2, - "docs": ["An external proposal has been tabled."] - }, - { - "name": "Started", - "fields": [ - { - "name": "ref_index", - "type": 4, - "typeName": "ReferendumIndex" - }, - { - "name": "threshold", - "type": 49, - "typeName": "VoteThreshold" - } - ], - "index": 3, - "docs": ["A referendum has begun."] - }, - { - "name": "Passed", - "fields": [ - { - "name": "ref_index", - "type": 4, - "typeName": "ReferendumIndex" - } - ], - "index": 4, - "docs": ["A proposal has been approved by referendum."] - }, - { - "name": "NotPassed", - "fields": [ - { - "name": "ref_index", - "type": 4, - "typeName": "ReferendumIndex" - } - ], - "index": 5, - "docs": ["A proposal has been rejected by referendum."] - }, - { - "name": "Cancelled", - "fields": [ - { - "name": "ref_index", - "type": 4, - "typeName": "ReferendumIndex" - } - ], - "index": 6, - "docs": ["A referendum has been cancelled."] - }, - { - "name": "Delegated", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "target", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 7, - "docs": [ - "An account has delegated their vote to another account." - ] - }, - { - "name": "Undelegated", - "fields": [ - { - "name": "account", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 8, - "docs": [ - "An account has cancelled a previous delegation operation." - ] - }, - { - "name": "Vetoed", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "proposal_hash", - "type": 12, - "typeName": "H256" - }, - { - "name": "until", - "type": 4, - "typeName": "BlockNumberFor" - } - ], - "index": 9, - "docs": ["An external proposal has been vetoed."] - }, - { - "name": "Blacklisted", - "fields": [ - { - "name": "proposal_hash", - "type": 12, - "typeName": "H256" - } - ], - "index": 10, - "docs": [ - "A proposal_hash has been blacklisted permanently." - ] - }, - { - "name": "Voted", - "fields": [ - { - "name": "voter", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "ref_index", - "type": 4, - "typeName": "ReferendumIndex" - }, - { - "name": "vote", - "type": 50, - "typeName": "AccountVote>" - } - ], - "index": 11, - "docs": ["An account has voted in a referendum"] - }, - { - "name": "Seconded", - "fields": [ - { - "name": "seconder", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "prop_index", - "type": 4, - "typeName": "PropIndex" - } - ], - "index": 12, - "docs": ["An account has secconded a proposal"] - }, - { - "name": "ProposalCanceled", - "fields": [ - { - "name": "prop_index", - "type": 4, - "typeName": "PropIndex" - } - ], - "index": 13, - "docs": ["A proposal got canceled."] - }, - { - "name": "MetadataSet", - "fields": [ - { - "name": "owner", - "type": 52, - "typeName": "MetadataOwner", - "docs": ["Metadata owner."] - }, - { - "name": "hash", - "type": 12, - "typeName": "PreimageHash", - "docs": ["Preimage hash."] - } - ], - "index": 14, - "docs": [ - "Metadata for a proposal or a referendum has been set." - ] - }, - { - "name": "MetadataCleared", - "fields": [ - { - "name": "owner", - "type": 52, - "typeName": "MetadataOwner", - "docs": ["Metadata owner."] - }, - { - "name": "hash", - "type": 12, - "typeName": "PreimageHash", - "docs": ["Preimage hash."] - } - ], - "index": 15, - "docs": [ - "Metadata for a proposal or a referendum has been cleared." - ] - }, - { - "name": "MetadataTransferred", - "fields": [ - { - "name": "prev_owner", - "type": 52, - "typeName": "MetadataOwner", - "docs": ["Previous metadata owner."] - }, - { - "name": "owner", - "type": 52, - "typeName": "MetadataOwner", - "docs": ["New metadata owner."] - }, - { - "name": "hash", - "type": 12, - "typeName": "PreimageHash", - "docs": ["Preimage hash."] - } - ], - "index": 16, - "docs": ["Metadata has been transferred to new owner."] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 49, - "type": { - "path": ["pallet_democracy", "vote_threshold", "VoteThreshold"], - "def": { - "variant": { - "variants": [ - { - "name": "SuperMajorityApprove", - "index": 0 - }, - { - "name": "SuperMajorityAgainst", - "index": 1 - }, - { - "name": "SimpleMajority", - "index": 2 - } - ] - } - } - } - }, - { - "id": 50, - "type": { - "path": ["pallet_democracy", "vote", "AccountVote"], - "params": [ - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Standard", - "fields": [ - { - "name": "vote", - "type": 51, - "typeName": "Vote" - }, - { - "name": "balance", - "type": 6, - "typeName": "Balance" - } - ], - "index": 0 - }, - { - "name": "Split", - "fields": [ - { - "name": "aye", - "type": 6, - "typeName": "Balance" - }, - { - "name": "nay", - "type": 6, - "typeName": "Balance" - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 51, - "type": { - "path": ["pallet_democracy", "vote", "Vote"], - "def": { - "composite": { - "fields": [ - { - "type": 2 - } - ] - } - } - } - }, - { - "id": 52, - "type": { - "path": ["pallet_democracy", "types", "MetadataOwner"], - "def": { - "variant": { - "variants": [ - { - "name": "External", - "index": 0 - }, - { - "name": "Proposal", - "fields": [ - { - "type": 4, - "typeName": "PropIndex" - } - ], - "index": 1 - }, - { - "name": "Referendum", - "fields": [ - { - "type": 4, - "typeName": "ReferendumIndex" - } - ], - "index": 2 - } - ] - } - } - } - }, - { - "id": 53, - "type": { - "path": ["pallet_collective", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Proposed", - "fields": [ - { - "name": "account", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "proposal_index", - "type": 4, - "typeName": "ProposalIndex" - }, - { - "name": "proposal_hash", - "type": 12, - "typeName": "T::Hash" - }, - { - "name": "threshold", - "type": 4, - "typeName": "MemberCount" - } - ], - "index": 0, - "docs": [ - "A motion (given hash) has been proposed (by given account) with a threshold (given", - "`MemberCount`)." - ] - }, - { - "name": "Voted", - "fields": [ - { - "name": "account", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "proposal_hash", - "type": 12, - "typeName": "T::Hash" - }, - { - "name": "voted", - "type": 54, - "typeName": "bool" - }, - { - "name": "yes", - "type": 4, - "typeName": "MemberCount" - }, - { - "name": "no", - "type": 4, - "typeName": "MemberCount" - } - ], - "index": 1, - "docs": [ - "A motion (given hash) has been voted on by given account, leaving", - "a tally (yes votes and no votes given respectively as `MemberCount`)." - ] - }, - { - "name": "Approved", - "fields": [ - { - "name": "proposal_hash", - "type": 12, - "typeName": "T::Hash" - } - ], - "index": 2, - "docs": [ - "A motion was approved by the required threshold." - ] - }, - { - "name": "Disapproved", - "fields": [ - { - "name": "proposal_hash", - "type": 12, - "typeName": "T::Hash" - } - ], - "index": 3, - "docs": [ - "A motion was not approved by the required threshold." - ] - }, - { - "name": "Executed", - "fields": [ - { - "name": "proposal_hash", - "type": 12, - "typeName": "T::Hash" - }, - { - "name": "result", - "type": 55, - "typeName": "DispatchResult" - } - ], - "index": 4, - "docs": [ - "A motion was executed; result will be `Ok` if it returned without error." - ] - }, - { - "name": "MemberExecuted", - "fields": [ - { - "name": "proposal_hash", - "type": 12, - "typeName": "T::Hash" - }, - { - "name": "result", - "type": 55, - "typeName": "DispatchResult" - } - ], - "index": 5, - "docs": [ - "A single member did some action; result will be `Ok` if it returned without error." - ] - }, - { - "name": "Closed", - "fields": [ - { - "name": "proposal_hash", - "type": 12, - "typeName": "T::Hash" - }, - { - "name": "yes", - "type": 4, - "typeName": "MemberCount" - }, - { - "name": "no", - "type": 4, - "typeName": "MemberCount" - } - ], - "index": 6, - "docs": [ - "A proposal was closed because its threshold was reached or after its duration was up." - ] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 54, - "type": { - "def": { - "primitive": "bool" - } - } - }, - { - "id": 55, - "type": { - "path": ["Result"], - "params": [ - { - "name": "T", - "type": 47 - }, - { - "name": "E", - "type": 25 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Ok", - "fields": [ - { - "type": 47 - } - ], - "index": 0 - }, - { - "name": "Err", - "fields": [ - { - "type": 25 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 56, - "type": { - "path": ["pallet_collective", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Proposed", - "fields": [ - { - "name": "account", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "proposal_index", - "type": 4, - "typeName": "ProposalIndex" - }, - { - "name": "proposal_hash", - "type": 12, - "typeName": "T::Hash" - }, - { - "name": "threshold", - "type": 4, - "typeName": "MemberCount" - } - ], - "index": 0, - "docs": [ - "A motion (given hash) has been proposed (by given account) with a threshold (given", - "`MemberCount`)." - ] - }, - { - "name": "Voted", - "fields": [ - { - "name": "account", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "proposal_hash", - "type": 12, - "typeName": "T::Hash" - }, - { - "name": "voted", - "type": 54, - "typeName": "bool" - }, - { - "name": "yes", - "type": 4, - "typeName": "MemberCount" - }, - { - "name": "no", - "type": 4, - "typeName": "MemberCount" - } - ], - "index": 1, - "docs": [ - "A motion (given hash) has been voted on by given account, leaving", - "a tally (yes votes and no votes given respectively as `MemberCount`)." - ] - }, - { - "name": "Approved", - "fields": [ - { - "name": "proposal_hash", - "type": 12, - "typeName": "T::Hash" - } - ], - "index": 2, - "docs": [ - "A motion was approved by the required threshold." - ] - }, - { - "name": "Disapproved", - "fields": [ - { - "name": "proposal_hash", - "type": 12, - "typeName": "T::Hash" - } - ], - "index": 3, - "docs": [ - "A motion was not approved by the required threshold." - ] - }, - { - "name": "Executed", - "fields": [ - { - "name": "proposal_hash", - "type": 12, - "typeName": "T::Hash" - }, - { - "name": "result", - "type": 55, - "typeName": "DispatchResult" - } - ], - "index": 4, - "docs": [ - "A motion was executed; result will be `Ok` if it returned without error." - ] - }, - { - "name": "MemberExecuted", - "fields": [ - { - "name": "proposal_hash", - "type": 12, - "typeName": "T::Hash" - }, - { - "name": "result", - "type": 55, - "typeName": "DispatchResult" - } - ], - "index": 5, - "docs": [ - "A single member did some action; result will be `Ok` if it returned without error." - ] - }, - { - "name": "Closed", - "fields": [ - { - "name": "proposal_hash", - "type": 12, - "typeName": "T::Hash" - }, - { - "name": "yes", - "type": 4, - "typeName": "MemberCount" - }, - { - "name": "no", - "type": 4, - "typeName": "MemberCount" - } - ], - "index": 6, - "docs": [ - "A proposal was closed because its threshold was reached or after its duration was up." - ] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 57, - "type": { - "path": ["pallet_elections_phragmen", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "NewTerm", - "fields": [ - { - "name": "new_members", - "type": 58, - "typeName": "Vec<(::AccountId, BalanceOf)>" - } - ], - "index": 0, - "docs": [ - "A new term with new_members. This indicates that enough candidates existed to run", - "the election, not that enough have has been elected. The inner value must be examined", - "for this purpose. A `NewTerm(\\[\\])` indicates that some candidates got their bond", - "slashed and none were elected, whilst `EmptyTerm` means that no candidates existed to", - "begin with." - ] - }, - { - "name": "EmptyTerm", - "index": 1, - "docs": [ - "No (or not enough) candidates existed for this round. This is different from", - "`NewTerm(\\[\\])`. See the description of `NewTerm`." - ] - }, - { - "name": "ElectionError", - "index": 2, - "docs": [ - "Internal error happened while trying to perform election." - ] - }, - { - "name": "MemberKicked", - "fields": [ - { - "name": "member", - "type": 0, - "typeName": "::AccountId" - } - ], - "index": 3, - "docs": [ - "A member has been removed. This should always be followed by either `NewTerm` or", - "`EmptyTerm`." - ] - }, - { - "name": "Renounced", - "fields": [ - { - "name": "candidate", - "type": 0, - "typeName": "::AccountId" - } - ], - "index": 4, - "docs": ["Someone has renounced their candidacy."] - }, - { - "name": "CandidateSlashed", - "fields": [ - { - "name": "candidate", - "type": 0, - "typeName": "::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 5, - "docs": [ - "A candidate was slashed by amount due to failing to obtain a seat as member or", - "runner-up.", - "", - "Note that old members and runners-up are also candidates." - ] - }, - { - "name": "SeatHolderSlashed", - "fields": [ - { - "name": "seat_holder", - "type": 0, - "typeName": "::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 6, - "docs": [ - "A seat holder was slashed by amount by being forcefully removed from the set." - ] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 58, - "type": { - "def": { - "sequence": { - "type": 59 - } - } - } - }, - { - "id": 59, - "type": { - "def": { - "tuple": [0, 6] - } - } - }, - { - "id": 60, - "type": { - "path": ["pallet_membership", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "MemberAdded", - "index": 0, - "docs": [ - "The given member was added; see the transaction for who." - ] - }, - { - "name": "MemberRemoved", - "index": 1, - "docs": [ - "The given member was removed; see the transaction for who." - ] - }, - { - "name": "MembersSwapped", - "index": 2, - "docs": [ - "Two members were swapped; see the transaction for who." - ] - }, - { - "name": "MembersReset", - "index": 3, - "docs": [ - "The membership was reset; see the transaction for who the new set is." - ] - }, - { - "name": "KeyChanged", - "index": 4, - "docs": ["One of the members' keys changed."] - }, - { - "name": "Dummy", - "index": 5, - "docs": ["Phantom member, never used."] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 61, - "type": { - "path": ["pallet_treasury", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Proposed", - "fields": [ - { - "name": "proposal_index", - "type": 4, - "typeName": "ProposalIndex" - } - ], - "index": 0, - "docs": ["New proposal."] - }, - { - "name": "Spending", - "fields": [ - { - "name": "budget_remaining", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 1, - "docs": [ - "We have ended a spend period and will now allocate funds." - ] - }, - { - "name": "Awarded", - "fields": [ - { - "name": "proposal_index", - "type": 4, - "typeName": "ProposalIndex" - }, - { - "name": "award", - "type": 6, - "typeName": "BalanceOf" - }, - { - "name": "account", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 2, - "docs": ["Some funds have been allocated."] - }, - { - "name": "Rejected", - "fields": [ - { - "name": "proposal_index", - "type": 4, - "typeName": "ProposalIndex" - }, - { - "name": "slashed", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 3, - "docs": ["A proposal was rejected; funds were slashed."] - }, - { - "name": "Burnt", - "fields": [ - { - "name": "burnt_funds", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 4, - "docs": ["Some of our funds have been burnt."] - }, - { - "name": "Rollover", - "fields": [ - { - "name": "rollover_balance", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 5, - "docs": [ - "Spending has finished; this is the amount that rolls over until next spend." - ] - }, - { - "name": "Deposit", - "fields": [ - { - "name": "value", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 6, - "docs": ["Some funds have been deposited."] - }, - { - "name": "SpendApproved", - "fields": [ - { - "name": "proposal_index", - "type": 4, - "typeName": "ProposalIndex" - }, - { - "name": "amount", - "type": 6, - "typeName": "BalanceOf" - }, - { - "name": "beneficiary", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 7, - "docs": ["A new spend proposal has been approved."] - }, - { - "name": "UpdatedInactive", - "fields": [ - { - "name": "reactivated", - "type": 6, - "typeName": "BalanceOf" - }, - { - "name": "deactivated", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 8, - "docs": [ - "The inactive funds of the pallet have been updated." - ] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 62, - "type": { - "path": ["polkadot_runtime_common", "claims", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Claimed", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "ethereum_address", - "type": 63, - "typeName": "EthereumAddress" - }, - { - "name": "amount", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 0, - "docs": ["Someone claimed some DOTs."] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 63, - "type": { - "path": ["polkadot_runtime_common", "claims", "EthereumAddress"], - "def": { - "composite": { - "fields": [ - { - "type": 64, - "typeName": "[u8; 20]" - } - ] - } - } - } - }, - { - "id": 64, - "type": { - "def": { - "array": { - "len": 20, - "type": 2 - } - } - } - }, - { - "id": 65, - "type": { - "path": ["pallet_utility", "pallet", "Event"], - "def": { - "variant": { - "variants": [ - { - "name": "BatchInterrupted", - "fields": [ - { - "name": "index", - "type": 4, - "typeName": "u32" - }, - { - "name": "error", - "type": 25, - "typeName": "DispatchError" - } - ], - "index": 0, - "docs": [ - "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", - "well as the error." - ] - }, - { - "name": "BatchCompleted", - "index": 1, - "docs": [ - "Batch of dispatches completed fully with no error." - ] - }, - { - "name": "BatchCompletedWithErrors", - "index": 2, - "docs": ["Batch of dispatches completed but has errors."] - }, - { - "name": "ItemCompleted", - "index": 3, - "docs": [ - "A single item within a Batch of dispatches has completed with no error." - ] - }, - { - "name": "ItemFailed", - "fields": [ - { - "name": "error", - "type": 25, - "typeName": "DispatchError" - } - ], - "index": 4, - "docs": [ - "A single item within a Batch of dispatches has completed with error." - ] - }, - { - "name": "DispatchedAs", - "fields": [ - { - "name": "result", - "type": 55, - "typeName": "DispatchResult" - } - ], - "index": 5, - "docs": ["A call was dispatched."] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 66, - "type": { - "path": ["pallet_identity", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "IdentitySet", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 0, - "docs": [ - "A name was set or reset (which will remove all judgements)." - ] - }, - { - "name": "IdentityCleared", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "deposit", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 1, - "docs": [ - "A name was cleared, and the given balance returned." - ] - }, - { - "name": "IdentityKilled", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "deposit", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 2, - "docs": [ - "A name was removed and the given balance slashed." - ] - }, - { - "name": "JudgementRequested", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "registrar_index", - "type": 4, - "typeName": "RegistrarIndex" - } - ], - "index": 3, - "docs": ["A judgement was asked from a registrar."] - }, - { - "name": "JudgementUnrequested", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "registrar_index", - "type": 4, - "typeName": "RegistrarIndex" - } - ], - "index": 4, - "docs": ["A judgement request was retracted."] - }, - { - "name": "JudgementGiven", - "fields": [ - { - "name": "target", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "registrar_index", - "type": 4, - "typeName": "RegistrarIndex" - } - ], - "index": 5, - "docs": ["A judgement was given by a registrar."] - }, - { - "name": "RegistrarAdded", - "fields": [ - { - "name": "registrar_index", - "type": 4, - "typeName": "RegistrarIndex" - } - ], - "index": 6, - "docs": ["A registrar was added."] - }, - { - "name": "SubIdentityAdded", - "fields": [ - { - "name": "sub", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "main", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "deposit", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 7, - "docs": [ - "A sub-identity was added to an identity and the deposit paid." - ] - }, - { - "name": "SubIdentityRemoved", - "fields": [ - { - "name": "sub", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "main", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "deposit", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 8, - "docs": [ - "A sub-identity was removed from an identity and the deposit freed." - ] - }, - { - "name": "SubIdentityRevoked", - "fields": [ - { - "name": "sub", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "main", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "deposit", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 9, - "docs": [ - "A sub-identity was cleared, and the given deposit repatriated from the", - "main identity account to the sub-identity account." - ] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 67, - "type": { - "path": ["pallet_society", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Founded", - "fields": [ - { - "name": "founder", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 0, - "docs": ["The society is founded by the given identity."] - }, - { - "name": "Bid", - "fields": [ - { - "name": "candidate_id", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "offer", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 1, - "docs": [ - "A membership bid just happened. The given account is the candidate's ID and their offer", - "is the second." - ] - }, - { - "name": "Vouch", - "fields": [ - { - "name": "candidate_id", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "offer", - "type": 6, - "typeName": "BalanceOf" - }, - { - "name": "vouching", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 2, - "docs": [ - "A membership bid just happened by vouching. The given account is the candidate's ID and", - "their offer is the second. The vouching party is the third." - ] - }, - { - "name": "AutoUnbid", - "fields": [ - { - "name": "candidate", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 3, - "docs": [ - "A candidate was dropped (due to an excess of bids in the system)." - ] - }, - { - "name": "Unbid", - "fields": [ - { - "name": "candidate", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 4, - "docs": ["A candidate was dropped (by their request)."] - }, - { - "name": "Unvouch", - "fields": [ - { - "name": "candidate", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 5, - "docs": [ - "A candidate was dropped (by request of who vouched for them)." - ] - }, - { - "name": "Inducted", - "fields": [ - { - "name": "primary", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "candidates", - "type": 68, - "typeName": "Vec" - } - ], - "index": 6, - "docs": [ - "A group of candidates have been inducted. The batch's primary is the first value, the", - "batch in full is the second." - ] - }, - { - "name": "SuspendedMemberJudgement", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "judged", - "type": 54, - "typeName": "bool" - } - ], - "index": 7, - "docs": ["A suspended member has been judged."] - }, - { - "name": "CandidateSuspended", - "fields": [ - { - "name": "candidate", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 8, - "docs": ["A candidate has been suspended"] - }, - { - "name": "MemberSuspended", - "fields": [ - { - "name": "member", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 9, - "docs": ["A member has been suspended"] - }, - { - "name": "Challenged", - "fields": [ - { - "name": "member", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 10, - "docs": ["A member has been challenged"] - }, - { - "name": "Vote", - "fields": [ - { - "name": "candidate", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "voter", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "vote", - "type": 54, - "typeName": "bool" - } - ], - "index": 11, - "docs": ["A vote has been placed"] - }, - { - "name": "DefenderVote", - "fields": [ - { - "name": "voter", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "vote", - "type": 54, - "typeName": "bool" - } - ], - "index": 12, - "docs": ["A vote has been placed for a defending member"] - }, - { - "name": "NewParams", - "fields": [ - { - "name": "params", - "type": 69, - "typeName": "GroupParamsFor" - } - ], - "index": 13, - "docs": [ - "A new set of \\[params\\] has been set for the group." - ] - }, - { - "name": "Unfounded", - "fields": [ - { - "name": "founder", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 14, - "docs": ["Society is unfounded."] - }, - { - "name": "Deposit", - "fields": [ - { - "name": "value", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 15, - "docs": [ - "Some funds were deposited into the society account." - ] - }, - { - "name": "Elevated", - "fields": [ - { - "name": "member", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "rank", - "type": 4, - "typeName": "Rank" - } - ], - "index": 16, - "docs": ["A \\[member\\] got elevated to \\[rank\\]."] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 68, - "type": { - "def": { - "sequence": { - "type": 0 - } - } - } - }, - { - "id": 69, - "type": { - "path": ["pallet_society", "GroupParams"], - "params": [ - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "max_members", - "type": 4, - "typeName": "u32" - }, - { - "name": "max_intake", - "type": 4, - "typeName": "u32" - }, - { - "name": "max_strikes", - "type": 4, - "typeName": "u32" - }, - { - "name": "candidate_deposit", - "type": 6, - "typeName": "Balance" - } - ] - } - } - } - }, - { - "id": 70, - "type": { - "path": ["pallet_recovery", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "RecoveryCreated", - "fields": [ - { - "name": "account", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 0, - "docs": [ - "A recovery process has been set up for an account." - ] - }, - { - "name": "RecoveryInitiated", - "fields": [ - { - "name": "lost_account", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "rescuer_account", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 1, - "docs": [ - "A recovery process has been initiated for lost account by rescuer account." - ] - }, - { - "name": "RecoveryVouched", - "fields": [ - { - "name": "lost_account", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "rescuer_account", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "sender", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 2, - "docs": [ - "A recovery process for lost account by rescuer account has been vouched for by sender." - ] - }, - { - "name": "RecoveryClosed", - "fields": [ - { - "name": "lost_account", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "rescuer_account", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 3, - "docs": [ - "A recovery process for lost account by rescuer account has been closed." - ] - }, - { - "name": "AccountRecovered", - "fields": [ - { - "name": "lost_account", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "rescuer_account", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 4, - "docs": [ - "Lost account has been successfully recovered by rescuer account." - ] - }, - { - "name": "RecoveryRemoved", - "fields": [ - { - "name": "lost_account", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 5, - "docs": [ - "A recovery process has been removed for an account." - ] - } - ] - } - }, - "docs": ["Events type."] - } - }, - { - "id": 71, - "type": { - "path": ["pallet_vesting", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "VestingUpdated", - "fields": [ - { - "name": "account", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "unvested", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 0, - "docs": [ - "The amount vested has been updated. This could indicate a change in funds available.", - "The balance given is the amount which is left unvested (and thus locked)." - ] - }, - { - "name": "VestingCompleted", - "fields": [ - { - "name": "account", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 1, - "docs": ["An \\[account\\] has become fully vested."] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 72, - "type": { - "path": ["pallet_scheduler", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Scheduled", - "fields": [ - { - "name": "when", - "type": 4, - "typeName": "BlockNumberFor" - }, - { - "name": "index", - "type": 4, - "typeName": "u32" - } - ], - "index": 0, - "docs": ["Scheduled some task."] - }, - { - "name": "Canceled", - "fields": [ - { - "name": "when", - "type": 4, - "typeName": "BlockNumberFor" - }, - { - "name": "index", - "type": 4, - "typeName": "u32" - } - ], - "index": 1, - "docs": ["Canceled some task."] - }, - { - "name": "Dispatched", - "fields": [ - { - "name": "task", - "type": 73, - "typeName": "TaskAddress>" - }, - { - "name": "id", - "type": 74, - "typeName": "Option" - }, - { - "name": "result", - "type": 55, - "typeName": "DispatchResult" - } - ], - "index": 2, - "docs": ["Dispatched some task."] - }, - { - "name": "CallUnavailable", - "fields": [ - { - "name": "task", - "type": 73, - "typeName": "TaskAddress>" - }, - { - "name": "id", - "type": 74, - "typeName": "Option" - } - ], - "index": 3, - "docs": [ - "The call for the provided hash was not found so the task has been aborted." - ] - }, - { - "name": "PeriodicFailed", - "fields": [ - { - "name": "task", - "type": 73, - "typeName": "TaskAddress>" - }, - { - "name": "id", - "type": 74, - "typeName": "Option" - } - ], - "index": 4, - "docs": [ - "The given task was unable to be renewed since the agenda is full at that block." - ] - }, - { - "name": "PermanentlyOverweight", - "fields": [ - { - "name": "task", - "type": 73, - "typeName": "TaskAddress>" - }, - { - "name": "id", - "type": 74, - "typeName": "Option" - } - ], - "index": 5, - "docs": [ - "The given task can never be executed since it is overweight." - ] - } - ] - } - }, - "docs": ["Events type."] - } - }, - { - "id": 73, - "type": { - "def": { - "tuple": [4, 4] - } - } - }, - { - "id": 74, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 1 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 1 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 75, - "type": { - "path": ["pallet_proxy", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "ProxyExecuted", - "fields": [ - { - "name": "result", - "type": 55, - "typeName": "DispatchResult" - } - ], - "index": 0, - "docs": [ - "A proxy was executed correctly, with the given." - ] - }, - { - "name": "PureCreated", - "fields": [ - { - "name": "pure", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "proxy_type", - "type": 76, - "typeName": "T::ProxyType" - }, - { - "name": "disambiguation_index", - "type": 77, - "typeName": "u16" - } - ], - "index": 1, - "docs": [ - "A pure account has been created by new proxy with given", - "disambiguation index and proxy type." - ] - }, - { - "name": "Announced", - "fields": [ - { - "name": "real", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "proxy", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "call_hash", - "type": 12, - "typeName": "CallHashOf" - } - ], - "index": 2, - "docs": [ - "An announcement was placed to make a call in the future." - ] - }, - { - "name": "ProxyAdded", - "fields": [ - { - "name": "delegator", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "delegatee", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "proxy_type", - "type": 76, - "typeName": "T::ProxyType" - }, - { - "name": "delay", - "type": 4, - "typeName": "BlockNumberFor" - } - ], - "index": 3, - "docs": ["A proxy was added."] - }, - { - "name": "ProxyRemoved", - "fields": [ - { - "name": "delegator", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "delegatee", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "proxy_type", - "type": 76, - "typeName": "T::ProxyType" - }, - { - "name": "delay", - "type": 4, - "typeName": "BlockNumberFor" - } - ], - "index": 4, - "docs": ["A proxy was removed."] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 76, - "type": { - "path": ["rococo_runtime", "ProxyType"], - "def": { - "variant": { - "variants": [ - { - "name": "Any", - "index": 0 - }, - { - "name": "NonTransfer", - "index": 1 - }, - { - "name": "Governance", - "index": 2 - }, - { - "name": "IdentityJudgement", - "index": 3 - }, - { - "name": "CancelProxy", - "index": 4 - }, - { - "name": "Auction", - "index": 5 - }, - { - "name": "Society", - "index": 6 - }, - { - "name": "OnDemandOrdering", - "index": 7 - } - ] - } - } - } - }, - { - "id": 77, - "type": { - "def": { - "primitive": "u16" - } - } - }, - { - "id": 78, - "type": { - "path": ["pallet_multisig", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "NewMultisig", - "fields": [ - { - "name": "approving", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "multisig", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "call_hash", - "type": 1, - "typeName": "CallHash" - } - ], - "index": 0, - "docs": ["A new multisig operation has begun."] - }, - { - "name": "MultisigApproval", - "fields": [ - { - "name": "approving", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "timepoint", - "type": 79, - "typeName": "Timepoint>" - }, - { - "name": "multisig", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "call_hash", - "type": 1, - "typeName": "CallHash" - } - ], - "index": 1, - "docs": [ - "A multisig operation has been approved by someone." - ] - }, - { - "name": "MultisigExecuted", - "fields": [ - { - "name": "approving", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "timepoint", - "type": 79, - "typeName": "Timepoint>" - }, - { - "name": "multisig", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "call_hash", - "type": 1, - "typeName": "CallHash" - }, - { - "name": "result", - "type": 55, - "typeName": "DispatchResult" - } - ], - "index": 2, - "docs": ["A multisig operation has been executed."] - }, - { - "name": "MultisigCancelled", - "fields": [ - { - "name": "cancelling", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "timepoint", - "type": 79, - "typeName": "Timepoint>" - }, - { - "name": "multisig", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "call_hash", - "type": 1, - "typeName": "CallHash" - } - ], - "index": 3, - "docs": ["A multisig operation has been cancelled."] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 79, - "type": { - "path": ["pallet_multisig", "Timepoint"], - "params": [ - { - "name": "BlockNumber", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "height", - "type": 4, - "typeName": "BlockNumber" - }, - { - "name": "index", - "type": 4, - "typeName": "u32" - } - ] - } - } - } - }, - { - "id": 80, - "type": { - "path": ["pallet_preimage", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Noted", - "fields": [ - { - "name": "hash", - "type": 12, - "typeName": "T::Hash" - } - ], - "index": 0, - "docs": ["A preimage has been noted."] - }, - { - "name": "Requested", - "fields": [ - { - "name": "hash", - "type": 12, - "typeName": "T::Hash" - } - ], - "index": 1, - "docs": ["A preimage has been requested."] - }, - { - "name": "Cleared", - "fields": [ - { - "name": "hash", - "type": 12, - "typeName": "T::Hash" - } - ], - "index": 2, - "docs": ["A preimage has ben cleared."] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 81, - "type": { - "path": ["pallet_bounties", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "BountyProposed", - "fields": [ - { - "name": "index", - "type": 4, - "typeName": "BountyIndex" - } - ], - "index": 0, - "docs": ["New bounty proposal."] - }, - { - "name": "BountyRejected", - "fields": [ - { - "name": "index", - "type": 4, - "typeName": "BountyIndex" - }, - { - "name": "bond", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 1, - "docs": [ - "A bounty proposal was rejected; funds were slashed." - ] - }, - { - "name": "BountyBecameActive", - "fields": [ - { - "name": "index", - "type": 4, - "typeName": "BountyIndex" - } - ], - "index": 2, - "docs": ["A bounty proposal is funded and became active."] - }, - { - "name": "BountyAwarded", - "fields": [ - { - "name": "index", - "type": 4, - "typeName": "BountyIndex" - }, - { - "name": "beneficiary", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 3, - "docs": ["A bounty is awarded to a beneficiary."] - }, - { - "name": "BountyClaimed", - "fields": [ - { - "name": "index", - "type": 4, - "typeName": "BountyIndex" - }, - { - "name": "payout", - "type": 6, - "typeName": "BalanceOf" - }, - { - "name": "beneficiary", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 4, - "docs": ["A bounty is claimed by beneficiary."] - }, - { - "name": "BountyCanceled", - "fields": [ - { - "name": "index", - "type": 4, - "typeName": "BountyIndex" - } - ], - "index": 5, - "docs": ["A bounty is cancelled."] - }, - { - "name": "BountyExtended", - "fields": [ - { - "name": "index", - "type": 4, - "typeName": "BountyIndex" - } - ], - "index": 6, - "docs": ["A bounty expiry is extended."] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 82, - "type": { - "path": ["pallet_child_bounties", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Added", - "fields": [ - { - "name": "index", - "type": 4, - "typeName": "BountyIndex" - }, - { - "name": "child_index", - "type": 4, - "typeName": "BountyIndex" - } - ], - "index": 0, - "docs": ["A child-bounty is added."] - }, - { - "name": "Awarded", - "fields": [ - { - "name": "index", - "type": 4, - "typeName": "BountyIndex" - }, - { - "name": "child_index", - "type": 4, - "typeName": "BountyIndex" - }, - { - "name": "beneficiary", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 1, - "docs": ["A child-bounty is awarded to a beneficiary."] - }, - { - "name": "Claimed", - "fields": [ - { - "name": "index", - "type": 4, - "typeName": "BountyIndex" - }, - { - "name": "child_index", - "type": 4, - "typeName": "BountyIndex" - }, - { - "name": "payout", - "type": 6, - "typeName": "BalanceOf" - }, - { - "name": "beneficiary", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 2, - "docs": ["A child-bounty is claimed by beneficiary."] - }, - { - "name": "Canceled", - "fields": [ - { - "name": "index", - "type": 4, - "typeName": "BountyIndex" - }, - { - "name": "child_index", - "type": 4, - "typeName": "BountyIndex" - } - ], - "index": 3, - "docs": ["A child-bounty is cancelled."] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 83, - "type": { - "path": ["pallet_tips", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "NewTip", - "fields": [ - { - "name": "tip_hash", - "type": 12, - "typeName": "T::Hash" - } - ], - "index": 0, - "docs": ["A new tip suggestion has been opened."] - }, - { - "name": "TipClosing", - "fields": [ - { - "name": "tip_hash", - "type": 12, - "typeName": "T::Hash" - } - ], - "index": 1, - "docs": [ - "A tip suggestion has reached threshold and is closing." - ] - }, - { - "name": "TipClosed", - "fields": [ - { - "name": "tip_hash", - "type": 12, - "typeName": "T::Hash" - }, - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "payout", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 2, - "docs": ["A tip suggestion has been closed."] - }, - { - "name": "TipRetracted", - "fields": [ - { - "name": "tip_hash", - "type": 12, - "typeName": "T::Hash" - } - ], - "index": 3, - "docs": ["A tip suggestion has been retracted."] - }, - { - "name": "TipSlashed", - "fields": [ - { - "name": "tip_hash", - "type": 12, - "typeName": "T::Hash" - }, - { - "name": "finder", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "deposit", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 4, - "docs": ["A tip suggestion has been slashed."] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 84, - "type": { - "path": ["pallet_nis", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "BidPlaced", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "BalanceOf" - }, - { - "name": "duration", - "type": 4, - "typeName": "u32" - } - ], - "index": 0, - "docs": ["A bid was successfully placed."] - }, - { - "name": "BidRetracted", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "BalanceOf" - }, - { - "name": "duration", - "type": 4, - "typeName": "u32" - } - ], - "index": 1, - "docs": [ - "A bid was successfully removed (before being accepted)." - ] - }, - { - "name": "BidDropped", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "BalanceOf" - }, - { - "name": "duration", - "type": 4, - "typeName": "u32" - } - ], - "index": 2, - "docs": [ - "A bid was dropped from a queue because of another, more substantial, bid was present." - ] - }, - { - "name": "Issued", - "fields": [ - { - "name": "index", - "type": 4, - "typeName": "ReceiptIndex", - "docs": ["The identity of the receipt."] - }, - { - "name": "expiry", - "type": 4, - "typeName": "BlockNumberFor", - "docs": [ - "The block number at which the receipt may be thawed." - ] - }, - { - "name": "who", - "type": 0, - "typeName": "T::AccountId", - "docs": ["The owner of the receipt."] - }, - { - "name": "proportion", - "type": 85, - "typeName": "Perquintill", - "docs": [ - "The proportion of the effective total issuance which the receipt represents." - ] - }, - { - "name": "amount", - "type": 6, - "typeName": "BalanceOf", - "docs": [ - "The amount of funds which were debited from the owner." - ] - } - ], - "index": 3, - "docs": [ - "A bid was accepted. The balance may not be released until expiry." - ] - }, - { - "name": "Thawed", - "fields": [ - { - "name": "index", - "type": 4, - "typeName": "ReceiptIndex", - "docs": ["The identity of the receipt."] - }, - { - "name": "who", - "type": 0, - "typeName": "T::AccountId", - "docs": ["The owner."] - }, - { - "name": "proportion", - "type": 85, - "typeName": "Perquintill", - "docs": [ - "The proportion of the effective total issuance by which the owner was debited." - ] - }, - { - "name": "amount", - "type": 6, - "typeName": "BalanceOf", - "docs": [ - "The amount by which the owner was credited." - ] - }, - { - "name": "dropped", - "type": 54, - "typeName": "bool", - "docs": ["If `true` then the receipt is done."] - } - ], - "index": 4, - "docs": [ - "An receipt has been (at least partially) thawed." - ] - }, - { - "name": "Funded", - "fields": [ - { - "name": "deficit", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 5, - "docs": ["An automatic funding of the deficit was made."] - }, - { - "name": "Transferred", - "fields": [ - { - "name": "from", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "to", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "index", - "type": 4, - "typeName": "ReceiptIndex" - } - ], - "index": 6, - "docs": ["A receipt was transfered."] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 85, - "type": { - "path": ["sp_arithmetic", "per_things", "Perquintill"], - "def": { - "composite": { - "fields": [ - { - "type": 11, - "typeName": "u64" - } - ] - } - } - } - }, - { - "id": 86, - "type": { - "path": ["pallet_balances", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Endowed", - "fields": [ - { - "name": "account", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "free_balance", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 0, - "docs": ["An account was created with some free balance."] - }, - { - "name": "DustLost", - "fields": [ - { - "name": "account", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 1, - "docs": [ - "An account was removed whose balance was non-zero but below ExistentialDeposit,", - "resulting in an outright loss." - ] - }, - { - "name": "Transfer", - "fields": [ - { - "name": "from", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "to", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 2, - "docs": ["Transfer succeeded."] - }, - { - "name": "BalanceSet", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "free", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 3, - "docs": ["A balance was set by root."] - }, - { - "name": "Reserved", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 4, - "docs": [ - "Some balance was reserved (moved from free to reserved)." - ] - }, - { - "name": "Unreserved", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 5, - "docs": [ - "Some balance was unreserved (moved from reserved to free)." - ] - }, - { - "name": "ReserveRepatriated", - "fields": [ - { - "name": "from", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "to", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - }, - { - "name": "destination_status", - "type": 32, - "typeName": "Status" - } - ], - "index": 6, - "docs": [ - "Some balance was moved from the reserve of the first account to the second account.", - "Final argument indicates the destination balance type." - ] - }, - { - "name": "Deposit", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 7, - "docs": [ - "Some amount was deposited (e.g. for transaction fees)." - ] - }, - { - "name": "Withdraw", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 8, - "docs": [ - "Some amount was withdrawn from the account (e.g. for transaction fees)." - ] - }, - { - "name": "Slashed", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 9, - "docs": [ - "Some amount was removed from the account (e.g. for misbehavior)." - ] - }, - { - "name": "Minted", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 10, - "docs": ["Some amount was minted into an account."] - }, - { - "name": "Burned", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 11, - "docs": ["Some amount was burned from an account."] - }, - { - "name": "Suspended", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 12, - "docs": [ - "Some amount was suspended from an account (it can be restored later)." - ] - }, - { - "name": "Restored", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 13, - "docs": ["Some amount was restored into an account."] - }, - { - "name": "Upgraded", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 14, - "docs": ["An account was upgraded."] - }, - { - "name": "Issued", - "fields": [ - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 15, - "docs": [ - "Total issuance was increased by `amount`, creating a credit to be balanced." - ] - }, - { - "name": "Rescinded", - "fields": [ - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 16, - "docs": [ - "Total issuance was decreased by `amount`, creating a debt to be balanced." - ] - }, - { - "name": "Locked", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 17, - "docs": ["Some balance was locked."] - }, - { - "name": "Unlocked", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 18, - "docs": ["Some balance was unlocked."] - }, - { - "name": "Frozen", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 19, - "docs": ["Some balance was frozen."] - }, - { - "name": "Thawed", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 20, - "docs": ["Some balance was thawed."] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 87, - "type": { - "path": [ - "polkadot_runtime_parachains", - "inclusion", - "pallet", - "Event" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "CandidateBacked", - "fields": [ - { - "type": 88, - "typeName": "CandidateReceipt" - }, - { - "type": 96, - "typeName": "HeadData" - }, - { - "type": 97, - "typeName": "CoreIndex" - }, - { - "type": 98, - "typeName": "GroupIndex" - } - ], - "index": 0, - "docs": [ - "A candidate was backed. `[candidate, head_data]`" - ] - }, - { - "name": "CandidateIncluded", - "fields": [ - { - "type": 88, - "typeName": "CandidateReceipt" - }, - { - "type": 96, - "typeName": "HeadData" - }, - { - "type": 97, - "typeName": "CoreIndex" - }, - { - "type": 98, - "typeName": "GroupIndex" - } - ], - "index": 1, - "docs": [ - "A candidate was included. `[candidate, head_data]`" - ] - }, - { - "name": "CandidateTimedOut", - "fields": [ - { - "type": 88, - "typeName": "CandidateReceipt" - }, - { - "type": 96, - "typeName": "HeadData" - }, - { - "type": 97, - "typeName": "CoreIndex" - } - ], - "index": 2, - "docs": [ - "A candidate timed out. `[candidate, head_data]`" - ] - }, - { - "name": "UpwardMessagesReceived", - "fields": [ - { - "name": "from", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "count", - "type": 4, - "typeName": "u32" - } - ], - "index": 3, - "docs": [ - "Some upward messages have been received and will be processed." - ] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 88, - "type": { - "path": ["polkadot_primitives", "v5", "CandidateReceipt"], - "params": [ - { - "name": "H", - "type": 12 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "descriptor", - "type": 89, - "typeName": "CandidateDescriptor" - }, - { - "name": "commitments_hash", - "type": 12, - "typeName": "Hash" - } - ] - } - } - } - }, - { - "id": 89, - "type": { - "path": ["polkadot_primitives", "v5", "CandidateDescriptor"], - "params": [ - { - "name": "H", - "type": 12 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "para_id", - "type": 90, - "typeName": "Id" - }, - { - "name": "relay_parent", - "type": 12, - "typeName": "H" - }, - { - "name": "collator", - "type": 91, - "typeName": "CollatorId" - }, - { - "name": "persisted_validation_data_hash", - "type": 12, - "typeName": "Hash" - }, - { - "name": "pov_hash", - "type": 12, - "typeName": "Hash" - }, - { - "name": "erasure_root", - "type": 12, - "typeName": "Hash" - }, - { - "name": "signature", - "type": 92, - "typeName": "CollatorSignature" - }, - { - "name": "para_head", - "type": 12, - "typeName": "Hash" - }, - { - "name": "validation_code_hash", - "type": 95, - "typeName": "ValidationCodeHash" - } - ] - } - } - } - }, - { - "id": 90, - "type": { - "path": ["polkadot_parachain_primitives", "primitives", "Id"], - "def": { - "composite": { - "fields": [ - { - "type": 4, - "typeName": "u32" - } - ] - } - } - } - }, - { - "id": 91, - "type": { - "path": ["polkadot_primitives", "v5", "collator_app", "Public"], - "def": { - "composite": { - "fields": [ - { - "type": 44, - "typeName": "sr25519::Public" - } - ] - } - } - } - }, - { - "id": 92, - "type": { - "path": [ - "polkadot_primitives", - "v5", - "collator_app", - "Signature" - ], - "def": { - "composite": { - "fields": [ - { - "type": 93, - "typeName": "sr25519::Signature" - } - ] - } - } - } - }, - { - "id": 93, - "type": { - "path": ["sp_core", "sr25519", "Signature"], - "def": { - "composite": { - "fields": [ - { - "type": 94, - "typeName": "[u8; 64]" - } - ] - } - } - } - }, - { - "id": 94, - "type": { - "def": { - "array": { - "len": 64, - "type": 2 - } - } - } - }, - { - "id": 95, - "type": { - "path": [ - "polkadot_parachain_primitives", - "primitives", - "ValidationCodeHash" - ], - "def": { - "composite": { - "fields": [ - { - "type": 12, - "typeName": "Hash" - } - ] - } - } - } - }, - { - "id": 96, - "type": { - "path": [ - "polkadot_parachain_primitives", - "primitives", - "HeadData" - ], - "def": { - "composite": { - "fields": [ - { - "type": 13, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 97, - "type": { - "path": ["polkadot_primitives", "v5", "CoreIndex"], - "def": { - "composite": { - "fields": [ - { - "type": 4, - "typeName": "u32" - } - ] - } - } - } - }, - { - "id": 98, - "type": { - "path": ["polkadot_primitives", "v5", "GroupIndex"], - "def": { - "composite": { - "fields": [ - { - "type": 4, - "typeName": "u32" - } - ] - } - } - } - }, - { - "id": 99, - "type": { - "path": [ - "polkadot_runtime_parachains", - "paras", - "pallet", - "Event" - ], - "def": { - "variant": { - "variants": [ - { - "name": "CurrentCodeUpdated", - "fields": [ - { - "type": 90, - "typeName": "ParaId" - } - ], - "index": 0, - "docs": [ - "Current code has been updated for a Para. `para_id`" - ] - }, - { - "name": "CurrentHeadUpdated", - "fields": [ - { - "type": 90, - "typeName": "ParaId" - } - ], - "index": 1, - "docs": [ - "Current head has been updated for a Para. `para_id`" - ] - }, - { - "name": "CodeUpgradeScheduled", - "fields": [ - { - "type": 90, - "typeName": "ParaId" - } - ], - "index": 2, - "docs": [ - "A code upgrade has been scheduled for a Para. `para_id`" - ] - }, - { - "name": "NewHeadNoted", - "fields": [ - { - "type": 90, - "typeName": "ParaId" - } - ], - "index": 3, - "docs": [ - "A new head has been noted for a Para. `para_id`" - ] - }, - { - "name": "ActionQueued", - "fields": [ - { - "type": 90, - "typeName": "ParaId" - }, - { - "type": 4, - "typeName": "SessionIndex" - } - ], - "index": 4, - "docs": [ - "A para has been queued to execute pending actions. `para_id`" - ] - }, - { - "name": "PvfCheckStarted", - "fields": [ - { - "type": 95, - "typeName": "ValidationCodeHash" - }, - { - "type": 90, - "typeName": "ParaId" - } - ], - "index": 5, - "docs": [ - "The given para either initiated or subscribed to a PVF check for the given validation", - "code. `code_hash` `para_id`" - ] - }, - { - "name": "PvfCheckAccepted", - "fields": [ - { - "type": 95, - "typeName": "ValidationCodeHash" - }, - { - "type": 90, - "typeName": "ParaId" - } - ], - "index": 6, - "docs": [ - "The given validation code was accepted by the PVF pre-checking vote.", - "`code_hash` `para_id`" - ] - }, - { - "name": "PvfCheckRejected", - "fields": [ - { - "type": 95, - "typeName": "ValidationCodeHash" - }, - { - "type": 90, - "typeName": "ParaId" - } - ], - "index": 7, - "docs": [ - "The given validation code was rejected by the PVF pre-checking vote.", - "`code_hash` `para_id`" - ] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 100, - "type": { - "path": [ - "polkadot_runtime_parachains", - "hrmp", - "pallet", - "Event" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "OpenChannelRequested", - "fields": [ - { - "type": 90, - "typeName": "ParaId" - }, - { - "type": 90, - "typeName": "ParaId" - }, - { - "type": 4, - "typeName": "u32" - }, - { - "type": 4, - "typeName": "u32" - } - ], - "index": 0, - "docs": [ - "Open HRMP channel requested.", - "`[sender, recipient, proposed_max_capacity, proposed_max_message_size]`" - ] - }, - { - "name": "OpenChannelCanceled", - "fields": [ - { - "type": 90, - "typeName": "ParaId" - }, - { - "type": 101, - "typeName": "HrmpChannelId" - } - ], - "index": 1, - "docs": [ - "An HRMP channel request sent by the receiver was canceled by either party.", - "`[by_parachain, channel_id]`" - ] - }, - { - "name": "OpenChannelAccepted", - "fields": [ - { - "type": 90, - "typeName": "ParaId" - }, - { - "type": 90, - "typeName": "ParaId" - } - ], - "index": 2, - "docs": [ - "Open HRMP channel accepted. `[sender, recipient]`" - ] - }, - { - "name": "ChannelClosed", - "fields": [ - { - "type": 90, - "typeName": "ParaId" - }, - { - "type": 101, - "typeName": "HrmpChannelId" - } - ], - "index": 3, - "docs": [ - "HRMP channel closed. `[by_parachain, channel_id]`" - ] - }, - { - "name": "HrmpChannelForceOpened", - "fields": [ - { - "type": 90, - "typeName": "ParaId" - }, - { - "type": 90, - "typeName": "ParaId" - }, - { - "type": 4, - "typeName": "u32" - }, - { - "type": 4, - "typeName": "u32" - } - ], - "index": 4, - "docs": [ - "An HRMP channel was opened via Root origin.", - "`[sender, recipient, proposed_max_capacity, proposed_max_message_size]`" - ] - }, - { - "name": "HrmpSystemChannelOpened", - "fields": [ - { - "type": 90, - "typeName": "ParaId" - }, - { - "type": 90, - "typeName": "ParaId" - }, - { - "type": 4, - "typeName": "u32" - }, - { - "type": 4, - "typeName": "u32" - } - ], - "index": 5, - "docs": [ - "An HRMP channel was opened between two system chains.", - "`[sender, recipient, proposed_max_capacity, proposed_max_message_size]`" - ] - }, - { - "name": "OpenChannelDepositsUpdated", - "fields": [ - { - "type": 90, - "typeName": "ParaId" - }, - { - "type": 90, - "typeName": "ParaId" - } - ], - "index": 6, - "docs": [ - "An HRMP channel's deposits were updated.", - "`[sender, recipient]`" - ] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 101, - "type": { - "path": [ - "polkadot_parachain_primitives", - "primitives", - "HrmpChannelId" - ], - "def": { - "composite": { - "fields": [ - { - "name": "sender", - "type": 90, - "typeName": "Id" - }, - { - "name": "recipient", - "type": 90, - "typeName": "Id" - } - ] - } - } - } - }, - { - "id": 102, - "type": { - "path": [ - "polkadot_runtime_parachains", - "disputes", - "pallet", - "Event" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "DisputeInitiated", - "fields": [ - { - "type": 103, - "typeName": "CandidateHash" - }, - { - "type": 104, - "typeName": "DisputeLocation" - } - ], - "index": 0, - "docs": [ - "A dispute has been initiated. \\[candidate hash, dispute location\\]" - ] - }, - { - "name": "DisputeConcluded", - "fields": [ - { - "type": 103, - "typeName": "CandidateHash" - }, - { - "type": 105, - "typeName": "DisputeResult" - } - ], - "index": 1, - "docs": [ - "A dispute has concluded for or against a candidate.", - "`\\[para id, candidate hash, dispute result\\]`" - ] - }, - { - "name": "Revert", - "fields": [ - { - "type": 4, - "typeName": "BlockNumberFor" - } - ], - "index": 2, - "docs": [ - "A dispute has concluded with supermajority against a candidate.", - "Block authors should no longer build on top of this head and should", - "instead revert the block at the given height. This should be the", - "number of the child of the last known valid block in the chain." - ] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 103, - "type": { - "path": ["polkadot_core_primitives", "CandidateHash"], - "def": { - "composite": { - "fields": [ - { - "type": 12, - "typeName": "Hash" - } - ] - } - } - } - }, - { - "id": 104, - "type": { - "path": [ - "polkadot_runtime_parachains", - "disputes", - "DisputeLocation" - ], - "def": { - "variant": { - "variants": [ - { - "name": "Local", - "index": 0 - }, - { - "name": "Remote", - "index": 1 - } - ] - } - } - } - }, - { - "id": 105, - "type": { - "path": [ - "polkadot_runtime_parachains", - "disputes", - "DisputeResult" - ], - "def": { - "variant": { - "variants": [ - { - "name": "Valid", - "index": 0 - }, - { - "name": "Invalid", - "index": 1 - } - ] - } - } - } - }, - { - "id": 106, - "type": { - "path": ["pallet_message_queue", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "ProcessingFailed", - "fields": [ - { - "name": "id", - "type": 1, - "typeName": "[u8; 32]" - }, - { - "name": "origin", - "type": 107, - "typeName": "MessageOriginOf" - }, - { - "name": "error", - "type": 109, - "typeName": "ProcessMessageError" - } - ], - "index": 0, - "docs": [ - "Message discarded due to an error in the `MessageProcessor` (usually a format error)." - ] - }, - { - "name": "Processed", - "fields": [ - { - "name": "id", - "type": 1, - "typeName": "[u8; 32]" - }, - { - "name": "origin", - "type": 107, - "typeName": "MessageOriginOf" - }, - { - "name": "weight_used", - "type": 9, - "typeName": "Weight" - }, - { - "name": "success", - "type": 54, - "typeName": "bool" - } - ], - "index": 1, - "docs": ["Message is processed."] - }, - { - "name": "OverweightEnqueued", - "fields": [ - { - "name": "id", - "type": 1, - "typeName": "[u8; 32]" - }, - { - "name": "origin", - "type": 107, - "typeName": "MessageOriginOf" - }, - { - "name": "page_index", - "type": 4, - "typeName": "PageIndex" - }, - { - "name": "message_index", - "type": 4, - "typeName": "T::Size" - } - ], - "index": 2, - "docs": ["Message placed in overweight queue."] - }, - { - "name": "PageReaped", - "fields": [ - { - "name": "origin", - "type": 107, - "typeName": "MessageOriginOf" - }, - { - "name": "index", - "type": 4, - "typeName": "PageIndex" - } - ], - "index": 3, - "docs": ["This page was reaped."] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 107, - "type": { - "path": [ - "polkadot_runtime_parachains", - "inclusion", - "AggregateMessageOrigin" - ], - "def": { - "variant": { - "variants": [ - { - "name": "Ump", - "fields": [ - { - "type": 108, - "typeName": "UmpQueueId" - } - ], - "index": 0 - } - ] - } - } - } - }, - { - "id": 108, - "type": { - "path": [ - "polkadot_runtime_parachains", - "inclusion", - "UmpQueueId" - ], - "def": { - "variant": { - "variants": [ - { - "name": "Para", - "fields": [ - { - "type": 90, - "typeName": "ParaId" - } - ], - "index": 0 - } - ] - } - } - } - }, - { - "id": 109, - "type": { - "path": [ - "frame_support", - "traits", - "messages", - "ProcessMessageError" - ], - "def": { - "variant": { - "variants": [ - { - "name": "BadFormat", - "index": 0 - }, - { - "name": "Corrupt", - "index": 1 - }, - { - "name": "Unsupported", - "index": 2 - }, - { - "name": "Overweight", - "fields": [ - { - "type": 9, - "typeName": "Weight" - } - ], - "index": 3 - }, - { - "name": "Yield", - "index": 4 - } - ] - } - } - } - }, - { - "id": 110, - "type": { - "path": [ - "polkadot_runtime_parachains", - "assigner_on_demand", - "pallet", - "Event" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "OnDemandOrderPlaced", - "fields": [ - { - "name": "para_id", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "spot_price", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 0, - "docs": ["An order was placed at some spot price amount."] - }, - { - "name": "SpotTrafficSet", - "fields": [ - { - "name": "traffic", - "type": 111, - "typeName": "FixedU128" - } - ], - "index": 1, - "docs": [ - "The value of the spot traffic multiplier changed." - ] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 111, - "type": { - "path": ["sp_arithmetic", "fixed_point", "FixedU128"], - "def": { - "composite": { - "fields": [ - { - "type": 6, - "typeName": "u128" - } - ] - } - } - } - }, - { - "id": 112, - "type": { - "path": [ - "polkadot_runtime_common", - "paras_registrar", - "pallet", - "Event" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Registered", - "fields": [ - { - "name": "para_id", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "manager", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 0 - }, - { - "name": "Deregistered", - "fields": [ - { - "name": "para_id", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 1 - }, - { - "name": "Reserved", - "fields": [ - { - "name": "para_id", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 2 - }, - { - "name": "Swapped", - "fields": [ - { - "name": "para_id", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "other_id", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 3 - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 113, - "type": { - "path": ["polkadot_runtime_common", "slots", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "NewLeasePeriod", - "fields": [ - { - "name": "lease_period", - "type": 4, - "typeName": "LeasePeriodOf" - } - ], - "index": 0, - "docs": ["A new `[lease_period]` is beginning."] - }, - { - "name": "Leased", - "fields": [ - { - "name": "para_id", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "leaser", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "period_begin", - "type": 4, - "typeName": "LeasePeriodOf" - }, - { - "name": "period_count", - "type": 4, - "typeName": "LeasePeriodOf" - }, - { - "name": "extra_reserved", - "type": 6, - "typeName": "BalanceOf" - }, - { - "name": "total_amount", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 1, - "docs": [ - "A para has won the right to a continuous set of lease periods as a parachain.", - "First balance is any extra amount reserved on top of the para's existing deposit.", - "Second balance is the total amount reserved." - ] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 114, - "type": { - "path": [ - "polkadot_runtime_common", - "auctions", - "pallet", - "Event" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "AuctionStarted", - "fields": [ - { - "name": "auction_index", - "type": 4, - "typeName": "AuctionIndex" - }, - { - "name": "lease_period", - "type": 4, - "typeName": "LeasePeriodOf" - }, - { - "name": "ending", - "type": 4, - "typeName": "BlockNumberFor" - } - ], - "index": 0, - "docs": [ - "An auction started. Provides its index and the block number where it will begin to", - "close and the first lease period of the quadruplet that is auctioned." - ] - }, - { - "name": "AuctionClosed", - "fields": [ - { - "name": "auction_index", - "type": 4, - "typeName": "AuctionIndex" - } - ], - "index": 1, - "docs": ["An auction ended. All funds become unreserved."] - }, - { - "name": "Reserved", - "fields": [ - { - "name": "bidder", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "extra_reserved", - "type": 6, - "typeName": "BalanceOf" - }, - { - "name": "total_amount", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 2, - "docs": [ - "Funds were reserved for a winning bid. First balance is the extra amount reserved.", - "Second is the total." - ] - }, - { - "name": "Unreserved", - "fields": [ - { - "name": "bidder", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 3, - "docs": [ - "Funds were unreserved since bidder is no longer active. `[bidder, amount]`" - ] - }, - { - "name": "ReserveConfiscated", - "fields": [ - { - "name": "para_id", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "leaser", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 4, - "docs": [ - "Someone attempted to lease the same slot twice for a parachain. The amount is held in", - "reserve but no parachain slot has been leased." - ] - }, - { - "name": "BidAccepted", - "fields": [ - { - "name": "bidder", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "para_id", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "amount", - "type": 6, - "typeName": "BalanceOf" - }, - { - "name": "first_slot", - "type": 4, - "typeName": "LeasePeriodOf" - }, - { - "name": "last_slot", - "type": 4, - "typeName": "LeasePeriodOf" - } - ], - "index": 5, - "docs": [ - "A new bid has been accepted as the current winner." - ] - }, - { - "name": "WinningOffset", - "fields": [ - { - "name": "auction_index", - "type": 4, - "typeName": "AuctionIndex" - }, - { - "name": "block_number", - "type": 4, - "typeName": "BlockNumberFor" - } - ], - "index": 6, - "docs": [ - "The winning offset was chosen for an auction. This will map into the `Winning` storage", - "map." - ] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 115, - "type": { - "path": [ - "polkadot_runtime_common", - "crowdloan", - "pallet", - "Event" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Created", - "fields": [ - { - "name": "para_id", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 0, - "docs": ["Create a new crowdloaning campaign."] - }, - { - "name": "Contributed", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "fund_index", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "amount", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 1, - "docs": ["Contributed to a crowd sale."] - }, - { - "name": "Withdrew", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "fund_index", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "amount", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 2, - "docs": ["Withdrew full balance of a contributor."] - }, - { - "name": "PartiallyRefunded", - "fields": [ - { - "name": "para_id", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 3, - "docs": [ - "The loans in a fund have been partially dissolved, i.e. there are some left", - "over child keys that still need to be killed." - ] - }, - { - "name": "AllRefunded", - "fields": [ - { - "name": "para_id", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 4, - "docs": ["All loans in a fund have been refunded."] - }, - { - "name": "Dissolved", - "fields": [ - { - "name": "para_id", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 5, - "docs": ["Fund is dissolved."] - }, - { - "name": "HandleBidResult", - "fields": [ - { - "name": "para_id", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "result", - "type": 55, - "typeName": "DispatchResult" - } - ], - "index": 6, - "docs": [ - "The result of trying to submit a new bid to the Slots pallet." - ] - }, - { - "name": "Edited", - "fields": [ - { - "name": "para_id", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 7, - "docs": [ - "The configuration to a crowdloan has been edited." - ] - }, - { - "name": "MemoUpdated", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "para_id", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "memo", - "type": 13, - "typeName": "Vec" - } - ], - "index": 8, - "docs": ["A memo has been updated."] - }, - { - "name": "AddedToNewRaise", - "fields": [ - { - "name": "para_id", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 9, - "docs": ["A parachain has been moved to `NewRaise`"] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 116, - "type": { - "path": ["pallet_xcm", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Attempted", - "fields": [ - { - "name": "outcome", - "type": 117, - "typeName": "xcm::latest::Outcome" - } - ], - "index": 0, - "docs": ["Execution of an XCM message was attempted."] - }, - { - "name": "Sent", - "fields": [ - { - "name": "origin", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "destination", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "message", - "type": 128, - "typeName": "Xcm<()>" - }, - { - "name": "message_id", - "type": 1, - "typeName": "XcmHash" - } - ], - "index": 1, - "docs": ["A XCM message was sent."] - }, - { - "name": "UnexpectedResponse", - "fields": [ - { - "name": "origin", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "query_id", - "type": 11, - "typeName": "QueryId" - } - ], - "index": 2, - "docs": [ - "Query response received which does not match a registered query. This may be because a", - "matching query was never registered, it may be because it is a duplicate response, or", - "because the query timed out." - ] - }, - { - "name": "ResponseReady", - "fields": [ - { - "name": "query_id", - "type": 11, - "typeName": "QueryId" - }, - { - "name": "response", - "type": 138, - "typeName": "Response" - } - ], - "index": 3, - "docs": [ - "Query response has been received and is ready for taking with `take_response`. There is", - "no registered notification call." - ] - }, - { - "name": "Notified", - "fields": [ - { - "name": "query_id", - "type": 11, - "typeName": "QueryId" - }, - { - "name": "pallet_index", - "type": 2, - "typeName": "u8" - }, - { - "name": "call_index", - "type": 2, - "typeName": "u8" - } - ], - "index": 4, - "docs": [ - "Query response has been received and query is removed. The registered notification has", - "been dispatched and executed successfully." - ] - }, - { - "name": "NotifyOverweight", - "fields": [ - { - "name": "query_id", - "type": 11, - "typeName": "QueryId" - }, - { - "name": "pallet_index", - "type": 2, - "typeName": "u8" - }, - { - "name": "call_index", - "type": 2, - "typeName": "u8" - }, - { - "name": "actual_weight", - "type": 9, - "typeName": "Weight" - }, - { - "name": "max_budgeted_weight", - "type": 9, - "typeName": "Weight" - } - ], - "index": 5, - "docs": [ - "Query response has been received and query is removed. The registered notification", - "could not be dispatched because the dispatch weight is greater than the maximum weight", - "originally budgeted by this runtime for the query result." - ] - }, - { - "name": "NotifyDispatchError", - "fields": [ - { - "name": "query_id", - "type": 11, - "typeName": "QueryId" - }, - { - "name": "pallet_index", - "type": 2, - "typeName": "u8" - }, - { - "name": "call_index", - "type": 2, - "typeName": "u8" - } - ], - "index": 6, - "docs": [ - "Query response has been received and query is removed. There was a general error with", - "dispatching the notification call." - ] - }, - { - "name": "NotifyDecodeFailed", - "fields": [ - { - "name": "query_id", - "type": 11, - "typeName": "QueryId" - }, - { - "name": "pallet_index", - "type": 2, - "typeName": "u8" - }, - { - "name": "call_index", - "type": 2, - "typeName": "u8" - } - ], - "index": 7, - "docs": [ - "Query response has been received and query is removed. The dispatch was unable to be", - "decoded into a `Call`; this might be due to dispatch function having a signature which", - "is not `(origin, QueryId, Response)`." - ] - }, - { - "name": "InvalidResponder", - "fields": [ - { - "name": "origin", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "query_id", - "type": 11, - "typeName": "QueryId" - }, - { - "name": "expected_location", - "type": 147, - "typeName": "Option" - } - ], - "index": 8, - "docs": [ - "Expected query response has been received but the origin location of the response does", - "not match that expected. The query remains registered for a later, valid, response to", - "be received and acted upon." - ] - }, - { - "name": "InvalidResponderVersion", - "fields": [ - { - "name": "origin", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "query_id", - "type": 11, - "typeName": "QueryId" - } - ], - "index": 9, - "docs": [ - "Expected query response has been received but the expected origin location placed in", - "storage by this runtime previously cannot be decoded. The query remains registered.", - "", - "This is unexpected (since a location placed in storage in a previously executing", - "runtime should be readable prior to query timeout) and dangerous since the possibly", - "valid response will be dropped. Manual governance intervention is probably going to be", - "needed." - ] - }, - { - "name": "ResponseTaken", - "fields": [ - { - "name": "query_id", - "type": 11, - "typeName": "QueryId" - } - ], - "index": 10, - "docs": [ - "Received query response has been read and removed." - ] - }, - { - "name": "AssetsTrapped", - "fields": [ - { - "name": "hash", - "type": 12, - "typeName": "H256" - }, - { - "name": "origin", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "assets", - "type": 155, - "typeName": "VersionedMultiAssets" - } - ], - "index": 11, - "docs": ["Some assets have been placed in an asset trap."] - }, - { - "name": "VersionChangeNotified", - "fields": [ - { - "name": "destination", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "result", - "type": 4, - "typeName": "XcmVersion" - }, - { - "name": "cost", - "type": 131, - "typeName": "MultiAssets" - }, - { - "name": "message_id", - "type": 1, - "typeName": "XcmHash" - } - ], - "index": 12, - "docs": [ - "An XCM version change notification message has been attempted to be sent.", - "", - "The cost of sending it (borne by the chain) is included." - ] - }, - { - "name": "SupportedVersionChanged", - "fields": [ - { - "name": "location", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "version", - "type": 4, - "typeName": "XcmVersion" - } - ], - "index": 13, - "docs": [ - "The supported version of a location has been changed. This might be through an", - "automatic notification or a manual intervention." - ] - }, - { - "name": "NotifyTargetSendFail", - "fields": [ - { - "name": "location", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "query_id", - "type": 11, - "typeName": "QueryId" - }, - { - "name": "error", - "type": 118, - "typeName": "XcmError" - } - ], - "index": 14, - "docs": [ - "A given location which had a version change subscription was dropped owing to an error", - "sending the notification to it." - ] - }, - { - "name": "NotifyTargetMigrationFail", - "fields": [ - { - "name": "location", - "type": 169, - "typeName": "VersionedMultiLocation" - }, - { - "name": "query_id", - "type": 11, - "typeName": "QueryId" - } - ], - "index": 15, - "docs": [ - "A given location which had a version change subscription was dropped owing to an error", - "migrating the location to our new XCM format." - ] - }, - { - "name": "InvalidQuerierVersion", - "fields": [ - { - "name": "origin", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "query_id", - "type": 11, - "typeName": "QueryId" - } - ], - "index": 16, - "docs": [ - "Expected query response has been received but the expected querier location placed in", - "storage by this runtime previously cannot be decoded. The query remains registered.", - "", - "This is unexpected (since a location placed in storage in a previously executing", - "runtime should be readable prior to query timeout) and dangerous since the possibly", - "valid response will be dropped. Manual governance intervention is probably going to be", - "needed." - ] - }, - { - "name": "InvalidQuerier", - "fields": [ - { - "name": "origin", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "query_id", - "type": 11, - "typeName": "QueryId" - }, - { - "name": "expected_querier", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "maybe_actual_querier", - "type": 147, - "typeName": "Option" - } - ], - "index": 17, - "docs": [ - "Expected query response has been received but the querier location of the response does", - "not match the expected. The query remains registered for a later, valid, response to", - "be received and acted upon." - ] - }, - { - "name": "VersionNotifyStarted", - "fields": [ - { - "name": "destination", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "cost", - "type": 131, - "typeName": "MultiAssets" - }, - { - "name": "message_id", - "type": 1, - "typeName": "XcmHash" - } - ], - "index": 18, - "docs": [ - "A remote has requested XCM version change notification from us and we have honored it.", - "A version information message is sent to them and its cost is included." - ] - }, - { - "name": "VersionNotifyRequested", - "fields": [ - { - "name": "destination", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "cost", - "type": 131, - "typeName": "MultiAssets" - }, - { - "name": "message_id", - "type": 1, - "typeName": "XcmHash" - } - ], - "index": 19, - "docs": [ - "We have requested that a remote chain send us XCM version change notifications." - ] - }, - { - "name": "VersionNotifyUnrequested", - "fields": [ - { - "name": "destination", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "cost", - "type": 131, - "typeName": "MultiAssets" - }, - { - "name": "message_id", - "type": 1, - "typeName": "XcmHash" - } - ], - "index": 20, - "docs": [ - "We have requested that a remote chain stops sending us XCM version change", - "notifications." - ] - }, - { - "name": "FeesPaid", - "fields": [ - { - "name": "paying", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "fees", - "type": 131, - "typeName": "MultiAssets" - } - ], - "index": 21, - "docs": [ - "Fees were paid from a location for an operation (often for using `SendXcm`)." - ] - }, - { - "name": "AssetsClaimed", - "fields": [ - { - "name": "hash", - "type": 12, - "typeName": "H256" - }, - { - "name": "origin", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "assets", - "type": 155, - "typeName": "VersionedMultiAssets" - } - ], - "index": 22, - "docs": [ - "Some assets have been claimed from an asset trap" - ] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 117, - "type": { - "path": ["staging_xcm", "v3", "traits", "Outcome"], - "def": { - "variant": { - "variants": [ - { - "name": "Complete", - "fields": [ - { - "type": 9, - "typeName": "Weight" - } - ], - "index": 0 - }, - { - "name": "Incomplete", - "fields": [ - { - "type": 9, - "typeName": "Weight" - }, - { - "type": 118, - "typeName": "Error" - } - ], - "index": 1 - }, - { - "name": "Error", - "fields": [ - { - "type": 118, - "typeName": "Error" - } - ], - "index": 2 - } - ] - } - } - } - }, - { - "id": 118, - "type": { - "path": ["staging_xcm", "v3", "traits", "Error"], - "def": { - "variant": { - "variants": [ - { - "name": "Overflow", - "index": 0 - }, - { - "name": "Unimplemented", - "index": 1 - }, - { - "name": "UntrustedReserveLocation", - "index": 2 - }, - { - "name": "UntrustedTeleportLocation", - "index": 3 - }, - { - "name": "LocationFull", - "index": 4 - }, - { - "name": "LocationNotInvertible", - "index": 5 - }, - { - "name": "BadOrigin", - "index": 6 - }, - { - "name": "InvalidLocation", - "index": 7 - }, - { - "name": "AssetNotFound", - "index": 8 - }, - { - "name": "FailedToTransactAsset", - "index": 9 - }, - { - "name": "NotWithdrawable", - "index": 10 - }, - { - "name": "LocationCannotHold", - "index": 11 - }, - { - "name": "ExceedsMaxMessageSize", - "index": 12 - }, - { - "name": "DestinationUnsupported", - "index": 13 - }, - { - "name": "Transport", - "index": 14 - }, - { - "name": "Unroutable", - "index": 15 - }, - { - "name": "UnknownClaim", - "index": 16 - }, - { - "name": "FailedToDecode", - "index": 17 - }, - { - "name": "MaxWeightInvalid", - "index": 18 - }, - { - "name": "NotHoldingFees", - "index": 19 - }, - { - "name": "TooExpensive", - "index": 20 - }, - { - "name": "Trap", - "fields": [ - { - "type": 11, - "typeName": "u64" - } - ], - "index": 21 - }, - { - "name": "ExpectationFalse", - "index": 22 - }, - { - "name": "PalletNotFound", - "index": 23 - }, - { - "name": "NameMismatch", - "index": 24 - }, - { - "name": "VersionIncompatible", - "index": 25 - }, - { - "name": "HoldingWouldOverflow", - "index": 26 - }, - { - "name": "ExportError", - "index": 27 - }, - { - "name": "ReanchorFailed", - "index": 28 - }, - { - "name": "NoDeal", - "index": 29 - }, - { - "name": "FeesNotMet", - "index": 30 - }, - { - "name": "LockError", - "index": 31 - }, - { - "name": "NoPermission", - "index": 32 - }, - { - "name": "Unanchored", - "index": 33 - }, - { - "name": "NotDepositable", - "index": 34 - }, - { - "name": "UnhandledXcmVersion", - "index": 35 - }, - { - "name": "WeightLimitReached", - "fields": [ - { - "type": 9, - "typeName": "Weight" - } - ], - "index": 36 - }, - { - "name": "Barrier", - "index": 37 - }, - { - "name": "WeightNotComputable", - "index": 38 - }, - { - "name": "ExceedsStackLimit", - "index": 39 - } - ] - } - } - } - }, - { - "id": 119, - "type": { - "path": ["staging_xcm", "v3", "multilocation", "MultiLocation"], - "def": { - "composite": { - "fields": [ - { - "name": "parents", - "type": 2, - "typeName": "u8" - }, - { - "name": "interior", - "type": 120, - "typeName": "Junctions" - } - ] - } - } - } - }, - { - "id": 120, - "type": { - "path": ["staging_xcm", "v3", "junctions", "Junctions"], - "def": { - "variant": { - "variants": [ - { - "name": "Here", - "index": 0 - }, - { - "name": "X1", - "fields": [ - { - "type": 121, - "typeName": "Junction" - } - ], - "index": 1 - }, - { - "name": "X2", - "fields": [ - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - } - ], - "index": 2 - }, - { - "name": "X3", - "fields": [ - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - } - ], - "index": 3 - }, - { - "name": "X4", - "fields": [ - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - } - ], - "index": 4 - }, - { - "name": "X5", - "fields": [ - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - } - ], - "index": 5 - }, - { - "name": "X6", - "fields": [ - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - } - ], - "index": 6 - }, - { - "name": "X7", - "fields": [ - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - } - ], - "index": 7 - }, - { - "name": "X8", - "fields": [ - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - }, - { - "type": 121, - "typeName": "Junction" - } - ], - "index": 8 - } - ] - } - } - } - }, - { - "id": 121, - "type": { - "path": ["staging_xcm", "v3", "junction", "Junction"], - "def": { - "variant": { - "variants": [ - { - "name": "Parachain", - "fields": [ - { - "type": 122, - "typeName": "u32" - } - ], - "index": 0 - }, - { - "name": "AccountId32", - "fields": [ - { - "name": "network", - "type": 123, - "typeName": "Option" - }, - { - "name": "id", - "type": 1, - "typeName": "[u8; 32]" - } - ], - "index": 1 - }, - { - "name": "AccountIndex64", - "fields": [ - { - "name": "network", - "type": 123, - "typeName": "Option" - }, - { - "name": "index", - "type": 10, - "typeName": "u64" - } - ], - "index": 2 - }, - { - "name": "AccountKey20", - "fields": [ - { - "name": "network", - "type": 123, - "typeName": "Option" - }, - { - "name": "key", - "type": 64, - "typeName": "[u8; 20]" - } - ], - "index": 3 - }, - { - "name": "PalletInstance", - "fields": [ - { - "type": 2, - "typeName": "u8" - } - ], - "index": 4 - }, - { - "name": "GeneralIndex", - "fields": [ - { - "type": 125, - "typeName": "u128" - } - ], - "index": 5 - }, - { - "name": "GeneralKey", - "fields": [ - { - "name": "length", - "type": 2, - "typeName": "u8" - }, - { - "name": "data", - "type": 1, - "typeName": "[u8; 32]" - } - ], - "index": 6 - }, - { - "name": "OnlyChild", - "index": 7 - }, - { - "name": "Plurality", - "fields": [ - { - "name": "id", - "type": 126, - "typeName": "BodyId" - }, - { - "name": "part", - "type": 127, - "typeName": "BodyPart" - } - ], - "index": 8 - }, - { - "name": "GlobalConsensus", - "fields": [ - { - "type": 124, - "typeName": "NetworkId" - } - ], - "index": 9 - } - ] - } - } - } - }, - { - "id": 122, - "type": { - "def": { - "compact": { - "type": 4 - } - } - } - }, - { - "id": 123, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 124 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 124 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 124, - "type": { - "path": ["staging_xcm", "v3", "junction", "NetworkId"], - "def": { - "variant": { - "variants": [ - { - "name": "ByGenesis", - "fields": [ - { - "type": 1, - "typeName": "[u8; 32]" - } - ], - "index": 0 - }, - { - "name": "ByFork", - "fields": [ - { - "name": "block_number", - "type": 11, - "typeName": "u64" - }, - { - "name": "block_hash", - "type": 1, - "typeName": "[u8; 32]" - } - ], - "index": 1 - }, - { - "name": "Polkadot", - "index": 2 - }, - { - "name": "Kusama", - "index": 3 - }, - { - "name": "Westend", - "index": 4 - }, - { - "name": "Rococo", - "index": 5 - }, - { - "name": "Wococo", - "index": 6 - }, - { - "name": "Ethereum", - "fields": [ - { - "name": "chain_id", - "type": 10, - "typeName": "u64" - } - ], - "index": 7 - }, - { - "name": "BitcoinCore", - "index": 8 - }, - { - "name": "BitcoinCash", - "index": 9 - } - ] - } - } - } - }, - { - "id": 125, - "type": { - "def": { - "compact": { - "type": 6 - } - } - } - }, - { - "id": 126, - "type": { - "path": ["staging_xcm", "v3", "junction", "BodyId"], - "def": { - "variant": { - "variants": [ - { - "name": "Unit", - "index": 0 - }, - { - "name": "Moniker", - "fields": [ - { - "type": 17, - "typeName": "[u8; 4]" - } - ], - "index": 1 - }, - { - "name": "Index", - "fields": [ - { - "type": 122, - "typeName": "u32" - } - ], - "index": 2 - }, - { - "name": "Executive", - "index": 3 - }, - { - "name": "Technical", - "index": 4 - }, - { - "name": "Legislative", - "index": 5 - }, - { - "name": "Judicial", - "index": 6 - }, - { - "name": "Defense", - "index": 7 - }, - { - "name": "Administration", - "index": 8 - }, - { - "name": "Treasury", - "index": 9 - } - ] - } - } - } - }, - { - "id": 127, - "type": { - "path": ["staging_xcm", "v3", "junction", "BodyPart"], - "def": { - "variant": { - "variants": [ - { - "name": "Voice", - "index": 0 - }, - { - "name": "Members", - "fields": [ - { - "name": "count", - "type": 122, - "typeName": "u32" - } - ], - "index": 1 - }, - { - "name": "Fraction", - "fields": [ - { - "name": "nom", - "type": 122, - "typeName": "u32" - }, - { - "name": "denom", - "type": 122, - "typeName": "u32" - } - ], - "index": 2 - }, - { - "name": "AtLeastProportion", - "fields": [ - { - "name": "nom", - "type": 122, - "typeName": "u32" - }, - { - "name": "denom", - "type": 122, - "typeName": "u32" - } - ], - "index": 3 - }, - { - "name": "MoreThanProportion", - "fields": [ - { - "name": "nom", - "type": 122, - "typeName": "u32" - }, - { - "name": "denom", - "type": 122, - "typeName": "u32" - } - ], - "index": 4 - } - ] - } - } - } - }, - { - "id": 128, - "type": { - "path": ["staging_xcm", "v3", "Xcm"], - "params": [ - { - "name": "Call", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 129, - "typeName": "Vec>" - } - ] - } - } - } - }, - { - "id": 129, - "type": { - "def": { - "sequence": { - "type": 130 - } - } - } - }, - { - "id": 130, - "type": { - "path": ["staging_xcm", "v3", "Instruction"], - "params": [ - { - "name": "Call", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "WithdrawAsset", - "fields": [ - { - "type": 131, - "typeName": "MultiAssets" - } - ], - "index": 0 - }, - { - "name": "ReserveAssetDeposited", - "fields": [ - { - "type": 131, - "typeName": "MultiAssets" - } - ], - "index": 1 - }, - { - "name": "ReceiveTeleportedAsset", - "fields": [ - { - "type": 131, - "typeName": "MultiAssets" - } - ], - "index": 2 - }, - { - "name": "QueryResponse", - "fields": [ - { - "name": "query_id", - "type": 10, - "typeName": "QueryId" - }, - { - "name": "response", - "type": 138, - "typeName": "Response" - }, - { - "name": "max_weight", - "type": 9, - "typeName": "Weight" - }, - { - "name": "querier", - "type": 147, - "typeName": "Option" - } - ], - "index": 3 - }, - { - "name": "TransferAsset", - "fields": [ - { - "name": "assets", - "type": 131, - "typeName": "MultiAssets" - }, - { - "name": "beneficiary", - "type": 119, - "typeName": "MultiLocation" - } - ], - "index": 4 - }, - { - "name": "TransferReserveAsset", - "fields": [ - { - "name": "assets", - "type": 131, - "typeName": "MultiAssets" - }, - { - "name": "dest", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "xcm", - "type": 128, - "typeName": "Xcm<()>" - } - ], - "index": 5 - }, - { - "name": "Transact", - "fields": [ - { - "name": "origin_kind", - "type": 148, - "typeName": "OriginKind" - }, - { - "name": "require_weight_at_most", - "type": 9, - "typeName": "Weight" - }, - { - "name": "call", - "type": 149, - "typeName": "DoubleEncoded" - } - ], - "index": 6 - }, - { - "name": "HrmpNewChannelOpenRequest", - "fields": [ - { - "name": "sender", - "type": 122, - "typeName": "u32" - }, - { - "name": "max_message_size", - "type": 122, - "typeName": "u32" - }, - { - "name": "max_capacity", - "type": 122, - "typeName": "u32" - } - ], - "index": 7 - }, - { - "name": "HrmpChannelAccepted", - "fields": [ - { - "name": "recipient", - "type": 122, - "typeName": "u32" - } - ], - "index": 8 - }, - { - "name": "HrmpChannelClosing", - "fields": [ - { - "name": "initiator", - "type": 122, - "typeName": "u32" - }, - { - "name": "sender", - "type": 122, - "typeName": "u32" - }, - { - "name": "recipient", - "type": 122, - "typeName": "u32" - } - ], - "index": 9 - }, - { - "name": "ClearOrigin", - "index": 10 - }, - { - "name": "DescendOrigin", - "fields": [ - { - "type": 120, - "typeName": "InteriorMultiLocation" - } - ], - "index": 11 - }, - { - "name": "ReportError", - "fields": [ - { - "type": 150, - "typeName": "QueryResponseInfo" - } - ], - "index": 12 - }, - { - "name": "DepositAsset", - "fields": [ - { - "name": "assets", - "type": 151, - "typeName": "MultiAssetFilter" - }, - { - "name": "beneficiary", - "type": 119, - "typeName": "MultiLocation" - } - ], - "index": 13 - }, - { - "name": "DepositReserveAsset", - "fields": [ - { - "name": "assets", - "type": 151, - "typeName": "MultiAssetFilter" - }, - { - "name": "dest", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "xcm", - "type": 128, - "typeName": "Xcm<()>" - } - ], - "index": 14 - }, - { - "name": "ExchangeAsset", - "fields": [ - { - "name": "give", - "type": 151, - "typeName": "MultiAssetFilter" - }, - { - "name": "want", - "type": 131, - "typeName": "MultiAssets" - }, - { - "name": "maximal", - "type": 54, - "typeName": "bool" - } - ], - "index": 15 - }, - { - "name": "InitiateReserveWithdraw", - "fields": [ - { - "name": "assets", - "type": 151, - "typeName": "MultiAssetFilter" - }, - { - "name": "reserve", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "xcm", - "type": 128, - "typeName": "Xcm<()>" - } - ], - "index": 16 - }, - { - "name": "InitiateTeleport", - "fields": [ - { - "name": "assets", - "type": 151, - "typeName": "MultiAssetFilter" - }, - { - "name": "dest", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "xcm", - "type": 128, - "typeName": "Xcm<()>" - } - ], - "index": 17 - }, - { - "name": "ReportHolding", - "fields": [ - { - "name": "response_info", - "type": 150, - "typeName": "QueryResponseInfo" - }, - { - "name": "assets", - "type": 151, - "typeName": "MultiAssetFilter" - } - ], - "index": 18 - }, - { - "name": "BuyExecution", - "fields": [ - { - "name": "fees", - "type": 133, - "typeName": "MultiAsset" - }, - { - "name": "weight_limit", - "type": 154, - "typeName": "WeightLimit" - } - ], - "index": 19 - }, - { - "name": "RefundSurplus", - "index": 20 - }, - { - "name": "SetErrorHandler", - "fields": [ - { - "type": 128, - "typeName": "Xcm" - } - ], - "index": 21 - }, - { - "name": "SetAppendix", - "fields": [ - { - "type": 128, - "typeName": "Xcm" - } - ], - "index": 22 - }, - { - "name": "ClearError", - "index": 23 - }, - { - "name": "ClaimAsset", - "fields": [ - { - "name": "assets", - "type": 131, - "typeName": "MultiAssets" - }, - { - "name": "ticket", - "type": 119, - "typeName": "MultiLocation" - } - ], - "index": 24 - }, - { - "name": "Trap", - "fields": [ - { - "type": 10, - "typeName": "u64" - } - ], - "index": 25 - }, - { - "name": "SubscribeVersion", - "fields": [ - { - "name": "query_id", - "type": 10, - "typeName": "QueryId" - }, - { - "name": "max_response_weight", - "type": 9, - "typeName": "Weight" - } - ], - "index": 26 - }, - { - "name": "UnsubscribeVersion", - "index": 27 - }, - { - "name": "BurnAsset", - "fields": [ - { - "type": 131, - "typeName": "MultiAssets" - } - ], - "index": 28 - }, - { - "name": "ExpectAsset", - "fields": [ - { - "type": 131, - "typeName": "MultiAssets" - } - ], - "index": 29 - }, - { - "name": "ExpectOrigin", - "fields": [ - { - "type": 147, - "typeName": "Option" - } - ], - "index": 30 - }, - { - "name": "ExpectError", - "fields": [ - { - "type": 139, - "typeName": "Option<(u32, Error)>" - } - ], - "index": 31 - }, - { - "name": "ExpectTransactStatus", - "fields": [ - { - "type": 145, - "typeName": "MaybeErrorCode" - } - ], - "index": 32 - }, - { - "name": "QueryPallet", - "fields": [ - { - "name": "module_name", - "type": 13, - "typeName": "Vec" - }, - { - "name": "response_info", - "type": 150, - "typeName": "QueryResponseInfo" - } - ], - "index": 33 - }, - { - "name": "ExpectPallet", - "fields": [ - { - "name": "index", - "type": 122, - "typeName": "u32" - }, - { - "name": "name", - "type": 13, - "typeName": "Vec" - }, - { - "name": "module_name", - "type": 13, - "typeName": "Vec" - }, - { - "name": "crate_major", - "type": 122, - "typeName": "u32" - }, - { - "name": "min_crate_minor", - "type": 122, - "typeName": "u32" - } - ], - "index": 34 - }, - { - "name": "ReportTransactStatus", - "fields": [ - { - "type": 150, - "typeName": "QueryResponseInfo" - } - ], - "index": 35 - }, - { - "name": "ClearTransactStatus", - "index": 36 - }, - { - "name": "UniversalOrigin", - "fields": [ - { - "type": 121, - "typeName": "Junction" - } - ], - "index": 37 - }, - { - "name": "ExportMessage", - "fields": [ - { - "name": "network", - "type": 124, - "typeName": "NetworkId" - }, - { - "name": "destination", - "type": 120, - "typeName": "InteriorMultiLocation" - }, - { - "name": "xcm", - "type": 128, - "typeName": "Xcm<()>" - } - ], - "index": 38 - }, - { - "name": "LockAsset", - "fields": [ - { - "name": "asset", - "type": 133, - "typeName": "MultiAsset" - }, - { - "name": "unlocker", - "type": 119, - "typeName": "MultiLocation" - } - ], - "index": 39 - }, - { - "name": "UnlockAsset", - "fields": [ - { - "name": "asset", - "type": 133, - "typeName": "MultiAsset" - }, - { - "name": "target", - "type": 119, - "typeName": "MultiLocation" - } - ], - "index": 40 - }, - { - "name": "NoteUnlockable", - "fields": [ - { - "name": "asset", - "type": 133, - "typeName": "MultiAsset" - }, - { - "name": "owner", - "type": 119, - "typeName": "MultiLocation" - } - ], - "index": 41 - }, - { - "name": "RequestUnlock", - "fields": [ - { - "name": "asset", - "type": 133, - "typeName": "MultiAsset" - }, - { - "name": "locker", - "type": 119, - "typeName": "MultiLocation" - } - ], - "index": 42 - }, - { - "name": "SetFeesMode", - "fields": [ - { - "name": "jit_withdraw", - "type": 54, - "typeName": "bool" - } - ], - "index": 43 - }, - { - "name": "SetTopic", - "fields": [ - { - "type": 1, - "typeName": "[u8; 32]" - } - ], - "index": 44 - }, - { - "name": "ClearTopic", - "index": 45 - }, - { - "name": "AliasOrigin", - "fields": [ - { - "type": 119, - "typeName": "MultiLocation" - } - ], - "index": 46 - }, - { - "name": "UnpaidExecution", - "fields": [ - { - "name": "weight_limit", - "type": 154, - "typeName": "WeightLimit" - }, - { - "name": "check_origin", - "type": 147, - "typeName": "Option" - } - ], - "index": 47 - } - ] - } - } - } - }, - { - "id": 131, - "type": { - "path": ["staging_xcm", "v3", "multiasset", "MultiAssets"], - "def": { - "composite": { - "fields": [ - { - "type": 132, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 132, - "type": { - "def": { - "sequence": { - "type": 133 - } - } - } - }, - { - "id": 133, - "type": { - "path": ["staging_xcm", "v3", "multiasset", "MultiAsset"], - "def": { - "composite": { - "fields": [ - { - "name": "id", - "type": 134, - "typeName": "AssetId" - }, - { - "name": "fun", - "type": 135, - "typeName": "Fungibility" - } - ] - } - } - } - }, - { - "id": 134, - "type": { - "path": ["staging_xcm", "v3", "multiasset", "AssetId"], - "def": { - "variant": { - "variants": [ - { - "name": "Concrete", - "fields": [ - { - "type": 119, - "typeName": "MultiLocation" - } - ], - "index": 0 - }, - { - "name": "Abstract", - "fields": [ - { - "type": 1, - "typeName": "[u8; 32]" - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 135, - "type": { - "path": ["staging_xcm", "v3", "multiasset", "Fungibility"], - "def": { - "variant": { - "variants": [ - { - "name": "Fungible", - "fields": [ - { - "type": 125, - "typeName": "u128" - } - ], - "index": 0 - }, - { - "name": "NonFungible", - "fields": [ - { - "type": 136, - "typeName": "AssetInstance" - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 136, - "type": { - "path": ["staging_xcm", "v3", "multiasset", "AssetInstance"], - "def": { - "variant": { - "variants": [ - { - "name": "Undefined", - "index": 0 - }, - { - "name": "Index", - "fields": [ - { - "type": 125, - "typeName": "u128" - } - ], - "index": 1 - }, - { - "name": "Array4", - "fields": [ - { - "type": 17, - "typeName": "[u8; 4]" - } - ], - "index": 2 - }, - { - "name": "Array8", - "fields": [ - { - "type": 137, - "typeName": "[u8; 8]" - } - ], - "index": 3 - }, - { - "name": "Array16", - "fields": [ - { - "type": 35, - "typeName": "[u8; 16]" - } - ], - "index": 4 - }, - { - "name": "Array32", - "fields": [ - { - "type": 1, - "typeName": "[u8; 32]" - } - ], - "index": 5 - } - ] - } - } - } - }, - { - "id": 137, - "type": { - "def": { - "array": { - "len": 8, - "type": 2 - } - } - } - }, - { - "id": 138, - "type": { - "path": ["staging_xcm", "v3", "Response"], - "def": { - "variant": { - "variants": [ - { - "name": "Null", - "index": 0 - }, - { - "name": "Assets", - "fields": [ - { - "type": 131, - "typeName": "MultiAssets" - } - ], - "index": 1 - }, - { - "name": "ExecutionResult", - "fields": [ - { - "type": 139, - "typeName": "Option<(u32, Error)>" - } - ], - "index": 2 - }, - { - "name": "Version", - "fields": [ - { - "type": 4, - "typeName": "super::Version" - } - ], - "index": 3 - }, - { - "name": "PalletsInfo", - "fields": [ - { - "type": 141, - "typeName": "BoundedVec" - } - ], - "index": 4 - }, - { - "name": "DispatchResult", - "fields": [ - { - "type": 145, - "typeName": "MaybeErrorCode" - } - ], - "index": 5 - } - ] - } - } - } - }, - { - "id": 139, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 140 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 140 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 140, - "type": { - "def": { - "tuple": [4, 118] - } - } - }, - { - "id": 141, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 142 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 144, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 142, - "type": { - "path": ["staging_xcm", "v3", "PalletInfo"], - "def": { - "composite": { - "fields": [ - { - "name": "index", - "type": 122, - "typeName": "u32" - }, - { - "name": "name", - "type": 143, - "typeName": "BoundedVec" - }, - { - "name": "module_name", - "type": 143, - "typeName": "BoundedVec" - }, - { - "name": "major", - "type": 122, - "typeName": "u32" - }, - { - "name": "minor", - "type": 122, - "typeName": "u32" - }, - { - "name": "patch", - "type": 122, - "typeName": "u32" - } - ] - } - } - } - }, - { - "id": 143, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 2 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 13, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 144, - "type": { - "def": { - "sequence": { - "type": 142 - } - } - } - }, - { - "id": 145, - "type": { - "path": ["staging_xcm", "v3", "MaybeErrorCode"], - "def": { - "variant": { - "variants": [ - { - "name": "Success", - "index": 0 - }, - { - "name": "Error", - "fields": [ - { - "type": 146, - "typeName": "BoundedVec" - } - ], - "index": 1 - }, - { - "name": "TruncatedError", - "fields": [ - { - "type": 146, - "typeName": "BoundedVec" - } - ], - "index": 2 - } - ] - } - } - } - }, - { - "id": 146, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 2 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 13, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 147, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 119 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 119 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 148, - "type": { - "path": ["staging_xcm", "v2", "OriginKind"], - "def": { - "variant": { - "variants": [ - { - "name": "Native", - "index": 0 - }, - { - "name": "SovereignAccount", - "index": 1 - }, - { - "name": "Superuser", - "index": 2 - }, - { - "name": "Xcm", - "index": 3 - } - ] - } - } - } - }, - { - "id": 149, - "type": { - "path": ["staging_xcm", "double_encoded", "DoubleEncoded"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "encoded", - "type": 13, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 150, - "type": { - "path": ["staging_xcm", "v3", "QueryResponseInfo"], - "def": { - "composite": { - "fields": [ - { - "name": "destination", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "query_id", - "type": 10, - "typeName": "QueryId" - }, - { - "name": "max_weight", - "type": 9, - "typeName": "Weight" - } - ] - } - } - } - }, - { - "id": 151, - "type": { - "path": ["staging_xcm", "v3", "multiasset", "MultiAssetFilter"], - "def": { - "variant": { - "variants": [ - { - "name": "Definite", - "fields": [ - { - "type": 131, - "typeName": "MultiAssets" - } - ], - "index": 0 - }, - { - "name": "Wild", - "fields": [ - { - "type": 152, - "typeName": "WildMultiAsset" - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 152, - "type": { - "path": ["staging_xcm", "v3", "multiasset", "WildMultiAsset"], - "def": { - "variant": { - "variants": [ - { - "name": "All", - "index": 0 - }, - { - "name": "AllOf", - "fields": [ - { - "name": "id", - "type": 134, - "typeName": "AssetId" - }, - { - "name": "fun", - "type": 153, - "typeName": "WildFungibility" - } - ], - "index": 1 - }, - { - "name": "AllCounted", - "fields": [ - { - "type": 122, - "typeName": "u32" - } - ], - "index": 2 - }, - { - "name": "AllOfCounted", - "fields": [ - { - "name": "id", - "type": 134, - "typeName": "AssetId" - }, - { - "name": "fun", - "type": 153, - "typeName": "WildFungibility" - }, - { - "name": "count", - "type": 122, - "typeName": "u32" - } - ], - "index": 3 - } - ] - } - } - } - }, - { - "id": 153, - "type": { - "path": ["staging_xcm", "v3", "multiasset", "WildFungibility"], - "def": { - "variant": { - "variants": [ - { - "name": "Fungible", - "index": 0 - }, - { - "name": "NonFungible", - "index": 1 - } - ] - } - } - } - }, - { - "id": 154, - "type": { - "path": ["staging_xcm", "v3", "WeightLimit"], - "def": { - "variant": { - "variants": [ - { - "name": "Unlimited", - "index": 0 - }, - { - "name": "Limited", - "fields": [ - { - "type": 9, - "typeName": "Weight" - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 155, - "type": { - "path": ["staging_xcm", "VersionedMultiAssets"], - "def": { - "variant": { - "variants": [ - { - "name": "V2", - "fields": [ - { - "type": 156, - "typeName": "v2::MultiAssets" - } - ], - "index": 1 - }, - { - "name": "V3", - "fields": [ - { - "type": 131, - "typeName": "v3::MultiAssets" - } - ], - "index": 3 - } - ] - } - } - } - }, - { - "id": 156, - "type": { - "path": ["staging_xcm", "v2", "multiasset", "MultiAssets"], - "def": { - "composite": { - "fields": [ - { - "type": 157, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 157, - "type": { - "def": { - "sequence": { - "type": 158 - } - } - } - }, - { - "id": 158, - "type": { - "path": ["staging_xcm", "v2", "multiasset", "MultiAsset"], - "def": { - "composite": { - "fields": [ - { - "name": "id", - "type": 159, - "typeName": "AssetId" - }, - { - "name": "fun", - "type": 167, - "typeName": "Fungibility" - } - ] - } - } - } - }, - { - "id": 159, - "type": { - "path": ["staging_xcm", "v2", "multiasset", "AssetId"], - "def": { - "variant": { - "variants": [ - { - "name": "Concrete", - "fields": [ - { - "type": 160, - "typeName": "MultiLocation" - } - ], - "index": 0 - }, - { - "name": "Abstract", - "fields": [ - { - "type": 13, - "typeName": "Vec" - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 160, - "type": { - "path": ["staging_xcm", "v2", "multilocation", "MultiLocation"], - "def": { - "composite": { - "fields": [ - { - "name": "parents", - "type": 2, - "typeName": "u8" - }, - { - "name": "interior", - "type": 161, - "typeName": "Junctions" - } - ] - } - } - } - }, - { - "id": 161, - "type": { - "path": ["staging_xcm", "v2", "multilocation", "Junctions"], - "def": { - "variant": { - "variants": [ - { - "name": "Here", - "index": 0 - }, - { - "name": "X1", - "fields": [ - { - "type": 162, - "typeName": "Junction" - } - ], - "index": 1 - }, - { - "name": "X2", - "fields": [ - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - } - ], - "index": 2 - }, - { - "name": "X3", - "fields": [ - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - } - ], - "index": 3 - }, - { - "name": "X4", - "fields": [ - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - } - ], - "index": 4 - }, - { - "name": "X5", - "fields": [ - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - } - ], - "index": 5 - }, - { - "name": "X6", - "fields": [ - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - } - ], - "index": 6 - }, - { - "name": "X7", - "fields": [ - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - } - ], - "index": 7 - }, - { - "name": "X8", - "fields": [ - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - }, - { - "type": 162, - "typeName": "Junction" - } - ], - "index": 8 - } - ] - } - } - } - }, - { - "id": 162, - "type": { - "path": ["staging_xcm", "v2", "junction", "Junction"], - "def": { - "variant": { - "variants": [ - { - "name": "Parachain", - "fields": [ - { - "type": 122, - "typeName": "u32" - } - ], - "index": 0 - }, - { - "name": "AccountId32", - "fields": [ - { - "name": "network", - "type": 163, - "typeName": "NetworkId" - }, - { - "name": "id", - "type": 1, - "typeName": "[u8; 32]" - } - ], - "index": 1 - }, - { - "name": "AccountIndex64", - "fields": [ - { - "name": "network", - "type": 163, - "typeName": "NetworkId" - }, - { - "name": "index", - "type": 10, - "typeName": "u64" - } - ], - "index": 2 - }, - { - "name": "AccountKey20", - "fields": [ - { - "name": "network", - "type": 163, - "typeName": "NetworkId" - }, - { - "name": "key", - "type": 64, - "typeName": "[u8; 20]" - } - ], - "index": 3 - }, - { - "name": "PalletInstance", - "fields": [ - { - "type": 2, - "typeName": "u8" - } - ], - "index": 4 - }, - { - "name": "GeneralIndex", - "fields": [ - { - "type": 125, - "typeName": "u128" - } - ], - "index": 5 - }, - { - "name": "GeneralKey", - "fields": [ - { - "type": 164, - "typeName": "WeakBoundedVec>" - } - ], - "index": 6 - }, - { - "name": "OnlyChild", - "index": 7 - }, - { - "name": "Plurality", - "fields": [ - { - "name": "id", - "type": 165, - "typeName": "BodyId" - }, - { - "name": "part", - "type": 166, - "typeName": "BodyPart" - } - ], - "index": 8 - } - ] - } - } - } - }, - { - "id": 163, - "type": { - "path": ["staging_xcm", "v2", "NetworkId"], - "def": { - "variant": { - "variants": [ - { - "name": "Any", - "index": 0 - }, - { - "name": "Named", - "fields": [ - { - "type": 164, - "typeName": "WeakBoundedVec>" - } - ], - "index": 1 - }, - { - "name": "Polkadot", - "index": 2 - }, - { - "name": "Kusama", - "index": 3 - } - ] - } - } - } - }, - { - "id": 164, - "type": { - "path": [ - "bounded_collections", - "weak_bounded_vec", - "WeakBoundedVec" - ], - "params": [ - { - "name": "T", - "type": 2 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 13, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 165, - "type": { - "path": ["staging_xcm", "v2", "BodyId"], - "def": { - "variant": { - "variants": [ - { - "name": "Unit", - "index": 0 - }, - { - "name": "Named", - "fields": [ - { - "type": 164, - "typeName": "WeakBoundedVec>" - } - ], - "index": 1 - }, - { - "name": "Index", - "fields": [ - { - "type": 122, - "typeName": "u32" - } - ], - "index": 2 - }, - { - "name": "Executive", - "index": 3 - }, - { - "name": "Technical", - "index": 4 - }, - { - "name": "Legislative", - "index": 5 - }, - { - "name": "Judicial", - "index": 6 - }, - { - "name": "Defense", - "index": 7 - }, - { - "name": "Administration", - "index": 8 - }, - { - "name": "Treasury", - "index": 9 - } - ] - } - } - } - }, - { - "id": 166, - "type": { - "path": ["staging_xcm", "v2", "BodyPart"], - "def": { - "variant": { - "variants": [ - { - "name": "Voice", - "index": 0 - }, - { - "name": "Members", - "fields": [ - { - "name": "count", - "type": 122, - "typeName": "u32" - } - ], - "index": 1 - }, - { - "name": "Fraction", - "fields": [ - { - "name": "nom", - "type": 122, - "typeName": "u32" - }, - { - "name": "denom", - "type": 122, - "typeName": "u32" - } - ], - "index": 2 - }, - { - "name": "AtLeastProportion", - "fields": [ - { - "name": "nom", - "type": 122, - "typeName": "u32" - }, - { - "name": "denom", - "type": 122, - "typeName": "u32" - } - ], - "index": 3 - }, - { - "name": "MoreThanProportion", - "fields": [ - { - "name": "nom", - "type": 122, - "typeName": "u32" - }, - { - "name": "denom", - "type": 122, - "typeName": "u32" - } - ], - "index": 4 - } - ] - } - } - } - }, - { - "id": 167, - "type": { - "path": ["staging_xcm", "v2", "multiasset", "Fungibility"], - "def": { - "variant": { - "variants": [ - { - "name": "Fungible", - "fields": [ - { - "type": 125, - "typeName": "u128" - } - ], - "index": 0 - }, - { - "name": "NonFungible", - "fields": [ - { - "type": 168, - "typeName": "AssetInstance" - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 168, - "type": { - "path": ["staging_xcm", "v2", "multiasset", "AssetInstance"], - "def": { - "variant": { - "variants": [ - { - "name": "Undefined", - "index": 0 - }, - { - "name": "Index", - "fields": [ - { - "type": 125, - "typeName": "u128" - } - ], - "index": 1 - }, - { - "name": "Array4", - "fields": [ - { - "type": 17, - "typeName": "[u8; 4]" - } - ], - "index": 2 - }, - { - "name": "Array8", - "fields": [ - { - "type": 137, - "typeName": "[u8; 8]" - } - ], - "index": 3 - }, - { - "name": "Array16", - "fields": [ - { - "type": 35, - "typeName": "[u8; 16]" - } - ], - "index": 4 - }, - { - "name": "Array32", - "fields": [ - { - "type": 1, - "typeName": "[u8; 32]" - } - ], - "index": 5 - }, - { - "name": "Blob", - "fields": [ - { - "type": 13, - "typeName": "Vec" - } - ], - "index": 6 - } - ] - } - } - } - }, - { - "id": 169, - "type": { - "path": ["staging_xcm", "VersionedMultiLocation"], - "def": { - "variant": { - "variants": [ - { - "name": "V2", - "fields": [ - { - "type": 160, - "typeName": "v2::MultiLocation" - } - ], - "index": 1 - }, - { - "name": "V3", - "fields": [ - { - "type": 119, - "typeName": "v3::MultiLocation" - } - ], - "index": 3 - } - ] - } - } - } - }, - { - "id": 170, - "type": { - "path": [ - "polkadot_runtime_common", - "assigned_slots", - "pallet", - "Event" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "PermanentSlotAssigned", - "fields": [ - { - "type": 90, - "typeName": "ParaId" - } - ], - "index": 0, - "docs": [ - "A parachain was assigned a permanent parachain slot" - ] - }, - { - "name": "TemporarySlotAssigned", - "fields": [ - { - "type": 90, - "typeName": "ParaId" - } - ], - "index": 1, - "docs": [ - "A parachain was assigned a temporary parachain slot" - ] - }, - { - "name": "MaxPermanentSlotsChanged", - "fields": [ - { - "name": "slots", - "type": 4, - "typeName": "u32" - } - ], - "index": 2, - "docs": [ - "The maximum number of permanent slots has been changed" - ] - }, - { - "name": "MaxTemporarySlotsChanged", - "fields": [ - { - "name": "slots", - "type": 4, - "typeName": "u32" - } - ], - "index": 3, - "docs": [ - "The maximum number of temporary slots has been changed" - ] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 171, - "type": { - "path": [ - "rococo_runtime", - "validator_manager", - "pallet", - "Event" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "ValidatorsRegistered", - "fields": [ - { - "type": 68, - "typeName": "Vec" - } - ], - "index": 0, - "docs": ["New validators were added to the set."] - }, - { - "name": "ValidatorsDeregistered", - "fields": [ - { - "type": 68, - "typeName": "Vec" - } - ], - "index": 1, - "docs": ["Validators were removed from the set."] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 172, - "type": { - "path": ["pallet_state_trie_migration", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Migrated", - "fields": [ - { - "name": "top", - "type": 4, - "typeName": "u32" - }, - { - "name": "child", - "type": 4, - "typeName": "u32" - }, - { - "name": "compute", - "type": 173, - "typeName": "MigrationCompute" - } - ], - "index": 0, - "docs": [ - "Given number of `(top, child)` keys were migrated respectively, with the given", - "`compute`." - ] - }, - { - "name": "Slashed", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 1, - "docs": ["Some account got slashed by the given amount."] - }, - { - "name": "AutoMigrationFinished", - "index": 2, - "docs": ["The auto migration task finished."] - }, - { - "name": "Halted", - "fields": [ - { - "name": "error", - "type": 174, - "typeName": "Error" - } - ], - "index": 3, - "docs": [ - "Migration got halted due to an error or miss-configuration." - ] - } - ] - } - }, - "docs": ["Inner events of this pallet."] - } - }, - { - "id": 173, - "type": { - "path": [ - "pallet_state_trie_migration", - "pallet", - "MigrationCompute" - ], - "def": { - "variant": { - "variants": [ - { - "name": "Signed", - "index": 0 - }, - { - "name": "Auto", - "index": 1 - } - ] - } - } - } - }, - { - "id": 174, - "type": { - "path": ["pallet_state_trie_migration", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "MaxSignedLimits", - "index": 0, - "docs": ["Max signed limits not respected."] - }, - { - "name": "KeyTooLong", - "index": 1, - "docs": [ - "A key was longer than the configured maximum.", - "", - "This means that the migration halted at the current [`Progress`] and", - "can be resumed with a larger [`crate::Config::MaxKeyLen`] value.", - "Retrying with the same [`crate::Config::MaxKeyLen`] value will not work.", - "The value should only be increased to avoid a storage migration for the currently", - "stored [`crate::Progress::LastKey`]." - ] - }, - { - "name": "NotEnoughFunds", - "index": 2, - "docs": ["submitter does not have enough funds."] - }, - { - "name": "BadWitness", - "index": 3, - "docs": ["Bad witness data provided."] - }, - { - "name": "SignedMigrationNotAllowed", - "index": 4, - "docs": [ - "Signed migration is not allowed because the maximum limit is not set yet." - ] - }, - { - "name": "BadChildRoot", - "index": 5, - "docs": ["Bad child root provided."] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 175, - "type": { - "path": ["pallet_sudo", "pallet", "Event"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Sudid", - "fields": [ - { - "name": "sudo_result", - "type": 55, - "typeName": "DispatchResult", - "docs": [ - "The result of the call made by the sudo user." - ] - } - ], - "index": 0, - "docs": ["A sudo call just took place."] - }, - { - "name": "KeyChanged", - "fields": [ - { - "name": "old_sudoer", - "type": 176, - "typeName": "Option", - "docs": [ - "The old sudo key if one was previously set." - ] - } - ], - "index": 1, - "docs": ["The sudo key has been updated."] - }, - { - "name": "SudoAsDone", - "fields": [ - { - "name": "sudo_result", - "type": 55, - "typeName": "DispatchResult", - "docs": [ - "The result of the call made by the sudo user." - ] - } - ], - "index": 2, - "docs": [ - "A [sudo_as](Pallet::sudo_as) call just took place." - ] - } - ] - } - }, - "docs": ["The `Event` enum of this pallet"] - } - }, - { - "id": 176, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 0 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 0 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 177, - "type": { - "path": ["frame_system", "Phase"], - "def": { - "variant": { - "variants": [ - { - "name": "ApplyExtrinsic", - "fields": [ - { - "type": 4, - "typeName": "u32" - } - ], - "index": 0 - }, - { - "name": "Finalization", - "index": 1 - }, - { - "name": "Initialization", - "index": 2 - } - ] - } - } - } - }, - { - "id": 178, - "type": { - "def": { - "sequence": { - "type": 12 - } - } - } - }, - { - "id": 179, - "type": { - "def": { - "sequence": { - "type": 73 - } - } - } - }, - { - "id": 180, - "type": { - "path": ["frame_system", "LastRuntimeUpgradeInfo"], - "def": { - "composite": { - "fields": [ - { - "name": "spec_version", - "type": 122, - "typeName": "codec::Compact" - }, - { - "name": "spec_name", - "type": 181, - "typeName": "sp_runtime::RuntimeString" - } - ] - } - } - } - }, - { - "id": 181, - "type": { - "def": { - "primitive": "str" - } - } - }, - { - "id": 182, - "type": { - "path": ["frame_system", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "remark", - "fields": [ - { - "name": "remark", - "type": 13, - "typeName": "Vec" - } - ], - "index": 0, - "docs": ["See [`Pallet::remark`]."] - }, - { - "name": "set_heap_pages", - "fields": [ - { - "name": "pages", - "type": 11, - "typeName": "u64" - } - ], - "index": 1, - "docs": ["See [`Pallet::set_heap_pages`]."] - }, - { - "name": "set_code", - "fields": [ - { - "name": "code", - "type": 13, - "typeName": "Vec" - } - ], - "index": 2, - "docs": ["See [`Pallet::set_code`]."] - }, - { - "name": "set_code_without_checks", - "fields": [ - { - "name": "code", - "type": 13, - "typeName": "Vec" - } - ], - "index": 3, - "docs": ["See [`Pallet::set_code_without_checks`]."] - }, - { - "name": "set_storage", - "fields": [ - { - "name": "items", - "type": 183, - "typeName": "Vec" - } - ], - "index": 4, - "docs": ["See [`Pallet::set_storage`]."] - }, - { - "name": "kill_storage", - "fields": [ - { - "name": "keys", - "type": 185, - "typeName": "Vec" - } - ], - "index": 5, - "docs": ["See [`Pallet::kill_storage`]."] - }, - { - "name": "kill_prefix", - "fields": [ - { - "name": "prefix", - "type": 13, - "typeName": "Key" - }, - { - "name": "subkeys", - "type": 4, - "typeName": "u32" - } - ], - "index": 6, - "docs": ["See [`Pallet::kill_prefix`]."] - }, - { - "name": "remark_with_event", - "fields": [ - { - "name": "remark", - "type": 13, - "typeName": "Vec" - } - ], - "index": 7, - "docs": ["See [`Pallet::remark_with_event`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 183, - "type": { - "def": { - "sequence": { - "type": 184 - } - } - } - }, - { - "id": 184, - "type": { - "def": { - "tuple": [13, 13] - } - } - }, - { - "id": 185, - "type": { - "def": { - "sequence": { - "type": 13 - } - } - } - }, - { - "id": 186, - "type": { - "path": ["frame_system", "limits", "BlockWeights"], - "def": { - "composite": { - "fields": [ - { - "name": "base_block", - "type": 9, - "typeName": "Weight" - }, - { - "name": "max_block", - "type": 9, - "typeName": "Weight" - }, - { - "name": "per_class", - "type": 187, - "typeName": "PerDispatchClass" - } - ] - } - } - } - }, - { - "id": 187, - "type": { - "path": ["frame_support", "dispatch", "PerDispatchClass"], - "params": [ - { - "name": "T", - "type": 188 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "normal", - "type": 188, - "typeName": "T" - }, - { - "name": "operational", - "type": 188, - "typeName": "T" - }, - { - "name": "mandatory", - "type": 188, - "typeName": "T" - } - ] - } - } - } - }, - { - "id": 188, - "type": { - "path": ["frame_system", "limits", "WeightsPerClass"], - "def": { - "composite": { - "fields": [ - { - "name": "base_extrinsic", - "type": 9, - "typeName": "Weight" - }, - { - "name": "max_extrinsic", - "type": 189, - "typeName": "Option" - }, - { - "name": "max_total", - "type": 189, - "typeName": "Option" - }, - { - "name": "reserved", - "type": 189, - "typeName": "Option" - } - ] - } - } - } - }, - { - "id": 189, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 9 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 9 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 190, - "type": { - "path": ["frame_system", "limits", "BlockLength"], - "def": { - "composite": { - "fields": [ - { - "name": "max", - "type": 191, - "typeName": "PerDispatchClass" - } - ] - } - } - } - }, - { - "id": 191, - "type": { - "path": ["frame_support", "dispatch", "PerDispatchClass"], - "params": [ - { - "name": "T", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "normal", - "type": 4, - "typeName": "T" - }, - { - "name": "operational", - "type": 4, - "typeName": "T" - }, - { - "name": "mandatory", - "type": 4, - "typeName": "T" - } - ] - } - } - } - }, - { - "id": 192, - "type": { - "path": ["sp_weights", "RuntimeDbWeight"], - "def": { - "composite": { - "fields": [ - { - "name": "read", - "type": 11, - "typeName": "u64" - }, - { - "name": "write", - "type": 11, - "typeName": "u64" - } - ] - } - } - } - }, - { - "id": 193, - "type": { - "path": ["sp_version", "RuntimeVersion"], - "def": { - "composite": { - "fields": [ - { - "name": "spec_name", - "type": 181, - "typeName": "RuntimeString" - }, - { - "name": "impl_name", - "type": 181, - "typeName": "RuntimeString" - }, - { - "name": "authoring_version", - "type": 4, - "typeName": "u32" - }, - { - "name": "spec_version", - "type": 4, - "typeName": "u32" - }, - { - "name": "impl_version", - "type": 4, - "typeName": "u32" - }, - { - "name": "apis", - "type": 194, - "typeName": "ApisVec" - }, - { - "name": "transaction_version", - "type": 4, - "typeName": "u32" - }, - { - "name": "state_version", - "type": 2, - "typeName": "u8" - } - ] - } - } - } - }, - { - "id": 194, - "type": { - "path": ["Cow"], - "params": [ - { - "name": "T", - "type": 195 - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 195 - } - ] - } - } - } - }, - { - "id": 195, - "type": { - "def": { - "sequence": { - "type": 196 - } - } - } - }, - { - "id": 196, - "type": { - "def": { - "tuple": [137, 4] - } - } - }, - { - "id": 197, - "type": { - "path": ["frame_system", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "InvalidSpecName", - "index": 0, - "docs": [ - "The name of specification does not match between the current runtime", - "and the new runtime." - ] - }, - { - "name": "SpecVersionNeedsToIncrease", - "index": 1, - "docs": [ - "The specification version is not allowed to decrease between the current runtime", - "and the new runtime." - ] - }, - { - "name": "FailedToExtractRuntimeVersion", - "index": 2, - "docs": [ - "Failed to extract the runtime version from the new runtime.", - "", - "Either calling `Core_version` or decoding `RuntimeVersion` failed." - ] - }, - { - "name": "NonDefaultComposite", - "index": 3, - "docs": [ - "Suicide called when the account has non-default composite data." - ] - }, - { - "name": "NonZeroRefCount", - "index": 4, - "docs": [ - "There is a non-zero reference count preventing the account from being purged." - ] - }, - { - "name": "CallFiltered", - "index": 5, - "docs": [ - "The origin filter prevent the call to be dispatched." - ] - } - ] - } - }, - "docs": ["Error for the System pallet"] - } - }, - { - "id": 198, - "type": { - "path": [ - "bounded_collections", - "weak_bounded_vec", - "WeakBoundedVec" - ], - "params": [ - { - "name": "T", - "type": 199 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 201, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 199, - "type": { - "def": { - "tuple": [200, 11] - } - } - }, - { - "id": 200, - "type": { - "path": ["sp_consensus_babe", "app", "Public"], - "def": { - "composite": { - "fields": [ - { - "type": 44, - "typeName": "sr25519::Public" - } - ] - } - } - } - }, - { - "id": 201, - "type": { - "def": { - "sequence": { - "type": 199 - } - } - } - }, - { - "id": 202, - "type": { - "path": ["sp_consensus_slots", "Slot"], - "def": { - "composite": { - "fields": [ - { - "type": 11, - "typeName": "u64" - } - ] - } - } - } - }, - { - "id": 203, - "type": { - "path": ["sp_consensus_babe", "digests", "NextConfigDescriptor"], - "def": { - "variant": { - "variants": [ - { - "name": "V1", - "fields": [ - { - "name": "c", - "type": 204, - "typeName": "(u64, u64)" - }, - { - "name": "allowed_slots", - "type": 205, - "typeName": "AllowedSlots" - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 204, - "type": { - "def": { - "tuple": [11, 11] - } - } - }, - { - "id": 205, - "type": { - "path": ["sp_consensus_babe", "AllowedSlots"], - "def": { - "variant": { - "variants": [ - { - "name": "PrimarySlots", - "index": 0 - }, - { - "name": "PrimaryAndSecondaryPlainSlots", - "index": 1 - }, - { - "name": "PrimaryAndSecondaryVRFSlots", - "index": 2 - } - ] - } - } - } - }, - { - "id": 206, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 1 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 207, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 207, - "type": { - "def": { - "sequence": { - "type": 1 - } - } - } - }, - { - "id": 208, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 209 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 209 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 209, - "type": { - "path": ["sp_consensus_babe", "digests", "PreDigest"], - "def": { - "variant": { - "variants": [ - { - "name": "Primary", - "fields": [ - { - "type": 210, - "typeName": "PrimaryPreDigest" - } - ], - "index": 1 - }, - { - "name": "SecondaryPlain", - "fields": [ - { - "type": 212, - "typeName": "SecondaryPlainPreDigest" - } - ], - "index": 2 - }, - { - "name": "SecondaryVRF", - "fields": [ - { - "type": 213, - "typeName": "SecondaryVRFPreDigest" - } - ], - "index": 3 - } - ] - } - } - } - }, - { - "id": 210, - "type": { - "path": ["sp_consensus_babe", "digests", "PrimaryPreDigest"], - "def": { - "composite": { - "fields": [ - { - "name": "authority_index", - "type": 4, - "typeName": "super::AuthorityIndex" - }, - { - "name": "slot", - "type": 202, - "typeName": "Slot" - }, - { - "name": "vrf_signature", - "type": 211, - "typeName": "VrfSignature" - } - ] - } - } - } - }, - { - "id": 211, - "type": { - "path": ["sp_core", "sr25519", "vrf", "VrfSignature"], - "def": { - "composite": { - "fields": [ - { - "name": "output", - "type": 1, - "typeName": "VrfOutput" - }, - { - "name": "proof", - "type": 94, - "typeName": "VrfProof" - } - ] - } - } - } - }, - { - "id": 212, - "type": { - "path": [ - "sp_consensus_babe", - "digests", - "SecondaryPlainPreDigest" - ], - "def": { - "composite": { - "fields": [ - { - "name": "authority_index", - "type": 4, - "typeName": "super::AuthorityIndex" - }, - { - "name": "slot", - "type": 202, - "typeName": "Slot" - } - ] - } - } - } - }, - { - "id": 213, - "type": { - "path": ["sp_consensus_babe", "digests", "SecondaryVRFPreDigest"], - "def": { - "composite": { - "fields": [ - { - "name": "authority_index", - "type": 4, - "typeName": "super::AuthorityIndex" - }, - { - "name": "slot", - "type": 202, - "typeName": "Slot" - }, - { - "name": "vrf_signature", - "type": 211, - "typeName": "VrfSignature" - } - ] - } - } - } - }, - { - "id": 214, - "type": { - "path": ["sp_consensus_babe", "BabeEpochConfiguration"], - "def": { - "composite": { - "fields": [ - { - "name": "c", - "type": 204, - "typeName": "(u64, u64)" - }, - { - "name": "allowed_slots", - "type": 205, - "typeName": "AllowedSlots" - } - ] - } - } - } - }, - { - "id": 215, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 216 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 217, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 216, - "type": { - "def": { - "tuple": [11, 4] - } - } - }, - { - "id": 217, - "type": { - "def": { - "sequence": { - "type": 216 - } - } - } - }, - { - "id": 218, - "type": { - "path": ["pallet_babe", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "report_equivocation", - "fields": [ - { - "name": "equivocation_proof", - "type": 219, - "typeName": "Box>>" - }, - { - "name": "key_owner_proof", - "type": 221, - "typeName": "T::KeyOwnerProof" - } - ], - "index": 0, - "docs": ["See [`Pallet::report_equivocation`]."] - }, - { - "name": "report_equivocation_unsigned", - "fields": [ - { - "name": "equivocation_proof", - "type": 219, - "typeName": "Box>>" - }, - { - "name": "key_owner_proof", - "type": 221, - "typeName": "T::KeyOwnerProof" - } - ], - "index": 1, - "docs": ["See [`Pallet::report_equivocation_unsigned`]."] - }, - { - "name": "plan_config_change", - "fields": [ - { - "name": "config", - "type": 203, - "typeName": "NextConfigDescriptor" - } - ], - "index": 2, - "docs": ["See [`Pallet::plan_config_change`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 219, - "type": { - "path": ["sp_consensus_slots", "EquivocationProof"], - "params": [ - { - "name": "Header", - "type": 220 - }, - { - "name": "Id", - "type": 200 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "offender", - "type": 200, - "typeName": "Id" - }, - { - "name": "slot", - "type": 202, - "typeName": "Slot" - }, - { - "name": "first_header", - "type": 220, - "typeName": "Header" - }, - { - "name": "second_header", - "type": 220, - "typeName": "Header" - } - ] - } - } - } - }, - { - "id": 220, - "type": { - "path": ["sp_runtime", "generic", "header", "Header"], - "params": [ - { - "name": "Number", - "type": 4 - }, - { - "name": "Hash", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "parent_hash", - "type": 12, - "typeName": "Hash::Output" - }, - { - "name": "number", - "type": 122, - "typeName": "Number" - }, - { - "name": "state_root", - "type": 12, - "typeName": "Hash::Output" - }, - { - "name": "extrinsics_root", - "type": 12, - "typeName": "Hash::Output" - }, - { - "name": "digest", - "type": 14, - "typeName": "Digest" - } - ] - } - } - } - }, - { - "id": 221, - "type": { - "path": ["sp_session", "MembershipProof"], - "def": { - "composite": { - "fields": [ - { - "name": "session", - "type": 4, - "typeName": "SessionIndex" - }, - { - "name": "trie_nodes", - "type": 185, - "typeName": "Vec>" - }, - { - "name": "validator_count", - "type": 4, - "typeName": "ValidatorCount" - } - ] - } - } - } - }, - { - "id": 222, - "type": { - "path": ["pallet_babe", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "InvalidEquivocationProof", - "index": 0, - "docs": [ - "An equivocation proof provided as part of an equivocation report is invalid." - ] - }, - { - "name": "InvalidKeyOwnershipProof", - "index": 1, - "docs": [ - "A key ownership proof provided as part of an equivocation report is invalid." - ] - }, - { - "name": "DuplicateOffenceReport", - "index": 2, - "docs": [ - "A given equivocation report is valid but already previously reported." - ] - }, - { - "name": "InvalidConfiguration", - "index": 3, - "docs": ["Submitted configuration is invalid."] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 223, - "type": { - "path": ["pallet_timestamp", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "set", - "fields": [ - { - "name": "now", - "type": 10, - "typeName": "T::Moment" - } - ], - "index": 0, - "docs": ["See [`Pallet::set`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 224, - "type": { - "def": { - "tuple": [0, 6, 54] - } - } - }, - { - "id": 225, - "type": { - "path": ["pallet_indices", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "claim", - "fields": [ - { - "name": "index", - "type": 4, - "typeName": "T::AccountIndex" - } - ], - "index": 0, - "docs": ["See [`Pallet::claim`]."] - }, - { - "name": "transfer", - "fields": [ - { - "name": "new", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "index", - "type": 4, - "typeName": "T::AccountIndex" - } - ], - "index": 1, - "docs": ["See [`Pallet::transfer`]."] - }, - { - "name": "free", - "fields": [ - { - "name": "index", - "type": 4, - "typeName": "T::AccountIndex" - } - ], - "index": 2, - "docs": ["See [`Pallet::free`]."] - }, - { - "name": "force_transfer", - "fields": [ - { - "name": "new", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "index", - "type": 4, - "typeName": "T::AccountIndex" - }, - { - "name": "freeze", - "type": 54, - "typeName": "bool" - } - ], - "index": 3, - "docs": ["See [`Pallet::force_transfer`]."] - }, - { - "name": "freeze", - "fields": [ - { - "name": "index", - "type": 4, - "typeName": "T::AccountIndex" - } - ], - "index": 4, - "docs": ["See [`Pallet::freeze`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 226, - "type": { - "path": ["sp_runtime", "multiaddress", "MultiAddress"], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "AccountIndex", - "type": 47 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Id", - "fields": [ - { - "type": 0, - "typeName": "AccountId" - } - ], - "index": 0 - }, - { - "name": "Index", - "fields": [ - { - "type": 227, - "typeName": "AccountIndex" - } - ], - "index": 1 - }, - { - "name": "Raw", - "fields": [ - { - "type": 13, - "typeName": "Vec" - } - ], - "index": 2 - }, - { - "name": "Address32", - "fields": [ - { - "type": 1, - "typeName": "[u8; 32]" - } - ], - "index": 3 - }, - { - "name": "Address20", - "fields": [ - { - "type": 64, - "typeName": "[u8; 20]" - } - ], - "index": 4 - } - ] - } - } - } - }, - { - "id": 227, - "type": { - "def": { - "compact": { - "type": 47 - } - } - } - }, - { - "id": 228, - "type": { - "path": ["pallet_indices", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "NotAssigned", - "index": 0, - "docs": ["The index was not already assigned."] - }, - { - "name": "NotOwner", - "index": 1, - "docs": ["The index is assigned to another account."] - }, - { - "name": "InUse", - "index": 2, - "docs": ["The index was not available."] - }, - { - "name": "NotTransfer", - "index": 3, - "docs": [ - "The source and destination accounts are identical." - ] - }, - { - "name": "Permanent", - "index": 4, - "docs": [ - "The index is permanent and may not be freed/changed." - ] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 229, - "type": { - "path": [ - "bounded_collections", - "weak_bounded_vec", - "WeakBoundedVec" - ], - "params": [ - { - "name": "T", - "type": 230 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 232, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 230, - "type": { - "path": ["pallet_balances", "types", "BalanceLock"], - "params": [ - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "id", - "type": 137, - "typeName": "LockIdentifier" - }, - { - "name": "amount", - "type": 6, - "typeName": "Balance" - }, - { - "name": "reasons", - "type": 231, - "typeName": "Reasons" - } - ] - } - } - } - }, - { - "id": 231, - "type": { - "path": ["pallet_balances", "types", "Reasons"], - "def": { - "variant": { - "variants": [ - { - "name": "Fee", - "index": 0 - }, - { - "name": "Misc", - "index": 1 - }, - { - "name": "All", - "index": 2 - } - ] - } - } - } - }, - { - "id": 232, - "type": { - "def": { - "sequence": { - "type": 230 - } - } - } - }, - { - "id": 233, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 234 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 235, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 234, - "type": { - "path": ["pallet_balances", "types", "ReserveData"], - "params": [ - { - "name": "ReserveIdentifier", - "type": 137 - }, - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "id", - "type": 137, - "typeName": "ReserveIdentifier" - }, - { - "name": "amount", - "type": 6, - "typeName": "Balance" - } - ] - } - } - } - }, - { - "id": 235, - "type": { - "def": { - "sequence": { - "type": 234 - } - } - } - }, - { - "id": 236, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 237 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 241, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 237, - "type": { - "path": ["pallet_balances", "types", "IdAmount"], - "params": [ - { - "name": "Id", - "type": 238 - }, - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "id", - "type": 238, - "typeName": "Id" - }, - { - "name": "amount", - "type": 6, - "typeName": "Balance" - } - ] - } - } - } - }, - { - "id": 238, - "type": { - "path": ["rococo_runtime", "RuntimeHoldReason"], - "def": { - "variant": { - "variants": [ - { - "name": "Preimage", - "fields": [ - { - "type": 239, - "typeName": "pallet_preimage::HoldReason" - } - ], - "index": 32 - }, - { - "name": "Nis", - "fields": [ - { - "type": 240, - "typeName": "pallet_nis::HoldReason" - } - ], - "index": 38 - } - ] - } - } - } - }, - { - "id": 239, - "type": { - "path": ["pallet_preimage", "pallet", "HoldReason"], - "def": { - "variant": { - "variants": [ - { - "name": "Preimage", - "index": 0 - } - ] - } - } - } - }, - { - "id": 240, - "type": { - "path": ["pallet_nis", "pallet", "HoldReason"], - "def": { - "variant": { - "variants": [ - { - "name": "NftReceipt", - "index": 0 - } - ] - } - } - } - }, - { - "id": 241, - "type": { - "def": { - "sequence": { - "type": 237 - } - } - } - }, - { - "id": 242, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 243 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 244, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 243, - "type": { - "path": ["pallet_balances", "types", "IdAmount"], - "params": [ - { - "name": "Id", - "type": 47 - }, - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "id", - "type": 47, - "typeName": "Id" - }, - { - "name": "amount", - "type": 6, - "typeName": "Balance" - } - ] - } - } - } - }, - { - "id": 244, - "type": { - "def": { - "sequence": { - "type": 243 - } - } - } - }, - { - "id": 245, - "type": { - "path": ["pallet_balances", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "transfer_allow_death", - "fields": [ - { - "name": "dest", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "value", - "type": 125, - "typeName": "T::Balance" - } - ], - "index": 0, - "docs": ["See [`Pallet::transfer_allow_death`]."] - }, - { - "name": "force_transfer", - "fields": [ - { - "name": "source", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "dest", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "value", - "type": 125, - "typeName": "T::Balance" - } - ], - "index": 2, - "docs": ["See [`Pallet::force_transfer`]."] - }, - { - "name": "transfer_keep_alive", - "fields": [ - { - "name": "dest", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "value", - "type": 125, - "typeName": "T::Balance" - } - ], - "index": 3, - "docs": ["See [`Pallet::transfer_keep_alive`]."] - }, - { - "name": "transfer_all", - "fields": [ - { - "name": "dest", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "keep_alive", - "type": 54, - "typeName": "bool" - } - ], - "index": 4, - "docs": ["See [`Pallet::transfer_all`]."] - }, - { - "name": "force_unreserve", - "fields": [ - { - "name": "who", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 5, - "docs": ["See [`Pallet::force_unreserve`]."] - }, - { - "name": "upgrade_accounts", - "fields": [ - { - "name": "who", - "type": 68, - "typeName": "Vec" - } - ], - "index": 6, - "docs": ["See [`Pallet::upgrade_accounts`]."] - }, - { - "name": "force_set_balance", - "fields": [ - { - "name": "who", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "new_free", - "type": 125, - "typeName": "T::Balance" - } - ], - "index": 8, - "docs": ["See [`Pallet::force_set_balance`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 246, - "type": { - "path": ["pallet_balances", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "VestingBalance", - "index": 0, - "docs": ["Vesting balance too high to send value."] - }, - { - "name": "LiquidityRestrictions", - "index": 1, - "docs": [ - "Account liquidity restrictions prevent withdrawal." - ] - }, - { - "name": "InsufficientBalance", - "index": 2, - "docs": ["Balance too low to send value."] - }, - { - "name": "ExistentialDeposit", - "index": 3, - "docs": [ - "Value too low to create account due to existential deposit." - ] - }, - { - "name": "Expendability", - "index": 4, - "docs": ["Transfer/payment would kill account."] - }, - { - "name": "ExistingVestingSchedule", - "index": 5, - "docs": [ - "A vesting schedule already exists for this account." - ] - }, - { - "name": "DeadAccount", - "index": 6, - "docs": ["Beneficiary account must pre-exist."] - }, - { - "name": "TooManyReserves", - "index": 7, - "docs": ["Number of named reserves exceed `MaxReserves`."] - }, - { - "name": "TooManyHolds", - "index": 8, - "docs": ["Number of holds exceed `MaxHolds`."] - }, - { - "name": "TooManyFreezes", - "index": 9, - "docs": ["Number of freezes exceed `MaxFreezes`."] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 247, - "type": { - "path": ["pallet_transaction_payment", "Releases"], - "def": { - "variant": { - "variants": [ - { - "name": "V1Ancient", - "index": 0 - }, - { - "name": "V2", - "index": 1 - } - ] - } - } - } - }, - { - "id": 248, - "type": { - "path": ["sp_staking", "offence", "OffenceDetails"], - "params": [ - { - "name": "Reporter", - "type": 0 - }, - { - "name": "Offender", - "type": 46 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "offender", - "type": 46, - "typeName": "Offender" - }, - { - "name": "reporters", - "type": 68, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 249, - "type": { - "def": { - "tuple": [35, 13] - } - } - }, - { - "id": 250, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 251 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 254, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 251, - "type": { - "path": ["sp_consensus_beefy", "ecdsa_crypto", "Public"], - "def": { - "composite": { - "fields": [ - { - "type": 252, - "typeName": "ecdsa::Public" - } - ] - } - } - } - }, - { - "id": 252, - "type": { - "path": ["sp_core", "ecdsa", "Public"], - "def": { - "composite": { - "fields": [ - { - "type": 253, - "typeName": "[u8; 33]" - } - ] - } - } - } - }, - { - "id": 253, - "type": { - "def": { - "array": { - "len": 33, - "type": 2 - } - } - } - }, - { - "id": 254, - "type": { - "def": { - "sequence": { - "type": 251 - } - } - } - }, - { - "id": 255, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 4 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 4 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 256, - "type": { - "path": ["pallet_beefy", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "report_equivocation", - "fields": [ - { - "name": "equivocation_proof", - "type": 257, - "typeName": "Box, T::BeefyId,::Signature,>,>" - }, - { - "name": "key_owner_proof", - "type": 221, - "typeName": "T::KeyOwnerProof" - } - ], - "index": 0, - "docs": ["See [`Pallet::report_equivocation`]."] - }, - { - "name": "report_equivocation_unsigned", - "fields": [ - { - "name": "equivocation_proof", - "type": 257, - "typeName": "Box, T::BeefyId,::Signature,>,>" - }, - { - "name": "key_owner_proof", - "type": 221, - "typeName": "T::KeyOwnerProof" - } - ], - "index": 1, - "docs": ["See [`Pallet::report_equivocation_unsigned`]."] - }, - { - "name": "set_new_genesis", - "fields": [ - { - "name": "delay_in_blocks", - "type": 4, - "typeName": "BlockNumberFor" - } - ], - "index": 2, - "docs": ["See [`Pallet::set_new_genesis`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 257, - "type": { - "path": ["sp_consensus_beefy", "EquivocationProof"], - "params": [ - { - "name": "Number", - "type": 4 - }, - { - "name": "Id", - "type": 251 - }, - { - "name": "Signature", - "type": 258 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "first", - "type": 261, - "typeName": "VoteMessage" - }, - { - "name": "second", - "type": 261, - "typeName": "VoteMessage" - } - ] - } - } - } - }, - { - "id": 258, - "type": { - "path": ["sp_consensus_beefy", "ecdsa_crypto", "Signature"], - "def": { - "composite": { - "fields": [ - { - "type": 259, - "typeName": "ecdsa::Signature" - } - ] - } - } - } - }, - { - "id": 259, - "type": { - "path": ["sp_core", "ecdsa", "Signature"], - "def": { - "composite": { - "fields": [ - { - "type": 260, - "typeName": "[u8; 65]" - } - ] - } - } - } - }, - { - "id": 260, - "type": { - "def": { - "array": { - "len": 65, - "type": 2 - } - } - } - }, - { - "id": 261, - "type": { - "path": ["sp_consensus_beefy", "VoteMessage"], - "params": [ - { - "name": "Number", - "type": 4 - }, - { - "name": "Id", - "type": 251 - }, - { - "name": "Signature", - "type": 258 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "commitment", - "type": 262, - "typeName": "Commitment" - }, - { - "name": "id", - "type": 251, - "typeName": "Id" - }, - { - "name": "signature", - "type": 258, - "typeName": "Signature" - } - ] - } - } - } - }, - { - "id": 262, - "type": { - "path": ["sp_consensus_beefy", "commitment", "Commitment"], - "params": [ - { - "name": "TBlockNumber", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "payload", - "type": 263, - "typeName": "Payload" - }, - { - "name": "block_number", - "type": 4, - "typeName": "TBlockNumber" - }, - { - "name": "validator_set_id", - "type": 11, - "typeName": "ValidatorSetId" - } - ] - } - } - } - }, - { - "id": 263, - "type": { - "path": ["sp_consensus_beefy", "payload", "Payload"], - "def": { - "composite": { - "fields": [ - { - "type": 264, - "typeName": "Vec<(BeefyPayloadId, Vec)>" - } - ] - } - } - } - }, - { - "id": 264, - "type": { - "def": { - "sequence": { - "type": 265 - } - } - } - }, - { - "id": 265, - "type": { - "def": { - "tuple": [266, 13] - } - } - }, - { - "id": 266, - "type": { - "def": { - "array": { - "len": 2, - "type": 2 - } - } - } - }, - { - "id": 267, - "type": { - "path": ["pallet_beefy", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "InvalidKeyOwnershipProof", - "index": 0, - "docs": [ - "A key ownership proof provided as part of an equivocation report is invalid." - ] - }, - { - "name": "InvalidEquivocationProof", - "index": 1, - "docs": [ - "An equivocation proof provided as part of an equivocation report is invalid." - ] - }, - { - "name": "DuplicateOffenceReport", - "index": 2, - "docs": [ - "A given equivocation report is valid but already previously reported." - ] - }, - { - "name": "InvalidConfiguration", - "index": 3, - "docs": ["Submitted configuration is invalid."] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 268, - "type": { - "path": ["sp_consensus_beefy", "mmr", "BeefyAuthoritySet"], - "params": [ - { - "name": "AuthoritySetCommitment", - "type": 12 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "id", - "type": 11, - "typeName": "crate::ValidatorSetId" - }, - { - "name": "len", - "type": 4, - "typeName": "u32" - }, - { - "name": "keyset_commitment", - "type": 12, - "typeName": "AuthoritySetCommitment" - } - ] - } - } - } - }, - { - "id": 269, - "type": { - "def": { - "sequence": { - "type": 270 - } - } - } - }, - { - "id": 270, - "type": { - "def": { - "tuple": [0, 271] - } - } - }, - { - "id": 271, - "type": { - "path": ["rococo_runtime", "SessionKeys"], - "def": { - "composite": { - "fields": [ - { - "name": "grandpa", - "type": 40, - "typeName": "::Public" - }, - { - "name": "babe", - "type": 200, - "typeName": "::Public" - }, - { - "name": "im_online", - "type": 43, - "typeName": "::Public" - }, - { - "name": "para_validator", - "type": 272, - "typeName": "::Public" - }, - { - "name": "para_assignment", - "type": 273, - "typeName": "::Public" - }, - { - "name": "authority_discovery", - "type": 274, - "typeName": "::Public" - }, - { - "name": "beefy", - "type": 251, - "typeName": "::Public" - } - ] - } - } - } - }, - { - "id": 272, - "type": { - "path": ["polkadot_primitives", "v5", "validator_app", "Public"], - "def": { - "composite": { - "fields": [ - { - "type": 44, - "typeName": "sr25519::Public" - } - ] - } - } - } - }, - { - "id": 273, - "type": { - "path": ["polkadot_primitives", "v5", "assignment_app", "Public"], - "def": { - "composite": { - "fields": [ - { - "type": 44, - "typeName": "sr25519::Public" - } - ] - } - } - } - }, - { - "id": 274, - "type": { - "path": ["sp_authority_discovery", "app", "Public"], - "def": { - "composite": { - "fields": [ - { - "type": 44, - "typeName": "sr25519::Public" - } - ] - } - } - } - }, - { - "id": 275, - "type": { - "def": { - "sequence": { - "type": 4 - } - } - } - }, - { - "id": 276, - "type": { - "def": { - "tuple": [277, 13] - } - } - }, - { - "id": 277, - "type": { - "path": ["sp_core", "crypto", "KeyTypeId"], - "def": { - "composite": { - "fields": [ - { - "type": 17, - "typeName": "[u8; 4]" - } - ] - } - } - } - }, - { - "id": 278, - "type": { - "path": ["pallet_session", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "set_keys", - "fields": [ - { - "name": "keys", - "type": 271, - "typeName": "T::Keys" - }, - { - "name": "proof", - "type": 13, - "typeName": "Vec" - } - ], - "index": 0, - "docs": ["See [`Pallet::set_keys`]."] - }, - { - "name": "purge_keys", - "index": 1, - "docs": ["See [`Pallet::purge_keys`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 279, - "type": { - "path": ["pallet_session", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "InvalidProof", - "index": 0, - "docs": ["Invalid ownership proof."] - }, - { - "name": "NoAssociatedValidatorId", - "index": 1, - "docs": ["No associated validator ID for account."] - }, - { - "name": "DuplicatedKey", - "index": 2, - "docs": ["Registered duplicate key."] - }, - { - "name": "NoKeys", - "index": 3, - "docs": ["No keys are associated with this account."] - }, - { - "name": "NoAccount", - "index": 4, - "docs": [ - "Key setting account is not live, so it's impossible to associate keys." - ] - } - ] - } - }, - "docs": ["Error for the session pallet."] - } - }, - { - "id": 280, - "type": { - "path": ["pallet_grandpa", "StoredState"], - "params": [ - { - "name": "N", - "type": 4 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Live", - "index": 0 - }, - { - "name": "PendingPause", - "fields": [ - { - "name": "scheduled_at", - "type": 4, - "typeName": "N" - }, - { - "name": "delay", - "type": 4, - "typeName": "N" - } - ], - "index": 1 - }, - { - "name": "Paused", - "index": 2 - }, - { - "name": "PendingResume", - "fields": [ - { - "name": "scheduled_at", - "type": 4, - "typeName": "N" - }, - { - "name": "delay", - "type": 4, - "typeName": "N" - } - ], - "index": 3 - } - ] - } - } - } - }, - { - "id": 281, - "type": { - "path": ["pallet_grandpa", "StoredPendingChange"], - "params": [ - { - "name": "N", - "type": 4 - }, - { - "name": "Limit", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "scheduled_at", - "type": 4, - "typeName": "N" - }, - { - "name": "delay", - "type": 4, - "typeName": "N" - }, - { - "name": "next_authorities", - "type": 282, - "typeName": "BoundedAuthorityList" - }, - { - "name": "forced", - "type": 255, - "typeName": "Option" - } - ] - } - } - } - }, - { - "id": 282, - "type": { - "path": [ - "bounded_collections", - "weak_bounded_vec", - "WeakBoundedVec" - ], - "params": [ - { - "name": "T", - "type": 39 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 38, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 283, - "type": { - "path": ["pallet_grandpa", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "report_equivocation", - "fields": [ - { - "name": "equivocation_proof", - "type": 284, - "typeName": "Box>>" - }, - { - "name": "key_owner_proof", - "type": 221, - "typeName": "T::KeyOwnerProof" - } - ], - "index": 0, - "docs": ["See [`Pallet::report_equivocation`]."] - }, - { - "name": "report_equivocation_unsigned", - "fields": [ - { - "name": "equivocation_proof", - "type": 284, - "typeName": "Box>>" - }, - { - "name": "key_owner_proof", - "type": 221, - "typeName": "T::KeyOwnerProof" - } - ], - "index": 1, - "docs": ["See [`Pallet::report_equivocation_unsigned`]."] - }, - { - "name": "note_stalled", - "fields": [ - { - "name": "delay", - "type": 4, - "typeName": "BlockNumberFor" - }, - { - "name": "best_finalized_block_number", - "type": 4, - "typeName": "BlockNumberFor" - } - ], - "index": 2, - "docs": ["See [`Pallet::note_stalled`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 284, - "type": { - "path": ["sp_consensus_grandpa", "EquivocationProof"], - "params": [ - { - "name": "H", - "type": 12 - }, - { - "name": "N", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "set_id", - "type": 11, - "typeName": "SetId" - }, - { - "name": "equivocation", - "type": 285, - "typeName": "Equivocation" - } - ] - } - } - } - }, - { - "id": 285, - "type": { - "path": ["sp_consensus_grandpa", "Equivocation"], - "params": [ - { - "name": "H", - "type": 12 - }, - { - "name": "N", - "type": 4 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Prevote", - "fields": [ - { - "type": 286, - "typeName": "grandpa::Equivocation,\nAuthoritySignature>" - } - ], - "index": 0 - }, - { - "name": "Precommit", - "fields": [ - { - "type": 291, - "typeName": "grandpa::Equivocation,\nAuthoritySignature>" - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 286, - "type": { - "path": ["finality_grandpa", "Equivocation"], - "params": [ - { - "name": "Id", - "type": 40 - }, - { - "name": "V", - "type": 287 - }, - { - "name": "S", - "type": 288 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "round_number", - "type": 11, - "typeName": "u64" - }, - { - "name": "identity", - "type": 40, - "typeName": "Id" - }, - { - "name": "first", - "type": 290, - "typeName": "(V, S)" - }, - { - "name": "second", - "type": 290, - "typeName": "(V, S)" - } - ] - } - } - } - }, - { - "id": 287, - "type": { - "path": ["finality_grandpa", "Prevote"], - "params": [ - { - "name": "H", - "type": 12 - }, - { - "name": "N", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "target_hash", - "type": 12, - "typeName": "H" - }, - { - "name": "target_number", - "type": 4, - "typeName": "N" - } - ] - } - } - } - }, - { - "id": 288, - "type": { - "path": ["sp_consensus_grandpa", "app", "Signature"], - "def": { - "composite": { - "fields": [ - { - "type": 289, - "typeName": "ed25519::Signature" - } - ] - } - } - } - }, - { - "id": 289, - "type": { - "path": ["sp_core", "ed25519", "Signature"], - "def": { - "composite": { - "fields": [ - { - "type": 94, - "typeName": "[u8; 64]" - } - ] - } - } - } - }, - { - "id": 290, - "type": { - "def": { - "tuple": [287, 288] - } - } - }, - { - "id": 291, - "type": { - "path": ["finality_grandpa", "Equivocation"], - "params": [ - { - "name": "Id", - "type": 40 - }, - { - "name": "V", - "type": 292 - }, - { - "name": "S", - "type": 288 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "round_number", - "type": 11, - "typeName": "u64" - }, - { - "name": "identity", - "type": 40, - "typeName": "Id" - }, - { - "name": "first", - "type": 293, - "typeName": "(V, S)" - }, - { - "name": "second", - "type": 293, - "typeName": "(V, S)" - } - ] - } - } - } - }, - { - "id": 292, - "type": { - "path": ["finality_grandpa", "Precommit"], - "params": [ - { - "name": "H", - "type": 12 - }, - { - "name": "N", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "target_hash", - "type": 12, - "typeName": "H" - }, - { - "name": "target_number", - "type": 4, - "typeName": "N" - } - ] - } - } - } - }, - { - "id": 293, - "type": { - "def": { - "tuple": [292, 288] - } - } - }, - { - "id": 294, - "type": { - "path": ["pallet_grandpa", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "PauseFailed", - "index": 0, - "docs": [ - "Attempt to signal GRANDPA pause when the authority set isn't live", - "(either paused or already pending pause)." - ] - }, - { - "name": "ResumeFailed", - "index": 1, - "docs": [ - "Attempt to signal GRANDPA resume when the authority set isn't paused", - "(either live or already pending resume)." - ] - }, - { - "name": "ChangePending", - "index": 2, - "docs": [ - "Attempt to signal GRANDPA change with one already pending." - ] - }, - { - "name": "TooSoon", - "index": 3, - "docs": [ - "Cannot signal forced change so soon after last." - ] - }, - { - "name": "InvalidKeyOwnershipProof", - "index": 4, - "docs": [ - "A key ownership proof provided as part of an equivocation report is invalid." - ] - }, - { - "name": "InvalidEquivocationProof", - "index": 5, - "docs": [ - "An equivocation proof provided as part of an equivocation report is invalid." - ] - }, - { - "name": "DuplicateOffenceReport", - "index": 6, - "docs": [ - "A given equivocation report is valid but already previously reported." - ] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 295, - "type": { - "path": [ - "bounded_collections", - "weak_bounded_vec", - "WeakBoundedVec" - ], - "params": [ - { - "name": "T", - "type": 43 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 296, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 296, - "type": { - "def": { - "sequence": { - "type": 43 - } - } - } - }, - { - "id": 297, - "type": { - "def": { - "tuple": [4, 0] - } - } - }, - { - "id": 298, - "type": { - "path": ["pallet_im_online", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "heartbeat", - "fields": [ - { - "name": "heartbeat", - "type": 299, - "typeName": "Heartbeat>" - }, - { - "name": "signature", - "type": 300, - "typeName": "::Signature" - } - ], - "index": 0, - "docs": ["See [`Pallet::heartbeat`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 299, - "type": { - "path": ["pallet_im_online", "Heartbeat"], - "params": [ - { - "name": "BlockNumber", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "block_number", - "type": 4, - "typeName": "BlockNumber" - }, - { - "name": "session_index", - "type": 4, - "typeName": "SessionIndex" - }, - { - "name": "authority_index", - "type": 4, - "typeName": "AuthIndex" - }, - { - "name": "validators_len", - "type": 4, - "typeName": "u32" - } - ] - } - } - } - }, - { - "id": 300, - "type": { - "path": [ - "pallet_im_online", - "sr25519", - "app_sr25519", - "Signature" - ], - "def": { - "composite": { - "fields": [ - { - "type": 93, - "typeName": "sr25519::Signature" - } - ] - } - } - } - }, - { - "id": 301, - "type": { - "path": ["pallet_im_online", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "InvalidKey", - "index": 0, - "docs": ["Non existent public key."] - }, - { - "name": "DuplicatedHeartbeat", - "index": 1, - "docs": ["Duplicated heartbeat."] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 302, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 303 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 478, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 303, - "type": { - "def": { - "tuple": [4, 304, 0] - } - } - }, - { - "id": 304, - "type": { - "path": ["frame_support", "traits", "preimages", "Bounded"], - "params": [ - { - "name": "T", - "type": 305 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Legacy", - "fields": [ - { - "name": "hash", - "type": 12, - "typeName": "Hash" - } - ], - "index": 0 - }, - { - "name": "Inline", - "fields": [ - { - "type": 477, - "typeName": "BoundedInline" - } - ], - "index": 1 - }, - { - "name": "Lookup", - "fields": [ - { - "name": "hash", - "type": 12, - "typeName": "Hash" - }, - { - "name": "len", - "type": 4, - "typeName": "u32" - } - ], - "index": 2 - } - ] - } - } - } - }, - { - "id": 305, - "type": { - "path": ["rococo_runtime", "RuntimeCall"], - "def": { - "variant": { - "variants": [ - { - "name": "System", - "fields": [ - { - "type": 182, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 0 - }, - { - "name": "Babe", - "fields": [ - { - "type": 218, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 1 - }, - { - "name": "Timestamp", - "fields": [ - { - "type": 223, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 2 - }, - { - "name": "Indices", - "fields": [ - { - "type": 225, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 3 - }, - { - "name": "Balances", - "fields": [ - { - "type": 245, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 4 - }, - { - "name": "Beefy", - "fields": [ - { - "type": 256, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 240 - }, - { - "name": "Session", - "fields": [ - { - "type": 278, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 8 - }, - { - "name": "Grandpa", - "fields": [ - { - "type": 283, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 10 - }, - { - "name": "ImOnline", - "fields": [ - { - "type": 298, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 11 - }, - { - "name": "Democracy", - "fields": [ - { - "type": 306, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 13 - }, - { - "name": "Council", - "fields": [ - { - "type": 309, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 14 - }, - { - "name": "TechnicalCommittee", - "fields": [ - { - "type": 310, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 15 - }, - { - "name": "PhragmenElection", - "fields": [ - { - "type": 311, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 16 - }, - { - "name": "TechnicalMembership", - "fields": [ - { - "type": 313, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 17 - }, - { - "name": "Treasury", - "fields": [ - { - "type": 314, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 18 - }, - { - "name": "Claims", - "fields": [ - { - "type": 315, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 19 - }, - { - "name": "Utility", - "fields": [ - { - "type": 321, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 24 - }, - { - "name": "Identity", - "fields": [ - { - "type": 330, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 25 - }, - { - "name": "Society", - "fields": [ - { - "type": 369, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 26 - }, - { - "name": "Recovery", - "fields": [ - { - "type": 370, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 27 - }, - { - "name": "Vesting", - "fields": [ - { - "type": 371, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 28 - }, - { - "name": "Scheduler", - "fields": [ - { - "type": 373, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 29 - }, - { - "name": "Proxy", - "fields": [ - { - "type": 375, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 30 - }, - { - "name": "Multisig", - "fields": [ - { - "type": 377, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 31 - }, - { - "name": "Preimage", - "fields": [ - { - "type": 379, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 32 - }, - { - "name": "Bounties", - "fields": [ - { - "type": 380, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 35 - }, - { - "name": "ChildBounties", - "fields": [ - { - "type": 381, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 40 - }, - { - "name": "Tips", - "fields": [ - { - "type": 382, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 36 - }, - { - "name": "Nis", - "fields": [ - { - "type": 383, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 38 - }, - { - "name": "NisCounterpartBalances", - "fields": [ - { - "type": 385, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 45 - }, - { - "name": "Configuration", - "fields": [ - { - "type": 386, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 51 - }, - { - "name": "ParasShared", - "fields": [ - { - "type": 394, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 52 - }, - { - "name": "ParaInclusion", - "fields": [ - { - "type": 395, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 53 - }, - { - "name": "ParaInherent", - "fields": [ - { - "type": 396, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 54 - }, - { - "name": "Paras", - "fields": [ - { - "type": 424, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 56 - }, - { - "name": "Initializer", - "fields": [ - { - "type": 426, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 57 - }, - { - "name": "Hrmp", - "fields": [ - { - "type": 427, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 60 - }, - { - "name": "ParasDisputes", - "fields": [ - { - "type": 428, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 62 - }, - { - "name": "ParasSlashing", - "fields": [ - { - "type": 429, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 63 - }, - { - "name": "MessageQueue", - "fields": [ - { - "type": 433, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 64 - }, - { - "name": "OnDemandAssignmentProvider", - "fields": [ - { - "type": 434, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 66 - }, - { - "name": "Registrar", - "fields": [ - { - "type": 435, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 70 - }, - { - "name": "Slots", - "fields": [ - { - "type": 436, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 71 - }, - { - "name": "Auctions", - "fields": [ - { - "type": 437, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 72 - }, - { - "name": "Crowdloan", - "fields": [ - { - "type": 439, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 73 - }, - { - "name": "XcmPallet", - "fields": [ - { - "type": 444, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 99 - }, - { - "name": "ParasSudoWrapper", - "fields": [ - { - "type": 465, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 250 - }, - { - "name": "AssignedSlots", - "fields": [ - { - "type": 467, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 251 - }, - { - "name": "ValidatorManager", - "fields": [ - { - "type": 469, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 252 - }, - { - "name": "StateTrieMigration", - "fields": [ - { - "type": 470, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 254 - }, - { - "name": "Sudo", - "fields": [ - { - "type": 476, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" - } - ], - "index": 255 - } - ] - } - } - } - }, - { - "id": 306, - "type": { - "path": ["pallet_democracy", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "propose", - "fields": [ - { - "name": "proposal", - "type": 304, - "typeName": "BoundedCallOf" - }, - { - "name": "value", - "type": 125, - "typeName": "BalanceOf" - } - ], - "index": 0, - "docs": ["See [`Pallet::propose`]."] - }, - { - "name": "second", - "fields": [ - { - "name": "proposal", - "type": 122, - "typeName": "PropIndex" - } - ], - "index": 1, - "docs": ["See [`Pallet::second`]."] - }, - { - "name": "vote", - "fields": [ - { - "name": "ref_index", - "type": 122, - "typeName": "ReferendumIndex" - }, - { - "name": "vote", - "type": 50, - "typeName": "AccountVote>" - } - ], - "index": 2, - "docs": ["See [`Pallet::vote`]."] - }, - { - "name": "emergency_cancel", - "fields": [ - { - "name": "ref_index", - "type": 4, - "typeName": "ReferendumIndex" - } - ], - "index": 3, - "docs": ["See [`Pallet::emergency_cancel`]."] - }, - { - "name": "external_propose", - "fields": [ - { - "name": "proposal", - "type": 304, - "typeName": "BoundedCallOf" - } - ], - "index": 4, - "docs": ["See [`Pallet::external_propose`]."] - }, - { - "name": "external_propose_majority", - "fields": [ - { - "name": "proposal", - "type": 304, - "typeName": "BoundedCallOf" - } - ], - "index": 5, - "docs": ["See [`Pallet::external_propose_majority`]."] - }, - { - "name": "external_propose_default", - "fields": [ - { - "name": "proposal", - "type": 304, - "typeName": "BoundedCallOf" - } - ], - "index": 6, - "docs": ["See [`Pallet::external_propose_default`]."] - }, - { - "name": "fast_track", - "fields": [ - { - "name": "proposal_hash", - "type": 12, - "typeName": "H256" - }, - { - "name": "voting_period", - "type": 4, - "typeName": "BlockNumberFor" - }, - { - "name": "delay", - "type": 4, - "typeName": "BlockNumberFor" - } - ], - "index": 7, - "docs": ["See [`Pallet::fast_track`]."] - }, - { - "name": "veto_external", - "fields": [ - { - "name": "proposal_hash", - "type": 12, - "typeName": "H256" - } - ], - "index": 8, - "docs": ["See [`Pallet::veto_external`]."] - }, - { - "name": "cancel_referendum", - "fields": [ - { - "name": "ref_index", - "type": 122, - "typeName": "ReferendumIndex" - } - ], - "index": 9, - "docs": ["See [`Pallet::cancel_referendum`]."] - }, - { - "name": "delegate", - "fields": [ - { - "name": "to", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "conviction", - "type": 307, - "typeName": "Conviction" - }, - { - "name": "balance", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 10, - "docs": ["See [`Pallet::delegate`]."] - }, - { - "name": "undelegate", - "index": 11, - "docs": ["See [`Pallet::undelegate`]."] - }, - { - "name": "clear_public_proposals", - "index": 12, - "docs": ["See [`Pallet::clear_public_proposals`]."] - }, - { - "name": "unlock", - "fields": [ - { - "name": "target", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 13, - "docs": ["See [`Pallet::unlock`]."] - }, - { - "name": "remove_vote", - "fields": [ - { - "name": "index", - "type": 4, - "typeName": "ReferendumIndex" - } - ], - "index": 14, - "docs": ["See [`Pallet::remove_vote`]."] - }, - { - "name": "remove_other_vote", - "fields": [ - { - "name": "target", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "index", - "type": 4, - "typeName": "ReferendumIndex" - } - ], - "index": 15, - "docs": ["See [`Pallet::remove_other_vote`]."] - }, - { - "name": "blacklist", - "fields": [ - { - "name": "proposal_hash", - "type": 12, - "typeName": "H256" - }, - { - "name": "maybe_ref_index", - "type": 255, - "typeName": "Option" - } - ], - "index": 16, - "docs": ["See [`Pallet::blacklist`]."] - }, - { - "name": "cancel_proposal", - "fields": [ - { - "name": "prop_index", - "type": 122, - "typeName": "PropIndex" - } - ], - "index": 17, - "docs": ["See [`Pallet::cancel_proposal`]."] - }, - { - "name": "set_metadata", - "fields": [ - { - "name": "owner", - "type": 52, - "typeName": "MetadataOwner" - }, - { - "name": "maybe_hash", - "type": 308, - "typeName": "Option" - } - ], - "index": 18, - "docs": ["See [`Pallet::set_metadata`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 307, - "type": { - "path": ["pallet_democracy", "conviction", "Conviction"], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Locked1x", - "index": 1 - }, - { - "name": "Locked2x", - "index": 2 - }, - { - "name": "Locked3x", - "index": 3 - }, - { - "name": "Locked4x", - "index": 4 - }, - { - "name": "Locked5x", - "index": 5 - }, - { - "name": "Locked6x", - "index": 6 - } - ] - } - } - } - }, - { - "id": 308, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 12 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 12 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 309, - "type": { - "path": ["pallet_collective", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "set_members", - "fields": [ - { - "name": "new_members", - "type": 68, - "typeName": "Vec" - }, - { - "name": "prime", - "type": 176, - "typeName": "Option" - }, - { - "name": "old_count", - "type": 4, - "typeName": "MemberCount" - } - ], - "index": 0, - "docs": ["See [`Pallet::set_members`]."] - }, - { - "name": "execute", - "fields": [ - { - "name": "proposal", - "type": 305, - "typeName": "Box<>::Proposal>" - }, - { - "name": "length_bound", - "type": 122, - "typeName": "u32" - } - ], - "index": 1, - "docs": ["See [`Pallet::execute`]."] - }, - { - "name": "propose", - "fields": [ - { - "name": "threshold", - "type": 122, - "typeName": "MemberCount" - }, - { - "name": "proposal", - "type": 305, - "typeName": "Box<>::Proposal>" - }, - { - "name": "length_bound", - "type": 122, - "typeName": "u32" - } - ], - "index": 2, - "docs": ["See [`Pallet::propose`]."] - }, - { - "name": "vote", - "fields": [ - { - "name": "proposal", - "type": 12, - "typeName": "T::Hash" - }, - { - "name": "index", - "type": 122, - "typeName": "ProposalIndex" - }, - { - "name": "approve", - "type": 54, - "typeName": "bool" - } - ], - "index": 3, - "docs": ["See [`Pallet::vote`]."] - }, - { - "name": "disapprove_proposal", - "fields": [ - { - "name": "proposal_hash", - "type": 12, - "typeName": "T::Hash" - } - ], - "index": 5, - "docs": ["See [`Pallet::disapprove_proposal`]."] - }, - { - "name": "close", - "fields": [ - { - "name": "proposal_hash", - "type": 12, - "typeName": "T::Hash" - }, - { - "name": "index", - "type": 122, - "typeName": "ProposalIndex" - }, - { - "name": "proposal_weight_bound", - "type": 9, - "typeName": "Weight" - }, - { - "name": "length_bound", - "type": 122, - "typeName": "u32" - } - ], - "index": 6, - "docs": ["See [`Pallet::close`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 310, - "type": { - "path": ["pallet_collective", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "set_members", - "fields": [ - { - "name": "new_members", - "type": 68, - "typeName": "Vec" - }, - { - "name": "prime", - "type": 176, - "typeName": "Option" - }, - { - "name": "old_count", - "type": 4, - "typeName": "MemberCount" - } - ], - "index": 0, - "docs": ["See [`Pallet::set_members`]."] - }, - { - "name": "execute", - "fields": [ - { - "name": "proposal", - "type": 305, - "typeName": "Box<>::Proposal>" - }, - { - "name": "length_bound", - "type": 122, - "typeName": "u32" - } - ], - "index": 1, - "docs": ["See [`Pallet::execute`]."] - }, - { - "name": "propose", - "fields": [ - { - "name": "threshold", - "type": 122, - "typeName": "MemberCount" - }, - { - "name": "proposal", - "type": 305, - "typeName": "Box<>::Proposal>" - }, - { - "name": "length_bound", - "type": 122, - "typeName": "u32" - } - ], - "index": 2, - "docs": ["See [`Pallet::propose`]."] - }, - { - "name": "vote", - "fields": [ - { - "name": "proposal", - "type": 12, - "typeName": "T::Hash" - }, - { - "name": "index", - "type": 122, - "typeName": "ProposalIndex" - }, - { - "name": "approve", - "type": 54, - "typeName": "bool" - } - ], - "index": 3, - "docs": ["See [`Pallet::vote`]."] - }, - { - "name": "disapprove_proposal", - "fields": [ - { - "name": "proposal_hash", - "type": 12, - "typeName": "T::Hash" - } - ], - "index": 5, - "docs": ["See [`Pallet::disapprove_proposal`]."] - }, - { - "name": "close", - "fields": [ - { - "name": "proposal_hash", - "type": 12, - "typeName": "T::Hash" - }, - { - "name": "index", - "type": 122, - "typeName": "ProposalIndex" - }, - { - "name": "proposal_weight_bound", - "type": 9, - "typeName": "Weight" - }, - { - "name": "length_bound", - "type": 122, - "typeName": "u32" - } - ], - "index": 6, - "docs": ["See [`Pallet::close`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 311, - "type": { - "path": ["pallet_elections_phragmen", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "vote", - "fields": [ - { - "name": "votes", - "type": 68, - "typeName": "Vec" - }, - { - "name": "value", - "type": 125, - "typeName": "BalanceOf" - } - ], - "index": 0, - "docs": ["See [`Pallet::vote`]."] - }, - { - "name": "remove_voter", - "index": 1, - "docs": ["See [`Pallet::remove_voter`]."] - }, - { - "name": "submit_candidacy", - "fields": [ - { - "name": "candidate_count", - "type": 122, - "typeName": "u32" - } - ], - "index": 2, - "docs": ["See [`Pallet::submit_candidacy`]."] - }, - { - "name": "renounce_candidacy", - "fields": [ - { - "name": "renouncing", - "type": 312, - "typeName": "Renouncing" - } - ], - "index": 3, - "docs": ["See [`Pallet::renounce_candidacy`]."] - }, - { - "name": "remove_member", - "fields": [ - { - "name": "who", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "slash_bond", - "type": 54, - "typeName": "bool" - }, - { - "name": "rerun_election", - "type": 54, - "typeName": "bool" - } - ], - "index": 4, - "docs": ["See [`Pallet::remove_member`]."] - }, - { - "name": "clean_defunct_voters", - "fields": [ - { - "name": "num_voters", - "type": 4, - "typeName": "u32" - }, - { - "name": "num_defunct", - "type": 4, - "typeName": "u32" - } - ], - "index": 5, - "docs": ["See [`Pallet::clean_defunct_voters`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 312, - "type": { - "path": ["pallet_elections_phragmen", "Renouncing"], - "def": { - "variant": { - "variants": [ - { - "name": "Member", - "index": 0 - }, - { - "name": "RunnerUp", - "index": 1 - }, - { - "name": "Candidate", - "fields": [ - { - "type": 122, - "typeName": "u32" - } - ], - "index": 2 - } - ] - } - } - } - }, - { - "id": 313, - "type": { - "path": ["pallet_membership", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "add_member", - "fields": [ - { - "name": "who", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 0, - "docs": ["See [`Pallet::add_member`]."] - }, - { - "name": "remove_member", - "fields": [ - { - "name": "who", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 1, - "docs": ["See [`Pallet::remove_member`]."] - }, - { - "name": "swap_member", - "fields": [ - { - "name": "remove", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "add", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 2, - "docs": ["See [`Pallet::swap_member`]."] - }, - { - "name": "reset_members", - "fields": [ - { - "name": "members", - "type": 68, - "typeName": "Vec" - } - ], - "index": 3, - "docs": ["See [`Pallet::reset_members`]."] - }, - { - "name": "change_key", - "fields": [ - { - "name": "new", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 4, - "docs": ["See [`Pallet::change_key`]."] - }, - { - "name": "set_prime", - "fields": [ - { - "name": "who", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 5, - "docs": ["See [`Pallet::set_prime`]."] - }, - { - "name": "clear_prime", - "index": 6, - "docs": ["See [`Pallet::clear_prime`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 314, - "type": { - "path": ["pallet_treasury", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "propose_spend", - "fields": [ - { - "name": "value", - "type": 125, - "typeName": "BalanceOf" - }, - { - "name": "beneficiary", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 0, - "docs": ["See [`Pallet::propose_spend`]."] - }, - { - "name": "reject_proposal", - "fields": [ - { - "name": "proposal_id", - "type": 122, - "typeName": "ProposalIndex" - } - ], - "index": 1, - "docs": ["See [`Pallet::reject_proposal`]."] - }, - { - "name": "approve_proposal", - "fields": [ - { - "name": "proposal_id", - "type": 122, - "typeName": "ProposalIndex" - } - ], - "index": 2, - "docs": ["See [`Pallet::approve_proposal`]."] - }, - { - "name": "spend", - "fields": [ - { - "name": "amount", - "type": 125, - "typeName": "BalanceOf" - }, - { - "name": "beneficiary", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 3, - "docs": ["See [`Pallet::spend`]."] - }, - { - "name": "remove_approval", - "fields": [ - { - "name": "proposal_id", - "type": 122, - "typeName": "ProposalIndex" - } - ], - "index": 4, - "docs": ["See [`Pallet::remove_approval`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 315, - "type": { - "path": ["polkadot_runtime_common", "claims", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "claim", - "fields": [ - { - "name": "dest", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "ethereum_signature", - "type": 316, - "typeName": "EcdsaSignature" - } - ], - "index": 0, - "docs": ["See [`Pallet::claim`]."] - }, - { - "name": "mint_claim", - "fields": [ - { - "name": "who", - "type": 63, - "typeName": "EthereumAddress" - }, - { - "name": "value", - "type": 6, - "typeName": "BalanceOf" - }, - { - "name": "vesting_schedule", - "type": 317, - "typeName": "Option<(BalanceOf, BalanceOf, BlockNumberFor)>" - }, - { - "name": "statement", - "type": 319, - "typeName": "Option" - } - ], - "index": 1, - "docs": ["See [`Pallet::mint_claim`]."] - }, - { - "name": "claim_attest", - "fields": [ - { - "name": "dest", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "ethereum_signature", - "type": 316, - "typeName": "EcdsaSignature" - }, - { - "name": "statement", - "type": 13, - "typeName": "Vec" - } - ], - "index": 2, - "docs": ["See [`Pallet::claim_attest`]."] - }, - { - "name": "attest", - "fields": [ - { - "name": "statement", - "type": 13, - "typeName": "Vec" - } - ], - "index": 3, - "docs": ["See [`Pallet::attest`]."] - }, - { - "name": "move_claim", - "fields": [ - { - "name": "old", - "type": 63, - "typeName": "EthereumAddress" - }, - { - "name": "new", - "type": 63, - "typeName": "EthereumAddress" - }, - { - "name": "maybe_preclaim", - "type": 176, - "typeName": "Option" - } - ], - "index": 4, - "docs": ["See [`Pallet::move_claim`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 316, - "type": { - "path": ["polkadot_runtime_common", "claims", "EcdsaSignature"], - "def": { - "composite": { - "fields": [ - { - "type": 260, - "typeName": "[u8; 65]" - } - ] - } - } - } - }, - { - "id": 317, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 318 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 318 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 318, - "type": { - "def": { - "tuple": [6, 6, 4] - } - } - }, - { - "id": 319, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 320 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 320 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 320, - "type": { - "path": ["polkadot_runtime_common", "claims", "StatementKind"], - "def": { - "variant": { - "variants": [ - { - "name": "Regular", - "index": 0 - }, - { - "name": "Saft", - "index": 1 - } - ] - } - } - } - }, - { - "id": 321, - "type": { - "path": ["pallet_utility", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "batch", - "fields": [ - { - "name": "calls", - "type": 322, - "typeName": "Vec<::RuntimeCall>" - } - ], - "index": 0, - "docs": ["See [`Pallet::batch`]."] - }, - { - "name": "as_derivative", - "fields": [ - { - "name": "index", - "type": 77, - "typeName": "u16" - }, - { - "name": "call", - "type": 305, - "typeName": "Box<::RuntimeCall>" - } - ], - "index": 1, - "docs": ["See [`Pallet::as_derivative`]."] - }, - { - "name": "batch_all", - "fields": [ - { - "name": "calls", - "type": 322, - "typeName": "Vec<::RuntimeCall>" - } - ], - "index": 2, - "docs": ["See [`Pallet::batch_all`]."] - }, - { - "name": "dispatch_as", - "fields": [ - { - "name": "as_origin", - "type": 323, - "typeName": "Box" - }, - { - "name": "call", - "type": 305, - "typeName": "Box<::RuntimeCall>" - } - ], - "index": 3, - "docs": ["See [`Pallet::dispatch_as`]."] - }, - { - "name": "force_batch", - "fields": [ - { - "name": "calls", - "type": 322, - "typeName": "Vec<::RuntimeCall>" - } - ], - "index": 4, - "docs": ["See [`Pallet::force_batch`]."] - }, - { - "name": "with_weight", - "fields": [ - { - "name": "call", - "type": 305, - "typeName": "Box<::RuntimeCall>" - }, - { - "name": "weight", - "type": 9, - "typeName": "Weight" - } - ], - "index": 5, - "docs": ["See [`Pallet::with_weight`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 322, - "type": { - "def": { - "sequence": { - "type": 305 - } - } - } - }, - { - "id": 323, - "type": { - "path": ["rococo_runtime", "OriginCaller"], - "def": { - "variant": { - "variants": [ - { - "name": "system", - "fields": [ - { - "type": 324, - "typeName": "frame_system::Origin" - } - ], - "index": 0 - }, - { - "name": "Council", - "fields": [ - { - "type": 325, - "typeName": "pallet_collective::Origin" - } - ], - "index": 14 - }, - { - "name": "TechnicalCommittee", - "fields": [ - { - "type": 326, - "typeName": "pallet_collective::Origin" - } - ], - "index": 15 - }, - { - "name": "ParachainsOrigin", - "fields": [ - { - "type": 327, - "typeName": "parachains_origin::Origin" - } - ], - "index": 50 - }, - { - "name": "XcmPallet", - "fields": [ - { - "type": 328, - "typeName": "pallet_xcm::Origin" - } - ], - "index": 99 - }, - { - "name": "Void", - "fields": [ - { - "type": 329, - "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::\n__private::Void" - } - ], - "index": 5 - } - ] - } - } - } - }, - { - "id": 324, - "type": { - "path": ["frame_support", "dispatch", "RawOrigin"], - "params": [ - { - "name": "AccountId", - "type": 0 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Root", - "index": 0 - }, - { - "name": "Signed", - "fields": [ - { - "type": 0, - "typeName": "AccountId" - } - ], - "index": 1 - }, - { - "name": "None", - "index": 2 - } - ] - } - } - } - }, - { - "id": 325, - "type": { - "path": ["pallet_collective", "RawOrigin"], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Members", - "fields": [ - { - "type": 4, - "typeName": "MemberCount" - }, - { - "type": 4, - "typeName": "MemberCount" - } - ], - "index": 0 - }, - { - "name": "Member", - "fields": [ - { - "type": 0, - "typeName": "AccountId" - } - ], - "index": 1 - }, - { - "name": "_Phantom", - "index": 2 - } - ] - } - } - } - }, - { - "id": 326, - "type": { - "path": ["pallet_collective", "RawOrigin"], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Members", - "fields": [ - { - "type": 4, - "typeName": "MemberCount" - }, - { - "type": 4, - "typeName": "MemberCount" - } - ], - "index": 0 - }, - { - "name": "Member", - "fields": [ - { - "type": 0, - "typeName": "AccountId" - } - ], - "index": 1 - }, - { - "name": "_Phantom", - "index": 2 - } - ] - } - } - } - }, - { - "id": 327, - "type": { - "path": [ - "polkadot_runtime_parachains", - "origin", - "pallet", - "Origin" - ], - "def": { - "variant": { - "variants": [ - { - "name": "Parachain", - "fields": [ - { - "type": 90, - "typeName": "ParaId" - } - ], - "index": 0 - } - ] - } - } - } - }, - { - "id": 328, - "type": { - "path": ["pallet_xcm", "pallet", "Origin"], - "def": { - "variant": { - "variants": [ - { - "name": "Xcm", - "fields": [ - { - "type": 119, - "typeName": "MultiLocation" - } - ], - "index": 0 - }, - { - "name": "Response", - "fields": [ - { - "type": 119, - "typeName": "MultiLocation" - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 329, - "type": { - "path": ["sp_core", "Void"], - "def": { - "variant": {} - } - } - }, - { - "id": 330, - "type": { - "path": ["pallet_identity", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "add_registrar", - "fields": [ - { - "name": "account", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 0, - "docs": ["See [`Pallet::add_registrar`]."] - }, - { - "name": "set_identity", - "fields": [ - { - "name": "info", - "type": 331, - "typeName": "Box>" - } - ], - "index": 1, - "docs": ["See [`Pallet::set_identity`]."] - }, - { - "name": "set_subs", - "fields": [ - { - "name": "subs", - "type": 364, - "typeName": "Vec<(T::AccountId, Data)>" - } - ], - "index": 2, - "docs": ["See [`Pallet::set_subs`]."] - }, - { - "name": "clear_identity", - "index": 3, - "docs": ["See [`Pallet::clear_identity`]."] - }, - { - "name": "request_judgement", - "fields": [ - { - "name": "reg_index", - "type": 122, - "typeName": "RegistrarIndex" - }, - { - "name": "max_fee", - "type": 125, - "typeName": "BalanceOf" - } - ], - "index": 4, - "docs": ["See [`Pallet::request_judgement`]."] - }, - { - "name": "cancel_request", - "fields": [ - { - "name": "reg_index", - "type": 4, - "typeName": "RegistrarIndex" - } - ], - "index": 5, - "docs": ["See [`Pallet::cancel_request`]."] - }, - { - "name": "set_fee", - "fields": [ - { - "name": "index", - "type": 122, - "typeName": "RegistrarIndex" - }, - { - "name": "fee", - "type": 125, - "typeName": "BalanceOf" - } - ], - "index": 6, - "docs": ["See [`Pallet::set_fee`]."] - }, - { - "name": "set_account_id", - "fields": [ - { - "name": "index", - "type": 122, - "typeName": "RegistrarIndex" - }, - { - "name": "new", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 7, - "docs": ["See [`Pallet::set_account_id`]."] - }, - { - "name": "set_fields", - "fields": [ - { - "name": "index", - "type": 122, - "typeName": "RegistrarIndex" - }, - { - "name": "fields", - "type": 366, - "typeName": "IdentityFields" - } - ], - "index": 8, - "docs": ["See [`Pallet::set_fields`]."] - }, - { - "name": "provide_judgement", - "fields": [ - { - "name": "reg_index", - "type": 122, - "typeName": "RegistrarIndex" - }, - { - "name": "target", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "judgement", - "type": 368, - "typeName": "Judgement>" - }, - { - "name": "identity", - "type": 12, - "typeName": "T::Hash" - } - ], - "index": 9, - "docs": ["See [`Pallet::provide_judgement`]."] - }, - { - "name": "kill_identity", - "fields": [ - { - "name": "target", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 10, - "docs": ["See [`Pallet::kill_identity`]."] - }, - { - "name": "add_sub", - "fields": [ - { - "name": "sub", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "data", - "type": 334, - "typeName": "Data" - } - ], - "index": 11, - "docs": ["See [`Pallet::add_sub`]."] - }, - { - "name": "rename_sub", - "fields": [ - { - "name": "sub", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "data", - "type": 334, - "typeName": "Data" - } - ], - "index": 12, - "docs": ["See [`Pallet::rename_sub`]."] - }, - { - "name": "remove_sub", - "fields": [ - { - "name": "sub", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 13, - "docs": ["See [`Pallet::remove_sub`]."] - }, - { - "name": "quit_sub", - "index": 14, - "docs": ["See [`Pallet::quit_sub`]."] - } - ] - } - }, - "docs": ["Identity pallet declaration."] - } - }, - { - "id": 331, - "type": { - "path": ["pallet_identity", "types", "IdentityInfo"], - "params": [ - { - "name": "FieldLimit", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "additional", - "type": 332, - "typeName": "BoundedVec<(Data, Data), FieldLimit>" - }, - { - "name": "display", - "type": 334, - "typeName": "Data" - }, - { - "name": "legal", - "type": 334, - "typeName": "Data" - }, - { - "name": "web", - "type": 334, - "typeName": "Data" - }, - { - "name": "riot", - "type": 334, - "typeName": "Data" - }, - { - "name": "email", - "type": 334, - "typeName": "Data" - }, - { - "name": "pgp_fingerprint", - "type": 363, - "typeName": "Option<[u8; 20]>" - }, - { - "name": "image", - "type": 334, - "typeName": "Data" - }, - { - "name": "twitter", - "type": 334, - "typeName": "Data" - } - ] - } - } - } - }, - { - "id": 332, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 333 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 362, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 333, - "type": { - "def": { - "tuple": [334, 334] - } - } - }, - { - "id": 334, - "type": { - "path": ["pallet_identity", "types", "Data"], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Raw0", - "fields": [ - { - "type": 335 - } - ], - "index": 1 - }, - { - "name": "Raw1", - "fields": [ - { - "type": 336 - } - ], - "index": 2 - }, - { - "name": "Raw2", - "fields": [ - { - "type": 266 - } - ], - "index": 3 - }, - { - "name": "Raw3", - "fields": [ - { - "type": 337 - } - ], - "index": 4 - }, - { - "name": "Raw4", - "fields": [ - { - "type": 17 - } - ], - "index": 5 - }, - { - "name": "Raw5", - "fields": [ - { - "type": 338 - } - ], - "index": 6 - }, - { - "name": "Raw6", - "fields": [ - { - "type": 339 - } - ], - "index": 7 - }, - { - "name": "Raw7", - "fields": [ - { - "type": 340 - } - ], - "index": 8 - }, - { - "name": "Raw8", - "fields": [ - { - "type": 137 - } - ], - "index": 9 - }, - { - "name": "Raw9", - "fields": [ - { - "type": 341 - } - ], - "index": 10 - }, - { - "name": "Raw10", - "fields": [ - { - "type": 342 - } - ], - "index": 11 - }, - { - "name": "Raw11", - "fields": [ - { - "type": 343 - } - ], - "index": 12 - }, - { - "name": "Raw12", - "fields": [ - { - "type": 344 - } - ], - "index": 13 - }, - { - "name": "Raw13", - "fields": [ - { - "type": 345 - } - ], - "index": 14 - }, - { - "name": "Raw14", - "fields": [ - { - "type": 346 - } - ], - "index": 15 - }, - { - "name": "Raw15", - "fields": [ - { - "type": 347 - } - ], - "index": 16 - }, - { - "name": "Raw16", - "fields": [ - { - "type": 35 - } - ], - "index": 17 - }, - { - "name": "Raw17", - "fields": [ - { - "type": 348 - } - ], - "index": 18 - }, - { - "name": "Raw18", - "fields": [ - { - "type": 349 - } - ], - "index": 19 - }, - { - "name": "Raw19", - "fields": [ - { - "type": 350 - } - ], - "index": 20 - }, - { - "name": "Raw20", - "fields": [ - { - "type": 64 - } - ], - "index": 21 - }, - { - "name": "Raw21", - "fields": [ - { - "type": 351 - } - ], - "index": 22 - }, - { - "name": "Raw22", - "fields": [ - { - "type": 352 - } - ], - "index": 23 - }, - { - "name": "Raw23", - "fields": [ - { - "type": 353 - } - ], - "index": 24 - }, - { - "name": "Raw24", - "fields": [ - { - "type": 354 - } - ], - "index": 25 - }, - { - "name": "Raw25", - "fields": [ - { - "type": 355 - } - ], - "index": 26 - }, - { - "name": "Raw26", - "fields": [ - { - "type": 356 - } - ], - "index": 27 - }, - { - "name": "Raw27", - "fields": [ - { - "type": 357 - } - ], - "index": 28 - }, - { - "name": "Raw28", - "fields": [ - { - "type": 358 - } - ], - "index": 29 - }, - { - "name": "Raw29", - "fields": [ - { - "type": 359 - } - ], - "index": 30 - }, - { - "name": "Raw30", - "fields": [ - { - "type": 360 - } - ], - "index": 31 - }, - { - "name": "Raw31", - "fields": [ - { - "type": 361 - } - ], - "index": 32 - }, - { - "name": "Raw32", - "fields": [ - { - "type": 1 - } - ], - "index": 33 - }, - { - "name": "BlakeTwo256", - "fields": [ - { - "type": 1 - } - ], - "index": 34 - }, - { - "name": "Sha256", - "fields": [ - { - "type": 1 - } - ], - "index": 35 - }, - { - "name": "Keccak256", - "fields": [ - { - "type": 1 - } - ], - "index": 36 - }, - { - "name": "ShaThree256", - "fields": [ - { - "type": 1 - } - ], - "index": 37 - } - ] - } - } - } - }, - { - "id": 335, - "type": { - "def": { - "array": { - "len": 0, - "type": 2 - } - } - } - }, - { - "id": 336, - "type": { - "def": { - "array": { - "len": 1, - "type": 2 - } - } - } - }, - { - "id": 337, - "type": { - "def": { - "array": { - "len": 3, - "type": 2 - } - } - } - }, - { - "id": 338, - "type": { - "def": { - "array": { - "len": 5, - "type": 2 - } - } - } - }, - { - "id": 339, - "type": { - "def": { - "array": { - "len": 6, - "type": 2 - } - } - } - }, - { - "id": 340, - "type": { - "def": { - "array": { - "len": 7, - "type": 2 - } - } - } - }, - { - "id": 341, - "type": { - "def": { - "array": { - "len": 9, - "type": 2 - } - } - } - }, - { - "id": 342, - "type": { - "def": { - "array": { - "len": 10, - "type": 2 - } - } - } - }, - { - "id": 343, - "type": { - "def": { - "array": { - "len": 11, - "type": 2 - } - } - } - }, - { - "id": 344, - "type": { - "def": { - "array": { - "len": 12, - "type": 2 - } - } - } - }, - { - "id": 345, - "type": { - "def": { - "array": { - "len": 13, - "type": 2 - } - } - } - }, - { - "id": 346, - "type": { - "def": { - "array": { - "len": 14, - "type": 2 - } - } - } - }, - { - "id": 347, - "type": { - "def": { - "array": { - "len": 15, - "type": 2 - } - } - } - }, - { - "id": 348, - "type": { - "def": { - "array": { - "len": 17, - "type": 2 - } - } - } - }, - { - "id": 349, - "type": { - "def": { - "array": { - "len": 18, - "type": 2 - } - } - } - }, - { - "id": 350, - "type": { - "def": { - "array": { - "len": 19, - "type": 2 - } - } - } - }, - { - "id": 351, - "type": { - "def": { - "array": { - "len": 21, - "type": 2 - } - } - } - }, - { - "id": 352, - "type": { - "def": { - "array": { - "len": 22, - "type": 2 - } - } - } - }, - { - "id": 353, - "type": { - "def": { - "array": { - "len": 23, - "type": 2 - } - } - } - }, - { - "id": 354, - "type": { - "def": { - "array": { - "len": 24, - "type": 2 - } - } - } - }, - { - "id": 355, - "type": { - "def": { - "array": { - "len": 25, - "type": 2 - } - } - } - }, - { - "id": 356, - "type": { - "def": { - "array": { - "len": 26, - "type": 2 - } - } - } - }, - { - "id": 357, - "type": { - "def": { - "array": { - "len": 27, - "type": 2 - } - } - } - }, - { - "id": 358, - "type": { - "def": { - "array": { - "len": 28, - "type": 2 - } - } - } - }, - { - "id": 359, - "type": { - "def": { - "array": { - "len": 29, - "type": 2 - } - } - } - }, - { - "id": 360, - "type": { - "def": { - "array": { - "len": 30, - "type": 2 - } - } - } - }, - { - "id": 361, - "type": { - "def": { - "array": { - "len": 31, - "type": 2 - } - } - } - }, - { - "id": 362, - "type": { - "def": { - "sequence": { - "type": 333 - } - } - } - }, - { - "id": 363, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 64 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 64 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 364, - "type": { - "def": { - "sequence": { - "type": 365 - } - } - } - }, - { - "id": 365, - "type": { - "def": { - "tuple": [0, 334] - } - } - }, - { - "id": 366, - "type": { - "path": ["pallet_identity", "types", "BitFlags"], - "params": [ - { - "name": "T", - "type": 367 - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 11, - "typeName": "IdentityField" - } - ] - } - } - } - }, - { - "id": 367, - "type": { - "path": ["pallet_identity", "types", "IdentityField"], - "def": { - "variant": { - "variants": [ - { - "name": "Display", - "index": 1 - }, - { - "name": "Legal", - "index": 2 - }, - { - "name": "Web", - "index": 4 - }, - { - "name": "Riot", - "index": 8 - }, - { - "name": "Email", - "index": 16 - }, - { - "name": "PgpFingerprint", - "index": 32 - }, - { - "name": "Image", - "index": 64 - }, - { - "name": "Twitter", - "index": 128 - } - ] - } - } - } - }, - { - "id": 368, - "type": { - "path": ["pallet_identity", "types", "Judgement"], - "params": [ - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Unknown", - "index": 0 - }, - { - "name": "FeePaid", - "fields": [ - { - "type": 6, - "typeName": "Balance" - } - ], - "index": 1 - }, - { - "name": "Reasonable", - "index": 2 - }, - { - "name": "KnownGood", - "index": 3 - }, - { - "name": "OutOfDate", - "index": 4 - }, - { - "name": "LowQuality", - "index": 5 - }, - { - "name": "Erroneous", - "index": 6 - } - ] - } - } - } - }, - { - "id": 369, - "type": { - "path": ["pallet_society", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "bid", - "fields": [ - { - "name": "value", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 0, - "docs": ["See [`Pallet::bid`]."] - }, - { - "name": "unbid", - "index": 1, - "docs": ["See [`Pallet::unbid`]."] - }, - { - "name": "vouch", - "fields": [ - { - "name": "who", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "value", - "type": 6, - "typeName": "BalanceOf" - }, - { - "name": "tip", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 2, - "docs": ["See [`Pallet::vouch`]."] - }, - { - "name": "unvouch", - "index": 3, - "docs": ["See [`Pallet::unvouch`]."] - }, - { - "name": "vote", - "fields": [ - { - "name": "candidate", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "approve", - "type": 54, - "typeName": "bool" - } - ], - "index": 4, - "docs": ["See [`Pallet::vote`]."] - }, - { - "name": "defender_vote", - "fields": [ - { - "name": "approve", - "type": 54, - "typeName": "bool" - } - ], - "index": 5, - "docs": ["See [`Pallet::defender_vote`]."] - }, - { - "name": "payout", - "index": 6, - "docs": ["See [`Pallet::payout`]."] - }, - { - "name": "waive_repay", - "fields": [ - { - "name": "amount", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 7, - "docs": ["See [`Pallet::waive_repay`]."] - }, - { - "name": "found_society", - "fields": [ - { - "name": "founder", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "max_members", - "type": 4, - "typeName": "u32" - }, - { - "name": "max_intake", - "type": 4, - "typeName": "u32" - }, - { - "name": "max_strikes", - "type": 4, - "typeName": "u32" - }, - { - "name": "candidate_deposit", - "type": 6, - "typeName": "BalanceOf" - }, - { - "name": "rules", - "type": 13, - "typeName": "Vec" - } - ], - "index": 8, - "docs": ["See [`Pallet::found_society`]."] - }, - { - "name": "dissolve", - "index": 9, - "docs": ["See [`Pallet::dissolve`]."] - }, - { - "name": "judge_suspended_member", - "fields": [ - { - "name": "who", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "forgive", - "type": 54, - "typeName": "bool" - } - ], - "index": 10, - "docs": ["See [`Pallet::judge_suspended_member`]."] - }, - { - "name": "set_parameters", - "fields": [ - { - "name": "max_members", - "type": 4, - "typeName": "u32" - }, - { - "name": "max_intake", - "type": 4, - "typeName": "u32" - }, - { - "name": "max_strikes", - "type": 4, - "typeName": "u32" - }, - { - "name": "candidate_deposit", - "type": 6, - "typeName": "BalanceOf" - } - ], - "index": 11, - "docs": ["See [`Pallet::set_parameters`]."] - }, - { - "name": "punish_skeptic", - "index": 12, - "docs": ["See [`Pallet::punish_skeptic`]."] - }, - { - "name": "claim_membership", - "index": 13, - "docs": ["See [`Pallet::claim_membership`]."] - }, - { - "name": "bestow_membership", - "fields": [ - { - "name": "candidate", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 14, - "docs": ["See [`Pallet::bestow_membership`]."] - }, - { - "name": "kick_candidate", - "fields": [ - { - "name": "candidate", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 15, - "docs": ["See [`Pallet::kick_candidate`]."] - }, - { - "name": "resign_candidacy", - "index": 16, - "docs": ["See [`Pallet::resign_candidacy`]."] - }, - { - "name": "drop_candidate", - "fields": [ - { - "name": "candidate", - "type": 0, - "typeName": "T::AccountId" - } - ], - "index": 17, - "docs": ["See [`Pallet::drop_candidate`]."] - }, - { - "name": "cleanup_candidacy", - "fields": [ - { - "name": "candidate", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "max", - "type": 4, - "typeName": "u32" - } - ], - "index": 18, - "docs": ["See [`Pallet::cleanup_candidacy`]."] - }, - { - "name": "cleanup_challenge", - "fields": [ - { - "name": "challenge_round", - "type": 4, - "typeName": "RoundIndex" - }, - { - "name": "max", - "type": 4, - "typeName": "u32" - } - ], - "index": 19, - "docs": ["See [`Pallet::cleanup_challenge`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 370, - "type": { - "path": ["pallet_recovery", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "as_recovered", - "fields": [ - { - "name": "account", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "call", - "type": 305, - "typeName": "Box<::RuntimeCall>" - } - ], - "index": 0, - "docs": ["See [`Pallet::as_recovered`]."] - }, - { - "name": "set_recovered", - "fields": [ - { - "name": "lost", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "rescuer", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 1, - "docs": ["See [`Pallet::set_recovered`]."] - }, - { - "name": "create_recovery", - "fields": [ - { - "name": "friends", - "type": 68, - "typeName": "Vec" - }, - { - "name": "threshold", - "type": 77, - "typeName": "u16" - }, - { - "name": "delay_period", - "type": 4, - "typeName": "BlockNumberFor" - } - ], - "index": 2, - "docs": ["See [`Pallet::create_recovery`]."] - }, - { - "name": "initiate_recovery", - "fields": [ - { - "name": "account", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 3, - "docs": ["See [`Pallet::initiate_recovery`]."] - }, - { - "name": "vouch_recovery", - "fields": [ - { - "name": "lost", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "rescuer", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 4, - "docs": ["See [`Pallet::vouch_recovery`]."] - }, - { - "name": "claim_recovery", - "fields": [ - { - "name": "account", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 5, - "docs": ["See [`Pallet::claim_recovery`]."] - }, - { - "name": "close_recovery", - "fields": [ - { - "name": "rescuer", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 6, - "docs": ["See [`Pallet::close_recovery`]."] - }, - { - "name": "remove_recovery", - "index": 7, - "docs": ["See [`Pallet::remove_recovery`]."] - }, - { - "name": "cancel_recovered", - "fields": [ - { - "name": "account", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 8, - "docs": ["See [`Pallet::cancel_recovered`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 371, - "type": { - "path": ["pallet_vesting", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "vest", - "index": 0, - "docs": ["See [`Pallet::vest`]."] - }, - { - "name": "vest_other", - "fields": [ - { - "name": "target", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 1, - "docs": ["See [`Pallet::vest_other`]."] - }, - { - "name": "vested_transfer", - "fields": [ - { - "name": "target", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "schedule", - "type": 372, - "typeName": "VestingInfo, BlockNumberFor>" - } - ], - "index": 2, - "docs": ["See [`Pallet::vested_transfer`]."] - }, - { - "name": "force_vested_transfer", - "fields": [ - { - "name": "source", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "target", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "schedule", - "type": 372, - "typeName": "VestingInfo, BlockNumberFor>" - } - ], - "index": 3, - "docs": ["See [`Pallet::force_vested_transfer`]."] - }, - { - "name": "merge_schedules", - "fields": [ - { - "name": "schedule1_index", - "type": 4, - "typeName": "u32" - }, - { - "name": "schedule2_index", - "type": 4, - "typeName": "u32" - } - ], - "index": 4, - "docs": ["See [`Pallet::merge_schedules`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 372, - "type": { - "path": ["pallet_vesting", "vesting_info", "VestingInfo"], - "params": [ - { - "name": "Balance", - "type": 6 - }, - { - "name": "BlockNumber", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "locked", - "type": 6, - "typeName": "Balance" - }, - { - "name": "per_block", - "type": 6, - "typeName": "Balance" - }, - { - "name": "starting_block", - "type": 4, - "typeName": "BlockNumber" - } - ] - } - } - } - }, - { - "id": 373, - "type": { - "path": ["pallet_scheduler", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "schedule", - "fields": [ - { - "name": "when", - "type": 4, - "typeName": "BlockNumberFor" - }, - { - "name": "maybe_periodic", - "type": 374, - "typeName": "Option>>" - }, - { - "name": "priority", - "type": 2, - "typeName": "schedule::Priority" - }, - { - "name": "call", - "type": 305, - "typeName": "Box<::RuntimeCall>" - } - ], - "index": 0, - "docs": ["See [`Pallet::schedule`]."] - }, - { - "name": "cancel", - "fields": [ - { - "name": "when", - "type": 4, - "typeName": "BlockNumberFor" - }, - { - "name": "index", - "type": 4, - "typeName": "u32" - } - ], - "index": 1, - "docs": ["See [`Pallet::cancel`]."] - }, - { - "name": "schedule_named", - "fields": [ - { - "name": "id", - "type": 1, - "typeName": "TaskName" - }, - { - "name": "when", - "type": 4, - "typeName": "BlockNumberFor" - }, - { - "name": "maybe_periodic", - "type": 374, - "typeName": "Option>>" - }, - { - "name": "priority", - "type": 2, - "typeName": "schedule::Priority" - }, - { - "name": "call", - "type": 305, - "typeName": "Box<::RuntimeCall>" - } - ], - "index": 2, - "docs": ["See [`Pallet::schedule_named`]."] - }, - { - "name": "cancel_named", - "fields": [ - { - "name": "id", - "type": 1, - "typeName": "TaskName" - } - ], - "index": 3, - "docs": ["See [`Pallet::cancel_named`]."] - }, - { - "name": "schedule_after", - "fields": [ - { - "name": "after", - "type": 4, - "typeName": "BlockNumberFor" - }, - { - "name": "maybe_periodic", - "type": 374, - "typeName": "Option>>" - }, - { - "name": "priority", - "type": 2, - "typeName": "schedule::Priority" - }, - { - "name": "call", - "type": 305, - "typeName": "Box<::RuntimeCall>" - } - ], - "index": 4, - "docs": ["See [`Pallet::schedule_after`]."] - }, - { - "name": "schedule_named_after", - "fields": [ - { - "name": "id", - "type": 1, - "typeName": "TaskName" - }, - { - "name": "after", - "type": 4, - "typeName": "BlockNumberFor" - }, - { - "name": "maybe_periodic", - "type": 374, - "typeName": "Option>>" - }, - { - "name": "priority", - "type": 2, - "typeName": "schedule::Priority" - }, - { - "name": "call", - "type": 305, - "typeName": "Box<::RuntimeCall>" - } - ], - "index": 5, - "docs": ["See [`Pallet::schedule_named_after`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 374, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 73 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 73 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 375, - "type": { - "path": ["pallet_proxy", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "proxy", - "fields": [ - { - "name": "real", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "force_proxy_type", - "type": 376, - "typeName": "Option" - }, - { - "name": "call", - "type": 305, - "typeName": "Box<::RuntimeCall>" - } - ], - "index": 0, - "docs": ["See [`Pallet::proxy`]."] - }, - { - "name": "add_proxy", - "fields": [ - { - "name": "delegate", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "proxy_type", - "type": 76, - "typeName": "T::ProxyType" - }, - { - "name": "delay", - "type": 4, - "typeName": "BlockNumberFor" - } - ], - "index": 1, - "docs": ["See [`Pallet::add_proxy`]."] - }, - { - "name": "remove_proxy", - "fields": [ - { - "name": "delegate", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "proxy_type", - "type": 76, - "typeName": "T::ProxyType" - }, - { - "name": "delay", - "type": 4, - "typeName": "BlockNumberFor" - } - ], - "index": 2, - "docs": ["See [`Pallet::remove_proxy`]."] - }, - { - "name": "remove_proxies", - "index": 3, - "docs": ["See [`Pallet::remove_proxies`]."] - }, - { - "name": "create_pure", - "fields": [ - { - "name": "proxy_type", - "type": 76, - "typeName": "T::ProxyType" - }, - { - "name": "delay", - "type": 4, - "typeName": "BlockNumberFor" - }, - { - "name": "index", - "type": 77, - "typeName": "u16" - } - ], - "index": 4, - "docs": ["See [`Pallet::create_pure`]."] - }, - { - "name": "kill_pure", - "fields": [ - { - "name": "spawner", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "proxy_type", - "type": 76, - "typeName": "T::ProxyType" - }, - { - "name": "index", - "type": 77, - "typeName": "u16" - }, - { - "name": "height", - "type": 122, - "typeName": "BlockNumberFor" - }, - { - "name": "ext_index", - "type": 122, - "typeName": "u32" - } - ], - "index": 5, - "docs": ["See [`Pallet::kill_pure`]."] - }, - { - "name": "announce", - "fields": [ - { - "name": "real", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "call_hash", - "type": 12, - "typeName": "CallHashOf" - } - ], - "index": 6, - "docs": ["See [`Pallet::announce`]."] - }, - { - "name": "remove_announcement", - "fields": [ - { - "name": "real", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "call_hash", - "type": 12, - "typeName": "CallHashOf" - } - ], - "index": 7, - "docs": ["See [`Pallet::remove_announcement`]."] - }, - { - "name": "reject_announcement", - "fields": [ - { - "name": "delegate", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "call_hash", - "type": 12, - "typeName": "CallHashOf" - } - ], - "index": 8, - "docs": ["See [`Pallet::reject_announcement`]."] - }, - { - "name": "proxy_announced", - "fields": [ - { - "name": "delegate", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "real", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "force_proxy_type", - "type": 376, - "typeName": "Option" - }, - { - "name": "call", - "type": 305, - "typeName": "Box<::RuntimeCall>" - } - ], - "index": 9, - "docs": ["See [`Pallet::proxy_announced`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 376, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 76 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 76 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 377, - "type": { - "path": ["pallet_multisig", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "as_multi_threshold_1", - "fields": [ - { - "name": "other_signatories", - "type": 68, - "typeName": "Vec" - }, - { - "name": "call", - "type": 305, - "typeName": "Box<::RuntimeCall>" - } - ], - "index": 0, - "docs": ["See [`Pallet::as_multi_threshold_1`]."] - }, - { - "name": "as_multi", - "fields": [ - { - "name": "threshold", - "type": 77, - "typeName": "u16" - }, - { - "name": "other_signatories", - "type": 68, - "typeName": "Vec" - }, - { - "name": "maybe_timepoint", - "type": 378, - "typeName": "Option>>" - }, - { - "name": "call", - "type": 305, - "typeName": "Box<::RuntimeCall>" - }, - { - "name": "max_weight", - "type": 9, - "typeName": "Weight" - } - ], - "index": 1, - "docs": ["See [`Pallet::as_multi`]."] - }, - { - "name": "approve_as_multi", - "fields": [ - { - "name": "threshold", - "type": 77, - "typeName": "u16" - }, - { - "name": "other_signatories", - "type": 68, - "typeName": "Vec" - }, - { - "name": "maybe_timepoint", - "type": 378, - "typeName": "Option>>" - }, - { - "name": "call_hash", - "type": 1, - "typeName": "[u8; 32]" - }, - { - "name": "max_weight", - "type": 9, - "typeName": "Weight" - } - ], - "index": 2, - "docs": ["See [`Pallet::approve_as_multi`]."] - }, - { - "name": "cancel_as_multi", - "fields": [ - { - "name": "threshold", - "type": 77, - "typeName": "u16" - }, - { - "name": "other_signatories", - "type": 68, - "typeName": "Vec" - }, - { - "name": "timepoint", - "type": 79, - "typeName": "Timepoint>" - }, - { - "name": "call_hash", - "type": 1, - "typeName": "[u8; 32]" - } - ], - "index": 3, - "docs": ["See [`Pallet::cancel_as_multi`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 378, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 79 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 79 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 379, - "type": { - "path": ["pallet_preimage", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "note_preimage", - "fields": [ - { - "name": "bytes", - "type": 13, - "typeName": "Vec" - } - ], - "index": 0, - "docs": ["See [`Pallet::note_preimage`]."] - }, - { - "name": "unnote_preimage", - "fields": [ - { - "name": "hash", - "type": 12, - "typeName": "T::Hash" - } - ], - "index": 1, - "docs": ["See [`Pallet::unnote_preimage`]."] - }, - { - "name": "request_preimage", - "fields": [ - { - "name": "hash", - "type": 12, - "typeName": "T::Hash" - } - ], - "index": 2, - "docs": ["See [`Pallet::request_preimage`]."] - }, - { - "name": "unrequest_preimage", - "fields": [ - { - "name": "hash", - "type": 12, - "typeName": "T::Hash" - } - ], - "index": 3, - "docs": ["See [`Pallet::unrequest_preimage`]."] - }, - { - "name": "ensure_updated", - "fields": [ - { - "name": "hashes", - "type": 178, - "typeName": "Vec" - } - ], - "index": 4, - "docs": ["See [`Pallet::ensure_updated`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 380, - "type": { - "path": ["pallet_bounties", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "propose_bounty", - "fields": [ - { - "name": "value", - "type": 125, - "typeName": "BalanceOf" - }, - { - "name": "description", - "type": 13, - "typeName": "Vec" - } - ], - "index": 0, - "docs": ["See [`Pallet::propose_bounty`]."] - }, - { - "name": "approve_bounty", - "fields": [ - { - "name": "bounty_id", - "type": 122, - "typeName": "BountyIndex" - } - ], - "index": 1, - "docs": ["See [`Pallet::approve_bounty`]."] - }, - { - "name": "propose_curator", - "fields": [ - { - "name": "bounty_id", - "type": 122, - "typeName": "BountyIndex" - }, - { - "name": "curator", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "fee", - "type": 125, - "typeName": "BalanceOf" - } - ], - "index": 2, - "docs": ["See [`Pallet::propose_curator`]."] - }, - { - "name": "unassign_curator", - "fields": [ - { - "name": "bounty_id", - "type": 122, - "typeName": "BountyIndex" - } - ], - "index": 3, - "docs": ["See [`Pallet::unassign_curator`]."] - }, - { - "name": "accept_curator", - "fields": [ - { - "name": "bounty_id", - "type": 122, - "typeName": "BountyIndex" - } - ], - "index": 4, - "docs": ["See [`Pallet::accept_curator`]."] - }, - { - "name": "award_bounty", - "fields": [ - { - "name": "bounty_id", - "type": 122, - "typeName": "BountyIndex" - }, - { - "name": "beneficiary", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 5, - "docs": ["See [`Pallet::award_bounty`]."] - }, - { - "name": "claim_bounty", - "fields": [ - { - "name": "bounty_id", - "type": 122, - "typeName": "BountyIndex" - } - ], - "index": 6, - "docs": ["See [`Pallet::claim_bounty`]."] - }, - { - "name": "close_bounty", - "fields": [ - { - "name": "bounty_id", - "type": 122, - "typeName": "BountyIndex" - } - ], - "index": 7, - "docs": ["See [`Pallet::close_bounty`]."] - }, - { - "name": "extend_bounty_expiry", - "fields": [ - { - "name": "bounty_id", - "type": 122, - "typeName": "BountyIndex" - }, - { - "name": "remark", - "type": 13, - "typeName": "Vec" - } - ], - "index": 8, - "docs": ["See [`Pallet::extend_bounty_expiry`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 381, - "type": { - "path": ["pallet_child_bounties", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "add_child_bounty", - "fields": [ - { - "name": "parent_bounty_id", - "type": 122, - "typeName": "BountyIndex" - }, - { - "name": "value", - "type": 125, - "typeName": "BalanceOf" - }, - { - "name": "description", - "type": 13, - "typeName": "Vec" - } - ], - "index": 0, - "docs": ["See [`Pallet::add_child_bounty`]."] - }, - { - "name": "propose_curator", - "fields": [ - { - "name": "parent_bounty_id", - "type": 122, - "typeName": "BountyIndex" - }, - { - "name": "child_bounty_id", - "type": 122, - "typeName": "BountyIndex" - }, - { - "name": "curator", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "fee", - "type": 125, - "typeName": "BalanceOf" - } - ], - "index": 1, - "docs": ["See [`Pallet::propose_curator`]."] - }, - { - "name": "accept_curator", - "fields": [ - { - "name": "parent_bounty_id", - "type": 122, - "typeName": "BountyIndex" - }, - { - "name": "child_bounty_id", - "type": 122, - "typeName": "BountyIndex" - } - ], - "index": 2, - "docs": ["See [`Pallet::accept_curator`]."] - }, - { - "name": "unassign_curator", - "fields": [ - { - "name": "parent_bounty_id", - "type": 122, - "typeName": "BountyIndex" - }, - { - "name": "child_bounty_id", - "type": 122, - "typeName": "BountyIndex" - } - ], - "index": 3, - "docs": ["See [`Pallet::unassign_curator`]."] - }, - { - "name": "award_child_bounty", - "fields": [ - { - "name": "parent_bounty_id", - "type": 122, - "typeName": "BountyIndex" - }, - { - "name": "child_bounty_id", - "type": 122, - "typeName": "BountyIndex" - }, - { - "name": "beneficiary", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 4, - "docs": ["See [`Pallet::award_child_bounty`]."] - }, - { - "name": "claim_child_bounty", - "fields": [ - { - "name": "parent_bounty_id", - "type": 122, - "typeName": "BountyIndex" - }, - { - "name": "child_bounty_id", - "type": 122, - "typeName": "BountyIndex" - } - ], - "index": 5, - "docs": ["See [`Pallet::claim_child_bounty`]."] - }, - { - "name": "close_child_bounty", - "fields": [ - { - "name": "parent_bounty_id", - "type": 122, - "typeName": "BountyIndex" - }, - { - "name": "child_bounty_id", - "type": 122, - "typeName": "BountyIndex" - } - ], - "index": 6, - "docs": ["See [`Pallet::close_child_bounty`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 382, - "type": { - "path": ["pallet_tips", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "report_awesome", - "fields": [ - { - "name": "reason", - "type": 13, - "typeName": "Vec" - }, - { - "name": "who", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 0, - "docs": ["See [`Pallet::report_awesome`]."] - }, - { - "name": "retract_tip", - "fields": [ - { - "name": "hash", - "type": 12, - "typeName": "T::Hash" - } - ], - "index": 1, - "docs": ["See [`Pallet::retract_tip`]."] - }, - { - "name": "tip_new", - "fields": [ - { - "name": "reason", - "type": 13, - "typeName": "Vec" - }, - { - "name": "who", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "tip_value", - "type": 125, - "typeName": "BalanceOf" - } - ], - "index": 2, - "docs": ["See [`Pallet::tip_new`]."] - }, - { - "name": "tip", - "fields": [ - { - "name": "hash", - "type": 12, - "typeName": "T::Hash" - }, - { - "name": "tip_value", - "type": 125, - "typeName": "BalanceOf" - } - ], - "index": 3, - "docs": ["See [`Pallet::tip`]."] - }, - { - "name": "close_tip", - "fields": [ - { - "name": "hash", - "type": 12, - "typeName": "T::Hash" - } - ], - "index": 4, - "docs": ["See [`Pallet::close_tip`]."] - }, - { - "name": "slash_tip", - "fields": [ - { - "name": "hash", - "type": 12, - "typeName": "T::Hash" - } - ], - "index": 5, - "docs": ["See [`Pallet::slash_tip`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 383, - "type": { - "path": ["pallet_nis", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "place_bid", - "fields": [ - { - "name": "amount", - "type": 125, - "typeName": "BalanceOf" - }, - { - "name": "duration", - "type": 4, - "typeName": "u32" - } - ], - "index": 0, - "docs": ["See [`Pallet::place_bid`]."] - }, - { - "name": "retract_bid", - "fields": [ - { - "name": "amount", - "type": 125, - "typeName": "BalanceOf" - }, - { - "name": "duration", - "type": 4, - "typeName": "u32" - } - ], - "index": 1, - "docs": ["See [`Pallet::retract_bid`]."] - }, - { - "name": "fund_deficit", - "index": 2, - "docs": ["See [`Pallet::fund_deficit`]."] - }, - { - "name": "thaw_private", - "fields": [ - { - "name": "index", - "type": 122, - "typeName": "ReceiptIndex" - }, - { - "name": "maybe_proportion", - "type": 384, - "typeName": "Option" - } - ], - "index": 3, - "docs": ["See [`Pallet::thaw_private`]."] - }, - { - "name": "thaw_communal", - "fields": [ - { - "name": "index", - "type": 122, - "typeName": "ReceiptIndex" - } - ], - "index": 4, - "docs": ["See [`Pallet::thaw_communal`]."] - }, - { - "name": "communify", - "fields": [ - { - "name": "index", - "type": 122, - "typeName": "ReceiptIndex" - } - ], - "index": 5, - "docs": ["See [`Pallet::communify`]."] - }, - { - "name": "privatize", - "fields": [ - { - "name": "index", - "type": 122, - "typeName": "ReceiptIndex" - } - ], - "index": 6, - "docs": ["See [`Pallet::privatize`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 384, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 85 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 85 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 385, - "type": { - "path": ["pallet_balances", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "transfer_allow_death", - "fields": [ - { - "name": "dest", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "value", - "type": 125, - "typeName": "T::Balance" - } - ], - "index": 0, - "docs": ["See [`Pallet::transfer_allow_death`]."] - }, - { - "name": "force_transfer", - "fields": [ - { - "name": "source", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "dest", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "value", - "type": 125, - "typeName": "T::Balance" - } - ], - "index": 2, - "docs": ["See [`Pallet::force_transfer`]."] - }, - { - "name": "transfer_keep_alive", - "fields": [ - { - "name": "dest", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "value", - "type": 125, - "typeName": "T::Balance" - } - ], - "index": 3, - "docs": ["See [`Pallet::transfer_keep_alive`]."] - }, - { - "name": "transfer_all", - "fields": [ - { - "name": "dest", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "keep_alive", - "type": 54, - "typeName": "bool" - } - ], - "index": 4, - "docs": ["See [`Pallet::transfer_all`]."] - }, - { - "name": "force_unreserve", - "fields": [ - { - "name": "who", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "amount", - "type": 6, - "typeName": "T::Balance" - } - ], - "index": 5, - "docs": ["See [`Pallet::force_unreserve`]."] - }, - { - "name": "upgrade_accounts", - "fields": [ - { - "name": "who", - "type": 68, - "typeName": "Vec" - } - ], - "index": 6, - "docs": ["See [`Pallet::upgrade_accounts`]."] - }, - { - "name": "force_set_balance", - "fields": [ - { - "name": "who", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "new_free", - "type": 125, - "typeName": "T::Balance" - } - ], - "index": 8, - "docs": ["See [`Pallet::force_set_balance`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 386, - "type": { - "path": [ - "polkadot_runtime_parachains", - "configuration", - "pallet", - "Call" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "set_validation_upgrade_cooldown", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "BlockNumberFor" - } - ], - "index": 0, - "docs": [ - "See [`Pallet::set_validation_upgrade_cooldown`]." - ] - }, - { - "name": "set_validation_upgrade_delay", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "BlockNumberFor" - } - ], - "index": 1, - "docs": ["See [`Pallet::set_validation_upgrade_delay`]."] - }, - { - "name": "set_code_retention_period", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "BlockNumberFor" - } - ], - "index": 2, - "docs": ["See [`Pallet::set_code_retention_period`]."] - }, - { - "name": "set_max_code_size", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 3, - "docs": ["See [`Pallet::set_max_code_size`]."] - }, - { - "name": "set_max_pov_size", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 4, - "docs": ["See [`Pallet::set_max_pov_size`]."] - }, - { - "name": "set_max_head_data_size", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 5, - "docs": ["See [`Pallet::set_max_head_data_size`]."] - }, - { - "name": "set_on_demand_cores", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 6, - "docs": ["See [`Pallet::set_on_demand_cores`]."] - }, - { - "name": "set_on_demand_retries", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 7, - "docs": ["See [`Pallet::set_on_demand_retries`]."] - }, - { - "name": "set_group_rotation_frequency", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "BlockNumberFor" - } - ], - "index": 8, - "docs": ["See [`Pallet::set_group_rotation_frequency`]."] - }, - { - "name": "set_paras_availability_period", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "BlockNumberFor" - } - ], - "index": 9, - "docs": ["See [`Pallet::set_paras_availability_period`]."] - }, - { - "name": "set_scheduling_lookahead", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 11, - "docs": ["See [`Pallet::set_scheduling_lookahead`]."] - }, - { - "name": "set_max_validators_per_core", - "fields": [ - { - "name": "new", - "type": 255, - "typeName": "Option" - } - ], - "index": 12, - "docs": ["See [`Pallet::set_max_validators_per_core`]."] - }, - { - "name": "set_max_validators", - "fields": [ - { - "name": "new", - "type": 255, - "typeName": "Option" - } - ], - "index": 13, - "docs": ["See [`Pallet::set_max_validators`]."] - }, - { - "name": "set_dispute_period", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "SessionIndex" - } - ], - "index": 14, - "docs": ["See [`Pallet::set_dispute_period`]."] - }, - { - "name": "set_dispute_post_conclusion_acceptance_period", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "BlockNumberFor" - } - ], - "index": 15, - "docs": [ - "See [`Pallet::set_dispute_post_conclusion_acceptance_period`]." - ] - }, - { - "name": "set_no_show_slots", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 18, - "docs": ["See [`Pallet::set_no_show_slots`]."] - }, - { - "name": "set_n_delay_tranches", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 19, - "docs": ["See [`Pallet::set_n_delay_tranches`]."] - }, - { - "name": "set_zeroth_delay_tranche_width", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 20, - "docs": [ - "See [`Pallet::set_zeroth_delay_tranche_width`]." - ] - }, - { - "name": "set_needed_approvals", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 21, - "docs": ["See [`Pallet::set_needed_approvals`]."] - }, - { - "name": "set_relay_vrf_modulo_samples", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 22, - "docs": ["See [`Pallet::set_relay_vrf_modulo_samples`]."] - }, - { - "name": "set_max_upward_queue_count", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 23, - "docs": ["See [`Pallet::set_max_upward_queue_count`]."] - }, - { - "name": "set_max_upward_queue_size", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 24, - "docs": ["See [`Pallet::set_max_upward_queue_size`]."] - }, - { - "name": "set_max_downward_message_size", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 25, - "docs": ["See [`Pallet::set_max_downward_message_size`]."] - }, - { - "name": "set_max_upward_message_size", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 27, - "docs": ["See [`Pallet::set_max_upward_message_size`]."] - }, - { - "name": "set_max_upward_message_num_per_candidate", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 28, - "docs": [ - "See [`Pallet::set_max_upward_message_num_per_candidate`]." - ] - }, - { - "name": "set_hrmp_open_request_ttl", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 29, - "docs": ["See [`Pallet::set_hrmp_open_request_ttl`]."] - }, - { - "name": "set_hrmp_sender_deposit", - "fields": [ - { - "name": "new", - "type": 6, - "typeName": "Balance" - } - ], - "index": 30, - "docs": ["See [`Pallet::set_hrmp_sender_deposit`]."] - }, - { - "name": "set_hrmp_recipient_deposit", - "fields": [ - { - "name": "new", - "type": 6, - "typeName": "Balance" - } - ], - "index": 31, - "docs": ["See [`Pallet::set_hrmp_recipient_deposit`]."] - }, - { - "name": "set_hrmp_channel_max_capacity", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 32, - "docs": ["See [`Pallet::set_hrmp_channel_max_capacity`]."] - }, - { - "name": "set_hrmp_channel_max_total_size", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 33, - "docs": [ - "See [`Pallet::set_hrmp_channel_max_total_size`]." - ] - }, - { - "name": "set_hrmp_max_parachain_inbound_channels", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 34, - "docs": [ - "See [`Pallet::set_hrmp_max_parachain_inbound_channels`]." - ] - }, - { - "name": "set_hrmp_channel_max_message_size", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 36, - "docs": [ - "See [`Pallet::set_hrmp_channel_max_message_size`]." - ] - }, - { - "name": "set_hrmp_max_parachain_outbound_channels", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 37, - "docs": [ - "See [`Pallet::set_hrmp_max_parachain_outbound_channels`]." - ] - }, - { - "name": "set_hrmp_max_message_num_per_candidate", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 39, - "docs": [ - "See [`Pallet::set_hrmp_max_message_num_per_candidate`]." - ] - }, - { - "name": "set_pvf_voting_ttl", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "SessionIndex" - } - ], - "index": 42, - "docs": ["See [`Pallet::set_pvf_voting_ttl`]."] - }, - { - "name": "set_minimum_validation_upgrade_delay", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "BlockNumberFor" - } - ], - "index": 43, - "docs": [ - "See [`Pallet::set_minimum_validation_upgrade_delay`]." - ] - }, - { - "name": "set_bypass_consistency_check", - "fields": [ - { - "name": "new", - "type": 54, - "typeName": "bool" - } - ], - "index": 44, - "docs": ["See [`Pallet::set_bypass_consistency_check`]."] - }, - { - "name": "set_async_backing_params", - "fields": [ - { - "name": "new", - "type": 387, - "typeName": "AsyncBackingParams" - } - ], - "index": 45, - "docs": ["See [`Pallet::set_async_backing_params`]."] - }, - { - "name": "set_executor_params", - "fields": [ - { - "name": "new", - "type": 388, - "typeName": "ExecutorParams" - } - ], - "index": 46, - "docs": ["See [`Pallet::set_executor_params`]."] - }, - { - "name": "set_on_demand_base_fee", - "fields": [ - { - "name": "new", - "type": 6, - "typeName": "Balance" - } - ], - "index": 47, - "docs": ["See [`Pallet::set_on_demand_base_fee`]."] - }, - { - "name": "set_on_demand_fee_variability", - "fields": [ - { - "name": "new", - "type": 393, - "typeName": "Perbill" - } - ], - "index": 48, - "docs": ["See [`Pallet::set_on_demand_fee_variability`]."] - }, - { - "name": "set_on_demand_queue_max_size", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 49, - "docs": ["See [`Pallet::set_on_demand_queue_max_size`]."] - }, - { - "name": "set_on_demand_target_queue_utilization", - "fields": [ - { - "name": "new", - "type": 393, - "typeName": "Perbill" - } - ], - "index": 50, - "docs": [ - "See [`Pallet::set_on_demand_target_queue_utilization`]." - ] - }, - { - "name": "set_on_demand_ttl", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "BlockNumberFor" - } - ], - "index": 51, - "docs": ["See [`Pallet::set_on_demand_ttl`]."] - }, - { - "name": "set_minimum_backing_votes", - "fields": [ - { - "name": "new", - "type": 4, - "typeName": "u32" - } - ], - "index": 52, - "docs": ["See [`Pallet::set_minimum_backing_votes`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 387, - "type": { - "path": ["polkadot_primitives", "vstaging", "AsyncBackingParams"], - "def": { - "composite": { - "fields": [ - { - "name": "max_candidate_depth", - "type": 4, - "typeName": "u32" - }, - { - "name": "allowed_ancestry_len", - "type": 4, - "typeName": "u32" - } - ] - } - } - } - }, - { - "id": 388, - "type": { - "path": [ - "polkadot_primitives", - "v5", - "executor_params", - "ExecutorParams" - ], - "def": { - "composite": { - "fields": [ - { - "type": 389, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 389, - "type": { - "def": { - "sequence": { - "type": 390 - } - } - } - }, - { - "id": 390, - "type": { - "path": [ - "polkadot_primitives", - "v5", - "executor_params", - "ExecutorParam" - ], - "def": { - "variant": { - "variants": [ - { - "name": "MaxMemoryPages", - "fields": [ - { - "type": 4, - "typeName": "u32" - } - ], - "index": 1 - }, - { - "name": "StackLogicalMax", - "fields": [ - { - "type": 4, - "typeName": "u32" - } - ], - "index": 2 - }, - { - "name": "StackNativeMax", - "fields": [ - { - "type": 4, - "typeName": "u32" - } - ], - "index": 3 - }, - { - "name": "PrecheckingMaxMemory", - "fields": [ - { - "type": 11, - "typeName": "u64" - } - ], - "index": 4 - }, - { - "name": "PvfPrepTimeout", - "fields": [ - { - "type": 391, - "typeName": "PvfPrepTimeoutKind" - }, - { - "type": 11, - "typeName": "u64" - } - ], - "index": 5 - }, - { - "name": "PvfExecTimeout", - "fields": [ - { - "type": 392, - "typeName": "PvfExecTimeoutKind" - }, - { - "type": 11, - "typeName": "u64" - } - ], - "index": 6 - }, - { - "name": "WasmExtBulkMemory", - "index": 7 - } - ] - } - } - } - }, - { - "id": 391, - "type": { - "path": ["polkadot_primitives", "v5", "PvfPrepTimeoutKind"], - "def": { - "variant": { - "variants": [ - { - "name": "Precheck", - "index": 0 - }, - { - "name": "Lenient", - "index": 1 - } - ] - } - } - } - }, - { - "id": 392, - "type": { - "path": ["polkadot_primitives", "v5", "PvfExecTimeoutKind"], - "def": { - "variant": { - "variants": [ - { - "name": "Backing", - "index": 0 - }, - { - "name": "Approval", - "index": 1 - } - ] - } - } - } - }, - { - "id": 393, - "type": { - "path": ["sp_arithmetic", "per_things", "Perbill"], - "def": { - "composite": { - "fields": [ - { - "type": 4, - "typeName": "u32" - } - ] - } - } - } - }, - { - "id": 394, - "type": { - "path": [ - "polkadot_runtime_parachains", - "shared", - "pallet", - "Call" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": {} - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 395, - "type": { - "path": [ - "polkadot_runtime_parachains", - "inclusion", - "pallet", - "Call" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": {} - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 396, - "type": { - "path": [ - "polkadot_runtime_parachains", - "paras_inherent", - "pallet", - "Call" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "enter", - "fields": [ - { - "name": "data", - "type": 397, - "typeName": "ParachainsInherentData>" - } - ], - "index": 0, - "docs": ["See [`Pallet::enter`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 397, - "type": { - "path": ["polkadot_primitives", "v5", "InherentData"], - "params": [ - { - "name": "HDR", - "type": 220 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "bitfields", - "type": 398, - "typeName": "UncheckedSignedAvailabilityBitfields" - }, - { - "name": "backed_candidates", - "type": 405, - "typeName": "Vec>" - }, - { - "name": "disputes", - "type": 417, - "typeName": "MultiDisputeStatementSet" - }, - { - "name": "parent_header", - "type": 220, - "typeName": "HDR" - } - ] - } - } - } - }, - { - "id": 398, - "type": { - "def": { - "sequence": { - "type": 399 - } - } - } - }, - { - "id": 399, - "type": { - "path": [ - "polkadot_primitives", - "v5", - "signed", - "UncheckedSigned" - ], - "params": [ - { - "name": "Payload", - "type": 400 - }, - { - "name": "RealPayload", - "type": 400 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "payload", - "type": 400, - "typeName": "Payload" - }, - { - "name": "validator_index", - "type": 403, - "typeName": "ValidatorIndex" - }, - { - "name": "signature", - "type": 404, - "typeName": "ValidatorSignature" - } - ] - } - } - } - }, - { - "id": 400, - "type": { - "path": ["polkadot_primitives", "v5", "AvailabilityBitfield"], - "def": { - "composite": { - "fields": [ - { - "type": 401, - "typeName": "BitVec" - } - ] - } - } - } - }, - { - "id": 401, - "type": { - "def": { - "bitsequence": { - "bit_store_type": 2, - "bit_order_type": 402 - } - } - } - }, - { - "id": 402, - "type": { - "path": ["bitvec", "order", "Lsb0"], - "def": { - "composite": {} - } - } - }, - { - "id": 403, - "type": { - "path": ["polkadot_primitives", "v5", "ValidatorIndex"], - "def": { - "composite": { - "fields": [ - { - "type": 4, - "typeName": "u32" - } - ] - } - } - } - }, - { - "id": 404, - "type": { - "path": [ - "polkadot_primitives", - "v5", - "validator_app", - "Signature" - ], - "def": { - "composite": { - "fields": [ - { - "type": 93, - "typeName": "sr25519::Signature" - } - ] - } - } - } - }, - { - "id": 405, - "type": { - "def": { - "sequence": { - "type": 406 - } - } - } - }, - { - "id": 406, - "type": { - "path": ["polkadot_primitives", "v5", "BackedCandidate"], - "params": [ - { - "name": "H", - "type": 12 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "candidate", - "type": 407, - "typeName": "CommittedCandidateReceipt" - }, - { - "name": "validity_votes", - "type": 415, - "typeName": "Vec" - }, - { - "name": "validator_indices", - "type": 401, - "typeName": "BitVec" - } - ] - } - } - } - }, - { - "id": 407, - "type": { - "path": [ - "polkadot_primitives", - "v5", - "CommittedCandidateReceipt" - ], - "params": [ - { - "name": "H", - "type": 12 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "descriptor", - "type": 89, - "typeName": "CandidateDescriptor" - }, - { - "name": "commitments", - "type": 408, - "typeName": "CandidateCommitments" - } - ] - } - } - } - }, - { - "id": 408, - "type": { - "path": ["polkadot_primitives", "v5", "CandidateCommitments"], - "params": [ - { - "name": "N", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "upward_messages", - "type": 409, - "typeName": "UpwardMessages" - }, - { - "name": "horizontal_messages", - "type": 410, - "typeName": "HorizontalMessages" - }, - { - "name": "new_validation_code", - "type": 413, - "typeName": "Option" - }, - { - "name": "head_data", - "type": 96, - "typeName": "HeadData" - }, - { - "name": "processed_downward_messages", - "type": 4, - "typeName": "u32" - }, - { - "name": "hrmp_watermark", - "type": 4, - "typeName": "N" - } - ] - } - } - } - }, - { - "id": 409, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 13 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 185, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 410, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 411 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 412, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 411, - "type": { - "path": ["polkadot_core_primitives", "OutboundHrmpMessage"], - "params": [ - { - "name": "Id", - "type": 90 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "recipient", - "type": 90, - "typeName": "Id" - }, - { - "name": "data", - "type": 13, - "typeName": "sp_std::vec::Vec" - } - ] - } - } - } - }, - { - "id": 412, - "type": { - "def": { - "sequence": { - "type": 411 - } - } - } - }, - { - "id": 413, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 414 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 414 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 414, - "type": { - "path": [ - "polkadot_parachain_primitives", - "primitives", - "ValidationCode" - ], - "def": { - "composite": { - "fields": [ - { - "type": 13, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 415, - "type": { - "def": { - "sequence": { - "type": 416 - } - } - } - }, - { - "id": 416, - "type": { - "path": ["polkadot_primitives", "v5", "ValidityAttestation"], - "def": { - "variant": { - "variants": [ - { - "name": "Implicit", - "fields": [ - { - "type": 404, - "typeName": "ValidatorSignature" - } - ], - "index": 1 - }, - { - "name": "Explicit", - "fields": [ - { - "type": 404, - "typeName": "ValidatorSignature" - } - ], - "index": 2 - } - ] - } - } - } - }, - { - "id": 417, - "type": { - "def": { - "sequence": { - "type": 418 - } - } - } - }, - { - "id": 418, - "type": { - "path": ["polkadot_primitives", "v5", "DisputeStatementSet"], - "def": { - "composite": { - "fields": [ - { - "name": "candidate_hash", - "type": 103, - "typeName": "CandidateHash" - }, - { - "name": "session", - "type": 4, - "typeName": "SessionIndex" - }, - { - "name": "statements", - "type": 419, - "typeName": "Vec<(DisputeStatement, ValidatorIndex, ValidatorSignature)>" - } - ] - } - } - } - }, - { - "id": 419, - "type": { - "def": { - "sequence": { - "type": 420 - } - } - } - }, - { - "id": 420, - "type": { - "def": { - "tuple": [421, 403, 404] - } - } - }, - { - "id": 421, - "type": { - "path": ["polkadot_primitives", "v5", "DisputeStatement"], - "def": { - "variant": { - "variants": [ - { - "name": "Valid", - "fields": [ - { - "type": 422, - "typeName": "ValidDisputeStatementKind" - } - ], - "index": 0 - }, - { - "name": "Invalid", - "fields": [ - { - "type": 423, - "typeName": "InvalidDisputeStatementKind" - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 422, - "type": { - "path": [ - "polkadot_primitives", - "v5", - "ValidDisputeStatementKind" - ], - "def": { - "variant": { - "variants": [ - { - "name": "Explicit", - "index": 0 - }, - { - "name": "BackingSeconded", - "fields": [ - { - "type": 12, - "typeName": "Hash" - } - ], - "index": 1 - }, - { - "name": "BackingValid", - "fields": [ - { - "type": 12, - "typeName": "Hash" - } - ], - "index": 2 - }, - { - "name": "ApprovalChecking", - "index": 3 - } - ] - } - } - } - }, - { - "id": 423, - "type": { - "path": [ - "polkadot_primitives", - "v5", - "InvalidDisputeStatementKind" - ], - "def": { - "variant": { - "variants": [ - { - "name": "Explicit", - "index": 0 - } - ] - } - } - } - }, - { - "id": 424, - "type": { - "path": [ - "polkadot_runtime_parachains", - "paras", - "pallet", - "Call" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "force_set_current_code", - "fields": [ - { - "name": "para", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "new_code", - "type": 414, - "typeName": "ValidationCode" - } - ], - "index": 0, - "docs": ["See [`Pallet::force_set_current_code`]."] - }, - { - "name": "force_set_current_head", - "fields": [ - { - "name": "para", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "new_head", - "type": 96, - "typeName": "HeadData" - } - ], - "index": 1, - "docs": ["See [`Pallet::force_set_current_head`]."] - }, - { - "name": "force_schedule_code_upgrade", - "fields": [ - { - "name": "para", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "new_code", - "type": 414, - "typeName": "ValidationCode" - }, - { - "name": "relay_parent_number", - "type": 4, - "typeName": "BlockNumberFor" - } - ], - "index": 2, - "docs": ["See [`Pallet::force_schedule_code_upgrade`]."] - }, - { - "name": "force_note_new_head", - "fields": [ - { - "name": "para", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "new_head", - "type": 96, - "typeName": "HeadData" - } - ], - "index": 3, - "docs": ["See [`Pallet::force_note_new_head`]."] - }, - { - "name": "force_queue_action", - "fields": [ - { - "name": "para", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 4, - "docs": ["See [`Pallet::force_queue_action`]."] - }, - { - "name": "add_trusted_validation_code", - "fields": [ - { - "name": "validation_code", - "type": 414, - "typeName": "ValidationCode" - } - ], - "index": 5, - "docs": ["See [`Pallet::add_trusted_validation_code`]."] - }, - { - "name": "poke_unused_validation_code", - "fields": [ - { - "name": "validation_code_hash", - "type": 95, - "typeName": "ValidationCodeHash" - } - ], - "index": 6, - "docs": ["See [`Pallet::poke_unused_validation_code`]."] - }, - { - "name": "include_pvf_check_statement", - "fields": [ - { - "name": "stmt", - "type": 425, - "typeName": "PvfCheckStatement" - }, - { - "name": "signature", - "type": 404, - "typeName": "ValidatorSignature" - } - ], - "index": 7, - "docs": ["See [`Pallet::include_pvf_check_statement`]."] - }, - { - "name": "force_set_most_recent_context", - "fields": [ - { - "name": "para", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "context", - "type": 4, - "typeName": "BlockNumberFor" - } - ], - "index": 8, - "docs": ["See [`Pallet::force_set_most_recent_context`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 425, - "type": { - "path": ["polkadot_primitives", "v5", "PvfCheckStatement"], - "def": { - "composite": { - "fields": [ - { - "name": "accept", - "type": 54, - "typeName": "bool" - }, - { - "name": "subject", - "type": 95, - "typeName": "ValidationCodeHash" - }, - { - "name": "session_index", - "type": 4, - "typeName": "SessionIndex" - }, - { - "name": "validator_index", - "type": 403, - "typeName": "ValidatorIndex" - } - ] - } - } - } - }, - { - "id": 426, - "type": { - "path": [ - "polkadot_runtime_parachains", - "initializer", - "pallet", - "Call" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "force_approve", - "fields": [ - { - "name": "up_to", - "type": 4, - "typeName": "BlockNumber" - } - ], - "index": 0, - "docs": ["See [`Pallet::force_approve`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 427, - "type": { - "path": ["polkadot_runtime_parachains", "hrmp", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "hrmp_init_open_channel", - "fields": [ - { - "name": "recipient", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "proposed_max_capacity", - "type": 4, - "typeName": "u32" - }, - { - "name": "proposed_max_message_size", - "type": 4, - "typeName": "u32" - } - ], - "index": 0, - "docs": ["See [`Pallet::hrmp_init_open_channel`]."] - }, - { - "name": "hrmp_accept_open_channel", - "fields": [ - { - "name": "sender", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 1, - "docs": ["See [`Pallet::hrmp_accept_open_channel`]."] - }, - { - "name": "hrmp_close_channel", - "fields": [ - { - "name": "channel_id", - "type": 101, - "typeName": "HrmpChannelId" - } - ], - "index": 2, - "docs": ["See [`Pallet::hrmp_close_channel`]."] - }, - { - "name": "force_clean_hrmp", - "fields": [ - { - "name": "para", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "inbound", - "type": 4, - "typeName": "u32" - }, - { - "name": "outbound", - "type": 4, - "typeName": "u32" - } - ], - "index": 3, - "docs": ["See [`Pallet::force_clean_hrmp`]."] - }, - { - "name": "force_process_hrmp_open", - "fields": [ - { - "name": "channels", - "type": 4, - "typeName": "u32" - } - ], - "index": 4, - "docs": ["See [`Pallet::force_process_hrmp_open`]."] - }, - { - "name": "force_process_hrmp_close", - "fields": [ - { - "name": "channels", - "type": 4, - "typeName": "u32" - } - ], - "index": 5, - "docs": ["See [`Pallet::force_process_hrmp_close`]."] - }, - { - "name": "hrmp_cancel_open_request", - "fields": [ - { - "name": "channel_id", - "type": 101, - "typeName": "HrmpChannelId" - }, - { - "name": "open_requests", - "type": 4, - "typeName": "u32" - } - ], - "index": 6, - "docs": ["See [`Pallet::hrmp_cancel_open_request`]."] - }, - { - "name": "force_open_hrmp_channel", - "fields": [ - { - "name": "sender", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "recipient", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "max_capacity", - "type": 4, - "typeName": "u32" - }, - { - "name": "max_message_size", - "type": 4, - "typeName": "u32" - } - ], - "index": 7, - "docs": ["See [`Pallet::force_open_hrmp_channel`]."] - }, - { - "name": "establish_system_channel", - "fields": [ - { - "name": "sender", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "recipient", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 8, - "docs": ["See [`Pallet::establish_system_channel`]."] - }, - { - "name": "poke_channel_deposits", - "fields": [ - { - "name": "sender", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "recipient", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 9, - "docs": ["See [`Pallet::poke_channel_deposits`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 428, - "type": { - "path": [ - "polkadot_runtime_parachains", - "disputes", - "pallet", - "Call" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "force_unfreeze", - "index": 0, - "docs": ["See [`Pallet::force_unfreeze`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 429, - "type": { - "path": [ - "polkadot_runtime_parachains", - "disputes", - "slashing", - "pallet", - "Call" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "report_dispute_lost_unsigned", - "fields": [ - { - "name": "dispute_proof", - "type": 430, - "typeName": "Box" - }, - { - "name": "key_owner_proof", - "type": 221, - "typeName": "T::KeyOwnerProof" - } - ], - "index": 0, - "docs": ["See [`Pallet::report_dispute_lost_unsigned`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 430, - "type": { - "path": ["polkadot_primitives", "v5", "slashing", "DisputeProof"], - "def": { - "composite": { - "fields": [ - { - "name": "time_slot", - "type": 431, - "typeName": "DisputesTimeSlot" - }, - { - "name": "kind", - "type": 432, - "typeName": "SlashingOffenceKind" - }, - { - "name": "validator_index", - "type": 403, - "typeName": "ValidatorIndex" - }, - { - "name": "validator_id", - "type": 272, - "typeName": "ValidatorId" - } - ] - } - } - } - }, - { - "id": 431, - "type": { - "path": [ - "polkadot_primitives", - "v5", - "slashing", - "DisputesTimeSlot" - ], - "def": { - "composite": { - "fields": [ - { - "name": "session_index", - "type": 4, - "typeName": "SessionIndex" - }, - { - "name": "candidate_hash", - "type": 103, - "typeName": "CandidateHash" - } - ] - } - } - } - }, - { - "id": 432, - "type": { - "path": [ - "polkadot_primitives", - "v5", - "slashing", - "SlashingOffenceKind" - ], - "def": { - "variant": { - "variants": [ - { - "name": "ForInvalid", - "index": 0 - }, - { - "name": "AgainstValid", - "index": 1 - } - ] - } - } - } - }, - { - "id": 433, - "type": { - "path": ["pallet_message_queue", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "reap_page", - "fields": [ - { - "name": "message_origin", - "type": 107, - "typeName": "MessageOriginOf" - }, - { - "name": "page_index", - "type": 4, - "typeName": "PageIndex" - } - ], - "index": 0, - "docs": ["See [`Pallet::reap_page`]."] - }, - { - "name": "execute_overweight", - "fields": [ - { - "name": "message_origin", - "type": 107, - "typeName": "MessageOriginOf" - }, - { - "name": "page", - "type": 4, - "typeName": "PageIndex" - }, - { - "name": "index", - "type": 4, - "typeName": "T::Size" - }, - { - "name": "weight_limit", - "type": 9, - "typeName": "Weight" - } - ], - "index": 1, - "docs": ["See [`Pallet::execute_overweight`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 434, - "type": { - "path": [ - "polkadot_runtime_parachains", - "assigner_on_demand", - "pallet", - "Call" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "place_order_allow_death", - "fields": [ - { - "name": "max_amount", - "type": 6, - "typeName": "BalanceOf" - }, - { - "name": "para_id", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 0, - "docs": ["See [`Pallet::place_order_allow_death`]."] - }, - { - "name": "place_order_keep_alive", - "fields": [ - { - "name": "max_amount", - "type": 6, - "typeName": "BalanceOf" - }, - { - "name": "para_id", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 1, - "docs": ["See [`Pallet::place_order_keep_alive`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 435, - "type": { - "path": [ - "polkadot_runtime_common", - "paras_registrar", - "pallet", - "Call" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "register", - "fields": [ - { - "name": "id", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "genesis_head", - "type": 96, - "typeName": "HeadData" - }, - { - "name": "validation_code", - "type": 414, - "typeName": "ValidationCode" - } - ], - "index": 0, - "docs": ["See [`Pallet::register`]."] - }, - { - "name": "force_register", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "deposit", - "type": 6, - "typeName": "BalanceOf" - }, - { - "name": "id", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "genesis_head", - "type": 96, - "typeName": "HeadData" - }, - { - "name": "validation_code", - "type": 414, - "typeName": "ValidationCode" - } - ], - "index": 1, - "docs": ["See [`Pallet::force_register`]."] - }, - { - "name": "deregister", - "fields": [ - { - "name": "id", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 2, - "docs": ["See [`Pallet::deregister`]."] - }, - { - "name": "swap", - "fields": [ - { - "name": "id", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "other", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 3, - "docs": ["See [`Pallet::swap`]."] - }, - { - "name": "remove_lock", - "fields": [ - { - "name": "para", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 4, - "docs": ["See [`Pallet::remove_lock`]."] - }, - { - "name": "reserve", - "index": 5, - "docs": ["See [`Pallet::reserve`]."] - }, - { - "name": "add_lock", - "fields": [ - { - "name": "para", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 6, - "docs": ["See [`Pallet::add_lock`]."] - }, - { - "name": "schedule_code_upgrade", - "fields": [ - { - "name": "para", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "new_code", - "type": 414, - "typeName": "ValidationCode" - } - ], - "index": 7, - "docs": ["See [`Pallet::schedule_code_upgrade`]."] - }, - { - "name": "set_current_head", - "fields": [ - { - "name": "para", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "new_head", - "type": 96, - "typeName": "HeadData" - } - ], - "index": 8, - "docs": ["See [`Pallet::set_current_head`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 436, - "type": { - "path": ["polkadot_runtime_common", "slots", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "force_lease", - "fields": [ - { - "name": "para", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "leaser", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "amount", - "type": 6, - "typeName": "BalanceOf" - }, - { - "name": "period_begin", - "type": 4, - "typeName": "LeasePeriodOf" - }, - { - "name": "period_count", - "type": 4, - "typeName": "LeasePeriodOf" - } - ], - "index": 0, - "docs": ["See [`Pallet::force_lease`]."] - }, - { - "name": "clear_all_leases", - "fields": [ - { - "name": "para", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 1, - "docs": ["See [`Pallet::clear_all_leases`]."] - }, - { - "name": "trigger_onboard", - "fields": [ - { - "name": "para", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 2, - "docs": ["See [`Pallet::trigger_onboard`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 437, - "type": { - "path": ["polkadot_runtime_common", "auctions", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "new_auction", - "fields": [ - { - "name": "duration", - "type": 122, - "typeName": "BlockNumberFor" - }, - { - "name": "lease_period_index", - "type": 122, - "typeName": "LeasePeriodOf" - } - ], - "index": 0, - "docs": ["See [`Pallet::new_auction`]."] - }, - { - "name": "bid", - "fields": [ - { - "name": "para", - "type": 438, - "typeName": "ParaId" - }, - { - "name": "auction_index", - "type": 122, - "typeName": "AuctionIndex" - }, - { - "name": "first_slot", - "type": 122, - "typeName": "LeasePeriodOf" - }, - { - "name": "last_slot", - "type": 122, - "typeName": "LeasePeriodOf" - }, - { - "name": "amount", - "type": 125, - "typeName": "BalanceOf" - } - ], - "index": 1, - "docs": ["See [`Pallet::bid`]."] - }, - { - "name": "cancel_auction", - "index": 2, - "docs": ["See [`Pallet::cancel_auction`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 438, - "type": { - "def": { - "compact": { - "type": 90 - } - } - } - }, - { - "id": 439, - "type": { - "path": [ - "polkadot_runtime_common", - "crowdloan", - "pallet", - "Call" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "create", - "fields": [ - { - "name": "index", - "type": 438, - "typeName": "ParaId" - }, - { - "name": "cap", - "type": 125, - "typeName": "BalanceOf" - }, - { - "name": "first_period", - "type": 122, - "typeName": "LeasePeriodOf" - }, - { - "name": "last_period", - "type": 122, - "typeName": "LeasePeriodOf" - }, - { - "name": "end", - "type": 122, - "typeName": "BlockNumberFor" - }, - { - "name": "verifier", - "type": 440, - "typeName": "Option" - } - ], - "index": 0, - "docs": ["See [`Pallet::create`]."] - }, - { - "name": "contribute", - "fields": [ - { - "name": "index", - "type": 438, - "typeName": "ParaId" - }, - { - "name": "value", - "type": 125, - "typeName": "BalanceOf" - }, - { - "name": "signature", - "type": 442, - "typeName": "Option" - } - ], - "index": 1, - "docs": ["See [`Pallet::contribute`]."] - }, - { - "name": "withdraw", - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "T::AccountId" - }, - { - "name": "index", - "type": 438, - "typeName": "ParaId" - } - ], - "index": 2, - "docs": ["See [`Pallet::withdraw`]."] - }, - { - "name": "refund", - "fields": [ - { - "name": "index", - "type": 438, - "typeName": "ParaId" - } - ], - "index": 3, - "docs": ["See [`Pallet::refund`]."] - }, - { - "name": "dissolve", - "fields": [ - { - "name": "index", - "type": 438, - "typeName": "ParaId" - } - ], - "index": 4, - "docs": ["See [`Pallet::dissolve`]."] - }, - { - "name": "edit", - "fields": [ - { - "name": "index", - "type": 438, - "typeName": "ParaId" - }, - { - "name": "cap", - "type": 125, - "typeName": "BalanceOf" - }, - { - "name": "first_period", - "type": 122, - "typeName": "LeasePeriodOf" - }, - { - "name": "last_period", - "type": 122, - "typeName": "LeasePeriodOf" - }, - { - "name": "end", - "type": 122, - "typeName": "BlockNumberFor" - }, - { - "name": "verifier", - "type": 440, - "typeName": "Option" - } - ], - "index": 5, - "docs": ["See [`Pallet::edit`]."] - }, - { - "name": "add_memo", - "fields": [ - { - "name": "index", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "memo", - "type": 13, - "typeName": "Vec" - } - ], - "index": 6, - "docs": ["See [`Pallet::add_memo`]."] - }, - { - "name": "poke", - "fields": [ - { - "name": "index", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 7, - "docs": ["See [`Pallet::poke`]."] - }, - { - "name": "contribute_all", - "fields": [ - { - "name": "index", - "type": 438, - "typeName": "ParaId" - }, - { - "name": "signature", - "type": 442, - "typeName": "Option" - } - ], - "index": 8, - "docs": ["See [`Pallet::contribute_all`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 440, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 441 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 441 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 441, - "type": { - "path": ["sp_runtime", "MultiSigner"], - "def": { - "variant": { - "variants": [ - { - "name": "Ed25519", - "fields": [ - { - "type": 41, - "typeName": "ed25519::Public" - } - ], - "index": 0 - }, - { - "name": "Sr25519", - "fields": [ - { - "type": 44, - "typeName": "sr25519::Public" - } - ], - "index": 1 - }, - { - "name": "Ecdsa", - "fields": [ - { - "type": 252, - "typeName": "ecdsa::Public" - } - ], - "index": 2 - } - ] - } - } - } - }, - { - "id": 442, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 443 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 443 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 443, - "type": { - "path": ["sp_runtime", "MultiSignature"], - "def": { - "variant": { - "variants": [ - { - "name": "Ed25519", - "fields": [ - { - "type": 289, - "typeName": "ed25519::Signature" - } - ], - "index": 0 - }, - { - "name": "Sr25519", - "fields": [ - { - "type": 93, - "typeName": "sr25519::Signature" - } - ], - "index": 1 - }, - { - "name": "Ecdsa", - "fields": [ - { - "type": 259, - "typeName": "ecdsa::Signature" - } - ], - "index": 2 - } - ] - } - } - } - }, - { - "id": 444, - "type": { - "path": ["pallet_xcm", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "send", - "fields": [ - { - "name": "dest", - "type": 169, - "typeName": "Box" - }, - { - "name": "message", - "type": 445, - "typeName": "Box>" - } - ], - "index": 0, - "docs": ["See [`Pallet::send`]."] - }, - { - "name": "teleport_assets", - "fields": [ - { - "name": "dest", - "type": 169, - "typeName": "Box" - }, - { - "name": "beneficiary", - "type": 169, - "typeName": "Box" - }, - { - "name": "assets", - "type": 155, - "typeName": "Box" - }, - { - "name": "fee_asset_item", - "type": 4, - "typeName": "u32" - } - ], - "index": 1, - "docs": ["See [`Pallet::teleport_assets`]."] - }, - { - "name": "reserve_transfer_assets", - "fields": [ - { - "name": "dest", - "type": 169, - "typeName": "Box" - }, - { - "name": "beneficiary", - "type": 169, - "typeName": "Box" - }, - { - "name": "assets", - "type": 155, - "typeName": "Box" - }, - { - "name": "fee_asset_item", - "type": 4, - "typeName": "u32" - } - ], - "index": 2, - "docs": ["See [`Pallet::reserve_transfer_assets`]."] - }, - { - "name": "execute", - "fields": [ - { - "name": "message", - "type": 457, - "typeName": "Box::RuntimeCall>>" - }, - { - "name": "max_weight", - "type": 9, - "typeName": "Weight" - } - ], - "index": 3, - "docs": ["See [`Pallet::execute`]."] - }, - { - "name": "force_xcm_version", - "fields": [ - { - "name": "location", - "type": 119, - "typeName": "Box" - }, - { - "name": "version", - "type": 4, - "typeName": "XcmVersion" - } - ], - "index": 4, - "docs": ["See [`Pallet::force_xcm_version`]."] - }, - { - "name": "force_default_xcm_version", - "fields": [ - { - "name": "maybe_xcm_version", - "type": 255, - "typeName": "Option" - } - ], - "index": 5, - "docs": ["See [`Pallet::force_default_xcm_version`]."] - }, - { - "name": "force_subscribe_version_notify", - "fields": [ - { - "name": "location", - "type": 169, - "typeName": "Box" - } - ], - "index": 6, - "docs": [ - "See [`Pallet::force_subscribe_version_notify`]." - ] - }, - { - "name": "force_unsubscribe_version_notify", - "fields": [ - { - "name": "location", - "type": 169, - "typeName": "Box" - } - ], - "index": 7, - "docs": [ - "See [`Pallet::force_unsubscribe_version_notify`]." - ] - }, - { - "name": "limited_reserve_transfer_assets", - "fields": [ - { - "name": "dest", - "type": 169, - "typeName": "Box" - }, - { - "name": "beneficiary", - "type": 169, - "typeName": "Box" - }, - { - "name": "assets", - "type": 155, - "typeName": "Box" - }, - { - "name": "fee_asset_item", - "type": 4, - "typeName": "u32" - }, - { - "name": "weight_limit", - "type": 154, - "typeName": "WeightLimit" - } - ], - "index": 8, - "docs": [ - "See [`Pallet::limited_reserve_transfer_assets`]." - ] - }, - { - "name": "limited_teleport_assets", - "fields": [ - { - "name": "dest", - "type": 169, - "typeName": "Box" - }, - { - "name": "beneficiary", - "type": 169, - "typeName": "Box" - }, - { - "name": "assets", - "type": 155, - "typeName": "Box" - }, - { - "name": "fee_asset_item", - "type": 4, - "typeName": "u32" - }, - { - "name": "weight_limit", - "type": 154, - "typeName": "WeightLimit" - } - ], - "index": 9, - "docs": ["See [`Pallet::limited_teleport_assets`]."] - }, - { - "name": "force_suspension", - "fields": [ - { - "name": "suspended", - "type": 54, - "typeName": "bool" - } - ], - "index": 10, - "docs": ["See [`Pallet::force_suspension`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 445, - "type": { - "path": ["staging_xcm", "VersionedXcm"], - "params": [ - { - "name": "RuntimeCall", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "V2", - "fields": [ - { - "type": 446, - "typeName": "v2::Xcm" - } - ], - "index": 2 - }, - { - "name": "V3", - "fields": [ - { - "type": 128, - "typeName": "v3::Xcm" - } - ], - "index": 3 - } - ] - } - } - } - }, - { - "id": 446, - "type": { - "path": ["staging_xcm", "v2", "Xcm"], - "params": [ - { - "name": "RuntimeCall", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 447, - "typeName": "Vec>" - } - ] - } - } - } - }, - { - "id": 447, - "type": { - "def": { - "sequence": { - "type": 448 - } - } - } - }, - { - "id": 448, - "type": { - "path": ["staging_xcm", "v2", "Instruction"], - "params": [ - { - "name": "RuntimeCall", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "WithdrawAsset", - "fields": [ - { - "type": 156, - "typeName": "MultiAssets" - } - ], - "index": 0 - }, - { - "name": "ReserveAssetDeposited", - "fields": [ - { - "type": 156, - "typeName": "MultiAssets" - } - ], - "index": 1 - }, - { - "name": "ReceiveTeleportedAsset", - "fields": [ - { - "type": 156, - "typeName": "MultiAssets" - } - ], - "index": 2 - }, - { - "name": "QueryResponse", - "fields": [ - { - "name": "query_id", - "type": 10, - "typeName": "QueryId" - }, - { - "name": "response", - "type": 449, - "typeName": "Response" - }, - { - "name": "max_weight", - "type": 10, - "typeName": "u64" - } - ], - "index": 3 - }, - { - "name": "TransferAsset", - "fields": [ - { - "name": "assets", - "type": 156, - "typeName": "MultiAssets" - }, - { - "name": "beneficiary", - "type": 160, - "typeName": "MultiLocation" - } - ], - "index": 4 - }, - { - "name": "TransferReserveAsset", - "fields": [ - { - "name": "assets", - "type": 156, - "typeName": "MultiAssets" - }, - { - "name": "dest", - "type": 160, - "typeName": "MultiLocation" - }, - { - "name": "xcm", - "type": 446, - "typeName": "Xcm<()>" - } - ], - "index": 5 - }, - { - "name": "Transact", - "fields": [ - { - "name": "origin_type", - "type": 148, - "typeName": "OriginKind" - }, - { - "name": "require_weight_at_most", - "type": 10, - "typeName": "u64" - }, - { - "name": "call", - "type": 149, - "typeName": "DoubleEncoded" - } - ], - "index": 6 - }, - { - "name": "HrmpNewChannelOpenRequest", - "fields": [ - { - "name": "sender", - "type": 122, - "typeName": "u32" - }, - { - "name": "max_message_size", - "type": 122, - "typeName": "u32" - }, - { - "name": "max_capacity", - "type": 122, - "typeName": "u32" - } - ], - "index": 7 - }, - { - "name": "HrmpChannelAccepted", - "fields": [ - { - "name": "recipient", - "type": 122, - "typeName": "u32" - } - ], - "index": 8 - }, - { - "name": "HrmpChannelClosing", - "fields": [ - { - "name": "initiator", - "type": 122, - "typeName": "u32" - }, - { - "name": "sender", - "type": 122, - "typeName": "u32" - }, - { - "name": "recipient", - "type": 122, - "typeName": "u32" - } - ], - "index": 9 - }, - { - "name": "ClearOrigin", - "index": 10 - }, - { - "name": "DescendOrigin", - "fields": [ - { - "type": 161, - "typeName": "InteriorMultiLocation" - } - ], - "index": 11 - }, - { - "name": "ReportError", - "fields": [ - { - "name": "query_id", - "type": 10, - "typeName": "QueryId" - }, - { - "name": "dest", - "type": 160, - "typeName": "MultiLocation" - }, - { - "name": "max_response_weight", - "type": 10, - "typeName": "u64" - } - ], - "index": 12 - }, - { - "name": "DepositAsset", - "fields": [ - { - "name": "assets", - "type": 453, - "typeName": "MultiAssetFilter" - }, - { - "name": "max_assets", - "type": 122, - "typeName": "u32" - }, - { - "name": "beneficiary", - "type": 160, - "typeName": "MultiLocation" - } - ], - "index": 13 - }, - { - "name": "DepositReserveAsset", - "fields": [ - { - "name": "assets", - "type": 453, - "typeName": "MultiAssetFilter" - }, - { - "name": "max_assets", - "type": 122, - "typeName": "u32" - }, - { - "name": "dest", - "type": 160, - "typeName": "MultiLocation" - }, - { - "name": "xcm", - "type": 446, - "typeName": "Xcm<()>" - } - ], - "index": 14 - }, - { - "name": "ExchangeAsset", - "fields": [ - { - "name": "give", - "type": 453, - "typeName": "MultiAssetFilter" - }, - { - "name": "receive", - "type": 156, - "typeName": "MultiAssets" - } - ], - "index": 15 - }, - { - "name": "InitiateReserveWithdraw", - "fields": [ - { - "name": "assets", - "type": 453, - "typeName": "MultiAssetFilter" - }, - { - "name": "reserve", - "type": 160, - "typeName": "MultiLocation" - }, - { - "name": "xcm", - "type": 446, - "typeName": "Xcm<()>" - } - ], - "index": 16 - }, - { - "name": "InitiateTeleport", - "fields": [ - { - "name": "assets", - "type": 453, - "typeName": "MultiAssetFilter" - }, - { - "name": "dest", - "type": 160, - "typeName": "MultiLocation" - }, - { - "name": "xcm", - "type": 446, - "typeName": "Xcm<()>" - } - ], - "index": 17 - }, - { - "name": "QueryHolding", - "fields": [ - { - "name": "query_id", - "type": 10, - "typeName": "QueryId" - }, - { - "name": "dest", - "type": 160, - "typeName": "MultiLocation" - }, - { - "name": "assets", - "type": 453, - "typeName": "MultiAssetFilter" - }, - { - "name": "max_response_weight", - "type": 10, - "typeName": "u64" - } - ], - "index": 18 - }, - { - "name": "BuyExecution", - "fields": [ - { - "name": "fees", - "type": 158, - "typeName": "MultiAsset" - }, - { - "name": "weight_limit", - "type": 456, - "typeName": "WeightLimit" - } - ], - "index": 19 - }, - { - "name": "RefundSurplus", - "index": 20 - }, - { - "name": "SetErrorHandler", - "fields": [ - { - "type": 446, - "typeName": "Xcm" - } - ], - "index": 21 - }, - { - "name": "SetAppendix", - "fields": [ - { - "type": 446, - "typeName": "Xcm" - } - ], - "index": 22 - }, - { - "name": "ClearError", - "index": 23 - }, - { - "name": "ClaimAsset", - "fields": [ - { - "name": "assets", - "type": 156, - "typeName": "MultiAssets" - }, - { - "name": "ticket", - "type": 160, - "typeName": "MultiLocation" - } - ], - "index": 24 - }, - { - "name": "Trap", - "fields": [ - { - "type": 10, - "typeName": "u64" - } - ], - "index": 25 - }, - { - "name": "SubscribeVersion", - "fields": [ - { - "name": "query_id", - "type": 10, - "typeName": "QueryId" - }, - { - "name": "max_response_weight", - "type": 10, - "typeName": "u64" - } - ], - "index": 26 - }, - { - "name": "UnsubscribeVersion", - "index": 27 - } - ] - } - } - } - }, - { - "id": 449, - "type": { - "path": ["staging_xcm", "v2", "Response"], - "def": { - "variant": { - "variants": [ - { - "name": "Null", - "index": 0 - }, - { - "name": "Assets", - "fields": [ - { - "type": 156, - "typeName": "MultiAssets" - } - ], - "index": 1 - }, - { - "name": "ExecutionResult", - "fields": [ - { - "type": 450, - "typeName": "Option<(u32, Error)>" - } - ], - "index": 2 - }, - { - "name": "Version", - "fields": [ - { - "type": 4, - "typeName": "super::Version" - } - ], - "index": 3 - } - ] - } - } - } - }, - { - "id": 450, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 451 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 451 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 451, - "type": { - "def": { - "tuple": [4, 452] - } - } - }, - { - "id": 452, - "type": { - "path": ["staging_xcm", "v2", "traits", "Error"], - "def": { - "variant": { - "variants": [ - { - "name": "Overflow", - "index": 0 - }, - { - "name": "Unimplemented", - "index": 1 - }, - { - "name": "UntrustedReserveLocation", - "index": 2 - }, - { - "name": "UntrustedTeleportLocation", - "index": 3 - }, - { - "name": "MultiLocationFull", - "index": 4 - }, - { - "name": "MultiLocationNotInvertible", - "index": 5 - }, - { - "name": "BadOrigin", - "index": 6 - }, - { - "name": "InvalidLocation", - "index": 7 - }, - { - "name": "AssetNotFound", - "index": 8 - }, - { - "name": "FailedToTransactAsset", - "index": 9 - }, - { - "name": "NotWithdrawable", - "index": 10 - }, - { - "name": "LocationCannotHold", - "index": 11 - }, - { - "name": "ExceedsMaxMessageSize", - "index": 12 - }, - { - "name": "DestinationUnsupported", - "index": 13 - }, - { - "name": "Transport", - "index": 14 - }, - { - "name": "Unroutable", - "index": 15 - }, - { - "name": "UnknownClaim", - "index": 16 - }, - { - "name": "FailedToDecode", - "index": 17 - }, - { - "name": "MaxWeightInvalid", - "index": 18 - }, - { - "name": "NotHoldingFees", - "index": 19 - }, - { - "name": "TooExpensive", - "index": 20 - }, - { - "name": "Trap", - "fields": [ - { - "type": 11, - "typeName": "u64" - } - ], - "index": 21 - }, - { - "name": "UnhandledXcmVersion", - "index": 22 - }, - { - "name": "WeightLimitReached", - "fields": [ - { - "type": 11, - "typeName": "Weight" - } - ], - "index": 23 - }, - { - "name": "Barrier", - "index": 24 - }, - { - "name": "WeightNotComputable", - "index": 25 - } - ] - } - } - } - }, - { - "id": 453, - "type": { - "path": ["staging_xcm", "v2", "multiasset", "MultiAssetFilter"], - "def": { - "variant": { - "variants": [ - { - "name": "Definite", - "fields": [ - { - "type": 156, - "typeName": "MultiAssets" - } - ], - "index": 0 - }, - { - "name": "Wild", - "fields": [ - { - "type": 454, - "typeName": "WildMultiAsset" - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 454, - "type": { - "path": ["staging_xcm", "v2", "multiasset", "WildMultiAsset"], - "def": { - "variant": { - "variants": [ - { - "name": "All", - "index": 0 - }, - { - "name": "AllOf", - "fields": [ - { - "name": "id", - "type": 159, - "typeName": "AssetId" - }, - { - "name": "fun", - "type": 455, - "typeName": "WildFungibility" - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 455, - "type": { - "path": ["staging_xcm", "v2", "multiasset", "WildFungibility"], - "def": { - "variant": { - "variants": [ - { - "name": "Fungible", - "index": 0 - }, - { - "name": "NonFungible", - "index": 1 - } - ] - } - } - } - }, - { - "id": 456, - "type": { - "path": ["staging_xcm", "v2", "WeightLimit"], - "def": { - "variant": { - "variants": [ - { - "name": "Unlimited", - "index": 0 - }, - { - "name": "Limited", - "fields": [ - { - "type": 10, - "typeName": "u64" - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 457, - "type": { - "path": ["staging_xcm", "VersionedXcm"], - "params": [ - { - "name": "RuntimeCall", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "V2", - "fields": [ - { - "type": 458, - "typeName": "v2::Xcm" - } - ], - "index": 2 - }, - { - "name": "V3", - "fields": [ - { - "type": 462, - "typeName": "v3::Xcm" - } - ], - "index": 3 - } - ] - } - } - } - }, - { - "id": 458, - "type": { - "path": ["staging_xcm", "v2", "Xcm"], - "params": [ - { - "name": "RuntimeCall", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 459, - "typeName": "Vec>" - } - ] - } - } - } - }, - { - "id": 459, - "type": { - "def": { - "sequence": { - "type": 460 - } - } - } - }, - { - "id": 460, - "type": { - "path": ["staging_xcm", "v2", "Instruction"], - "params": [ - { - "name": "RuntimeCall", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "WithdrawAsset", - "fields": [ - { - "type": 156, - "typeName": "MultiAssets" - } - ], - "index": 0 - }, - { - "name": "ReserveAssetDeposited", - "fields": [ - { - "type": 156, - "typeName": "MultiAssets" - } - ], - "index": 1 - }, - { - "name": "ReceiveTeleportedAsset", - "fields": [ - { - "type": 156, - "typeName": "MultiAssets" - } - ], - "index": 2 - }, - { - "name": "QueryResponse", - "fields": [ - { - "name": "query_id", - "type": 10, - "typeName": "QueryId" - }, - { - "name": "response", - "type": 449, - "typeName": "Response" - }, - { - "name": "max_weight", - "type": 10, - "typeName": "u64" - } - ], - "index": 3 - }, - { - "name": "TransferAsset", - "fields": [ - { - "name": "assets", - "type": 156, - "typeName": "MultiAssets" - }, - { - "name": "beneficiary", - "type": 160, - "typeName": "MultiLocation" - } - ], - "index": 4 - }, - { - "name": "TransferReserveAsset", - "fields": [ - { - "name": "assets", - "type": 156, - "typeName": "MultiAssets" - }, - { - "name": "dest", - "type": 160, - "typeName": "MultiLocation" - }, - { - "name": "xcm", - "type": 446, - "typeName": "Xcm<()>" - } - ], - "index": 5 - }, - { - "name": "Transact", - "fields": [ - { - "name": "origin_type", - "type": 148, - "typeName": "OriginKind" - }, - { - "name": "require_weight_at_most", - "type": 10, - "typeName": "u64" - }, - { - "name": "call", - "type": 461, - "typeName": "DoubleEncoded" - } - ], - "index": 6 - }, - { - "name": "HrmpNewChannelOpenRequest", - "fields": [ - { - "name": "sender", - "type": 122, - "typeName": "u32" - }, - { - "name": "max_message_size", - "type": 122, - "typeName": "u32" - }, - { - "name": "max_capacity", - "type": 122, - "typeName": "u32" - } - ], - "index": 7 - }, - { - "name": "HrmpChannelAccepted", - "fields": [ - { - "name": "recipient", - "type": 122, - "typeName": "u32" - } - ], - "index": 8 - }, - { - "name": "HrmpChannelClosing", - "fields": [ - { - "name": "initiator", - "type": 122, - "typeName": "u32" - }, - { - "name": "sender", - "type": 122, - "typeName": "u32" - }, - { - "name": "recipient", - "type": 122, - "typeName": "u32" - } - ], - "index": 9 - }, - { - "name": "ClearOrigin", - "index": 10 - }, - { - "name": "DescendOrigin", - "fields": [ - { - "type": 161, - "typeName": "InteriorMultiLocation" - } - ], - "index": 11 - }, - { - "name": "ReportError", - "fields": [ - { - "name": "query_id", - "type": 10, - "typeName": "QueryId" - }, - { - "name": "dest", - "type": 160, - "typeName": "MultiLocation" - }, - { - "name": "max_response_weight", - "type": 10, - "typeName": "u64" - } - ], - "index": 12 - }, - { - "name": "DepositAsset", - "fields": [ - { - "name": "assets", - "type": 453, - "typeName": "MultiAssetFilter" - }, - { - "name": "max_assets", - "type": 122, - "typeName": "u32" - }, - { - "name": "beneficiary", - "type": 160, - "typeName": "MultiLocation" - } - ], - "index": 13 - }, - { - "name": "DepositReserveAsset", - "fields": [ - { - "name": "assets", - "type": 453, - "typeName": "MultiAssetFilter" - }, - { - "name": "max_assets", - "type": 122, - "typeName": "u32" - }, - { - "name": "dest", - "type": 160, - "typeName": "MultiLocation" - }, - { - "name": "xcm", - "type": 446, - "typeName": "Xcm<()>" - } - ], - "index": 14 - }, - { - "name": "ExchangeAsset", - "fields": [ - { - "name": "give", - "type": 453, - "typeName": "MultiAssetFilter" - }, - { - "name": "receive", - "type": 156, - "typeName": "MultiAssets" - } - ], - "index": 15 - }, - { - "name": "InitiateReserveWithdraw", - "fields": [ - { - "name": "assets", - "type": 453, - "typeName": "MultiAssetFilter" - }, - { - "name": "reserve", - "type": 160, - "typeName": "MultiLocation" - }, - { - "name": "xcm", - "type": 446, - "typeName": "Xcm<()>" - } - ], - "index": 16 - }, - { - "name": "InitiateTeleport", - "fields": [ - { - "name": "assets", - "type": 453, - "typeName": "MultiAssetFilter" - }, - { - "name": "dest", - "type": 160, - "typeName": "MultiLocation" - }, - { - "name": "xcm", - "type": 446, - "typeName": "Xcm<()>" - } - ], - "index": 17 - }, - { - "name": "QueryHolding", - "fields": [ - { - "name": "query_id", - "type": 10, - "typeName": "QueryId" - }, - { - "name": "dest", - "type": 160, - "typeName": "MultiLocation" - }, - { - "name": "assets", - "type": 453, - "typeName": "MultiAssetFilter" - }, - { - "name": "max_response_weight", - "type": 10, - "typeName": "u64" - } - ], - "index": 18 - }, - { - "name": "BuyExecution", - "fields": [ - { - "name": "fees", - "type": 158, - "typeName": "MultiAsset" - }, - { - "name": "weight_limit", - "type": 456, - "typeName": "WeightLimit" - } - ], - "index": 19 - }, - { - "name": "RefundSurplus", - "index": 20 - }, - { - "name": "SetErrorHandler", - "fields": [ - { - "type": 458, - "typeName": "Xcm" - } - ], - "index": 21 - }, - { - "name": "SetAppendix", - "fields": [ - { - "type": 458, - "typeName": "Xcm" - } - ], - "index": 22 - }, - { - "name": "ClearError", - "index": 23 - }, - { - "name": "ClaimAsset", - "fields": [ - { - "name": "assets", - "type": 156, - "typeName": "MultiAssets" - }, - { - "name": "ticket", - "type": 160, - "typeName": "MultiLocation" - } - ], - "index": 24 - }, - { - "name": "Trap", - "fields": [ - { - "type": 10, - "typeName": "u64" - } - ], - "index": 25 - }, - { - "name": "SubscribeVersion", - "fields": [ - { - "name": "query_id", - "type": 10, - "typeName": "QueryId" - }, - { - "name": "max_response_weight", - "type": 10, - "typeName": "u64" - } - ], - "index": 26 - }, - { - "name": "UnsubscribeVersion", - "index": 27 - } - ] - } - } - } - }, - { - "id": 461, - "type": { - "path": ["staging_xcm", "double_encoded", "DoubleEncoded"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "encoded", - "type": 13, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 462, - "type": { - "path": ["staging_xcm", "v3", "Xcm"], - "params": [ - { - "name": "Call", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 463, - "typeName": "Vec>" - } - ] - } - } - } - }, - { - "id": 463, - "type": { - "def": { - "sequence": { - "type": 464 - } - } - } - }, - { - "id": 464, - "type": { - "path": ["staging_xcm", "v3", "Instruction"], - "params": [ - { - "name": "Call", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "WithdrawAsset", - "fields": [ - { - "type": 131, - "typeName": "MultiAssets" - } - ], - "index": 0 - }, - { - "name": "ReserveAssetDeposited", - "fields": [ - { - "type": 131, - "typeName": "MultiAssets" - } - ], - "index": 1 - }, - { - "name": "ReceiveTeleportedAsset", - "fields": [ - { - "type": 131, - "typeName": "MultiAssets" - } - ], - "index": 2 - }, - { - "name": "QueryResponse", - "fields": [ - { - "name": "query_id", - "type": 10, - "typeName": "QueryId" - }, - { - "name": "response", - "type": 138, - "typeName": "Response" - }, - { - "name": "max_weight", - "type": 9, - "typeName": "Weight" - }, - { - "name": "querier", - "type": 147, - "typeName": "Option" - } - ], - "index": 3 - }, - { - "name": "TransferAsset", - "fields": [ - { - "name": "assets", - "type": 131, - "typeName": "MultiAssets" - }, - { - "name": "beneficiary", - "type": 119, - "typeName": "MultiLocation" - } - ], - "index": 4 - }, - { - "name": "TransferReserveAsset", - "fields": [ - { - "name": "assets", - "type": 131, - "typeName": "MultiAssets" - }, - { - "name": "dest", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "xcm", - "type": 128, - "typeName": "Xcm<()>" - } - ], - "index": 5 - }, - { - "name": "Transact", - "fields": [ - { - "name": "origin_kind", - "type": 148, - "typeName": "OriginKind" - }, - { - "name": "require_weight_at_most", - "type": 9, - "typeName": "Weight" - }, - { - "name": "call", - "type": 461, - "typeName": "DoubleEncoded" - } - ], - "index": 6 - }, - { - "name": "HrmpNewChannelOpenRequest", - "fields": [ - { - "name": "sender", - "type": 122, - "typeName": "u32" - }, - { - "name": "max_message_size", - "type": 122, - "typeName": "u32" - }, - { - "name": "max_capacity", - "type": 122, - "typeName": "u32" - } - ], - "index": 7 - }, - { - "name": "HrmpChannelAccepted", - "fields": [ - { - "name": "recipient", - "type": 122, - "typeName": "u32" - } - ], - "index": 8 - }, - { - "name": "HrmpChannelClosing", - "fields": [ - { - "name": "initiator", - "type": 122, - "typeName": "u32" - }, - { - "name": "sender", - "type": 122, - "typeName": "u32" - }, - { - "name": "recipient", - "type": 122, - "typeName": "u32" - } - ], - "index": 9 - }, - { - "name": "ClearOrigin", - "index": 10 - }, - { - "name": "DescendOrigin", - "fields": [ - { - "type": 120, - "typeName": "InteriorMultiLocation" - } - ], - "index": 11 - }, - { - "name": "ReportError", - "fields": [ - { - "type": 150, - "typeName": "QueryResponseInfo" - } - ], - "index": 12 - }, - { - "name": "DepositAsset", - "fields": [ - { - "name": "assets", - "type": 151, - "typeName": "MultiAssetFilter" - }, - { - "name": "beneficiary", - "type": 119, - "typeName": "MultiLocation" - } - ], - "index": 13 - }, - { - "name": "DepositReserveAsset", - "fields": [ - { - "name": "assets", - "type": 151, - "typeName": "MultiAssetFilter" - }, - { - "name": "dest", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "xcm", - "type": 128, - "typeName": "Xcm<()>" - } - ], - "index": 14 - }, - { - "name": "ExchangeAsset", - "fields": [ - { - "name": "give", - "type": 151, - "typeName": "MultiAssetFilter" - }, - { - "name": "want", - "type": 131, - "typeName": "MultiAssets" - }, - { - "name": "maximal", - "type": 54, - "typeName": "bool" - } - ], - "index": 15 - }, - { - "name": "InitiateReserveWithdraw", - "fields": [ - { - "name": "assets", - "type": 151, - "typeName": "MultiAssetFilter" - }, - { - "name": "reserve", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "xcm", - "type": 128, - "typeName": "Xcm<()>" - } - ], - "index": 16 - }, - { - "name": "InitiateTeleport", - "fields": [ - { - "name": "assets", - "type": 151, - "typeName": "MultiAssetFilter" - }, - { - "name": "dest", - "type": 119, - "typeName": "MultiLocation" - }, - { - "name": "xcm", - "type": 128, - "typeName": "Xcm<()>" - } - ], - "index": 17 - }, - { - "name": "ReportHolding", - "fields": [ - { - "name": "response_info", - "type": 150, - "typeName": "QueryResponseInfo" - }, - { - "name": "assets", - "type": 151, - "typeName": "MultiAssetFilter" - } - ], - "index": 18 - }, - { - "name": "BuyExecution", - "fields": [ - { - "name": "fees", - "type": 133, - "typeName": "MultiAsset" - }, - { - "name": "weight_limit", - "type": 154, - "typeName": "WeightLimit" - } - ], - "index": 19 - }, - { - "name": "RefundSurplus", - "index": 20 - }, - { - "name": "SetErrorHandler", - "fields": [ - { - "type": 462, - "typeName": "Xcm" - } - ], - "index": 21 - }, - { - "name": "SetAppendix", - "fields": [ - { - "type": 462, - "typeName": "Xcm" - } - ], - "index": 22 - }, - { - "name": "ClearError", - "index": 23 - }, - { - "name": "ClaimAsset", - "fields": [ - { - "name": "assets", - "type": 131, - "typeName": "MultiAssets" - }, - { - "name": "ticket", - "type": 119, - "typeName": "MultiLocation" - } - ], - "index": 24 - }, - { - "name": "Trap", - "fields": [ - { - "type": 10, - "typeName": "u64" - } - ], - "index": 25 - }, - { - "name": "SubscribeVersion", - "fields": [ - { - "name": "query_id", - "type": 10, - "typeName": "QueryId" - }, - { - "name": "max_response_weight", - "type": 9, - "typeName": "Weight" - } - ], - "index": 26 - }, - { - "name": "UnsubscribeVersion", - "index": 27 - }, - { - "name": "BurnAsset", - "fields": [ - { - "type": 131, - "typeName": "MultiAssets" - } - ], - "index": 28 - }, - { - "name": "ExpectAsset", - "fields": [ - { - "type": 131, - "typeName": "MultiAssets" - } - ], - "index": 29 - }, - { - "name": "ExpectOrigin", - "fields": [ - { - "type": 147, - "typeName": "Option" - } - ], - "index": 30 - }, - { - "name": "ExpectError", - "fields": [ - { - "type": 139, - "typeName": "Option<(u32, Error)>" - } - ], - "index": 31 - }, - { - "name": "ExpectTransactStatus", - "fields": [ - { - "type": 145, - "typeName": "MaybeErrorCode" - } - ], - "index": 32 - }, - { - "name": "QueryPallet", - "fields": [ - { - "name": "module_name", - "type": 13, - "typeName": "Vec" - }, - { - "name": "response_info", - "type": 150, - "typeName": "QueryResponseInfo" - } - ], - "index": 33 - }, - { - "name": "ExpectPallet", - "fields": [ - { - "name": "index", - "type": 122, - "typeName": "u32" - }, - { - "name": "name", - "type": 13, - "typeName": "Vec" - }, - { - "name": "module_name", - "type": 13, - "typeName": "Vec" - }, - { - "name": "crate_major", - "type": 122, - "typeName": "u32" - }, - { - "name": "min_crate_minor", - "type": 122, - "typeName": "u32" - } - ], - "index": 34 - }, - { - "name": "ReportTransactStatus", - "fields": [ - { - "type": 150, - "typeName": "QueryResponseInfo" - } - ], - "index": 35 - }, - { - "name": "ClearTransactStatus", - "index": 36 - }, - { - "name": "UniversalOrigin", - "fields": [ - { - "type": 121, - "typeName": "Junction" - } - ], - "index": 37 - }, - { - "name": "ExportMessage", - "fields": [ - { - "name": "network", - "type": 124, - "typeName": "NetworkId" - }, - { - "name": "destination", - "type": 120, - "typeName": "InteriorMultiLocation" - }, - { - "name": "xcm", - "type": 128, - "typeName": "Xcm<()>" - } - ], - "index": 38 - }, - { - "name": "LockAsset", - "fields": [ - { - "name": "asset", - "type": 133, - "typeName": "MultiAsset" - }, - { - "name": "unlocker", - "type": 119, - "typeName": "MultiLocation" - } - ], - "index": 39 - }, - { - "name": "UnlockAsset", - "fields": [ - { - "name": "asset", - "type": 133, - "typeName": "MultiAsset" - }, - { - "name": "target", - "type": 119, - "typeName": "MultiLocation" - } - ], - "index": 40 - }, - { - "name": "NoteUnlockable", - "fields": [ - { - "name": "asset", - "type": 133, - "typeName": "MultiAsset" - }, - { - "name": "owner", - "type": 119, - "typeName": "MultiLocation" - } - ], - "index": 41 - }, - { - "name": "RequestUnlock", - "fields": [ - { - "name": "asset", - "type": 133, - "typeName": "MultiAsset" - }, - { - "name": "locker", - "type": 119, - "typeName": "MultiLocation" - } - ], - "index": 42 - }, - { - "name": "SetFeesMode", - "fields": [ - { - "name": "jit_withdraw", - "type": 54, - "typeName": "bool" - } - ], - "index": 43 - }, - { - "name": "SetTopic", - "fields": [ - { - "type": 1, - "typeName": "[u8; 32]" - } - ], - "index": 44 - }, - { - "name": "ClearTopic", - "index": 45 - }, - { - "name": "AliasOrigin", - "fields": [ - { - "type": 119, - "typeName": "MultiLocation" - } - ], - "index": 46 - }, - { - "name": "UnpaidExecution", - "fields": [ - { - "name": "weight_limit", - "type": 154, - "typeName": "WeightLimit" - }, - { - "name": "check_origin", - "type": 147, - "typeName": "Option" - } - ], - "index": 47 - } - ] - } - } - } - }, - { - "id": 465, - "type": { - "path": [ - "polkadot_runtime_common", - "paras_sudo_wrapper", - "pallet", - "Call" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "sudo_schedule_para_initialize", - "fields": [ - { - "name": "id", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "genesis", - "type": 466, - "typeName": "ParaGenesisArgs" - } - ], - "index": 0, - "docs": ["See [`Pallet::sudo_schedule_para_initialize`]."] - }, - { - "name": "sudo_schedule_para_cleanup", - "fields": [ - { - "name": "id", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 1, - "docs": ["See [`Pallet::sudo_schedule_para_cleanup`]."] - }, - { - "name": "sudo_schedule_parathread_upgrade", - "fields": [ - { - "name": "id", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 2, - "docs": [ - "See [`Pallet::sudo_schedule_parathread_upgrade`]." - ] - }, - { - "name": "sudo_schedule_parachain_downgrade", - "fields": [ - { - "name": "id", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 3, - "docs": [ - "See [`Pallet::sudo_schedule_parachain_downgrade`]." - ] - }, - { - "name": "sudo_queue_downward_xcm", - "fields": [ - { - "name": "id", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "xcm", - "type": 445, - "typeName": "Box" - } - ], - "index": 4, - "docs": ["See [`Pallet::sudo_queue_downward_xcm`]."] - }, - { - "name": "sudo_establish_hrmp_channel", - "fields": [ - { - "name": "sender", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "recipient", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "max_capacity", - "type": 4, - "typeName": "u32" - }, - { - "name": "max_message_size", - "type": 4, - "typeName": "u32" - } - ], - "index": 5, - "docs": ["See [`Pallet::sudo_establish_hrmp_channel`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 466, - "type": { - "path": [ - "polkadot_runtime_parachains", - "paras", - "ParaGenesisArgs" - ], - "def": { - "composite": { - "fields": [ - { - "name": "genesis_head", - "type": 96, - "typeName": "HeadData" - }, - { - "name": "validation_code", - "type": 414, - "typeName": "ValidationCode" - }, - { - "name": "para_kind", - "type": 54, - "typeName": "ParaKind" - } - ] - } - } - } - }, - { - "id": 467, - "type": { - "path": [ - "polkadot_runtime_common", - "assigned_slots", - "pallet", - "Call" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "assign_perm_parachain_slot", - "fields": [ - { - "name": "id", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 0, - "docs": ["See [`Pallet::assign_perm_parachain_slot`]."] - }, - { - "name": "assign_temp_parachain_slot", - "fields": [ - { - "name": "id", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "lease_period_start", - "type": 468, - "typeName": "SlotLeasePeriodStart" - } - ], - "index": 1, - "docs": ["See [`Pallet::assign_temp_parachain_slot`]."] - }, - { - "name": "unassign_parachain_slot", - "fields": [ - { - "name": "id", - "type": 90, - "typeName": "ParaId" - } - ], - "index": 2, - "docs": ["See [`Pallet::unassign_parachain_slot`]."] - }, - { - "name": "set_max_permanent_slots", - "fields": [ - { - "name": "slots", - "type": 4, - "typeName": "u32" - } - ], - "index": 3, - "docs": ["See [`Pallet::set_max_permanent_slots`]."] - }, - { - "name": "set_max_temporary_slots", - "fields": [ - { - "name": "slots", - "type": 4, - "typeName": "u32" - } - ], - "index": 4, - "docs": ["See [`Pallet::set_max_temporary_slots`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 468, - "type": { - "path": [ - "polkadot_runtime_common", - "assigned_slots", - "SlotLeasePeriodStart" - ], - "def": { - "variant": { - "variants": [ - { - "name": "Current", - "index": 0 - }, - { - "name": "Next", - "index": 1 - } - ] - } - } - } - }, - { - "id": 469, - "type": { - "path": ["rococo_runtime", "validator_manager", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "register_validators", - "fields": [ - { - "name": "validators", - "type": 68, - "typeName": "Vec" - } - ], - "index": 0, - "docs": ["See [`Pallet::register_validators`]."] - }, - { - "name": "deregister_validators", - "fields": [ - { - "name": "validators", - "type": 68, - "typeName": "Vec" - } - ], - "index": 1, - "docs": ["See [`Pallet::deregister_validators`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 470, - "type": { - "path": ["pallet_state_trie_migration", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "control_auto_migration", - "fields": [ - { - "name": "maybe_config", - "type": 471, - "typeName": "Option" - } - ], - "index": 0, - "docs": ["See [`Pallet::control_auto_migration`]."] - }, - { - "name": "continue_migrate", - "fields": [ - { - "name": "limits", - "type": 472, - "typeName": "MigrationLimits" - }, - { - "name": "real_size_upper", - "type": 4, - "typeName": "u32" - }, - { - "name": "witness_task", - "type": 473, - "typeName": "MigrationTask" - } - ], - "index": 1, - "docs": ["See [`Pallet::continue_migrate`]."] - }, - { - "name": "migrate_custom_top", - "fields": [ - { - "name": "keys", - "type": 185, - "typeName": "Vec>" - }, - { - "name": "witness_size", - "type": 4, - "typeName": "u32" - } - ], - "index": 2, - "docs": ["See [`Pallet::migrate_custom_top`]."] - }, - { - "name": "migrate_custom_child", - "fields": [ - { - "name": "root", - "type": 13, - "typeName": "Vec" - }, - { - "name": "child_keys", - "type": 185, - "typeName": "Vec>" - }, - { - "name": "total_size", - "type": 4, - "typeName": "u32" - } - ], - "index": 3, - "docs": ["See [`Pallet::migrate_custom_child`]."] - }, - { - "name": "set_signed_max_limits", - "fields": [ - { - "name": "limits", - "type": 472, - "typeName": "MigrationLimits" - } - ], - "index": 4, - "docs": ["See [`Pallet::set_signed_max_limits`]."] - }, - { - "name": "force_set_progress", - "fields": [ - { - "name": "progress_top", - "type": 474, - "typeName": "ProgressOf" - }, - { - "name": "progress_child", - "type": 474, - "typeName": "ProgressOf" - } - ], - "index": 5, - "docs": ["See [`Pallet::force_set_progress`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 471, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 472 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 472 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 472, - "type": { - "path": [ - "pallet_state_trie_migration", - "pallet", - "MigrationLimits" - ], - "def": { - "composite": { - "fields": [ - { - "name": "size", - "type": 4, - "typeName": "u32" - }, - { - "name": "item", - "type": 4, - "typeName": "u32" - } - ] - } - } - } - }, - { - "id": 473, - "type": { - "path": [ - "pallet_state_trie_migration", - "pallet", - "MigrationTask" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "progress_top", - "type": 474, - "typeName": "ProgressOf" - }, - { - "name": "progress_child", - "type": 474, - "typeName": "ProgressOf" - }, - { - "name": "size", - "type": 4, - "typeName": "u32" - }, - { - "name": "top_items", - "type": 4, - "typeName": "u32" - }, - { - "name": "child_items", - "type": 4, - "typeName": "u32" - } - ] - } - } - } - }, - { - "id": 474, - "type": { - "path": ["pallet_state_trie_migration", "pallet", "Progress"], - "params": [ - { - "name": "MaxKeyLen", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "ToStart", - "index": 0 - }, - { - "name": "LastKey", - "fields": [ - { - "type": 475, - "typeName": "BoundedVec" - } - ], - "index": 1 - }, - { - "name": "Complete", - "index": 2 - } - ] - } - } - } - }, - { - "id": 475, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 2 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 13, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 476, - "type": { - "path": ["pallet_sudo", "pallet", "Call"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "sudo", - "fields": [ - { - "name": "call", - "type": 305, - "typeName": "Box<::RuntimeCall>" - } - ], - "index": 0, - "docs": ["See [`Pallet::sudo`]."] - }, - { - "name": "sudo_unchecked_weight", - "fields": [ - { - "name": "call", - "type": 305, - "typeName": "Box<::RuntimeCall>" - }, - { - "name": "weight", - "type": 9, - "typeName": "Weight" - } - ], - "index": 1, - "docs": ["See [`Pallet::sudo_unchecked_weight`]."] - }, - { - "name": "set_key", - "fields": [ - { - "name": "new", - "type": 226, - "typeName": "AccountIdLookupOf" - } - ], - "index": 2, - "docs": ["See [`Pallet::set_key`]."] - }, - { - "name": "sudo_as", - "fields": [ - { - "name": "who", - "type": 226, - "typeName": "AccountIdLookupOf" - }, - { - "name": "call", - "type": 305, - "typeName": "Box<::RuntimeCall>" - } - ], - "index": 3, - "docs": ["See [`Pallet::sudo_as`]."] - } - ] - } - }, - "docs": [ - "Contains a variant per dispatchable extrinsic that this pallet has." - ] - } - }, - { - "id": 477, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 2 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 13, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 478, - "type": { - "def": { - "sequence": { - "type": 303 - } - } - } - }, - { - "id": 479, - "type": { - "def": { - "tuple": [480, 6] - } - } - }, - { - "id": 480, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 0 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 68, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 481, - "type": { - "path": ["pallet_democracy", "types", "ReferendumInfo"], - "params": [ - { - "name": "BlockNumber", - "type": 4 - }, - { - "name": "Proposal", - "type": 304 - }, - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Ongoing", - "fields": [ - { - "type": 482, - "typeName": "ReferendumStatus" - } - ], - "index": 0 - }, - { - "name": "Finished", - "fields": [ - { - "name": "approved", - "type": 54, - "typeName": "bool" - }, - { - "name": "end", - "type": 4, - "typeName": "BlockNumber" - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 482, - "type": { - "path": ["pallet_democracy", "types", "ReferendumStatus"], - "params": [ - { - "name": "BlockNumber", - "type": 4 - }, - { - "name": "Proposal", - "type": 304 - }, - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "end", - "type": 4, - "typeName": "BlockNumber" - }, - { - "name": "proposal", - "type": 304, - "typeName": "Proposal" - }, - { - "name": "threshold", - "type": 49, - "typeName": "VoteThreshold" - }, - { - "name": "delay", - "type": 4, - "typeName": "BlockNumber" - }, - { - "name": "tally", - "type": 483, - "typeName": "Tally" - } - ] - } - } - } - }, - { - "id": 483, - "type": { - "path": ["pallet_democracy", "types", "Tally"], - "params": [ - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "ayes", - "type": 6, - "typeName": "Balance" - }, - { - "name": "nays", - "type": 6, - "typeName": "Balance" - }, - { - "name": "turnout", - "type": 6, - "typeName": "Balance" - } - ] - } - } - } - }, - { - "id": 484, - "type": { - "path": ["pallet_democracy", "vote", "Voting"], - "params": [ - { - "name": "Balance", - "type": 6 - }, - { - "name": "AccountId", - "type": 0 - }, - { - "name": "BlockNumber", - "type": 4 - }, - { - "name": "MaxVotes", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Direct", - "fields": [ - { - "name": "votes", - "type": 485, - "typeName": "BoundedVec<(ReferendumIndex, AccountVote), MaxVotes>" - }, - { - "name": "delegations", - "type": 488, - "typeName": "Delegations" - }, - { - "name": "prior", - "type": 489, - "typeName": "PriorLock" - } - ], - "index": 0 - }, - { - "name": "Delegating", - "fields": [ - { - "name": "balance", - "type": 6, - "typeName": "Balance" - }, - { - "name": "target", - "type": 0, - "typeName": "AccountId" - }, - { - "name": "conviction", - "type": 307, - "typeName": "Conviction" - }, - { - "name": "delegations", - "type": 488, - "typeName": "Delegations" - }, - { - "name": "prior", - "type": 489, - "typeName": "PriorLock" - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 485, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 486 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 487, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 486, - "type": { - "def": { - "tuple": [4, 50] - } - } - }, - { - "id": 487, - "type": { - "def": { - "sequence": { - "type": 486 - } - } - } - }, - { - "id": 488, - "type": { - "path": ["pallet_democracy", "types", "Delegations"], - "params": [ - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "votes", - "type": 6, - "typeName": "Balance" - }, - { - "name": "capital", - "type": 6, - "typeName": "Balance" - } - ] - } - } - } - }, - { - "id": 489, - "type": { - "path": ["pallet_democracy", "vote", "PriorLock"], - "params": [ - { - "name": "BlockNumber", - "type": 4 - }, - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 4, - "typeName": "BlockNumber" - }, - { - "type": 6, - "typeName": "Balance" - } - ] - } - } - } - }, - { - "id": 490, - "type": { - "def": { - "tuple": [304, 49] - } - } - }, - { - "id": 491, - "type": { - "def": { - "tuple": [4, 480] - } - } - }, - { - "id": 492, - "type": { - "path": ["pallet_democracy", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "ValueLow", - "index": 0, - "docs": ["Value too low"] - }, - { - "name": "ProposalMissing", - "index": 1, - "docs": ["Proposal does not exist"] - }, - { - "name": "AlreadyCanceled", - "index": 2, - "docs": ["Cannot cancel the same proposal twice"] - }, - { - "name": "DuplicateProposal", - "index": 3, - "docs": ["Proposal already made"] - }, - { - "name": "ProposalBlacklisted", - "index": 4, - "docs": ["Proposal still blacklisted"] - }, - { - "name": "NotSimpleMajority", - "index": 5, - "docs": ["Next external proposal not simple majority"] - }, - { - "name": "InvalidHash", - "index": 6, - "docs": ["Invalid hash"] - }, - { - "name": "NoProposal", - "index": 7, - "docs": ["No external proposal"] - }, - { - "name": "AlreadyVetoed", - "index": 8, - "docs": ["Identity may not veto a proposal twice"] - }, - { - "name": "ReferendumInvalid", - "index": 9, - "docs": ["Vote given for invalid referendum"] - }, - { - "name": "NoneWaiting", - "index": 10, - "docs": ["No proposals waiting"] - }, - { - "name": "NotVoter", - "index": 11, - "docs": [ - "The given account did not vote on the referendum." - ] - }, - { - "name": "NoPermission", - "index": 12, - "docs": [ - "The actor has no permission to conduct the action." - ] - }, - { - "name": "AlreadyDelegating", - "index": 13, - "docs": ["The account is already delegating."] - }, - { - "name": "InsufficientFunds", - "index": 14, - "docs": [ - "Too high a balance was provided that the account cannot afford." - ] - }, - { - "name": "NotDelegating", - "index": 15, - "docs": ["The account is not currently delegating."] - }, - { - "name": "VotesExist", - "index": 16, - "docs": [ - "The account currently has votes attached to it and the operation cannot succeed until", - "these are removed, either through `unvote` or `reap_vote`." - ] - }, - { - "name": "InstantNotAllowed", - "index": 17, - "docs": [ - "The instant referendum origin is currently disallowed." - ] - }, - { - "name": "Nonsense", - "index": 18, - "docs": ["Delegation to oneself makes no sense."] - }, - { - "name": "WrongUpperBound", - "index": 19, - "docs": ["Invalid upper bound."] - }, - { - "name": "MaxVotesReached", - "index": 20, - "docs": ["Maximum number of votes reached."] - }, - { - "name": "TooMany", - "index": 21, - "docs": ["Maximum number of items reached."] - }, - { - "name": "VotingPeriodLow", - "index": 22, - "docs": ["Voting period too low"] - }, - { - "name": "PreimageNotExist", - "index": 23, - "docs": ["The preimage does not exist."] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 493, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 12 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 178, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 494, - "type": { - "path": ["pallet_collective", "Votes"], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "BlockNumber", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "index", - "type": 4, - "typeName": "ProposalIndex" - }, - { - "name": "threshold", - "type": 4, - "typeName": "MemberCount" - }, - { - "name": "ayes", - "type": 68, - "typeName": "Vec" - }, - { - "name": "nays", - "type": 68, - "typeName": "Vec" - }, - { - "name": "end", - "type": 4, - "typeName": "BlockNumber" - } - ] - } - } - } - }, - { - "id": 495, - "type": { - "path": ["pallet_collective", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "NotMember", - "index": 0, - "docs": ["Account is not a member"] - }, - { - "name": "DuplicateProposal", - "index": 1, - "docs": ["Duplicate proposals not allowed"] - }, - { - "name": "ProposalMissing", - "index": 2, - "docs": ["Proposal must exist"] - }, - { - "name": "WrongIndex", - "index": 3, - "docs": ["Mismatched index"] - }, - { - "name": "DuplicateVote", - "index": 4, - "docs": ["Duplicate vote ignored"] - }, - { - "name": "AlreadyInitialized", - "index": 5, - "docs": ["Members are already initialized!"] - }, - { - "name": "TooEarly", - "index": 6, - "docs": [ - "The close call was made too early, before the end of the voting." - ] - }, - { - "name": "TooManyProposals", - "index": 7, - "docs": [ - "There can only be a maximum of `MaxProposals` active proposals." - ] - }, - { - "name": "WrongProposalWeight", - "index": 8, - "docs": [ - "The given weight bound for the proposal was too low." - ] - }, - { - "name": "WrongProposalLength", - "index": 9, - "docs": [ - "The given length bound for the proposal was too low." - ] - }, - { - "name": "PrimeAccountNotMember", - "index": 10, - "docs": ["Prime account is not a member"] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 496, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 12 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 178, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 497, - "type": { - "path": ["pallet_collective", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "NotMember", - "index": 0, - "docs": ["Account is not a member"] - }, - { - "name": "DuplicateProposal", - "index": 1, - "docs": ["Duplicate proposals not allowed"] - }, - { - "name": "ProposalMissing", - "index": 2, - "docs": ["Proposal must exist"] - }, - { - "name": "WrongIndex", - "index": 3, - "docs": ["Mismatched index"] - }, - { - "name": "DuplicateVote", - "index": 4, - "docs": ["Duplicate vote ignored"] - }, - { - "name": "AlreadyInitialized", - "index": 5, - "docs": ["Members are already initialized!"] - }, - { - "name": "TooEarly", - "index": 6, - "docs": [ - "The close call was made too early, before the end of the voting." - ] - }, - { - "name": "TooManyProposals", - "index": 7, - "docs": [ - "There can only be a maximum of `MaxProposals` active proposals." - ] - }, - { - "name": "WrongProposalWeight", - "index": 8, - "docs": [ - "The given weight bound for the proposal was too low." - ] - }, - { - "name": "WrongProposalLength", - "index": 9, - "docs": [ - "The given length bound for the proposal was too low." - ] - }, - { - "name": "PrimeAccountNotMember", - "index": 10, - "docs": ["Prime account is not a member"] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 498, - "type": { - "def": { - "sequence": { - "type": 499 - } - } - } - }, - { - "id": 499, - "type": { - "path": ["pallet_elections_phragmen", "SeatHolder"], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "AccountId" - }, - { - "name": "stake", - "type": 6, - "typeName": "Balance" - }, - { - "name": "deposit", - "type": 6, - "typeName": "Balance" - } - ] - } - } - } - }, - { - "id": 500, - "type": { - "path": ["pallet_elections_phragmen", "Voter"], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "votes", - "type": 68, - "typeName": "Vec" - }, - { - "name": "stake", - "type": 6, - "typeName": "Balance" - }, - { - "name": "deposit", - "type": 6, - "typeName": "Balance" - } - ] - } - } - } - }, - { - "id": 501, - "type": { - "path": ["pallet_elections_phragmen", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "UnableToVote", - "index": 0, - "docs": [ - "Cannot vote when no candidates or members exist." - ] - }, - { - "name": "NoVotes", - "index": 1, - "docs": ["Must vote for at least one candidate."] - }, - { - "name": "TooManyVotes", - "index": 2, - "docs": ["Cannot vote more than candidates."] - }, - { - "name": "MaximumVotesExceeded", - "index": 3, - "docs": ["Cannot vote more than maximum allowed."] - }, - { - "name": "LowBalance", - "index": 4, - "docs": [ - "Cannot vote with stake less than minimum balance." - ] - }, - { - "name": "UnableToPayBond", - "index": 5, - "docs": ["Voter can not pay voting bond."] - }, - { - "name": "MustBeVoter", - "index": 6, - "docs": ["Must be a voter."] - }, - { - "name": "DuplicatedCandidate", - "index": 7, - "docs": ["Duplicated candidate submission."] - }, - { - "name": "TooManyCandidates", - "index": 8, - "docs": ["Too many candidates have been created."] - }, - { - "name": "MemberSubmit", - "index": 9, - "docs": ["Member cannot re-submit candidacy."] - }, - { - "name": "RunnerUpSubmit", - "index": 10, - "docs": ["Runner cannot re-submit candidacy."] - }, - { - "name": "InsufficientCandidateFunds", - "index": 11, - "docs": ["Candidate does not have enough funds."] - }, - { - "name": "NotMember", - "index": 12, - "docs": ["Not a member."] - }, - { - "name": "InvalidWitnessData", - "index": 13, - "docs": [ - "The provided count of number of candidates is incorrect." - ] - }, - { - "name": "InvalidVoteCount", - "index": 14, - "docs": [ - "The provided count of number of votes is incorrect." - ] - }, - { - "name": "InvalidRenouncing", - "index": 15, - "docs": [ - "The renouncing origin presented a wrong `Renouncing` parameter." - ] - }, - { - "name": "InvalidReplacement", - "index": 16, - "docs": [ - "Prediction regarding replacement after member removal is wrong." - ] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 502, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 0 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 68, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 503, - "type": { - "path": ["pallet_membership", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "AlreadyMember", - "index": 0, - "docs": ["Already a member."] - }, - { - "name": "NotMember", - "index": 1, - "docs": ["Not a member."] - }, - { - "name": "TooManyMembers", - "index": 2, - "docs": ["Too many members."] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 504, - "type": { - "path": ["pallet_treasury", "Proposal"], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "proposer", - "type": 0, - "typeName": "AccountId" - }, - { - "name": "value", - "type": 6, - "typeName": "Balance" - }, - { - "name": "beneficiary", - "type": 0, - "typeName": "AccountId" - }, - { - "name": "bond", - "type": 6, - "typeName": "Balance" - } - ] - } - } - } - }, - { - "id": 505, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 4 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 275, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 506, - "type": { - "path": ["sp_arithmetic", "per_things", "Permill"], - "def": { - "composite": { - "fields": [ - { - "type": 4, - "typeName": "u32" - } - ] - } - } - } - }, - { - "id": 507, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 6 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 6 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 508, - "type": { - "path": ["frame_support", "PalletId"], - "def": { - "composite": { - "fields": [ - { - "type": 137, - "typeName": "[u8; 8]" - } - ] - } - } - } - }, - { - "id": 509, - "type": { - "path": ["pallet_treasury", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "InsufficientProposersBalance", - "index": 0, - "docs": ["Proposer's balance is too low."] - }, - { - "name": "InvalidIndex", - "index": 1, - "docs": ["No proposal or bounty at that index."] - }, - { - "name": "TooManyApprovals", - "index": 2, - "docs": ["Too many approvals in the queue."] - }, - { - "name": "InsufficientPermission", - "index": 3, - "docs": [ - "The spend origin is valid but the amount it is allowed to spend is lower than the", - "amount to be spent." - ] - }, - { - "name": "ProposalNotApproved", - "index": 4, - "docs": ["Proposal has not been approved."] - } - ] - } - }, - "docs": ["Error for the treasury pallet."] - } - }, - { - "id": 510, - "type": { - "path": ["polkadot_runtime_common", "claims", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "InvalidEthereumSignature", - "index": 0, - "docs": ["Invalid Ethereum signature."] - }, - { - "name": "SignerHasNoClaim", - "index": 1, - "docs": ["Ethereum address has no claim."] - }, - { - "name": "SenderHasNoClaim", - "index": 2, - "docs": ["Account ID sending transaction has no claim."] - }, - { - "name": "PotUnderflow", - "index": 3, - "docs": [ - "There's not enough in the pot to pay out some unvested amount. Generally implies a", - "logic error." - ] - }, - { - "name": "InvalidStatement", - "index": 4, - "docs": ["A needed statement was not included."] - }, - { - "name": "VestedBalanceExists", - "index": 5, - "docs": ["The account already has a vested balance."] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 511, - "type": { - "path": ["pallet_utility", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "TooManyCalls", - "index": 0, - "docs": ["Too many calls batched."] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 512, - "type": { - "path": ["pallet_identity", "types", "Registration"], - "params": [ - { - "name": "Balance", - "type": 6 - }, - { - "name": "MaxJudgements", - "type": null - }, - { - "name": "MaxAdditionalFields", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "judgements", - "type": 513, - "typeName": "BoundedVec<(RegistrarIndex, Judgement), MaxJudgements>" - }, - { - "name": "deposit", - "type": 6, - "typeName": "Balance" - }, - { - "name": "info", - "type": 331, - "typeName": "IdentityInfo" - } - ] - } - } - } - }, - { - "id": 513, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 514 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 515, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 514, - "type": { - "def": { - "tuple": [4, 368] - } - } - }, - { - "id": 515, - "type": { - "def": { - "sequence": { - "type": 514 - } - } - } - }, - { - "id": 516, - "type": { - "def": { - "tuple": [6, 517] - } - } - }, - { - "id": 517, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 0 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 68, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 518, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 519 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 521, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 519, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 520 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 520 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 520, - "type": { - "path": ["pallet_identity", "types", "RegistrarInfo"], - "params": [ - { - "name": "Balance", - "type": 6 - }, - { - "name": "AccountId", - "type": 0 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "account", - "type": 0, - "typeName": "AccountId" - }, - { - "name": "fee", - "type": 6, - "typeName": "Balance" - }, - { - "name": "fields", - "type": 366, - "typeName": "IdentityFields" - } - ] - } - } - } - }, - { - "id": 521, - "type": { - "def": { - "sequence": { - "type": 519 - } - } - } - }, - { - "id": 522, - "type": { - "path": ["pallet_identity", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "TooManySubAccounts", - "index": 0, - "docs": ["Too many subs-accounts."] - }, - { - "name": "NotFound", - "index": 1, - "docs": ["Account isn't found."] - }, - { - "name": "NotNamed", - "index": 2, - "docs": ["Account isn't named."] - }, - { - "name": "EmptyIndex", - "index": 3, - "docs": ["Empty index."] - }, - { - "name": "FeeChanged", - "index": 4, - "docs": ["Fee is changed."] - }, - { - "name": "NoIdentity", - "index": 5, - "docs": ["No identity found."] - }, - { - "name": "StickyJudgement", - "index": 6, - "docs": ["Sticky judgement."] - }, - { - "name": "JudgementGiven", - "index": 7, - "docs": ["Judgement given."] - }, - { - "name": "InvalidJudgement", - "index": 8, - "docs": ["Invalid judgement."] - }, - { - "name": "InvalidIndex", - "index": 9, - "docs": ["The index is invalid."] - }, - { - "name": "InvalidTarget", - "index": 10, - "docs": ["The target is invalid."] - }, - { - "name": "TooManyFields", - "index": 11, - "docs": ["Too many additional fields."] - }, - { - "name": "TooManyRegistrars", - "index": 12, - "docs": [ - "Maximum amount of registrars reached. Cannot add any more." - ] - }, - { - "name": "AlreadyClaimed", - "index": 13, - "docs": ["Account ID is already named."] - }, - { - "name": "NotSub", - "index": 14, - "docs": ["Sender is not a sub-account."] - }, - { - "name": "NotOwned", - "index": 15, - "docs": ["Sub-account isn't owned by sender."] - }, - { - "name": "JudgementForDifferentIdentity", - "index": 16, - "docs": [ - "The provided judgement was for a different identity." - ] - }, - { - "name": "JudgementPaymentFailed", - "index": 17, - "docs": [ - "Error that occurs when there is an issue paying for judgement." - ] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 523, - "type": { - "path": ["pallet_society", "MemberRecord"], - "def": { - "composite": { - "fields": [ - { - "name": "rank", - "type": 4, - "typeName": "Rank" - }, - { - "name": "strikes", - "type": 4, - "typeName": "StrikeCount" - }, - { - "name": "vouching", - "type": 524, - "typeName": "Option" - }, - { - "name": "index", - "type": 4, - "typeName": "u32" - } - ] - } - } - } - }, - { - "id": 524, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 525 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 525 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 525, - "type": { - "path": ["pallet_society", "VouchingStatus"], - "def": { - "variant": { - "variants": [ - { - "name": "Vouching", - "index": 0 - }, - { - "name": "Banned", - "index": 1 - } - ] - } - } - } - }, - { - "id": 526, - "type": { - "path": ["pallet_society", "PayoutRecord"], - "params": [ - { - "name": "Balance", - "type": 6 - }, - { - "name": "PayoutsVec", - "type": 527 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "paid", - "type": 6, - "typeName": "Balance" - }, - { - "name": "payouts", - "type": 527, - "typeName": "PayoutsVec" - } - ] - } - } - } - }, - { - "id": 527, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 528 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 529, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 528, - "type": { - "def": { - "tuple": [4, 6] - } - } - }, - { - "id": 529, - "type": { - "def": { - "sequence": { - "type": 528 - } - } - } - }, - { - "id": 530, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 531 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 533, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 531, - "type": { - "path": ["pallet_society", "Bid"], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "AccountId" - }, - { - "name": "kind", - "type": 532, - "typeName": "BidKind" - }, - { - "name": "value", - "type": 6, - "typeName": "Balance" - } - ] - } - } - } - }, - { - "id": 532, - "type": { - "path": ["pallet_society", "BidKind"], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Deposit", - "fields": [ - { - "type": 6, - "typeName": "Balance" - } - ], - "index": 0 - }, - { - "name": "Vouch", - "fields": [ - { - "type": 0, - "typeName": "AccountId" - }, - { - "type": 6, - "typeName": "Balance" - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 533, - "type": { - "def": { - "sequence": { - "type": 531 - } - } - } - }, - { - "id": 534, - "type": { - "path": ["pallet_society", "Candidacy"], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "round", - "type": 4, - "typeName": "RoundIndex" - }, - { - "name": "kind", - "type": 532, - "typeName": "BidKind" - }, - { - "name": "bid", - "type": 6, - "typeName": "Balance" - }, - { - "name": "tally", - "type": 535, - "typeName": "Tally" - }, - { - "name": "skeptic_struck", - "type": 54, - "typeName": "bool" - } - ] - } - } - } - }, - { - "id": 535, - "type": { - "path": ["pallet_society", "Tally"], - "def": { - "composite": { - "fields": [ - { - "name": "approvals", - "type": 4, - "typeName": "VoteCount" - }, - { - "name": "rejections", - "type": 4, - "typeName": "VoteCount" - } - ] - } - } - } - }, - { - "id": 536, - "type": { - "def": { - "tuple": [0, 0] - } - } - }, - { - "id": 537, - "type": { - "path": ["pallet_society", "Vote"], - "def": { - "composite": { - "fields": [ - { - "name": "approve", - "type": 54, - "typeName": "bool" - }, - { - "name": "weight", - "type": 4, - "typeName": "u32" - } - ] - } - } - } - }, - { - "id": 538, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 2 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 13, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 539, - "type": { - "path": ["pallet_society", "IntakeRecord"], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "who", - "type": 0, - "typeName": "AccountId" - }, - { - "name": "bid", - "type": 6, - "typeName": "Balance" - }, - { - "name": "round", - "type": 4, - "typeName": "RoundIndex" - } - ] - } - } - } - }, - { - "id": 540, - "type": { - "def": { - "tuple": [0, 0, 535] - } - } - }, - { - "id": 541, - "type": { - "path": ["pallet_society", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "NotMember", - "index": 0, - "docs": ["User is not a member."] - }, - { - "name": "AlreadyMember", - "index": 1, - "docs": ["User is already a member."] - }, - { - "name": "Suspended", - "index": 2, - "docs": ["User is suspended."] - }, - { - "name": "NotSuspended", - "index": 3, - "docs": ["User is not suspended."] - }, - { - "name": "NoPayout", - "index": 4, - "docs": ["Nothing to payout."] - }, - { - "name": "AlreadyFounded", - "index": 5, - "docs": ["Society already founded."] - }, - { - "name": "InsufficientPot", - "index": 6, - "docs": ["Not enough in pot to accept candidate."] - }, - { - "name": "AlreadyVouching", - "index": 7, - "docs": [ - "Member is already vouching or banned from vouching again." - ] - }, - { - "name": "NotVouchingOnBidder", - "index": 8, - "docs": ["Member is not vouching."] - }, - { - "name": "Head", - "index": 9, - "docs": ["Cannot remove the head of the chain."] - }, - { - "name": "Founder", - "index": 10, - "docs": ["Cannot remove the founder."] - }, - { - "name": "AlreadyBid", - "index": 11, - "docs": ["User has already made a bid."] - }, - { - "name": "AlreadyCandidate", - "index": 12, - "docs": ["User is already a candidate."] - }, - { - "name": "NotCandidate", - "index": 13, - "docs": ["User is not a candidate."] - }, - { - "name": "MaxMembers", - "index": 14, - "docs": ["Too many members in the society."] - }, - { - "name": "NotFounder", - "index": 15, - "docs": ["The caller is not the founder."] - }, - { - "name": "NotHead", - "index": 16, - "docs": ["The caller is not the head."] - }, - { - "name": "NotApproved", - "index": 17, - "docs": [ - "The membership cannot be claimed as the candidate was not clearly approved." - ] - }, - { - "name": "NotRejected", - "index": 18, - "docs": [ - "The candidate cannot be kicked as the candidate was not clearly rejected." - ] - }, - { - "name": "Approved", - "index": 19, - "docs": [ - "The candidacy cannot be dropped as the candidate was clearly approved." - ] - }, - { - "name": "Rejected", - "index": 20, - "docs": [ - "The candidacy cannot be bestowed as the candidate was clearly rejected." - ] - }, - { - "name": "InProgress", - "index": 21, - "docs": [ - "The candidacy cannot be concluded as the voting is still in progress." - ] - }, - { - "name": "TooEarly", - "index": 22, - "docs": [ - "The candidacy cannot be pruned until a full additional intake period has passed." - ] - }, - { - "name": "Voted", - "index": 23, - "docs": ["The skeptic already voted."] - }, - { - "name": "Expired", - "index": 24, - "docs": [ - "The skeptic need not vote on candidates from expired rounds." - ] - }, - { - "name": "NotBidder", - "index": 25, - "docs": ["User is not a bidder."] - }, - { - "name": "NoDefender", - "index": 26, - "docs": ["There is no defender currently."] - }, - { - "name": "NotGroup", - "index": 27, - "docs": ["Group doesn't exist."] - }, - { - "name": "AlreadyElevated", - "index": 28, - "docs": ["The member is already elevated to this rank."] - }, - { - "name": "AlreadyPunished", - "index": 29, - "docs": [ - "The skeptic has already been punished for this offence." - ] - }, - { - "name": "InsufficientFunds", - "index": 30, - "docs": [ - "Funds are insufficient to pay off society debts." - ] - }, - { - "name": "NoVotes", - "index": 31, - "docs": [ - "The candidate/defender has no stale votes to remove." - ] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 542, - "type": { - "path": ["pallet_recovery", "RecoveryConfig"], - "params": [ - { - "name": "BlockNumber", - "type": 4 - }, - { - "name": "Balance", - "type": 6 - }, - { - "name": "Friends", - "type": 543 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "delay_period", - "type": 4, - "typeName": "BlockNumber" - }, - { - "name": "deposit", - "type": 6, - "typeName": "Balance" - }, - { - "name": "friends", - "type": 543, - "typeName": "Friends" - }, - { - "name": "threshold", - "type": 77, - "typeName": "u16" - } - ] - } - } - } - }, - { - "id": 543, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 0 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 68, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 544, - "type": { - "path": ["pallet_recovery", "ActiveRecovery"], - "params": [ - { - "name": "BlockNumber", - "type": 4 - }, - { - "name": "Balance", - "type": 6 - }, - { - "name": "Friends", - "type": 543 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "created", - "type": 4, - "typeName": "BlockNumber" - }, - { - "name": "deposit", - "type": 6, - "typeName": "Balance" - }, - { - "name": "friends", - "type": 543, - "typeName": "Friends" - } - ] - } - } - } - }, - { - "id": 545, - "type": { - "path": ["pallet_recovery", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "NotAllowed", - "index": 0, - "docs": [ - "User is not allowed to make a call on behalf of this account" - ] - }, - { - "name": "ZeroThreshold", - "index": 1, - "docs": ["Threshold must be greater than zero"] - }, - { - "name": "NotEnoughFriends", - "index": 2, - "docs": [ - "Friends list must be greater than zero and threshold" - ] - }, - { - "name": "MaxFriends", - "index": 3, - "docs": ["Friends list must be less than max friends"] - }, - { - "name": "NotSorted", - "index": 4, - "docs": [ - "Friends list must be sorted and free of duplicates" - ] - }, - { - "name": "NotRecoverable", - "index": 5, - "docs": ["This account is not set up for recovery"] - }, - { - "name": "AlreadyRecoverable", - "index": 6, - "docs": ["This account is already set up for recovery"] - }, - { - "name": "AlreadyStarted", - "index": 7, - "docs": [ - "A recovery process has already started for this account" - ] - }, - { - "name": "NotStarted", - "index": 8, - "docs": [ - "A recovery process has not started for this rescuer" - ] - }, - { - "name": "NotFriend", - "index": 9, - "docs": ["This account is not a friend who can vouch"] - }, - { - "name": "DelayPeriod", - "index": 10, - "docs": [ - "The friend must wait until the delay period to vouch for this recovery" - ] - }, - { - "name": "AlreadyVouched", - "index": 11, - "docs": [ - "This user has already vouched for this recovery" - ] - }, - { - "name": "Threshold", - "index": 12, - "docs": [ - "The threshold for recovering this account has not been met" - ] - }, - { - "name": "StillActive", - "index": 13, - "docs": [ - "There are still active recovery attempts that need to be closed" - ] - }, - { - "name": "AlreadyProxy", - "index": 14, - "docs": ["This account is already set up for recovery"] - }, - { - "name": "BadState", - "index": 15, - "docs": ["Some internal state is broken."] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 546, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 372 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 547, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 547, - "type": { - "def": { - "sequence": { - "type": 372 - } - } - } - }, - { - "id": 548, - "type": { - "path": ["pallet_vesting", "Releases"], - "def": { - "variant": { - "variants": [ - { - "name": "V0", - "index": 0 - }, - { - "name": "V1", - "index": 1 - } - ] - } - } - } - }, - { - "id": 549, - "type": { - "path": ["pallet_vesting", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "NotVesting", - "index": 0, - "docs": ["The account given is not vesting."] - }, - { - "name": "AtMaxVestingSchedules", - "index": 1, - "docs": [ - "The account already has `MaxVestingSchedules` count of schedules and thus", - "cannot add another one. Consider merging existing schedules in order to add another." - ] - }, - { - "name": "AmountLow", - "index": 2, - "docs": [ - "Amount being transferred is too low to create a vesting schedule." - ] - }, - { - "name": "ScheduleIndexOutOfBounds", - "index": 3, - "docs": [ - "An index was out of bounds of the vesting schedules." - ] - }, - { - "name": "InvalidScheduleParams", - "index": 4, - "docs": [ - "Failed to create a new schedule because some parameter was invalid." - ] - } - ] - } - }, - "docs": ["Error for the vesting pallet."] - } - }, - { - "id": 550, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 551 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 553, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 551, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 552 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 552 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 552, - "type": { - "path": ["pallet_scheduler", "Scheduled"], - "params": [ - { - "name": "Name", - "type": 1 - }, - { - "name": "Call", - "type": 304 - }, - { - "name": "BlockNumber", - "type": 4 - }, - { - "name": "PalletsOrigin", - "type": 323 - }, - { - "name": "AccountId", - "type": 0 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "maybe_id", - "type": 74, - "typeName": "Option" - }, - { - "name": "priority", - "type": 2, - "typeName": "schedule::Priority" - }, - { - "name": "call", - "type": 304, - "typeName": "Call" - }, - { - "name": "maybe_periodic", - "type": 374, - "typeName": "Option>" - }, - { - "name": "origin", - "type": 323, - "typeName": "PalletsOrigin" - } - ] - } - } - } - }, - { - "id": 553, - "type": { - "def": { - "sequence": { - "type": 551 - } - } - } - }, - { - "id": 554, - "type": { - "path": ["pallet_scheduler", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "FailedToSchedule", - "index": 0, - "docs": ["Failed to schedule a call"] - }, - { - "name": "NotFound", - "index": 1, - "docs": ["Cannot find the scheduled call."] - }, - { - "name": "TargetBlockNumberInPast", - "index": 2, - "docs": ["Given target block number is in the past."] - }, - { - "name": "RescheduleNoChange", - "index": 3, - "docs": [ - "Reschedule failed because it does not change scheduled time." - ] - }, - { - "name": "Named", - "index": 4, - "docs": [ - "Attempt to use a non-named function on a named task." - ] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 555, - "type": { - "def": { - "tuple": [556, 6] - } - } - }, - { - "id": 556, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 557 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 558, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 557, - "type": { - "path": ["pallet_proxy", "ProxyDefinition"], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "ProxyType", - "type": 76 - }, - { - "name": "BlockNumber", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "delegate", - "type": 0, - "typeName": "AccountId" - }, - { - "name": "proxy_type", - "type": 76, - "typeName": "ProxyType" - }, - { - "name": "delay", - "type": 4, - "typeName": "BlockNumber" - } - ] - } - } - } - }, - { - "id": 558, - "type": { - "def": { - "sequence": { - "type": 557 - } - } - } - }, - { - "id": 559, - "type": { - "def": { - "tuple": [560, 6] - } - } - }, - { - "id": 560, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 561 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 562, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 561, - "type": { - "path": ["pallet_proxy", "Announcement"], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "Hash", - "type": 12 - }, - { - "name": "BlockNumber", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "real", - "type": 0, - "typeName": "AccountId" - }, - { - "name": "call_hash", - "type": 12, - "typeName": "Hash" - }, - { - "name": "height", - "type": 4, - "typeName": "BlockNumber" - } - ] - } - } - } - }, - { - "id": 562, - "type": { - "def": { - "sequence": { - "type": 561 - } - } - } - }, - { - "id": 563, - "type": { - "path": ["pallet_proxy", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "TooMany", - "index": 0, - "docs": [ - "There are too many proxies registered or too many announcements pending." - ] - }, - { - "name": "NotFound", - "index": 1, - "docs": ["Proxy registration not found."] - }, - { - "name": "NotProxy", - "index": 2, - "docs": [ - "Sender is not a proxy of the account to be proxied." - ] - }, - { - "name": "Unproxyable", - "index": 3, - "docs": [ - "A call which is incompatible with the proxy type's filter was attempted." - ] - }, - { - "name": "Duplicate", - "index": 4, - "docs": ["Account is already a proxy."] - }, - { - "name": "NoPermission", - "index": 5, - "docs": [ - "Call may not be made by proxy because it may escalate its privileges." - ] - }, - { - "name": "Unannounced", - "index": 6, - "docs": [ - "Announcement, if made at all, was made too recently." - ] - }, - { - "name": "NoSelfProxy", - "index": 7, - "docs": ["Cannot add self as proxy."] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 564, - "type": { - "def": { - "tuple": [0, 1] - } - } - }, - { - "id": 565, - "type": { - "path": ["pallet_multisig", "Multisig"], - "params": [ - { - "name": "BlockNumber", - "type": 4 - }, - { - "name": "Balance", - "type": 6 - }, - { - "name": "AccountId", - "type": 0 - }, - { - "name": "MaxApprovals", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "when", - "type": 79, - "typeName": "Timepoint" - }, - { - "name": "deposit", - "type": 6, - "typeName": "Balance" - }, - { - "name": "depositor", - "type": 0, - "typeName": "AccountId" - }, - { - "name": "approvals", - "type": 566, - "typeName": "BoundedVec" - } - ] - } - } - } - }, - { - "id": 566, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 0 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 68, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 567, - "type": { - "path": ["pallet_multisig", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "MinimumThreshold", - "index": 0, - "docs": ["Threshold must be 2 or greater."] - }, - { - "name": "AlreadyApproved", - "index": 1, - "docs": ["Call is already approved by this signatory."] - }, - { - "name": "NoApprovalsNeeded", - "index": 2, - "docs": ["Call doesn't need any (more) approvals."] - }, - { - "name": "TooFewSignatories", - "index": 3, - "docs": ["There are too few signatories in the list."] - }, - { - "name": "TooManySignatories", - "index": 4, - "docs": ["There are too many signatories in the list."] - }, - { - "name": "SignatoriesOutOfOrder", - "index": 5, - "docs": [ - "The signatories were provided out of order; they should be ordered." - ] - }, - { - "name": "SenderInSignatories", - "index": 6, - "docs": [ - "The sender was contained in the other signatories; it shouldn't be." - ] - }, - { - "name": "NotFound", - "index": 7, - "docs": [ - "Multisig operation not found when attempting to cancel." - ] - }, - { - "name": "NotOwner", - "index": 8, - "docs": [ - "Only the account that originally created the multisig is able to cancel it." - ] - }, - { - "name": "NoTimepoint", - "index": 9, - "docs": [ - "No timepoint was given, yet the multisig operation is already underway." - ] - }, - { - "name": "WrongTimepoint", - "index": 10, - "docs": [ - "A different timepoint was given to the multisig operation that is underway." - ] - }, - { - "name": "UnexpectedTimepoint", - "index": 11, - "docs": [ - "A timepoint was given, yet no multisig operation is underway." - ] - }, - { - "name": "MaxWeightTooLow", - "index": 12, - "docs": [ - "The maximum weight information provided was too low." - ] - }, - { - "name": "AlreadyStored", - "index": 13, - "docs": ["The data to be stored is already stored."] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 568, - "type": { - "path": ["pallet_preimage", "OldRequestStatus"], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Unrequested", - "fields": [ - { - "name": "deposit", - "type": 59, - "typeName": "(AccountId, Balance)" - }, - { - "name": "len", - "type": 4, - "typeName": "u32" - } - ], - "index": 0 - }, - { - "name": "Requested", - "fields": [ - { - "name": "deposit", - "type": 569, - "typeName": "Option<(AccountId, Balance)>" - }, - { - "name": "count", - "type": 4, - "typeName": "u32" - }, - { - "name": "len", - "type": 255, - "typeName": "Option" - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 569, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 59 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 59 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 570, - "type": { - "path": ["pallet_preimage", "RequestStatus"], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "Ticket", - "type": 571 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Unrequested", - "fields": [ - { - "name": "ticket", - "type": 572, - "typeName": "(AccountId, Ticket)" - }, - { - "name": "len", - "type": 4, - "typeName": "u32" - } - ], - "index": 0 - }, - { - "name": "Requested", - "fields": [ - { - "name": "maybe_ticket", - "type": 573, - "typeName": "Option<(AccountId, Ticket)>" - }, - { - "name": "count", - "type": 4, - "typeName": "u32" - }, - { - "name": "maybe_len", - "type": 255, - "typeName": "Option" - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 571, - "type": { - "path": [ - "frame_support", - "traits", - "tokens", - "fungible", - "HoldConsideration" - ], - "params": [ - { - "name": "A", - "type": null - }, - { - "name": "F", - "type": null - }, - { - "name": "R", - "type": null - }, - { - "name": "D", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 6, - "typeName": "F::Balance" - } - ] - } - } - } - }, - { - "id": 572, - "type": { - "def": { - "tuple": [0, 571] - } - } - }, - { - "id": 573, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 572 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 572 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 574, - "type": { - "def": { - "tuple": [12, 4] - } - } - }, - { - "id": 575, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 2 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 13, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 576, - "type": { - "path": ["pallet_preimage", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "TooBig", - "index": 0, - "docs": ["Preimage is too large to store on-chain."] - }, - { - "name": "AlreadyNoted", - "index": 1, - "docs": ["Preimage has already been noted on-chain."] - }, - { - "name": "NotAuthorized", - "index": 2, - "docs": [ - "The user is not authorized to perform this action." - ] - }, - { - "name": "NotNoted", - "index": 3, - "docs": [ - "The preimage cannot be removed since it has not yet been noted." - ] - }, - { - "name": "Requested", - "index": 4, - "docs": [ - "A preimage may not be removed when there are outstanding requests." - ] - }, - { - "name": "NotRequested", - "index": 5, - "docs": [ - "The preimage request cannot be removed since no outstanding requests exist." - ] - }, - { - "name": "TooMany", - "index": 6, - "docs": [ - "More than `MAX_HASH_UPGRADE_BULK_COUNT` hashes were requested to be upgraded at once." - ] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 577, - "type": { - "path": ["pallet_bounties", "Bounty"], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "Balance", - "type": 6 - }, - { - "name": "BlockNumber", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "proposer", - "type": 0, - "typeName": "AccountId" - }, - { - "name": "value", - "type": 6, - "typeName": "Balance" - }, - { - "name": "fee", - "type": 6, - "typeName": "Balance" - }, - { - "name": "curator_deposit", - "type": 6, - "typeName": "Balance" - }, - { - "name": "bond", - "type": 6, - "typeName": "Balance" - }, - { - "name": "status", - "type": 578, - "typeName": "BountyStatus" - } - ] - } - } - } - }, - { - "id": 578, - "type": { - "path": ["pallet_bounties", "BountyStatus"], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "BlockNumber", - "type": 4 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Proposed", - "index": 0 - }, - { - "name": "Approved", - "index": 1 - }, - { - "name": "Funded", - "index": 2 - }, - { - "name": "CuratorProposed", - "fields": [ - { - "name": "curator", - "type": 0, - "typeName": "AccountId" - } - ], - "index": 3 - }, - { - "name": "Active", - "fields": [ - { - "name": "curator", - "type": 0, - "typeName": "AccountId" - }, - { - "name": "update_due", - "type": 4, - "typeName": "BlockNumber" - } - ], - "index": 4 - }, - { - "name": "PendingPayout", - "fields": [ - { - "name": "curator", - "type": 0, - "typeName": "AccountId" - }, - { - "name": "beneficiary", - "type": 0, - "typeName": "AccountId" - }, - { - "name": "unlock_at", - "type": 4, - "typeName": "BlockNumber" - } - ], - "index": 5 - } - ] - } - } - } - }, - { - "id": 579, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 2 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 13, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 580, - "type": { - "path": ["pallet_bounties", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "InsufficientProposersBalance", - "index": 0, - "docs": ["Proposer's balance is too low."] - }, - { - "name": "InvalidIndex", - "index": 1, - "docs": ["No proposal or bounty at that index."] - }, - { - "name": "ReasonTooBig", - "index": 2, - "docs": ["The reason given is just too big."] - }, - { - "name": "UnexpectedStatus", - "index": 3, - "docs": ["The bounty status is unexpected."] - }, - { - "name": "RequireCurator", - "index": 4, - "docs": ["Require bounty curator."] - }, - { - "name": "InvalidValue", - "index": 5, - "docs": ["Invalid bounty value."] - }, - { - "name": "InvalidFee", - "index": 6, - "docs": ["Invalid bounty fee."] - }, - { - "name": "PendingPayout", - "index": 7, - "docs": [ - "A bounty payout is pending.", - "To cancel the bounty, you must unassign and slash the curator." - ] - }, - { - "name": "Premature", - "index": 8, - "docs": [ - "The bounties cannot be claimed/closed because it's still in the countdown period." - ] - }, - { - "name": "HasActiveChildBounty", - "index": 9, - "docs": [ - "The bounty cannot be closed because it has active child bounties." - ] - }, - { - "name": "TooManyQueued", - "index": 10, - "docs": ["Too many approvals are already queued."] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 581, - "type": { - "path": ["pallet_child_bounties", "ChildBounty"], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "Balance", - "type": 6 - }, - { - "name": "BlockNumber", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "parent_bounty", - "type": 4, - "typeName": "BountyIndex" - }, - { - "name": "value", - "type": 6, - "typeName": "Balance" - }, - { - "name": "fee", - "type": 6, - "typeName": "Balance" - }, - { - "name": "curator_deposit", - "type": 6, - "typeName": "Balance" - }, - { - "name": "status", - "type": 582, - "typeName": "ChildBountyStatus" - } - ] - } - } - } - }, - { - "id": 582, - "type": { - "path": ["pallet_child_bounties", "ChildBountyStatus"], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "BlockNumber", - "type": 4 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Added", - "index": 0 - }, - { - "name": "CuratorProposed", - "fields": [ - { - "name": "curator", - "type": 0, - "typeName": "AccountId" - } - ], - "index": 1 - }, - { - "name": "Active", - "fields": [ - { - "name": "curator", - "type": 0, - "typeName": "AccountId" - } - ], - "index": 2 - }, - { - "name": "PendingPayout", - "fields": [ - { - "name": "curator", - "type": 0, - "typeName": "AccountId" - }, - { - "name": "beneficiary", - "type": 0, - "typeName": "AccountId" - }, - { - "name": "unlock_at", - "type": 4, - "typeName": "BlockNumber" - } - ], - "index": 3 - } - ] - } - } - } - }, - { - "id": 583, - "type": { - "path": ["pallet_child_bounties", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "ParentBountyNotActive", - "index": 0, - "docs": ["The parent bounty is not in active state."] - }, - { - "name": "InsufficientBountyBalance", - "index": 1, - "docs": [ - "The bounty balance is not enough to add new child-bounty." - ] - }, - { - "name": "TooManyChildBounties", - "index": 2, - "docs": [ - "Number of child bounties exceeds limit `MaxActiveChildBountyCount`." - ] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 584, - "type": { - "path": ["pallet_tips", "OpenTip"], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "Balance", - "type": 6 - }, - { - "name": "BlockNumber", - "type": 4 - }, - { - "name": "Hash", - "type": 12 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "reason", - "type": 12, - "typeName": "Hash" - }, - { - "name": "who", - "type": 0, - "typeName": "AccountId" - }, - { - "name": "finder", - "type": 0, - "typeName": "AccountId" - }, - { - "name": "deposit", - "type": 6, - "typeName": "Balance" - }, - { - "name": "closes", - "type": 255, - "typeName": "Option" - }, - { - "name": "tips", - "type": 58, - "typeName": "Vec<(AccountId, Balance)>" - }, - { - "name": "finders_fee", - "type": 54, - "typeName": "bool" - } - ] - } - } - } - }, - { - "id": 585, - "type": { - "path": ["sp_arithmetic", "per_things", "Percent"], - "def": { - "composite": { - "fields": [ - { - "type": 2, - "typeName": "u8" - } - ] - } - } - } - }, - { - "id": 586, - "type": { - "path": ["pallet_tips", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "ReasonTooBig", - "index": 0, - "docs": ["The reason given is just too big."] - }, - { - "name": "AlreadyKnown", - "index": 1, - "docs": ["The tip was already found/started."] - }, - { - "name": "UnknownTip", - "index": 2, - "docs": ["The tip hash is unknown."] - }, - { - "name": "NotFinder", - "index": 3, - "docs": [ - "The account attempting to retract the tip is not the finder of the tip." - ] - }, - { - "name": "StillOpen", - "index": 4, - "docs": [ - "The tip cannot be claimed/closed because there are not enough tippers yet." - ] - }, - { - "name": "Premature", - "index": 5, - "docs": [ - "The tip cannot be claimed/closed because it's still in the countdown period." - ] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 587, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 528 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 529, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 588, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 589 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 590, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 589, - "type": { - "path": ["pallet_nis", "pallet", "Bid"], - "params": [ - { - "name": "Balance", - "type": 6 - }, - { - "name": "AccountId", - "type": 0 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "amount", - "type": 6, - "typeName": "Balance" - }, - { - "name": "who", - "type": 0, - "typeName": "AccountId" - } - ] - } - } - } - }, - { - "id": 590, - "type": { - "def": { - "sequence": { - "type": 589 - } - } - } - }, - { - "id": 591, - "type": { - "path": ["pallet_nis", "pallet", "SummaryRecord"], - "params": [ - { - "name": "BlockNumber", - "type": 4 - }, - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "proportion_owed", - "type": 85, - "typeName": "Perquintill" - }, - { - "name": "index", - "type": 4, - "typeName": "ReceiptIndex" - }, - { - "name": "thawed", - "type": 85, - "typeName": "Perquintill" - }, - { - "name": "last_period", - "type": 4, - "typeName": "BlockNumber" - }, - { - "name": "receipts_on_hold", - "type": 6, - "typeName": "Balance" - } - ] - } - } - } - }, - { - "id": 592, - "type": { - "path": ["pallet_nis", "pallet", "ReceiptRecord"], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "BlockNumber", - "type": 4 - }, - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "proportion", - "type": 85, - "typeName": "Perquintill" - }, - { - "name": "owner", - "type": 569, - "typeName": "Option<(AccountId, Balance)>" - }, - { - "name": "expiry", - "type": 4, - "typeName": "BlockNumber" - } - ] - } - } - } - }, - { - "id": 593, - "type": { - "def": { - "tuple": [85, 4] - } - } - }, - { - "id": 594, - "type": { - "path": ["pallet_nis", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "DurationTooSmall", - "index": 0, - "docs": ["The duration of the bid is less than one."] - }, - { - "name": "DurationTooBig", - "index": 1, - "docs": [ - "The duration is the bid is greater than the number of queues." - ] - }, - { - "name": "AmountTooSmall", - "index": 2, - "docs": [ - "The amount of the bid is less than the minimum allowed." - ] - }, - { - "name": "BidTooLow", - "index": 3, - "docs": [ - "The queue for the bid's duration is full and the amount bid is too low to get in", - "through replacing an existing bid." - ] - }, - { - "name": "UnknownReceipt", - "index": 4, - "docs": ["Receipt index is unknown."] - }, - { - "name": "NotOwner", - "index": 5, - "docs": ["Not the owner of the receipt."] - }, - { - "name": "NotExpired", - "index": 6, - "docs": ["Bond not yet at expiry date."] - }, - { - "name": "UnknownBid", - "index": 7, - "docs": ["The given bid for retraction is not found."] - }, - { - "name": "PortionTooBig", - "index": 8, - "docs": [ - "The portion supplied is beyond the value of the receipt." - ] - }, - { - "name": "Unfunded", - "index": 9, - "docs": ["Not enough funds are held to pay out."] - }, - { - "name": "AlreadyFunded", - "index": 10, - "docs": ["There are enough funds for what is required."] - }, - { - "name": "Throttled", - "index": 11, - "docs": [ - "The thaw throttle has been reached for this period." - ] - }, - { - "name": "MakesDust", - "index": 12, - "docs": [ - "The operation would result in a receipt worth an insignficant value." - ] - }, - { - "name": "AlreadyCommunal", - "index": 13, - "docs": ["The receipt is already communal."] - }, - { - "name": "AlreadyPrivate", - "index": 14, - "docs": ["The receipt is already private."] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 595, - "type": { - "path": [ - "bounded_collections", - "weak_bounded_vec", - "WeakBoundedVec" - ], - "params": [ - { - "name": "T", - "type": 230 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 232, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 596, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 234 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 235, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 597, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 237 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 241, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 598, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 243 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 244, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 599, - "type": { - "path": ["pallet_balances", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - }, - { - "name": "I", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "VestingBalance", - "index": 0, - "docs": ["Vesting balance too high to send value."] - }, - { - "name": "LiquidityRestrictions", - "index": 1, - "docs": [ - "Account liquidity restrictions prevent withdrawal." - ] - }, - { - "name": "InsufficientBalance", - "index": 2, - "docs": ["Balance too low to send value."] - }, - { - "name": "ExistentialDeposit", - "index": 3, - "docs": [ - "Value too low to create account due to existential deposit." - ] - }, - { - "name": "Expendability", - "index": 4, - "docs": ["Transfer/payment would kill account."] - }, - { - "name": "ExistingVestingSchedule", - "index": 5, - "docs": [ - "A vesting schedule already exists for this account." - ] - }, - { - "name": "DeadAccount", - "index": 6, - "docs": ["Beneficiary account must pre-exist."] - }, - { - "name": "TooManyReserves", - "index": 7, - "docs": ["Number of named reserves exceed `MaxReserves`."] - }, - { - "name": "TooManyHolds", - "index": 8, - "docs": ["Number of holds exceed `MaxHolds`."] - }, - { - "name": "TooManyFreezes", - "index": 9, - "docs": ["Number of freezes exceed `MaxFreezes`."] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 600, - "type": { - "path": [ - "polkadot_runtime_parachains", - "configuration", - "HostConfiguration" - ], - "params": [ - { - "name": "BlockNumber", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "max_code_size", - "type": 4, - "typeName": "u32" - }, - { - "name": "max_head_data_size", - "type": 4, - "typeName": "u32" - }, - { - "name": "max_upward_queue_count", - "type": 4, - "typeName": "u32" - }, - { - "name": "max_upward_queue_size", - "type": 4, - "typeName": "u32" - }, - { - "name": "max_upward_message_size", - "type": 4, - "typeName": "u32" - }, - { - "name": "max_upward_message_num_per_candidate", - "type": 4, - "typeName": "u32" - }, - { - "name": "hrmp_max_message_num_per_candidate", - "type": 4, - "typeName": "u32" - }, - { - "name": "validation_upgrade_cooldown", - "type": 4, - "typeName": "BlockNumber" - }, - { - "name": "validation_upgrade_delay", - "type": 4, - "typeName": "BlockNumber" - }, - { - "name": "async_backing_params", - "type": 387, - "typeName": "AsyncBackingParams" - }, - { - "name": "max_pov_size", - "type": 4, - "typeName": "u32" - }, - { - "name": "max_downward_message_size", - "type": 4, - "typeName": "u32" - }, - { - "name": "hrmp_max_parachain_outbound_channels", - "type": 4, - "typeName": "u32" - }, - { - "name": "hrmp_sender_deposit", - "type": 6, - "typeName": "Balance" - }, - { - "name": "hrmp_recipient_deposit", - "type": 6, - "typeName": "Balance" - }, - { - "name": "hrmp_channel_max_capacity", - "type": 4, - "typeName": "u32" - }, - { - "name": "hrmp_channel_max_total_size", - "type": 4, - "typeName": "u32" - }, - { - "name": "hrmp_max_parachain_inbound_channels", - "type": 4, - "typeName": "u32" - }, - { - "name": "hrmp_channel_max_message_size", - "type": 4, - "typeName": "u32" - }, - { - "name": "executor_params", - "type": 388, - "typeName": "ExecutorParams" - }, - { - "name": "code_retention_period", - "type": 4, - "typeName": "BlockNumber" - }, - { - "name": "on_demand_cores", - "type": 4, - "typeName": "u32" - }, - { - "name": "on_demand_retries", - "type": 4, - "typeName": "u32" - }, - { - "name": "on_demand_queue_max_size", - "type": 4, - "typeName": "u32" - }, - { - "name": "on_demand_target_queue_utilization", - "type": 393, - "typeName": "Perbill" - }, - { - "name": "on_demand_fee_variability", - "type": 393, - "typeName": "Perbill" - }, - { - "name": "on_demand_base_fee", - "type": 6, - "typeName": "Balance" - }, - { - "name": "on_demand_ttl", - "type": 4, - "typeName": "BlockNumber" - }, - { - "name": "group_rotation_frequency", - "type": 4, - "typeName": "BlockNumber" - }, - { - "name": "paras_availability_period", - "type": 4, - "typeName": "BlockNumber" - }, - { - "name": "scheduling_lookahead", - "type": 4, - "typeName": "u32" - }, - { - "name": "max_validators_per_core", - "type": 255, - "typeName": "Option" - }, - { - "name": "max_validators", - "type": 255, - "typeName": "Option" - }, - { - "name": "dispute_period", - "type": 4, - "typeName": "SessionIndex" - }, - { - "name": "dispute_post_conclusion_acceptance_period", - "type": 4, - "typeName": "BlockNumber" - }, - { - "name": "no_show_slots", - "type": 4, - "typeName": "u32" - }, - { - "name": "n_delay_tranches", - "type": 4, - "typeName": "u32" - }, - { - "name": "zeroth_delay_tranche_width", - "type": 4, - "typeName": "u32" - }, - { - "name": "needed_approvals", - "type": 4, - "typeName": "u32" - }, - { - "name": "relay_vrf_modulo_samples", - "type": 4, - "typeName": "u32" - }, - { - "name": "pvf_voting_ttl", - "type": 4, - "typeName": "SessionIndex" - }, - { - "name": "minimum_validation_upgrade_delay", - "type": 4, - "typeName": "BlockNumber" - }, - { - "name": "minimum_backing_votes", - "type": 4, - "typeName": "u32" - } - ] - } - } - } - }, - { - "id": 601, - "type": { - "def": { - "sequence": { - "type": 602 - } - } - } - }, - { - "id": 602, - "type": { - "def": { - "tuple": [4, 600] - } - } - }, - { - "id": 603, - "type": { - "path": [ - "polkadot_runtime_parachains", - "configuration", - "pallet", - "Error" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "InvalidNewValue", - "index": 0, - "docs": [ - "The new value for a configuration parameter is invalid." - ] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 604, - "type": { - "def": { - "sequence": { - "type": 403 - } - } - } - }, - { - "id": 605, - "type": { - "def": { - "sequence": { - "type": 272 - } - } - } - }, - { - "id": 606, - "type": { - "path": [ - "polkadot_runtime_parachains", - "shared", - "AllowedRelayParentsTracker" - ], - "params": [ - { - "name": "Hash", - "type": 12 - }, - { - "name": "BlockNumber", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "buffer", - "type": 607, - "typeName": "VecDeque<(Hash, Hash)>" - }, - { - "name": "latest_number", - "type": 4, - "typeName": "BlockNumber" - } - ] - } - } - } - }, - { - "id": 607, - "type": { - "def": { - "sequence": { - "type": 608 - } - } - } - }, - { - "id": 608, - "type": { - "def": { - "tuple": [12, 12] - } - } - }, - { - "id": 609, - "type": { - "path": [ - "polkadot_runtime_parachains", - "inclusion", - "AvailabilityBitfieldRecord" - ], - "params": [ - { - "name": "N", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "bitfield", - "type": 400, - "typeName": "AvailabilityBitfield" - }, - { - "name": "submitted_at", - "type": 4, - "typeName": "N" - } - ] - } - } - } - }, - { - "id": 610, - "type": { - "path": [ - "polkadot_runtime_parachains", - "inclusion", - "CandidatePendingAvailability" - ], - "params": [ - { - "name": "H", - "type": 12 - }, - { - "name": "N", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "core", - "type": 97, - "typeName": "CoreIndex" - }, - { - "name": "hash", - "type": 103, - "typeName": "CandidateHash" - }, - { - "name": "descriptor", - "type": 89, - "typeName": "CandidateDescriptor" - }, - { - "name": "availability_votes", - "type": 401, - "typeName": "BitVec" - }, - { - "name": "backers", - "type": 401, - "typeName": "BitVec" - }, - { - "name": "relay_parent_number", - "type": 4, - "typeName": "N" - }, - { - "name": "backed_in_number", - "type": 4, - "typeName": "N" - }, - { - "name": "backing_group", - "type": 98, - "typeName": "GroupIndex" - } - ] - } - } - } - }, - { - "id": 611, - "type": { - "path": [ - "polkadot_runtime_parachains", - "inclusion", - "pallet", - "Error" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "UnsortedOrDuplicateValidatorIndices", - "index": 0, - "docs": [ - "Validator indices are out of order or contains duplicates." - ] - }, - { - "name": "UnsortedOrDuplicateDisputeStatementSet", - "index": 1, - "docs": [ - "Dispute statement sets are out of order or contain duplicates." - ] - }, - { - "name": "UnsortedOrDuplicateBackedCandidates", - "index": 2, - "docs": [ - "Backed candidates are out of order (core index) or contain duplicates." - ] - }, - { - "name": "UnexpectedRelayParent", - "index": 3, - "docs": [ - "A different relay parent was provided compared to the on-chain stored one." - ] - }, - { - "name": "WrongBitfieldSize", - "index": 4, - "docs": ["Availability bitfield has unexpected size."] - }, - { - "name": "BitfieldAllZeros", - "index": 5, - "docs": ["Bitfield consists of zeros only."] - }, - { - "name": "BitfieldDuplicateOrUnordered", - "index": 6, - "docs": [ - "Multiple bitfields submitted by same validator or validators out of order by index." - ] - }, - { - "name": "ValidatorIndexOutOfBounds", - "index": 7, - "docs": ["Validator index out of bounds."] - }, - { - "name": "InvalidBitfieldSignature", - "index": 8, - "docs": ["Invalid signature"] - }, - { - "name": "UnscheduledCandidate", - "index": 9, - "docs": ["Candidate submitted but para not scheduled."] - }, - { - "name": "CandidateScheduledBeforeParaFree", - "index": 10, - "docs": [ - "Candidate scheduled despite pending candidate already existing for the para." - ] - }, - { - "name": "ScheduledOutOfOrder", - "index": 11, - "docs": ["Scheduled cores out of order."] - }, - { - "name": "HeadDataTooLarge", - "index": 12, - "docs": ["Head data exceeds the configured maximum."] - }, - { - "name": "PrematureCodeUpgrade", - "index": 13, - "docs": ["Code upgrade prematurely."] - }, - { - "name": "NewCodeTooLarge", - "index": 14, - "docs": ["Output code is too large"] - }, - { - "name": "DisallowedRelayParent", - "index": 15, - "docs": [ - "The candidate's relay-parent was not allowed. Either it was", - "not recent enough or it didn't advance based on the last parachain block." - ] - }, - { - "name": "InvalidAssignment", - "index": 16, - "docs": [ - "Failed to compute group index for the core: either it's out of bounds", - "or the relay parent doesn't belong to the current session." - ] - }, - { - "name": "InvalidGroupIndex", - "index": 17, - "docs": ["Invalid group index in core assignment."] - }, - { - "name": "InsufficientBacking", - "index": 18, - "docs": ["Insufficient (non-majority) backing."] - }, - { - "name": "InvalidBacking", - "index": 19, - "docs": [ - "Invalid (bad signature, unknown validator, etc.) backing." - ] - }, - { - "name": "NotCollatorSigned", - "index": 20, - "docs": ["Collator did not sign PoV."] - }, - { - "name": "ValidationDataHashMismatch", - "index": 21, - "docs": [ - "The validation data hash does not match expected." - ] - }, - { - "name": "IncorrectDownwardMessageHandling", - "index": 22, - "docs": [ - "The downward message queue is not processed correctly." - ] - }, - { - "name": "InvalidUpwardMessages", - "index": 23, - "docs": [ - "At least one upward message sent does not pass the acceptance criteria." - ] - }, - { - "name": "HrmpWatermarkMishandling", - "index": 24, - "docs": [ - "The candidate didn't follow the rules of HRMP watermark advancement." - ] - }, - { - "name": "InvalidOutboundHrmp", - "index": 25, - "docs": [ - "The HRMP messages sent by the candidate is not valid." - ] - }, - { - "name": "InvalidValidationCodeHash", - "index": 26, - "docs": [ - "The validation code hash of the candidate is not valid." - ] - }, - { - "name": "ParaHeadMismatch", - "index": 27, - "docs": [ - "The `para_head` hash in the candidate descriptor doesn't match the hash of the actual", - "para head in the commitments." - ] - }, - { - "name": "BitfieldReferencesFreedCore", - "index": 28, - "docs": [ - "A bitfield that references a freed core,", - "either intentionally or as part of a concluded", - "invalid dispute." - ] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 612, - "type": { - "path": ["polkadot_primitives", "v5", "ScrapedOnChainVotes"], - "params": [ - { - "name": "H", - "type": 12 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "session", - "type": 4, - "typeName": "SessionIndex" - }, - { - "name": "backing_validators_per_candidate", - "type": 613, - "typeName": "Vec<(CandidateReceipt, Vec<(ValidatorIndex, ValidityAttestation)>)\n>" - }, - { - "name": "disputes", - "type": 417, - "typeName": "MultiDisputeStatementSet" - } - ] - } - } - } - }, - { - "id": 613, - "type": { - "def": { - "sequence": { - "type": 614 - } - } - } - }, - { - "id": 614, - "type": { - "def": { - "tuple": [88, 615] - } - } - }, - { - "id": 615, - "type": { - "def": { - "sequence": { - "type": 616 - } - } - } - }, - { - "id": 616, - "type": { - "def": { - "tuple": [403, 416] - } - } - }, - { - "id": 617, - "type": { - "path": [ - "polkadot_runtime_parachains", - "paras_inherent", - "pallet", - "Error" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "TooManyInclusionInherents", - "index": 0, - "docs": [ - "Inclusion inherent called more than once per block." - ] - }, - { - "name": "InvalidParentHeader", - "index": 1, - "docs": [ - "The hash of the submitted parent header doesn't correspond to the saved block hash of", - "the parent." - ] - }, - { - "name": "CandidateConcludedInvalid", - "index": 2, - "docs": ["Disputed candidate that was concluded invalid."] - }, - { - "name": "InherentOverweight", - "index": 3, - "docs": [ - "The data given to the inherent will result in an overweight block." - ] - }, - { - "name": "DisputeStatementsUnsortedOrDuplicates", - "index": 4, - "docs": [ - "The ordering of dispute statements was invalid." - ] - }, - { - "name": "DisputeInvalid", - "index": 5, - "docs": ["A dispute statement was invalid."] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 618, - "type": { - "def": { - "sequence": { - "type": 604 - } - } - } - }, - { - "id": 619, - "type": { - "def": { - "sequence": { - "type": 620 - } - } - } - }, - { - "id": 620, - "type": { - "path": [ - "polkadot_runtime_parachains", - "scheduler", - "pallet", - "CoreOccupied" - ], - "params": [ - { - "name": "N", - "type": 4 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Free", - "index": 0 - }, - { - "name": "Paras", - "fields": [ - { - "type": 621, - "typeName": "ParasEntry" - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 621, - "type": { - "path": [ - "polkadot_runtime_parachains", - "scheduler", - "pallet", - "ParasEntry" - ], - "params": [ - { - "name": "N", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "assignment", - "type": 622, - "typeName": "Assignment" - }, - { - "name": "availability_timeouts", - "type": 4, - "typeName": "u32" - }, - { - "name": "ttl", - "type": 4, - "typeName": "N" - } - ] - } - } - } - }, - { - "id": 622, - "type": { - "path": [ - "polkadot_runtime_parachains", - "scheduler", - "common", - "Assignment" - ], - "def": { - "composite": { - "fields": [ - { - "name": "para_id", - "type": 90, - "typeName": "ParaId" - } - ] - } - } - } - }, - { - "id": 623, - "type": { - "path": ["BTreeMap"], - "params": [ - { - "name": "K", - "type": 97 - }, - { - "name": "V", - "type": 624 - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 626 - } - ] - } - } - } - }, - { - "id": 624, - "type": { - "def": { - "sequence": { - "type": 625 - } - } - } - }, - { - "id": 625, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 621 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 621 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 626, - "type": { - "def": { - "sequence": { - "type": 627 - } - } - } - }, - { - "id": 627, - "type": { - "def": { - "tuple": [97, 624] - } - } - }, - { - "id": 628, - "type": { - "path": [ - "polkadot_runtime_parachains", - "paras", - "PvfCheckActiveVoteState" - ], - "params": [ - { - "name": "BlockNumber", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "votes_accept", - "type": 401, - "typeName": "BitVec" - }, - { - "name": "votes_reject", - "type": 401, - "typeName": "BitVec" - }, - { - "name": "age", - "type": 4, - "typeName": "SessionIndex" - }, - { - "name": "created_at", - "type": 4, - "typeName": "BlockNumber" - }, - { - "name": "causes", - "type": 629, - "typeName": "Vec>" - } - ] - } - } - } - }, - { - "id": 629, - "type": { - "def": { - "sequence": { - "type": 630 - } - } - } - }, - { - "id": 630, - "type": { - "path": ["polkadot_runtime_parachains", "paras", "PvfCheckCause"], - "params": [ - { - "name": "BlockNumber", - "type": 4 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Onboarding", - "fields": [ - { - "type": 90, - "typeName": "ParaId" - } - ], - "index": 0 - }, - { - "name": "Upgrade", - "fields": [ - { - "name": "id", - "type": 90, - "typeName": "ParaId" - }, - { - "name": "included_at", - "type": 4, - "typeName": "BlockNumber" - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 631, - "type": { - "def": { - "sequence": { - "type": 95 - } - } - } - }, - { - "id": 632, - "type": { - "def": { - "sequence": { - "type": 90 - } - } - } - }, - { - "id": 633, - "type": { - "path": ["polkadot_runtime_parachains", "paras", "ParaLifecycle"], - "def": { - "variant": { - "variants": [ - { - "name": "Onboarding", - "index": 0 - }, - { - "name": "Parathread", - "index": 1 - }, - { - "name": "Parachain", - "index": 2 - }, - { - "name": "UpgradingParathread", - "index": 3 - }, - { - "name": "DowngradingParachain", - "index": 4 - }, - { - "name": "OffboardingParathread", - "index": 5 - }, - { - "name": "OffboardingParachain", - "index": 6 - } - ] - } - } - } - }, - { - "id": 634, - "type": { - "def": { - "tuple": [90, 4] - } - } - }, - { - "id": 635, - "type": { - "path": [ - "polkadot_runtime_parachains", - "paras", - "ParaPastCodeMeta" - ], - "params": [ - { - "name": "N", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "upgrade_times", - "type": 636, - "typeName": "Vec>" - }, - { - "name": "last_pruned", - "type": 255, - "typeName": "Option" - } - ] - } - } - } - }, - { - "id": 636, - "type": { - "def": { - "sequence": { - "type": 637 - } - } - } - }, - { - "id": 637, - "type": { - "path": [ - "polkadot_runtime_parachains", - "paras", - "ReplacementTimes" - ], - "params": [ - { - "name": "N", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "expected_at", - "type": 4, - "typeName": "N" - }, - { - "name": "activated_at", - "type": 4, - "typeName": "N" - } - ] - } - } - } - }, - { - "id": 638, - "type": { - "def": { - "sequence": { - "type": 634 - } - } - } - }, - { - "id": 639, - "type": { - "path": ["polkadot_primitives", "v5", "UpgradeGoAhead"], - "def": { - "variant": { - "variants": [ - { - "name": "Abort", - "index": 0 - }, - { - "name": "GoAhead", - "index": 1 - } - ] - } - } - } - }, - { - "id": 640, - "type": { - "path": ["polkadot_primitives", "v5", "UpgradeRestriction"], - "def": { - "variant": { - "variants": [ - { - "name": "Present", - "index": 0 - } - ] - } - } - } - }, - { - "id": 641, - "type": { - "path": [ - "polkadot_runtime_parachains", - "paras", - "pallet", - "Error" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "NotRegistered", - "index": 0, - "docs": ["Para is not registered in our system."] - }, - { - "name": "CannotOnboard", - "index": 1, - "docs": [ - "Para cannot be onboarded because it is already tracked by our system." - ] - }, - { - "name": "CannotOffboard", - "index": 2, - "docs": ["Para cannot be offboarded at this time."] - }, - { - "name": "CannotUpgrade", - "index": 3, - "docs": [ - "Para cannot be upgraded to a lease holding parachain." - ] - }, - { - "name": "CannotDowngrade", - "index": 4, - "docs": [ - "Para cannot be downgraded to an on-demand parachain." - ] - }, - { - "name": "PvfCheckStatementStale", - "index": 5, - "docs": ["The statement for PVF pre-checking is stale."] - }, - { - "name": "PvfCheckStatementFuture", - "index": 6, - "docs": [ - "The statement for PVF pre-checking is for a future session." - ] - }, - { - "name": "PvfCheckValidatorIndexOutOfBounds", - "index": 7, - "docs": ["Claimed validator index is out of bounds."] - }, - { - "name": "PvfCheckInvalidSignature", - "index": 8, - "docs": [ - "The signature for the PVF pre-checking is invalid." - ] - }, - { - "name": "PvfCheckDoubleVote", - "index": 9, - "docs": ["The given validator already has cast a vote."] - }, - { - "name": "PvfCheckSubjectInvalid", - "index": 10, - "docs": [ - "The given PVF does not exist at the moment of process a vote." - ] - }, - { - "name": "CannotUpgradeCode", - "index": 11, - "docs": [ - "Parachain cannot currently schedule a code upgrade." - ] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 642, - "type": { - "def": { - "sequence": { - "type": 643 - } - } - } - }, - { - "id": 643, - "type": { - "path": [ - "polkadot_runtime_parachains", - "initializer", - "BufferedSessionChange" - ], - "def": { - "composite": { - "fields": [ - { - "name": "validators", - "type": 605, - "typeName": "Vec" - }, - { - "name": "queued", - "type": 605, - "typeName": "Vec" - }, - { - "name": "session_index", - "type": 4, - "typeName": "SessionIndex" - } - ] - } - } - } - }, - { - "id": 644, - "type": { - "def": { - "sequence": { - "type": 645 - } - } - } - }, - { - "id": 645, - "type": { - "path": ["polkadot_core_primitives", "InboundDownwardMessage"], - "params": [ - { - "name": "BlockNumber", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "sent_at", - "type": 4, - "typeName": "BlockNumber" - }, - { - "name": "msg", - "type": 13, - "typeName": "DownwardMessage" - } - ] - } - } - } - }, - { - "id": 646, - "type": { - "path": [ - "polkadot_runtime_parachains", - "hrmp", - "HrmpOpenChannelRequest" - ], - "def": { - "composite": { - "fields": [ - { - "name": "confirmed", - "type": 54, - "typeName": "bool" - }, - { - "name": "_age", - "type": 4, - "typeName": "SessionIndex" - }, - { - "name": "sender_deposit", - "type": 6, - "typeName": "Balance" - }, - { - "name": "max_message_size", - "type": 4, - "typeName": "u32" - }, - { - "name": "max_capacity", - "type": 4, - "typeName": "u32" - }, - { - "name": "max_total_size", - "type": 4, - "typeName": "u32" - } - ] - } - } - } - }, - { - "id": 647, - "type": { - "def": { - "sequence": { - "type": 101 - } - } - } - }, - { - "id": 648, - "type": { - "path": ["polkadot_runtime_parachains", "hrmp", "HrmpChannel"], - "def": { - "composite": { - "fields": [ - { - "name": "max_capacity", - "type": 4, - "typeName": "u32" - }, - { - "name": "max_total_size", - "type": 4, - "typeName": "u32" - }, - { - "name": "max_message_size", - "type": 4, - "typeName": "u32" - }, - { - "name": "msg_count", - "type": 4, - "typeName": "u32" - }, - { - "name": "total_size", - "type": 4, - "typeName": "u32" - }, - { - "name": "mqc_head", - "type": 308, - "typeName": "Option" - }, - { - "name": "sender_deposit", - "type": 6, - "typeName": "Balance" - }, - { - "name": "recipient_deposit", - "type": 6, - "typeName": "Balance" - } - ] - } - } - } - }, - { - "id": 649, - "type": { - "def": { - "sequence": { - "type": 650 - } - } - } - }, - { - "id": 650, - "type": { - "path": ["polkadot_core_primitives", "InboundHrmpMessage"], - "params": [ - { - "name": "BlockNumber", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "sent_at", - "type": 4, - "typeName": "BlockNumber" - }, - { - "name": "data", - "type": 13, - "typeName": "sp_std::vec::Vec" - } - ] - } - } - } - }, - { - "id": 651, - "type": { - "def": { - "sequence": { - "type": 652 - } - } - } - }, - { - "id": 652, - "type": { - "def": { - "tuple": [4, 632] - } - } - }, - { - "id": 653, - "type": { - "path": [ - "polkadot_runtime_parachains", - "hrmp", - "pallet", - "Error" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "OpenHrmpChannelToSelf", - "index": 0, - "docs": [ - "The sender tried to open a channel to themselves." - ] - }, - { - "name": "OpenHrmpChannelInvalidRecipient", - "index": 1, - "docs": ["The recipient is not a valid para."] - }, - { - "name": "OpenHrmpChannelZeroCapacity", - "index": 2, - "docs": ["The requested capacity is zero."] - }, - { - "name": "OpenHrmpChannelCapacityExceedsLimit", - "index": 3, - "docs": [ - "The requested capacity exceeds the global limit." - ] - }, - { - "name": "OpenHrmpChannelZeroMessageSize", - "index": 4, - "docs": ["The requested maximum message size is 0."] - }, - { - "name": "OpenHrmpChannelMessageSizeExceedsLimit", - "index": 5, - "docs": [ - "The open request requested the message size that exceeds the global limit." - ] - }, - { - "name": "OpenHrmpChannelAlreadyExists", - "index": 6, - "docs": ["The channel already exists"] - }, - { - "name": "OpenHrmpChannelAlreadyRequested", - "index": 7, - "docs": [ - "There is already a request to open the same channel." - ] - }, - { - "name": "OpenHrmpChannelLimitExceeded", - "index": 8, - "docs": [ - "The sender already has the maximum number of allowed outbound channels." - ] - }, - { - "name": "AcceptHrmpChannelDoesntExist", - "index": 9, - "docs": [ - "The channel from the sender to the origin doesn't exist." - ] - }, - { - "name": "AcceptHrmpChannelAlreadyConfirmed", - "index": 10, - "docs": ["The channel is already confirmed."] - }, - { - "name": "AcceptHrmpChannelLimitExceeded", - "index": 11, - "docs": [ - "The recipient already has the maximum number of allowed inbound channels." - ] - }, - { - "name": "CloseHrmpChannelUnauthorized", - "index": 12, - "docs": [ - "The origin tries to close a channel where it is neither the sender nor the recipient." - ] - }, - { - "name": "CloseHrmpChannelDoesntExist", - "index": 13, - "docs": ["The channel to be closed doesn't exist."] - }, - { - "name": "CloseHrmpChannelAlreadyUnderway", - "index": 14, - "docs": [ - "The channel close request is already requested." - ] - }, - { - "name": "CancelHrmpOpenChannelUnauthorized", - "index": 15, - "docs": [ - "Canceling is requested by neither the sender nor recipient of the open channel request." - ] - }, - { - "name": "OpenHrmpChannelDoesntExist", - "index": 16, - "docs": ["The open request doesn't exist."] - }, - { - "name": "OpenHrmpChannelAlreadyConfirmed", - "index": 17, - "docs": [ - "Cannot cancel an HRMP open channel request because it is already confirmed." - ] - }, - { - "name": "WrongWitness", - "index": 18, - "docs": ["The provided witness data is wrong."] - }, - { - "name": "ChannelCreationNotAuthorized", - "index": 19, - "docs": [ - "The channel between these two chains cannot be authorized." - ] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 654, - "type": { - "def": { - "sequence": { - "type": 273 - } - } - } - }, - { - "id": 655, - "type": { - "path": ["polkadot_primitives", "v5", "SessionInfo"], - "def": { - "composite": { - "fields": [ - { - "name": "active_validator_indices", - "type": 604, - "typeName": "Vec" - }, - { - "name": "random_seed", - "type": 1, - "typeName": "[u8; 32]" - }, - { - "name": "dispute_period", - "type": 4, - "typeName": "SessionIndex" - }, - { - "name": "validators", - "type": 656, - "typeName": "IndexedVec" - }, - { - "name": "discovery_keys", - "type": 657, - "typeName": "Vec" - }, - { - "name": "assignment_keys", - "type": 654, - "typeName": "Vec" - }, - { - "name": "validator_groups", - "type": 658, - "typeName": "IndexedVec>" - }, - { - "name": "n_cores", - "type": 4, - "typeName": "u32" - }, - { - "name": "zeroth_delay_tranche_width", - "type": 4, - "typeName": "u32" - }, - { - "name": "relay_vrf_modulo_samples", - "type": 4, - "typeName": "u32" - }, - { - "name": "n_delay_tranches", - "type": 4, - "typeName": "u32" - }, - { - "name": "no_show_slots", - "type": 4, - "typeName": "u32" - }, - { - "name": "needed_approvals", - "type": 4, - "typeName": "u32" - } - ] - } - } - } - }, - { - "id": 656, - "type": { - "path": ["polkadot_primitives", "v5", "IndexedVec"], - "params": [ - { - "name": "K", - "type": 403 - }, - { - "name": "V", - "type": 272 - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 605, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 657, - "type": { - "def": { - "sequence": { - "type": 274 - } - } - } - }, - { - "id": 658, - "type": { - "path": ["polkadot_primitives", "v5", "IndexedVec"], - "params": [ - { - "name": "K", - "type": 98 - }, - { - "name": "V", - "type": 604 - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 618, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 659, - "type": { - "def": { - "tuple": [4, 103] - } - } - }, - { - "id": 660, - "type": { - "path": ["polkadot_primitives", "v5", "DisputeState"], - "params": [ - { - "name": "N", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "validators_for", - "type": 401, - "typeName": "BitVec" - }, - { - "name": "validators_against", - "type": 401, - "typeName": "BitVec" - }, - { - "name": "start", - "type": 4, - "typeName": "N" - }, - { - "name": "concluded_at", - "type": 255, - "typeName": "Option" - } - ] - } - } - } - }, - { - "id": 661, - "type": { - "path": ["BTreeSet"], - "params": [ - { - "name": "T", - "type": 403 - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 604 - } - ] - } - } - } - }, - { - "id": 662, - "type": { - "path": [ - "polkadot_runtime_parachains", - "disputes", - "pallet", - "Error" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "DuplicateDisputeStatementSets", - "index": 0, - "docs": ["Duplicate dispute statement sets provided."] - }, - { - "name": "AncientDisputeStatement", - "index": 1, - "docs": ["Ancient dispute statement provided."] - }, - { - "name": "ValidatorIndexOutOfBounds", - "index": 2, - "docs": [ - "Validator index on statement is out of bounds for session." - ] - }, - { - "name": "InvalidSignature", - "index": 3, - "docs": ["Invalid signature on statement."] - }, - { - "name": "DuplicateStatement", - "index": 4, - "docs": [ - "Validator vote submitted more than once to dispute." - ] - }, - { - "name": "SingleSidedDispute", - "index": 5, - "docs": [ - "A dispute where there are only votes on one side." - ] - }, - { - "name": "MaliciousBacker", - "index": 6, - "docs": ["A dispute vote from a malicious backer."] - }, - { - "name": "MissingBackingVotes", - "index": 7, - "docs": [ - "No backing votes were provides along dispute statements." - ] - }, - { - "name": "UnconfirmedDispute", - "index": 8, - "docs": ["Unconfirmed dispute statement sets provided."] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 663, - "type": { - "path": [ - "polkadot_primitives", - "v5", - "slashing", - "PendingSlashes" - ], - "def": { - "composite": { - "fields": [ - { - "name": "keys", - "type": 664, - "typeName": "BTreeMap" - }, - { - "name": "kind", - "type": 432, - "typeName": "SlashingOffenceKind" - } - ] - } - } - } - }, - { - "id": 664, - "type": { - "path": ["BTreeMap"], - "params": [ - { - "name": "K", - "type": 403 - }, - { - "name": "V", - "type": 272 - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 665 - } - ] - } - } - } - }, - { - "id": 665, - "type": { - "def": { - "sequence": { - "type": 666 - } - } - } - }, - { - "id": 666, - "type": { - "def": { - "tuple": [403, 272] - } - } - }, - { - "id": 667, - "type": { - "path": [ - "polkadot_runtime_parachains", - "disputes", - "slashing", - "pallet", - "Error" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "InvalidKeyOwnershipProof", - "index": 0, - "docs": ["The key ownership proof is invalid."] - }, - { - "name": "InvalidSessionIndex", - "index": 1, - "docs": ["The session index is too old or invalid."] - }, - { - "name": "InvalidCandidateHash", - "index": 2, - "docs": ["The candidate hash is invalid."] - }, - { - "name": "InvalidValidatorIndex", - "index": 3, - "docs": [ - "There is no pending slash for the given validator index and time", - "slot." - ] - }, - { - "name": "ValidatorIndexIdMismatch", - "index": 4, - "docs": [ - "The validator index does not match the validator id." - ] - }, - { - "name": "DuplicateSlashingReport", - "index": 5, - "docs": [ - "The given slashing report is valid but already previously reported." - ] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 668, - "type": { - "path": ["pallet_message_queue", "BookState"], - "params": [ - { - "name": "MessageOrigin", - "type": 107 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "begin", - "type": 4, - "typeName": "PageIndex" - }, - { - "name": "end", - "type": 4, - "typeName": "PageIndex" - }, - { - "name": "count", - "type": 4, - "typeName": "PageIndex" - }, - { - "name": "ready_neighbours", - "type": 669, - "typeName": "Option>" - }, - { - "name": "message_count", - "type": 11, - "typeName": "u64" - }, - { - "name": "size", - "type": 11, - "typeName": "u64" - } - ] - } - } - } - }, - { - "id": 669, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 670 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 670 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 670, - "type": { - "path": ["pallet_message_queue", "Neighbours"], - "params": [ - { - "name": "MessageOrigin", - "type": 107 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "prev", - "type": 107, - "typeName": "MessageOrigin" - }, - { - "name": "next", - "type": 107, - "typeName": "MessageOrigin" - } - ] - } - } - } - }, - { - "id": 671, - "type": { - "def": { - "tuple": [107, 4] - } - } - }, - { - "id": 672, - "type": { - "path": ["pallet_message_queue", "Page"], - "params": [ - { - "name": "Size", - "type": 4 - }, - { - "name": "HeapSize", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "remaining", - "type": 4, - "typeName": "Size" - }, - { - "name": "remaining_size", - "type": 4, - "typeName": "Size" - }, - { - "name": "first_index", - "type": 4, - "typeName": "Size" - }, - { - "name": "first", - "type": 4, - "typeName": "Size" - }, - { - "name": "last", - "type": 4, - "typeName": "Size" - }, - { - "name": "heap", - "type": 673, - "typeName": "BoundedVec>" - } - ] - } - } - } - }, - { - "id": 673, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 2 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 13, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 674, - "type": { - "path": ["pallet_message_queue", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "NotReapable", - "index": 0, - "docs": [ - "Page is not reapable because it has items remaining to be processed and is not old", - "enough." - ] - }, - { - "name": "NoPage", - "index": 1, - "docs": ["Page to be reaped does not exist."] - }, - { - "name": "NoMessage", - "index": 2, - "docs": ["The referenced message could not be found."] - }, - { - "name": "AlreadyProcessed", - "index": 3, - "docs": [ - "The message was already processed and cannot be processed again." - ] - }, - { - "name": "Queued", - "index": 4, - "docs": ["The message is queued for future execution."] - }, - { - "name": "InsufficientWeight", - "index": 5, - "docs": [ - "There is temporarily not enough weight to continue servicing messages." - ] - }, - { - "name": "TemporarilyUnprocessable", - "index": 6, - "docs": [ - "This message is temporarily unprocessable.", - "", - "Such errors are expected, but not guaranteed, to resolve themselves eventually through", - "retrying." - ] - }, - { - "name": "QueuePaused", - "index": 7, - "docs": [ - "The queue is paused and no message can be executed from it.", - "", - "This can change at any time and may resolve in the future by re-trying." - ] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 675, - "type": { - "def": { - "sequence": { - "type": 622 - } - } - } - }, - { - "id": 676, - "type": { - "path": [ - "polkadot_runtime_parachains", - "assigner_on_demand", - "CoreAffinityCount" - ], - "def": { - "composite": { - "fields": [ - { - "name": "core_idx", - "type": 97, - "typeName": "CoreIndex" - }, - { - "name": "count", - "type": 4, - "typeName": "u32" - } - ] - } - } - } - }, - { - "id": 677, - "type": { - "path": [ - "polkadot_runtime_parachains", - "assigner_on_demand", - "pallet", - "Error" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "InvalidParaId", - "index": 0, - "docs": [ - "The `ParaId` supplied to the `place_order` call is not a valid `ParaThread`, making the", - "call is invalid." - ] - }, - { - "name": "QueueFull", - "index": 1, - "docs": [ - "The order queue is full, `place_order` will not continue." - ] - }, - { - "name": "SpotPriceHigherThanMaxAmount", - "index": 2, - "docs": [ - "The current spot price is higher than the max amount specified in the `place_order`", - "call, making it invalid." - ] - }, - { - "name": "NoOnDemandCores", - "index": 3, - "docs": [ - "There are no on demand cores available. `place_order` will not add anything to the", - "queue." - ] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 678, - "type": { - "path": [ - "polkadot_runtime_common", - "paras_registrar", - "ParaInfo" - ], - "params": [ - { - "name": "Account", - "type": 0 - }, - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "manager", - "type": 0, - "typeName": "Account" - }, - { - "name": "deposit", - "type": 6, - "typeName": "Balance" - }, - { - "name": "locked", - "type": 679, - "typeName": "Option" - } - ] - } - } - } - }, - { - "id": 679, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 54 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 54 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 680, - "type": { - "path": [ - "polkadot_runtime_common", - "paras_registrar", - "pallet", - "Error" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "NotRegistered", - "index": 0, - "docs": ["The ID is not registered."] - }, - { - "name": "AlreadyRegistered", - "index": 1, - "docs": ["The ID is already registered."] - }, - { - "name": "NotOwner", - "index": 2, - "docs": ["The caller is not the owner of this Id."] - }, - { - "name": "CodeTooLarge", - "index": 3, - "docs": ["Invalid para code size."] - }, - { - "name": "HeadDataTooLarge", - "index": 4, - "docs": ["Invalid para head data size."] - }, - { - "name": "NotParachain", - "index": 5, - "docs": ["Para is not a Parachain."] - }, - { - "name": "NotParathread", - "index": 6, - "docs": [ - "Para is not a Parathread (on-demand parachain)." - ] - }, - { - "name": "CannotDeregister", - "index": 7, - "docs": ["Cannot deregister para"] - }, - { - "name": "CannotDowngrade", - "index": 8, - "docs": [ - "Cannot schedule downgrade of lease holding parachain to on-demand parachain" - ] - }, - { - "name": "CannotUpgrade", - "index": 9, - "docs": [ - "Cannot schedule upgrade of on-demand parachain to lease holding parachain" - ] - }, - { - "name": "ParaLocked", - "index": 10, - "docs": [ - "Para is locked from manipulation by the manager. Must use parachain or relay chain", - "governance." - ] - }, - { - "name": "NotReserved", - "index": 11, - "docs": [ - "The ID given for registration has not been reserved." - ] - }, - { - "name": "EmptyCode", - "index": 12, - "docs": [ - "Registering parachain with empty code is not allowed." - ] - }, - { - "name": "CannotSwap", - "index": 13, - "docs": [ - "Cannot perform a parachain slot / lifecycle swap. Check that the state of both paras", - "are correct for the swap to work." - ] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 681, - "type": { - "def": { - "sequence": { - "type": 569 - } - } - } - }, - { - "id": 682, - "type": { - "path": ["polkadot_runtime_common", "slots", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "ParaNotOnboarding", - "index": 0, - "docs": ["The parachain ID is not onboarding."] - }, - { - "name": "LeaseError", - "index": 1, - "docs": ["There was an error with the lease."] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 683, - "type": { - "def": { - "tuple": [0, 90] - } - } - }, - { - "id": 684, - "type": { - "def": { - "array": { - "len": 36, - "type": 685 - } - } - } - }, - { - "id": 685, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 686 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 686 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 686, - "type": { - "def": { - "tuple": [0, 90, 6] - } - } - }, - { - "id": 687, - "type": { - "path": [ - "polkadot_runtime_common", - "auctions", - "pallet", - "Error" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "AuctionInProgress", - "index": 0, - "docs": ["This auction is already in progress."] - }, - { - "name": "LeasePeriodInPast", - "index": 1, - "docs": ["The lease period is in the past."] - }, - { - "name": "ParaNotRegistered", - "index": 2, - "docs": ["Para is not registered"] - }, - { - "name": "NotCurrentAuction", - "index": 3, - "docs": ["Not a current auction."] - }, - { - "name": "NotAuction", - "index": 4, - "docs": ["Not an auction."] - }, - { - "name": "AuctionEnded", - "index": 5, - "docs": ["Auction has already ended."] - }, - { - "name": "AlreadyLeasedOut", - "index": 6, - "docs": [ - "The para is already leased out for part of this range." - ] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 688, - "type": { - "path": ["polkadot_runtime_common", "crowdloan", "FundInfo"], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "Balance", - "type": 6 - }, - { - "name": "BlockNumber", - "type": 4 - }, - { - "name": "LeasePeriod", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "depositor", - "type": 0, - "typeName": "AccountId" - }, - { - "name": "verifier", - "type": 440, - "typeName": "Option" - }, - { - "name": "deposit", - "type": 6, - "typeName": "Balance" - }, - { - "name": "raised", - "type": 6, - "typeName": "Balance" - }, - { - "name": "end", - "type": 4, - "typeName": "BlockNumber" - }, - { - "name": "cap", - "type": 6, - "typeName": "Balance" - }, - { - "name": "last_contribution", - "type": 689, - "typeName": "LastContribution" - }, - { - "name": "first_period", - "type": 4, - "typeName": "LeasePeriod" - }, - { - "name": "last_period", - "type": 4, - "typeName": "LeasePeriod" - }, - { - "name": "fund_index", - "type": 4, - "typeName": "FundIndex" - } - ] - } - } - } - }, - { - "id": 689, - "type": { - "path": [ - "polkadot_runtime_common", - "crowdloan", - "LastContribution" - ], - "params": [ - { - "name": "BlockNumber", - "type": 4 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Never", - "index": 0 - }, - { - "name": "PreEnding", - "fields": [ - { - "type": 4, - "typeName": "u32" - } - ], - "index": 1 - }, - { - "name": "Ending", - "fields": [ - { - "type": 4, - "typeName": "BlockNumber" - } - ], - "index": 2 - } - ] - } - } - } - }, - { - "id": 690, - "type": { - "path": [ - "polkadot_runtime_common", - "crowdloan", - "pallet", - "Error" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "FirstPeriodInPast", - "index": 0, - "docs": [ - "The current lease period is more than the first lease period." - ] - }, - { - "name": "FirstPeriodTooFarInFuture", - "index": 1, - "docs": [ - "The first lease period needs to at least be less than 3 `max_value`." - ] - }, - { - "name": "LastPeriodBeforeFirstPeriod", - "index": 2, - "docs": [ - "Last lease period must be greater than first lease period." - ] - }, - { - "name": "LastPeriodTooFarInFuture", - "index": 3, - "docs": [ - "The last lease period cannot be more than 3 periods after the first period." - ] - }, - { - "name": "CannotEndInPast", - "index": 4, - "docs": [ - "The campaign ends before the current block number. The end must be in the future." - ] - }, - { - "name": "EndTooFarInFuture", - "index": 5, - "docs": [ - "The end date for this crowdloan is not sensible." - ] - }, - { - "name": "Overflow", - "index": 6, - "docs": ["There was an overflow."] - }, - { - "name": "ContributionTooSmall", - "index": 7, - "docs": [ - "The contribution was below the minimum, `MinContribution`." - ] - }, - { - "name": "InvalidParaId", - "index": 8, - "docs": ["Invalid fund index."] - }, - { - "name": "CapExceeded", - "index": 9, - "docs": ["Contributions exceed maximum amount."] - }, - { - "name": "ContributionPeriodOver", - "index": 10, - "docs": ["The contribution period has already ended."] - }, - { - "name": "InvalidOrigin", - "index": 11, - "docs": ["The origin of this call is invalid."] - }, - { - "name": "NotParachain", - "index": 12, - "docs": [ - "This crowdloan does not correspond to a parachain." - ] - }, - { - "name": "LeaseActive", - "index": 13, - "docs": [ - "This parachain lease is still active and retirement cannot yet begin." - ] - }, - { - "name": "BidOrLeaseActive", - "index": 14, - "docs": [ - "This parachain's bid or lease is still active and withdraw cannot yet begin." - ] - }, - { - "name": "FundNotEnded", - "index": 15, - "docs": ["The crowdloan has not yet ended."] - }, - { - "name": "NoContributions", - "index": 16, - "docs": [ - "There are no contributions stored in this crowdloan." - ] - }, - { - "name": "NotReadyToDissolve", - "index": 17, - "docs": [ - "The crowdloan is not ready to dissolve. Potentially still has a slot or in retirement", - "period." - ] - }, - { - "name": "InvalidSignature", - "index": 18, - "docs": ["Invalid signature."] - }, - { - "name": "MemoTooLarge", - "index": 19, - "docs": ["The provided memo is too large."] - }, - { - "name": "AlreadyInNewRaise", - "index": 20, - "docs": ["The fund is already in `NewRaise`"] - }, - { - "name": "VrfDelayInProgress", - "index": 21, - "docs": ["No contributions allowed during the VRF delay"] - }, - { - "name": "NoLeasePeriod", - "index": 22, - "docs": [ - "A lease period has not started yet, due to an offset in the starting block." - ] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 691, - "type": { - "path": ["pallet_xcm", "pallet", "QueryStatus"], - "params": [ - { - "name": "BlockNumber", - "type": 4 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Pending", - "fields": [ - { - "name": "responder", - "type": 169, - "typeName": "VersionedMultiLocation" - }, - { - "name": "maybe_match_querier", - "type": 692, - "typeName": "Option" - }, - { - "name": "maybe_notify", - "type": 693, - "typeName": "Option<(u8, u8)>" - }, - { - "name": "timeout", - "type": 4, - "typeName": "BlockNumber" - } - ], - "index": 0 - }, - { - "name": "VersionNotifier", - "fields": [ - { - "name": "origin", - "type": 169, - "typeName": "VersionedMultiLocation" - }, - { - "name": "is_active", - "type": 54, - "typeName": "bool" - } - ], - "index": 1 - }, - { - "name": "Ready", - "fields": [ - { - "name": "response", - "type": 695, - "typeName": "VersionedResponse" - }, - { - "name": "at", - "type": 4, - "typeName": "BlockNumber" - } - ], - "index": 2 - } - ] - } - } - } - }, - { - "id": 692, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 169 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 169 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 693, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 694 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 694 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 694, - "type": { - "def": { - "tuple": [2, 2] - } - } - }, - { - "id": 695, - "type": { - "path": ["staging_xcm", "VersionedResponse"], - "def": { - "variant": { - "variants": [ - { - "name": "V2", - "fields": [ - { - "type": 449, - "typeName": "v2::Response" - } - ], - "index": 2 - }, - { - "name": "V3", - "fields": [ - { - "type": 138, - "typeName": "v3::Response" - } - ], - "index": 3 - } - ] - } - } - } - }, - { - "id": 696, - "type": { - "def": { - "tuple": [4, 169] - } - } - }, - { - "id": 697, - "type": { - "def": { - "tuple": [11, 9, 4] - } - } - }, - { - "id": 698, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 699 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 700, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 699, - "type": { - "def": { - "tuple": [169, 4] - } - } - }, - { - "id": 700, - "type": { - "def": { - "sequence": { - "type": 699 - } - } - } - }, - { - "id": 701, - "type": { - "path": ["pallet_xcm", "pallet", "VersionMigrationStage"], - "def": { - "variant": { - "variants": [ - { - "name": "MigrateSupportedVersion", - "index": 0 - }, - { - "name": "MigrateVersionNotifiers", - "index": 1 - }, - { - "name": "NotifyCurrentTargets", - "fields": [ - { - "type": 702, - "typeName": "Option>" - } - ], - "index": 2 - }, - { - "name": "MigrateAndNotifyOldTargets", - "index": 3 - } - ] - } - } - } - }, - { - "id": 702, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 13 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 13 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 703, - "type": { - "def": { - "tuple": [4, 0, 704] - } - } - }, - { - "id": 704, - "type": { - "path": ["staging_xcm", "VersionedAssetId"], - "def": { - "variant": { - "variants": [ - { - "name": "V3", - "fields": [ - { - "type": 134, - "typeName": "v3::AssetId" - } - ], - "index": 3 - } - ] - } - } - } - }, - { - "id": 705, - "type": { - "path": ["pallet_xcm", "pallet", "RemoteLockedFungibleRecord"], - "params": [ - { - "name": "ConsumerIdentifier", - "type": 47 - }, - { - "name": "MaxConsumers", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "amount", - "type": 6, - "typeName": "u128" - }, - { - "name": "owner", - "type": 169, - "typeName": "VersionedMultiLocation" - }, - { - "name": "locker", - "type": 169, - "typeName": "VersionedMultiLocation" - }, - { - "name": "consumers", - "type": 706, - "typeName": "BoundedVec<(ConsumerIdentifier, u128), MaxConsumers>" - } - ] - } - } - } - }, - { - "id": 706, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 707 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 708, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 707, - "type": { - "def": { - "tuple": [47, 6] - } - } - }, - { - "id": 708, - "type": { - "def": { - "sequence": { - "type": 707 - } - } - } - }, - { - "id": 709, - "type": { - "path": ["bounded_collections", "bounded_vec", "BoundedVec"], - "params": [ - { - "name": "T", - "type": 710 - }, - { - "name": "S", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 711, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 710, - "type": { - "def": { - "tuple": [6, 169] - } - } - }, - { - "id": 711, - "type": { - "def": { - "sequence": { - "type": 710 - } - } - } - }, - { - "id": 712, - "type": { - "path": ["pallet_xcm", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Unreachable", - "index": 0, - "docs": [ - "The desired destination was unreachable, generally because there is a no way of routing", - "to it." - ] - }, - { - "name": "SendFailure", - "index": 1, - "docs": [ - "There was some other issue (i.e. not to do with routing) in sending the message.", - "Perhaps a lack of space for buffering the message." - ] - }, - { - "name": "Filtered", - "index": 2, - "docs": ["The message execution fails the filter."] - }, - { - "name": "UnweighableMessage", - "index": 3, - "docs": ["The message's weight could not be determined."] - }, - { - "name": "DestinationNotInvertible", - "index": 4, - "docs": [ - "The destination `MultiLocation` provided cannot be inverted." - ] - }, - { - "name": "Empty", - "index": 5, - "docs": ["The assets to be sent are empty."] - }, - { - "name": "CannotReanchor", - "index": 6, - "docs": [ - "Could not re-anchor the assets to declare the fees for the destination chain." - ] - }, - { - "name": "TooManyAssets", - "index": 7, - "docs": [ - "Too many assets have been attempted for transfer." - ] - }, - { - "name": "InvalidOrigin", - "index": 8, - "docs": ["Origin is invalid for sending."] - }, - { - "name": "BadVersion", - "index": 9, - "docs": [ - "The version of the `Versioned` value used is not able to be interpreted." - ] - }, - { - "name": "BadLocation", - "index": 10, - "docs": [ - "The given location could not be used (e.g. because it cannot be expressed in the", - "desired version of XCM)." - ] - }, - { - "name": "NoSubscription", - "index": 11, - "docs": [ - "The referenced subscription could not be found." - ] - }, - { - "name": "AlreadySubscribed", - "index": 12, - "docs": [ - "The location is invalid since it already has a subscription from us." - ] - }, - { - "name": "InvalidAsset", - "index": 13, - "docs": ["Invalid asset for the operation."] - }, - { - "name": "LowBalance", - "index": 14, - "docs": [ - "The owner does not own (all) of the asset that they wish to do the operation on." - ] - }, - { - "name": "TooManyLocks", - "index": 15, - "docs": [ - "The asset owner has too many locks on the asset." - ] - }, - { - "name": "AccountNotSovereign", - "index": 16, - "docs": [ - "The given account is not an identifiable sovereign account for any location." - ] - }, - { - "name": "FeesNotMet", - "index": 17, - "docs": [ - "The operation required fees to be paid which the initiator could not meet." - ] - }, - { - "name": "LockNotFound", - "index": 18, - "docs": [ - "A remote lock with the corresponding data could not be found." - ] - }, - { - "name": "InUse", - "index": 19, - "docs": [ - "The unlock operation cannot succeed because there are still consumers of the lock." - ] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 713, - "type": { - "path": [ - "polkadot_runtime_common", - "paras_sudo_wrapper", - "pallet", - "Error" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "ParaDoesntExist", - "index": 0, - "docs": ["The specified parachain is not registered."] - }, - { - "name": "ParaAlreadyExists", - "index": 1, - "docs": ["The specified parachain is already registered."] - }, - { - "name": "ExceedsMaxMessageSize", - "index": 2, - "docs": [ - "A DMP message couldn't be sent because it exceeds the maximum size allowed for a", - "downward message." - ] - }, - { - "name": "CouldntCleanup", - "index": 3, - "docs": ["Could not schedule para cleanup."] - }, - { - "name": "NotParathread", - "index": 4, - "docs": ["Not a parathread (on-demand parachain)."] - }, - { - "name": "NotParachain", - "index": 5, - "docs": ["Not a lease holding parachain."] - }, - { - "name": "CannotUpgrade", - "index": 6, - "docs": [ - "Cannot upgrade on-demand parachain to lease holding parachain." - ] - }, - { - "name": "CannotDowngrade", - "index": 7, - "docs": [ - "Cannot downgrade lease holding parachain to on-demand." - ] - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 714, - "type": { - "path": [ - "polkadot_runtime_common", - "assigned_slots", - "ParachainTemporarySlot" - ], - "params": [ - { - "name": "AccountId", - "type": 0 - }, - { - "name": "LeasePeriod", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "manager", - "type": 0, - "typeName": "AccountId" - }, - { - "name": "period_begin", - "type": 4, - "typeName": "LeasePeriod" - }, - { - "name": "period_count", - "type": 4, - "typeName": "LeasePeriod" - }, - { - "name": "last_lease", - "type": 255, - "typeName": "Option" - }, - { - "name": "lease_count", - "type": 4, - "typeName": "u32" - } - ] - } - } - } - }, - { - "id": 715, - "type": { - "path": [ - "polkadot_runtime_common", - "assigned_slots", - "pallet", - "Error" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "ParaDoesntExist", - "index": 0, - "docs": ["The specified parachain is not registered."] - }, - { - "name": "NotParathread", - "index": 1, - "docs": ["Not a parathread (on-demand parachain)."] - }, - { - "name": "CannotUpgrade", - "index": 2, - "docs": [ - "Cannot upgrade on-demand parachain to lease holding", - "parachain." - ] - }, - { - "name": "CannotDowngrade", - "index": 3, - "docs": [ - "Cannot downgrade lease holding parachain to", - "on-demand." - ] - }, - { - "name": "SlotAlreadyAssigned", - "index": 4, - "docs": ["Permanent or Temporary slot already assigned."] - }, - { - "name": "SlotNotAssigned", - "index": 5, - "docs": [ - "Permanent or Temporary slot has not been assigned." - ] - }, - { - "name": "OngoingLeaseExists", - "index": 6, - "docs": ["An ongoing lease already exists."] - }, - { - "name": "MaxPermanentSlotsExceeded", - "index": 7 - }, - { - "name": "MaxTemporarySlotsExceeded", - "index": 8 - } - ] - } - }, - "docs": ["The `Error` enum of this pallet."] - } - }, - { - "id": 716, - "type": { - "path": ["pallet_sudo", "pallet", "Error"], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "RequireSudo", - "index": 0, - "docs": ["Sender must be the Sudo account"] - } - ] - } - }, - "docs": ["Error for the Sudo pallet"] - } - }, - { - "id": 717, - "type": { - "def": { - "tuple": [718, 719, 720, 721, 722, 724, 725, 726] - } - } - }, - { - "id": 718, - "type": { - "path": [ - "frame_system", - "extensions", - "check_non_zero_sender", - "CheckNonZeroSender" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "composite": {} - } - } - }, - { - "id": 719, - "type": { - "path": [ - "frame_system", - "extensions", - "check_spec_version", - "CheckSpecVersion" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "composite": {} - } - } - }, - { - "id": 720, - "type": { - "path": [ - "frame_system", - "extensions", - "check_tx_version", - "CheckTxVersion" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "composite": {} - } - } - }, - { - "id": 721, - "type": { - "path": [ - "frame_system", - "extensions", - "check_genesis", - "CheckGenesis" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "composite": {} - } - } - }, - { - "id": 722, - "type": { - "path": [ - "frame_system", - "extensions", - "check_mortality", - "CheckMortality" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 723, - "typeName": "Era" - } - ] - } - } - } - }, - { - "id": 723, - "type": { - "path": ["sp_runtime", "generic", "era", "Era"], - "def": { - "variant": { - "variants": [ - { - "name": "Immortal", - "index": 0 - }, - { - "name": "Mortal1", - "fields": [ - { - "type": 2 - } - ], - "index": 1 - }, - { - "name": "Mortal2", - "fields": [ - { - "type": 2 - } - ], - "index": 2 - }, - { - "name": "Mortal3", - "fields": [ - { - "type": 2 - } - ], - "index": 3 - }, - { - "name": "Mortal4", - "fields": [ - { - "type": 2 - } - ], - "index": 4 - }, - { - "name": "Mortal5", - "fields": [ - { - "type": 2 - } - ], - "index": 5 - }, - { - "name": "Mortal6", - "fields": [ - { - "type": 2 - } - ], - "index": 6 - }, - { - "name": "Mortal7", - "fields": [ - { - "type": 2 - } - ], - "index": 7 - }, - { - "name": "Mortal8", - "fields": [ - { - "type": 2 - } - ], - "index": 8 - }, - { - "name": "Mortal9", - "fields": [ - { - "type": 2 - } - ], - "index": 9 - }, - { - "name": "Mortal10", - "fields": [ - { - "type": 2 - } - ], - "index": 10 - }, - { - "name": "Mortal11", - "fields": [ - { - "type": 2 - } - ], - "index": 11 - }, - { - "name": "Mortal12", - "fields": [ - { - "type": 2 - } - ], - "index": 12 - }, - { - "name": "Mortal13", - "fields": [ - { - "type": 2 - } - ], - "index": 13 - }, - { - "name": "Mortal14", - "fields": [ - { - "type": 2 - } - ], - "index": 14 - }, - { - "name": "Mortal15", - "fields": [ - { - "type": 2 - } - ], - "index": 15 - }, - { - "name": "Mortal16", - "fields": [ - { - "type": 2 - } - ], - "index": 16 - }, - { - "name": "Mortal17", - "fields": [ - { - "type": 2 - } - ], - "index": 17 - }, - { - "name": "Mortal18", - "fields": [ - { - "type": 2 - } - ], - "index": 18 - }, - { - "name": "Mortal19", - "fields": [ - { - "type": 2 - } - ], - "index": 19 - }, - { - "name": "Mortal20", - "fields": [ - { - "type": 2 - } - ], - "index": 20 - }, - { - "name": "Mortal21", - "fields": [ - { - "type": 2 - } - ], - "index": 21 - }, - { - "name": "Mortal22", - "fields": [ - { - "type": 2 - } - ], - "index": 22 - }, - { - "name": "Mortal23", - "fields": [ - { - "type": 2 - } - ], - "index": 23 - }, - { - "name": "Mortal24", - "fields": [ - { - "type": 2 - } - ], - "index": 24 - }, - { - "name": "Mortal25", - "fields": [ - { - "type": 2 - } - ], - "index": 25 - }, - { - "name": "Mortal26", - "fields": [ - { - "type": 2 - } - ], - "index": 26 - }, - { - "name": "Mortal27", - "fields": [ - { - "type": 2 - } - ], - "index": 27 - }, - { - "name": "Mortal28", - "fields": [ - { - "type": 2 - } - ], - "index": 28 - }, - { - "name": "Mortal29", - "fields": [ - { - "type": 2 - } - ], - "index": 29 - }, - { - "name": "Mortal30", - "fields": [ - { - "type": 2 - } - ], - "index": 30 - }, - { - "name": "Mortal31", - "fields": [ - { - "type": 2 - } - ], - "index": 31 - }, - { - "name": "Mortal32", - "fields": [ - { - "type": 2 - } - ], - "index": 32 - }, - { - "name": "Mortal33", - "fields": [ - { - "type": 2 - } - ], - "index": 33 - }, - { - "name": "Mortal34", - "fields": [ - { - "type": 2 - } - ], - "index": 34 - }, - { - "name": "Mortal35", - "fields": [ - { - "type": 2 - } - ], - "index": 35 - }, - { - "name": "Mortal36", - "fields": [ - { - "type": 2 - } - ], - "index": 36 - }, - { - "name": "Mortal37", - "fields": [ - { - "type": 2 - } - ], - "index": 37 - }, - { - "name": "Mortal38", - "fields": [ - { - "type": 2 - } - ], - "index": 38 - }, - { - "name": "Mortal39", - "fields": [ - { - "type": 2 - } - ], - "index": 39 - }, - { - "name": "Mortal40", - "fields": [ - { - "type": 2 - } - ], - "index": 40 - }, - { - "name": "Mortal41", - "fields": [ - { - "type": 2 - } - ], - "index": 41 - }, - { - "name": "Mortal42", - "fields": [ - { - "type": 2 - } - ], - "index": 42 - }, - { - "name": "Mortal43", - "fields": [ - { - "type": 2 - } - ], - "index": 43 - }, - { - "name": "Mortal44", - "fields": [ - { - "type": 2 - } - ], - "index": 44 - }, - { - "name": "Mortal45", - "fields": [ - { - "type": 2 - } - ], - "index": 45 - }, - { - "name": "Mortal46", - "fields": [ - { - "type": 2 - } - ], - "index": 46 - }, - { - "name": "Mortal47", - "fields": [ - { - "type": 2 - } - ], - "index": 47 - }, - { - "name": "Mortal48", - "fields": [ - { - "type": 2 - } - ], - "index": 48 - }, - { - "name": "Mortal49", - "fields": [ - { - "type": 2 - } - ], - "index": 49 - }, - { - "name": "Mortal50", - "fields": [ - { - "type": 2 - } - ], - "index": 50 - }, - { - "name": "Mortal51", - "fields": [ - { - "type": 2 - } - ], - "index": 51 - }, - { - "name": "Mortal52", - "fields": [ - { - "type": 2 - } - ], - "index": 52 - }, - { - "name": "Mortal53", - "fields": [ - { - "type": 2 - } - ], - "index": 53 - }, - { - "name": "Mortal54", - "fields": [ - { - "type": 2 - } - ], - "index": 54 - }, - { - "name": "Mortal55", - "fields": [ - { - "type": 2 - } - ], - "index": 55 - }, - { - "name": "Mortal56", - "fields": [ - { - "type": 2 - } - ], - "index": 56 - }, - { - "name": "Mortal57", - "fields": [ - { - "type": 2 - } - ], - "index": 57 - }, - { - "name": "Mortal58", - "fields": [ - { - "type": 2 - } - ], - "index": 58 - }, - { - "name": "Mortal59", - "fields": [ - { - "type": 2 - } - ], - "index": 59 - }, - { - "name": "Mortal60", - "fields": [ - { - "type": 2 - } - ], - "index": 60 - }, - { - "name": "Mortal61", - "fields": [ - { - "type": 2 - } - ], - "index": 61 - }, - { - "name": "Mortal62", - "fields": [ - { - "type": 2 - } - ], - "index": 62 - }, - { - "name": "Mortal63", - "fields": [ - { - "type": 2 - } - ], - "index": 63 - }, - { - "name": "Mortal64", - "fields": [ - { - "type": 2 - } - ], - "index": 64 - }, - { - "name": "Mortal65", - "fields": [ - { - "type": 2 - } - ], - "index": 65 - }, - { - "name": "Mortal66", - "fields": [ - { - "type": 2 - } - ], - "index": 66 - }, - { - "name": "Mortal67", - "fields": [ - { - "type": 2 - } - ], - "index": 67 - }, - { - "name": "Mortal68", - "fields": [ - { - "type": 2 - } - ], - "index": 68 - }, - { - "name": "Mortal69", - "fields": [ - { - "type": 2 - } - ], - "index": 69 - }, - { - "name": "Mortal70", - "fields": [ - { - "type": 2 - } - ], - "index": 70 - }, - { - "name": "Mortal71", - "fields": [ - { - "type": 2 - } - ], - "index": 71 - }, - { - "name": "Mortal72", - "fields": [ - { - "type": 2 - } - ], - "index": 72 - }, - { - "name": "Mortal73", - "fields": [ - { - "type": 2 - } - ], - "index": 73 - }, - { - "name": "Mortal74", - "fields": [ - { - "type": 2 - } - ], - "index": 74 - }, - { - "name": "Mortal75", - "fields": [ - { - "type": 2 - } - ], - "index": 75 - }, - { - "name": "Mortal76", - "fields": [ - { - "type": 2 - } - ], - "index": 76 - }, - { - "name": "Mortal77", - "fields": [ - { - "type": 2 - } - ], - "index": 77 - }, - { - "name": "Mortal78", - "fields": [ - { - "type": 2 - } - ], - "index": 78 - }, - { - "name": "Mortal79", - "fields": [ - { - "type": 2 - } - ], - "index": 79 - }, - { - "name": "Mortal80", - "fields": [ - { - "type": 2 - } - ], - "index": 80 - }, - { - "name": "Mortal81", - "fields": [ - { - "type": 2 - } - ], - "index": 81 - }, - { - "name": "Mortal82", - "fields": [ - { - "type": 2 - } - ], - "index": 82 - }, - { - "name": "Mortal83", - "fields": [ - { - "type": 2 - } - ], - "index": 83 - }, - { - "name": "Mortal84", - "fields": [ - { - "type": 2 - } - ], - "index": 84 - }, - { - "name": "Mortal85", - "fields": [ - { - "type": 2 - } - ], - "index": 85 - }, - { - "name": "Mortal86", - "fields": [ - { - "type": 2 - } - ], - "index": 86 - }, - { - "name": "Mortal87", - "fields": [ - { - "type": 2 - } - ], - "index": 87 - }, - { - "name": "Mortal88", - "fields": [ - { - "type": 2 - } - ], - "index": 88 - }, - { - "name": "Mortal89", - "fields": [ - { - "type": 2 - } - ], - "index": 89 - }, - { - "name": "Mortal90", - "fields": [ - { - "type": 2 - } - ], - "index": 90 - }, - { - "name": "Mortal91", - "fields": [ - { - "type": 2 - } - ], - "index": 91 - }, - { - "name": "Mortal92", - "fields": [ - { - "type": 2 - } - ], - "index": 92 - }, - { - "name": "Mortal93", - "fields": [ - { - "type": 2 - } - ], - "index": 93 - }, - { - "name": "Mortal94", - "fields": [ - { - "type": 2 - } - ], - "index": 94 - }, - { - "name": "Mortal95", - "fields": [ - { - "type": 2 - } - ], - "index": 95 - }, - { - "name": "Mortal96", - "fields": [ - { - "type": 2 - } - ], - "index": 96 - }, - { - "name": "Mortal97", - "fields": [ - { - "type": 2 - } - ], - "index": 97 - }, - { - "name": "Mortal98", - "fields": [ - { - "type": 2 - } - ], - "index": 98 - }, - { - "name": "Mortal99", - "fields": [ - { - "type": 2 - } - ], - "index": 99 - }, - { - "name": "Mortal100", - "fields": [ - { - "type": 2 - } - ], - "index": 100 - }, - { - "name": "Mortal101", - "fields": [ - { - "type": 2 - } - ], - "index": 101 - }, - { - "name": "Mortal102", - "fields": [ - { - "type": 2 - } - ], - "index": 102 - }, - { - "name": "Mortal103", - "fields": [ - { - "type": 2 - } - ], - "index": 103 - }, - { - "name": "Mortal104", - "fields": [ - { - "type": 2 - } - ], - "index": 104 - }, - { - "name": "Mortal105", - "fields": [ - { - "type": 2 - } - ], - "index": 105 - }, - { - "name": "Mortal106", - "fields": [ - { - "type": 2 - } - ], - "index": 106 - }, - { - "name": "Mortal107", - "fields": [ - { - "type": 2 - } - ], - "index": 107 - }, - { - "name": "Mortal108", - "fields": [ - { - "type": 2 - } - ], - "index": 108 - }, - { - "name": "Mortal109", - "fields": [ - { - "type": 2 - } - ], - "index": 109 - }, - { - "name": "Mortal110", - "fields": [ - { - "type": 2 - } - ], - "index": 110 - }, - { - "name": "Mortal111", - "fields": [ - { - "type": 2 - } - ], - "index": 111 - }, - { - "name": "Mortal112", - "fields": [ - { - "type": 2 - } - ], - "index": 112 - }, - { - "name": "Mortal113", - "fields": [ - { - "type": 2 - } - ], - "index": 113 - }, - { - "name": "Mortal114", - "fields": [ - { - "type": 2 - } - ], - "index": 114 - }, - { - "name": "Mortal115", - "fields": [ - { - "type": 2 - } - ], - "index": 115 - }, - { - "name": "Mortal116", - "fields": [ - { - "type": 2 - } - ], - "index": 116 - }, - { - "name": "Mortal117", - "fields": [ - { - "type": 2 - } - ], - "index": 117 - }, - { - "name": "Mortal118", - "fields": [ - { - "type": 2 - } - ], - "index": 118 - }, - { - "name": "Mortal119", - "fields": [ - { - "type": 2 - } - ], - "index": 119 - }, - { - "name": "Mortal120", - "fields": [ - { - "type": 2 - } - ], - "index": 120 - }, - { - "name": "Mortal121", - "fields": [ - { - "type": 2 - } - ], - "index": 121 - }, - { - "name": "Mortal122", - "fields": [ - { - "type": 2 - } - ], - "index": 122 - }, - { - "name": "Mortal123", - "fields": [ - { - "type": 2 - } - ], - "index": 123 - }, - { - "name": "Mortal124", - "fields": [ - { - "type": 2 - } - ], - "index": 124 - }, - { - "name": "Mortal125", - "fields": [ - { - "type": 2 - } - ], - "index": 125 - }, - { - "name": "Mortal126", - "fields": [ - { - "type": 2 - } - ], - "index": 126 - }, - { - "name": "Mortal127", - "fields": [ - { - "type": 2 - } - ], - "index": 127 - }, - { - "name": "Mortal128", - "fields": [ - { - "type": 2 - } - ], - "index": 128 - }, - { - "name": "Mortal129", - "fields": [ - { - "type": 2 - } - ], - "index": 129 - }, - { - "name": "Mortal130", - "fields": [ - { - "type": 2 - } - ], - "index": 130 - }, - { - "name": "Mortal131", - "fields": [ - { - "type": 2 - } - ], - "index": 131 - }, - { - "name": "Mortal132", - "fields": [ - { - "type": 2 - } - ], - "index": 132 - }, - { - "name": "Mortal133", - "fields": [ - { - "type": 2 - } - ], - "index": 133 - }, - { - "name": "Mortal134", - "fields": [ - { - "type": 2 - } - ], - "index": 134 - }, - { - "name": "Mortal135", - "fields": [ - { - "type": 2 - } - ], - "index": 135 - }, - { - "name": "Mortal136", - "fields": [ - { - "type": 2 - } - ], - "index": 136 - }, - { - "name": "Mortal137", - "fields": [ - { - "type": 2 - } - ], - "index": 137 - }, - { - "name": "Mortal138", - "fields": [ - { - "type": 2 - } - ], - "index": 138 - }, - { - "name": "Mortal139", - "fields": [ - { - "type": 2 - } - ], - "index": 139 - }, - { - "name": "Mortal140", - "fields": [ - { - "type": 2 - } - ], - "index": 140 - }, - { - "name": "Mortal141", - "fields": [ - { - "type": 2 - } - ], - "index": 141 - }, - { - "name": "Mortal142", - "fields": [ - { - "type": 2 - } - ], - "index": 142 - }, - { - "name": "Mortal143", - "fields": [ - { - "type": 2 - } - ], - "index": 143 - }, - { - "name": "Mortal144", - "fields": [ - { - "type": 2 - } - ], - "index": 144 - }, - { - "name": "Mortal145", - "fields": [ - { - "type": 2 - } - ], - "index": 145 - }, - { - "name": "Mortal146", - "fields": [ - { - "type": 2 - } - ], - "index": 146 - }, - { - "name": "Mortal147", - "fields": [ - { - "type": 2 - } - ], - "index": 147 - }, - { - "name": "Mortal148", - "fields": [ - { - "type": 2 - } - ], - "index": 148 - }, - { - "name": "Mortal149", - "fields": [ - { - "type": 2 - } - ], - "index": 149 - }, - { - "name": "Mortal150", - "fields": [ - { - "type": 2 - } - ], - "index": 150 - }, - { - "name": "Mortal151", - "fields": [ - { - "type": 2 - } - ], - "index": 151 - }, - { - "name": "Mortal152", - "fields": [ - { - "type": 2 - } - ], - "index": 152 - }, - { - "name": "Mortal153", - "fields": [ - { - "type": 2 - } - ], - "index": 153 - }, - { - "name": "Mortal154", - "fields": [ - { - "type": 2 - } - ], - "index": 154 - }, - { - "name": "Mortal155", - "fields": [ - { - "type": 2 - } - ], - "index": 155 - }, - { - "name": "Mortal156", - "fields": [ - { - "type": 2 - } - ], - "index": 156 - }, - { - "name": "Mortal157", - "fields": [ - { - "type": 2 - } - ], - "index": 157 - }, - { - "name": "Mortal158", - "fields": [ - { - "type": 2 - } - ], - "index": 158 - }, - { - "name": "Mortal159", - "fields": [ - { - "type": 2 - } - ], - "index": 159 - }, - { - "name": "Mortal160", - "fields": [ - { - "type": 2 - } - ], - "index": 160 - }, - { - "name": "Mortal161", - "fields": [ - { - "type": 2 - } - ], - "index": 161 - }, - { - "name": "Mortal162", - "fields": [ - { - "type": 2 - } - ], - "index": 162 - }, - { - "name": "Mortal163", - "fields": [ - { - "type": 2 - } - ], - "index": 163 - }, - { - "name": "Mortal164", - "fields": [ - { - "type": 2 - } - ], - "index": 164 - }, - { - "name": "Mortal165", - "fields": [ - { - "type": 2 - } - ], - "index": 165 - }, - { - "name": "Mortal166", - "fields": [ - { - "type": 2 - } - ], - "index": 166 - }, - { - "name": "Mortal167", - "fields": [ - { - "type": 2 - } - ], - "index": 167 - }, - { - "name": "Mortal168", - "fields": [ - { - "type": 2 - } - ], - "index": 168 - }, - { - "name": "Mortal169", - "fields": [ - { - "type": 2 - } - ], - "index": 169 - }, - { - "name": "Mortal170", - "fields": [ - { - "type": 2 - } - ], - "index": 170 - }, - { - "name": "Mortal171", - "fields": [ - { - "type": 2 - } - ], - "index": 171 - }, - { - "name": "Mortal172", - "fields": [ - { - "type": 2 - } - ], - "index": 172 - }, - { - "name": "Mortal173", - "fields": [ - { - "type": 2 - } - ], - "index": 173 - }, - { - "name": "Mortal174", - "fields": [ - { - "type": 2 - } - ], - "index": 174 - }, - { - "name": "Mortal175", - "fields": [ - { - "type": 2 - } - ], - "index": 175 - }, - { - "name": "Mortal176", - "fields": [ - { - "type": 2 - } - ], - "index": 176 - }, - { - "name": "Mortal177", - "fields": [ - { - "type": 2 - } - ], - "index": 177 - }, - { - "name": "Mortal178", - "fields": [ - { - "type": 2 - } - ], - "index": 178 - }, - { - "name": "Mortal179", - "fields": [ - { - "type": 2 - } - ], - "index": 179 - }, - { - "name": "Mortal180", - "fields": [ - { - "type": 2 - } - ], - "index": 180 - }, - { - "name": "Mortal181", - "fields": [ - { - "type": 2 - } - ], - "index": 181 - }, - { - "name": "Mortal182", - "fields": [ - { - "type": 2 - } - ], - "index": 182 - }, - { - "name": "Mortal183", - "fields": [ - { - "type": 2 - } - ], - "index": 183 - }, - { - "name": "Mortal184", - "fields": [ - { - "type": 2 - } - ], - "index": 184 - }, - { - "name": "Mortal185", - "fields": [ - { - "type": 2 - } - ], - "index": 185 - }, - { - "name": "Mortal186", - "fields": [ - { - "type": 2 - } - ], - "index": 186 - }, - { - "name": "Mortal187", - "fields": [ - { - "type": 2 - } - ], - "index": 187 - }, - { - "name": "Mortal188", - "fields": [ - { - "type": 2 - } - ], - "index": 188 - }, - { - "name": "Mortal189", - "fields": [ - { - "type": 2 - } - ], - "index": 189 - }, - { - "name": "Mortal190", - "fields": [ - { - "type": 2 - } - ], - "index": 190 - }, - { - "name": "Mortal191", - "fields": [ - { - "type": 2 - } - ], - "index": 191 - }, - { - "name": "Mortal192", - "fields": [ - { - "type": 2 - } - ], - "index": 192 - }, - { - "name": "Mortal193", - "fields": [ - { - "type": 2 - } - ], - "index": 193 - }, - { - "name": "Mortal194", - "fields": [ - { - "type": 2 - } - ], - "index": 194 - }, - { - "name": "Mortal195", - "fields": [ - { - "type": 2 - } - ], - "index": 195 - }, - { - "name": "Mortal196", - "fields": [ - { - "type": 2 - } - ], - "index": 196 - }, - { - "name": "Mortal197", - "fields": [ - { - "type": 2 - } - ], - "index": 197 - }, - { - "name": "Mortal198", - "fields": [ - { - "type": 2 - } - ], - "index": 198 - }, - { - "name": "Mortal199", - "fields": [ - { - "type": 2 - } - ], - "index": 199 - }, - { - "name": "Mortal200", - "fields": [ - { - "type": 2 - } - ], - "index": 200 - }, - { - "name": "Mortal201", - "fields": [ - { - "type": 2 - } - ], - "index": 201 - }, - { - "name": "Mortal202", - "fields": [ - { - "type": 2 - } - ], - "index": 202 - }, - { - "name": "Mortal203", - "fields": [ - { - "type": 2 - } - ], - "index": 203 - }, - { - "name": "Mortal204", - "fields": [ - { - "type": 2 - } - ], - "index": 204 - }, - { - "name": "Mortal205", - "fields": [ - { - "type": 2 - } - ], - "index": 205 - }, - { - "name": "Mortal206", - "fields": [ - { - "type": 2 - } - ], - "index": 206 - }, - { - "name": "Mortal207", - "fields": [ - { - "type": 2 - } - ], - "index": 207 - }, - { - "name": "Mortal208", - "fields": [ - { - "type": 2 - } - ], - "index": 208 - }, - { - "name": "Mortal209", - "fields": [ - { - "type": 2 - } - ], - "index": 209 - }, - { - "name": "Mortal210", - "fields": [ - { - "type": 2 - } - ], - "index": 210 - }, - { - "name": "Mortal211", - "fields": [ - { - "type": 2 - } - ], - "index": 211 - }, - { - "name": "Mortal212", - "fields": [ - { - "type": 2 - } - ], - "index": 212 - }, - { - "name": "Mortal213", - "fields": [ - { - "type": 2 - } - ], - "index": 213 - }, - { - "name": "Mortal214", - "fields": [ - { - "type": 2 - } - ], - "index": 214 - }, - { - "name": "Mortal215", - "fields": [ - { - "type": 2 - } - ], - "index": 215 - }, - { - "name": "Mortal216", - "fields": [ - { - "type": 2 - } - ], - "index": 216 - }, - { - "name": "Mortal217", - "fields": [ - { - "type": 2 - } - ], - "index": 217 - }, - { - "name": "Mortal218", - "fields": [ - { - "type": 2 - } - ], - "index": 218 - }, - { - "name": "Mortal219", - "fields": [ - { - "type": 2 - } - ], - "index": 219 - }, - { - "name": "Mortal220", - "fields": [ - { - "type": 2 - } - ], - "index": 220 - }, - { - "name": "Mortal221", - "fields": [ - { - "type": 2 - } - ], - "index": 221 - }, - { - "name": "Mortal222", - "fields": [ - { - "type": 2 - } - ], - "index": 222 - }, - { - "name": "Mortal223", - "fields": [ - { - "type": 2 - } - ], - "index": 223 - }, - { - "name": "Mortal224", - "fields": [ - { - "type": 2 - } - ], - "index": 224 - }, - { - "name": "Mortal225", - "fields": [ - { - "type": 2 - } - ], - "index": 225 - }, - { - "name": "Mortal226", - "fields": [ - { - "type": 2 - } - ], - "index": 226 - }, - { - "name": "Mortal227", - "fields": [ - { - "type": 2 - } - ], - "index": 227 - }, - { - "name": "Mortal228", - "fields": [ - { - "type": 2 - } - ], - "index": 228 - }, - { - "name": "Mortal229", - "fields": [ - { - "type": 2 - } - ], - "index": 229 - }, - { - "name": "Mortal230", - "fields": [ - { - "type": 2 - } - ], - "index": 230 - }, - { - "name": "Mortal231", - "fields": [ - { - "type": 2 - } - ], - "index": 231 - }, - { - "name": "Mortal232", - "fields": [ - { - "type": 2 - } - ], - "index": 232 - }, - { - "name": "Mortal233", - "fields": [ - { - "type": 2 - } - ], - "index": 233 - }, - { - "name": "Mortal234", - "fields": [ - { - "type": 2 - } - ], - "index": 234 - }, - { - "name": "Mortal235", - "fields": [ - { - "type": 2 - } - ], - "index": 235 - }, - { - "name": "Mortal236", - "fields": [ - { - "type": 2 - } - ], - "index": 236 - }, - { - "name": "Mortal237", - "fields": [ - { - "type": 2 - } - ], - "index": 237 - }, - { - "name": "Mortal238", - "fields": [ - { - "type": 2 - } - ], - "index": 238 - }, - { - "name": "Mortal239", - "fields": [ - { - "type": 2 - } - ], - "index": 239 - }, - { - "name": "Mortal240", - "fields": [ - { - "type": 2 - } - ], - "index": 240 - }, - { - "name": "Mortal241", - "fields": [ - { - "type": 2 - } - ], - "index": 241 - }, - { - "name": "Mortal242", - "fields": [ - { - "type": 2 - } - ], - "index": 242 - }, - { - "name": "Mortal243", - "fields": [ - { - "type": 2 - } - ], - "index": 243 - }, - { - "name": "Mortal244", - "fields": [ - { - "type": 2 - } - ], - "index": 244 - }, - { - "name": "Mortal245", - "fields": [ - { - "type": 2 - } - ], - "index": 245 - }, - { - "name": "Mortal246", - "fields": [ - { - "type": 2 - } - ], - "index": 246 - }, - { - "name": "Mortal247", - "fields": [ - { - "type": 2 - } - ], - "index": 247 - }, - { - "name": "Mortal248", - "fields": [ - { - "type": 2 - } - ], - "index": 248 - }, - { - "name": "Mortal249", - "fields": [ - { - "type": 2 - } - ], - "index": 249 - }, - { - "name": "Mortal250", - "fields": [ - { - "type": 2 - } - ], - "index": 250 - }, - { - "name": "Mortal251", - "fields": [ - { - "type": 2 - } - ], - "index": 251 - }, - { - "name": "Mortal252", - "fields": [ - { - "type": 2 - } - ], - "index": 252 - }, - { - "name": "Mortal253", - "fields": [ - { - "type": 2 - } - ], - "index": 253 - }, - { - "name": "Mortal254", - "fields": [ - { - "type": 2 - } - ], - "index": 254 - }, - { - "name": "Mortal255", - "fields": [ - { - "type": 2 - } - ], - "index": 255 - } - ] - } - } - } - }, - { - "id": 724, - "type": { - "path": [ - "frame_system", - "extensions", - "check_nonce", - "CheckNonce" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 122, - "typeName": "T::Nonce" - } - ] - } - } - } - }, - { - "id": 725, - "type": { - "path": [ - "frame_system", - "extensions", - "check_weight", - "CheckWeight" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "composite": {} - } - } - }, - { - "id": 726, - "type": { - "path": [ - "pallet_transaction_payment", - "ChargeTransactionPayment" - ], - "params": [ - { - "name": "T", - "type": null - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 125, - "typeName": "BalanceOf" - } - ] - } - } - } - }, - { - "id": 727, - "type": { - "path": ["rococo_runtime", "Runtime"], - "def": { - "composite": {} - } - } - }, - { - "id": 728, - "type": { - "path": ["sp_runtime", "generic", "block", "Block"], - "params": [ - { - "name": "Header", - "type": 220 - }, - { - "name": "Extrinsic", - "type": 729 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "header", - "type": 220, - "typeName": "Header" - }, - { - "name": "extrinsics", - "type": 730, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 729, - "type": { - "path": [ - "sp_runtime", - "generic", - "unchecked_extrinsic", - "UncheckedExtrinsic" - ], - "params": [ - { - "name": "Address", - "type": 226 - }, - { - "name": "Call", - "type": 305 - }, - { - "name": "Signature", - "type": 443 - }, - { - "name": "Extra", - "type": 717 - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 13 - } - ] - } - } - } - }, - { - "id": 730, - "type": { - "def": { - "sequence": { - "type": 729 - } - } - } - }, - { - "id": 731, - "type": { - "path": ["sp_core", "OpaqueMetadata"], - "def": { - "composite": { - "fields": [ - { - "type": 13, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 732, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 731 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 731 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 733, - "type": { - "path": ["Result"], - "params": [ - { - "name": "T", - "type": 55 - }, - { - "name": "E", - "type": 734 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Ok", - "fields": [ - { - "type": 55 - } - ], - "index": 0 - }, - { - "name": "Err", - "fields": [ - { - "type": 734 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 734, - "type": { - "path": [ - "sp_runtime", - "transaction_validity", - "TransactionValidityError" - ], - "def": { - "variant": { - "variants": [ - { - "name": "Invalid", - "fields": [ - { - "type": 735, - "typeName": "InvalidTransaction" - } - ], - "index": 0 - }, - { - "name": "Unknown", - "fields": [ - { - "type": 736, - "typeName": "UnknownTransaction" - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 735, - "type": { - "path": [ - "sp_runtime", - "transaction_validity", - "InvalidTransaction" - ], - "def": { - "variant": { - "variants": [ - { - "name": "Call", - "index": 0 - }, - { - "name": "Payment", - "index": 1 - }, - { - "name": "Future", - "index": 2 - }, - { - "name": "Stale", - "index": 3 - }, - { - "name": "BadProof", - "index": 4 - }, - { - "name": "AncientBirthBlock", - "index": 5 - }, - { - "name": "ExhaustsResources", - "index": 6 - }, - { - "name": "Custom", - "fields": [ - { - "type": 2, - "typeName": "u8" - } - ], - "index": 7 - }, - { - "name": "BadMandatory", - "index": 8 - }, - { - "name": "MandatoryValidation", - "index": 9 - }, - { - "name": "BadSigner", - "index": 10 - } - ] - } - } - } - }, - { - "id": 736, - "type": { - "path": [ - "sp_runtime", - "transaction_validity", - "UnknownTransaction" - ], - "def": { - "variant": { - "variants": [ - { - "name": "CannotLookup", - "index": 0 - }, - { - "name": "NoUnsignedValidator", - "index": 1 - }, - { - "name": "Custom", - "fields": [ - { - "type": 2, - "typeName": "u8" - } - ], - "index": 2 - } - ] - } - } - } - }, - { - "id": 737, - "type": { - "path": ["sp_inherents", "InherentData"], - "def": { - "composite": { - "fields": [ - { - "name": "data", - "type": 738, - "typeName": "BTreeMap>" - } - ] - } - } - } - }, - { - "id": 738, - "type": { - "path": ["BTreeMap"], - "params": [ - { - "name": "K", - "type": 137 - }, - { - "name": "V", - "type": 13 - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 739 - } - ] - } - } - } - }, - { - "id": 739, - "type": { - "def": { - "sequence": { - "type": 740 - } - } - } - }, - { - "id": 740, - "type": { - "def": { - "tuple": [137, 13] - } - } - }, - { - "id": 741, - "type": { - "path": ["sp_inherents", "CheckInherentsResult"], - "def": { - "composite": { - "fields": [ - { - "name": "okay", - "type": 54, - "typeName": "bool" - }, - { - "name": "fatal_error", - "type": 54, - "typeName": "bool" - }, - { - "name": "errors", - "type": 737, - "typeName": "InherentData" - } - ] - } - } - } - }, - { - "id": 742, - "type": { - "path": [ - "sp_runtime", - "transaction_validity", - "TransactionSource" - ], - "def": { - "variant": { - "variants": [ - { - "name": "InBlock", - "index": 0 - }, - { - "name": "Local", - "index": 1 - }, - { - "name": "External", - "index": 2 - } - ] - } - } - } - }, - { - "id": 743, - "type": { - "path": ["Result"], - "params": [ - { - "name": "T", - "type": 744 - }, - { - "name": "E", - "type": 734 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Ok", - "fields": [ - { - "type": 744 - } - ], - "index": 0 - }, - { - "name": "Err", - "fields": [ - { - "type": 734 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 744, - "type": { - "path": [ - "sp_runtime", - "transaction_validity", - "ValidTransaction" - ], - "def": { - "composite": { - "fields": [ - { - "name": "priority", - "type": 11, - "typeName": "TransactionPriority" - }, - { - "name": "requires", - "type": 185, - "typeName": "Vec" - }, - { - "name": "provides", - "type": 185, - "typeName": "Vec" - }, - { - "name": "longevity", - "type": 11, - "typeName": "TransactionLongevity" - }, - { - "name": "propagate", - "type": 54, - "typeName": "bool" - } - ] - } - } - } - }, - { - "id": 745, - "type": { - "def": { - "tuple": [618, 746] - } - } - }, - { - "id": 746, - "type": { - "path": ["polkadot_primitives", "v5", "GroupRotationInfo"], - "params": [ - { - "name": "N", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "session_start_block", - "type": 4, - "typeName": "N" - }, - { - "name": "group_rotation_frequency", - "type": 4, - "typeName": "N" - }, - { - "name": "now", - "type": 4, - "typeName": "N" - } - ] - } - } - } - }, - { - "id": 747, - "type": { - "def": { - "sequence": { - "type": 748 - } - } - } - }, - { - "id": 748, - "type": { - "path": ["polkadot_primitives", "v5", "CoreState"], - "params": [ - { - "name": "H", - "type": 12 - }, - { - "name": "N", - "type": 4 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Occupied", - "fields": [ - { - "type": 749, - "typeName": "OccupiedCore" - } - ], - "index": 0 - }, - { - "name": "Scheduled", - "fields": [ - { - "type": 751, - "typeName": "ScheduledCore" - } - ], - "index": 1 - }, - { - "name": "Free", - "index": 2 - } - ] - } - } - } - }, - { - "id": 749, - "type": { - "path": ["polkadot_primitives", "v5", "OccupiedCore"], - "params": [ - { - "name": "H", - "type": 12 - }, - { - "name": "N", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "next_up_on_available", - "type": 750, - "typeName": "Option" - }, - { - "name": "occupied_since", - "type": 4, - "typeName": "N" - }, - { - "name": "time_out_at", - "type": 4, - "typeName": "N" - }, - { - "name": "next_up_on_time_out", - "type": 750, - "typeName": "Option" - }, - { - "name": "availability", - "type": 401, - "typeName": "BitVec" - }, - { - "name": "group_responsible", - "type": 98, - "typeName": "GroupIndex" - }, - { - "name": "candidate_hash", - "type": 103, - "typeName": "CandidateHash" - }, - { - "name": "candidate_descriptor", - "type": 89, - "typeName": "CandidateDescriptor" - } - ] - } - } - } - }, - { - "id": 750, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 751 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 751 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 751, - "type": { - "path": ["polkadot_primitives", "v5", "ScheduledCore"], - "def": { - "composite": { - "fields": [ - { - "name": "para_id", - "type": 90, - "typeName": "Id" - }, - { - "name": "collator", - "type": 752, - "typeName": "Option" - } - ] - } - } - } - }, - { - "id": 752, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 91 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 91 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 753, - "type": { - "path": ["polkadot_primitives", "v5", "OccupiedCoreAssumption"], - "def": { - "variant": { - "variants": [ - { - "name": "Included", - "index": 0 - }, - { - "name": "TimedOut", - "index": 1 - }, - { - "name": "Free", - "index": 2 - } - ] - } - } - } - }, - { - "id": 754, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 755 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 755 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 755, - "type": { - "path": ["polkadot_primitives", "v5", "PersistedValidationData"], - "params": [ - { - "name": "H", - "type": 12 - }, - { - "name": "N", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "parent_head", - "type": 96, - "typeName": "HeadData" - }, - { - "name": "relay_parent_number", - "type": 4, - "typeName": "N" - }, - { - "name": "relay_parent_storage_root", - "type": 12, - "typeName": "H" - }, - { - "name": "max_pov_size", - "type": 4, - "typeName": "u32" - } - ] - } - } - } - }, - { - "id": 756, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 757 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 757 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 757, - "type": { - "def": { - "tuple": [755, 95] - } - } - }, - { - "id": 758, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 407 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 407 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 759, - "type": { - "def": { - "sequence": { - "type": 760 - } - } - } - }, - { - "id": 760, - "type": { - "path": ["polkadot_primitives", "v5", "CandidateEvent"], - "params": [ - { - "name": "H", - "type": 12 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "CandidateBacked", - "fields": [ - { - "type": 88, - "typeName": "CandidateReceipt" - }, - { - "type": 96, - "typeName": "HeadData" - }, - { - "type": 97, - "typeName": "CoreIndex" - }, - { - "type": 98, - "typeName": "GroupIndex" - } - ], - "index": 0 - }, - { - "name": "CandidateIncluded", - "fields": [ - { - "type": 88, - "typeName": "CandidateReceipt" - }, - { - "type": 96, - "typeName": "HeadData" - }, - { - "type": 97, - "typeName": "CoreIndex" - }, - { - "type": 98, - "typeName": "GroupIndex" - } - ], - "index": 1 - }, - { - "name": "CandidateTimedOut", - "fields": [ - { - "type": 88, - "typeName": "CandidateReceipt" - }, - { - "type": 96, - "typeName": "HeadData" - }, - { - "type": 97, - "typeName": "CoreIndex" - } - ], - "index": 2 - } - ] - } - } - } - }, - { - "id": 761, - "type": { - "path": ["BTreeMap"], - "params": [ - { - "name": "K", - "type": 90 - }, - { - "name": "V", - "type": 649 - } - ], - "def": { - "composite": { - "fields": [ - { - "type": 762 - } - ] - } - } - } - }, - { - "id": 762, - "type": { - "def": { - "sequence": { - "type": 763 - } - } - } - }, - { - "id": 763, - "type": { - "def": { - "tuple": [90, 649] - } - } - }, - { - "id": 764, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 612 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 612 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 765, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 655 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 655 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 766, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 95 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 95 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 767, - "type": { - "def": { - "sequence": { - "type": 768 - } - } - } - }, - { - "id": 768, - "type": { - "def": { - "tuple": [4, 103, 660] - } - } - }, - { - "id": 769, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 388 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 388 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 770, - "type": { - "def": { - "sequence": { - "type": 771 - } - } - } - }, - { - "id": 771, - "type": { - "def": { - "tuple": [4, 103, 663] - } - } - }, - { - "id": 772, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 773 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 773 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 773, - "type": { - "path": [ - "polkadot_primitives", - "v5", - "slashing", - "OpaqueKeyOwnershipProof" - ], - "def": { - "composite": { - "fields": [ - { - "type": 13, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 774, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 47 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 47 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 775, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 776 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 776 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 776, - "type": { - "path": ["polkadot_primitives", "vstaging", "BackingState"], - "params": [ - { - "name": "H", - "type": 12 - }, - { - "name": "N", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "constraints", - "type": 777, - "typeName": "Constraints" - }, - { - "name": "pending_availability", - "type": 785, - "typeName": "Vec>" - } - ] - } - } - } - }, - { - "id": 777, - "type": { - "path": ["polkadot_primitives", "vstaging", "Constraints"], - "params": [ - { - "name": "N", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "min_relay_parent_number", - "type": 4, - "typeName": "N" - }, - { - "name": "max_pov_size", - "type": 4, - "typeName": "u32" - }, - { - "name": "max_code_size", - "type": 4, - "typeName": "u32" - }, - { - "name": "ump_remaining", - "type": 4, - "typeName": "u32" - }, - { - "name": "ump_remaining_bytes", - "type": 4, - "typeName": "u32" - }, - { - "name": "max_ump_num_per_candidate", - "type": 4, - "typeName": "u32" - }, - { - "name": "dmp_remaining_messages", - "type": 275, - "typeName": "Vec" - }, - { - "name": "hrmp_inbound", - "type": 778, - "typeName": "InboundHrmpLimitations" - }, - { - "name": "hrmp_channels_out", - "type": 779, - "typeName": "Vec<(ParaId, OutboundHrmpChannelLimitations)>" - }, - { - "name": "max_hrmp_num_per_candidate", - "type": 4, - "typeName": "u32" - }, - { - "name": "required_parent", - "type": 96, - "typeName": "HeadData" - }, - { - "name": "validation_code_hash", - "type": 95, - "typeName": "ValidationCodeHash" - }, - { - "name": "upgrade_restriction", - "type": 782, - "typeName": "Option" - }, - { - "name": "future_validation_code", - "type": 783, - "typeName": "Option<(N, ValidationCodeHash)>" - } - ] - } - } - } - }, - { - "id": 778, - "type": { - "path": [ - "polkadot_primitives", - "vstaging", - "InboundHrmpLimitations" - ], - "params": [ - { - "name": "N", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "valid_watermarks", - "type": 275, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 779, - "type": { - "def": { - "sequence": { - "type": 780 - } - } - } - }, - { - "id": 780, - "type": { - "def": { - "tuple": [90, 781] - } - } - }, - { - "id": 781, - "type": { - "path": [ - "polkadot_primitives", - "vstaging", - "OutboundHrmpChannelLimitations" - ], - "def": { - "composite": { - "fields": [ - { - "name": "bytes_remaining", - "type": 4, - "typeName": "u32" - }, - { - "name": "messages_remaining", - "type": 4, - "typeName": "u32" - } - ] - } - } - } - }, - { - "id": 782, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 640 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 640 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 783, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 784 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 784 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 784, - "type": { - "def": { - "tuple": [4, 95] - } - } - }, - { - "id": 785, - "type": { - "def": { - "sequence": { - "type": 786 - } - } - } - }, - { - "id": 786, - "type": { - "path": [ - "polkadot_primitives", - "vstaging", - "CandidatePendingAvailability" - ], - "params": [ - { - "name": "H", - "type": 12 - }, - { - "name": "N", - "type": 4 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "candidate_hash", - "type": 103, - "typeName": "CandidateHash" - }, - { - "name": "descriptor", - "type": 89, - "typeName": "CandidateDescriptor" - }, - { - "name": "commitments", - "type": 408, - "typeName": "CandidateCommitments" - }, - { - "name": "relay_parent_number", - "type": 4, - "typeName": "N" - }, - { - "name": "max_pov_size", - "type": 4, - "typeName": "u32" - } - ] - } - } - } - }, - { - "id": 787, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 788 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 788 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 788, - "type": { - "path": ["sp_consensus_beefy", "ValidatorSet"], - "params": [ - { - "name": "AuthorityId", - "type": 251 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "validators", - "type": 254, - "typeName": "Vec" - }, - { - "name": "id", - "type": 11, - "typeName": "ValidatorSetId" - } - ] - } - } - } - }, - { - "id": 789, - "type": { - "path": ["sp_consensus_beefy", "OpaqueKeyOwnershipProof"], - "def": { - "composite": { - "fields": [ - { - "type": 13, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 790, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 789 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 789 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 791, - "type": { - "path": ["Result"], - "params": [ - { - "name": "T", - "type": 12 - }, - { - "name": "E", - "type": 792 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Ok", - "fields": [ - { - "type": 12 - } - ], - "index": 0 - }, - { - "name": "Err", - "fields": [ - { - "type": 792 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 792, - "type": { - "path": ["sp_mmr_primitives", "Error"], - "def": { - "variant": { - "variants": [ - { - "name": "InvalidNumericOp", - "index": 0 - }, - { - "name": "Push", - "index": 1 - }, - { - "name": "GetRoot", - "index": 2 - }, - { - "name": "Commit", - "index": 3 - }, - { - "name": "GenerateProof", - "index": 4 - }, - { - "name": "Verify", - "index": 5 - }, - { - "name": "LeafNotFound", - "index": 6 - }, - { - "name": "PalletNotIncluded", - "index": 7 - }, - { - "name": "InvalidLeafIndex", - "index": 8 - }, - { - "name": "InvalidBestKnownBlock", - "index": 9 - } - ] - } - } - } - }, - { - "id": 793, - "type": { - "path": ["Result"], - "params": [ - { - "name": "T", - "type": 11 - }, - { - "name": "E", - "type": 792 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Ok", - "fields": [ - { - "type": 11 - } - ], - "index": 0 - }, - { - "name": "Err", - "fields": [ - { - "type": 792 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 794, - "type": { - "path": ["Result"], - "params": [ - { - "name": "T", - "type": 795 - }, - { - "name": "E", - "type": 792 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Ok", - "fields": [ - { - "type": 795 - } - ], - "index": 0 - }, - { - "name": "Err", - "fields": [ - { - "type": 792 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 795, - "type": { - "def": { - "tuple": [796, 798] - } - } - }, - { - "id": 796, - "type": { - "def": { - "sequence": { - "type": 797 - } - } - } - }, - { - "id": 797, - "type": { - "path": ["sp_mmr_primitives", "EncodableOpaqueLeaf"], - "def": { - "composite": { - "fields": [ - { - "type": 13, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 798, - "type": { - "path": ["sp_mmr_primitives", "Proof"], - "params": [ - { - "name": "Hash", - "type": 12 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "leaf_indices", - "type": 799, - "typeName": "Vec" - }, - { - "name": "leaf_count", - "type": 11, - "typeName": "NodeIndex" - }, - { - "name": "items", - "type": 178, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 799, - "type": { - "def": { - "sequence": { - "type": 11 - } - } - } - }, - { - "id": 800, - "type": { - "path": ["Result"], - "params": [ - { - "name": "T", - "type": 47 - }, - { - "name": "E", - "type": 792 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "Ok", - "fields": [ - { - "type": 47 - } - ], - "index": 0 - }, - { - "name": "Err", - "fields": [ - { - "type": 792 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 801, - "type": { - "path": ["sp_consensus_grandpa", "OpaqueKeyOwnershipProof"], - "def": { - "composite": { - "fields": [ - { - "type": 13, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 802, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 801 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 801 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 803, - "type": { - "path": ["sp_consensus_babe", "BabeConfiguration"], - "def": { - "composite": { - "fields": [ - { - "name": "slot_duration", - "type": 11, - "typeName": "u64" - }, - { - "name": "epoch_length", - "type": 11, - "typeName": "u64" - }, - { - "name": "c", - "type": 204, - "typeName": "(u64, u64)" - }, - { - "name": "authorities", - "type": 201, - "typeName": "Vec<(AuthorityId, BabeAuthorityWeight)>" - }, - { - "name": "randomness", - "type": 1, - "typeName": "Randomness" - }, - { - "name": "allowed_slots", - "type": 205, - "typeName": "AllowedSlots" - } - ] - } - } - } - }, - { - "id": 804, - "type": { - "path": ["sp_consensus_babe", "Epoch"], - "def": { - "composite": { - "fields": [ - { - "name": "epoch_index", - "type": 11, - "typeName": "u64" - }, - { - "name": "start_slot", - "type": 202, - "typeName": "Slot" - }, - { - "name": "duration", - "type": 11, - "typeName": "u64" - }, - { - "name": "authorities", - "type": 201, - "typeName": "Vec<(AuthorityId, BabeAuthorityWeight)>" - }, - { - "name": "randomness", - "type": 1, - "typeName": "Randomness" - }, - { - "name": "config", - "type": 214, - "typeName": "BabeEpochConfiguration" - } - ] - } - } - } - }, - { - "id": 805, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 806 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 806 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 806, - "type": { - "path": ["sp_consensus_babe", "OpaqueKeyOwnershipProof"], - "def": { - "composite": { - "fields": [ - { - "type": 13, - "typeName": "Vec" - } - ] - } - } - } - }, - { - "id": 807, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 808 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 808 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 808, - "type": { - "def": { - "sequence": { - "type": 809 - } - } - } - }, - { - "id": 809, - "type": { - "def": { - "tuple": [13, 277] - } - } - }, - { - "id": 810, - "type": { - "path": [ - "pallet_transaction_payment", - "types", - "RuntimeDispatchInfo" - ], - "params": [ - { - "name": "Balance", - "type": 6 - }, - { - "name": "Weight", - "type": 9 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "weight", - "type": 9, - "typeName": "Weight" - }, - { - "name": "class", - "type": 23, - "typeName": "DispatchClass" - }, - { - "name": "partial_fee", - "type": 6, - "typeName": "Balance" - } - ] - } - } - } - }, - { - "id": 811, - "type": { - "path": ["pallet_transaction_payment", "types", "FeeDetails"], - "params": [ - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "inclusion_fee", - "type": 812, - "typeName": "Option>" - }, - { - "name": "tip", - "type": 6, - "typeName": "Balance" - } - ] - } - } - } - }, - { - "id": 812, - "type": { - "path": ["Option"], - "params": [ - { - "name": "T", - "type": 813 - } - ], - "def": { - "variant": { - "variants": [ - { - "name": "None", - "index": 0 - }, - { - "name": "Some", - "fields": [ - { - "type": 813 - } - ], - "index": 1 - } - ] - } - } - } - }, - { - "id": 813, - "type": { - "path": ["pallet_transaction_payment", "types", "InclusionFee"], - "params": [ - { - "name": "Balance", - "type": 6 - } - ], - "def": { - "composite": { - "fields": [ - { - "name": "base_fee", - "type": 6, - "typeName": "Balance" - }, - { - "name": "len_fee", - "type": 6, - "typeName": "Balance" - }, - { - "name": "adjusted_weight_fee", - "type": 6, - "typeName": "Balance" - } - ] - } - } - } - }, - { - "id": 814, - "type": { - "path": ["rococo_runtime", "RuntimeError"], - "def": { - "variant": { - "variants": [ - { - "name": "System", - "fields": [ - { - "type": 197, - "typeName": "frame_system::Error" - } - ], - "index": 0 - }, - { - "name": "Babe", - "fields": [ - { - "type": 222, - "typeName": "pallet_babe::Error" - } - ], - "index": 1 - }, - { - "name": "Indices", - "fields": [ - { - "type": 228, - "typeName": "pallet_indices::Error" - } - ], - "index": 3 - }, - { - "name": "Balances", - "fields": [ - { - "type": 246, - "typeName": "pallet_balances::Error" - } - ], - "index": 4 - }, - { - "name": "Beefy", - "fields": [ - { - "type": 267, - "typeName": "pallet_beefy::Error" - } - ], - "index": 240 - }, - { - "name": "Session", - "fields": [ - { - "type": 279, - "typeName": "pallet_session::Error" - } - ], - "index": 8 - }, - { - "name": "Grandpa", - "fields": [ - { - "type": 294, - "typeName": "pallet_grandpa::Error" - } - ], - "index": 10 - }, - { - "name": "ImOnline", - "fields": [ - { - "type": 301, - "typeName": "pallet_im_online::Error" - } - ], - "index": 11 - }, - { - "name": "Democracy", - "fields": [ - { - "type": 492, - "typeName": "pallet_democracy::Error" - } - ], - "index": 13 - }, - { - "name": "Council", - "fields": [ - { - "type": 495, - "typeName": "pallet_collective::Error" - } - ], - "index": 14 - }, - { - "name": "TechnicalCommittee", - "fields": [ - { - "type": 497, - "typeName": "pallet_collective::Error" - } - ], - "index": 15 - }, - { - "name": "PhragmenElection", - "fields": [ - { - "type": 501, - "typeName": "pallet_elections_phragmen::Error" - } - ], - "index": 16 - }, - { - "name": "TechnicalMembership", - "fields": [ - { - "type": 503, - "typeName": "pallet_membership::Error" - } - ], - "index": 17 - }, - { - "name": "Treasury", - "fields": [ - { - "type": 509, - "typeName": "pallet_treasury::Error" - } - ], - "index": 18 - }, - { - "name": "Claims", - "fields": [ - { - "type": 510, - "typeName": "claims::Error" - } - ], - "index": 19 - }, - { - "name": "Utility", - "fields": [ - { - "type": 511, - "typeName": "pallet_utility::Error" - } - ], - "index": 24 - }, - { - "name": "Identity", - "fields": [ - { - "type": 522, - "typeName": "pallet_identity::Error" - } - ], - "index": 25 - }, - { - "name": "Society", - "fields": [ - { - "type": 541, - "typeName": "pallet_society::Error" - } - ], - "index": 26 - }, - { - "name": "Recovery", - "fields": [ - { - "type": 545, - "typeName": "pallet_recovery::Error" - } - ], - "index": 27 - }, - { - "name": "Vesting", - "fields": [ - { - "type": 549, - "typeName": "pallet_vesting::Error" - } - ], - "index": 28 - }, - { - "name": "Scheduler", - "fields": [ - { - "type": 554, - "typeName": "pallet_scheduler::Error" - } - ], - "index": 29 - }, - { - "name": "Proxy", - "fields": [ - { - "type": 563, - "typeName": "pallet_proxy::Error" - } - ], - "index": 30 - }, - { - "name": "Multisig", - "fields": [ - { - "type": 567, - "typeName": "pallet_multisig::Error" - } - ], - "index": 31 - }, - { - "name": "Preimage", - "fields": [ - { - "type": 576, - "typeName": "pallet_preimage::Error" - } - ], - "index": 32 - }, - { - "name": "Bounties", - "fields": [ - { - "type": 580, - "typeName": "pallet_bounties::Error" - } - ], - "index": 35 - }, - { - "name": "ChildBounties", - "fields": [ - { - "type": 583, - "typeName": "pallet_child_bounties::Error" - } - ], - "index": 40 - }, - { - "name": "Tips", - "fields": [ - { - "type": 586, - "typeName": "pallet_tips::Error" - } - ], - "index": 36 - }, - { - "name": "Nis", - "fields": [ - { - "type": 594, - "typeName": "pallet_nis::Error" - } - ], - "index": 38 - }, - { - "name": "NisCounterpartBalances", - "fields": [ - { - "type": 599, - "typeName": "pallet_balances::Error" - } - ], - "index": 45 - }, - { - "name": "Configuration", - "fields": [ - { - "type": 603, - "typeName": "parachains_configuration::Error" - } - ], - "index": 51 - }, - { - "name": "ParaInclusion", - "fields": [ - { - "type": 611, - "typeName": "parachains_inclusion::Error" - } - ], - "index": 53 - }, - { - "name": "ParaInherent", - "fields": [ - { - "type": 617, - "typeName": "parachains_paras_inherent::Error" - } - ], - "index": 54 - }, - { - "name": "Paras", - "fields": [ - { - "type": 641, - "typeName": "parachains_paras::Error" - } - ], - "index": 56 - }, - { - "name": "Hrmp", - "fields": [ - { - "type": 653, - "typeName": "parachains_hrmp::Error" - } - ], - "index": 60 - }, - { - "name": "ParasDisputes", - "fields": [ - { - "type": 662, - "typeName": "parachains_disputes::Error" - } - ], - "index": 62 - }, - { - "name": "ParasSlashing", - "fields": [ - { - "type": 667, - "typeName": "parachains_slashing::Error" - } - ], - "index": 63 - }, - { - "name": "MessageQueue", - "fields": [ - { - "type": 674, - "typeName": "pallet_message_queue::Error" - } - ], - "index": 64 - }, - { - "name": "OnDemandAssignmentProvider", - "fields": [ - { - "type": 677, - "typeName": "parachains_assigner_on_demand::Error" - } - ], - "index": 66 - }, - { - "name": "Registrar", - "fields": [ - { - "type": 680, - "typeName": "paras_registrar::Error" - } - ], - "index": 70 - }, - { - "name": "Slots", - "fields": [ - { - "type": 682, - "typeName": "slots::Error" - } - ], - "index": 71 - }, - { - "name": "Auctions", - "fields": [ - { - "type": 687, - "typeName": "auctions::Error" - } - ], - "index": 72 - }, - { - "name": "Crowdloan", - "fields": [ - { - "type": 690, - "typeName": "crowdloan::Error" - } - ], - "index": 73 - }, - { - "name": "XcmPallet", - "fields": [ - { - "type": 712, - "typeName": "pallet_xcm::Error" - } - ], - "index": 99 - }, - { - "name": "ParasSudoWrapper", - "fields": [ - { - "type": 713, - "typeName": "paras_sudo_wrapper::Error" - } - ], - "index": 250 - }, - { - "name": "AssignedSlots", - "fields": [ - { - "type": 715, - "typeName": "assigned_slots::Error" - } - ], - "index": 251 - }, - { - "name": "StateTrieMigration", - "fields": [ - { - "type": 174, - "typeName": "pallet_state_trie_migration::Error" - } - ], - "index": 254 - }, - { - "name": "Sudo", - "fields": [ - { - "type": 716, - "typeName": "pallet_sudo::Error" - } - ], - "index": 255 - } - ] - } - } - } - } - ] - }, - "pallets": [ - { - "name": "System", - "storage": { - "prefix": "System", - "entries": [ - { - "name": "Account", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Blake2_128Concat"], - "key": 0, - "value": 3 - } - }, - "default": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 - ], - "docs": [ - " The full account information for a particular account ID." - ] - }, - { - "name": "ExtrinsicCount", - "modifier": "Optional", - "ty": { - "Plain": 4 - }, - "default": [0], - "docs": [" Total extrinsics count for the current block."] - }, - { - "name": "BlockWeight", - "modifier": "Default", - "ty": { - "Plain": 8 - }, - "default": [0, 0, 0, 0, 0, 0], - "docs": [" The current weight for the block."] - }, - { - "name": "AllExtrinsicsLen", - "modifier": "Optional", - "ty": { - "Plain": 4 - }, - "default": [0], - "docs": [ - " Total length (in bytes) for all extrinsics put together, for the current block." - ] - }, - { - "name": "BlockHash", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 4, - "value": 12 - } - }, - "default": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "docs": [" Map of block numbers to block hashes."] - }, - { - "name": "ExtrinsicData", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 4, - "value": 13 - } - }, - "default": [0], - "docs": [ - " Extrinsics data for the current block (maps an extrinsic's index to its data)." - ] - }, - { - "name": "Number", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [ - " The current block number being processed. Set by `execute_block`." - ] - }, - { - "name": "ParentHash", - "modifier": "Default", - "ty": { - "Plain": 12 - }, - "default": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "docs": [" Hash of the previous block."] - }, - { - "name": "Digest", - "modifier": "Default", - "ty": { - "Plain": 14 - }, - "default": [0], - "docs": [ - " Digest of the current block, also part of the block header." - ] - }, - { - "name": "Events", - "modifier": "Default", - "ty": { - "Plain": 18 - }, - "default": [0], - "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", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [" The number of events in the `Events` list."] - }, - { - "name": "EventTopics", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Blake2_128Concat"], - "key": 12, - "value": 179 - } - }, - "default": [0], - "docs": [ - " Mapping between a topic (represented by T::Hash) and a vector of indexes", - " of events in the `>` 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, 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", - "ty": { - "Plain": 180 - }, - "default": [0], - "docs": [ - " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." - ] - }, - { - "name": "UpgradedToU32RefCount", - "modifier": "Default", - "ty": { - "Plain": 54 - }, - "default": [0], - "docs": [ - " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." - ] - }, - { - "name": "UpgradedToTripleRefCount", - "modifier": "Default", - "ty": { - "Plain": 54 - }, - "default": [0], - "docs": [ - " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", - " (default) if not." - ] - }, - { - "name": "ExecutionPhase", - "modifier": "Optional", - "ty": { - "Plain": 177 - }, - "default": [0], - "docs": [" The execution phase of the block."] - } - ] - }, - "calls": { - "ty": 182 - }, - "event": { - "ty": 21 - }, - "constants": [ - { - "name": "BlockWeights", - "ty": 186, - "value": [ - 130, 206, 132, 99, 0, 11, 0, 32, 74, 169, 209, 1, 19, 255, 255, - 255, 255, 255, 255, 255, 255, 130, 217, 107, 23, 0, 1, 11, 160, - 217, 4, 145, 88, 1, 19, 163, 112, 61, 10, 215, 163, 112, 189, 1, - 11, 0, 152, 247, 62, 93, 1, 19, 255, 255, 255, 255, 255, 255, - 255, 191, 1, 0, 0, 130, 217, 107, 23, 0, 1, 11, 160, 97, 87, - 251, 204, 1, 19, 163, 112, 61, 10, 215, 163, 112, 253, 1, 11, 0, - 32, 74, 169, 209, 1, 19, 255, 255, 255, 255, 255, 255, 255, 255, - 1, 7, 0, 136, 82, 106, 116, 19, 0, 0, 0, 0, 0, 0, 0, 64, 130, - 217, 107, 23, 0, 0, 0, 0 - ], - "docs": [" Block & extrinsics weights: base values and limits."] - }, - { - "name": "BlockLength", - "ty": 190, - "value": [0, 0, 60, 0, 0, 0, 80, 0, 0, 0, 80, 0], - "docs": [" The maximum length of a block (in bytes)."] - }, - { - "name": "BlockHashCount", - "ty": 4, - "value": [0, 16, 0, 0], - "docs": [ - " Maximum number of block number to block hash mappings to keep (oldest pruned first)." - ] - }, - { - "name": "DbWeight", - "ty": 192, - "value": [ - 64, 120, 125, 1, 0, 0, 0, 0, 0, 225, 245, 5, 0, 0, 0, 0 - ], - "docs": [ - " The weight of runtime database operations the runtime can invoke." - ] - }, - { - "name": "Version", - "ty": 193, - "value": [ - 24, 114, 111, 99, 111, 99, 111, 72, 112, 97, 114, 105, 116, 121, - 45, 114, 111, 99, 111, 99, 111, 45, 118, 50, 46, 48, 0, 0, 0, 0, - 214, 36, 0, 0, 0, 0, 0, 0, 60, 223, 106, 203, 104, 153, 7, 96, - 155, 4, 0, 0, 0, 55, 227, 151, 252, 124, 145, 245, 228, 2, 0, 0, - 0, 64, 254, 58, 212, 1, 248, 149, 154, 6, 0, 0, 0, 210, 188, - 152, 151, 238, 208, 143, 21, 3, 0, 0, 0, 247, 139, 39, 139, 229, - 63, 69, 76, 2, 0, 0, 0, 175, 44, 2, 151, 162, 62, 109, 61, 5, 0, - 0, 0, 73, 234, 175, 27, 84, 138, 12, 176, 3, 0, 0, 0, 145, 213, - 223, 24, 176, 210, 207, 88, 2, 0, 0, 0, 237, 153, 197, 172, 178, - 94, 237, 245, 3, 0, 0, 0, 203, 202, 37, 227, 159, 20, 35, 135, - 2, 0, 0, 0, 104, 122, 212, 74, 211, 127, 3, 194, 1, 0, 0, 0, - 171, 60, 5, 114, 41, 31, 235, 139, 1, 0, 0, 0, 188, 157, 137, - 144, 79, 91, 146, 63, 1, 0, 0, 0, 55, 200, 187, 19, 80, 169, - 162, 168, 4, 0, 0, 0, 42, 94, 146, 70, 85, 57, 158, 96, 1, 0, 0, - 0, 22, 0, 0, 0, 1 - ], - "docs": [" Get the chain's current version."] - }, - { - "name": "SS58Prefix", - "ty": 77, - "value": [42, 0], - "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." - ] - } - ], - "error": { - "ty": 197 - }, - "index": 0, - "docs": [] - }, - { - "name": "Babe", - "storage": { - "prefix": "Babe", - "entries": [ - { - "name": "EpochIndex", - "modifier": "Default", - "ty": { - "Plain": 11 - }, - "default": [0, 0, 0, 0, 0, 0, 0, 0], - "docs": [" Current epoch index."] - }, - { - "name": "Authorities", - "modifier": "Default", - "ty": { - "Plain": 198 - }, - "default": [0], - "docs": [" Current epoch authorities."] - }, - { - "name": "GenesisSlot", - "modifier": "Default", - "ty": { - "Plain": 202 - }, - "default": [0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " The slot at which the first epoch actually started. This is 0", - " until the first block of the chain." - ] - }, - { - "name": "CurrentSlot", - "modifier": "Default", - "ty": { - "Plain": 202 - }, - "default": [0, 0, 0, 0, 0, 0, 0, 0], - "docs": [" Current slot number."] - }, - { - "name": "Randomness", - "modifier": "Default", - "ty": { - "Plain": 1 - }, - "default": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "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", - "ty": { - "Plain": 203 - }, - "default": [0], - "docs": [ - " Pending epoch configuration change that will be applied when the next epoch is enacted." - ] - }, - { - "name": "NextRandomness", - "modifier": "Default", - "ty": { - "Plain": 1 - }, - "default": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "docs": [" Next epoch randomness."] - }, - { - "name": "NextAuthorities", - "modifier": "Default", - "ty": { - "Plain": 198 - }, - "default": [0], - "docs": [" Next epoch authorities."] - }, - { - "name": "SegmentIndex", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "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", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 4, - "value": 206 - } - }, - "default": [0], - "docs": [ - " TWOX-NOTE: `SegmentIndex` is an increasing integer, so this is okay." - ] - }, - { - "name": "Initialized", - "modifier": "Optional", - "ty": { - "Plain": 208 - }, - "default": [0], - "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", - "ty": { - "Plain": 74 - }, - "default": [0], - "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", - "ty": { - "Plain": 73 - }, - "default": [0, 0, 0, 0, 0, 0, 0, 0], - "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", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "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", - "ty": { - "Plain": 214 - }, - "default": [0], - "docs": [ - " The configuration for the current epoch. Should never be `None` as it is initialized in", - " genesis." - ] - }, - { - "name": "NextEpochConfig", - "modifier": "Optional", - "ty": { - "Plain": 214 - }, - "default": [0], - "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", - "ty": { - "Plain": 215 - }, - "default": [0], - "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": { - "ty": 218 - }, - "event": null, - "constants": [ - { - "name": "EpochDuration", - "ty": 11, - "value": [10, 0, 0, 0, 0, 0, 0, 0], - "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", - "ty": 11, - "value": [112, 23, 0, 0, 0, 0, 0, 0], - "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", - "ty": 4, - "value": [160, 134, 1, 0], - "docs": [" Max number of authorities allowed"] - }, - { - "name": "MaxNominators", - "ty": 4, - "value": [0, 0, 0, 0], - "docs": [" The maximum number of nominators for each validator."] - } - ], - "error": { - "ty": 222 - }, - "index": 1, - "docs": [] - }, - { - "name": "Timestamp", - "storage": { - "prefix": "Timestamp", - "entries": [ - { - "name": "Now", - "modifier": "Default", - "ty": { - "Plain": 11 - }, - "default": [0, 0, 0, 0, 0, 0, 0, 0], - "docs": [" The current time for the current block."] - }, - { - "name": "DidUpdate", - "modifier": "Default", - "ty": { - "Plain": 54 - }, - "default": [0], - "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": { - "ty": 223 - }, - "event": null, - "constants": [ - { - "name": "MinimumPeriod", - "ty": 11, - "value": [184, 11, 0, 0, 0, 0, 0, 0], - "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." - ] - } - ], - "error": null, - "index": 2, - "docs": [] - }, - { - "name": "Indices", - "storage": { - "prefix": "Indices", - "entries": [ - { - "name": "Accounts", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Blake2_128Concat"], - "key": 4, - "value": 224 - } - }, - "default": [0], - "docs": [" The lookup from index to account."] - } - ] - }, - "calls": { - "ty": 225 - }, - "event": { - "ty": 30 - }, - "constants": [ - { - "name": "Deposit", - "ty": 6, - "value": [52, 161, 174, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [" The deposit needed for reserving an index."] - } - ], - "error": { - "ty": 228 - }, - "index": 3, - "docs": [] - }, - { - "name": "Balances", - "storage": { - "prefix": "Balances", - "entries": [ - { - "name": "TotalIssuance", - "modifier": "Default", - "ty": { - "Plain": 6 - }, - "default": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [" The total units issued in the system."] - }, - { - "name": "InactiveIssuance", - "modifier": "Default", - "ty": { - "Plain": 6 - }, - "default": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " The total units of outstanding deactivated balance in the system." - ] - }, - { - "name": "Account", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Blake2_128Concat"], - "key": 0, - "value": 5 - } - }, - "default": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 128 - ], - "docs": [ - " The Balances pallet example of storing the balance of an account.", - "", - " # Example", - "", - " ```nocompile", - " impl pallet_balances::Config for Runtime {", - " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", - " }", - " ```", - "", - " 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", - "ty": { - "Map": { - "hashers": ["Blake2_128Concat"], - "key": 0, - "value": 229 - } - }, - "default": [0], - "docs": [ - " Any liquidity locks on some account balances.", - " NOTE: Should only be accessed when setting, changing and freeing a lock." - ] - }, - { - "name": "Reserves", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Blake2_128Concat"], - "key": 0, - "value": 233 - } - }, - "default": [0], - "docs": [" Named reserves on some account balances."] - }, - { - "name": "Holds", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Blake2_128Concat"], - "key": 0, - "value": 236 - } - }, - "default": [0], - "docs": [" Holds on account balances."] - }, - { - "name": "Freezes", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Blake2_128Concat"], - "key": 0, - "value": 242 - } - }, - "default": [0], - "docs": [" Freeze locks on account balances."] - } - ] - }, - "calls": { - "ty": 245 - }, - "event": { - "ty": 31 - }, - "constants": [ - { - "name": "ExistentialDeposit", - "ty": 6, - "value": [85, 160, 252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "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", - "ty": 4, - "value": [50, 0, 0, 0], - "docs": [ - " The maximum number of locks that should exist on an account.", - " Not strictly enforced, but used for weight estimation." - ] - }, - { - "name": "MaxReserves", - "ty": 4, - "value": [50, 0, 0, 0], - "docs": [ - " The maximum number of named reserves that can exist on an account." - ] - }, - { - "name": "MaxHolds", - "ty": 4, - "value": [1, 0, 0, 0], - "docs": [ - " The maximum number of holds that can exist on an account at any time." - ] - }, - { - "name": "MaxFreezes", - "ty": 4, - "value": [1, 0, 0, 0], - "docs": [ - " The maximum number of individual freeze locks that can exist on an account at any time." - ] - } - ], - "error": { - "ty": 246 - }, - "index": 4, - "docs": [] - }, - { - "name": "TransactionPayment", - "storage": { - "prefix": "TransactionPayment", - "entries": [ - { - "name": "NextFeeMultiplier", - "modifier": "Default", - "ty": { - "Plain": 111 - }, - "default": [ - 0, 0, 100, 167, 179, 182, 224, 13, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "docs": [] - }, - { - "name": "StorageVersion", - "modifier": "Default", - "ty": { - "Plain": 247 - }, - "default": [0], - "docs": [] - } - ] - }, - "calls": null, - "event": { - "ty": 33 - }, - "constants": [ - { - "name": "OperationalFeeMultiplier", - "ty": 2, - "value": [5], - "docs": [ - " A fee mulitplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", - " `priority`", - "", - " This value is multipled 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." - ] - } - ], - "error": null, - "index": 33, - "docs": [] - }, - { - "name": "Authorship", - "storage": { - "prefix": "Authorship", - "entries": [ - { - "name": "Author", - "modifier": "Optional", - "ty": { - "Plain": 0 - }, - "default": [0], - "docs": [" Author of current block."] - } - ] - }, - "calls": null, - "event": null, - "constants": [], - "error": null, - "index": 5, - "docs": [] - }, - { - "name": "Offences", - "storage": { - "prefix": "Offences", - "entries": [ - { - "name": "Reports", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 12, - "value": 248 - } - }, - "default": [0], - "docs": [ - " The primary structure that holds all offence records keyed by report identifiers." - ] - }, - { - "name": "ConcurrentReportsIndex", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Twox64Concat", "Twox64Concat"], - "key": 249, - "value": 178 - } - }, - "default": [0], - "docs": [ - " A vector of reports of the same kind that happened at the same time slot." - ] - } - ] - }, - "calls": null, - "event": { - "ty": 34 - }, - "constants": [], - "error": null, - "index": 7, - "docs": [] - }, - { - "name": "Historical", - "storage": null, - "calls": null, - "event": null, - "constants": [], - "error": null, - "index": 34, - "docs": [] - }, - { - "name": "Beefy", - "storage": { - "prefix": "Beefy", - "entries": [ - { - "name": "Authorities", - "modifier": "Default", - "ty": { - "Plain": 250 - }, - "default": [0], - "docs": [" The current authorities set"] - }, - { - "name": "ValidatorSetId", - "modifier": "Default", - "ty": { - "Plain": 11 - }, - "default": [0, 0, 0, 0, 0, 0, 0, 0], - "docs": [" The current validator set id"] - }, - { - "name": "NextAuthorities", - "modifier": "Default", - "ty": { - "Plain": 250 - }, - "default": [0], - "docs": [ - " Authorities set scheduled to be used with the next session" - ] - }, - { - "name": "SetIdSession", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 11, - "value": 4 - } - }, - "default": [0], - "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", - "ty": { - "Plain": 255 - }, - "default": [0], - "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": { - "ty": 256 - }, - "event": null, - "constants": [ - { - "name": "MaxAuthorities", - "ty": 4, - "value": [160, 134, 1, 0], - "docs": [" The maximum number of authorities that can be added."] - }, - { - "name": "MaxNominators", - "ty": 4, - "value": [0, 0, 0, 0], - "docs": [" The maximum number of nominators for each validator."] - }, - { - "name": "MaxSetIdSessionEntries", - "ty": 11, - "value": [168, 0, 0, 0, 0, 0, 0, 0], - "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." - ] - } - ], - "error": { - "ty": 267 - }, - "index": 240, - "docs": [] - }, - { - "name": "Mmr", - "storage": { - "prefix": "Mmr", - "entries": [ - { - "name": "RootHash", - "modifier": "Default", - "ty": { - "Plain": 12 - }, - "default": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "docs": [" Latest MMR Root hash."] - }, - { - "name": "NumberOfLeaves", - "modifier": "Default", - "ty": { - "Plain": 11 - }, - "default": [0, 0, 0, 0, 0, 0, 0, 0], - "docs": [" Current size of the MMR (number of leaves)."] - }, - { - "name": "Nodes", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Identity"], - "key": 11, - "value": 12 - } - }, - "default": [0], - "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, - "event": null, - "constants": [], - "error": null, - "index": 241, - "docs": [] - }, - { - "name": "MmrLeaf", - "storage": { - "prefix": "MmrLeaf", - "entries": [ - { - "name": "BeefyAuthorities", - "modifier": "Default", - "ty": { - "Plain": 268 - }, - "default": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0 - ], - "docs": [" Details of current BEEFY authority set."] - }, - { - "name": "BeefyNextAuthorities", - "modifier": "Default", - "ty": { - "Plain": 268 - }, - "default": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0 - ], - "docs": [ - " Details of next BEEFY authority set.", - "", - " This storage entry is used as cache for calls to `update_beefy_next_authority_set`." - ] - } - ] - }, - "calls": null, - "event": null, - "constants": [], - "error": null, - "index": 242, - "docs": [] - }, - { - "name": "Session", - "storage": { - "prefix": "Session", - "entries": [ - { - "name": "Validators", - "modifier": "Default", - "ty": { - "Plain": 68 - }, - "default": [0], - "docs": [" The current set of validators."] - }, - { - "name": "CurrentIndex", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [" Current index of the session."] - }, - { - "name": "QueuedChanged", - "modifier": "Default", - "ty": { - "Plain": 54 - }, - "default": [0], - "docs": [ - " True if the underlying economic identities or weighting behind the validators", - " has changed in the queued validator set." - ] - }, - { - "name": "QueuedKeys", - "modifier": "Default", - "ty": { - "Plain": 269 - }, - "default": [0], - "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", - "ty": { - "Plain": 275 - }, - "default": [0], - "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", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 0, - "value": 271 - } - }, - "default": [0], - "docs": [" The next session keys for a validator."] - }, - { - "name": "KeyOwner", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 276, - "value": 0 - } - }, - "default": [0], - "docs": [ - " The owner of a key. The key is the `KeyTypeId` + the encoded key." - ] - } - ] - }, - "calls": { - "ty": 278 - }, - "event": { - "ty": 36 - }, - "constants": [], - "error": { - "ty": 279 - }, - "index": 8, - "docs": [] - }, - { - "name": "Grandpa", - "storage": { - "prefix": "Grandpa", - "entries": [ - { - "name": "State", - "modifier": "Default", - "ty": { - "Plain": 280 - }, - "default": [0], - "docs": [" State of the current authority set."] - }, - { - "name": "PendingChange", - "modifier": "Optional", - "ty": { - "Plain": 281 - }, - "default": [0], - "docs": [" Pending change: (signaled at, scheduled change)."] - }, - { - "name": "NextForced", - "modifier": "Optional", - "ty": { - "Plain": 4 - }, - "default": [0], - "docs": [" next block number where we can force a change."] - }, - { - "name": "Stalled", - "modifier": "Optional", - "ty": { - "Plain": 73 - }, - "default": [0], - "docs": [" `true` if we are currently stalled."] - }, - { - "name": "CurrentSetId", - "modifier": "Default", - "ty": { - "Plain": 11 - }, - "default": [0, 0, 0, 0, 0, 0, 0, 0], - "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", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 11, - "value": 4 - } - }, - "default": [0], - "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." - ] - } - ] - }, - "calls": { - "ty": 283 - }, - "event": { - "ty": 37 - }, - "constants": [ - { - "name": "MaxAuthorities", - "ty": 4, - "value": [160, 134, 1, 0], - "docs": [" Max Authorities in use"] - }, - { - "name": "MaxNominators", - "ty": 4, - "value": [0, 0, 0, 0], - "docs": [" The maximum number of nominators for each validator."] - }, - { - "name": "MaxSetIdSessionEntries", - "ty": 11, - "value": [168, 0, 0, 0, 0, 0, 0, 0], - "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." - ] - } - ], - "error": { - "ty": 294 - }, - "index": 10, - "docs": [] - }, - { - "name": "ImOnline", - "storage": { - "prefix": "ImOnline", - "entries": [ - { - "name": "HeartbeatAfter", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [ - " The block number after which it's ok to send heartbeats in the current", - " session.", - "", - " At the beginning of each session we set this to a value that should fall", - " roughly in the middle of the session duration. The idea is to first wait for", - " the validators to produce a block in the current session, so that the", - " heartbeat later on will not be necessary.", - "", - " This value will only be used as a fallback if we fail to get a proper session", - " progress estimate from `NextSessionRotation`, as those estimates should be", - " more accurate then the value we calculate for `HeartbeatAfter`." - ] - }, - { - "name": "Keys", - "modifier": "Default", - "ty": { - "Plain": 295 - }, - "default": [0], - "docs": [" The current set of keys that may issue a heartbeat."] - }, - { - "name": "ReceivedHeartbeats", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat", "Twox64Concat"], - "key": 73, - "value": 54 - } - }, - "default": [0], - "docs": [ - " For each session index, we keep a mapping of `SessionIndex` and `AuthIndex`." - ] - }, - { - "name": "AuthoredBlocks", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Twox64Concat", "Twox64Concat"], - "key": 297, - "value": 4 - } - }, - "default": [0, 0, 0, 0], - "docs": [ - " For each session index, we keep a mapping of `ValidatorId` to the", - " number of blocks authored by the given authority." - ] - } - ] - }, - "calls": { - "ty": 298 - }, - "event": { - "ty": 42 - }, - "constants": [ - { - "name": "UnsignedPriority", - "ty": 11, - "value": [255, 255, 255, 255, 255, 255, 255, 255], - "docs": [ - " A configuration for base priority of unsigned transactions.", - "", - " This is exposed so that it can be tuned for particular runtime, when", - " multiple pallets send unsigned transactions." - ] - } - ], - "error": { - "ty": 301 - }, - "index": 11, - "docs": [] - }, - { - "name": "AuthorityDiscovery", - "storage": null, - "calls": null, - "event": null, - "constants": [], - "error": null, - "index": 12, - "docs": [] - }, - { - "name": "Democracy", - "storage": { - "prefix": "Democracy", - "entries": [ - { - "name": "PublicPropCount", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [ - " The number of (public) proposals that have been made so far." - ] - }, - { - "name": "PublicProps", - "modifier": "Default", - "ty": { - "Plain": 302 - }, - "default": [0], - "docs": [ - " The public proposals. Unsorted. The second item is the proposal." - ] - }, - { - "name": "DepositOf", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 4, - "value": 479 - } - }, - "default": [0], - "docs": [ - " Those who have locked a deposit.", - "", - " TWOX-NOTE: Safe, as increasing integer keys are safe." - ] - }, - { - "name": "ReferendumCount", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [ - " The next free referendum index, aka the number of referenda started so far." - ] - }, - { - "name": "LowestUnbaked", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [ - " The lowest referendum index representing an unbaked referendum. Equal to", - " `ReferendumCount` if there isn't a unbaked referendum." - ] - }, - { - "name": "ReferendumInfoOf", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 4, - "value": 481 - } - }, - "default": [0], - "docs": [ - " Information concerning any given referendum.", - "", - " TWOX-NOTE: SAFE as indexes are not under an attacker’s control." - ] - }, - { - "name": "VotingOf", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 0, - "value": 484 - } - }, - "default": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "docs": [ - " All votes for a particular voter. We store the balance for the number of votes that we", - " have recorded. The second item is the total amount of delegations, that will be added.", - "", - " TWOX-NOTE: SAFE as `AccountId`s are crypto hashes anyway." - ] - }, - { - "name": "LastTabledWasExternal", - "modifier": "Default", - "ty": { - "Plain": 54 - }, - "default": [0], - "docs": [ - " True if the last referendum tabled was submitted externally. False if it was a public", - " proposal." - ] - }, - { - "name": "NextExternal", - "modifier": "Optional", - "ty": { - "Plain": 490 - }, - "default": [0], - "docs": [ - " The referendum to be tabled whenever it would be valid to table an external proposal.", - " This happens when a referendum needs to be tabled and one of two conditions are met:", - " - `LastTabledWasExternal` is `false`; or", - " - `PublicProps` is empty." - ] - }, - { - "name": "Blacklist", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Identity"], - "key": 12, - "value": 491 - } - }, - "default": [0], - "docs": [ - " A record of who vetoed what. Maps proposal hash to a possible existent block number", - " (until when it may not be resubmitted) and who vetoed it." - ] - }, - { - "name": "Cancellations", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Identity"], - "key": 12, - "value": 54 - } - }, - "default": [0], - "docs": [ - " Record of all proposals that have been subject to emergency cancellation." - ] - }, - { - "name": "MetadataOf", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Blake2_128Concat"], - "key": 52, - "value": 12 - } - }, - "default": [0], - "docs": [ - " General information concerning any proposal or referendum.", - " The `PreimageHash` 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": { - "ty": 306 - }, - "event": { - "ty": 48 - }, - "constants": [ - { - "name": "EnactmentPeriod", - "ty": 4, - "value": [0, 194, 1, 0], - "docs": [ - " The period between a proposal being approved and enacted.", - "", - " It should generally be a little more than the unstake period to ensure that", - " voting stakers have an opportunity to remove themselves from the system in the case", - " where they are on the losing side of a vote." - ] - }, - { - "name": "LaunchPeriod", - "ty": 4, - "value": [192, 137, 1, 0], - "docs": [ - " How often (in blocks) new public referenda are launched." - ] - }, - { - "name": "VotingPeriod", - "ty": 4, - "value": [192, 137, 1, 0], - "docs": [" How often (in blocks) to check for new votes."] - }, - { - "name": "VoteLockingPeriod", - "ty": 4, - "value": [0, 194, 1, 0], - "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." - ] - }, - { - "name": "MinimumDeposit", - "ty": 6, - "value": [52, 161, 174, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " The minimum amount to be used as a deposit for a public referendum proposal." - ] - }, - { - "name": "InstantAllowed", - "ty": 54, - "value": [1], - "docs": [ - " Indicator for whether an emergency origin is even allowed to happen. Some chains may", - " want to set this permanently to `false`, others may want to condition it on things such", - " as an upgrade having happened recently." - ] - }, - { - "name": "FastTrackVotingPeriod", - "ty": 4, - "value": [8, 7, 0, 0], - "docs": [ - " Minimum voting period allowed for a fast-track referendum." - ] - }, - { - "name": "CooloffPeriod", - "ty": 4, - "value": [192, 137, 1, 0], - "docs": [ - " Period in blocks where an external proposal may not be re-submitted after being vetoed." - ] - }, - { - "name": "MaxVotes", - "ty": 4, - "value": [100, 0, 0, 0], - "docs": [ - " The maximum number of votes for an account.", - "", - " Also used to compute weight, an overly big value can", - " lead to extrinsic with very big weight: see `delegate` for instance." - ] - }, - { - "name": "MaxProposals", - "ty": 4, - "value": [100, 0, 0, 0], - "docs": [ - " The maximum number of public proposals that can exist at any time." - ] - }, - { - "name": "MaxDeposits", - "ty": 4, - "value": [100, 0, 0, 0], - "docs": [ - " The maximum number of deposits a public proposal may have at any time." - ] - }, - { - "name": "MaxBlacklisted", - "ty": 4, - "value": [100, 0, 0, 0], - "docs": [" The maximum number of items which can be blacklisted."] - } - ], - "error": { - "ty": 492 - }, - "index": 13, - "docs": [] - }, - { - "name": "Council", - "storage": { - "prefix": "Council", - "entries": [ - { - "name": "Proposals", - "modifier": "Default", - "ty": { - "Plain": 493 - }, - "default": [0], - "docs": [" The hashes of the active proposals."] - }, - { - "name": "ProposalOf", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Identity"], - "key": 12, - "value": 305 - } - }, - "default": [0], - "docs": [" Actual proposal for a given hash, if it's current."] - }, - { - "name": "Voting", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Identity"], - "key": 12, - "value": 494 - } - }, - "default": [0], - "docs": [" Votes on a given proposal, if it is ongoing."] - }, - { - "name": "ProposalCount", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [" Proposals so far."] - }, - { - "name": "Members", - "modifier": "Default", - "ty": { - "Plain": 68 - }, - "default": [0], - "docs": [ - " The current members of the collective. This is stored sorted (just by value)." - ] - }, - { - "name": "Prime", - "modifier": "Optional", - "ty": { - "Plain": 0 - }, - "default": [0], - "docs": [ - " The prime member that helps determine the default vote behavior in case of absentations." - ] - } - ] - }, - "calls": { - "ty": 309 - }, - "event": { - "ty": 53 - }, - "constants": [ - { - "name": "MaxProposalWeight", - "ty": 9, - "value": [ - 7, 0, 16, 165, 212, 232, 19, 255, 255, 255, 255, 255, 255, 255, - 127 - ], - "docs": [ - " The maximum weight of a dispatch call that can be proposed and executed." - ] - } - ], - "error": { - "ty": 495 - }, - "index": 14, - "docs": [] - }, - { - "name": "TechnicalCommittee", - "storage": { - "prefix": "TechnicalCommittee", - "entries": [ - { - "name": "Proposals", - "modifier": "Default", - "ty": { - "Plain": 496 - }, - "default": [0], - "docs": [" The hashes of the active proposals."] - }, - { - "name": "ProposalOf", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Identity"], - "key": 12, - "value": 305 - } - }, - "default": [0], - "docs": [" Actual proposal for a given hash, if it's current."] - }, - { - "name": "Voting", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Identity"], - "key": 12, - "value": 494 - } - }, - "default": [0], - "docs": [" Votes on a given proposal, if it is ongoing."] - }, - { - "name": "ProposalCount", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [" Proposals so far."] - }, - { - "name": "Members", - "modifier": "Default", - "ty": { - "Plain": 68 - }, - "default": [0], - "docs": [ - " The current members of the collective. This is stored sorted (just by value)." - ] - }, - { - "name": "Prime", - "modifier": "Optional", - "ty": { - "Plain": 0 - }, - "default": [0], - "docs": [ - " The prime member that helps determine the default vote behavior in case of absentations." - ] - } - ] - }, - "calls": { - "ty": 310 - }, - "event": { - "ty": 56 - }, - "constants": [ - { - "name": "MaxProposalWeight", - "ty": 9, - "value": [ - 7, 0, 16, 165, 212, 232, 19, 255, 255, 255, 255, 255, 255, 255, - 127 - ], - "docs": [ - " The maximum weight of a dispatch call that can be proposed and executed." - ] - } - ], - "error": { - "ty": 497 - }, - "index": 15, - "docs": [] - }, - { - "name": "PhragmenElection", - "storage": { - "prefix": "PhragmenElection", - "entries": [ - { - "name": "Members", - "modifier": "Default", - "ty": { - "Plain": 498 - }, - "default": [0], - "docs": [ - " The current elected members.", - "", - " Invariant: Always sorted based on account id." - ] - }, - { - "name": "RunnersUp", - "modifier": "Default", - "ty": { - "Plain": 498 - }, - "default": [0], - "docs": [ - " The current reserved runners-up.", - "", - " Invariant: Always sorted based on rank (worse to best). Upon removal of a member, the", - " last (i.e. _best_) runner-up will be replaced." - ] - }, - { - "name": "Candidates", - "modifier": "Default", - "ty": { - "Plain": 58 - }, - "default": [0], - "docs": [ - " The present candidate list. A current member or runner-up can never enter this vector", - " and is always implicitly assumed to be a candidate.", - "", - " Second element is the deposit.", - "", - " Invariant: Always sorted based on account id." - ] - }, - { - "name": "ElectionRounds", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [ - " The total number of vote rounds that have happened, excluding the upcoming one." - ] - }, - { - "name": "Voting", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 0, - "value": 500 - } - }, - "default": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "docs": [ - " Votes and locked stake of a particular voter.", - "", - " TWOX-NOTE: SAFE as `AccountId` is a crypto hash." - ] - } - ] - }, - "calls": { - "ty": 311 - }, - "event": { - "ty": 57 - }, - "constants": [ - { - "name": "PalletId", - "ty": 137, - "value": [112, 104, 114, 101, 108, 101, 99, 116], - "docs": [" Identifier for the elections-phragmen pallet's lock"] - }, - { - "name": "CandidacyBond", - "ty": 6, - "value": [52, 161, 174, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " How much should be locked up in order to submit one's candidacy." - ] - }, - { - "name": "VotingBondBase", - "ty": 6, - "value": [16, 197, 91, 146, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " Base deposit associated with voting.", - "", - " This should be sensibly high to economically ensure the pallet cannot be attacked by", - " creating a gigantic number of votes." - ] - }, - { - "name": "VotingBondFactor", - "ty": 6, - "value": [128, 150, 91, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " The amount of bond that need to be locked for each vote (32 bytes)." - ] - }, - { - "name": "DesiredMembers", - "ty": 4, - "value": [19, 0, 0, 0], - "docs": [" Number of members to elect."] - }, - { - "name": "DesiredRunnersUp", - "ty": 4, - "value": [19, 0, 0, 0], - "docs": [" Number of runners_up to keep."] - }, - { - "name": "TermDuration", - "ty": 4, - "value": [64, 56, 0, 0], - "docs": [ - " How long each seat is kept. This defines the next block number at which an election", - " round will happen. If set to zero, no elections are ever triggered and the module will", - " be in passive mode." - ] - }, - { - "name": "MaxCandidates", - "ty": 4, - "value": [232, 3, 0, 0], - "docs": [ - " The maximum number of candidates in a phragmen election.", - "", - " Warning: This impacts the size of the election which is run onchain. Chose wisely, and", - " consider how it will impact `T::WeightInfo::election_phragmen`.", - "", - " When this limit is reached no more candidates are accepted in the election." - ] - }, - { - "name": "MaxVoters", - "ty": 4, - "value": [16, 39, 0, 0], - "docs": [ - " The maximum number of voters to allow in a phragmen election.", - "", - " Warning: This impacts the size of the election which is run onchain. Chose wisely, and", - " consider how it will impact `T::WeightInfo::election_phragmen`.", - "", - " When the limit is reached the new voters are ignored." - ] - }, - { - "name": "MaxVotesPerVoter", - "ty": 4, - "value": [16, 0, 0, 0], - "docs": [ - " Maximum numbers of votes per voter.", - "", - " Warning: This impacts the size of the election which is run onchain. Chose wisely, and", - " consider how it will impact `T::WeightInfo::election_phragmen`." - ] - } - ], - "error": { - "ty": 501 - }, - "index": 16, - "docs": [] - }, - { - "name": "TechnicalMembership", - "storage": { - "prefix": "TechnicalMembership", - "entries": [ - { - "name": "Members", - "modifier": "Default", - "ty": { - "Plain": 502 - }, - "default": [0], - "docs": [" The current membership, stored as an ordered Vec."] - }, - { - "name": "Prime", - "modifier": "Optional", - "ty": { - "Plain": 0 - }, - "default": [0], - "docs": [" The current prime member, if one exists."] - } - ] - }, - "calls": { - "ty": 313 - }, - "event": { - "ty": 60 - }, - "constants": [], - "error": { - "ty": 503 - }, - "index": 17, - "docs": [] - }, - { - "name": "Treasury", - "storage": { - "prefix": "Treasury", - "entries": [ - { - "name": "ProposalCount", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [" Number of proposals that have been made."] - }, - { - "name": "Proposals", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 4, - "value": 504 - } - }, - "default": [0], - "docs": [" Proposals that have been made."] - }, - { - "name": "Deactivated", - "modifier": "Default", - "ty": { - "Plain": 6 - }, - "default": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " The amount which has been reported as inactive to Currency." - ] - }, - { - "name": "Approvals", - "modifier": "Default", - "ty": { - "Plain": 505 - }, - "default": [0], - "docs": [ - " Proposal indices that have been approved but not yet awarded." - ] - } - ] - }, - "calls": { - "ty": 314 - }, - "event": { - "ty": 61 - }, - "constants": [ - { - "name": "ProposalBond", - "ty": 506, - "value": [80, 195, 0, 0], - "docs": [ - " Fraction of a proposal's value that should be bonded in order to place the proposal.", - " An accepted proposal gets these back. A rejected proposal does not." - ] - }, - { - "name": "ProposalBondMinimum", - "ty": 6, - "value": [16, 152, 164, 133, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " Minimum amount of funds that should be placed in a deposit for making a proposal." - ] - }, - { - "name": "ProposalBondMaximum", - "ty": 507, - "value": [1, 32, 179, 37, 26, 8, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " Maximum amount of funds that should be placed in a deposit for making a proposal." - ] - }, - { - "name": "SpendPeriod", - "ty": 4, - "value": [128, 81, 1, 0], - "docs": [" Period between successive spends."] - }, - { - "name": "Burn", - "ty": 506, - "value": [208, 7, 0, 0], - "docs": [ - " Percentage of spare funds (if any) that are burnt per spend period." - ] - }, - { - "name": "PalletId", - "ty": 508, - "value": [112, 121, 47, 116, 114, 115, 114, 121], - "docs": [ - " The treasury's pallet id, used for deriving its sovereign account ID." - ] - }, - { - "name": "MaxApprovals", - "ty": 4, - "value": [100, 0, 0, 0], - "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." - ] - } - ], - "error": { - "ty": 509 - }, - "index": 18, - "docs": [] - }, - { - "name": "Claims", - "storage": { - "prefix": "Claims", - "entries": [ - { - "name": "Claims", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Identity"], - "key": 63, - "value": 6 - } - }, - "default": [0], - "docs": [] - }, - { - "name": "Total", - "modifier": "Default", - "ty": { - "Plain": 6 - }, - "default": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [] - }, - { - "name": "Vesting", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Identity"], - "key": 63, - "value": 318 - } - }, - "default": [0], - "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", - "ty": { - "Map": { - "hashers": ["Identity"], - "key": 63, - "value": 320 - } - }, - "default": [0], - "docs": [" The statement kind that must be signed, if any."] - }, - { - "name": "Preclaims", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Identity"], - "key": 0, - "value": 63 - } - }, - "default": [0], - "docs": [ - " Pre-claimed Ethereum accounts, by the Account ID that they are claimed to." - ] - } - ] - }, - "calls": { - "ty": 315 - }, - "event": { - "ty": 62 - }, - "constants": [ - { - "name": "Prefix", - "ty": 13, - "value": [ - 124, 80, 97, 121, 32, 82, 79, 67, 115, 32, 116, 111, 32, 116, - 104, 101, 32, 82, 111, 99, 111, 99, 111, 32, 97, 99, 99, 111, - 117, 110, 116, 58 - ], - "docs": [] - } - ], - "error": { - "ty": 510 - }, - "index": 19, - "docs": [] - }, - { - "name": "Utility", - "storage": null, - "calls": { - "ty": 321 - }, - "event": { - "ty": 65 - }, - "constants": [ - { - "name": "batched_calls_limit", - "ty": 4, - "value": [170, 42, 0, 0], - "docs": [" The limit on the number of batched calls."] - } - ], - "error": { - "ty": 511 - }, - "index": 24, - "docs": [] - }, - { - "name": "Identity", - "storage": { - "prefix": "Identity", - "entries": [ - { - "name": "IdentityOf", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 0, - "value": 512 - } - }, - "default": [0], - "docs": [ - " Information that is pertinent to identify the entity behind an account.", - "", - " TWOX-NOTE: OK ― `AccountId` is a secure hash." - ] - }, - { - "name": "SuperOf", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Blake2_128Concat"], - "key": 0, - "value": 365 - } - }, - "default": [0], - "docs": [ - " The super-identity of an alternative \"sub\" identity together with its name, within that", - " context. If the account is not some other account's sub-identity, then just `None`." - ] - }, - { - "name": "SubsOf", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 0, - "value": 516 - } - }, - "default": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " Alternative \"sub\" identities of this account.", - "", - " The first item is the deposit, the second is a vector of the accounts.", - "", - " TWOX-NOTE: OK ― `AccountId` is a secure hash." - ] - }, - { - "name": "Registrars", - "modifier": "Default", - "ty": { - "Plain": 518 - }, - "default": [0], - "docs": [ - " The set of registrars. Not expected to get very big as can only be added through a", - " special origin (likely a council motion).", - "", - " The index into this can be cast to `RegistrarIndex` to get a valid value." - ] - } - ] - }, - "calls": { - "ty": 330 - }, - "event": { - "ty": 66 - }, - "constants": [ - { - "name": "BasicDeposit", - "ty": 6, - "value": [8, 76, 210, 194, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [" The amount held on deposit for a registered identity"] - }, - { - "name": "FieldDeposit", - "ty": 6, - "value": [2, 147, 180, 240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " The amount held on deposit per additional field for a registered identity." - ] - }, - { - "name": "SubAccountDeposit", - "ty": 6, - "value": [104, 66, 93, 141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " The amount held on deposit for a registered subaccount. This should account for the fact", - " that one storage item's value will increase by the size of an account ID, and there will", - " be another trie item whose value is the size of an account ID plus 32 bytes." - ] - }, - { - "name": "MaxSubAccounts", - "ty": 4, - "value": [100, 0, 0, 0], - "docs": [ - " The maximum number of sub-accounts allowed per identified account." - ] - }, - { - "name": "MaxAdditionalFields", - "ty": 4, - "value": [100, 0, 0, 0], - "docs": [ - " Maximum number of additional fields that may be stored in an ID. Needed to bound the I/O", - " required to access an identity, but can be pretty high." - ] - }, - { - "name": "MaxRegistrars", - "ty": 4, - "value": [20, 0, 0, 0], - "docs": [ - " Maxmimum number of registrars allowed in the system. Needed to bound the complexity", - " of, e.g., updating judgements." - ] - } - ], - "error": { - "ty": 522 - }, - "index": 25, - "docs": [] - }, - { - "name": "Society", - "storage": { - "prefix": "Society", - "entries": [ - { - "name": "Parameters", - "modifier": "Optional", - "ty": { - "Plain": 69 - }, - "default": [0], - "docs": [ - " The max number of members for the society at one time." - ] - }, - { - "name": "Pot", - "modifier": "Default", - "ty": { - "Plain": 6 - }, - "default": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " Amount of our account balance that is specifically for the next round's bid(s)." - ] - }, - { - "name": "Founder", - "modifier": "Optional", - "ty": { - "Plain": 0 - }, - "default": [0], - "docs": [" The first member."] - }, - { - "name": "Head", - "modifier": "Optional", - "ty": { - "Plain": 0 - }, - "default": [0], - "docs": [ - " The most primary from the most recently approved rank 0 members in the society." - ] - }, - { - "name": "Rules", - "modifier": "Optional", - "ty": { - "Plain": 12 - }, - "default": [0], - "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", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 0, - "value": 523 - } - }, - "default": [0], - "docs": [ - " The current members and their rank. Doesn't include `SuspendedMembers`." - ] - }, - { - "name": "Payouts", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 0, - "value": 526 - } - }, - "default": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " Information regarding rank-0 payouts, past and future." - ] - }, - { - "name": "MemberCount", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [ - " The number of items in `Members` currently. (Doesn't include `SuspendedMembers`.)" - ] - }, - { - "name": "MemberByIndex", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 4, - "value": 0 - } - }, - "default": [0], - "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", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 0, - "value": 523 - } - }, - "default": [0], - "docs": [ - " The set of suspended members, with their old membership record." - ] - }, - { - "name": "RoundCount", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [" The number of rounds which have passed."] - }, - { - "name": "Bids", - "modifier": "Default", - "ty": { - "Plain": 530 - }, - "default": [0], - "docs": [ - " The current bids, stored ordered by the value of the bid." - ] - }, - { - "name": "Candidates", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Blake2_128Concat"], - "key": 0, - "value": 534 - } - }, - "default": [0], - "docs": [] - }, - { - "name": "Skeptic", - "modifier": "Optional", - "ty": { - "Plain": 0 - }, - "default": [0], - "docs": [" The current skeptic."] - }, - { - "name": "Votes", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat", "Twox64Concat"], - "key": 536, - "value": 537 - } - }, - "default": [0], - "docs": [" Double map from Candidate -> Voter -> (Maybe) Vote."] - }, - { - "name": "VoteClearCursor", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 0, - "value": 538 - } - }, - "default": [0], - "docs": [ - " Clear-cursor for Vote, map from Candidate -> (Maybe) Cursor." - ] - }, - { - "name": "NextHead", - "modifier": "Optional", - "ty": { - "Plain": 539 - }, - "default": [0], - "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", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [ - " The number of challenge rounds there have been. Used to identify stale DefenderVotes." - ] - }, - { - "name": "Defending", - "modifier": "Optional", - "ty": { - "Plain": 540 - }, - "default": [0], - "docs": [ - " The defending member currently being challenged, along with a running tally of votes." - ] - }, - { - "name": "DefenderVotes", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat", "Twox64Concat"], - "key": 297, - "value": 537 - } - }, - "default": [0], - "docs": [" Votes for the defender, keyed by challenge round."] - } - ] - }, - "calls": { - "ty": 369 - }, - "event": { - "ty": 67 - }, - "constants": [ - { - "name": "PalletId", - "ty": 508, - "value": [112, 121, 47, 115, 111, 99, 105, 101], - "docs": [" The societies's pallet id"] - }, - { - "name": "GraceStrikes", - "ty": 4, - "value": [1, 0, 0, 0], - "docs": [ - " The maximum number of strikes before a member gets funds slashed." - ] - }, - { - "name": "PeriodSpend", - "ty": 6, - "value": [144, 217, 18, 13, 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " The amount of incentive paid within each period. Doesn't include VoterTip." - ] - }, - { - "name": "VotingPeriod", - "ty": 4, - "value": [64, 25, 1, 0], - "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", - "ty": 4, - "value": [128, 112, 0, 0], - "docs": [ - " The number of blocks on which new candidates can claim their membership and be the", - " named head." - ] - }, - { - "name": "MaxLockDuration", - "ty": 4, - "value": [0, 78, 237, 0], - "docs": [" The maximum duration of the payout lock."] - }, - { - "name": "ChallengePeriod", - "ty": 4, - "value": [192, 137, 1, 0], - "docs": [" The number of blocks between membership challenges."] - }, - { - "name": "MaxPayouts", - "ty": 4, - "value": [8, 0, 0, 0], - "docs": [ - " The maximum number of payouts a member may have waiting unclaimed." - ] - }, - { - "name": "MaxBids", - "ty": 4, - "value": [0, 2, 0, 0], - "docs": [" The maximum number of bids at once."] - } - ], - "error": { - "ty": 541 - }, - "index": 26, - "docs": [] - }, - { - "name": "Recovery", - "storage": { - "prefix": "Recovery", - "entries": [ - { - "name": "Recoverable", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 0, - "value": 542 - } - }, - "default": [0], - "docs": [ - " The set of recoverable accounts and their recovery configuration." - ] - }, - { - "name": "ActiveRecoveries", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat", "Twox64Concat"], - "key": 536, - "value": 544 - } - }, - "default": [0], - "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", - "ty": { - "Map": { - "hashers": ["Blake2_128Concat"], - "key": 0, - "value": 0 - } - }, - "default": [0], - "docs": [ - " The list of allowed proxy accounts.", - "", - " Map from the user who can access it to the recovered account." - ] - } - ] - }, - "calls": { - "ty": 370 - }, - "event": { - "ty": 70 - }, - "constants": [ - { - "name": "ConfigDepositBase", - "ty": 6, - "value": [4, 38, 105, 225, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "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", - "ty": 6, - "value": [154, 80, 87, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "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", - "ty": 4, - "value": [9, 0, 0, 0], - "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", - "ty": 6, - "value": [4, 38, 105, 225, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "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." - ] - } - ], - "error": { - "ty": 545 - }, - "index": 27, - "docs": [] - }, - { - "name": "Vesting", - "storage": { - "prefix": "Vesting", - "entries": [ - { - "name": "Vesting", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Blake2_128Concat"], - "key": 0, - "value": 546 - } - }, - "default": [0], - "docs": [ - " Information regarding the vesting of a given account." - ] - }, - { - "name": "StorageVersion", - "modifier": "Default", - "ty": { - "Plain": 548 - }, - "default": [0], - "docs": [ - " Storage version of the pallet.", - "", - " New networks start with latest version, as determined by the genesis build." - ] - } - ] - }, - "calls": { - "ty": 371 - }, - "event": { - "ty": 71 - }, - "constants": [ - { - "name": "MinVestedTransfer", - "ty": 6, - "value": [52, 161, 174, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " The minimum amount transferred to call `vested_transfer`." - ] - }, - { - "name": "MaxVestingSchedules", - "ty": 4, - "value": [28, 0, 0, 0], - "docs": [] - } - ], - "error": { - "ty": 549 - }, - "index": 28, - "docs": [] - }, - { - "name": "Scheduler", - "storage": { - "prefix": "Scheduler", - "entries": [ - { - "name": "IncompleteSince", - "modifier": "Optional", - "ty": { - "Plain": 4 - }, - "default": [0], - "docs": [] - }, - { - "name": "Agenda", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 4, - "value": 550 - } - }, - "default": [0], - "docs": [ - " Items to be executed, indexed by the block number that they should be executed on." - ] - }, - { - "name": "Lookup", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 1, - "value": 73 - } - }, - "default": [0], - "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": { - "ty": 373 - }, - "event": { - "ty": 72 - }, - "constants": [ - { - "name": "MaximumWeight", - "ty": 9, - "value": [ - 11, 0, 128, 110, 135, 116, 1, 19, 204, 204, 204, 204, 204, 204, - 204, 204 - ], - "docs": [ - " The maximum weight that may be scheduled per block for any dispatchables." - ] - }, - { - "name": "MaxScheduledPerBlock", - "ty": 4, - "value": [50, 0, 0, 0], - "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." - ] - } - ], - "error": { - "ty": 554 - }, - "index": 29, - "docs": [] - }, - { - "name": "Proxy", - "storage": { - "prefix": "Proxy", - "entries": [ - { - "name": "Proxies", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 0, - "value": 555 - } - }, - "default": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "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", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 0, - "value": 559 - } - }, - "default": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [" The announcements made by the proxy (key)."] - } - ] - }, - "calls": { - "ty": 375 - }, - "event": { - "ty": 75 - }, - "constants": [ - { - "name": "ProxyDepositBase", - "ty": 6, - "value": [176, 125, 59, 135, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "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", - "ty": 6, - "value": [52, 115, 142, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "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", - "ty": 4, - "value": [32, 0, 0, 0], - "docs": [ - " The maximum amount of proxies allowed for a single account." - ] - }, - { - "name": "MaxPending", - "ty": 4, - "value": [32, 0, 0, 0], - "docs": [ - " The maximum amount of time-delayed announcements that are allowed to be pending." - ] - }, - { - "name": "AnnouncementDepositBase", - "ty": 6, - "value": [176, 125, 59, 135, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "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", - "ty": 6, - "value": [104, 230, 28, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "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." - ] - } - ], - "error": { - "ty": 563 - }, - "index": 30, - "docs": [] - }, - { - "name": "Multisig", - "storage": { - "prefix": "Multisig", - "entries": [ - { - "name": "Multisigs", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat", "Blake2_128Concat"], - "key": 564, - "value": 565 - } - }, - "default": [0], - "docs": [" The set of open multisig operations."] - } - ] - }, - "calls": { - "ty": 377 - }, - "event": { - "ty": 78 - }, - "constants": [ - { - "name": "DepositBase", - "ty": 6, - "value": [240, 117, 32, 151, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "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", - "ty": 6, - "value": [128, 150, 91, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "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", - "ty": 4, - "value": [100, 0, 0, 0], - "docs": [ - " The maximum amount of signatories allowed in the multisig." - ] - } - ], - "error": { - "ty": 567 - }, - "index": 31, - "docs": [] - }, - { - "name": "Preimage", - "storage": { - "prefix": "Preimage", - "entries": [ - { - "name": "StatusFor", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Identity"], - "key": 12, - "value": 568 - } - }, - "default": [0], - "docs": [" The request status of a given hash."] - }, - { - "name": "RequestStatusFor", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Identity"], - "key": 12, - "value": 570 - } - }, - "default": [0], - "docs": [" The request status of a given hash."] - }, - { - "name": "PreimageFor", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Identity"], - "key": 574, - "value": 575 - } - }, - "default": [0], - "docs": [] - } - ] - }, - "calls": { - "ty": 379 - }, - "event": { - "ty": 80 - }, - "constants": [], - "error": { - "ty": 576 - }, - "index": 32, - "docs": [] - }, - { - "name": "Bounties", - "storage": { - "prefix": "Bounties", - "entries": [ - { - "name": "BountyCount", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [" Number of bounty proposals that have been made."] - }, - { - "name": "Bounties", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 4, - "value": 577 - } - }, - "default": [0], - "docs": [" Bounties that have been made."] - }, - { - "name": "BountyDescriptions", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 4, - "value": 579 - } - }, - "default": [0], - "docs": [" The description of each bounty."] - }, - { - "name": "BountyApprovals", - "modifier": "Default", - "ty": { - "Plain": 505 - }, - "default": [0], - "docs": [ - " Bounty indices that have been approved but not yet funded." - ] - } - ] - }, - "calls": { - "ty": 380 - }, - "event": { - "ty": 81 - }, - "constants": [ - { - "name": "BountyDepositBase", - "ty": 6, - "value": [52, 161, 174, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " The amount held on deposit for placing a bounty proposal." - ] - }, - { - "name": "BountyDepositPayoutDelay", - "ty": 4, - "value": [0, 225, 0, 0], - "docs": [ - " The delay period for which a bounty beneficiary need to wait before claim the payout." - ] - }, - { - "name": "BountyUpdatePeriod", - "ty": 4, - "value": [128, 198, 19, 0], - "docs": [" Bounty duration in blocks."] - }, - { - "name": "CuratorDepositMultiplier", - "ty": 506, - "value": [32, 161, 7, 0], - "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", - "ty": 507, - "value": [1, 4, 38, 105, 225, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " Maximum amount of funds that should be placed in a deposit for making a proposal." - ] - }, - { - "name": "CuratorDepositMin", - "ty": 507, - "value": [1, 82, 67, 222, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " Minimum amount of funds that should be placed in a deposit for making a proposal." - ] - }, - { - "name": "BountyValueMinimum", - "ty": 6, - "value": [104, 66, 93, 141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [" Minimum value for a bounty."] - }, - { - "name": "DataDepositPerByte", - "ty": 6, - "value": [85, 160, 252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " The amount held on deposit per byte within the tip report reason or bounty description." - ] - }, - { - "name": "MaximumReasonLength", - "ty": 4, - "value": [0, 64, 0, 0], - "docs": [ - " Maximum acceptable reason length.", - "", - " Benchmarks depend on this value, be sure to update weights file when changing this value" - ] - } - ], - "error": { - "ty": 580 - }, - "index": 35, - "docs": [] - }, - { - "name": "ChildBounties", - "storage": { - "prefix": "ChildBounties", - "entries": [ - { - "name": "ChildBountyCount", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [" Number of total child bounties."] - }, - { - "name": "ParentChildBounties", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 4, - "value": 4 - } - }, - "default": [0, 0, 0, 0], - "docs": [ - " Number of child bounties per parent bounty.", - " Map of parent bounty index to number of child bounties." - ] - }, - { - "name": "ChildBounties", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat", "Twox64Concat"], - "key": 73, - "value": 581 - } - }, - "default": [0], - "docs": [" Child bounties that have been added."] - }, - { - "name": "ChildBountyDescriptions", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 4, - "value": 579 - } - }, - "default": [0], - "docs": [" The description of each child-bounty."] - }, - { - "name": "ChildrenCuratorFees", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 4, - "value": 6 - } - }, - "default": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " The cumulative child-bounty curator fee for each parent bounty." - ] - } - ] - }, - "calls": { - "ty": 381 - }, - "event": { - "ty": 82 - }, - "constants": [ - { - "name": "MaxActiveChildBountyCount", - "ty": 4, - "value": [100, 0, 0, 0], - "docs": [ - " Maximum number of child bounties that can be added to a parent bounty." - ] - }, - { - "name": "ChildBountyValueMinimum", - "ty": 6, - "value": [164, 134, 188, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [" Minimum value for a child-bounty."] - } - ], - "error": { - "ty": 583 - }, - "index": 40, - "docs": [] - }, - { - "name": "Tips", - "storage": { - "prefix": "Tips", - "entries": [ - { - "name": "Tips", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 12, - "value": 584 - } - }, - "default": [0], - "docs": [ - " TipsMap that are not yet completed. Keyed by the hash of `(reason, who)` from the value.", - " This has the insecure enumerable hash function since the key itself is already", - " guaranteed to be a secure hash." - ] - }, - { - "name": "Reasons", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Identity"], - "key": 12, - "value": 13 - } - }, - "default": [0], - "docs": [ - " Simple preimage lookup from the reason's hash to the original data. Again, has an", - " insecure enumerable hash since the key is guaranteed to be the result of a secure hash." - ] - } - ] - }, - "calls": { - "ty": 382 - }, - "event": { - "ty": 83 - }, - "constants": [ - { - "name": "MaximumReasonLength", - "ty": 4, - "value": [0, 64, 0, 0], - "docs": [ - " Maximum acceptable reason length.", - "", - " Benchmarks depend on this value, be sure to update weights file when changing this value" - ] - }, - { - "name": "DataDepositPerByte", - "ty": 6, - "value": [85, 160, 252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " The amount held on deposit per byte within the tip report reason or bounty description." - ] - }, - { - "name": "TipCountdown", - "ty": 4, - "value": [64, 56, 0, 0], - "docs": [ - " The period for which a tip remains open after is has achieved threshold tippers." - ] - }, - { - "name": "TipFindersFee", - "ty": 585, - "value": [20], - "docs": [ - " The percent of the final tip which goes to the original reporter of the tip." - ] - }, - { - "name": "TipReportDepositBase", - "ty": 6, - "value": [52, 161, 174, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [" The amount held on deposit for placing a tip report."] - } - ], - "error": { - "ty": 586 - }, - "index": 36, - "docs": [] - }, - { - "name": "Nis", - "storage": { - "prefix": "Nis", - "entries": [ - { - "name": "QueueTotals", - "modifier": "Default", - "ty": { - "Plain": 587 - }, - "default": [ - 177, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "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", - "ty": { - "Map": { - "hashers": ["Blake2_128Concat"], - "key": 4, - "value": 588 - } - }, - "default": [0], - "docs": [ - " The queues of bids. Indexed by duration (in `Period`s)." - ] - }, - { - "name": "Summary", - "modifier": "Default", - "ty": { - "Plain": 591 - }, - "default": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "docs": [" Summary information over the general state."] - }, - { - "name": "Receipts", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Blake2_128Concat"], - "key": 4, - "value": 592 - } - }, - "default": [0], - "docs": [ - " The currently outstanding receipts, indexed according to the order of creation." - ] - } - ] - }, - "calls": { - "ty": 383 - }, - "event": { - "ty": 84 - }, - "constants": [ - { - "name": "PalletId", - "ty": 508, - "value": [112, 121, 47, 110, 105, 115, 32, 32], - "docs": [ - " The treasury's pallet id, used for deriving its sovereign account ID." - ] - }, - { - "name": "QueueCount", - "ty": 4, - "value": [44, 1, 0, 0], - "docs": [ - " Number of duration queues in total. This sets the maximum duration supported, which is", - " this value multiplied by `Period`." - ] - }, - { - "name": "MaxQueueLen", - "ty": 4, - "value": [232, 3, 0, 0], - "docs": [ - " Maximum number of items that may be in each duration queue.", - "", - " Must be larger than zero." - ] - }, - { - "name": "FifoQueueLen", - "ty": 4, - "value": [250, 0, 0, 0], - "docs": [ - " Portion of the queue which is free from ordering and just a FIFO.", - "", - " Must be no greater than `MaxQueueLen`." - ] - }, - { - "name": "BasePeriod", - "ty": 4, - "value": [128, 151, 6, 0], - "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", - "ty": 6, - "value": [0, 64, 122, 16, 243, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "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", - "ty": 85, - "value": [0, 232, 118, 72, 23, 0, 0, 0], - "docs": [ - " The minimum amount of funds which may intentionally be left remaining under a single", - " receipt." - ] - }, - { - "name": "IntakePeriod", - "ty": 4, - "value": [50, 0, 0, 0], - "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", - "ty": 9, - "value": [ - 7, 0, 208, 237, 144, 46, 19, 153, 153, 153, 153, 153, 153, 153, - 25 - ], - "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", - "ty": 593, - "value": [0, 0, 217, 233, 172, 45, 120, 3, 5, 0, 0, 0], - "docs": [ - " The maximum proportion which may be thawed and the period over which it is reset." - ] - } - ], - "error": { - "ty": 594 - }, - "index": 38, - "docs": [] - }, - { - "name": "NisCounterpartBalances", - "storage": { - "prefix": "NisCounterpartBalances", - "entries": [ - { - "name": "TotalIssuance", - "modifier": "Default", - "ty": { - "Plain": 6 - }, - "default": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [" The total units issued in the system."] - }, - { - "name": "InactiveIssuance", - "modifier": "Default", - "ty": { - "Plain": 6 - }, - "default": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " The total units of outstanding deactivated balance in the system." - ] - }, - { - "name": "Account", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Blake2_128Concat"], - "key": 0, - "value": 5 - } - }, - "default": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 128 - ], - "docs": [ - " The Balances pallet example of storing the balance of an account.", - "", - " # Example", - "", - " ```nocompile", - " impl pallet_balances::Config for Runtime {", - " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", - " }", - " ```", - "", - " 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", - "ty": { - "Map": { - "hashers": ["Blake2_128Concat"], - "key": 0, - "value": 595 - } - }, - "default": [0], - "docs": [ - " Any liquidity locks on some account balances.", - " NOTE: Should only be accessed when setting, changing and freeing a lock." - ] - }, - { - "name": "Reserves", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Blake2_128Concat"], - "key": 0, - "value": 596 - } - }, - "default": [0], - "docs": [" Named reserves on some account balances."] - }, - { - "name": "Holds", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Blake2_128Concat"], - "key": 0, - "value": 597 - } - }, - "default": [0], - "docs": [" Holds on account balances."] - }, - { - "name": "Freezes", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Blake2_128Concat"], - "key": 0, - "value": 598 - } - }, - "default": [0], - "docs": [" Freeze locks on account balances."] - } - ] - }, - "calls": { - "ty": 385 - }, - "event": { - "ty": 86 - }, - "constants": [ - { - "name": "ExistentialDeposit", - "ty": 6, - "value": [0, 228, 11, 84, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "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", - "ty": 4, - "value": [4, 0, 0, 0], - "docs": [ - " The maximum number of locks that should exist on an account.", - " Not strictly enforced, but used for weight estimation." - ] - }, - { - "name": "MaxReserves", - "ty": 4, - "value": [4, 0, 0, 0], - "docs": [ - " The maximum number of named reserves that can exist on an account." - ] - }, - { - "name": "MaxHolds", - "ty": 4, - "value": [0, 0, 0, 0], - "docs": [ - " The maximum number of holds that can exist on an account at any time." - ] - }, - { - "name": "MaxFreezes", - "ty": 4, - "value": [0, 0, 0, 0], - "docs": [ - " The maximum number of individual freeze locks that can exist on an account at any time." - ] - } - ], - "error": { - "ty": 599 - }, - "index": 45, - "docs": [] - }, - { - "name": "ParachainsOrigin", - "storage": null, - "calls": null, - "event": null, - "constants": [], - "error": null, - "index": 50, - "docs": [ - " There is no way to register an origin type in `construct_runtime` without a pallet the origin", - " belongs to.", - "", - " This module fulfills only the single purpose of housing the `Origin` in `construct_runtime`." - ] - }, - { - "name": "Configuration", - "storage": { - "prefix": "Configuration", - "entries": [ - { - "name": "ActiveConfig", - "modifier": "Default", - "ty": { - "Plain": 600 - }, - "default": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 39, 0, 0, 128, 178, - 230, 14, 128, 195, 201, 1, 128, 150, 152, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 6, 0, 0, 0, 100, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, - 0, 0 - ], - "docs": [" The active configuration for the current session."] - }, - { - "name": "PendingConfigs", - "modifier": "Default", - "ty": { - "Plain": 601 - }, - "default": [0], - "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", - "ty": { - "Plain": 54 - }, - "default": [0], - "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": { - "ty": 386 - }, - "event": null, - "constants": [], - "error": { - "ty": 603 - }, - "index": 51, - "docs": [] - }, - { - "name": "ParasShared", - "storage": { - "prefix": "ParasShared", - "entries": [ - { - "name": "CurrentSessionIndex", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [" The current session index."] - }, - { - "name": "ActiveValidatorIndices", - "modifier": "Default", - "ty": { - "Plain": 604 - }, - "default": [0], - "docs": [ - " All the validators actively participating in parachain consensus.", - " Indices are into the broader validator set." - ] - }, - { - "name": "ActiveValidatorKeys", - "modifier": "Default", - "ty": { - "Plain": 605 - }, - "default": [0], - "docs": [ - " The parachain attestation keys of the validators actively participating in parachain", - " consensus. This should be the same length as `ActiveValidatorIndices`." - ] - }, - { - "name": "AllowedRelayParents", - "modifier": "Default", - "ty": { - "Plain": 606 - }, - "default": [0, 0, 0, 0, 0], - "docs": [" All allowed relay-parents."] - } - ] - }, - "calls": { - "ty": 394 - }, - "event": null, - "constants": [], - "error": null, - "index": 52, - "docs": [] - }, - { - "name": "ParaInclusion", - "storage": { - "prefix": "ParaInclusion", - "entries": [ - { - "name": "AvailabilityBitfields", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 403, - "value": 609 - } - }, - "default": [0], - "docs": [ - " The latest bitfield for each validator, referred to by their index in the validator set." - ] - }, - { - "name": "PendingAvailability", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 610 - } - }, - "default": [0], - "docs": [" Candidates pending availability by `ParaId`."] - }, - { - "name": "PendingAvailabilityCommitments", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 408 - } - }, - "default": [0], - "docs": [ - " The commitments of candidates pending availability, by `ParaId`." - ] - } - ] - }, - "calls": { - "ty": 395 - }, - "event": { - "ty": 87 - }, - "constants": [], - "error": { - "ty": 611 - }, - "index": 53, - "docs": [] - }, - { - "name": "ParaInherent", - "storage": { - "prefix": "ParaInherent", - "entries": [ - { - "name": "Included", - "modifier": "Optional", - "ty": { - "Plain": 47 - }, - "default": [0], - "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", - "ty": { - "Plain": 612 - }, - "default": [0], - "docs": [ - " Scraped on chain data for extracting resolved disputes as well as backing votes." - ] - } - ] - }, - "calls": { - "ty": 396 - }, - "event": null, - "constants": [], - "error": { - "ty": 617 - }, - "index": 54, - "docs": [] - }, - { - "name": "ParaScheduler", - "storage": { - "prefix": "ParaScheduler", - "entries": [ - { - "name": "ValidatorGroups", - "modifier": "Default", - "ty": { - "Plain": 618 - }, - "default": [0], - "docs": [ - " All the validator groups. One for each core. Indices are into `ActiveValidators` - not the", - " broader set of Polkadot validators, but instead just the subset used for parachains during", - " this session.", - "", - " Bound: The number of cores is the sum of the numbers of parachains and parathread", - " multiplexers. Reasonably, 100-1000. The dominant factor is the number of validators: safe", - " upper bound at 10k." - ] - }, - { - "name": "AvailabilityCores", - "modifier": "Default", - "ty": { - "Plain": 619 - }, - "default": [0], - "docs": [ - " One entry for each availability core. Entries are `None` if the core is not currently", - " occupied. Can be temporarily `Some` if scheduled but not occupied.", - " The i'th parachain belongs to the i'th core, with the remaining cores all being", - " parathread-multiplexers.", - "", - " Bounded by the maximum of either of these two values:", - " * The number of parachains and parathread multiplexers", - " * The number of validators divided by `configuration.max_validators_per_core`." - ] - }, - { - "name": "SessionStartBlock", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [ - " The block number where the session start occurred. Used to track how many group rotations", - " have occurred.", - "", - " Note that in the context of parachains 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", - "ty": { - "Plain": 623 - }, - "default": [0], - "docs": [ - " One entry for each availability core. The `VecDeque` represents the assignments to be", - " scheduled on that core. `None` is used to signal to not schedule the next para of the core", - " as there is one currently being scheduled. Not using `None` here would overwrite the", - " `CoreState` in the runtime API. 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, - "event": null, - "constants": [], - "error": null, - "index": 55, - "docs": [] - }, - { - "name": "Paras", - "storage": { - "prefix": "Paras", - "entries": [ - { - "name": "PvfActiveVoteMap", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 95, - "value": 628 - } - }, - "default": [0], - "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", - "ty": { - "Plain": 631 - }, - "default": [0], - "docs": [ - " The list of all currently active PVF votes. Auxiliary to `PvfActiveVoteMap`." - ] - }, - { - "name": "Parachains", - "modifier": "Default", - "ty": { - "Plain": 632 - }, - "default": [0], - "docs": [ - " All lease holding parachains. Ordered ascending by `ParaId`. On demand parachains are not", - " included.", - "", - " Consider using the [`ParachainsCache`] type of modifying." - ] - }, - { - "name": "ParaLifecycles", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 633 - } - }, - "default": [0], - "docs": [" The current lifecycle of a all known Para IDs."] - }, - { - "name": "Heads", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 96 - } - }, - "default": [0], - "docs": [" The head-data of every registered para."] - }, - { - "name": "MostRecentContext", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 4 - } - }, - "default": [0], - "docs": [ - " The context (relay-chain block number) of the most recent parachain head." - ] - }, - { - "name": "CurrentCodeHash", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 95 - } - }, - "default": [0], - "docs": [ - " The validation code hash of every live para.", - "", - " Corresponding code can be retrieved with [`CodeByHash`]." - ] - }, - { - "name": "PastCodeHash", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 634, - "value": 95 - } - }, - "default": [0], - "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", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 635 - } - }, - "default": [0, 0], - "docs": [ - " Past code of parachains. The parachains 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", - "ty": { - "Plain": 638 - }, - "default": [0], - "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 parachain perceives a code upgrade as having occurred.", - " Multiple entries for a single para are permitted. Ordered ascending by block number." - ] - }, - { - "name": "FutureCodeUpgrades", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 4 - } - }, - "default": [0], - "docs": [ - " The block number at which the planned code change is expected for a para.", - " 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": "FutureCodeHash", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 95 - } - }, - "default": [0], - "docs": [ - " The actual future code hash of a para.", - "", - " Corresponding code can be retrieved with [`CodeByHash`]." - ] - }, - { - "name": "UpgradeGoAheadSignal", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 639 - } - }, - "default": [0], - "docs": [ - " This is used by the relay-chain to communicate to a parachain 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", - " parachain can switch its upgrade function. As soon as the parachain's block is included, the", - " value gets reset to `None`.", - "", - " NOTE that this field is used by parachains via merkle storage proofs, therefore changing", - " the format will require migration of parachains." - ] - }, - { - "name": "UpgradeRestrictionSignal", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 640 - } - }, - "default": [0], - "docs": [ - " This is used by the relay-chain to communicate that there are restrictions for performing", - " an upgrade for this parachain.", - "", - " This may be a because the parachain 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 parachains via merkle storage proofs, therefore changing", - " the format will require migration of parachains." - ] - }, - { - "name": "UpgradeCooldowns", - "modifier": "Default", - "ty": { - "Plain": 638 - }, - "default": [0], - "docs": [ - " The list of parachains that are awaiting for their upgrade restriction to cooldown.", - "", - " Ordered ascending by block number." - ] - }, - { - "name": "UpcomingUpgrades", - "modifier": "Default", - "ty": { - "Plain": 638 - }, - "default": [0], - "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", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 4, - "value": 632 - } - }, - "default": [0], - "docs": [ - " The actions to perform during the start of a specific session index." - ] - }, - { - "name": "UpcomingParasGenesis", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 466 - } - }, - "default": [0], - "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", - "ty": { - "Map": { - "hashers": ["Identity"], - "key": 95, - "value": 4 - } - }, - "default": [0, 0, 0, 0], - "docs": [ - " The number of reference on the validation code in [`CodeByHash`] storage." - ] - }, - { - "name": "CodeByHash", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Identity"], - "key": 95, - "value": 414 - } - }, - "default": [0], - "docs": [ - " Validation code stored by its hash.", - "", - " This storage is consistent with [`FutureCodeHash`], [`CurrentCodeHash`] and", - " [`PastCodeHash`]." - ] - } - ] - }, - "calls": { - "ty": 424 - }, - "event": { - "ty": 99 - }, - "constants": [ - { - "name": "UnsignedPriority", - "ty": 11, - "value": [255, 255, 255, 255, 255, 255, 255, 255], - "docs": [] - } - ], - "error": { - "ty": 641 - }, - "index": 56, - "docs": [] - }, - { - "name": "Initializer", - "storage": { - "prefix": "Initializer", - "entries": [ - { - "name": "HasInitialized", - "modifier": "Optional", - "ty": { - "Plain": 47 - }, - "default": [0], - "docs": [ - " Whether the parachains 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", - "ty": { - "Plain": 642 - }, - "default": [0], - "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": { - "ty": 426 - }, - "event": null, - "constants": [], - "error": null, - "index": 57, - "docs": [] - }, - { - "name": "Dmp", - "storage": { - "prefix": "Dmp", - "entries": [ - { - "name": "DownwardMessageQueues", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 644 - } - }, - "default": [0], - "docs": [" The downward messages addressed for a certain para."] - }, - { - "name": "DownwardMessageQueueHeads", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 12 - } - }, - "default": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "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", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 111 - } - }, - "default": [ - 0, 0, 100, 167, 179, 182, 224, 13, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "docs": [" The number to multiply the base delivery fee by."] - } - ] - }, - "calls": null, - "event": null, - "constants": [], - "error": null, - "index": 58, - "docs": [] - }, - { - "name": "Hrmp", - "storage": { - "prefix": "Hrmp", - "entries": [ - { - "name": "HrmpOpenChannelRequests", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 101, - "value": 646 - } - }, - "default": [0], - "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", - "ty": { - "Plain": 647 - }, - "default": [0], - "docs": [] - }, - { - "name": "HrmpOpenChannelRequestCount", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 4 - } - }, - "default": [0, 0, 0, 0], - "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", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 4 - } - }, - "default": [0, 0, 0, 0], - "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", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 101, - "value": 47 - } - }, - "default": [0], - "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", - "ty": { - "Plain": 647 - }, - "default": [0], - "docs": [] - }, - { - "name": "HrmpWatermarks", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 4 - } - }, - "default": [0], - "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", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 101, - "value": 648 - } - }, - "default": [0], - "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", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 632 - } - }, - "default": [0], - "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", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 632 - } - }, - "default": [0], - "docs": [] - }, - { - "name": "HrmpChannelContents", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 101, - "value": 649 - } - }, - "default": [0], - "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", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 651 - } - }, - "default": [0], - "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` is never empty.", - " - The inner `Vec` 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": { - "ty": 427 - }, - "event": { - "ty": 100 - }, - "constants": [], - "error": { - "ty": 653 - }, - "index": 60, - "docs": [] - }, - { - "name": "ParaSessionInfo", - "storage": { - "prefix": "ParaSessionInfo", - "entries": [ - { - "name": "AssignmentKeysUnsafe", - "modifier": "Default", - "ty": { - "Plain": 654 - }, - "default": [0], - "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", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [ - " The earliest session for which previous session info is stored." - ] - }, - { - "name": "Sessions", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Identity"], - "key": 4, - "value": 655 - } - }, - "default": [0], - "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", - "ty": { - "Map": { - "hashers": ["Identity"], - "key": 4, - "value": 68 - } - }, - "default": [0], - "docs": [ - " The validator account keys of the validators actively participating in parachain consensus." - ] - }, - { - "name": "SessionExecutorParams", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Identity"], - "key": 4, - "value": 388 - } - }, - "default": [0], - "docs": [" Executor parameter set for a given session index"] - } - ] - }, - "calls": null, - "event": null, - "constants": [], - "error": null, - "index": 61, - "docs": [] - }, - { - "name": "ParasDisputes", - "storage": { - "prefix": "ParasDisputes", - "entries": [ - { - "name": "LastPrunedSession", - "modifier": "Optional", - "ty": { - "Plain": 4 - }, - "default": [0], - "docs": [ - " The last pruned session, if any. All data stored by this module", - " references sessions." - ] - }, - { - "name": "Disputes", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat", "Blake2_128Concat"], - "key": 659, - "value": 660 - } - }, - "default": [0], - "docs": [ - " All ongoing or concluded disputes for the last several sessions." - ] - }, - { - "name": "BackersOnDisputes", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat", "Blake2_128Concat"], - "key": 659, - "value": 661 - } - }, - "default": [0], - "docs": [ - " Backing votes stored for each dispute.", - " This storage is used for slashing." - ] - }, - { - "name": "Included", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat", "Blake2_128Concat"], - "key": 659, - "value": 4 - } - }, - "default": [0], - "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", - "ty": { - "Plain": 255 - }, - "default": [0], - "docs": [ - " Whether the chain is frozen. Starts as `None`. When this is `Some`,", - " the chain will not accept any new parachain 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": { - "ty": 428 - }, - "event": { - "ty": 102 - }, - "constants": [], - "error": { - "ty": 662 - }, - "index": 62, - "docs": [] - }, - { - "name": "ParasSlashing", - "storage": { - "prefix": "ParasSlashing", - "entries": [ - { - "name": "UnappliedSlashes", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat", "Blake2_128Concat"], - "key": 659, - "value": 663 - } - }, - "default": [0], - "docs": [" Validators pending dispute slashes."] - }, - { - "name": "ValidatorSetCounts", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 4, - "value": 4 - } - }, - "default": [0], - "docs": [" `ValidatorSetCount` per session."] - } - ] - }, - "calls": { - "ty": 429 - }, - "event": null, - "constants": [], - "error": { - "ty": 667 - }, - "index": 63, - "docs": [] - }, - { - "name": "MessageQueue", - "storage": { - "prefix": "MessageQueue", - "entries": [ - { - "name": "BookStateFor", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 107, - "value": 668 - } - }, - "default": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0 - ], - "docs": [" The index of the first and last (non-empty) pages."] - }, - { - "name": "ServiceHead", - "modifier": "Optional", - "ty": { - "Plain": 107 - }, - "default": [0], - "docs": [" The origin at which we should begin servicing."] - }, - { - "name": "Pages", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat", "Twox64Concat"], - "key": 671, - "value": 672 - } - }, - "default": [0], - "docs": [" The map of page indices to pages."] - } - ] - }, - "calls": { - "ty": 433 - }, - "event": { - "ty": 106 - }, - "constants": [ - { - "name": "HeapSize", - "ty": 4, - "value": [0, 128, 0, 0], - "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", - "ty": 4, - "value": [96, 0, 0, 0], - "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", - "ty": 189, - "value": [ - 1, 7, 0, 160, 219, 33, 93, 19, 51, 51, 51, 51, 51, 51, 51, 51 - ], - "docs": [ - " The amount of weight (if any) which should be provided to the message queue for", - " servicing enqueued items.", - "", - " This may be legitimately `None` in the case that you will call", - " `ServiceQueues::service_queues` manually." - ] - } - ], - "error": { - "ty": 674 - }, - "index": 64, - "docs": [] - }, - { - "name": "ParaAssignmentProvider", - "storage": { - "prefix": "ParaAssignmentProvider", - "entries": [] - }, - "calls": null, - "event": null, - "constants": [], - "error": null, - "index": 65, - "docs": [] - }, - { - "name": "OnDemandAssignmentProvider", - "storage": { - "prefix": "OnDemandAssignmentProvider", - "entries": [ - { - "name": "SpotTraffic", - "modifier": "Default", - "ty": { - "Plain": 111 - }, - "default": [ - 0, 0, 100, 167, 179, 182, 224, 13, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "docs": [ - " Keeps track of the multiplier used to calculate the current spot price for the on demand", - " assigner." - ] - }, - { - "name": "OnDemandQueue", - "modifier": "Default", - "ty": { - "Plain": 675 - }, - "default": [0], - "docs": [ - " The order storage entry. Uses a VecDeque to be able to push to the front of the", - " queue from the scheduler on session boundaries." - ] - }, - { - "name": "ParaIdAffinity", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox256"], - "key": 90, - "value": 676 - } - }, - "default": [0], - "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." - ] - } - ] - }, - "calls": { - "ty": 434 - }, - "event": { - "ty": 110 - }, - "constants": [ - { - "name": "TrafficDefaultValue", - "ty": 111, - "value": [ - 0, 0, 100, 167, 179, 182, 224, 13, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "docs": [" The default value for the spot traffic multiplier."] - } - ], - "error": { - "ty": 677 - }, - "index": 66, - "docs": [] - }, - { - "name": "ParachainsAssignmentProvider", - "storage": null, - "calls": null, - "event": null, - "constants": [], - "error": null, - "index": 67, - "docs": [] - }, - { - "name": "Registrar", - "storage": { - "prefix": "Registrar", - "entries": [ - { - "name": "PendingSwap", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 90 - } - }, - "default": [0], - "docs": [" Pending swap operations."] - }, - { - "name": "Paras", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 678 - } - }, - "default": [0], - "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", - "ty": { - "Plain": 90 - }, - "default": [0, 0, 0, 0], - "docs": [" The next free `ParaId`."] - } - ] - }, - "calls": { - "ty": 435 - }, - "event": { - "ty": 112 - }, - "constants": [ - { - "name": "ParaDeposit", - "ty": 6, - "value": [0, 128, 202, 57, 97, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " The deposit to be paid to run a on-demand parachain.", - " This should include the cost for storing the genesis head and validation code." - ] - }, - { - "name": "DataDepositPerByte", - "ty": 6, - "value": [85, 160, 252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [" The deposit to be paid per byte stored on chain."] - } - ], - "error": { - "ty": 680 - }, - "index": 70, - "docs": [] - }, - { - "name": "Slots", - "storage": { - "prefix": "Slots", - "entries": [ - { - "name": "Leases", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 681 - } - }, - "default": [0], - "docs": [ - " Amounts held on deposit for each (possibly future) leased parachain.", - "", - " 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 parachain no longer exists (or never", - " existed) as far as this pallet is concerned.", - "", - " If a parachain 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": { - "ty": 436 - }, - "event": { - "ty": 113 - }, - "constants": [ - { - "name": "LeasePeriod", - "ty": 4, - "value": [64, 56, 0, 0], - "docs": [ - " The number of blocks over which a single period lasts." - ] - }, - { - "name": "LeaseOffset", - "ty": 4, - "value": [0, 0, 0, 0], - "docs": [" The number of blocks to offset each lease period by."] - } - ], - "error": { - "ty": 682 - }, - "index": 71, - "docs": [] - }, - { - "name": "Auctions", - "storage": { - "prefix": "Auctions", - "entries": [ - { - "name": "AuctionCounter", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [" Number of auctions started so far."] - }, - { - "name": "AuctionInfo", - "modifier": "Optional", - "ty": { - "Plain": 73 - }, - "default": [0], - "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", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 683, - "value": 6 - } - }, - "default": [0], - "docs": [ - " Amounts currently reserved in the accounts of the bidders currently winning", - " (sub-)ranges." - ] - }, - { - "name": "Winning", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 4, - "value": 684 - } - }, - "default": [0], - "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": { - "ty": 437 - }, - "event": { - "ty": 114 - }, - "constants": [ - { - "name": "EndingPeriod", - "ty": 4, - "value": [64, 25, 1, 0], - "docs": [ - " The number of blocks over which an auction may be retroactively ended." - ] - }, - { - "name": "SampleLength", - "ty": 4, - "value": [20, 0, 0, 0], - "docs": [ - " The length of each sample to take during the ending period.", - "", - " `EndingPeriod` / `SampleLength` = Total # of Samples" - ] - }, - { - "name": "SlotRangeCount", - "ty": 4, - "value": [36, 0, 0, 0], - "docs": [] - }, - { - "name": "LeasePeriodsPerSlot", - "ty": 4, - "value": [8, 0, 0, 0], - "docs": [] - } - ], - "error": { - "ty": 687 - }, - "index": 72, - "docs": [] - }, - { - "name": "Crowdloan", - "storage": { - "prefix": "Crowdloan", - "entries": [ - { - "name": "Funds", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 688 - } - }, - "default": [0], - "docs": [" Info on all of the funds."] - }, - { - "name": "NewRaise", - "modifier": "Default", - "ty": { - "Plain": 632 - }, - "default": [0], - "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", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [ - " The number of auctions that have entered into their ending period so far." - ] - }, - { - "name": "NextFundIndex", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [" Tracker for the next available fund index"] - } - ] - }, - "calls": { - "ty": 439 - }, - "event": { - "ty": 115 - }, - "constants": [ - { - "name": "PalletId", - "ty": 508, - "value": [112, 121, 47, 99, 102, 117, 110, 100], - "docs": [ - " `PalletId` for the crowdloan pallet. An appropriate value could be", - " `PalletId(*b\"py/cfund\")`" - ] - }, - { - "name": "MinContribution", - "ty": 6, - "value": [24, 228, 118, 72, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " The minimum amount that may be contributed into a crowdloan. Should almost certainly be", - " at least `ExistentialDeposit`." - ] - }, - { - "name": "RemoveKeysLimit", - "ty": 4, - "value": [232, 3, 0, 0], - "docs": [ - " Max number of storage keys to remove per extrinsic call." - ] - } - ], - "error": { - "ty": 690 - }, - "index": 73, - "docs": [] - }, - { - "name": "XcmPallet", - "storage": { - "prefix": "XcmPallet", - "entries": [ - { - "name": "QueryCounter", - "modifier": "Default", - "ty": { - "Plain": 11 - }, - "default": [0, 0, 0, 0, 0, 0, 0, 0], - "docs": [" The latest available query index."] - }, - { - "name": "Queries", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Blake2_128Concat"], - "key": 11, - "value": 691 - } - }, - "default": [0], - "docs": [" The ongoing queries."] - }, - { - "name": "AssetTraps", - "modifier": "Default", - "ty": { - "Map": { - "hashers": ["Identity"], - "key": 12, - "value": 4 - } - }, - "default": [0, 0, 0, 0], - "docs": [ - " The existing asset traps.", - "", - " Key is the blake2 256 hash of (origin, versioned `MultiAssets`) pair. Value is the number of", - " times this pair has been trapped (usually just 1 if it exists at all)." - ] - }, - { - "name": "SafeXcmVersion", - "modifier": "Optional", - "ty": { - "Plain": 4 - }, - "default": [0], - "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", - "ty": { - "Map": { - "hashers": ["Twox64Concat", "Blake2_128Concat"], - "key": 696, - "value": 4 - } - }, - "default": [0], - "docs": [ - " The Latest versions that we know various locations support." - ] - }, - { - "name": "VersionNotifiers", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat", "Blake2_128Concat"], - "key": 696, - "value": 11 - } - }, - "default": [0], - "docs": [ - " All locations that we have requested version notifications from." - ] - }, - { - "name": "VersionNotifyTargets", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat", "Blake2_128Concat"], - "key": 696, - "value": 697 - } - }, - "default": [0], - "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", - "ty": { - "Plain": 698 - }, - "default": [0], - "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", - "ty": { - "Plain": 701 - }, - "default": [0], - "docs": [" The current migration's stage, if any."] - }, - { - "name": "RemoteLockedFungibles", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": [ - "Twox64Concat", - "Blake2_128Concat", - "Blake2_128Concat" - ], - "key": 703, - "value": 705 - } - }, - "default": [0], - "docs": [ - " Fungible assets which we know are locked on a remote chain." - ] - }, - { - "name": "LockedFungibles", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Blake2_128Concat"], - "key": 0, - "value": 709 - } - }, - "default": [0], - "docs": [ - " Fungible assets which we know are locked on this chain." - ] - }, - { - "name": "XcmExecutionSuspended", - "modifier": "Default", - "ty": { - "Plain": 54 - }, - "default": [0], - "docs": [" Global suspension state of the XCM executor."] - } - ] - }, - "calls": { - "ty": 444 - }, - "event": { - "ty": 116 - }, - "constants": [], - "error": { - "ty": 712 - }, - "index": 99, - "docs": [] - }, - { - "name": "ParasSudoWrapper", - "storage": null, - "calls": { - "ty": 465 - }, - "event": null, - "constants": [], - "error": { - "ty": 713 - }, - "index": 250, - "docs": [] - }, - { - "name": "AssignedSlots", - "storage": { - "prefix": "AssignedSlots", - "entries": [ - { - "name": "PermanentSlots", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 73 - } - }, - "default": [0], - "docs": [ - " Assigned permanent slots, with their start lease period, and duration." - ] - }, - { - "name": "PermanentSlotCount", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [" Number of assigned (and active) permanent slots."] - }, - { - "name": "TemporarySlots", - "modifier": "Optional", - "ty": { - "Map": { - "hashers": ["Twox64Concat"], - "key": 90, - "value": 714 - } - }, - "default": [0], - "docs": [" Assigned temporary slots."] - }, - { - "name": "TemporarySlotCount", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [" Number of assigned temporary slots."] - }, - { - "name": "ActiveTemporarySlotCount", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [ - " Number of active temporary slots in current slot lease period." - ] - }, - { - "name": "MaxTemporarySlots", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [ - " The max number of temporary slots that can be assigned." - ] - }, - { - "name": "MaxPermanentSlots", - "modifier": "Default", - "ty": { - "Plain": 4 - }, - "default": [0, 0, 0, 0], - "docs": [ - " The max number of permanent slots that can be assigned." - ] - } - ] - }, - "calls": { - "ty": 467 - }, - "event": { - "ty": 170 - }, - "constants": [ - { - "name": "PermanentSlotLeasePeriodLength", - "ty": 4, - "value": [109, 1, 0, 0], - "docs": [ - " The number of lease periods a permanent parachain slot lasts." - ] - }, - { - "name": "TemporarySlotLeasePeriodLength", - "ty": 4, - "value": [5, 0, 0, 0], - "docs": [ - " The number of lease periods a temporary parachain slot lasts." - ] - }, - { - "name": "MaxTemporarySlotPerLeasePeriod", - "ty": 4, - "value": [5, 0, 0, 0], - "docs": [ - " The max number of temporary slots to be scheduled per lease periods." - ] - } - ], - "error": { - "ty": 715 - }, - "index": 251, - "docs": [] - }, - { - "name": "ValidatorManager", - "storage": { - "prefix": "ValidatorManager", - "entries": [ - { - "name": "ValidatorsToRetire", - "modifier": "Default", - "ty": { - "Plain": 68 - }, - "default": [0], - "docs": [ - " Validators that should be retired, because their Parachain was deregistered." - ] - }, - { - "name": "ValidatorsToAdd", - "modifier": "Default", - "ty": { - "Plain": 68 - }, - "default": [0], - "docs": [" Validators that should be added."] - } - ] - }, - "calls": { - "ty": 469 - }, - "event": { - "ty": 171 - }, - "constants": [], - "error": null, - "index": 252, - "docs": [] - }, - { - "name": "StateTrieMigration", - "storage": { - "prefix": "StateTrieMigration", - "entries": [ - { - "name": "MigrationProcess", - "modifier": "Default", - "ty": { - "Plain": 473 - }, - "default": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "docs": [ - " Migration progress.", - "", - " This stores the snapshot of the last migrated keys. It can be set into motion and move", - " forward by any of the means provided by this pallet." - ] - }, - { - "name": "AutoLimits", - "modifier": "Default", - "ty": { - "Plain": 471 - }, - "default": [0], - "docs": [ - " The limits that are imposed on automatic migrations.", - "", - " If set to None, then no automatic migration happens." - ] - }, - { - "name": "SignedMigrationMaxLimits", - "modifier": "Optional", - "ty": { - "Plain": 472 - }, - "default": [0], - "docs": [ - " The maximum limits that the signed migration could use.", - "", - " If not set, no signed submission is allowed." - ] - } - ] - }, - "calls": { - "ty": 470 - }, - "event": { - "ty": 172 - }, - "constants": [ - { - "name": "MaxKeyLen", - "ty": 4, - "value": [0, 2, 0, 0], - "docs": [ - " Maximal number of bytes that a key can have.", - "", - " FRAME itself does not limit the key length.", - " The concrete value must therefore depend on your storage usage.", - " A [`frame_support::storage::StorageNMap`] for example can have an arbitrary number of", - " keys which are then hashed and concatenated, resulting in arbitrarily long keys.", - "", - " Use the *state migration RPC* to retrieve the length of the longest key in your", - " storage: ", - "", - " The migration will halt with a `Halted` event if this value is too small.", - " Since there is no real penalty from over-estimating, it is advised to use a large", - " value. The default is 512 byte.", - "", - " Some key lengths for reference:", - " - [`frame_support::storage::StorageValue`]: 32 byte", - " - [`frame_support::storage::StorageMap`]: 64 byte", - " - [`frame_support::storage::StorageDoubleMap`]: 96 byte", - "", - " For more info see", - " " - ] - } - ], - "error": { - "ty": 174 - }, - "index": 254, - "docs": [] - }, - { - "name": "Sudo", - "storage": { - "prefix": "Sudo", - "entries": [ - { - "name": "Key", - "modifier": "Optional", - "ty": { - "Plain": 0 - }, - "default": [0], - "docs": [" The `AccountId` of the sudo key."] - } - ] - }, - "calls": { - "ty": 476 - }, - "event": { - "ty": 175 - }, - "constants": [], - "error": { - "ty": 716 - }, - "index": 255, - "docs": [] - } - ], - "extrinsic": { - "version": 4, - "address_ty": 226, - "call_ty": 305, - "signature_ty": 443, - "extra_ty": 717, - "signed_extensions": [ - { - "identifier": "CheckNonZeroSender", - "ty": 718, - "additional_signed": 47 - }, - { - "identifier": "CheckSpecVersion", - "ty": 719, - "additional_signed": 4 - }, - { - "identifier": "CheckTxVersion", - "ty": 720, - "additional_signed": 4 - }, - { - "identifier": "CheckGenesis", - "ty": 721, - "additional_signed": 12 - }, - { - "identifier": "CheckMortality", - "ty": 722, - "additional_signed": 12 - }, - { - "identifier": "CheckNonce", - "ty": 724, - "additional_signed": 47 - }, - { - "identifier": "CheckWeight", - "ty": 725, - "additional_signed": 47 - }, - { - "identifier": "ChargeTransactionPayment", - "ty": 726, - "additional_signed": 47 - } - ] - }, - "ty": 727, - "apis": [ - { - "name": "Core", - "methods": [ - { - "name": "version", - "inputs": [], - "output": 193, - "docs": [" Returns the version of the runtime."] - }, - { - "name": "execute_block", - "inputs": [ - { - "name": "block", - "ty": 728 - } - ], - "output": 47, - "docs": [" Execute the given block."] - }, - { - "name": "initialize_block", - "inputs": [ - { - "name": "header", - "ty": 220 - } - ], - "output": 47, - "docs": [" Initialize a block with the given header."] - } - ], - "docs": [ - " The `Core` runtime api that every Substrate runtime needs to implement." - ] - }, - { - "name": "Metadata", - "methods": [ - { - "name": "metadata", - "inputs": [], - "output": 731, - "docs": [" Returns the metadata of a runtime."] - }, - { - "name": "metadata_at_version", - "inputs": [ - { - "name": "version", - "ty": 4 - } - ], - "output": 732, - "docs": [ - " Returns the metadata at a given version.", - "", - " If the given `version` isn't supported, this will return `None`.", - " Use [`Self::metadata_versions`] to find out about supported metadata version of the runtime." - ] - }, - { - "name": "metadata_versions", - "inputs": [], - "output": 275, - "docs": [ - " Returns the supported metadata versions.", - "", - " This can be used to call `metadata_at_version`." - ] - } - ], - "docs": [ - " The `Metadata` api trait that returns metadata for the runtime." - ] - }, - { - "name": "BlockBuilder", - "methods": [ - { - "name": "apply_extrinsic", - "inputs": [ - { - "name": "extrinsic", - "ty": 729 - } - ], - "output": 733, - "docs": [ - " Apply the given extrinsic.", - "", - " Returns an inclusion outcome which specifies if this extrinsic is included in", - " this block or not." - ] - }, - { - "name": "finalize_block", - "inputs": [], - "output": 220, - "docs": [" Finish the current block."] - }, - { - "name": "inherent_extrinsics", - "inputs": [ - { - "name": "inherent", - "ty": 737 - } - ], - "output": 730, - "docs": [ - " Generate inherent extrinsics. The inherent data will vary from chain to chain." - ] - }, - { - "name": "check_inherents", - "inputs": [ - { - "name": "block", - "ty": 728 - }, - { - "name": "data", - "ty": 737 - } - ], - "output": 741, - "docs": [ - " Check that the inherents are valid. The inherent data will vary from chain to chain." - ] - } - ], - "docs": [ - " The `BlockBuilder` api trait that provides the required functionality for building a block." - ] - }, - { - "name": "TaggedTransactionQueue", - "methods": [ - { - "name": "validate_transaction", - "inputs": [ - { - "name": "source", - "ty": 742 - }, - { - "name": "tx", - "ty": 729 - }, - { - "name": "block_hash", - "ty": 12 - } - ], - "output": 743, - "docs": [ - " Validate the transaction.", - "", - " This method is invoked by the transaction pool to learn details about given transaction.", - " The implementation should make sure to verify the correctness of the transaction", - " against current state. The given `block_hash` corresponds to the hash of the block", - " that is used as current state.", - "", - " Note that this call may be performed by the pool multiple times and transactions", - " might be verified in any possible order." - ] - } - ], - "docs": [ - " The `TaggedTransactionQueue` api trait for interfering with the transaction queue." - ] - }, - { - "name": "OffchainWorkerApi", - "methods": [ - { - "name": "offchain_worker", - "inputs": [ - { - "name": "header", - "ty": 220 - } - ], - "output": 47, - "docs": [" Starts the off-chain task for given block header."] - } - ], - "docs": [" The offchain worker api."] - }, - { - "name": "ParachainHost", - "methods": [ - { - "name": "validators", - "inputs": [], - "output": 605, - "docs": [" Get the current validators."] - }, - { - "name": "validator_groups", - "inputs": [], - "output": 745, - "docs": [ - " Returns the validator groups and rotation info localized based on the hypothetical child", - " of a block whose state this is invoked on. Note that `now` in the `GroupRotationInfo`", - " should be the successor of the number of the block." - ] - }, - { - "name": "availability_cores", - "inputs": [], - "output": 747, - "docs": [ - " Yields information on all availability cores as relevant to the child block.", - " Cores are either free or occupied. Free cores can have paras assigned to them." - ] - }, - { - "name": "persisted_validation_data", - "inputs": [ - { - "name": "para_id", - "ty": 90 - }, - { - "name": "assumption", - "ty": 753 - } - ], - "output": 754, - "docs": [ - " Yields the persisted validation data for the given `ParaId` along with an assumption that", - " should be used if the para currently occupies a core.", - "", - " Returns `None` if either the para is not registered or the assumption is `Freed`", - " and the para already occupies a core." - ] - }, - { - "name": "assumed_validation_data", - "inputs": [ - { - "name": "para_id", - "ty": 90 - }, - { - "name": "expected_persisted_validation_data_hash", - "ty": 12 - } - ], - "output": 756, - "docs": [ - " Returns the persisted validation data for the given `ParaId` along with the corresponding", - " validation code hash. Instead of accepting assumption about the para, matches the validation", - " data hash against an expected one and yields `None` if they're not equal." - ] - }, - { - "name": "check_validation_outputs", - "inputs": [ - { - "name": "para_id", - "ty": 90 - }, - { - "name": "outputs", - "ty": 408 - } - ], - "output": 54, - "docs": [ - " Checks if the given validation outputs pass the acceptance criteria." - ] - }, - { - "name": "session_index_for_child", - "inputs": [], - "output": 4, - "docs": [ - " Returns the session index expected at a child of the block.", - "", - " This can be used to instantiate a `SigningContext`." - ] - }, - { - "name": "validation_code", - "inputs": [ - { - "name": "para_id", - "ty": 90 - }, - { - "name": "assumption", - "ty": 753 - } - ], - "output": 413, - "docs": [ - " Fetch the validation code used by a para, making the given `OccupiedCoreAssumption`.", - "", - " Returns `None` if either the para is not registered or the assumption is `Freed`", - " and the para already occupies a core." - ] - }, - { - "name": "candidate_pending_availability", - "inputs": [ - { - "name": "para_id", - "ty": 90 - } - ], - "output": 758, - "docs": [ - " Get the receipt of a candidate pending availability. This returns `Some` for any paras", - " assigned to occupied cores in `availability_cores` and `None` otherwise." - ] - }, - { - "name": "candidate_events", - "inputs": [], - "output": 759, - "docs": [ - " Get a vector of events concerning candidates that occurred within a block." - ] - }, - { - "name": "dmq_contents", - "inputs": [ - { - "name": "recipient", - "ty": 90 - } - ], - "output": 644, - "docs": [ - " Get all the pending inbound messages in the downward message queue for a para." - ] - }, - { - "name": "inbound_hrmp_channels_contents", - "inputs": [ - { - "name": "recipient", - "ty": 90 - } - ], - "output": 761, - "docs": [ - " Get the contents of all channels addressed to the given recipient. Channels that have no", - " messages in them are also included." - ] - }, - { - "name": "validation_code_by_hash", - "inputs": [ - { - "name": "hash", - "ty": 95 - } - ], - "output": 413, - "docs": [" Get the validation code from its hash."] - }, - { - "name": "on_chain_votes", - "inputs": [], - "output": 764, - "docs": [ - " Scrape dispute relevant from on-chain, backing votes and resolved disputes." - ] - }, - { - "name": "session_info", - "inputs": [ - { - "name": "index", - "ty": 4 - } - ], - "output": 765, - "docs": [ - " Get the session info for the given session, if stored.", - "", - " NOTE: This function is only available since parachain host version 2." - ] - }, - { - "name": "submit_pvf_check_statement", - "inputs": [ - { - "name": "stmt", - "ty": 425 - }, - { - "name": "signature", - "ty": 404 - } - ], - "output": 47, - "docs": [ - " Submits a PVF pre-checking statement into the transaction pool.", - "", - " NOTE: This function is only available since parachain host version 2." - ] - }, - { - "name": "pvfs_require_precheck", - "inputs": [], - "output": 631, - "docs": [ - " Returns code hashes of PVFs that require pre-checking by validators in the active set.", - "", - " NOTE: This function is only available since parachain host version 2." - ] - }, - { - "name": "validation_code_hash", - "inputs": [ - { - "name": "para_id", - "ty": 90 - }, - { - "name": "assumption", - "ty": 753 - } - ], - "output": 766, - "docs": [ - " Fetch the hash of the validation code used by a para, making the given `OccupiedCoreAssumption`.", - "", - " NOTE: This function is only available since parachain host version 2." - ] - }, - { - "name": "disputes", - "inputs": [], - "output": 767, - "docs": [" Returns all onchain disputes."] - }, - { - "name": "session_executor_params", - "inputs": [ - { - "name": "session_index", - "ty": 4 - } - ], - "output": 769, - "docs": [" Returns execution parameters for the session."] - }, - { - "name": "unapplied_slashes", - "inputs": [], - "output": 770, - "docs": [ - " Returns a list of validators that lost a past session dispute and need to be slashed.", - " NOTE: This function is only available since parachain host version 5." - ] - }, - { - "name": "key_ownership_proof", - "inputs": [ - { - "name": "validator_id", - "ty": 272 - } - ], - "output": 772, - "docs": [ - " Returns a merkle proof of a validator session key.", - " NOTE: This function is only available since parachain host version 5." - ] - }, - { - "name": "submit_report_dispute_lost", - "inputs": [ - { - "name": "dispute_proof", - "ty": 430 - }, - { - "name": "key_ownership_proof", - "ty": 773 - } - ], - "output": 774, - "docs": [ - " Submit an unsigned extrinsic to slash validators who lost a dispute about", - " a candidate of a past session.", - " NOTE: This function is only available since parachain host version 5." - ] - }, - { - "name": "minimum_backing_votes", - "inputs": [], - "output": 4, - "docs": [ - " Get the minimum number of backing votes for a parachain candidate.", - " This is a staging method! Do not use on production runtimes!" - ] - }, - { - "name": "staging_para_backing_state", - "inputs": [ - { - "name": "_", - "ty": 90 - } - ], - "output": 775, - "docs": [ - " Returns the state of parachain backing for a given para.", - " This is a staging method! Do not use on production runtimes!" - ] - }, - { - "name": "staging_async_backing_params", - "inputs": [], - "output": 387, - "docs": [ - " Returns candidate's acceptance limitations for asynchronous backing for a relay parent." - ] - } - ], - "docs": [" The API for querying the state of parachains on-chain."] - }, - { - "name": "BeefyApi", - "methods": [ - { - "name": "beefy_genesis", - "inputs": [], - "output": 255, - "docs": [ - " Return the block number where BEEFY consensus is enabled/started" - ] - }, - { - "name": "validator_set", - "inputs": [], - "output": 787, - "docs": [" Return the current active BEEFY validator set"] - }, - { - "name": "submit_report_equivocation_unsigned_extrinsic", - "inputs": [ - { - "name": "equivocation_proof", - "ty": 257 - }, - { - "name": "key_owner_proof", - "ty": 789 - } - ], - "output": 774, - "docs": [ - " Submits an unsigned extrinsic to report an equivocation. The caller", - " must provide the equivocation proof and a key ownership proof", - " (should be obtained using `generate_key_ownership_proof`). The", - " extrinsic will be unsigned and should only be accepted for local", - " authorship (not to be broadcast to the network). This method returns", - " `None` when creation of the extrinsic fails, e.g. if equivocation", - " reporting is disabled for the given runtime (i.e. this method is", - " hardcoded to return `None`). Only useful in an offchain context." - ] - }, - { - "name": "generate_key_ownership_proof", - "inputs": [ - { - "name": "set_id", - "ty": 11 - }, - { - "name": "authority_id", - "ty": 251 - } - ], - "output": 790, - "docs": [ - " Generates a proof of key ownership for the given authority in the", - " given set. An example usage of this module is coupled with the", - " session historical module to prove that a given authority key is", - " tied to a given staking identity during a specific session. Proofs", - " of key ownership are necessary for submitting equivocation reports.", - " NOTE: even though the API takes a `set_id` as parameter the current", - " implementations ignores this parameter and instead relies on this", - " method being called at the correct block height, i.e. any point at", - " which the given set id is live on-chain. Future implementations will", - " instead use indexed data through an offchain worker, not requiring", - " older states to be available." - ] - } - ], - "docs": [" API necessary for BEEFY voters."] - }, - { - "name": "MmrApi", - "methods": [ - { - "name": "mmr_root", - "inputs": [], - "output": 791, - "docs": [" Return the on-chain MMR root hash."] - }, - { - "name": "mmr_leaf_count", - "inputs": [], - "output": 793, - "docs": [" Return the number of MMR blocks in the chain."] - }, - { - "name": "generate_proof", - "inputs": [ - { - "name": "block_numbers", - "ty": 275 - }, - { - "name": "best_known_block_number", - "ty": 255 - } - ], - "output": 794, - "docs": [ - " Generate MMR proof for a series of block numbers. If `best_known_block_number = Some(n)`,", - " use historical MMR state at given block height `n`. Else, use current MMR state." - ] - }, - { - "name": "verify_proof", - "inputs": [ - { - "name": "leaves", - "ty": 796 - }, - { - "name": "proof", - "ty": 798 - } - ], - "output": 800, - "docs": [ - " Verify MMR proof against on-chain MMR for a batch of leaves.", - "", - " Note this function will use on-chain MMR root hash and check if the proof matches the hash.", - " Note, the leaves should be sorted such that corresponding leaves and leaf indices have the", - " same position in both the `leaves` vector and the `leaf_indices` vector contained in the [Proof]" - ] - }, - { - "name": "verify_proof_stateless", - "inputs": [ - { - "name": "root", - "ty": 12 - }, - { - "name": "leaves", - "ty": 796 - }, - { - "name": "proof", - "ty": 798 - } - ], - "output": 800, - "docs": [ - " Verify MMR proof against given root hash for a batch of leaves.", - "", - " Note this function does not require any on-chain storage - the", - " proof is verified against given MMR root hash.", - "", - " Note, the leaves should be sorted such that corresponding leaves and leaf indices have the", - " same position in both the `leaves` vector and the `leaf_indices` vector contained in the [Proof]" - ] - } - ], - "docs": [" API to interact with MMR pallet."] - }, - { - "name": "GrandpaApi", - "methods": [ - { - "name": "grandpa_authorities", - "inputs": [], - "output": 38, - "docs": [ - " Get the current GRANDPA authorities and weights. This should not change except", - " for when changes are scheduled and the corresponding delay has passed.", - "", - " When called at block B, it will return the set of authorities that should be", - " used to finalize descendants of this block (B+1, B+2, ...). The block B itself", - " is finalized by the authorities from block B-1." - ] - }, - { - "name": "submit_report_equivocation_unsigned_extrinsic", - "inputs": [ - { - "name": "equivocation_proof", - "ty": 284 - }, - { - "name": "key_owner_proof", - "ty": 801 - } - ], - "output": 774, - "docs": [ - " Submits an unsigned extrinsic to report an equivocation. The caller", - " must provide the equivocation proof and a key ownership proof", - " (should be obtained using `generate_key_ownership_proof`). The", - " extrinsic will be unsigned and should only be accepted for local", - " authorship (not to be broadcast to the network). This method returns", - " `None` when creation of the extrinsic fails, e.g. if equivocation", - " reporting is disabled for the given runtime (i.e. this method is", - " hardcoded to return `None`). Only useful in an offchain context." - ] - }, - { - "name": "generate_key_ownership_proof", - "inputs": [ - { - "name": "set_id", - "ty": 11 - }, - { - "name": "authority_id", - "ty": 40 - } - ], - "output": 802, - "docs": [ - " Generates a proof of key ownership for the given authority in the", - " given set. An example usage of this module is coupled with the", - " session historical module to prove that a given authority key is", - " tied to a given staking identity during a specific session. Proofs", - " of key ownership are necessary for submitting equivocation reports.", - " NOTE: even though the API takes a `set_id` as parameter the current", - " implementations ignore this parameter and instead rely on this", - " method being called at the correct block height, i.e. any point at", - " which the given set id is live on-chain. Future implementations will", - " instead use indexed data through an offchain worker, not requiring", - " older states to be available." - ] - }, - { - "name": "current_set_id", - "inputs": [], - "output": 11, - "docs": [" Get current GRANDPA authority set id."] - } - ], - "docs": [ - " APIs for integrating the GRANDPA finality gadget into runtimes.", - " This should be implemented on the runtime side.", - "", - " This is primarily used for negotiating authority-set changes for the", - " gadget. GRANDPA uses a signaling model of changing authority sets:", - " changes should be signaled with a delay of N blocks, and then automatically", - " applied in the runtime after those N blocks have passed.", - "", - " The consensus protocol will coordinate the handoff externally." - ] - }, - { - "name": "BabeApi", - "methods": [ - { - "name": "configuration", - "inputs": [], - "output": 803, - "docs": [" Return the configuration for BABE."] - }, - { - "name": "current_epoch_start", - "inputs": [], - "output": 202, - "docs": [" Returns the slot that started the current epoch."] - }, - { - "name": "current_epoch", - "inputs": [], - "output": 804, - "docs": [" Returns information regarding the current epoch."] - }, - { - "name": "next_epoch", - "inputs": [], - "output": 804, - "docs": [ - " Returns information regarding the next epoch (which was already", - " previously announced)." - ] - }, - { - "name": "generate_key_ownership_proof", - "inputs": [ - { - "name": "slot", - "ty": 202 - }, - { - "name": "authority_id", - "ty": 200 - } - ], - "output": 805, - "docs": [ - " Generates a proof of key ownership for the given authority in the", - " current epoch. An example usage of this module is coupled with the", - " session historical module to prove that a given authority key is", - " tied to a given staking identity during a specific session. Proofs", - " of key ownership are necessary for submitting equivocation reports.", - " NOTE: even though the API takes a `slot` as parameter the current", - " implementations ignores this parameter and instead relies on this", - " method being called at the correct block height, i.e. any point at", - " which the epoch for the given slot is live on-chain. Future", - " implementations will instead use indexed data through an offchain", - " worker, not requiring older states to be available." - ] - }, - { - "name": "submit_report_equivocation_unsigned_extrinsic", - "inputs": [ - { - "name": "equivocation_proof", - "ty": 219 - }, - { - "name": "key_owner_proof", - "ty": 806 - } - ], - "output": 774, - "docs": [ - " Submits an unsigned extrinsic to report an equivocation. The caller", - " must provide the equivocation proof and a key ownership proof", - " (should be obtained using `generate_key_ownership_proof`). The", - " extrinsic will be unsigned and should only be accepted for local", - " authorship (not to be broadcast to the network). This method returns", - " `None` when creation of the extrinsic fails, e.g. if equivocation", - " reporting is disabled for the given runtime (i.e. this method is", - " hardcoded to return `None`). Only useful in an offchain context." - ] - } - ], - "docs": [" API necessary for block authorship with BABE."] - }, - { - "name": "AuthorityDiscoveryApi", - "methods": [ - { - "name": "authorities", - "inputs": [], - "output": 657, - "docs": [ - " Retrieve authority identifiers of the current and next authority set." - ] - } - ], - "docs": [ - " The authority discovery api.", - "", - " This api is used by the `client/authority-discovery` module to retrieve identifiers", - " of the current and next authority set." - ] - }, - { - "name": "SessionKeys", - "methods": [ - { - "name": "generate_session_keys", - "inputs": [ - { - "name": "seed", - "ty": 702 - } - ], - "output": 13, - "docs": [ - " Generate a set of session keys with optionally using the given seed.", - " The keys should be stored within the keystore exposed via runtime", - " externalities.", - "", - " The seed needs to be a valid `utf8` string.", - "", - " Returns the concatenated SCALE encoded public keys." - ] - }, - { - "name": "decode_session_keys", - "inputs": [ - { - "name": "encoded", - "ty": 13 - } - ], - "output": 807, - "docs": [ - " Decode the given public session keys.", - "", - " Returns the list of public raw public keys + key type." - ] - } - ], - "docs": [" Session keys runtime api."] - }, - { - "name": "AccountNonceApi", - "methods": [ - { - "name": "account_nonce", - "inputs": [ - { - "name": "account", - "ty": 0 - } - ], - "output": 4, - "docs": [" Get current account nonce of given `AccountId`."] - } - ], - "docs": [" The API to query account nonce."] - }, - { - "name": "TransactionPaymentApi", - "methods": [ - { - "name": "query_info", - "inputs": [ - { - "name": "uxt", - "ty": 729 - }, - { - "name": "len", - "ty": 4 - } - ], - "output": 810, - "docs": [] - }, - { - "name": "query_fee_details", - "inputs": [ - { - "name": "uxt", - "ty": 729 - }, - { - "name": "len", - "ty": 4 - } - ], - "output": 811, - "docs": [] - }, - { - "name": "query_weight_to_fee", - "inputs": [ - { - "name": "weight", - "ty": 9 - } - ], - "output": 6, - "docs": [] - }, - { - "name": "query_length_to_fee", - "inputs": [ - { - "name": "length", - "ty": 4 - } - ], - "output": 6, - "docs": [] - } - ], - "docs": [] - }, - { - "name": "BeefyMmrApi", - "methods": [ - { - "name": "authority_set_proof", - "inputs": [], - "output": 268, - "docs": [ - " Return the currently active BEEFY authority set proof." - ] - }, - { - "name": "next_authority_set_proof", - "inputs": [], - "output": 268, - "docs": [" Return the next/queued BEEFY authority set proof."] - } - ], - "docs": [" API useful for BEEFY light clients."] - } - ], - "outer_enums": { - "call_enum_ty": 305, - "event_enum_ty": 20, - "error_enum_ty": 814 - }, - "custom": { - "map": {} - } - } - } -] diff --git a/artifacts/polkadot_metadata.scale b/artifacts/polkadot_metadata.scale new file mode 100644 index 0000000..e49aa00 Binary files /dev/null and b/artifacts/polkadot_metadata.scale differ diff --git a/description/Cargo.toml b/description/Cargo.toml index 933526a..1e7abe5 100644 --- a/description/Cargo.toml +++ b/description/Cargo.toml @@ -10,29 +10,24 @@ edition = "2021" [features] default = ["type-example"] -type-example = [ - "dep:scale-value", - "dep:proc-macro2", - "dep:rand_chacha", - "dep:rand", -] +type-example = ["scale-value", "proc-macro2", "rand_chacha", "rand", "quote", "scale-typegen"] [dependencies] anyhow = { workspace = true } -peekmore = "1.3.0" +peekmore = { workspace = true } smallvec = { workspace = true } scale-info = { workspace = true } -scale-value = { version = "0.13.0", optional = true } -proc-macro2 = { version = "1.0.69", optional = true } -rand_chacha = { version = "0.3.1", optional = true } -rand = { version = "0.8.5", optional = true } - -scale-typegen = { workspace = true } -quote.workspace = true - +#dependencies for "type-example" feature: +scale-value = { workspace = true, optional = true } +proc-macro2 = { workspace = true, optional = true } +rand_chacha = { workspace = true, optional = true } +rand = { workspace = true, optional = true } +scale-typegen = { workspace = true, optional = true } +quote = { workspace = true, optional = true } [dev-dependencies] indoc = "2" pretty_assertions = { workspace = true } parity-scale-codec = { workspace = true } +syn = { workspace = true } diff --git a/description/src/description.rs b/description/src/description.rs index 67464e7..ae895f4 100644 --- a/description/src/description.rs +++ b/description/src/description.rs @@ -1,34 +1,57 @@ -use anyhow::anyhow; use scale_info::{ - form::PortableForm, Field, PortableRegistry, Type, TypeDef, TypeDefArray, TypeDefBitSequence, - TypeDefCompact, TypeDefPrimitive, TypeDefSequence, TypeDefTuple, TypeDefVariant, Variant, + form::PortableForm, Field, PortableRegistry, Type, TypeDef, TypeDefPrimitive, TypeDefTuple, + TypeDefVariant, Variant, }; use crate::transformer::Transformer; use super::formatting::format_type_description; -pub fn type_description(type_id: u32, type_registry: &PortableRegistry) -> anyhow::Result { - fn return_type_name_on_recurse( +/// Describes the type that is registered under the given `type_id`. This type description +/// is supposed to be very close to actual rust types, with some minar differences: +/// - The `struct` keyword is omitted. So the description of `struct Human { age: u8 }` is just `Human { age: u8 }`. +/// - Types are presented in a nested fashion, similar to how structures can be defined in e.g. the C programming language. +/// +/// If the `format` flag is enabled, the end result is formatted across multiple lines. Otherwise the description will be one single line string. +pub fn type_description( + type_id: u32, + type_registry: &PortableRegistry, + format: bool, +) -> anyhow::Result { + fn return_type_name( _type_id: u32, ty: &Type, - _transformer: &Transformer, - ) -> anyhow::Result { - if let Some(type_name) = ty.path.ident() { - return Ok(type_name); + transformer: &Transformer, + ) -> Option> { + if ty.path.ident().is_some() { + return Some(Ok(type_name_with_type_params(ty, transformer.types()))); } - Err(anyhow!("Recursive type that did not get handled properly")) + None } + fn return_type_name_on_cache_hit( + _type_id: u32, + ty: &Type, + cached: &String, + transformer: &Transformer, + ) -> Option> { + if ty.path.ident().is_some() { + return Some(Ok(type_name_with_type_params(ty, transformer.types()))); + } + Some(Ok(cached.to_owned())) + } let transformer = Transformer::new( ty_description, - return_type_name_on_recurse, + return_type_name, + return_type_name_on_cache_hit, (), type_registry, ); - let description = transformer.resolve(type_id)?; - let formatted = format_type_description(&description); - Ok(formatted) + let mut description = transformer.resolve(type_id)?; + if format { + description = format_type_description(&description); + } + Ok(description) } fn ty_description( @@ -36,17 +59,78 @@ fn ty_description( ty: &Type, transformer: &Transformer, ) -> anyhow::Result { - let ident = ty.path.ident().unwrap_or_default(); - let prefix = type_def_prefix(&ty.type_def); - let type_def_description = type_def_type_description(&ty.type_def, transformer)?; - Ok(format!("{prefix}{ident}{type_def_description}")) -} + let name_and_params = if ty.path.ident().is_some() { + type_name_with_type_params(ty, transformer.types()) + } else { + String::new() + }; -/// todo: clean this up -fn type_def_prefix(type_def: &TypeDef) -> &str { - match type_def { + let prefix = match &ty.type_def { TypeDef::Variant(_) => "enum ", + TypeDef::Composite(_) => "struct ", _ => "", + }; + let type_def_description = type_def_type_description(&ty.type_def, transformer)?; + Ok(format!("{prefix}{name_and_params}{type_def_description}")) +} + +/// Can be None for types that have an empty path +fn type_name_with_type_params(ty: &Type, types: &PortableRegistry) -> String { + match &ty.type_def { + TypeDef::Sequence(s) => { + let inner = type_name_with_type_params(types.resolve(s.type_param.id).unwrap(), types); + return format!("Vec<{inner}>",); + } + TypeDef::Array(a) => { + let inner = type_name_with_type_params(types.resolve(a.type_param.id).unwrap(), types); + let len = a.len; + return format!("[{inner};{len}]",); + } + TypeDef::Tuple(t) => { + let mut output = "(".to_string(); + let mut iter = t.fields.iter().peekable(); + while let Some(ty) = iter.next() { + let type_name = type_name_with_type_params(types.resolve(ty.id).unwrap(), types); + output.push_str(&type_name); + if iter.peek().is_some() || t.fields.len() == 1 { + output.push(',') + } + } + output.push(')'); + return output; + } + TypeDef::Primitive(p) => return primitive_type_description(p).into(), + TypeDef::Compact(c) => { + let inner = type_name_with_type_params(types.resolve(c.type_param.id).unwrap(), types); + return format!("Compact<{inner}>",); + } + TypeDef::BitSequence(_) => return "BitSequence".into(), + TypeDef::Composite(_) => {} + TypeDef::Variant(_) => {} + } + + let Some(ident) = ty.path.ident() else { + return "_".to_string(); // this should happen rarely + }; + + let params = ty + .type_params + .iter() + .map(|e| { + let Some(ty) = e.ty.as_ref() else { + return "_".to_string(); + }; + + let ty = types.resolve(ty.id).unwrap(); + type_name_with_type_params(ty, types) + }) + .collect::>() + .join(","); + + if params.is_empty() { + ident.to_string() + } else { + format!("{ident}<{}>", params) } } @@ -56,15 +140,26 @@ fn type_def_type_description( ) -> anyhow::Result { match type_def { TypeDef::Composite(composite) => fields_type_description(&composite.fields, transformer), - TypeDef::Variant(variant) => variant_type_def_type_description(variant, transformer), - TypeDef::Sequence(sequence) => sequence_type_description(sequence, transformer), - TypeDef::Array(array) => array_type_description(array, transformer), + TypeDef::Sequence(sequence) => Ok(format!( + "Vec<{}>", + transformer.resolve(sequence.type_param.id)? + )), + TypeDef::Array(array) => Ok(format!( + "[{}; {}]", + transformer.resolve(array.type_param.id)?, + array.len + )), TypeDef::Tuple(tuple) => tuple_type_description(tuple, transformer), - TypeDef::Primitive(primitive) => primitive_type_description(primitive), - TypeDef::Compact(compact) => compact_type_description(compact, transformer), + TypeDef::Primitive(primitive) => Ok(primitive_type_description(primitive).into()), + TypeDef::Compact(compact) => Ok(format!( + "Compact<{}>", + transformer.resolve(compact.type_param.id)? + )), TypeDef::BitSequence(bit_sequence) => { - bit_sequence_type_description(bit_sequence, transformer) + let bit_order_type = transformer.resolve(bit_sequence.bit_order_type.id)?; + let bit_store_type = transformer.resolve(bit_sequence.bit_store_type.id)?; + Ok(format!("BitSequence({bit_order_type}, {bit_store_type})")) } } } @@ -75,10 +170,11 @@ fn tuple_type_description( ) -> anyhow::Result { let mut output = "(".to_string(); let mut iter = tuple.fields.iter().peekable(); + let field_count = tuple.fields.len(); while let Some(ty) = iter.next() { let type_description = transformer.resolve(ty.id)?; output.push_str(&type_description); - if iter.peek().is_some() { + if iter.peek().is_some() || field_count == 1 { output.push(',') } } @@ -86,42 +182,8 @@ fn tuple_type_description( Ok(output) } -fn bit_sequence_type_description( - bit_sequence: &TypeDefBitSequence, - transformer: &Transformer, -) -> anyhow::Result { - let bit_order_type = transformer.resolve(bit_sequence.bit_order_type.id)?; - let bit_store_type = transformer.resolve(bit_sequence.bit_store_type.id)?; - Ok(format!("BitSequence({bit_order_type}, {bit_store_type})")) -} - -fn sequence_type_description( - sequence: &TypeDefSequence, - transformer: &Transformer, -) -> anyhow::Result { - let type_description = transformer.resolve(sequence.type_param.id)?; - - Ok(format!("Vec<{type_description}>")) -} - -fn compact_type_description( - compact: &TypeDefCompact, - transformer: &Transformer, -) -> anyhow::Result { - let type_description = transformer.resolve(compact.type_param.id)?; - Ok(format!("Compact<{type_description}>")) -} - -fn array_type_description( - array: &TypeDefArray, - transformer: &Transformer, -) -> anyhow::Result { - let type_description = transformer.resolve(array.type_param.id)?; - Ok(format!("[{type_description}; {}]", array.len)) -} - -fn primitive_type_description(primitive: &TypeDefPrimitive) -> anyhow::Result { - Ok(match &primitive { +fn primitive_type_description(primitive: &TypeDefPrimitive) -> &'static str { + match &primitive { TypeDefPrimitive::Bool => "bool", TypeDefPrimitive::Char => "char", TypeDefPrimitive::Str => "String", @@ -138,7 +200,6 @@ fn primitive_type_description(primitive: &TypeDefPrimitive) -> anyhow::Result "i128", TypeDefPrimitive::I256 => "i256", } - .into()) } fn variant_type_def_type_description( @@ -167,10 +228,8 @@ fn variant_type_description( let fields_string = fields_type_description(&variant.fields, transformer)?; let output = if fields_string == "()" { variant.name.to_string() - } else if fields_string.starts_with('(') { - format!("{}{}", &variant.name, fields_string) } else { - format!("{} {}", &variant.name, fields_string) + format!("{}{}", &variant.name, fields_string) }; Ok(output) } @@ -215,7 +274,6 @@ fn field_type_description( transformer: &Transformer, ) -> anyhow::Result { let mut type_description = transformer.resolve(field.ty.id)?; - let is_boxed = field .type_name .as_ref() diff --git a/description/src/formatting.rs b/description/src/formatting.rs index 05565c3..c385617 100644 --- a/description/src/formatting.rs +++ b/description/src/formatting.rs @@ -3,6 +3,7 @@ use std::str::Chars; use peekmore::{PeekMore, PeekMoreIterator}; use smallvec::SmallVec; +/// Formats a type description string to have nice indents. pub fn format_type_description(input: &str) -> String { /// Big scope means we want to spread out items over multiple lines. /// Small scope means, we want to keep it compact (on one line). @@ -12,8 +13,10 @@ pub fn format_type_description(input: &str) -> String { Small, } - const SMALL_SCOPE_MAX_TOKENS: usize = 10; + const SMALL_SCOPE_MAX_TOKENS: usize = 32; /// should be called on the chars iterator shortly after open_token was encountered. + /// + /// scope should never be considered small if any curly braces are encountered inbetween. fn scope_is_small( chars: &mut PeekMoreIterator, open_token: char, @@ -34,6 +37,9 @@ pub fn format_type_description(input: &str) -> String { return true; } } + if *ch == '{' { + return false; + } } false } diff --git a/description/src/lib.rs b/description/src/lib.rs index 56c5edb..ff055bd 100644 --- a/description/src/lib.rs +++ b/description/src/lib.rs @@ -1,21 +1,55 @@ +// Copyright 2019-2022 Parity Technologies (UK) Ltd. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! A crate for turning a type from a [`scale_info::PortableRegistry`] into some other, fully resolved, tree-like representation. +//! Currently we can generate these representations for a type: +//! - A human readable description of the type via [`crate::type_description`]. +//! - An exemplary rust value of the type via [`crate::rust_value`]. +//! - An exemplary scale value of the type via [`crate::scale_value`]. + mod description; mod formatting; mod transformer; +#[cfg(feature = "type-example")] +pub use scale_typegen; + +/// Create type examples for a type registry. #[cfg(feature = "type-example")] pub mod type_example; +#[cfg(feature = "type-example")] +pub use type_example::{ + rust_value::{example as rust_value, example_from_seed as rust_value_from_seed}, + scale_value::{example as scale_value, example_from_seed as scale_value_from_seed}, +}; + pub use description::type_description; +pub use formatting::format_type_description; #[cfg(test)] mod tests { // Note: indoc is used to make it easier to represent multi-line strings. use indoc::indoc; + use parity_scale_codec::Compact; use pretty_assertions::assert_eq; + use proc_macro2::TokenStream; use scale_info::{PortableRegistry, TypeInfo}; + use scale_typegen::TypeGeneratorSettings; - use crate::type_description; + use crate::{type_description, type_example::rust_value}; fn make_type() -> (u32, PortableRegistry) { let mut registry = scale_info::Registry::new(); @@ -37,70 +71,84 @@ mod tests { let (type_id, type_registry) = make_type::(); assert_eq!( - type_description(type_id, &type_registry).unwrap(), + type_description(type_id, &type_registry, true).unwrap(), indoc! { - "Human { + "struct Human { name: String, age: u32, male: bool }"} ); } - // todo!("This test with the generics does not fly yet.") - // #[test] - // fn enums() { - // #[allow(unused)] - // #[derive(TypeInfo)] - // enum Shape { - // Inivisible, - // Circle(u64), - // Rect(Compact, Compact), - // Polygon { - // corners: u8, - // radius: u64, - // }, - // MultiShape { - // shapes: Vec>, - // t: T, - // operation: Operation, - // }, - // } - - // #[allow(unused)] - // #[derive(TypeInfo)] - // enum Operation { - // Add, - // Intersect, - // Difference, - // } - - // let (type_id, type_registry) = make_type::>(); - - // assert_eq!( - // type_description(type_id, &type_registry).unwrap(), - // indoc! { - // "enum Shape { - // Inivisible, - // Circle(u64), - // Rect( - // Compact, - // Compact - // ), - // Polygon { - // corners: u8, - // radius: u64 - // }, - // MultiShape { - // shapes: Vec, - // operation: enum Operation { - // Add, - // Intersect, - // Difference - // } - // } - // }"} - // ); - // } + + #[test] + fn enums() { + use parity_scale_codec::Compact; + + #[allow(unused)] + #[derive(TypeInfo)] + enum Shape { + Inivisible, + Circle(u64), + Rect(Compact, Compact), + Polygon { + corners: u8, + radius: u64, + }, + Multi { + shapes: Vec>, + t: T, + operation: Operation, + }, + } + + #[allow(unused)] + #[derive(TypeInfo)] + enum Operation { + Add, + Intersect, + Difference, + } + + let (type_id, type_registry) = make_type::>(); + assert_eq!( + type_description(type_id, &type_registry, true).unwrap(), + indoc! { + "enum Shape { + Inivisible, + Circle(u64), + Rect(Compact, Compact), + Polygon { + corners: u8, + radius: u64 + }, + Multi { + shapes: Vec< + enum Shape { + Inivisible, + Circle(u64), + Rect(Compact, Compact), + Polygon { + corners: u8, + radius: u64 + }, + Multi { + shapes: Vec>, + t: u64, + operation: enum Operation { + Add, + Intersect, + Difference + } + } + } + >, + t: u8, + operation: Operation + } + }"} + ); + } #[test] fn recursive_structs() { @@ -122,16 +170,201 @@ mod tests { let (type_id, type_registry) = make_type::(); assert_eq!( - type_description(type_id, &type_registry).unwrap(), + type_description(type_id, &type_registry, true).unwrap(), indoc! { - "Human { + "struct Human { name: String, friends: Vec, dad: Box, - home: House { + home: struct House { inhabitants: Vec } }"} ); } + + #[test] + fn recursive_containers() { + #[allow(unused)] + #[derive(TypeInfo)] + struct A { + bees: Vec, + } + + #[allow(unused)] + #[derive(TypeInfo)] + struct B { + id: u8, + others: Vec, + } + + let (type_id, type_registry) = make_type::(); + + assert_eq!( + type_description(type_id, &type_registry, true).unwrap(), + indoc! { + "struct A { + bees: Vec< + struct B { + id: u8, + others: Vec + } + > + }"} + ); + } + + #[test] + fn recursive_generics() { + #[allow(unused)] + #[derive(TypeInfo)] + struct Vec2 { + x: Box, + y: Box, + } + + #[allow(unused)] + #[derive(TypeInfo)] + struct A { + bees: Vec2, + } + + #[allow(unused)] + #[derive(TypeInfo)] + struct B { + id: u8, + others: Vec2, + } + + let (type_id, type_registry) = make_type::(); + + assert_eq!( + type_description(type_id, &type_registry, true).unwrap(), + indoc! { + "struct A { + bees: struct Vec2 { + x: Box< + struct B { + id: u8, + others: Vec2 + } + >, + y: Box + } + }"} + ); + } + + #[test] + fn multiple_fields_with_same_type() { + #[allow(unused)] + #[derive(TypeInfo)] + struct A { + x: B, + y: B, + z: B, + } + + #[allow(unused)] + #[derive(TypeInfo)] + struct B { + id: u8, + } + + let (type_id, type_registry) = make_type::(); + + assert_eq!( + type_description(type_id, &type_registry, true).unwrap(), + indoc! { + "struct A { + x: struct B { + id: u8 + }, + y: B, + z: B + }"} + ); + } + + #[test] + fn tuple_fields_with_same_type() { + #[allow(unused)] + #[derive(TypeInfo)] + struct A { + tup: (B, B, B), + } + + #[allow(unused)] + #[derive(TypeInfo)] + struct B { + id: u8, + } + + let (type_id, type_registry) = make_type::(); + + assert_eq!( + type_description(type_id, &type_registry, true).unwrap(), + indoc! { + "struct A { + tup: ( + struct B { + id: u8 + }, + B, + B + ) + }"} + ); + } + + #[test] + fn rust_value_compact() { + #[allow(unused)] + #[derive(TypeInfo)] + struct S0 { + #[codec(compact)] + n: u8, + } + + #[allow(unused)] + #[derive(TypeInfo)] + struct S1 { + n: Compact, + } + + #[allow(unused)] + #[derive(TypeInfo)] + struct T0(#[codec(compact)] u8); + + #[allow(unused)] + #[derive(TypeInfo)] + struct T1(Compact); + + use quote::quote; + use syn::parse_quote; + + fn get_example() -> TokenStream { + let (type_id, type_registry) = make_type::(); + let settings = TypeGeneratorSettings::new().compact_type_path(parse_quote!(Compact)); + rust_value::example(type_id, &type_registry, &settings).unwrap() + } + + // Note: The 161 is pretty random and depends on the default seed of the RNG. + assert_eq!( + get_example::().to_string(), + quote! {types::scale_typegen_description::tests::S0{ n: 161u8, }}.to_string() + ); + assert_eq!( + get_example::().to_string(), + quote! {types::scale_typegen_description::tests::S1{ n: Compact(161u8), }}.to_string() + ); + assert_eq!( + get_example::().to_string(), + quote! {types::scale_typegen_description::tests::T0( 161u8, )}.to_string() + ); + assert_eq!( + get_example::().to_string(), + quote! {types::scale_typegen_description::tests::T1( Compact(161u8), )}.to_string() + ); + } } diff --git a/description/src/transformer.rs b/description/src/transformer.rs index 7bddfbe..493be06 100644 --- a/description/src/transformer.rs +++ b/description/src/transformer.rs @@ -3,17 +3,32 @@ use std::{cell::RefCell, collections::HashMap}; use scale_info::{form::PortableForm, PortableRegistry, Type}; /// The transformer provides an abstraction for traversing a type registry -/// given a type_id as a starting point, and **transforming** it into a tree-like structure. -/// It provides a cache that shields users from infinite recursion. +/// given a type_id as a starting point, and **transforming** it into a tree-like structure (type parameter `R`). +/// For example, `R` might be a TokenStream, a String or a Scale Value. +/// The transformer internally keeps a cache that shields users from infinite recursion. +/// It can also contain a mutable state (type parameter `S`), that can be used to store additional information. +/// This is useful for side effects, e.g. a random number generator for random type examples. /// -/// In this way, we can have easy recursion protection mechanisms for type descirptions, rust type examples and scale value type examples. +/// In this way, we can have easy recursion protection mechanisms for type descriptions, rust type examples and scale value type examples. pub struct Transformer<'a, R, S = ()> { - /// keep this private such that the cache is sealed and connot be accessed from outside of the Transformer::transform function + /// keep this private such that the cache is sealed and cannot be accessed from outside of the [`Transformer::transform`] function cache: RefCell>>, /// state can be used for example for an Rng - pub state: S, + state: S, + /// The `policy` defines, how to transform a type. If the type is unrepresentable, return an Err. policy: fn(u32, &Type, &Self) -> anyhow::Result, - recurse_policy: fn(u32, &Type, &Self) -> anyhow::Result, + /// The `recurse_policy` defines, how to handle cases, where a type has been + /// visited before, and is visited *again*, before a representation of this type could be computed. + /// It is up the implementation to return an error in these cases, or some other value. + /// + /// You can return None to sidestep recursion protection and let the transformer continue. + recurse_policy: fn(u32, &Type, &Self) -> Option>, + /// Describe the policy to apply when encountering a cache hit. + /// A cache hit is, when the representation of a type has already been computed. + /// + /// You can return None to sidestep recursion protection and let the transformer continue. + #[allow(clippy::type_complexity)] + cache_hit_policy: fn(u32, &Type, &R, &Self) -> Option>, registry: &'a PortableRegistry, } @@ -27,15 +42,14 @@ enum Cached { impl<'a, R, S> Transformer<'a, R, S> where - R: Clone, + R: Clone + std::fmt::Debug, { - pub fn state(&self) -> &S { - &self.state - } - + /// Create a new transformer. + #[allow(clippy::type_complexity)] pub fn new( policy: fn(u32, &Type, &Self) -> anyhow::Result, - resurse_policy: fn(u32, &Type, &Self) -> anyhow::Result, + recurse_policy: fn(u32, &Type, &Self) -> Option>, + cache_hit_policy: fn(u32, &Type, &R, &Self) -> Option>, state: S, registry: &'a PortableRegistry, ) -> Self { @@ -43,25 +57,37 @@ where cache: RefCell::new(HashMap::new()), state, policy, - recurse_policy: resurse_policy, + recurse_policy, registry, + cache_hit_policy, } } + /// The custom user defined state of the transformer. + pub fn state(&self) -> &S { + &self.state + } + + /// The type registry this transformer is operating on + pub fn types(&self) -> &PortableRegistry { + self.registry + } + pub fn resolve(&self, type_id: u32) -> anyhow::Result { let ty = self.registry.resolve(type_id).ok_or(anyhow::anyhow!( "Type with id {} not found in registry", type_id ))?; - match self.cache.borrow().get(&type_id) { - Some(Cached::Recursive) => { - return (self.recurse_policy)(type_id, ty, self); + if let Some(cache_value) = self.cache.borrow().get(&type_id) { + let result_or_continue = match cache_value { + Cached::Recursive => (self.recurse_policy)(type_id, ty, self), + Cached::Computed(repr) => (self.cache_hit_policy)(type_id, ty, repr, self), + }; + if let Some(result) = result_or_continue { + return result; } - Some(Cached::Computed(r)) => return Ok(r.clone()), - _ => {} }; - self.cache.borrow_mut().insert(type_id, Cached::Recursive); let r = (self.policy)(type_id, ty, self)?; self.cache diff --git a/description/src/type_example/mod.rs b/description/src/type_example/mod.rs index 04833aa..8e7709a 100644 --- a/description/src/type_example/mod.rs +++ b/description/src/type_example/mod.rs @@ -1,8 +1,7 @@ -mod rust_type; -mod scale_value; - -pub use rust_type::rust_type_example; -pub use scale_value::scale_value_example; +/// Generate an exemplary rust value of some type +pub mod rust_value; +/// Generate an exemplary scale value of some type +pub mod scale_value; #[cfg(test)] mod tests { @@ -10,9 +9,7 @@ mod tests { use pretty_assertions::assert_eq; use scale_info::{PortableRegistry, TypeInfo}; - use crate::type_example::scale_value::scale_value_example_from_seed; - - use super::scale_value_example; + use crate::{scale_value, scale_value_from_seed}; fn make_type() -> (u32, PortableRegistry) { let mut registry = scale_info::Registry::new(); @@ -34,7 +31,7 @@ mod tests { } let (id, types) = make_type::(); // Make sure recursion does not panic. An error should be yielded instead. - assert!(scale_value_example(id, &types).is_err()); + assert!(scale_value(id, &types).is_err()); } #[test] @@ -58,11 +55,11 @@ mod tests { let (id, types) = make_type::(); - let a1 = scale_value_example_from_seed(id, &types, 20).unwrap(); - let a2 = scale_value_example_from_seed(id, &types, 20).unwrap(); - let a3 = scale_value_example_from_seed(id, &types, 20).unwrap(); - let b1 = scale_value_example_from_seed(id, &types, 30).unwrap(); - let b2 = scale_value_example_from_seed(id, &types, 30).unwrap(); + let a1 = scale_value_from_seed(id, &types, 20).unwrap(); + let a2 = scale_value_from_seed(id, &types, 20).unwrap(); + let a3 = scale_value_from_seed(id, &types, 20).unwrap(); + let b1 = scale_value_from_seed(id, &types, 30).unwrap(); + let b2 = scale_value_from_seed(id, &types, 30).unwrap(); // The examples can be checked manually by comparing them side by side: // println!("{b2}\n{a1}"); diff --git a/description/src/type_example/rust_type.rs b/description/src/type_example/rust_value.rs similarity index 74% rename from description/src/type_example/rust_type.rs rename to description/src/type_example/rust_value.rs index a95ce8e..8b8c3db 100644 --- a/description/src/type_example/rust_type.rs +++ b/description/src/type_example/rust_value.rs @@ -7,9 +7,12 @@ use scale_info::{form::PortableForm, Field, PortableRegistry, Type, TypeDef, Typ use scale_typegen::{TypeGenerator, TypeGeneratorSettings}; use std::cell::RefCell; -type CodeTransformer<'a> = Transformer<'a, TokenStream, CodeTransformerState<'a>>; +/// A transformer capable of converting a [`scale_info::Type`] from a type registry into +/// a rust expression. +pub type CodeTransformer<'a> = Transformer<'a, TokenStream, CodeTransformerState<'a>>; -struct CodeTransformerState<'a> { +/// Inner state of a `CodeTransformer` +pub struct CodeTransformerState<'a> { rng: RefCell, type_generator: TypeGenerator<'a>, /// `ty_middleware` allows you to return a different value on a case by case basis. @@ -20,9 +23,12 @@ struct CodeTransformerState<'a> { ty_path_middleware: Option, } -type TyMiddleware = Box) -> Option>>; +/// Middleware for a `CodeTransformer` to return a different type when a certain type is encountered. +pub type TyMiddleware = + Box, &CodeTransformer) -> Option>>; -type TyPathMiddleware = Box TokenStream>; +/// Middleware for a `CodeTransformer` to convert a type path encountered into a different type path. +pub type TyPathMiddleware = Box TokenStream>; impl<'a> CodeTransformer<'a> { /// resolves a type path, removes the generic bits, e.g. `Foo` becomes `Foo`, @@ -56,9 +62,9 @@ impl<'a> CodeTransformer<'a> { fn has_unused_type_params(&self, ty: &Type) -> anyhow::Result { let has_unused_type_params = self - .state + .state() .type_generator - .create_type_ir(ty) + .create_type_ir(ty, &Default::default()) // Note: derives not important here. .map_err(|e| anyhow!("{e}"))? .map(|e| e.type_params.has_unused_type_params()) .unwrap_or(false); @@ -66,7 +72,7 @@ impl<'a> CodeTransformer<'a> { } fn resolve_type(&self, type_id: u32) -> anyhow::Result<&Type> { - self.state + self.state() .type_generator .resolve_type(type_id) .map_err(|e| anyhow!("{e}")) @@ -100,18 +106,23 @@ impl<'a> CodeTransformer<'a> { } } -pub fn rust_type_example( +/// Generates a random rust value for a type from the registry. The result should be a valid rust expression. +pub fn example( type_id: u32, types: &PortableRegistry, - settings_for_path_resolver: TypeGeneratorSettings, + settings_for_path_resolver: &TypeGeneratorSettings, ) -> anyhow::Result { - rust_type_example_from_seed(type_id, types, settings_for_path_resolver, 42, None, None) + example_from_seed(type_id, types, settings_for_path_resolver, 42, None, None) } -pub fn rust_type_example_from_seed( +/// Generates a random rust value for a type from the registry. The result should be a valid rust expression. You can specify a seed to get reproducable results. +/// The `ty_middleware` can be used, to return a different type when a certain type is encountered. +/// The `ty_path_middleware` can be used, to convert an type path encountered into a different type path. +/// E.g. turning `::std::vec::Vec` into just `Vec`. +pub fn example_from_seed( type_id: u32, types: &PortableRegistry, - settings_for_path_resolver: TypeGeneratorSettings, + settings_for_path_resolver: &TypeGeneratorSettings, seed: u64, ty_middleware: Option, ty_path_middleware: Option, @@ -120,20 +131,36 @@ pub fn rust_type_example_from_seed( _type_id: u32, ty: &Type, _transformer: &CodeTransformer, - ) -> anyhow::Result { - Err(anyhow!( + ) -> Option> { + Some(Err(anyhow!( "Cannot generate rust type example for recursive type: {ty:?}" - )) + ))) + } + + /// Note: because None is returned here, the transformer will just continue its work. + fn compute_another_example( + _type_id: u32, + _ty: &Type, + _cached_value: &TokenStream, + _transformer: &CodeTransformer, + ) -> Option> { + None } let state = CodeTransformerState { rng: RefCell::new(rand_chacha::ChaCha8Rng::seed_from_u64(seed)), - type_generator: TypeGenerator::new(types, &settings_for_path_resolver), + type_generator: TypeGenerator::new(types, settings_for_path_resolver), ty_middleware, ty_path_middleware, }; - let transformer = CodeTransformer::new(ty_example, error_on_recurse, state, types); + let transformer = CodeTransformer::new( + ty_example, + error_on_recurse, + compute_another_example, + state, + types, + ); transformer.resolve(type_id) } @@ -143,8 +170,8 @@ fn ty_example( transformer: &CodeTransformer, ) -> anyhow::Result { // if middleware wants to intersect and return something else, it can: - if let Some(middleware) = &transformer.state.ty_middleware { - if let Some(intersected) = middleware(ty) { + if let Some(middleware) = &transformer.state().ty_middleware { + if let Some(intersected) = middleware(ty, transformer) { return intersected; } } @@ -163,10 +190,10 @@ fn ty_example( let enum_path = transformer.resolve_type_path_omit_generics(type_id)?; let random_variant = variant .variants - .choose(&mut *transformer.state.rng.borrow_mut()) + .choose(&mut *transformer.state().rng.borrow_mut()) .ok_or_else(|| anyhow!("Variant type should have at least one variant"))?; let variant_ident = format_ident!("{}", &random_variant.name); - // never needs phantom data, because phantom data is generated as a separate variant. + // Never needs phantom data, because phantom data is generated as a separate variant. let fields = fields_example(&random_variant.fields, false, transformer)?; let mut example = quote!(#enum_path::#variant_ident #fields); @@ -177,22 +204,23 @@ fn ty_example( Ok(example) } scale_info::TypeDef::Sequence(def) => { - // return a Vec with 2 elements: + // Return a Vec with 2 random example elements: let inner_ty = transformer.resolve_type(def.type_param.id)?; - let item_code = ty_example(def.type_param.id, inner_ty, transformer)?; // todo!("Might need CompactMode::Expl") - let vec_code = quote!(vec![#item_code, #item_code, #item_code]); + let item1 = ty_example(def.type_param.id, inner_ty, transformer)?; + let item2 = ty_example(def.type_param.id, inner_ty, transformer)?; + let vec_code = quote!(vec![#item1, #item2]); Ok(vec_code) } scale_info::TypeDef::Array(def) => { let inner_ty = transformer.resolve_type(def.type_param.id)?; - let item_code = ty_example(def.type_param.id, inner_ty, transformer)?; //todo!("Might need CompactMode::Expl") + let item_code = ty_example(def.type_param.id, inner_ty, transformer)?; let inner_is_copy = transformer.type_def_is_copy(&inner_ty.type_def)?; let len = def.len as usize; let arr_code = if inner_is_copy { - // if the item_code is an expression that is `Copy` we can use short init syntax: + // If the item_code is an expression that is `Copy` we can use short init syntax: quote!([#item_code;#len]) } else { - // otherwise we need to duplicate the item_code `len` times: + // Otherwise we need to duplicate the item_code `len` times: let item_iter = (0..len).map(|_| &item_code); quote!([#(#item_iter),*]) }; @@ -201,39 +229,17 @@ fn ty_example( scale_info::TypeDef::Tuple(def) => { let mut fields: Vec = vec![]; for f in &def.fields { - let value = transformer.resolve(f.id)?; //todo!("Might need CompactMode::Expl") + let value = transformer.resolve(f.id)?; fields.push(value) } Ok(quote!(( #(#fields),* ))) } scale_info::TypeDef::Primitive(def) => Ok(primitive_example( def, - &mut *transformer.state.rng.borrow_mut(), + &mut *transformer.state().rng.borrow_mut(), )), scale_info::TypeDef::Compact(def) => { - // there are actually two possibilities here: - // 1. the value is not actually compact but just tagged with { #[codec(compact)] number: u8 } in the type definition. - // --> give a normal primitive as a type example, e.g. 8 - // 2. the value is actually like (Compact, String) in the type definition. - // --> give compact type example, e.g. Compact(8) - - // How to find out? In structs, we are gonna be in case 1, otherwise (inside a tuple, array or vec) where the #[codec(compact)] is not possible, we are in case 2. - // `explicit_compact` flag is used to indicate we are in case 2. - - let inner_code = transformer.resolve(def.type_param.id)?; //todo!("Might need CompactMode::Expl") - - // I used this originally, but it turns out the compact part should be omitted: - - // todo!("Revisit this code and figure out a better way to handle compact types") - // let code = match compact_mode { - // CompactMode::Expl => { - // let compact_path = resolve_type_path_omit_generics(type_gen, id); - // quote!(#compact_path(#inner_code)) - // } - // CompactMode::Attr => inner_code, - // }; - let code = inner_code; - + let code = transformer.resolve(def.type_param.id)?; Ok(code) } scale_info::TypeDef::BitSequence(_def) => { @@ -251,6 +257,15 @@ fn fields_example( ) -> anyhow::Result { let all_named = fields.iter().all(|f| f.name.is_some()); let all_unnamed = fields.iter().all(|f| f.name.is_none()); + + /// Field does not only have a `codec(compact)` attirbute but is actually Compact. + fn field_is_explicit_compact(f: &Field) -> bool { + f.type_name + .as_ref() + .map(|e| e.starts_with("Compact<")) + .unwrap_or(false) + } + match (all_named, all_unnamed) { (true, false) => { // all fields named @@ -258,7 +273,10 @@ fn fields_example( for f in fields { let name = f.name.as_ref().expect("safe because of check above; qed"); let ident = format_ident!("{name}"); - let value_code = transformer.resolve(f.ty.id)?; // todo!("Check if Compact attribute needed") + let mut value_code = transformer.resolve(f.ty.id)?; + if field_is_explicit_compact(f) { + value_code = quote!(Compact(#value_code)) + } field_idents_and_values.push(quote!(#ident : #value_code)); } // maybe add phantom data to struct / named composite enum @@ -273,7 +291,10 @@ fn fields_example( // all fields unnamed let mut field_values: Vec = vec![]; for f in fields { - let value_code = transformer.resolve(f.ty.id)?; // todo!("Check if Compact attribute needed") + let mut value_code = transformer.resolve(f.ty.id)?; + if field_is_explicit_compact(f) { + value_code = quote!(Compact(#value_code)) + } field_values.push(value_code); } // maybe add phantom data to struct / named composite enum diff --git a/description/src/type_example/scale_value.rs b/description/src/type_example/scale_value.rs index fa35c35..6ae8ccc 100644 --- a/description/src/type_example/scale_value.rs +++ b/description/src/type_example/scale_value.rs @@ -11,27 +11,42 @@ use crate::transformer::Transformer; type ValueTransformer<'a> = Transformer<'a, Value, RefCell>; -pub fn scale_value_example(id: u32, types: &PortableRegistry) -> anyhow::Result { +/// Generates a random scale value for a type from the registry. +pub fn example(id: u32, types: &PortableRegistry) -> anyhow::Result { const MAGIC_SEED: u64 = 42; - scale_value_example_from_seed(id, types, MAGIC_SEED) + example_from_seed(id, types, MAGIC_SEED) } -pub fn scale_value_example_from_seed( - id: u32, - types: &PortableRegistry, - seed: u64, -) -> anyhow::Result { +/// Generates a random scale value for a type from the registry. You can specify the seed to get reproducable results. +pub fn example_from_seed(id: u32, types: &PortableRegistry, seed: u64) -> anyhow::Result { fn error_on_recurse( _type_id: u32, ty: &Type, _transformer: &ValueTransformer, - ) -> anyhow::Result { - Err(anyhow!( + ) -> Option> { + Some(Err(anyhow!( "Cannot generate scale value example for recursive type: {ty:?}" - )) + ))) } + + /// Note: because None is returned here, the transformer will just continue its work. + fn compute_another_example( + _type_id: u32, + _ty: &Type, + _cached_value: &Value, + _transformer: &ValueTransformer, + ) -> Option> { + None + } + let state = RefCell::new(rand_chacha::ChaCha8Rng::seed_from_u64(seed)); - let transformer = ValueTransformer::new(ty_example, error_on_recurse, state, types); + let transformer = ValueTransformer::new( + ty_example, + error_on_recurse, + compute_another_example, + state, + types, + ); transformer.resolve(id) } @@ -158,3 +173,78 @@ fn fields_type_example( )), } } + +#[cfg(test)] +mod tests { + + use pretty_assertions::assert_eq; + use scale_info::{PortableRegistry, TypeInfo}; + + use crate::formatting::format_type_description; + + use super::example; + use super::example_from_seed; + + fn make_type() -> (u32, PortableRegistry) { + let mut registry = scale_info::Registry::new(); + let m = scale_info::MetaType::new::(); + let ty = registry.register_type(&m); + (ty.id, registry.into()) + } + + /// for certain types we cannot create any valid scale_value type examples because they are infinitely nested. We need to return an error in those cases. + /// Otherwise we would get a stack overflow and the program crashes... + #[test] + fn recursion_does_not_cause_stack_overflow() { + #[allow(unused)] + #[derive(TypeInfo)] + struct Human { + name: String, + mom: Box, + dad: Box, + } + let (id, types) = make_type::(); + // Make sure recursion does not panic. An error should be yielded instead. + assert!(example(id, &types).is_err()); + } + + #[test] + fn seeding_works() { + #[allow(unused)] + #[derive(TypeInfo)] + struct Human { + name: String, + age: u32, + male: bool, + eye_color: Color, + } + + #[allow(unused)] + #[derive(TypeInfo)] + enum Color { + Black, + White, + Green(i32), + } + + let (id, types) = make_type::(); + + let s = example_from_seed(id, &types, 2).unwrap().to_string(); + let s = format_type_description(&s); + println!("{}", s); + + let a1 = example_from_seed(id, &types, 2).unwrap(); + let a2 = example_from_seed(id, &types, 2).unwrap(); + let a3 = example_from_seed(id, &types, 2).unwrap(); + let b1 = example_from_seed(id, &types, 3).unwrap(); + let b2 = example_from_seed(id, &types, 3).unwrap(); + + // The examples can be checked manually by comparing them side by side: + // println!("{b2}\n{a1}"); + + assert_eq!(a1, a2); + assert_eq!(a1, a3); + assert_eq!(b1, b2); + assert_ne!(a1, b1); + } +} diff --git a/typegen/Cargo.toml b/typegen/Cargo.toml index 1d9b341..ac5b1de 100644 --- a/typegen/Cargo.toml +++ b/typegen/Cargo.toml @@ -9,20 +9,16 @@ repository = "https://github.com/paritytech/scale-typegen" description = "Type Generation for SCALE encoded Rust Types" [dependencies] -parity-scale-codec = { workspace = true } proc-macro2 = { workspace = true } quote = { workspace = true } -scale-bits = { workspace = true } scale-info = { workspace = true } -smallvec = { workspace = true } syn = { workspace = true } thiserror = { workspace = true } [dev-dependencies] +scale-bits = { workspace = true } +parity-scale-codec = { workspace = true } prettyplease = { workspace = true } -scale-decode = { workspace = true } -scale-encode = { workspace = true } -serde = { workspace = true } -serde_json = { workspace = true } +frame-metadata = { workspace = true } bitvec = { workspace = true } pretty_assertions = { workspace = true } diff --git a/typegen/examples/polkadot.rs b/typegen/examples/polkadot.rs index 5a67d80..a3e344b 100644 --- a/typegen/examples/polkadot.rs +++ b/typegen/examples/polkadot.rs @@ -1,10 +1,10 @@ use std::marker::PhantomData; +use parity_scale_codec::Decode; use proc_macro2::TokenStream; use quote::ToTokens; use scale_info::PortableRegistry; use scale_typegen::{TypeGenerator, TypeGeneratorSettings}; -use serde_json::Value; use syn::parse_quote; #[allow(unused)] @@ -14,13 +14,14 @@ pub struct DecodedBits { } /// This example shows how to use metadata from a polkadot node to generate rust types. -/// -/// Some types might need pub fn main() { - let type_registry = read_registry_from_json(); + let type_registry = read_registry_from_scale_metadata(); let settings = TypeGeneratorSettings::default() .type_mod_name("my_types") - .decoded_bits_type_path(parse_quote!(DecodedBits)); + .decoded_bits_type_path(parse_quote!(DecodedBits)) + .compact_as_type_path(parse_quote!(parity_scale_codec::CompactAs)) + .compact_type_path(parse_quote!(parity_scale_codec::Compact)) + .add_derives_for_all([parse_quote!(Debug), parse_quote!(Clone)]); let type_generator = TypeGenerator::new(&type_registry, &settings); let code = type_generator @@ -28,22 +29,19 @@ pub fn main() { .unwrap() .to_token_stream(); - write_pretty_tokens(code, "./src/polkadot.rs"); + write_pretty_tokens(code, "./artifacts/generated_polkadot.rs"); } -fn read_registry_from_json() -> PortableRegistry { - let json: Value = - serde_json::from_str(&std::fs::read_to_string("./artifacts/polkadot.json").unwrap()) - .unwrap(); - let types = json.as_array().unwrap()[1] - .as_object() - .unwrap() - .get("V15") - .unwrap() - .get("types") - .unwrap(); - let registry: PortableRegistry = serde_json::from_value(types.clone()).unwrap(); - registry +fn read_registry_from_scale_metadata() -> PortableRegistry { + let bytes = std::fs::read("./artifacts/polkadot_metadata.scale") + .expect("File polkadot_metadata not found!"); + let metadata = frame_metadata::RuntimeMetadataPrefixed::decode(&mut &bytes[..]) + .expect("Metadata decoding failed"); + match metadata.1 { + frame_metadata::RuntimeMetadata::V14(m) => m.types, + frame_metadata::RuntimeMetadata::V15(m) => m.types, + _ => panic!("Metadata too old, needs to be V14 or V15"), + } } fn write_pretty_tokens(tokens: TokenStream, path: &str) { diff --git a/typegen/src/lib.rs b/typegen/src/lib.rs index 45b24de..75eec05 100644 --- a/typegen/src/lib.rs +++ b/typegen/src/lib.rs @@ -12,16 +12,17 @@ // See the License for the specific language governing permissions and // limitations under the License. +//! A library based on [scale-info](https://github.com/paritytech/scale-info) to transpile portable registries of types into rust type definitions. +#![deny(missing_docs)] + +/// Type Generation Settings and Logic pub mod typegen; +/// Utilities for handling Type Registries pub mod utils; pub use typegen::{ error::TypegenError, - settings::{ - derives::{Derives, DerivesRegistry}, - substitutes::TypeSubstitutes, - TypeGeneratorSettings, - }, + settings::{derives::DerivesRegistry, substitutes::TypeSubstitutes, TypeGeneratorSettings}, TypeGenerator, }; diff --git a/typegen/src/tests/mod.rs b/typegen/src/tests/mod.rs index 61f02c6..640802d 100644 --- a/typegen/src/tests/mod.rs +++ b/typegen/src/tests/mod.rs @@ -19,9 +19,9 @@ fn substitutes_and_derives() { // set up settings let settings = TypeGeneratorSettings::default() .type_mod_name("my_types") - .derive_on_all([ + .add_derives_for_all([ parse_quote!(::parity_scale_codec::Decode), - parse_quote!(::parity_scale_codec::Emcode), + parse_quote!(::parity_scale_codec::Encode), ]) .substitute( parse_quote!(BTreeMap), @@ -44,7 +44,7 @@ fn substitutes_and_derives() { use super::my_types; pub mod tests { use super::my_types; - #[derive(:: parity_scale_codec :: Decode, :: parity_scale_codec :: Emcode)] + #[derive(:: parity_scale_codec :: Decode, :: parity_scale_codec :: Encode)] pub struct A { pub children: ::std::collections::HashMap< ::core::primitive::u32, my_types::scale_typegen::tests::A>, } @@ -919,10 +919,12 @@ fn apply_user_defined_derives_for_all_types() { struct B; let mut settings = subxt_settings(); - settings.derives.extend_for_all( - [parse_quote!(Clone), parse_quote!(Eq)], - [parse_quote!(#[some_attribute])], - ); + settings + .derives + .add_derives_for_all([parse_quote!(Clone), parse_quote!(Eq)]); + settings + .derives + .add_attributes_for_all([parse_quote!(#[some_attribute])]); let code = Testgen::new().with::().gen_tests_mod(settings); @@ -964,20 +966,26 @@ fn apply_user_defined_derives_for_specific_types() { struct C; let mut settings = subxt_settings(); - settings.derives.extend_for_all([parse_quote!(Eq)], []); - settings.derives.extend_for_type( + settings.derives.add_derives_for_all([parse_quote!(Eq)]); + settings.derives.add_derives_for( parse_quote!(scale_typegen::tests::B), [parse_quote!(Hash)], + false, + ); + settings.derives.add_attributes_for( + parse_quote!(scale_typegen::tests::B), [parse_quote!(#[some_attribute])], + false, ); - settings.derives.extend_for_type( + + settings.derives.add_derives_for( parse_quote!(scale_typegen::tests::C), [ parse_quote!(Eq), parse_quote!(Ord), parse_quote!(PartialOrd), ], - [], + false, ); let code = Testgen::new().with::().gen_tests_mod(settings); @@ -1010,7 +1018,113 @@ fn apply_user_defined_derives_for_specific_types() { } #[test] -fn opt_out_from_default_derives() { +fn apply_recursive_derives() { + use std::collections::BTreeMap; + + #[allow(unused)] + #[derive(TypeInfo)] + struct Human { + organ_status: BTreeMap, + profession: Profession, + organs: Vec, + } + + #[allow(unused)] + #[derive(TypeInfo)] + enum Organ { + Heart, + Stomach, + } + + #[allow(unused)] + #[derive(TypeInfo)] + struct Status { + damage: Compact, + } + + #[allow(unused)] + #[derive(TypeInfo)] + enum Profession { + Student { college: String }, + Programmer, + } + + let mut derives = DerivesRegistry::new(); + + derives.add_derives_for( + parse_quote!(scale_typegen::tests::Human), + vec![parse_quote!(Reflect)], + false, + ); + + derives.add_attributes_for( + parse_quote!(scale_typegen::tests::Human), + vec![parse_quote!(#[is_human])], + false, + ); + + derives.add_derives_for( + parse_quote!(scale_typegen::tests::Human), + vec![parse_quote!(Clone)], + true, + ); + + derives.add_attributes_for( + parse_quote!(scale_typegen::tests::Human), + vec![parse_quote!(#[is_nice])], + true, + ); + + let settings = TypeGeneratorSettings { + derives, + ..subxt_settings() + }; + let code = Testgen::new().with::().gen_tests_mod(settings); + + let expected_code = quote! { + pub mod tests { + use super::root; + #[derive(Clone, Reflect)] + #[is_human] + #[is_nice] + pub struct Human { + pub organ_status: ::subxt_path::utils::KeyedVec< + root::scale_typegen::tests::Organ, + root::scale_typegen::tests::Status + >, + pub profession: root::scale_typegen::tests::Profession, + pub organs: ::std::vec::Vec, + } + #[derive(Clone)] + #[is_nice] + pub enum Organ { + #[codec(index = 0)] + Heart, + #[codec(index = 1)] + Stomach, + } + #[derive(Clone)] + #[is_nice] + pub enum Profession { + #[codec(index = 0)] + Student { college: ::std::string::String , }, + #[codec(index = 1)] + Programmer, + } + #[derive(Clone)] + #[is_nice] + pub struct Status { + #[codec(compact)] + pub damage: ::core::primitive::u32, + } + } + }; + + assert_eq!(code.to_string(), expected_code.to_string()); +} + +#[test] +fn apply_derives() { #[allow(unused)] #[derive(TypeInfo)] struct A(B); @@ -1020,14 +1134,19 @@ fn opt_out_from_default_derives() { struct B; let mut derives = DerivesRegistry::new(); - derives.extend_for_all( - vec![parse_quote!(Clone), parse_quote!(Eq)], - vec![parse_quote!(#[some_attribute])], - ); - derives.extend_for_type( + derives.add_derives_for_all(vec![parse_quote!(Clone), parse_quote!(Eq)]); + derives.add_attributes_for_all(vec![parse_quote!(#[some_attribute])]); + + derives.add_derives_for( parse_quote!(scale_typegen::tests::B), vec![parse_quote!(Hash)], + false, + ); + + derives.add_attributes_for( + parse_quote!(scale_typegen::tests::B), vec![parse_quote!(#[some_other_attribute])], + false, ); let settings = TypeGeneratorSettings { @@ -1057,7 +1176,7 @@ fn opt_out_from_default_derives() { /// By default a BTreeMap would be replaced by a KeyedVec. /// This test demonstrates that it does not happen if we opt out of default type substitutes. #[test] -fn opt_out_from_default_substitutes() { +fn apply_custom_substitutes() { use std::collections::BTreeMap; #[allow(unused)] diff --git a/typegen/src/tests/utils.rs b/typegen/src/tests/utils.rs index 7d33d43..4c35e93 100644 --- a/typegen/src/tests/utils.rs +++ b/typegen/src/tests/utils.rs @@ -82,7 +82,9 @@ pub(super) fn subxt_default_derives() -> DerivesRegistry { ]; let mut derives_registry = DerivesRegistry::new(); - derives_registry.extend_for_all(derives, attributes); + + derives_registry.add_derives_for_all(derives); + derives_registry.add_attributes_for_all(attributes); derives_registry } diff --git a/typegen/src/typegen/error.rs b/typegen/src/typegen/error.rs index 415c938..4e90720 100644 --- a/typegen/src/typegen/error.rs +++ b/typegen/src/typegen/error.rs @@ -1,20 +1,28 @@ use proc_macro2::Span; +/// Error for when something went wrong during type generation. #[derive(Debug, thiserror::Error)] #[non_exhaustive] pub enum TypegenError { + /// Could not parse into a syn type. #[error("Could not parse into a syn type: {0}")] SynParseError(#[from] syn::Error), + /// Fields should either be all named or all unnamed, make sure you are providing a valid metadata. #[error("Fields should either be all named or all unnamed, make sure you are providing a valid metadata: {0}")] InvalidFields(String), + /// A type in the metadata was invalid #[error("A type in the metadata was invalid: {0}")] InvalidType(String), + /// Could not generate a type that contains a compact type, because the Compact type path is not set in the settings. #[error("Could not generate a type that contains a compact type, because the Compact type path is not set in the settings.")] CompactPathNone, + /// Could not generate a type that contains a bit sequence, because the DecodedBits type path is not set in the settings. #[error("Could not generate a type that contains a bit sequence, because the DecodedBits type path is not set in the settings.")] DecodedBitsPathNone, + /// Could not find type with ID in the type registry. #[error("Could not find type with ID {0} in the type registry.")] TypeNotFound(u32), + /// Type substitution error. #[error("Type substitution error: {0}")] InvalidSubstitute(#[from] TypeSubstitutionError), } @@ -22,7 +30,9 @@ pub enum TypegenError { /// Error attempting to do type substitution. #[derive(Debug, thiserror::Error)] pub struct TypeSubstitutionError { + /// Where in the code the error occured. pub span: Span, + /// Kind of TypeSubstitutionError that happended. pub kind: TypeSubstitutionErrorKind, } @@ -35,6 +45,7 @@ impl std::fmt::Display for TypeSubstitutionError { } } +/// Error attempting to do type substitution. #[derive(Debug, thiserror::Error)] #[non_exhaustive] pub enum TypeSubstitutionErrorKind { diff --git a/typegen/src/typegen/ir/mod.rs b/typegen/src/typegen/ir/mod.rs index edbc95d..8a9a410 100644 --- a/typegen/src/typegen/ir/mod.rs +++ b/typegen/src/typegen/ir/mod.rs @@ -1,2 +1,4 @@ +/// Intermediate Representation of a rust module. pub mod module_ir; +/// Intermediate Representation of a rust type. pub mod type_ir; diff --git a/typegen/src/typegen/ir/module_ir.rs b/typegen/src/typegen/ir/module_ir.rs index ab56c43..f8ce59b 100644 --- a/typegen/src/typegen/ir/module_ir.rs +++ b/typegen/src/typegen/ir/module_ir.rs @@ -10,9 +10,13 @@ use scale_info::form::PortableForm; /// Represents a Rust `mod`, containing generated types and child `mod`s. #[derive(Debug, Clone)] pub struct ModuleIR { + /// Name of this module. pub name: Ident, + /// Root module identifier. pub root_mod: Ident, + /// Submodules of this module. pub children: BTreeMap, + /// Types in this module. pub types: BTreeMap, TypeIR>, } @@ -65,6 +69,8 @@ impl ModuleIR { &self.root_mod } + /// Recursively creates submodules for the given namespace and returns a mutable reference to the innermost module created this way. + /// Returns itself, if the namespace is empty. pub fn get_or_insert_submodule(&mut self, namespace: &[String]) -> &mut ModuleIR { if namespace.is_empty() { return self; diff --git a/typegen/src/typegen/ir/type_ir.rs b/typegen/src/typegen/ir/type_ir.rs index 40c7d43..a01b781 100644 --- a/typegen/src/typegen/ir/type_ir.rs +++ b/typegen/src/typegen/ir/type_ir.rs @@ -5,17 +5,26 @@ use crate::typegen::{ settings::derives::Derives, type_params::TypeParameters, type_path::TypePath, }; +/// Intermediate Representation of a Rust type. #[derive(Debug, Clone)] pub struct TypeIR { + /// Generic type parameters. pub type_params: TypeParameters, + /// Derived traits for his type. pub derives: Derives, + /// whether or not `#[codec(...)]` attributes should be inserted. + /// Only makes sense if the derives include `Encode`/`Decode`. pub insert_codec_attributes: bool, + /// Is this type an enum or struct. pub kind: TypeIRKind, } +/// An enum or struct. #[derive(Debug, Clone)] pub enum TypeIRKind { + /// A struct. Struct(CompositeIR), + /// An enum. Enum(EnumIR), } @@ -35,34 +44,46 @@ impl TypeIR { } } +/// A composite. Could be a struct or a variant of an enum. #[derive(Debug, Clone)] pub struct CompositeIR { + /// Struct name or enum variant name. pub name: Ident, + /// Named, Unnamed or NoFields. pub kind: CompositeIRKind, + /// Docs for the composite. pub docs: TokenStream, } impl CompositeIR { + /// Creates a new `CompositeIR`. pub fn new(name: Ident, kind: CompositeIRKind, docs: TokenStream) -> Self { Self { name, kind, docs } } } +/// A rust enum. #[derive(Debug, Clone)] pub struct EnumIR { + /// Docs for the enum. pub(crate) docs: TokenStream, pub(crate) name: Ident, pub(crate) variants: Vec<(u8, CompositeIR)>, } +/// Named, Unnamed or NoFields. #[derive(Debug, Clone)] pub enum CompositeIRKind { + /// A zero-sized, empty composite. NoFields, + /// Composite with named fields, e.g. a struct. Named(Vec<(Ident, CompositeFieldIR)>), + /// Composite with unnamed fields, e.g. a tuple. Unnamed(Vec), } impl CompositeIRKind { + /// Returns true if this composite be compact encoded. This is only true if the composite has exactly one field which could be compact encoded. pub fn could_derive_as_compact(&self) -> bool { // has to have only a single field: let single_field = match self { @@ -84,14 +105,20 @@ impl CompositeIRKind { } } +/// A field of a composite. #[derive(Debug, Clone)] pub struct CompositeFieldIR { + /// type path of the field. pub type_path: TypePath, + /// Is this field compact encoded? + /// Having this as `true` may insert a `#[codec(compact)]` attribute during code generation. pub is_compact: bool, + /// Is this field actually boxed? e.g. `Box` instead of just `type_path`. pub is_boxed: bool, } impl CompositeFieldIR { + /// Creates a new [`CompositeFieldIR`]. pub fn new(type_path: TypePath, is_compact: bool, is_boxed: bool) -> Self { CompositeFieldIR { type_path, @@ -100,7 +127,8 @@ impl CompositeFieldIR { } } - pub fn compact_attr(&self) -> Option { + /// Returns a `#[codec(compact)]` attribute if the field should be compact encoded. + fn compact_attr(&self) -> Option { self.is_compact.then(|| quote!( #[codec(compact)] )) } } diff --git a/typegen/src/typegen/mod.rs b/typegen/src/typegen/mod.rs index 04f7bba..10c6663 100644 --- a/typegen/src/typegen/mod.rs +++ b/typegen/src/typegen/mod.rs @@ -1,9 +1,12 @@ -use crate::{Derives, TypegenError}; +use crate::TypegenError; use self::{ ir::module_ir::ModuleIR, ir::type_ir::{CompositeFieldIR, CompositeIR, CompositeIRKind, EnumIR, TypeIR, TypeIRKind}, - settings::TypeGeneratorSettings, + settings::{ + derives::{Derives, FlatDerivesRegistry}, + TypeGeneratorSettings, + }, type_params::TypeParameters, type_path::TypeParameter, }; @@ -13,14 +16,21 @@ use quote::quote; use scale_info::{form::PortableForm, PortableRegistry, Type, TypeDef}; use syn::parse_quote; +/// Custom error types. pub mod error; +/// Intermediate representation of types and modules. pub mod ir; +/// Utility extension functions on the `TypeGenerator` struct to resolve type paths. pub mod resolve_type_paths; +/// Settings passed into the `TypeGenerator`. pub mod settings; +/// Logic for dealing with used and unused generic type parameters. pub mod type_params; +/// Type path definition and conversion into tokens. pub mod type_path; /// An interface for generating a types module. +#[derive(Debug, Clone, Copy)] pub struct TypeGenerator<'a> { type_registry: &'a PortableRegistry, settings: &'a TypeGeneratorSettings, @@ -35,16 +45,29 @@ impl<'a> TypeGenerator<'a> { } } + /// The name of the generated module which will contain the generated types. pub fn types_mod_ident(&self) -> &Ident { &self.settings.types_mod_ident } + /// The settings used by this type generator. pub fn settings(&self) -> &TypeGeneratorSettings { self.settings } + /// The type registry backing this type generator. + pub fn types(&self) -> &PortableRegistry { + self.type_registry + } + /// Generate a module containing all types defined in the supplied type registry. pub fn generate_types_mod(&self) -> Result { + let flat_derives_registry = self + .settings + .derives + .clone() + .flatten_recursive_derives(self.type_registry)?; + let mut root_mod = ModuleIR::new( self.settings.types_mod_ident.clone(), self.settings.types_mod_ident.clone(), @@ -65,7 +88,7 @@ impl<'a> TypeGenerator<'a> { } // if the type is not a builtin type, insert it into the respective module - if let Some(type_ir) = self.create_type_ir(&ty.ty)? { + if let Some(type_ir) = self.create_type_ir(&ty.ty, &flat_derives_registry)? { // Create the module this type should go into let innermost_module = root_mod.get_or_insert_submodule(namespace); innermost_module.types.insert(path.clone(), type_ir); @@ -75,7 +98,12 @@ impl<'a> TypeGenerator<'a> { Ok(root_mod) } - pub fn create_type_ir(&self, ty: &Type) -> Result, TypegenError> { + /// Creates an intermediate representation of a type that can later be converted into rust tokens. + pub fn create_type_ir( + &self, + ty: &Type, + flat_derives_registry: &FlatDerivesRegistry, + ) -> Result, TypegenError> { // if the type is some builtin, early return, we are only interested in generating structs and enums. if !matches!(ty.type_def, TypeDef::Composite(_) | TypeDef::Variant(_)) { return Ok(None); @@ -124,7 +152,7 @@ impl<'a> TypeGenerator<'a> { _ => unreachable!("Other variants early return before. qed."), }; - let mut derives = self.type_derives(ty)?; + let mut derives = flat_derives_registry.resolve_derives_for_type(ty)?; if could_derive_as_compact { self.add_as_compact_derive(&mut derives); } @@ -146,6 +174,7 @@ impl<'a> TypeGenerator<'a> { .unwrap_or_default() } + /// Creates an intermediate representation of a composite. pub fn create_composite_ir_kind( &self, fields: &[scale_info::Field], @@ -219,6 +248,8 @@ impl<'a> TypeGenerator<'a> { } } + /// Creates the intermediate representation of a type from just a composite definition. + /// This uses just the default derives and type params are left empty. pub fn upcast_composite(&self, composite: &CompositeIR) -> TypeIR { // just use Default Derives + AsCompact. No access to type specific derives here. (Mainly used in subxt to create structs from enum variants...) let mut derives = self.settings.derives.default_derives().clone(); @@ -233,17 +264,6 @@ impl<'a> TypeGenerator<'a> { } } - pub fn default_derives(&self) -> &Derives { - self.settings.derives.default_derives() - } - - pub fn type_derives(&self, ty: &Type) -> Result { - let joined_path = ty.path.segments.join("::"); - let ty_path: syn::TypePath = syn::parse_str(&joined_path)?; - let derives = self.settings.derives.resolve(&ty_path); - Ok(derives) - } - /// Adds a AsCompact derive, if a path to AsCompact trait/derive macro set in settings. fn add_as_compact_derive(&self, derives: &mut Derives) { if let Some(compact_as_type_path) = &self.settings.compact_as_type_path { diff --git a/typegen/src/typegen/resolve_type_paths.rs b/typegen/src/typegen/resolve_type_paths.rs index b43019d..b306823 100644 --- a/typegen/src/typegen/resolve_type_paths.rs +++ b/typegen/src/typegen/resolve_type_paths.rs @@ -173,6 +173,7 @@ impl<'a> TypeGenerator<'a> { Ok(TypePath::from_type(ty)) } + /// Converts a [`scale_info::Path`] into a [`TypePathType`], replacing all types that should be substituted. pub fn type_path_maybe_with_substitutes( &self, path: &scale_info::Path, @@ -189,6 +190,7 @@ impl<'a> TypeGenerator<'a> { } } + /// Resolves a type, given some type id. pub fn resolve_type(&self, id: u32) -> Result<&Type, TypegenError> { let ty = self .type_registry diff --git a/typegen/src/typegen/settings/derives.rs b/typegen/src/typegen/settings/derives.rs index 81337d7..6134822 100644 --- a/typegen/src/typegen/settings/derives.rs +++ b/typegen/src/typegen/settings/derives.rs @@ -1,6 +1,9 @@ use std::collections::{HashMap, HashSet}; use quote::ToTokens; +use scale_info::{form::PortableForm, PortableRegistry, Type}; + +use crate::{utils::syn_type_path, TypegenError}; /// A struct containing the derives that we'll be applying to types; /// a combination of some common derives for all types, plus type @@ -9,6 +12,7 @@ use quote::ToTokens; pub struct DerivesRegistry { default_derives: Derives, specific_type_derives: HashMap, + recursive_type_derives: HashMap, } impl DerivesRegistry { @@ -18,24 +22,48 @@ impl DerivesRegistry { } /// Insert derives to be applied to all generated types. - pub fn extend_for_all( - &mut self, - derives: impl IntoIterator, - attributes: impl IntoIterator, - ) { + pub fn add_derives_for_all(&mut self, derives: impl IntoIterator) { self.default_derives.derives.extend(derives); + } + + /// Insert attributes to be applied to all generated types. + pub fn add_attributes_for_all(&mut self, attributes: impl IntoIterator) { self.default_derives.attributes.extend(attributes); } /// Insert derives to be applied to a specific generated type. - pub fn extend_for_type( + /// + /// The `recursive` flag can be set if child types should also receive the given derives. + /// Child types are all types that are mentioned as fields or type parameters of the type. + pub fn add_derives_for( &mut self, ty: syn::TypePath, derives: impl IntoIterator, - attributes: impl IntoIterator, + recursive: bool, ) { - let type_derives = self.specific_type_derives.entry(ty).or_default(); + let type_derives = if recursive { + self.recursive_type_derives.entry(ty).or_default() + } else { + self.specific_type_derives.entry(ty).or_default() + }; type_derives.derives.extend(derives); + } + + /// Insert derives to be applied to a specific generated type. + /// + /// The `recursive` flag can be set if child types should also receive the given derives. + /// Child types are all types that are mentioned as fields or type parameters of the type. + pub fn add_attributes_for( + &mut self, + ty: syn::TypePath, + attributes: impl IntoIterator, + recursive: bool, + ) { + let type_derives = if recursive { + self.recursive_type_derives.entry(ty).or_default() + } else { + self.specific_type_derives.entry(ty).or_default() + }; type_derives.attributes.extend(attributes); } @@ -44,16 +72,80 @@ impl DerivesRegistry { &self.default_derives } - /// Resolve the derives for a generated type. Includes: - /// - The default derives for all types e.g. `scale::Encode, scale::Decode` - /// - Any user-defined derives for all types via `generated_type_derives` - /// - Any user-defined derives for this specific type - pub fn resolve(&self, ty: &syn::TypePath) -> Derives { - let mut resolved_derives = self.default_derives.clone(); - if let Some(specific) = self.specific_type_derives.get(ty) { - resolved_derives.extend_from(specific.clone()); + /// Flattens out the recursive derives into specific derives. + /// For this it needs to have a PortableRegistry that it can traverse recursively. + pub fn flatten_recursive_derives( + self, + types: &PortableRegistry, + ) -> Result { + let DerivesRegistry { + default_derives, + mut specific_type_derives, + mut recursive_type_derives, + } = self; + + if recursive_type_derives.is_empty() { + return Ok(FlatDerivesRegistry { + default_derives, + specific_type_derives, + }); } - resolved_derives + + // Build a mapping of type ids to syn paths for all types in the registry: + let mut syn_path_for_id: HashMap = types + .types + .iter() + .filter_map(|t| { + if t.ty.path.is_empty() { + None + } else { + match syn_type_path(&t.ty) { + Ok(path) => Some(Ok((t.id, path))), + Err(err) => Some(Err(err)), + } + } + }) + .collect::>()?; + + // Create an empty map of derives that we are about to fill: + let mut add_derives_for_id: HashMap = HashMap::new(); + + // Check for each type in the registry if it is the top level of + for ty in types.types.iter() { + let Some(path) = syn_path_for_id.get(&ty.id) else { + // this is only the case for types with empty path (i.e. builtin types). + continue; + }; + let Some(recursive_derives) = recursive_type_derives.remove(path) else { + continue; + }; + // The collected_type_ids contain the id of the type itself and all ids of its fields: + let mut collected_type_ids: HashSet = HashSet::new(); + collect_type_ids(ty.id, types, &mut collected_type_ids); + + // We collect the derives for each type id in the add_derives_for_id HashMap. + for id in collected_type_ids { + add_derives_for_id + .entry(id) + .or_default() + .extend_from(recursive_derives.clone()); + } + } + + // Merge all the recursively obtained derives with the existing derives for the types. + for (id, derived_to_add) in add_derives_for_id { + if let Some(path) = syn_path_for_id.remove(&id) { + specific_type_derives + .entry(path) + .or_default() + .extend_from(derived_to_add); + } + } + + Ok(FlatDerivesRegistry { + default_derives, + specific_type_derives, + }) } } @@ -136,3 +228,83 @@ impl ToTokens for Derives { } } } + +/// This is like a DerivesRegistry, but the recursive type derives have been flattened out into specific_type_derives. +/// +/// Can be constructed properly using a DerivesRegistry and a PortableRegistry with `DerivesRegistry::flatten_recursive_derives()`. +#[derive(Debug, Clone, Default)] +pub struct FlatDerivesRegistry { + default_derives: Derives, + specific_type_derives: HashMap, +} + +impl FlatDerivesRegistry { + /// Resolve the derives for a specific type path. + pub fn resolve(&self, ty: &syn::TypePath) -> Derives { + let mut resolved_derives = self.default_derives.clone(); + if let Some(specific) = self.specific_type_derives.get(ty) { + resolved_derives.extend_from(specific.clone()); + } + resolved_derives + } + + /// Resolve the derives for a specific type. + pub fn resolve_derives_for_type( + &self, + ty: &Type, + ) -> Result { + Ok(self.resolve(&syn_type_path(ty)?)) + } +} + +fn collect_type_ids(id: u32, types: &PortableRegistry, collected_types: &mut HashSet) { + // Recursion protection: + if collected_types.contains(&id) { + return; + } + + // Add the type id itself as well: + collected_types.insert(id); + let ty = types + .resolve(id) + .expect("Should contain this id, if Registry not corrupted"); + + // Collect the types that are passed as type params (Question/Note: Is this necessary? Maybe not...) + for param in ty.type_params.iter() { + if let Some(id) = param.ty.map(|e| e.id) { + collect_type_ids(id, types, collected_types); + } + } + + // Collect ids depending on the types structure: + match &ty.type_def { + scale_info::TypeDef::Composite(def) => { + for f in def.fields.iter() { + collect_type_ids(f.ty.id, types, collected_types); + } + } + scale_info::TypeDef::Variant(def) => { + for v in def.variants.iter() { + for f in v.fields.iter() { + collect_type_ids(f.ty.id, types, collected_types); + } + } + } + scale_info::TypeDef::Sequence(def) => { + collect_type_ids(def.type_param.id, types, collected_types); + } + scale_info::TypeDef::Array(def) => { + collect_type_ids(def.type_param.id, types, collected_types); + } + scale_info::TypeDef::Tuple(def) => { + for f in def.fields.iter() { + collect_type_ids(f.id, types, collected_types); + } + } + scale_info::TypeDef::Primitive(_) => {} + scale_info::TypeDef::Compact(def) => { + collect_type_ids(def.type_param.id, types, collected_types); + } + scale_info::TypeDef::BitSequence(_) => {} + } +} diff --git a/typegen/src/typegen/settings/mod.rs b/typegen/src/typegen/settings/mod.rs index 22e5e09..cd3e7a7 100644 --- a/typegen/src/typegen/settings/mod.rs +++ b/typegen/src/typegen/settings/mod.rs @@ -1,14 +1,17 @@ use derives::DerivesRegistry; - use proc_macro2::Ident; use substitutes::TypeSubstitutes; use syn::parse_quote; use self::substitutes::absolute_path; +/// Settings for which derives should be applied on types pub mod derives; +/// Settings for which types should be substituted by other types. pub mod substitutes; +/// A struct containing all the settings for generating rust types from a type registry. +#[derive(Debug, Clone)] pub struct TypeGeneratorSettings { /// The name of the module which will contain the generated types. pub types_mod_ident: Ident, @@ -52,16 +55,19 @@ impl Default for TypeGeneratorSettings { } impl TypeGeneratorSettings { + /// Creates a new `TypeGeneratorSettings`. pub fn new() -> Self { Self::default() } + /// Sets the `type_mod_name` field. pub fn type_mod_name(mut self, type_mod_name: &str) -> Self { self.types_mod_ident = syn::parse_str(type_mod_name).expect("The provided type_mod_name is not a valid ident"); self } + /// Adds a rule, that a type with path `from` should be replaced with the path `to`. pub fn substitute(mut self, from: syn::Path, to: syn::Path) -> Self { self.substitutes .insert(from, absolute_path(to).unwrap()) @@ -69,23 +75,42 @@ impl TypeGeneratorSettings { self } + /// Sets the `compact_as_type_path` field. + pub fn compact_as_type_path(mut self, path: syn::Path) -> Self { + self.compact_as_type_path = Some(path); + self + } + + /// Sets the `compact_type_path` field. + pub fn compact_type_path(mut self, path: syn::Path) -> Self { + self.compact_type_path = Some(path); + self + } + + /// Sets the `decoded_bits_type_path` field. pub fn decoded_bits_type_path(mut self, path: syn::Path) -> Self { self.decoded_bits_type_path = Some(path); self } + /// Sets the `should_gen_docs` field. pub fn should_gen_docs(mut self, should_gen_docs: bool) -> Self { self.should_gen_docs = should_gen_docs; self } + /// Sets the `insert_codec_attributes` field. pub fn insert_codec_attributes(mut self) -> Self { self.insert_codec_attributes = true; self } - pub fn derive_on_all(mut self, derive_paths: impl IntoIterator) -> Self { - self.derives.extend_for_all(derive_paths, []); + /// Adds some derives for all types. + pub fn add_derives_for_all( + mut self, + derive_paths: impl IntoIterator, + ) -> Self { + self.derives.add_derives_for_all(derive_paths); self } } diff --git a/typegen/src/typegen/settings/substitutes.rs b/typegen/src/typegen/settings/substitutes.rs index 8bdfc1d..8ac1ac0 100644 --- a/typegen/src/typegen/settings/substitutes.rs +++ b/typegen/src/typegen/settings/substitutes.rs @@ -15,18 +15,19 @@ fn error(span: Span, kind: TypeSubstitutionErrorKind) -> TypeSubstitutionError { /// A map of type substitutes. We match on the paths to generated types in order /// to figure out when to swap said type with some provided substitute. -#[derive(Debug)] +#[derive(Debug, Clone)] pub struct TypeSubstitutes { substitutes: HashMap, } -#[derive(Debug)] +/// A type that substitutes another type. +#[derive(Debug, Clone)] pub struct Substitute { path: syn::Path, param_mapping: TypeParamMapping, } -#[derive(Debug)] +#[derive(Debug, Clone)] enum TypeParamMapping { // Pass any generics from source to target type PassThrough, @@ -239,6 +240,7 @@ impl TypeSubstitutes { } } +/// utility for constructing a `PathSegments` struct. #[macro_export] macro_rules! path_segments { ($($ident: ident)::*) => { @@ -252,7 +254,7 @@ macro_rules! path_segments { /// /// We use this as a common denominator, since we need a consistent keys for both /// `syn::TypePath` and `scale_info::ty::path::Path` types. -#[derive(Debug, Hash, PartialEq, Eq)] +#[derive(Debug, Clone, Hash, PartialEq, Eq)] pub struct PathSegments(pub Vec); impl From<&syn::Path> for PathSegments { @@ -370,10 +372,12 @@ fn is_absolute(path: &syn::Path) -> bool { .map_or(false, |segment| segment.ident == "crate") } +/// tries to convert a [`syn::Path`] into an `AbsolutePath`. Only succeeds if the path is not a relative path. pub fn absolute_path(path: syn::Path) -> Result { path.try_into() } +/// New-type wrapper around [`syn::Path`] pub struct AbsolutePath(syn::Path); impl TryFrom for AbsolutePath { diff --git a/typegen/src/typegen/type_params.rs b/typegen/src/typegen/type_params.rs index 36987f9..ff1ad77 100644 --- a/typegen/src/typegen/type_params.rs +++ b/typegen/src/typegen/type_params.rs @@ -68,8 +68,7 @@ impl TypeParameters { pub fn has_unused_type_params(&self) -> bool { !self.unused.is_empty() } - - pub fn mark_used(&mut self, param: &TypeParameter) { + pub(super) fn mark_used(&mut self, param: &TypeParameter) { self.unused.remove(param); } } diff --git a/typegen/src/typegen/type_path.rs b/typegen/src/typegen/type_path.rs index 5778596..eb720ca 100644 --- a/typegen/src/typegen/type_path.rs +++ b/typegen/src/typegen/type_path.rs @@ -14,9 +14,12 @@ use syn::parse_quote; #[derive(Clone, Debug)] pub struct TypePath(TypePathInner); +/// The type path to either a concrete type or a generic type parameter #[derive(Clone, Debug)] pub enum TypePathInner { + /// Generic type parameter Parameter(TypeParameter), + /// Concrete type Type(TypePathType), } @@ -55,14 +58,17 @@ impl TypePath { } } + /// Returns true, if this is a concrete compact type. pub fn is_compact(&self) -> bool { matches!(&self.0, TypePathInner::Type(ty) if ty.is_compact()) } + /// Returns true, if this is a concrete string type. pub fn is_string(&self) -> bool { matches!(&self.0, TypePathInner::Type(ty) if ty.is_string()) } + /// Returns true, if this is an unsigned integer (anywhere between u8 and u128). pub fn is_uint_up_to_u128(&self) -> bool { matches!( &self.0, @@ -116,38 +122,60 @@ impl TypePath { } } +/// The path of a Concrete type #[derive(Clone, Debug)] pub enum TypePathType { + /// A user-defined type (non-builtin struct or enum) Path { + /// Type path path: syn::Path, + /// Generic type parameters params: Vec, }, + /// A variable sized sequences of elements of some type. See [`std::vec::Vec`]. Vec { + /// Type of elements in the vector. of: Box, }, + /// A fixed length array that contains `len` elements of some type. Array { + /// number of elements in the array len: usize, + /// Type path of: Box, }, + /// A Tuple type Tuple { + /// Types that make up this tuple elements: Vec, }, + /// Primitive type Primitive { + /// A primitive Rust type. def: TypeDefPrimitive, }, + /// A compact encoded type Compact { + /// The type that is being compact encoded inner: Box, + /// is this type used as a field of a struct or enum right now? is_field: bool, + /// path to the `Compact` type (usually [`parity_scale_codec::Compact`]) compact_type_path: syn::Path, }, + /// A bit vector BitVec { + /// Order type bit_order_type: Box, + /// Store type bit_store_type: Box, + /// A user defined wrapper type around scale_bits::Bits. Should be generic over the `order` and `store` types. decoded_bits_type_path: syn::Path, }, } impl TypePathType { + /// Constructs a [`TypePathType`] from some context information. pub fn from_type_def_path( path: &Path, root_mod_ident: Ident, @@ -231,10 +259,12 @@ impl TypePathType { } } + /// Returns true, if this is a concrete compact type. pub fn is_compact(&self) -> bool { matches!(self, TypePathType::Compact { .. }) } + /// Returns true, if this is a string type. pub fn is_string(&self) -> bool { matches!( self, @@ -310,6 +340,7 @@ impl TypePathType { } } +/// A generic type parameter #[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)] pub struct TypeParameter { pub(super) concrete_type_id: u32, diff --git a/typegen/src/utils.rs b/typegen/src/utils.rs index d724e4c..9279383 100644 --- a/typegen/src/utils.rs +++ b/typegen/src/utils.rs @@ -1,61 +1,69 @@ use scale_info::{form::PortableForm, Field, PortableRegistry, Type, TypeDef, TypeParameter}; -use smallvec::{smallvec, SmallVec}; use std::collections::HashMap; +use crate::TypegenError; + +/// Converts a [`scale_info::Type`] into a [`syn::TypePath`]. +pub fn syn_type_path(ty: &Type) -> Result { + let joined_path = ty.path.segments.join("::"); + let ty_path: syn::TypePath = syn::parse_str(&joined_path)?; + Ok(ty_path) +} + +/// Deduplicates type paths in the provided Registry. pub fn ensure_unique_type_paths(types: &mut PortableRegistry) { - let mut types_with_same_type_path = HashMap::<&[String], SmallVec<[u32; 2]>>::new(); + let mut types_with_same_type_path_grouped_by_shape = HashMap::<&[String], Vec>>::new(); - // Figure out which types have the same type paths by storing them in the HashMap - for ty in types.types.iter() { + // First, group types if they are similar (same path, same shape). + + for (ty_id, ty) in types.types.iter().enumerate() { // Ignore types without a path (i.e prelude types). if ty.ty.path.namespace().is_empty() { continue; }; - types_with_same_type_path + + // get groups that share this path already, if any. + let groups_with_same_path = types_with_same_type_path_grouped_by_shape .entry(&ty.ty.path.segments) - .or_default() - .push(ty.id); - } + .or_default(); - let clashing_type_ids = types_with_same_type_path - .into_iter() - .filter_map(|(_, v)| (v.len() > 1).then_some(v)); - - // submit to this buffer type ids (u32), where a number (usize) should be added to the type path to distinguish them. - let mut renaming_commands: Vec<(u32, usize)> = vec![]; - - for type_ids in clashing_type_ids { - // Map N types in type_ids to M new type paths, where M <= N. - // types with the same structure should map to the same type path after all. - let mut types_with_same_structure: Vec<(&Type, SmallVec<[u32; 2]>)> = vec![]; - 'outer: for id in type_ids { - let type_a = types.resolve(id).expect("type is present; qed;"); - for (type_b, ids) in types_with_same_structure.iter_mut() { - if types_equal_extended_to_params(type_a, type_b) { - ids.push(id); - continue 'outer; - } + // Compare existing groups to check which to add our type ID to. + let mut added_to_existing_group = false; + for group in groups_with_same_path.iter_mut() { + let ty_id_b = group[0]; // all types in group are same shape; just check any one of them. + let ty_b = types.resolve(ty_id_b).expect("ty exists"); + if types_equal_extended_to_params(&ty.ty, ty_b) { + group.push(ty_id_b); + added_to_existing_group = true; + break; } - types_with_same_structure.push((type_a, smallvec![id])); } - // Now that the types that share a structure are grouped together, we can order commands to rename them. - for (n, (_, group)) in types_with_same_structure.iter().enumerate() { - for id in group { - renaming_commands.push((*id, n + 1)); - } + // We didn't find a matching group, so add it to a new one. + if !added_to_existing_group { + groups_with_same_path.push(vec![ty_id as u32]) } } - // execute the actual renaming. The `get_mut()` with the usize cast is a bit awkward, but there is currently not `resolve_mut()` function on the `PortableRegistry`. - for (id, appendix) in renaming_commands { - let ty = types - .types - .get_mut(id as usize) - .expect("type is present; qed;"); - assert_eq!(ty.id, id); - let name = ty.ty.path.segments.last_mut().expect("This is only empty for builtin types, that are filtered out with namespace().is_empty() above; qed;"); - *name = format!("{name}{appendix}"); // e.g. Header1, Header2, Header3, ... + // Now, rename types as needed based on these groups. + let groups_that_need_renaming = types_with_same_type_path_grouped_by_shape + .into_values() + .filter(|g| g.len() > 1) + .collect::>(); // Collect necessary because otherwise types is borrowed immutably and cannot be modified. + + for groups_with_same_path in groups_that_need_renaming { + let mut n = 1; + for group_with_same_shape in groups_with_same_path { + for ty_id in group_with_same_shape { + let ty = types + .types + .get_mut(ty_id as usize) + .expect("type is present; qed;"); + let name = ty.ty.path.segments.last_mut().expect("This is only empty for builtin types, that are filtered out with namespace().is_empty() above; qed;"); + *name = format!("{name}{n}"); // e.g. Header1, Header2, Header3, ... + } + n += 1; + } } } @@ -84,6 +92,10 @@ fn types_equal_extended_to_params(a: &Type, b: &Type let type_params_a = collect_params(&a.type_params); let type_params_b = collect_params(&a.type_params); + if type_params_a.len() != type_params_b.len() { + return false; + } + // returns true if the ids are the same OR if they point to the same generic parameter. let ids_equal = |a: u32, b: u32| -> bool { a == b